Aula 4 - Teoria Da Computação
Aula 4 - Teoria Da Computação
Aula 4 - Teoria Da Computação
Apresentação
Esta aula consiste em apresentar as de nições básicas de alfabeto e linguagens e de nições e propriedades de árvores e
grafos.
Objetivos
De nir as características de um autômato nito determinístico e indeterminístico;
Autômatos
Como visto anteriormente, grafos e árvores dependem de uma sequência de estados nitos:
1 2
Sistema de estados nitos é um sistema que tem entradas e Estado é uma representação de uma ação passada ou
saídas de estados nitos. próxima.
Autômatos nitos
Um autômato nito pode ser de nido pelos seguintes conceitos:
Controle
Conjunto de estados Conjunto de transições
Dispositivo que lê uma entrada
Cada estado recorda o que já foi Movimentos possíveis de um
externa e move de um estado para
feito na história de um sistema. estado para outro.
outro.
Atenção
Função de transição
De nição formal de autômato nito
A função de transição é a função que de ne o funcionamento do autômato, ou seja, é o mapeamento de todas as ligações de
cada estado com determinado símbolo entrada resultando em um próximo estado.
Exemplo: Dado o autômato abaixo, indique os elementos da quíntupla de um autômato nito.
Seguindo a propriedade de um autômato nito que é representado por uma quíntupla (Q, Ʃ, δ, q0, F):
Q = número de estados = {q0, q1, q2, q3}
Ʃ = símbolos de entrada = {0,1}
δ = transições =
δ (q0, 0) = q2
δ (q0, 1) = q1
δ (q1, 0) = q3
δ (q1, 1) = q0
δ (q2, 0) = q0
δ (q2, 1) = q3
δ (q3, 0) = não tem = Ø (vazio)
δ (q3, 1) = q2
q0 = estado inicial = {q0}
F = conjunto de estados nais = {q0}
Atenção
Para todo estado e todo símbolo de entrada sempre há zero ou uma transição possível.
De nição formal
Um autômato nito determinístico também é representado por uma quíntupla, seguindo as mesmas propriedades de um
autômato nito, ou seja, (Q, Ʃ, δ, q0, F), sendo Q o conjunto nito de estados, Ʃ o conjunto nito de símbolos de entrada, δ a
função de transição, q0 o estado inicial (q0 ∈ Q - o estado inicial é apontado por uma seta) e F o conjunto de estados nais
ou de aceitação (os estados de aceitação são apontados por um círculo dentro de outro ou asterisco e um estado inicial
também pode ser nal).
Noções
Diagramas de estados
Nos diagramas de estados, cada estado tem um nó correspondente, um estado inicial (seta apontando para o estado), estados
de aceitação/ nal (círculo duplo) e setas saindo de um estado para outro, que vimos que são chamadas de transições e a
representação visual da função δ.
Versão tabular
Na versão tabular as linhas correspondem aos estados, as colunas correspondem às entradas, o estado inicial é marcado com
uma seta e os estados de aceitação são marcados com asterisco.
Exemplo:
Aceitação de linguagem
O autômato nito determinístico aceita uma sequência de caracteres chamada de w, porém ele só aceita se houver uma
sequência de transições correspondentes aos símbolos de w que partindo de um estado inicial leva a um estado nal.
O AF det age como um controle nito que parte do estado inicial (q0) para ler a sequência (w) de símbolos gravada em uma
ta.
No processo de leitura, estando no estado q (estado qualquer), o controle nito lê a entrada a (entrada qualquer) e faz as
seguintes veri cações:
Se não existir uma transição para esse estado e essa entrada no AF det, o controle para e não aceita a sequência w.
Se ele passa para outo estado qualquer e move o seu ponteiro para a direita, então a sequência w será aceita se o ponteiro
ultrapassar a extremidade direita da ta, mostrando que a sequência toda foi lida e o controle chega a um estado nal do
AF det.
5. Após ler um símbolo, move-se de um estado para outro, de acordo com a função de transição.
Realizar a veri cação de uma sequência em um AF det é possível, porém é preciso uma função de transição. Uma
função de transição δ^ mapeia Q x ∑* em Q, ou seja, quando o AF det está inicialmente no estado q, δ^(q, w) será o
estado do AF det após a leitura de uma sequência w.
Para essa veri cação seguimos os passos:
(1) δ^ (q, Є) = q
E ainda w = w' a.
Onde δ^(q0, w) = p e p Є F
Exemplo:
Tendo como base a tabela de transições a seguir, veri car se a sequência w = 101011 Є L(AF det).
Estados Entradas
0 1
* q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
δ^ (q0, 101011) = q0
δ^ (q0, 101011) = δ (δ^ (q0, 10101), 1)
δ (δ (δ^ (q0, 1010), 1), 1)
δ (δ (δ (δ^ (q0, 101), 0), 1), 1)
δ (δ (δ (δ (δ^ (q0, 10), 1), 0), 1), 1)
δ (δ (δ (δ (δ (δ^ (q0, 1), 0), 1), 0), 1), 1) -> (q0, 1) = q1
δ (δ (δ (δ (δ (q1, 0), 1), 0), 1), 1) -> (q1, 0) = q3
δ (δ (δ (δ (q3, 1), 0), 1), 1) -> (q3, 1) = q2
δ (δ (δ (q2, 0), 1), 1) -> (q2, 0) = q0
δ (δ (q0, 1), 1) -> (q0, 1) = q1
δ (q1, 1) -> (q1, 1) = q0
q0
Chegou ao estado q0 que é estado nal, logo a sequência 101011 Є L(AF det).
Autômato nito indeterminístico
Um autômato nito indeterminístico é um autômato que permite zero, uma ou mais transições a partir de um estado e para um
mesmo símbolo de entrada. Ele pode estar em muitos estados ao mesmo tempo.
Para todo estado e todo símbolo de entrada sempre há zero ou uma ou n transições possíveis.
De nição formal
Um autômato nito indeterminístico também é representado por uma quíntupla, seguindo as mesmas propriedades de
um autômato nito, ou seja, (Q,Ʃ,δ,q0,F), sendo Q o conjunto nito de estados, Ʃ o conjunto nito de símbolos de entrada, δ
a função de transição, q0 o estado inicial (q0 ∈ Q o estado inicial é apontado por uma seta) e F o conjunto de estados
nais ou de aceitação (os estados de aceitação são apontados por um círculo dentro de outro ou asterisco e um estado
inicial também pode ser nal).
Noções
Diagramas de estados
Nos diagramas de estados, cada estado tem um nó correspondente, apresenta um estado inicial (seta apontando para o
estado), estados de aceitação/ nal (círculo duplo) e setas saindo de um estado para outro, que vimos que são chamadas
de transições e a representação visual da função δ.
Versão tabular
Na versão tabular as linhas correspondem aos estados, as colunas correspondem às entradas, o estado inicial é marcado
com uma seta e os estados de aceitação são marcados com asterisco.
Exemplo:
Aceitação de linguagem
O autômato nito indeterminístico aceita uma sequência de caracteres chamada de w, porém ele só aceita se houver uma
sequência de transições correspondentes aos símbolos de w que, partindo de um estado inicial, leva a um estado nal.
Veri cação de uma sequência em um AF ind
Para que esse processo de investigação (realizado por um humano) possa ser realizado por uma máquina, é necessário
que um algoritmo possa ser criado e implementado em uma linguagem de programação.
Realizar a veri cação de uma sequência em um AF ind é possível, porém é preciso uma função de transição. Uma função
de transição δ^ mapeia Q x ∑* em 2Q, ou seja, quando o AF ind está inicialmente no estado q, δ^(q, w) será o estado do AF
ind após a leitura de uma sequência w.
Para essa veri cação seguimos os passos:
(1) δ^ (q, Є) = q
Onde Є pode ser substituído por qualquer sequência ou vazio (Ø).
E ainda w = w' a.
Onde δ^(q0, w) = p e p Є F.
Atividade
1: O AFD M = <{a, b, c, d}, {0, 1}, δ, a, {a}>, onde o mapeamento é dado a seguir, desenhar o autômato AFD.
2. Baseado no exercício anterior, veri car se as seguintes sequências são lidas pelo AFD gerado:
a) 00110
b) 01010
c) 00110011
d) 0101
e) 011001
3. O AF ind M = <{a, b, c, d}, {0, 1}, δ, a, {a}>, onde o mapeamento é dado a seguir, desenhar o autômato AF ind.
4. Baseado no exercício anterior, veri car se as seguintes sequências são lidas pelo AF ind gerado:
a) 00110
b) 01010
c) 00110011
d) 0101
e) 011001
5. Para o AF ind a seguir, fazer o mapeamento de maneira tabular.
Notas
Título modal 1
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente
uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente uma simulação de texto da
indústria tipográ ca e de impressos.
Título modal 1
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente
uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente uma simulação de texto da
indústria tipográ ca e de impressos.
Referências
HOPCROFT, Ullman and Motwani. Introdução à teoria dos autômatos, linguagens e computação. Tradução da 2.ed. original de
Vandenberg D. de Souza. Rio de Janeiro: Elsevier, 2002 (tradução de: Introduction to automata theory, languages, and
computation – ISBN 85-352-1072-5).
SIPSER, Michael. Introdução à teoria da computação. Tradução técnica de Rui José Guerra Barretto de Queiroz. Revisão
técnica de Newton José Vieira. São Paulo: Thomson Learning, 2007 (título original: Introduction to the theory of computation.
“Tradução da segunda edição norte-america” – ISBN 978-85-221-0499-4).
Próxima aula
Equivalência entre autômatos nitos indeterminísticos e com autômatos nitos indeterminísticos com transições
espontâneas;
Expressões regulares.
Explore mais
Automata Theory with Modern Applications, de James A. Anderson (Cambridge University Press).