• Tidak ada hasil yang ditemukan

Push-Down Automata. Pertemuan Ke Sri Handayaningsih, S.T., M.T. Teknik Informatika

N/A
N/A
Protected

Academic year: 2021

Membagikan "Push-Down Automata. Pertemuan Ke Sri Handayaningsih, S.T., M.T. Teknik Informatika"

Copied!
83
0
0

Teks penuh

(1)

Push-Down Automata

(2)

TIU & TIK

1. Mahasiswa memahami konsep push

down automata serta mampu merancang PDA untuk mengenali suatu bahasa yang diberikan

(3)

Pushdown Automaton -- PDA

Input String

Stack States

(4)

Simbol Stack awal

Stack Stack

$

z

Simbol spesial di bawah stack

kepala top

(5)

State

simbol Input

simbol

Pop SimbolPush

(6)

q

1

a

,

b

c

q

2

a

input

a

b

top stack Ganti tempat

e

h

e

h

c

(7)

q

1

a

,

c

q

2

a

a

input

b

b

c

top stack

(8)

q

1

a

,

b

q

2

a

a

input Ambil/pop

b

e

h

e

h

top stack

(9)

q

1

a

,

q

2

a

a

input

b

top

b

stack

(10)

q

1

a

,

$

q

2

a

a

input Stack Kosong Pop

$

top stack kosong

automata tdk bisa digunakan

(11)

q

1

a

,

$

b

q

2

a

a

input Transisi yg mungkin Pop

$

top stack

b

(12)

Non-Determinan

q

2

a

,

b

c

PDAs merupakan non-determinan

Transisi yg mengikuti non-deterministic

q

1

a

,

b

c

q

3

a

,

b

c

q

1

,

b

c

q

2

transisi

(13)

Contoh PDA: ide dasar

PDA

M

}

0

:

{

)

(

M

a

b

n

L

n n

a

,

a

b

,

a

(14)

}

0

:

{

)

(

M

a

b

n

L

n n Ide dasar: 1. Push a pada

stack 2. Sesuaikan inputan bdgn a pada stack

3. penyesuaian

,

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

, $

$

3. penyesuaian ditemukan

(15)

Contoh 1 Eksekusi : Input

a

a

a

b

b

b

Time 0 Stack

$

a

,

a

State Saat ini

b

,

a

(16)

Input

a

a

a

b

b

b

Time 1 Stack

$

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

(17)

Input Stack

a

a

a

b

b

b

$

a

Time 2

a

,

a

Stack

b

,

a

(18)

Input Stack

a

a

a

b

b

b

$

a

a

Time 3

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

(19)

Input Stack

a

a

a

b

b

b

$

a

a

a

Time 4

a

,

a

Stack

b

,

a

(20)

Input

a

a

a

b

b

b

Stack

$

a

a

a

Time 5

a

,

a

b

,

a

q

0

q

1

q

2

q

3 Stack

b

,

a

,

, $

$

(21)

Input

a

a

a

b

b

b

$

a

Stack Time 6

a

a

,

a

Stack

b

,

a

(22)

Input

a

a

a

b

b

b

$

Stack Time 7

a

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

(23)

Input

a

a

a

b

b

b

Time 8

$

Stack

a

,

a

b

,

a

(24)

Sebuah string diterima jika :

Seluruh inputan dapat diselesaikan DAN

menuju ke state terakhir. menuju ke state terakhir.

Pada akhir komputasi,

(25)

input string

Apakah diterima oleh PDA:

aaabbb

(26)

}

0

:

{

a

b

n

L

n n

Apakah bahasa diterima oleh PDA: Secara general,

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

(27)

Contoh yang ditolak: Input

a

a b

Time 0 Stack

$

a

,

a

State Saat ini

b

,

a

(28)

Contoh yang ditolak : Input

a

a b

Time 1 Stack

$

0

q

a

,

a

b

,

a

q

1

q

2

q

3 State Saat ini

b

,

a

,

, $

$

(29)

Contoh yang ditolak : Input

a

a b

Time 2 Stack

$

a

a

,

a

State Saat ini

b

,

a

(30)

Contoh yang ditolak : Input

a

a b

Time 3 Stack

$

a

a

0

q

a

,

a

b

,

a

q

1

q

2

q

3 State Saat ini

b

,

a

,

, $

$

(31)

Contoh yang ditolak : Input

a

a b

Time 4 Stack

$

a

a

a

,

a

State Saat ini

b

,

a

(32)

Contoh yang ditolak : Input

a

a b

Time 4 Stack

$

a

a

ditolak

0

q

a

,

a

b

,

a

q

1

q

2

q

3 State Saat ini

b

,

a

,

, $

$

ditolak

(33)

Input string

Ditolak oleh PDA:

aab

(34)

Sebuah string ditolak jika :

Seluruh inputan tidak terselesaikan DAN

Tidak sampai ke state akhir Tidak sampai ke state akhir

Pada akhir komputasi,

(35)

Contoh PDA lain :

Apakah bahasanya?

PDA

M

b

b

a

a

,

,

b

b

a

a

,

,

(36)

}

}

