230 likes | 288 Views
FINITE STATE AUTOMATA WITH OUTPUT. TRANSDUCER. วัตถุประสงค์. The question of finite automata represent physical machines Investigate two models Mealy machine (G.H.Mealy, 1955) Moore machine (E.F. Moore, 1956) Original purpose : design model for sequential circuits. TRANSDUCER.
E N D
TRANSDUCER วัตถุประสงค์ The question of finite automata represent physical machines Investigate two models • Mealy machine (G.H.Mealy, 1955) • Moore machine (E.F. Moore, 1956) Original purpose : design model for sequential circuits.
TRANSDUCER MOORE MACHINE เครื่องจักรของมัวร์ นิยาม A Moore machine is a collection of five things: Finite set of states Q where q0 = initial state. Input alphabet = { a, b, c, … } (letters). Output alphabet = {x, y, z, … } (characters). Transition function : Q Q. Output function : Q .
TRANSDUCER MOORE MACHINE เครื่องจักรของมัวร์ EXAMPLE Input = { a, b } Output = { 0, 1 } States q0 (initial state), q1, q2, q3. b a q1 0 q0 1 b a a a b q2 0 q3 1 b 10010 EXAMPLE: Given an input abab, the output is
TRANSDUCER MOORE MACHINE เครื่องจักรของมัวร์ EXAMPLE Input = { a, b } Output = { 0, 1 } States q0 (initial state), q1, q2, q3. b b a q1 0 q0 0 a b a Counting “aab” a q3 1 q2 0 b Given an input aaababbaabb, the output is 000010000010
TRANSDUCER MEALY MACHINE เครื่องจักรของเมียลี นิยาม A Mealy machine is a collection of five things: Finite set of states Q where q0 = initial state. Input alphabet = { a, b, c, … } (letters). Output alphabet = {x, y, z, … } (characters). Transition function : Q Q. Output function : Q .
TRANSDUCER MEALY MACHINE เครื่องจักรของเมียลี EXAMPLE Input = { a, b } Output = { 0, 1 } States q0: initial state. q1 b/1 a/0 a/1 b/0 q0 q3 q2 a/0, b/1 b/1 a/1 EXAMPLE: Given an input aaabb, the output is 01110
TRANSDUCER MEALY MACHINE เครื่องจักรของเมียลี EXAMPLE Input = 0, 1 } Output = { 0, 1 } States q0: initial state q1 0/0,1/1 0/1 0/1 INCREMENT MACHINE 1/0 q0 q2 1/0 1011 EXAMPLE: Given an input 0011, the output is
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร นิยาม Two machines are equivalent if for the same input string, two machines result in the same output string. หมายเหตุ Mealy machine can be equivalent to a Moore machine with deleting its automatic start output.
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS ทฤษฎีบท Given a Moore machine, there is a Mealy machine that is equivalent to it. a a/t b qi b/t qi t becomes c c/t
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS EXAMPLE: Counting “aab” b b a q1 /0 q0 /0 a b a a q3 /1 q2 /0 b
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS EXAMPLE: Counting “aab” b/0 b/0 a/0 q1 q0 a/0 b/0 a/0 a/0 q3 q2 b/1
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS ทฤษฎีบท Given a Mealy machine, there is a Moore machine that is equivalent to it. a/1 a/0 a/1 b/1 b b/1 qi1 1 b/1 a/1 qi becomes b/1 c b/0 a qio 0 b c/0 c
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS b/1 q1 a/0 a/1 b/0 q0 a/1 q2 b/0 q3 a/0 b/1
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS b/1 0 a q00 q1 b/0 a/1 b/0 1 a/1 q01 a/1 q2 b/0 q3 a/0 b
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS b 0 1 a q00 q11 a b/0 b/0 1 a/1 q01 a/1 q2 b/0 q3 a/0 b
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS b 0 1 a q00 q11 a a b/0 a 1 a q01 b 1 q21 b/0 b q3 0 a q20 b
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS b 0 1 a q00 q11 a a b a 1 a q01 b 1 q21 b 0 b 0 q30 a q20 b
TRANSDUCER EQUIVALENCE การสมมูลกันของเครื่องจักร SOME RESULTS LEFT (RIGHT) SEQUENTIAL STATE MACHINE A state machine M is said to be a left (right) sequential state machine if the input of M is taken into account serially in the most left (right) character first mode. Note: Automata with output is usually called a transducer or 2-tape automata.
โจทย์น่าคิด ? Define a finite automaton for binary division by 7
โจทย์น่าคิด MULTIPLICATION BY 3 0/0 ? 1/1 0/0 q0 q2 1/1 q1 0/1 1/0 10 1
โจทย์น่าคิด DIVISION BY 3 0/0 ? 1/1 0/0 q0 q2 1/1 q1 1/0 0/1 /10 /1 RIGHT TRANSDUCER