Bvleg9 finite state machine

38
Finite state machine

description

 

Transcript of Bvleg9 finite state machine

Page 1: Bvleg9 finite state machine

Finite state machine

Page 2: Bvleg9 finite state machine

Төгсгөлөг төлвийн машин

FSM дүрэм шалгагч, төгсгөлөг төлвийн машин болон туурийн машин зэрэг багтах ба ихэнх FSM нь эхлэх төлөв, дараагийн төлөвт дамжуулах функц болон оролтын утгуудаас бүрдэх ба зарим FSM нь гаралтын утгатай байдаг.

Page 3: Bvleg9 finite state machine

Төгсгөлөг төлвийн автоматыг бид төлвийн диаграммаар дүрсэлдэг: Чиглэлт дүрслэл холбоосууд нь тэмдэгтийн олонлог

байна Зарим цэгүүд нь , төгсгөлийн төлөв

байна “final accepting”. Нэг цэг нь эхлэх цэг байна.

Page 4: Bvleg9 finite state machine

Оролтын дараалал

x=x1x2…xnÎ I * гэе (x бол I цуваа байя)

Эндээс бид дамжууллын функц f –ийг бүх төлвийн оролтын дарааллын хос нь Оролтын төлөв нь S0, Дараахыг тооцолно f(S0, x1) = Si2

Дараа нь f(Si2, x2) = Si3

Дээрхийг төгсгөл хүртэл нь тооцоолно f(Sin, xn) =

Sin+1

Ингээд бид f(S0, x) = Sin+1

Page 5: Bvleg9 finite state machine

Төлвийн автоматОролт

“зөвшөөрөх” эсвэл “татгалзах”

дараалал

Төгсгөлөг автомат

Гаралт

Page 6: Bvleg9 finite state machine

Дүрслэлийн дамжуулал

АнхныТөлөв

ЗөвшөөрөхТөлөв

Төлөв

дамжуулал

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

Page 7: Bvleg9 finite state machine

Анхны тохиргоо

1q 2q 3q 4qa b b a

5q

a a bb

ba,

Оролтын дараалал

a b b a

ba,

0q

Page 8: Bvleg9 finite state machine

Оролтыг унших

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 9: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 10: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 11: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b b a

ba,

Page 12: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

зөвшөөрөх

5q

a a bb

ba,

a b b a

ba,

Оролт дууссан

Page 13: Bvleg9 finite state machine

Татгалзах

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

0q

Page 14: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 15: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 16: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

Page 17: Bvleg9 finite state machine

0q 1q 2q 3q 4qa b b a

5q

a a bb

ba,

татгалзах

a b a

ba,

Оролт дууссан

Page 18: Bvleg9 finite state machine

Өөр жишээ

a

b ba,

ba,

0q 1q 2q

a ba

Page 19: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

a ba

Page 20: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

a ba

Page 21: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

a ba

Page 22: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

a ba

зөвшөөрөх

Оролт дууссан

Page 23: Bvleg9 finite state machine

Татгалзсан жишээ

a

b ba,

ba,

0q 1q 2q

ab b

Page 24: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

ab b

Page 25: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

ab b

Page 26: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

ab b

Page 27: Bvleg9 finite state machine

a

b ba,

ba,

0q 1q 2q

ab b

татгалзах

Оролт дууссан

Page 28: Bvleg9 finite state machine

Төгсгөлөг төлвийн автомат

Тодорхойлолт: төгсгөлөг төлвийн автомaт бол 5-утгатай M=(S, I, f, S0, g, F) S төлвийн төгсгөлөг олонлогууд I төгсгөлөг оролтыг дараалал f:S´I®S дамжуулах функц transition

function оролтын төлөв болон холбоосын хослол

S0 эхлэх төлөв FÍS төгсгөлийн төлөв final states G гаралтын утга

Page 29: Bvleg9 finite state machine

Төгсгөлөг автомат

Оролтын төгсгөлд Хэрэв зөвшөөрөх төлөв бол=> accept Бусад тохиолдолд => reject

Хэрэв боломжгүй дамжуулал бол => reject

Page 30: Bvleg9 finite state machine

Төлвийн диаграмм

Page 31: Bvleg9 finite state machine

S2

S3

S1

S0

S4

0

Start

1

0

0

0,1

0

1

1

State F0

F1

S0 S0,S2 S1

S1 S3 S4

S2 S4

S3 S3

S4 S3 S3

Page 32: Bvleg9 finite state machine

Биелүүлэлтийн алдаа

Төгсгөлөг төлвийн автоматын зөв ажиллагаатай байх ёстой.

Эндээс бид автоматыг тестлэх хэрэгцээ гардаг.

Ямар алдааг бид төгсгөлөг төлвийн машинаас хайх вэ?

Page 33: Bvleg9 finite state machine

Алдааны төрөл

q0

q1

a/1

b/0

b/1a/1

Зөв хувилбар

q0

q1

a/0

b/0

b/1a/1

Ажиллагааны алдааДамжууллын алдаа

q0

q1

a/1

b/0

b/1 a/1

Page 34: Bvleg9 finite state machine

Алдааны төрөл

q0

a/0b/0

Алдагдсан төлвийн алдааИлүү төлвийн алдаа

q0

q1

a/1

b/0

b/1

a/1q2

a/1

Page 35: Bvleg9 finite state machine

Жишээ W

W={baaa,aa,aaa}

O(baaa,q1)=1101

O(baaa,q2)=1100

Энд baaa q1 –ээс q2 ялгаа нь O(baaa,q1) O(baaa,q2)

Page 36: Bvleg9 finite state machine

© Aditya P. Mathur 2007 36

Current state

Output Next state

a b a b

q1 0 1 q1 q4

q2 0 1 q1 q5

q3 0 1 q5 q1

q4 1 1 q3 q4

q5 1 1 q2 q5

Page 37: Bvleg9 finite state machine

Жишээ тестийн мод бүтэц байгуулах

Эхлэх төлөв үндэс болно.

q1 навч, q4 –ийг өргөтгөнө.

Боломжит өргөтгөл байхгүй

.

.

.

Page 38: Bvleg9 finite state machine

Дасгал бодлого

Худалдааны автомат машин. Уг машин нь жүржийн болон

алимны жүүсүүдийг худалдах ба 30 центээр жүүсүүдийг худалдан авах боломжтой байна.

Уг автомат нь 5,10 болон 25 центүүдийг хүлээн авах оролттой байна.

Мөн хариултыг буцаан олгодог байна.