,

{

:

{

)

(

M

vv

v

a

b

L

R Ide Dasar: 1. Push v

pd stack 2. Input utk

pindah state 3. sesuaikan pd input dgn v pada stack R

v

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

4. Penyesuain ditemukan

(37)

Contoh 2 Eksekusi : Input Time 0 Stack

$

a

b

b

a

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(38)

Input

a

b

a

Time 1 Stack

$

a

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(39)

Input Time 2 Stack

$

a

a

b

b

a

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(40)

Input Time 3 Stack

$

a

a

b

b

a

b

perpindahan Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(41)

Input Time 4 Stack

$

a

a

b

b

a

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(42)

Input Time 5 Stack

$

a

b

b

a

a

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(43)

Input Time 6 Stack

$

a

b

b

a

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(44)

Contoh yg ditolak: Input Time 0 Stack

$

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(45)

Input Time 1 Stack

$

a

a

b

b

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(46)

Input Time 2 Stack

$

a

b

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(47)

Input Time 3 Stack

$

a

b

perpindahan

a

b

b

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(48)

Input Time 4 Stack

$

a

b

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(49)

Input Time 5 Stack

$

a

a

b

b

b

Transisi tidak mungkin Inputan tdk terselesaikan Stack

b

b

a

a

,

,

b

b

a

a

,

,

(50)

Komputasi lain pada string yg sama : Input Time 0 Stack

$

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(51)

Input Time 1 Stack

$

a

a

b

b

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(52)

Input Time 2 Stack

$

a

b

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(53)

Input Time 3 Stack

$

a

b

a

b

b

b

b

Stack

b

b

a

a

,

,

b

b

a

a

,

,

(54)

Input Time 4 Stack

a

b

b

b

$

a

b

b

b

Stack

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(55)

Input Time 5 Stack

a

b

b

b

$

a

b

b

b

Tdk sampai State akhir Stack

b

b

a

a

,

,

b

b

a

a

,

,

(56)

Tdk ada komputasi

Yg menerima string

abbb

)

(

M

L

abbb

, $

$

q

q

b

b

a

a

,

,

,

q

b

b

a

a

,

,

(57)

Teori Tentang

“Pushing Strings”

Input Pop symbol Push Input symbol symbol Push string

(58)

q

1

a

,

b

cdf

q

2

a

input

a

Contoh 1:

b

top stack Push

e

h

h

e

c

d

f

String Yg di push

(59)

Contoh 2

a

, $

0$

b

, $

1$

PDA

M

)}

(

)

(

:

}

,

{

{

)

(

M

w

a

b

*

n

w

n

w

L

a

b

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(60)

Time 0

Input

a

b

b

b

a

a

$

a

, $

0$

b

, $

1$

Eksekusi untuk string abbbaa :

State Saat ini Stack

$

$

,

q

q

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(61)

Time 1 Input

a

b

b

b

a

a

$

Stack

0

a

, $

0$

b

, $

1$

Stack

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(62)

Time 3 Input

a

b

b

b

a

$

Stack

a

$

a

, $

0$

b

, $

1$

0

Stack

$

$

,

q

q

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(63)

Time 4 Input

a

b

b

b

a

$

Stack

a

1

a

, $

0$

b

, $

1$

Stack

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(64)

Time 5 Input

a

b

b

b

a

$

Stack

a

1

1

a

, $

0$

b

, $

1$

Stack

$

$

,

q

q

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(65)

Time 6 Input

a

b

b

b

a

$

Stack

a

1

a

, $

0$

b

, $

1$

1

Stack

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(66)

Time 7 Input

a

b

b

b

a

$

Stack

a

1

a

, $

0$

b

, $

1$

Stack

$

$

,

q

q

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(67)

Time 8 Input

a

b

b

b

a

a

$

a

, $

0$

b

, $

1$

Stack

a

, $

0$

a

, 0

00

a

, 1

b

, $

1$

b

, 1

11

b

, 0

(68)
(69)

q

1

a

,

b

w

q

2

Fungsi Transisi: Fungsi Transisi:

(70)

q

1

q

2

w

b

a

,

q

3

w

b

a

,

q

3

w

b

a

,

)}

,

(

),

,

