Matematika Dasar untuk Teori Bahasa Otomata Teori Himpunan

advertisement
Teori Himpunan
• Himpunan adalah sekumpulan entitas
Matematika Dasar untuk
Teori Bahasa Otomata
• Notasi keanggotaan
– x S
–xS
Teori Bahasa & Otomata
• Menspesifikasikan himpunan
Semester Ganjil
2009/2010
• S = {0, 2, 4, 6,…}
• S = {x: x  0, x genap}
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Operasi pada Himpunan
•
•
•
•
– tidak memiliki struktur
– sifatnya hanya keanggotaan
Union ()
Intersection ()
Difference (-)
Complementation (S )
Himpunan Tanpa Elemen
• disebut Himpunan Kosong
• Notasi: 
• Apakah hal berikut membingungkan?
S  = S -  = S
S  = 
=U
S=S
– S = { x : x U, x  S }
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Notasi
•
•
•
•
Himpunan Kosong ()
Subset () & proper subset ()
Disjoint  S1 S2 = 
Himpunan finit(hingga) dan infinit(tak
hingga)
• |S|  ukuran himpunan finit
– Jumlah elemen himpunan S
Powerset & Cartesian Product
• Powerset  2s
– himpunan seluruh himpunan bagian dari S
– S ={a,b,c},
2S={,(a),(b),(c),(a,b),(a,c),(b,c),(a,b,c)}
• Cartesian Product
– S = S1  S2 = {(x, y): x  S1, y S2 }
– S1={2, 4}, S2={1, 2}
– S1  S2 = {(2, 1), (2, 2), (4, 1), (4, 2)},
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
1
Definisi Fungsi
• Fungsi ( f )= suatu aturan yang
memetakan elemen-elemen suatu
himpunan (domain) ke elemen
himpunan lain (range)
f :S1  S2
• Fungsi total & fungsi parsial
– total jika domain adalah seluruh anggota
S1
perbedaan
Fungsi & Relasi
• Fungsi
– Pasangan elemen: {(x1, y1), (x2, y2), (x3, y3),…}
– xi paling banyak muncul sekali sebagai
elemen pertama pada pasangan elemen
• Relasi
– Bentuk umum dari fungsi
– Suatu elemen dapat dipetakan ke lebih dari
satu elemen range
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Ekuivalensi
• Salah satu macam relasi
• Ekuivalensi  x  y
definisi
Graph
• Graph = suatu bentuk yang terdiri atas dua
himpunan hingga (finite set), yaitu
himpunan vertek dan himpunan edge(tepi)
– Reflexivity
– Vertek, V = { v1, v2, v3, …}
– Edge, E = { e1, e2, e3, …}
– Setiap edge adalah pasangan dari vertek
ei =(vj, vk )
• x  x untuk semua x
– Symmetry
• Jika x  y maka y  x
– Transitivity
• Jika x  y dan y  z maka x  z
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
visualisasi
Graph
visualisasi
Graph
• Visualisasi Graph
– Vertek dan edge biasanya diberi label
– Vertek  lingkaran
– Edge  garis dengan tanda panah di salah
satu ujungnya
v1
v2
v3
– V = { v1, v2, v3 }
– E = {(v1, v3 ), (v3, v1 ), (v3, v2 ), (v3, v3 )}
• walk, path, simple path, cycle, simple
cycle
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
2
definisi
Tree
visualisasi
Tree
• Tree = suatu tipe khusus dari graph
– Directed graph yang tidak memiliki cycles dan
memiliki suatu vertek khusus disebut root
– Hanya terdapat satu path dari root ke setiap
vertek lain
– Root = vertek tanpa edge yang menuju
kepadanya
– Daun = vertek tanpa edge yg keluar darinya
root
Level 0
daun
kedalaman = 3
Level 3
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Teknik
Pembuktian
induktif & kontradiktif
• Induktif
– diasumsikan benar untuk: P1, P2, … , Pn
(disebut asumsi induktif)
– diperlihatkan benar untuk nilai awal-nya
(basis)
– dibuktikan asumsi tsb juga benar untuk Pn+1
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Contoh Teknik Pembuktian induktif
• Buktikan bahwa sebuah binary tree (pohon biner)
dengan ketinggian n memiliki paling banyak 2n daun!
• Pembuktian:
dinotasikan banyaknya daun adalah l(n), shg l(n)  2n
Basis: l(0) = 1 = 20
(yaitu root)
Asumsi Induktif: l(i)  2i , untuk i = 0, 1, 2, …, n
Langkah induktif:
l(n+1) = 2 l(n)
(disebut langkah induktif)
l(n+1)  2 x 2n = 2n+1
• Kontradiktif
– melakukan asumsi sebaliknyaTEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Contoh Teknik
Pembuktian
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
kontradiktif
• Buktikan bahwa 2 bukan bilangan rasional!
• Pembuktian:
Diasumsikan sebaliknya, yaitu 2 adalah bilangan
rasional, sehingga dapat ditulis sbb:
n
2 = m  2 m2 = n2
Tiga Konsep Dasar
Bahasa, Grammar, & Otomata
terlihat bahwa n2 genap, sehingga n = 2k
2 m2 = 4k2
 m2 = 2k2
