Anda di halaman 1dari 21

Course : T0162 – Automata and Language Theory

Year : 2012

Session 10
Greibach Normal Form
Learning Outcomes
At the end of this meeting, students are
Expected will be able to:

Identify or define and explain and apply the


Teory of Automata and formal Language.

3
GREIBACH NORMAL FORM
Theorem : (Greibach Normal Form)
Setiap CFL tanpa  dapat dihasilkan oleh suatu CFG
yang produksinya berbentuk :
A  a

dimana A : variabel / non-terminal


a : terminal
 : string variabel (V*) yang
mungkin empty

4
GNF
Konversi CFG ke bentuk GNF ekuivalen.

1. Bentuk produksi:
A  a , dengan  dalam (VT)*
Substitusi semua terminal dalam  dengan variabel.
Contoh : A  aaB
Ubah menjadi : A  aCB (GNF)
C a (GNF)

6
GNF
2. Bentuk produksi :
A  B  (dimulai dengan variabel)
Jika produksi B sudah diawali dengan terminal, gunakan untuk
mensubstitusi variabel B di atas.
Contoh : A  BC
B  aB | b
Diubah menjadi:
A  aBC | bC (GNF)
B  aB | b (GNF)

7
• Lemma G1 :
Misalkan G = (V,T,P,S) suatu CFG.
A  1B2 suatu produksi dalam P dan
B  12…r himpunan produksi B.
Misalkan G1 = (V,T,P1,S) diperoleh dengan
menghilangkan semua produksi dalam
bentuk A  1B2 dari P dan menambahkan
produksi dalam bentuk :
A  112122…1r2

maka L(G) = L(G1)

8
3. Bentuk produksi :
A  A  (diawali dengan variabel yang sama). Dalam hal ini
tidak dapat diubah hanya dengan substitusi, tetapi harus
mengintroduksi variabel baru.

• Lemma G2 :
Misalkan G = (V,T,P,S) suatu CFG.
A  A1A2…Ar adalah himpunan
sebagian produksi A, sedangkan produksi
lainnya dalam bentuk :
A  12…s

9
Misalkan G1 = (V  {B},T,P1,S} dibentuk dengan
menambahkan variabel B ke V dan mengganti semua
produksi A dengan produksi dalam bentuk :
1. 1js
A  

j 

A  B 
j 

2. B i  1  i  r

B iB
maka L(G1) = L(G)

10
Pembuktian Lemma G2 :
• Derivasi leftmost dari G untuk produksi
A  AI berakhir dengan produksi
A  j sebagai berikut :
A  Ai1  Ai2i1  …  Aipip-1 …i1
 j ipip-1…i1

Dalam G1 urutan penggantian di atas berbentuk :


A  j B  j ipB  j ipip-1B …  j ipip-1
…  j ipip-1 …i2 B
j ipip-1 …i2 i1

11
Dalam Parse-Tree kedua derivasi di atas
berbentuk :
A A
i1 j
A B
i2 ip
A B
ip i2
A B
j i1
G G1
12
Contoh :
Ubah produksi grammar berikut ke dalam bentuk
Greibach Normal Form :
G = ({A1, A2, A3}, {a, b}, P, A1)
Urutan A1<A2<A3
dimana P terdiri dari :
1. A1  A2 A3  A1 < A2  Ok
2. A2  A3 A1 b  A2 < A3  Ok
3. A3  A1 A2 a  A3 > A1 subtitusi
sampai ketemu Ai < Aj

13
14
15
Selanjutnya aplikasi Lemma G2 pada
produksi (3) diperoleh :
A3  A3 A1 A3 A2 b A3 A2 a
I 1 2
1. A3  b A3 A2 | a
2. A3  b A3 A2 B3 | a B3
3. B3  A1 A3 A2
4. B3  A1 A3 A2 B3

16
Dengan demikian P menjadi :

1. A1  A2 A3
2. A2  A3 A1  b
3. A3  bA3 A2 B3 aB3 bA3 A2 a
4. B3  A1 A3 A2  A1 A3 A2 B3

Produksi (3) sudah GNF, subsitusikan ke produksi (2)


untuk diubah ke dalam GNF.

17
18
Tahap 2 :
Dengan menggunakan produksi (3) secara
substitusi ke dalam produksi lainnya di peroleh :
2. A2  bA3 A2 B3 A1 aB3 A1 bA3 A2 A1
a A 1 b
1. A1  A2 A3

1. A1  bA3 A2 B3 A1 A3 aB3 A1 A3

bA3A2 A1A3 a A1 A3  bA3


1
Quiz

21

Anda mungkin juga menyukai