Transcript Slide 1

CONTEXT- FREE LANGUAGE

Yenni Astuti Version 1.0.0

{

a n b n

:

n

 0 } {

ww

Regular Languages

a

*

b

* (

a

b

) *

R

}

{

a

Context-Free Languages

n b n

} {

ww R

}

Regular Languages

Context = Konteks Free = Bebas Context Free = Bebas Konteks Bahasa Bebas Konteks Grammar Bebas Konteks (hanya bergantung pada simbol awal)

Context-Free Languages Context-Free Grammars Pushdown Automata

Context-Free Languages Context-Free Grammars Pushdown Automata

stack automaton

Grammar

mengekspresikan Bahasa Contoh 1: Bahasa Indonesia

 si  sang  kucing  tikus  berlari  makan

Penurunan untuk mendapat kalimat “ si tikus makan ”:  si  si tikus  si tikus makan

Penurunan untuk mendapat kalimat “ sang kucing berlari ”:  sang  sang kucing  sang kucing berlari

Bahasa dari grammar L = { “ si kucing berlari ”, “ si tikus berlari ”, “ sang kucing berlari ”, “ sang tikus berlari ”, “ si kucing makan ”, “ si tikus makan ”, “ sang kucing makan ”, “ sang tikus makan ” }

NOTASI Aturan Produksi

 kucing tikus

Variable Terminal

Contoh 2.

Grammar:

S

S

aSb

 Derivation of sentence:

ab S

aSb

ab S

aSb S

 

Contoh 2.

Grammar:

S

S

aSb

 Derivation of sentence:

aabb S

aSb

aaSbb

aabb S

aSb S

 

Other derivations:

S

aSb

aaSbb

aaaSbbb

aaabbb S

aSb

aaSbb

aaaSbbb

aaaaSbbbb

aaaabbbb

A Convenient Notation

A

A aAb

 

A

aAb

| 

artikula artikula

si

sang artikula

si

|

sang

Mari Berlatih (1) !!

1. Tuliskan 5 turunan dari aturan produksi berikut: a. S → aSa | aBa B → bB | b b. S → AB A → B B → # c. S → 0S1 S → 01 d. S → abScB |  B → bB | b

Mari Berlatih (2) !!

Diberikan suatu grammar dengan simbol awal S: S -> aB S -> bA A -> a A -> aS A -> BAA B -> b B -> bS B -> ABB a. Tunjukkan bahwa string ababba termasuk turunan dari aturan produksi diatas. b. Buktikan bahwa semua string yang menjadi turunan aturan produksi tersebut memiliki banyak a dan b yang sama.

More Notation

G

 

V

,

T

,

S

,

P

 Grammar

V

: Set of variables

T

: Set of terminal symbols

S

: Start variable

P

: Set of Production rules

Contoh 2.

Grammar

G

:

S

S

aSb

G

 

V

,

T

,

S

,

P

V

 {

S

}

T

 {

a

,

b

}

P

 {

S

aSb

,

S

  }

More Notation

Sentential Form: A sentence that contains variables and terminals Contoh:

S

aSb

aaSbb

aaaSbbb

aaabbb

Sentential Forms sentence

Dituliskan sebagai:

S

* 

aaabbb

Daripada:

S

aSb

aaSbb

aaaSbbb

aaabbb

Lebih umum, dituliskan sebagai:

w

1 * 

w n

Jika

w

1 

w

2 

w

3   

w n

By default:

w

* 

w

Contoh 2.

Grammar

S

S

aSb

 Derivations

S

*  

S

* 

ab S

* 

aabb S

* 

aaabbb

Contoh 2.

Grammar

S

S

aSb

 Derivations

S

 

aaSbb aaSbb

 

aaaaaSbbbb b

Contoh 3.

Grammar

G

:

S

A

A

Ab aAb

 Derivations:

S

Ab

b S

Ab

aAbb

abb S

Ab

aAbb

aaAbbb

aabbb

Contoh 3.

S

Ab

aAbb

aaAbbb

aaaAbbbb

aaaaAbbbbb

aaaabbbbb S

 

aaaabbbbb S

 

aaaaaabbbb bbb S

 

a n b n b

Language of a Grammar

Untuk suatu grammar

G

Dengan suatu variabel awal

S

L

(

G

)  {

w

:

S

 

w

} String terminal

Bahasa dari Grammar:

S

S

aSb

S

aSb

aaSbb

aaaSbbb

aaaaSbbbb

aaaabbbb L

 {

a n b n

:

n

 0 }

Contoh 3 Untuk suatu grammar

G

:

S

A

A

Ab aAb

L

(

G

)  {

a n b n b

: Mengingat:

S

 

a n b n b n

 0 }

Mari Berlatih (3) !!

1. Temukan CFG yang dapat menghasilkan Bahasa: a. L = { a n b m | 0 ≤ n ≤ m ≤ 2n}.

b. L = {a n b m c k : k = n + m } 2. Tuliskan CFG yang menghasilkan Bahasa berikut. Gunakan alfabet {0,1}.

a. {w|w memiliki sekurangnya tiga 1} b. {w|w diawali dan diakhiri dengan simbol yang sama}