{(

)

,

,

(

q

1

a

b

q

2

w

q

3

w

Fungsi transisi:

(71)

Formal Definition

Pushdown Automaton (PDA)

)

,

,

,

δ

,

Γ

,

Σ

,

(

Q

q

0

z

F

M

States State akhir States Input Simbol

(72)

Diskripsi Instan

)

,

,

(

q

u

s

State Isi stack

State

Saat ini Input

tersisa

Isi stack Saat ini

(73)

Input

a

a

a

b

b

b

a

a

Time 4:

Contoh : Diskripsi instan

$)

,

,

(

q

1

bbb

aaa

a

a

,

a

Stack

$

b

,

a

(74)

Input

a

a

a

b

b

b

a

a

Time 5:

Contoh : Diskripsi instan

$)

,

,

(

q

2

bb

aa

a

a

,

a

b

,

a

q

q

q

q

Stack

$

b

,

a

,

, $

$

(75)

Penulisan :

$)

,

,

(

$)

,

,

(

q

1

bbb

aaa

q

2

bb

aa

Time 4 Time 5

(76)

,$)

,

(

,$)

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

,$)

,

(

,$)

,

(

3 2 2 2 1 1 1 1 0

q

q

a

b

q

aa

bb

q

aaa

bbb

q

aa

abbb

q

a

aabbb

q

aaabbb

q

aaabbb

q

Komputasi :

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

(77)

,$)

,

(

,$)

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

$)

,

,

(

,$)

,

(

,$)

,

(

3 2 2 2 1 1 1 1 0

q

q

a

b

q

aa

bb

q

aaa

bbb

q

aa

abbb

q

a

aabbb

q

aaabbb

q

aaabbb

q

Penulisan akhir :

(78)

Formal Definisi

bahasa pada PDA

M

:

)}

'

,

,

(

)

,

,

(

:

{

)

(

M

w

q

0

w

s

q

s

L

f

)

(

M

L

(79)

Contoh :

,$)

,

(

,$)

,

(

q

0

aaabbb

q

3

PDA

M

:

)

(

M

L

aaabbb

a

,

a

b

,

a

PDA :

(80)

,$)

,

(

,$)

,

(

q

0

a

n

b

n

q

3

)

(

M

L

b

a

n n

PDA

M

:

a

,

a

b

,

a

q

0

q

1

q

2

q

3

b

,

a

,

, $

$

PDA :

(81)

PDA

M

:

}

0

:

{

)

(

M

a

b

n

L

n n Kemudian :

a

,

a

b

,

a

PDA :

(82)

Latihan

diketahui sebuah PDA M sebagai berikut :

 a a,

)}

(

)

(

,

prefix

setiap

utk

:

}

,

{

{

)

(

*

v

n

v

n

v

b

a

w

M

L

b a

    a b a a , ,

q

0 PDA

M

Apakah string aab

termasuk dalam bahasa L(M) ?

(83)

Pustaka

1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata, Teknik Informatika UAD, 2005

2. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,

Introduction to Automata Theory, Languages, and Computation, 2rd, Addison-Wesley,2000

3. Martin C. John, Introduction to Languages and Theory of Computation, McGraw-Hill Internatioanal edition,1991 3. Martin C. John, Introduction to Languages and Theory of

Computation, McGraw-Hill Internatioanal edition,1991 4. Linz Peter,Introduction to Formal Languages & Automata,

DC Heath and Company, 1990

5. Dulimarta Hans, Sudiana, Catatan Kuliah Matematika Informatika, Magister Teknik Informatika ITB, 1998

Referensi

Dokumen terkait

The framework builds on the role of hospitals within the disaster risk management system and positions them as key players with the ability either to lead or to strongly support

Gender Trouble: Feminism and the Subversion of Identity (Routledge Classics ed.) New York: Routledge.. Theory into Practice: An Introduction to Literary Criticism (2 nd

Ayunda has graduated from British International School and now she is a part of student at Oxford University in England.. She could speak in many languages--Indonesian, English,

In 2019, UNHAS has provided 147 activities related to capacity development for local enterprises and individuals. Most of them are focusing on the coastal and farming communities

From Sumatra, it spreads to Java, Sulawesi and Kalimantan, marked by the establishment of schools by Muhammadiyah organization, Persis, Al Irsyad and Darussalam Islamic

This theory is relevant to this study because it helps schools' stakeholders, both students, and teachers, most especially those who conduct the investigations of sexual misconduct,

Drawing on social theory for transitioning to sustainable urban water management: Turning the institutional super-tanker.. The Nature of Policy Change and Implementation: A Review of

Introduction The optimization of present tokamak plasma experiments and the preparation of ITER operation highlight the needs of new plasma discharge simulation tools: the access to