FINITE STATE AUTOMATA WITH OUTPUT
วัตถุประสงค์ The question of finite automata 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.
เครื่องจักรของมัวร์ MOORE MACHINE นิยาม 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 .
เครื่องจักรของมัวร์ MOORE MACHINE EXAMPLE Input = { a, b } TRANSDUCER เครื่องจักรของมัวร์ MOORE MACHINE EXAMPLE Input = { a, b } Output = { 0, 1 } States q0 (initial state), q1, q2, q3. b a q1 q0 1 b a a a b q2 q3 1 b 10010 EXAMPLE: Given an input abab, the output is
เครื่องจักรของมัวร์ Counting “aab” MOORE MACHINE EXAMPLE TRANSDUCER เครื่องจักรของมัวร์ MOORE MACHINE EXAMPLE Input = { a, b } Output = { 0, 1 } States q0 (initial state), q1, q2, q3. b b a q1 q0 a b a Counting “aab” a q3 1 q2 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 ทฤษฎีบท Given a Mealy machine, there is a Moore machine that is equivalent to it. SOME RESULTS 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 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 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 1 a q00 q11 b/0 a b/0 1 a/1 q01 a/1 q2 b/0 q3 a/0 b
การสมมูลกันของเครื่องจักร TRANSDUCER การสมมูลกันของเครื่องจักร EQUIVALENCE SOME RESULTS b 1 a q00 q11 a b/0 a a 1 q01 a b 1 b/0 q21 q3 b a q20 b
การสมมูลกันของเครื่องจักร TRANSDUCER การสมมูลกันของเครื่องจักร EQUIVALENCE SOME RESULTS b 1 a q00 q11 a b a a 1 q01 a b 1 b q21 b 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 โจทย์ น่าคิด ? Define a finite automaton for binary division by 7
? โจทย์ น่าคิด q0 q2 q1 MULTIPLICATION BY 3 0/0 1/1 0/0 1/1 0/1 1/0 10 โจทย์ น่าคิด MULTIPLICATION BY 3 0/0 1/1 ? 0/0 q0 q2 1/1 q1 0/1 1/0 10 1
? โจทย์ น่าคิด q0 q2 q1 DIVISION BY 3 0/0 1/1 0/0 1/1 1/0 0/1 /10 /1 โจทย์ น่าคิด DIVISION BY 3 0/0 1/1 ? 0/0 q0 q2 1/1 q1 1/0 0/1 /10 /1 RIGHT TRANSDUCER