Karena m adalah genap maka hal ini kontradiksi dengan
asumsi kita, sehingga m dan n tidak ada
dan 2 bukan
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
bilangan rasional
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
3
Bahasa
• Bahasa Alami: bahasa inggris, indonesia, belanda, …
• Definisi informal: sebuah sistem yang sesuai untuk
mengekspresikan suatu ide, fakta, atau konsep,
termasuk didalamnya sekumpulan simbol dan
aturan-aturan untuk memanipulasinya
Bahasa Formal
• Alfabet (Σ)
– himpunan simbol, non-empty set
• String : rangkaian hingga simbol pada alfabet
• Contoh:
Σ = {a, b},
abab dan aaabbb adalah string pada Σ
• Bahasa formal ?
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Bahasa Formal
• Operasi pada string
Definisi
Bahasa Formal
• Sebuah bahasa didefiniskan secara umum
sebagai subset dari Σ*
– Concatenation
– Reverse
– Panjang string
•  = empty string
• Σ* = konkatenasi simbol pada Σ sebanyak 0
atau lebih kali (disebut star closure of Σ)
• Σ+ = Σ*-(} (disebut positif closure of Σ)
– Suatu string w pada suatu bahasa L disebut
kata atau kalimat pada L
– Pada teori bahasa formal kata dan kalimat
tidak dibedakan
• L* = L0  L1  L2 …
• L+ = L1  L2 …
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Grammar
• Grammar (pada bahasa alami)
Untuk menentukan apakah suatu kalimat
memiliki format yang baku atau tidak
– Pada bahasa inggris “Sebuah kalimat dapat
terdiri dari sebuah noun phrase diikuti oleh
sebuah predicate“
– <sentence>  <noun_phrase><predicate>
<noun_phrase>  <article><noun>
<predicate>  <verb>
Contoh
Grammar
• Misal :
– <article> = “a” dan “the”
– <noun> = “boy” dan “dog”
– <verb> = “runs” dan “walks”
• Contoh kalimat: “a boy runs”, “the dog
walks”
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
4
Grammar Formal
• Sebuah grammar didefinisikan sebagai
sebuah quadruple
G = (V, T, S, P)
• Production rule adalah inti dari grammar
menspesifikasikan bagaimana suatu grammar mengubah suatu
string manjadi string yang lain, dan mendefinisikan bahasa sesuai
dengan grammar yang dipakai
• Format: x  y
dimana:
V = himpunan hingga objek yang disebut variabel
T = himpunan hingga objek yang disebut terminal
symbol
S  V = spesial symbol yang dinamakan start variabel
P = sebuah himpunan berhingga dari production
…
dimana x  (V T )+ dan y  (V T )*
• Misal :
–
–
–
–
Sebuah string w memiliki format : w  uxv
Production x  y applicable (dapat diaplikasikan) untuk string w
String baru : z  uyv
Dituliskan: w  z
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Production Rule
• Jika: w1  w2 
Production Rule
 wn
Bahasa didefinisikan oleh Grammar
• Jika G = (V, T, S, P) adalah sebuah
grammar. Maka himpunan:
dikatakan w1 menurunkan wn
• w1 
wn
*
* (tanda bintang) mengindikasikan jumlah
langkah yang tak tentu (termasuk nol) untuk
menurunkan wn dari w1
+
• w1 
wn
+
(tanda plus) mengindikasikan minimal terdapat
satu produksi untuk menurunkan wn dari w1
L(G) = {wT*: S 
* w}
adalah bahasa yang dihasilkan oleh G.
• Jika w  L(G), maka deretan
S w1  w2  …  wn  w
adalah penurunan untuk kalimat/kata w
• String: S, w1, w2, …,wn disebut sentential forms
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
Contoh
• Diberikan grammar G = ({S},{a,b}, S, P), dengan
P sbb.:
S  aSb
S
Maka :
S aSb  aaSbb  aabb
dapat dituliskan : S 
* aabb
• Maka bahasa yang dihasilkan oleh G adalah :
L(G) = {an bn : n  0}
Latihan
1. Cari grammar yang menghasilkan
bahasa L(G) = {an bn+1 : n  0} !
2. Definsikan bahasa yang dihasilkan oleh
grammar dengan production berikut:
S  aA
A  bS
S
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
5
Otomata
• Model abstrak dari sebuah komputer digital
• Fitur utama:
Model Visual
Otomata
Input File
– Membaca input berupa string simbol
• Dari kiri ke kanan
• Satu simbol pada satu waktu
• Mendeteksi akhir string input
– Menghasilkan output
– Memiliki control unit
Control Unit
Storage
• Mengontrol perpindahan state
– Dapat memiliki alat penyimpan sementara
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Tipe
Output
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Otomata
• Deterministic Finit Otomata (DFA)
– jika diketahui konfigurasi dari input, internal state, dan
isi penyimpan sementara maka bisa diprediksi
kelakuan otomata kemudian
• Non-deterministic Finit Otomata (NFA)
– terdapat beberapa kemungkinan perpindahan dari
suatu state
• Accepter : output “ya/diterima” atau “tidak/ditolak”
• Transducer : output berupa string
TEORI BAHASA & OTOMATA
TEORI BAHASA & OTOMATA
Shofwatul ‘Uyun, M.Kom
Shofwatul ‘Uyun, M.Kom
6
Download