Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...

of 58/58
C í l 2 Capítulo 2. Autómatos Finitos Autómatos Finitos 2 1 A it d dt i í ti (DFA) 2.1. Aceitadores determinísticos (DFA) 2.2. Autómatos finitos não-determinísticos (NFA) 2.3. Equivalência entre os DFA e os NFA 2.4 Autómatos finitos transdutores (Mealy e Moore) © ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC 65
  • date post

    26-May-2018
  • Category

    Documents

  • view

    214
  • download

    0

Embed Size (px)

Transcript of Cíl2Capítulo 2. Autómatos FinitosAutómatos Finitoscbarrico/Disciplinas/TeoriaComputacao... ·...

  • C l 2Captulo 2.

    Autmatos FinitosAutmatos Finitos2 1 A it d d t i ti (DFA)2.1. Aceitadores determinsticos (DFA)

    2.2. Autmatos finitos no-determinsticos (NFA)

    2.3. Equivalncia entre os DFA e os NFA

    2.4 Autmatos finitos transdutores (Mealy e Moore)

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC65

  • A partir de um alfabeto, podem-se definir muitas linguagens

    As linguagens podem ser definidas por uma gramtica

    Dada uma cadeia de caracteres, como saber se pertence a , puma dada linguagem ?

    A resposta pode ser obtida por um autmato chamado aceitador: ele tem um estado aceitar ao qual levado por qualquerele tem um estado aceitar ao qual levado por qualquer cadeia (de uma dada linguagem), que se apresente sua entrada Por isso se chama aceitador (accepter)entrada. Por isso se chama aceitador (accepter).

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC66

  • Linguagens

    Gramticas GGeram as

    AutmatosReconhecem asGeram as

    cadeias de LReconhecem as

    cadeias de L

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC67

  • 2 1 Aceitadores determinsticos (DFA)2.1. Aceitadores determinsticos (DFA)

    Definio 2.1. DFADefinio 2.1. DFA

    Um aceitador determinstico (DFA- Deterministic Finite Accepter) ( p ) definido pelo quinteto

    M = (Q , , , q0 , F )

    Q : conjunto finito de estados internos : alfabeto de entrada (conjunto finito de caracteres) : Q x Q a funo total chamada funo de transioq0 Q o estado inicialF Q o conjunto de estados finais

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC68

  • Exemplo 1Exemplo 1

    1

    off onincio

    1

    1

    Q j d d i { ff}Q , conjunto de estados internos: {on, off} , alfabeto de entrada: {1} f d t i ff 1 1 ff , funo de transio: off 1 on; on 1 offq0, o estado inicial: offF o estado final: {on}F, o estado final: {on}

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC69

  • cadeia de entrada a a b b a b

    No tem

    q0dispositivo de memria nem

    q1q2 cadeia de sada !!!

    estado seguinte d d estado seguinte,movida,

    smbolo na sada

    carcter de entradaestado actual smbolo na sada

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC70

  • 2.1.1.Representao de um autmato por um grafo

    estadoVrtices qi estadoVrtices qi

    estado inicialq0

    estado aceitador ou finalqf

    [*] tA

    estado aceitador ou finalqf

    [*] carterArestas

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC71

  • E l 2 01Exemplo 2

    i i

    0

    q2

    01

    qincio1

    q20

    q1q0

    1

    M= (Q, , , q0, F) Q = {q0,q1,q2}, = {0,1}, F = {q2} e definida por

    Entradas

    Estados 0 1q0 q1 q0q1q2

    q2q0q1q0

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC72

  • Exemplo 3

    q0 q111Incio

    q011Incio

    q1

    10 000

    10 000

    q2 q311

    q2 q311

    EstadosEntradas

    0 1Estados 0 1q0q

    q2 q1q q

    q0 q11

    0 000

    Incio

    q1q2q3 q2q1

    q3q3q0q0

    q211

    0 000

    q3q3 q2q1 1

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC73

  • A linguagem de um DFA MA linguagem de um DFA M

    li i ( h id ) M a linguagem aceite (ou reconhecida) por M o

    conjunto de todas as cadeias que, comeando no estado inicial alcanam umcomeando no estado inicial, alcanam um dos estados finais depois de toda a cadeia

    ter sido lida.

    Qual a linguagem do DFA do exemplo 3 ?

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC74

  • E l 4Exemplo 4

    I i q q

    0 01

    Incio q0 q1

    1Exemplo 5

    1

    0 1

    Incio q0 q11

    0 0 11Exemplo 6

    0

    Incio q0 q1 q21 0

    0 0,11

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC75

  • Exemplo 7p

    M = ({q0, q1, q2}, {a,b}, , q0, {q2})0 1 2 0 2

    : Q x Q

    bFuno de transio: a b

    q q q

    Funo de transio:

    (q0, a) = q1 q0 q1 q2

    q1 q0 q2

    (q0, a) q1 (q0, b) = q2 (q1, a) = q0 q1 q0 q2

    q2 q2 q2

    (q1, ) q0 (q1, b) = q2 (q2, a) = q2(q2 ) q2 (q2, b) = q2

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC76

  • aa

    aq0 q1 q0q0

    bb b

    q0

    q2q2 q2q2

    a b a b

    q2q2

    a,b a,b

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC77

  • Funo de transio estendida *:

    * : Q * Q

    O seu segundo argumento uma cadeia em vez de um carcter,carcter,

    o seu valor de sada d o estado do autmato depois de ler a cadeia toda,,

    uma forma compacta de descrever um conjunto de transies resultantes da leitura de uma cadeia de entrada.

    Por exemplo

    p

    (q0, a) = q1 e (q1, b) = q2 ento * (q0, ab) = q2

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC78

  • Definio recursiva da funo de transio estendida

    1 * (q )= q1. * (q,)= q2. * (q,wa)= ( * (q, w), a)

    para todo o q Q, w *, a .

    Para o exemplo anterior teremos :

    * (q0, ab) = ( * (q0, a), b)

    * (q0, a) = * (q0, a) = ( *(q0, ), a)= (q0, a) = q1

    * (q0, ab) = ( q1, b) = q2 ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    79

  • Linguagens e DFAs

    Definio 2.2. Linguagem aceite por um DFA

    A linguagem aceite por um DFA M =(Q, , , q0, F) o conjunto d t d d i it M ide todas as cadeias em aceites por M, i.e.,

    L(M) { * * ( ) F }L(M) = {w * : * (q0, w)F }

    As funes de transio e * so funes totais.

    Em cada passo define-se um e um s movimento, e por isso o autmato chama-se determinstico.

    O autmato processa todas as w em *, aceitando-as ou no. ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    80

  • Complemento da linguagem de um DFA

    Quando o DFA no aceita uma cadeia, pra num estado no final, de modo quefinal, de modo que

    Compl (L(M)) = {w * : * (q0, w) F }

    C d h DFA i C l(L(M)) ??Como desenhar o DFA que aceita o Compl(L(M)) ??

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC81

  • 2 1 2 Linguagens regulares2.1.2. Linguagens regulares

    Uma linguagem diz-se regular se e s se existir um DFA MUma linguagem diz se regular se e s se existir um DFA M que a aceite, i. e.

    L = L ( M )

    A famlia das linguagens regulares composta por todas as g g g p plinguagens que so aceites por um qualquer DFA.

    Uma forma de demonstrar que uma linguagem regular encontrar um DFA que a aceite.

    O conjunto das linguagens regulares constitui uma famlia. ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    82

  • Construir um DFA que aceite a linguagem L em = {0 1} talConstruir um DFA que aceite a linguagem L em {0, 1} tal que

    Exemplo 8L contm apenas 010 e 1L contm apenas 010 e 1 .

    E l 9Exemplo 9L o conjunto de todas as cadeias que terminam com 00

    Exemplo 10pL o conjunto de todas as cadeias sem 1s consecutivos

    nem 0s consecutivos.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC83

  • 2.2. Aceitadores finitos no-determinsticos (NFA)

    A partir de um estado so possveis zero, uma ou maisp p ,transies com o mesmo smbolo do alfabeto.

    Uma entrada aceite se houver para ela um caminho que leva a um estado final (aceitador).

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC84

  • D fi i 2 4 NFADefinio 2.4. NFA

    Um aceitador no-determinstico (NFA Nondeterministic Fi it A t ) d fi id l i t tFinite Accepter) definido pelo quinteto

    M (Q F)M= (Q, , , q0, F)

    em que a funo de transio definida porem que a funo de transio definida por

    : Q ({ }) 2Q : Q ({ }) 2Q

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC85

  • 3 diferenas em relao ao DFA:

    1) o contradomnio de a potncia de conjuntos de Q, e no Q, precisamente porque o resultado de pode ser umQ, precisamente porque o resultado de pode ser um subconjunto de Q.

    2) pode ser argumento de , ou seja, pode dar-se uma transio sem consumir um smbolo de entrada ( o (mecanismo de leitura pode ficar parado em alguns movimentos).

    3) O conjunto (qi, a) pode ser vazio, significando que no h qualquer transio nesta situao.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC86

  • 2 2 1 R t d NFA f

    OS NFA d f l DFA

    2.2.1.Representao de um NFA por um grafo

    OS NFA podem representar-se por grafos tal como o DFA.

    Diferenas:Diferenas:

    q1 q2a

    i) Do mesmo vrtice podem partir

    a

    diversas arestas com a mesma etiqueta a

    q3( q1, a) = { q2, q3 } q4

    ii) Algumas arestas podem ser etiquetadas por

    iii) Nem todas as transies de um vrtice so definidas

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC87

  • Uma cadeia aceite pelo NFAUma cadeia aceite pelo NFA

    se houver alguma sequncia de movimentos possveis que coloquem o autmato num estado final no fim da cadeia. q

    Caso contrrio rejeitada.

    O no-determinismo permite escolher entre diversos caminhos possveis para uma cadeia de entrada.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC88

  • Que linguagem aceite pelo NFA ?Exemplo 11 Que linguagem aceite pelo NFA ?Exemplo 11

    a aq1 q2 q3

    a

    a a

    q0q0a a

    q4 q5aa

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC89

  • q1 q2 q3a a

    a

    q0 L(M) = {a 3}

    q0a a

    L(M) { 2n 1}q4 q5

    L(M) = {a 2n: n 1}

    a

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC90

  • a aq1 q2 q3

    a

    a a

    qq0a a

    q4 q5aa

    L(M) = {a 3} {a 2n: n 1}

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC91

  • Exemplo 120

    0 1

    (q0, 1) = {q1} (q0, 0) =

    q1 q2q0

    1

    0, 1 (q1, 0) = {q0, q2} (q1, 1) = {q2} ( ) { }1

    (q0, ) = { q0, q2} (q2, 0) = ( 1)

    As 3 categorias de no determinismo:

    (q2, 1) =

    As 3 categorias de no determinismo:

    - de q1 partem duas arestas etiquetadas por 0

    - de q0 parte uma aresta etiquetada

    - de q2 no definida qualquer transio, (q2, 0) =

    - existe sempre a transio (qi, ) = { qi}, para todo o i ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    92

    existe sempre a transio (qi, ) { qi}, para todo o i

  • Funo de transio estendida * em NFA

    Define-se de modo anlogo ao caso do DFA

    * (qi, w) = Qjsendo Qj o conjunto de todos os estados em que o autmato se pode encontrar partindo de q e tendo lido a cadeia wpode encontrar, partindo de qi e tendo lido a cadeia w.

    Definio 2 5

    A funo de transio estendida (NFA) * define-se de

    Definio 2.5.

    ( )modo que * (qi, w) contm qj se e s se existir um caminho no grafo de transio desde qi at qj com etiqueta w, para i jtodos os qi, qj Q e todas as w *.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC93

  • Linguagens e NFAsLinguagens e NFAs

    D fi i 2 2 Li it NFA

    A li L i NFA M (Q F)

    Definio 2.2. Linguagem aceite por um NFA

    A linguagem L aceite por um NFA M =(Q, , , q0, F) o conjunto de todas as cadeias em * aceites por M, i.e.,

    L(M) = { w * : * ( q0 , w ) F }

    Uma cadeia w pode levar a vrios estados depois de lida; se

    0

    Uma cadeia w pode levar a vrios estados, depois de lida; se pelo menos um deles final, a cadeia aceite.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC94

  • Que linguagem aceita ?Exemplo 13

    0

    0 1

    Que linguagem aceita ?

    q1 q2q0

    1

    0, 1

    1

    Aceita :

    No aceita : 1

    10 1010

    1111011

    101010 1101

    L ( M ) = { (10) n : n 0 }

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC95

  • Porqu o no determinismo? servem para modelizar algoritmos em que tem que se fazer escolhas (search-and-

    backtracking, por exemplo)

    serve para definir linguagens compostas por conjuntos bastante diferentes (como no exemplo que aceita a linguagem {a3}{a2n : n 0}.

    o no-determinismo um mecanismo apropriado para descrever de forma simples e concisa linguagens complicadas. Na definio de uma gramtica existe um elemento g g p gde no-determinismo, como em S aSb | em qualquer ponto se pode escolher a primeira ou a segunda produo; podemos assimem qualquer ponto se pode escolher a primeira ou a segunda produo; podemos assim especificar um grande nmero de cadeias usando apenas duas regras.

    h uma razo de ordem tcnica: alguns resultados so mais facilmente estabelecidos h uma razo de ordem tcnica: alguns resultados so mais facilmente estabelecidos para NFA do que para DFA.

    Como veremos no h nenhuma diferena essencial entre NFAs e DFAs. Por conseguinte o facto de se permitir o no determinismo simplifica por vezes os argumentos formais sem afectar a generalidade da concluso.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC96

  • 2 3 Equivalncia entre DFAs e NFAs2.3. Equivalncia entre DFA s e NFA s

    D fi i 2 7 A t t ( it d ) i l tDefinio 2.7. Autmatos (aceitadores) equivalentes

    Dois aceitadores M1 e M2 so equivalentes se

    L(M1) = L(M2)

    isto , se ambos aceitam a mesma linguagem.

    Existem geralmente muitos aceitadores para uma dada linguagem e por isso qualquer DFA ou NFA tem muitoslinguagem, e por isso qualquer DFA ou NFA tem muitos aceitadores equivalentes.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC97

  • DFA d id i i ( i ) d os DFA podem-se considerar casos especiais (restritos) de NFA.

    se uma linguagem aceite por um DFA ento existe um NFA que tambm a aceitaque tambm a aceita.

    se uma linguagem aceite por um NFA existir um DFA que se uma linguagem aceite por um NFA, existir um DFA que a aceite ?

    Ser que o no-determinismo eliminou esta possibilidade ?

    SIM !!!De facto no eliminou ! SIM !!!

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC98

  • Determinao do DFA equivalente a um NFADeterminao do DFA equivalente a um NFA

    Depois de um NFA ler uma cadeia w, no se sabe precisamente em que estado est, mas sabe-se apenas que est num estado entre um conjunto Qw de estados possveis

    Q { }Qw={qi, qj, ..., qk }.

    D i d DFA l d i t tDepois de um DFA ler a mesma cadeia tem que estar num estado bem definido, qw.

    Como encontrar uma correspondncia entre estas duas situaes ?Como encontrar uma correspondncia entre estas duas situaes ?

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC99

  • Truque:

    - cria-se um (super) estado no DFA equivalente a Qw, isto , etiqueta-se, no DFA, um estado por Qw.

    Mas resultar isso num autmato finito ?

    Qual o nmero mximo de estados do DFA que se podem obter t ?por este processo ?

    Se no NFA existem no total Q estados, o nmero mximo de estados que se podem obter no DFA igual potncia de q p g pconjuntos de Q, isto 2|Q|, e portanto finito.

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC100

  • Exemplo 14Tabela de transies

    a b

    NFATabela de transies

    q0 q1q2 q1q2 q2 q2

    DFAVrios estados (q q ) noVrios estados (q1, q2) no NFA resultam um super-

    estado (q12) no DFAb a a,b

    (q )

    a,b

    Nota: o JFLAP no introduz o estado vazio,

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC101

  • Q QQ

    NFA

    Q

    DFA

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC102

  • Exemplo 15T b l d t i

    a bNFATabela de transies

    q01 q2q3

    q2q3

    DFAO estado inicial do DFA

    composto pelo estado inicial do NFA t d l iNFA e por todos os alcanveis a

    partir deste com a transio b a,b

    a,b

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC103

  • Exemplo 16Exemplo 16

    Construir um NFA que aceite a linguagem L composta pelasConstruir um NFA que aceite a linguagem L composta pelas cadeias em = {0,1} que contenham

    trs 0s seguidos

    ou

    trs 1s seguidos ,

    como por exemplo

    000, 111, 10100010, 00111101000

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC104

  • trs 0s seguidos

    1 00,1

    1,00

    00

    qfq1 q2

    q0

    qf

    0 1trs 1s seguidos

    0,10,1g

    1 1qf

    q0 11 1 1q0

    q1 q2

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC105

  • trs 0s seguidos ou trs 1s seguidostrs 0 s seguidos ou trs 1 s seguidos

    Juntam se os dois autmatosJuntam-se os dois autmatos

    0 11,0

    00

    0,1

    q0,10,1

    00

    q0

    qfq1 q2

    qf1q0 1 1 1

    qfq0

    q1 q2

    1

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC106

  • Finalmente ...

    1 00,1

    1,00

    00

    q3q1 q2

    q0q3

    1 1 11

    1q4 q5

    E i i DFA blExperimentar construir um DFA para o mesmo problema ...

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC107

  • Vamos agora procurar um DFA equivalente

    P i b l d i

    Vamos agora procurar um DFA equivalente.

    Para isso construa-se a tabela de transies:

    N 0 1

    q0 , q1 q0 , q4q1 q2 -

    q0

    1 2

    q2 q3 -

    q3 q3 q3q - qq4 - q5q5 - q3

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC108

  • Para as transies no DFA etiquetam-se os seus estados comPara as transies no DFA, etiquetam se os seus estados comndices agrupando os ndices dos estados do NFA co-alcanveis pelas mesmas transies :alcanveis pelas mesmas transies :

    D 0 1Dq0 q01 q04q q qq01 q012 q04q04 q01 q045q012 q0123 q04q045 q01 q0345

    q034q0123 q0123q0345 q013 q0345q0345 q013 q0345q013 q0123 q034q q q

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC109

    q034 q013 q0345

  • O DFA que aceita as cadeias contendo 000 e/ou 111 :O DFA que aceita as cadeias contendo 000 e/ou 111 :

    00 0q01 q012 q0123

    0

    11 1

    q100

    q0 q0341 0

    11

    q04 q045q0345

    1q

    01

    01

    1

    q04 q013

    1

    Todos os que contenham q3 so aceitadores ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    110

  • adoptando etiquetas mais intuitivas e simplificandoadoptando etiquetas mais intuitivas e simplificando

    0

    0

    00 00

    0 00,1

    1

    F10

    11

    0

    111 11

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC111

  • E l 17Exemplo 17

    NFANFA

    Construa a tabela detabela de transies

    DFADFA

    Calculado com o JFLAP)

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC112

    Calculado com o JFLAP)

  • 2 4 Reduo do nmero de estados em DFAs2.4. Reduo do nmero de estados em DFA s

    Ver Linz (62 65) ou Hopcroft et all (159 164)Ver Linz (62-65) ou Hopcroft et all.(159-164)

    (Implementado no JFLAP)( p )

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC113

  • 2.5. Autmatos finitos transdutores

    Tm entrada, estado e sada

    Ficheiro de entrada

    S

    M

    S k

    Unidade de Controlo

    Memm kUnidade de Controlo

    qk

    ri

    m k

    qk ia

    Ficheiro de sada

    y k

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC114

  • 2.5.1. Mquinas de Mealy 1

    A sada depende do estado actual e da entrada actual

    yk = f (sk, qk)

    Definio: Uma Mquina de Mealy definida pelo sextetoDefinio: Uma Mquina de Mealy definida pelo sexteto

    M = (Q , ,, , , q0 ) Se est no estado (Q , , , , , q0 )

    Q : conjunto finito de estados internos

    qi e aparece a entrada 1, envia 0

    para a sada e : alfabeto de entrada (conjunto finito de caracteres) : alfabeto de sada (conjunto finito de caracteres) : Q x Q a funo de transio de estado

    passa ao estado qj

    : Q x Q a funo de transio de estado : Q x a funo de sadaq0 Q o estado inicial 1/0

    arestas

    qi qjEntrada/Sada1/0

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC115

    (1) G. H. Mealy, A Method for Synthesizing Sequential Circuits, Bell System Tech. J. vol 34, pp. 10451079, Sept 1955.

  • E l 1/1Exemplo:

    Que faz ?

    1/1

    10110001q11/

    q00/11/0

    Mquina0/ q2

    ????????0/00/0

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC116

  • Mquina de MealyMquina de Mealy

    Logo que a entrada varia pode variar a sada:

    (http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)

    g q pfuncionamento assncrono

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC117

    (Nota: tambm existem em verso sncrona, diferentes destas)

  • 2.5.2. Mquinas de Moore2q

    A sada depende apenas do estado (e no da entrada)yk = f (qk)

    Definio: Uma Mquina de Moore definida pelo sextetoDefinio: Uma Mquina de Moore definida pelo sexteto

    M = (Q , ,, , , q0 ) Se est no estado ( d 1)(Q , , , , , q0 )

    Q : conjunto finito de estados internos

    qi (e sada 1) e aparece a entrada 1, transita para o

    : alfabeto de entrada (conjunto finito de caracteres) : alfabeto de sada (conjunto finito de caracteres) : Q x Q a funo de transio de estado

    estado qj e a sada passa a 0

    : Q x Q a funo de transio de estado : Q a funo de sadaq0 Q o estado inicial

    Estado/Sada

    1

    (2) E. F. Moore, Gedanken-experiments on Sequential Machines pp 129 153 Automata Studies Annals of

    qi /1 qj /0Entrada

    1

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC118

    Machines, pp 129 153, Automata Studies, Annals ofMathematical Studies, no. 34, Princeton University Press, Princeton, N. J., 1956.

  • Exemplo

    1

    Exemplo

    3/11

    Que faz ?

    11/

    4/110

    010110001

    0/

    /

    110

    M i0 2/ 5/01 0

    1

    Mquina

    6/00

    1????????

    0 ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC

    119

  • Mquina de MooreMquina de Moore

    (http://www2.ele.ufes.br/~ailson/digital2/cld/chapter8/chapter08.doc4.html)

    A sada s pode variar depois de uma mudana de estado:

    ( p g p p )

    A sada s pode variar depois de uma mudana de estado: funcionamento sncrono

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC120

  • E i l i i d M l d MEquivalncia entre as mquinas de Mealy e de Moore

    Dada uma mquina de Mealy possvel encontrar uma mquina de Moore que, para as mesmas entradas, d as mesmas sadas. E i (I d d d d i i i l i dE vice-versa. (Ignorando a sada do estado inicial na mquina de Moore).

    A de Moore equivalente tem um maior nmero de estados.

    Utilidade das mquinas de Mealy e de Moore

    Projectar circuitos lgicos Projectar circuitos lgicos

    Existe software que simula estas mquinas e gera o circuito lgico a partir do autmato. (ver por ex. http://www.seas.upenn.edu/~ee201/foundation/foundation_impl4.html ou http://www xilinx com/univ/xse42 html )

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC121

    http://www.xilinx.com/univ/xse42.html )

  • Bibliografia

    An Introduction to Formal Languages and Automata Peter Linz 3rdAn Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001

    Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addi W l 2001Addison Wesley, 2001.

    Elements for the Theory of Computation, Harry Lewis and Christos P di it i 2 d Ed P ti H ll 1998Papadimitriou, 2nd Ed., Prentice Hall, 1998.

    Introduction to the Theory of Computation, Michael Sipser, PWS P bli hi C 1997Publishing Co, 1997.

    Wikipdia (enciclopdia livre) http://en.wikipedia.org ou http://pt.wikipedia.org )

    ADC/TCI/Cap.2/2000-10/LEI/DEIFCTUC122