Back to IF2224 Teori Bahasa Formal dan Otomata

Topic: Deterministic PDA & Hierarki Bahasa

Questions/Cues

  • Definisi Formal DPDA

  • 2 Syarat Determinisme

  • Eksklusivitas Transisi

  • Peran Marker ‘c’

  • Contoh

  • Masalah Guesser

  • Hierarki Bahasa

  • Prefix Property

  • Ambiguitas Inheren

Reference Points

  • Bab 6 PDA.pdf (Halaman 73-74)

  • Slide 12_2025: Hal 20 - 30

  • Teorema 6.20 & 6.21

1. Definisi Mendalam Deterministic PDA (DPDA)

PDA disebut deterministik jika dalam setiap langkah komputasinya, mesin tidak pernah memiliki lebih dari satu pilihan aksi.

Definisi Formal:

Sebuah PDA adalah DPDA jika memenuhi dua syarat ketat:

  1. Maksimal Satu Transisi:

    Untuk setiap kombinasi state , simbol input (bisa ), dan simbol stack , fungsi transisi memberikan paling banyak satu hasil.

  2. Eksklusivitas -move:

    Jika mesin memiliki transisi untuk input real (), maka pada saat yang sama mesin dilarang memiliki transisi ().

Intinya: Mesin tidak boleh bingung antara “baca input” atau “lakukan gerakan “. Harus jelas pilihannya.

2. Analisis Contoh: Marker vs Non-Marker

A. Bahasa dengan Marker (): DETERMINISTIK

Bahasa: . Contoh: 011c110.

Mengapa DPDA? Keberadaan simbol ‘c’ menghilangkan keraguan.

  • Fase 1 (Baca ): Selama input bukan ‘c’, PUSH ke stack.

    • , dst.

  • Fase Transisi (Trigger): Begitu baca ‘c’, pindah state tanpa ubah stack.

    • Hanya satu jalan!
  • Fase 2 (Baca ): Cocokkan input dengan pop stack.

B. Bahasa Tanpa Marker (): NON-DETERMINISTIK

Bahasa: . Contoh: 011110.

Masalah Guesser:

Saat mesin membaca 011…, mesin tidak tahu apakah 1 kedua adalah bagian dari atau awal dari . Mesin harus “menebak” (guessing) secara non-deterministik di setiap langkah. DPDA tidak bisa menebak, jadi DPDA tidak bisa mengenali bahasa ini.

3. Hierarki Bahasa: Di Mana Posisi DPDA?

Kita memiliki struktur hierarki yang bersifat Proper Subset (himpunan bagian murni):

  1. Reguler L(DPDA): Setiap DFA bisa diubah menjadi DPDA yang “malas” (tidak pernah menggunakan stack-nya, stack hanya berisi diam).

  2. L(DPDA) CFL: DPDA lebih kuat dari DFA (karena punya stack), tapi lebih lemah dari NPDA/CFL (karena tidak bisa menebak).

4. DPDA dengan Empty Stack Acceptance

DPDA biasanya menggunakan Final State Acceptance. Jika dipaksa menggunakan Empty Stack, DPDA menjadi lebih lemah lagi.

Syarat Prefix Property:

Agar bisa diterima oleh DPDA Empty Stack, bahasa tidak boleh memiliki string yang merupakan awalan (prefix) dari string lain di bahasa yang sama.

  • Contoh Gagal: .

    • String ‘0’ ada di bahasa.

    • String ‘00’ ada di bahasa.

    • Jika DPDA mengosongkan stack saat baca ‘0’ (terima), mesin mati. Ia tidak bisa lanjut baca ‘0’ berikutnya untuk terima ‘00’.

5. Ambiguitas dan DPDA

  • Unambiguous CFG: Jika sebuah bahasa bisa diterima oleh DPDA, maka bahasa tersebut PASTI memiliki Grammar yang tidak ambigu.

  • Inherently Ambiguous: Ada bahasa CFL yang “sangat kacau” sehingga semua grammar-nya pasti ambigu (contoh: ). Bahasa jenis ini mustahil dikenali oleh DPDA.

Summary

Deterministic PDA (DPDA) adalah varian PDA yang membatasi fungsi transisi agar maksimal memiliki satu aksi untuk setiap situasi dan melarang tumpang tindih antara input-move dan -move. DPDA sangat bergantung pada marker (seperti ‘c’) untuk menentukan pergantian fase komputasi secara pasti. Dalam hierarki bahasa, DPDA berada di antara Bahasa Reguler dan CFL (). Keterbatasan utamanya adalah ketidakmampuan menangani ambiguitas dan kebutuhan akan Prefix Property jika menggunakan metode penerimaan Empty Stack.