A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.

Apresentações semelhantes


Apresentação em tema: "Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da."— Transcrição da apresentação:

1 Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da Computação TC

2 TC: Questões Centrais Quais as capacidades e limitações fundamentais dos computadores? O que pode e o que não pode (problema) ser resolvido por computadores? O que faz alguns problemas serem computacionalmente mais difíceis que outros?

3 TC: Áreas Centrais Teoria dos Autômatos Computabilidade
definição e propriedades de modelos matemáticos de computação. Computabilidade tese de Church-Turing (algoritmos), decidibilidade e indecidibilidade Complexidade Computacional classificação de problemas como fáceis ou difíceis (polinomiais x exponenciais).

4 Modelos Computacionais
Autômatos Finitos Bom modelo para computadores com capacidade de memória reduzida. Fazem parte de vários dispositivos eletro-mecânicos do dia-a-dia.

5 Controladores Ex: Controlador de uma porta automática
Visão aérea de uma porta automática

6 Estado O controlador pode estar em 2 estados:
aberto (significando porta aberta) fechado (significando porta fechada) O controlador passa de um estado para outro dependendo do estímulo (entrada) que recebe:

7 Entrada Existem 4 condições de entrada possíveis:
Frente : significando que uma pessoa está em pé sobre o tapete da frente; Retaguarda: significando que uma pessoa está em pé sobre o tapete de dentro; Ambos: significando que existem pessoas sobre os 2 tapetes; Nenhum: significando que ninguém está sobre os tapetes.

8 Diagrama de Estados Representação da situação: Diagrama de estados

9 Tabela de Transição Tabela de transição de estado
Obs: Quantos bits de memória são necessários?

10 Computação Exemplo: Controlador inicia no estado fechado e recebe seguinte série de sinais de entrada: frente, retaguarda, nenhum, frente, ambos Série de estados: fechado (inicio), aberto, aberto, fechado, aberto, aberto

11 Aplicações Controladores para:
Lavadoras de louça/roupa; Termômetros eletrônicos; Relógios digitais; Calculadoras; Máquinas de venda automática. São exemplos de controladores com memória limitada e que podem ser descritos por um Autômato Finito.

12 Autômato Finito Autômatos finitos são dispositivos formais úteis para:
Reconhecer padrões em dados; Projetar uma nova linguagem para uma aplicação especifica; Processamento de voz; Reconhecimento ótico de caracteres; Controle;

13 Autômato Finito Vamos olhar os Autômatos finitos a partir de uma perspectiva matemática: Definição precisa. Definição abstrata. Sem nenhuma referencia a qualquer aplicação em particular. Vamos descrever e manipular AF’s e apresentar resultados teóricos que descrevem seu poder e limitação.

14 Autômato Finito Um autômato finito M1: (diagrama de estados)
Observações: M1 tem 3 estados, q1, q2, q3 ; M1 inicia no estado q1 ; M1 tem um estado final, q2 ; Os arcos que vão de um estado p/ outro chamam-se transições.

15 Observações(continuação):
Autômato Finito Observações(continuação): O autômato finito M1 recebe os símbolos de entrada um por um; Depois de ler cada símbolo, M1 move-se de um estado para outro, de acordo com a transição que possui aquele símbolo como seu rótulo; Quando M1 lê o ultimo símbolo ele produz uma saída: aceita se M1 está no estado final e não-aceita se M1 não estiver.

16 Autômato Finito Ex: entrada 1101, M1 procede como segue:
Inicia no estado q1. Lê 1, segue transição de q1 p/ q2. Lê 1, segue transição de q2 p/ q2. Lê 0, segue transição de q2 p/ q3. 1 1 q1 q2 q3 Lê 1, segue transição de q3 p/ q2. 1 Pára c/ saída aceita.

17 Autômato Finito Experimente: 1, 01, 11, 0101 (em M1)
Podemos deduzir que : M1 aceita qualquer cadeia que termine com 1 (vai p/ o estado final q2 toda vez que lê 1); M1 aceita qualquer cadeia que termine c/ um número par de zeros que seguem o último 1; M1 não aceita cadeias como 0, 10,

18 Autômato Finito Definir um AF significa definir:
Um conjunto finito de estados; Um alfabeto de entrada que indica os símbolos de entrada permitidos; Um conjunto de regras de movimento que indicam como ir de um estado p/ outro, dependendo do símbolo de entrada; Um estado escolhido como estado inicial; Um conjunto de estados escolhidos como estados finais (de aceitação);

19 Autômato Finito Definição formal:
Um AF M é uma 5-tupla < Q, , , q0, F >, onde: Q é um conjunto finito e não-vazio chamado de conjunto de estados;  é um conjunto finito e não-vazio chamado de alfabeto;  : Q    Q é a função de transição do autômato; q0  Q é o estado inicial; e F  Q é o conjunto de estados finais.

20 Função de transição: representações
: Q    Q

21 Autômato Finito Vamos estender  para ´ : Q  *  Q : ´(q, ) = q
´(q, a) = (q, a) ´(q, wa) = (´(q, w), a) Exemplo: ´(q1, 011) = (´(q1, 01), 1) = ((´(q1, 0), 1), 1) = (((q1, 0),1 , 1) = ((q1, 1), 1) = (q2, 1) = q2

22 Computação de um AF Seja M um AF M = < Q, , , q0, F > e w  *. Uma computação de M a partir de w é uma sequência: c0, c1, ..., cn , onde: co = <qo, w> cn = <qj, l>, qj  Q cj+1= <d(cj, au), u> , a   e u  *.

23 Computação de um AF Seja w = 001: c0 = <q1, 001>
1 c3 = <q2, l> 1 q1 q2 q3 0,1

24 Palavra aceita por um AF
Seja M = <Q, , , q0, F> um AF e seja w = w1w2w3 ... wn  * , wi  S, 1 i  n. Dizemos que M aceita w sse existe uma seqüência de estados r0, r1, ... , rn tal que: r0 = q0 ;  (ri, wi+1) = ri+1 para i = 0, 1, ..., n-1; rn  F. Ou seja, M aceita w sse a computação de M para a entrada w termina em um estado final, ou seja, ’(q0, w)  F.

25 Linguagem reconhecida por um AF
Seja M um AF <Q, , , q0, F>. Então, a linguagem reconhecida por M, L(M), é definida como: L(M) = {w  * : ’(q0, w )  F}. Ou seja, L(M) é o conjunto de todas as palavras aceitas por M. Uma linguagem reconhecida por um AF é dita ser uma linguagem regular.

26 Autômato Finito Exemplo:
M2 recebe strings no alfabeto {0,1} representando mensagens. Se o último símbolo recebido de uma mensagem é 1, significa que houve um erro na transmissão e deve ser sinalizado por M2. (L(M2) = ?)

27 Autômato Finito Troque os estados final e não final de M2
e veja o que resulta: (L(M3)=?)

28 Autômato Finito M4 : L(M4) = ?

29 Autômato Finito M5 :  = { RESET, 0, 1, 2 } L(M5) = ?
Exemplo: w L(M5): w = 10<RESET>22<RESET>012 L(M5) = ?

30 Operações Regulares Teorema 1
A classe das linguagens regulares é fechada pela operação de união. Isto é, se A e B são linguagens regulares, então A  B também é regular.

31 Teorema 1 Prova: Sejam A1 = L(M1), onde M1 = <Q1, , 1, q1, F1> e A2 = L(M2), onde M2 = <Q2, , 2, q2, F2> Construa M = <Q, , , q0, F>, tal que A1  A2 = L(M), da seguinte forma: Q = Q1 x Q2 = {(r1, r2) : r1  Q1 e r2  Q2};  é o mesmo; ((r1, r2), a) = (1(r1, a), 2(r2, a)); q0 = (q1, q2); F = {(r1, r2) : r1  F1 ou r2  F2}. Mostre que L(M) = L(M1)  L(M2)

32 Operações regulares Teorema 2
A classe das linguagens regulares é fechada pela operação de concatenação. Isto é, se A1 e A2 são linguagem regulares, então A1 • A2 também é regular.

33 Idéia da prova Como no teorema anterior, começamos por 2 autômatos finitos M1 e M2 que reconhecem as linguagens A1 e A2, respectivamente. Construímos então um autômato finito M que deve aceitar uma entrada se ela pode ser “quebrada” em duas partes, onde M1 aceita a primeira parte e M2 a segunda. O problema é que M não sabe onde “quebrar” a entrada, isto é, onde a primeira parte termina e a segunda começa.

34 Não-determinismo Até agora, quando um AF está em um dado estado e lê o próximo símbolo da entrada, nós sabemos exatamente qual seu próximo estado (é bem determinado) :  : Q    Q é uma função cujo valor é um estado de Q. Máquinas que se comportam dessa forma são chamadas de determinísticas. Máquinas não-determinísticas são aquelas em que diversas escolhas podem existir para o próximo estado em qualquer ponto da execução.

35 Não-determinismo Exemplo: N1:
Um estado pode ter zero, um ou mais arcos “saindo” para o mesmo símbolo do alfabeto; zero, um ou mais arcos podem sair de cada estado rotulados com .

36 Computação de um AFND Vamos considerar N1 com a entrada 01011 N1:
A entrada é aceita porque um dos caminhos possíveis que o autômato segue termina em um estado que é um estado final. Então, a linguagem de um AFND é o conjunto das palavras que ele aceita.

37 Vantagens de usar um AFND
Vantagens de se usar AFND: Todo AFND pode ser convertido para um AFD; É mais fácil de criar; É geralmente menor; É mais fácil de se provar propriedades dos AF’s.

38 Exemplo de um AFND Exemplo: N2: Que linguagem esse autômato reconhece?
L(N2) = { w  {0,1}* : w = u1v, u  * , v  2}

39 AFND Definição formal:
Seja P(Q) o conjunto potência (power set) de Q e seja  =   {}. Um Autômato Finito Não-Determinístico (AFND) é uma 5-tupla <Q, , , q0, F>, onde: Q é um conjunto finito de estados;  é um alfabeto finito;  : Q x   P(Q) é a função de transição; q0  Q é o estado inicial; e F  Q é o conjunto de estados de aceitação.

40 Exemplo de AFND Exemplo:
A definição formal de N1 é <Q, , , q1, F>, onde: Q = {q1, q2, q3, q4};  = {0, 1};  é dada por: {q4} q4 {q3} q3 q2 {q1, q2} {q1} q1 1 q1 é o estado inicial; e F = {q4}.

41 Equivalência entre AFD e AFND
Teorema 3 Todo AFND tem um AFD equivalente.

42 Equivalência entre AFD e AFND
Prova: Seja N = <Q, , , q, F> um AFND que reconhece uma linguagem A. Vamos construir um AFD M da seguinte forma: M = <Q’, , ’, q’, F’> , onde: Q’ = P(Q) : Todo estado de M é um sub-conjunto de estados de N; Para R  Q’ e a   : ’(R, a) = {q  Q | q  (r, a), para algum r  R}, ou seja, a união dos conjuntos (r, a) para cada possível r em R; q’ = {q 0}; F’ = {R  Q’ | R contém um elemento de F}. Obs: Não leva em conta transições com .

43 Equivalência entre AFD e AFND
Introduzindo : Para qualquer estado R de M (ou seja, para qualquer sub-conjunto de Q) definimos: E(R) = Conjunto de todos os estados que posam ser atingidos de R através de arcos rotulados p/ , incluindo os membros de R. E(R) = { q : q pode ser alcançado de R se caminhando ao longo de 0 ou mais arcos rotulados por  }. Assim: ’(R, a) = {q  Q | q  E((r, a)) para algum r  R}. q 0 ’ = E( {q 0} ).

44 Equivalência entre AFD e AFND
Exemplo: Seja N o AFND abaixo: Construir um AFD M equivalente à N.

45 Equivalência entre AFD e AFND
M = <Q’, , ’, q’, F’>, tal que: Q’ = < , {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} > q 0’ = E( {q 0} ) = E( {1} ) = {1, 3} F’ = { {1}, {1, 2}, {1, 3}, {1, 2, 3} } AFND N a {1, 3} {1, 2} {1,2,3} {2, 3} {3} {1} {2} a,b b AFD M

46 Minimizando o AFD Retirando os estados {1} e {1, 2} pois são inacessíveis b {1, 3} {1, 2} {1,2,3} {2, 3} {3} {1} {2} a,b a AFD M Obtemos a AFD M’ : {1, 3} {1,2,3} {2, 3} {3} {2} a,b a b AFD M’

47 Equivalência entre AFD e AFND
AFND N2 q000 q010 q001 q011 q110 q100 q101 q111 1 AFD correspondente

48 AFND’s e linguagens regulares
Corolário Uma linguagem é regular se e somente se existe algum AFND que a reconheça.

49 Operações regulares: União
Teorema 4 (versão 2 do teorema 1) Sejam A1 e A2 linguagens regulares. Então, A1  A2 é regular.

50 Prova (versão 2) Construir N = <Q, , , q0, F> tal que:
Sejam N1 e N2 AFND’s tais que A1 = L(N1) e A2 = L(N2) N1 = <Q1, , 1, q1, F1> e N2 = <Q2, , 2, q2, F2> Construir N = <Q, , , q0, F> tal que:

51 É fácil ver que L(N) = L(N1)  L(N2)
Prova (versão 2) (q,a) = 1(q,a) q  Q1 2(q,a) q  Q2 {q1, q2} q = q0 e a =   q = q0 e a   Q = {q0}  Q1  Q2 Q0 é o estado inicial de N. F = F1  F2  é da forma: É fácil ver que L(N) = L(N1)  L(N2)

52 Concatenação Teorema 5 Sejam A1 e A2 linguagens regulares. Então A1 • A2 é regular.

53 Prova Prova: Sejam N1 e N2 AFND’s tais que A1 = L(N1) e A2 = L(N2)
N1 = <Q1, , 1, q1, F1> e N2 = <Q2, , 2, q2, F2> Construir N = <Q, , , q0, F> tal que:

54 Prova Q = Q1  Q2 q1  Q1 é o estado inicial de N: q1  Q1  Q2
O conjunto de estados de reconhecimento de N é F2  é da forma: (q,a) = 1(q,a) q  Q1 e q  F1 1(q,a) q  F1 e a   1(q,a)  {q2} q = q0 e a =  2(q,a) q  Q1 É fácil ver que L(N) = L(N1) • L(N2)

55 Expressão Regular Assim como uma expressão aritmética representa um número natural: (5 + 3) x 4 uma expressão regular representa uma linguagem: (0 + 1)  0*

56 Expressão Regular Na expressão (0 + 1)  0* :
0 representa o conjunto {0} 1 representa o conjunto {1} (0 + 1) representa o conjunto {0}  {1} = {0, 1} 0* representa {0}* Então (0 + 1)  0* representa a linguagem: {uv: u  {0, 1} e v = 0n, n0}

57 Expressão Regular Definição formal: Seja  um alfabeto
Se a  , então a é uma expressão regular. Se  é a palavra nula, então  é uma expressão regular. Se  é o conjunto vazio, então  é uma expressão regular. Se R1 e R2 são expressões regulares, então (R1 + R2) e (R1  R2) são expressões regulares. Se R1 é uma expressão regular, então (R1*) é uma expressão regular.

58 Expressão Regular Definição: Definição:
Se R é uma expressão regular, então L(R) é a linguagem que R representa/descreve. Ex.: L((a + b)) = {a, b} Definição: R1  R2 (equivalente) sse L(R1) = L(R2)

59 Expressão Regular Mas geralmente,
Se  = {0, 1} , podemos usar  como abreviação para e expressão regular (0 + 1). Mas geralmente, Se  é um alfabeto, a expressão regular  descreve a linguagem consistindo de todas as palavras de comprimento 1 sobre esse alfabeto e a expressão regular * descreve a linguagem consistindo de todas as palavras sobre aquele alfabeto. Ex: (0  *) + (  1)

60 Expressões x Linguagens
(0 + l)  (1 + l) {l, 0, 1, 01} 1*   * {l}

61 Propriedades R1  (R2  R3)  (R1  R2)  R3 (associativa)
R1  (R2 + R3)  (R1  R2) + (R1  R3) (distributiva) (R1 + R2)  (R2 + R1) (comutativa) (R + )  R (R  l)  R

62 Expressão Regular Prova da 2: w  L(R1  (R2  R3)) sse
existem x  L(R1) e y  L(R2  R3) tais que w = x.y existem x  L(R1) e (y  L(R2) ou y  L(R3)) tais que w = x.y existem x  L(R1) e y  L(R2) ou existem x  L(R1) e y  L(R3) tais que w = x.y existem x  L(R1) e y  L(R2) tais que w = x.y ou existem x  L(R1) e y  L(R3) tais que w = x.y sse w  L(R1  R2) ou w  L(R1  R3) sse w  L(R1  R2)  L(R1  R3)

63 Expressão Regular x Autômatos Finitos
Se uma linguagem é descrita por uma expressão regular então ela é regular. Prova: Seja R uma expressão regular que descreve uma linguagem A. Vamos mostrar que todos os seis casos da definição indutiva de expressão regular levam a linguagens regulares. Teorema 6

64 Expressão Regular x Autômatos Finitos
R = a , para algum a em S. Então, L(R) = {a} e o seguinte AFND reconhece L(R): a

65 Expressão Regular x Autômatos Finitos
R = l Então, L(R) = {l} e o seguinte AFND reconhece L(R):

66 Expressão Regular x Autômatos Finitos
Então, L(R) =  e o seguinte AFND reconhece L(R):

67 Expressão Regular x Autômatos Finitos
R = R1+ R2 R = R1  R2 R = R1* Da definição indutiva de expressão regular e do fato que a classe é fechada por união, concatenação e estrela, podemos confirmar 4, 5 e 6 e concluir a prova do teorema.

68 Expressão Regular x Autômatos Finitos
Exemplo: Converter (ab + a)* em um AFND. a 1. a b 2. b a l b 3. ab

69 Expressão Regular x Autômatos Finitos
b 4. ab + a

70 Expressão Regular x Autômatos Finitos
b (ab + a)* 5.

71 Expressão Regular x Autômatos Finitos
Teorema 7 Se uma linguagem é regular então ela pode ser descrita por uma expressão regular. Prova: Procedimento para converter AF’s em expressões regulares. Vamos fazer uso do conceito de Autômato Finito Não-Determinístico Generalizado(AFNDG): AFNDG’s são AFND’s cujos arcos podem ser rotulados por expressões regulares além dos símbolos do alfabeto e .

72 AFNDG Por conveniência – Forma especial:
O estado inicial tem setas levando a todos os outros estados, mas nenhuma seta de entrada; Há apenas um estado final, e este tem setas vindo de todos os outros estados, mas nenhuma partindo de si. Dessa forma, o estado inicial não pode ser o estado final; Com exceção dos estados final e inicial, todos os outros tem setas ligando a qualquer outro estado, e a si próprios.

73 AFNDG Como converter um AFNDG para a forma especial
adicionar um novo estado inicial com arco  para o antigo estado inicial e um novo estado final com arcos  vindo dos antigos estados finais; se qualquer arco tem vários rótulos, substitua-os pelo rótulo igual à adição deles; adicione arcos rotulados por  entre estados que não tem arcos.

74 AFNDG Definição formal: Um AFNDG é uma 5 tupla <Q, , , qinicial, Ffinal> onde: Q é o conjunto de estados;  é o alfabeto de entrada; : (Q - {qfinal}) x (Q - {qinicial})  R; qinicial é o estado inicial; qfinal é o estado final.

75 AFNDG Definição: Um AFNDG aceita uma palavra w  * se w = w1w2w3...wk, onde cada wi é pertence a *, e existe uma seqüência de estados q0q1q2...qk tal que: q0 = qinicial é o estado inicial; qk = qfinal é o estado final; e Para cada i, wi  L(Ri), onde Ri = (qi-1, qi).

76 AFNDG Como converter um AFNDG na forma especial em uma expressão regular: Supondo o AFNDG com k estados. Se k = 2, o AFNDG tem apenas 1 arco que vai do estado inicial para o estado final. Esse arco é rotulado pela expressão regular que descreve a linguagem. Se k > 2, construir um AFNDG equivalente com k-1 estados. Esse passo pode ser repetido até que o AFNDG tenha 2 estados. Como ele tem um estado inicial e um estado final necessariamente distintos, então, k ≥ 2.

77 AFNDG Procedimento CONVERT(G): 1. Seja k o número de estados de G;
2. Se k =2, G deve consistir apenas de qinicio e qfinal.

78 AFNDG 3. Se k > 2, selecionamos o estado qelim  Q diferente de qinicial e qfinal, e temos G’ como o AFNDG < Q’, , ’, qinicial, qfinal >, onde Q’= Q - {qelim}, e para qualquer q  Q’-{qinicial}, tem-se ’ (qi, qj) = (R1) (R2)* (R3) + (R4), para R1 = ’(qi, qelim), R2 = (qelim, qelim), R3=(qelim, qj), e R4 = (qi, qj). 4. Compute CONVERTE(G’) e retorne este valor. 

79 AFNDG com novo estado inicial s e final a.
Exemplo: AFD inicial AFNDG com novo estado inicial s e final a.

80 AFNDG Cont. do exemplo: Remoção do estado 2 e atualização dos rótulos. Resultado obtido seguindo o passo 3 do procedimento CONVERT: qi = 1, qj = a e qelim = 2; R1 = b; R2 = a  b; R3 = ; R4 = . Então, o novo rótulo para a seta indo de 1 até a é a expressão regular b(a  b)*. Remoção do estado 1 e atualização do rótulo. O rótulo é a expressão regular que representa o AFD.

81 Expressão Regular x Autômatos Finitos
Teorema 8 Uma linguagem é regular se e somente se ela pode ser descrita por uma expressão regular. Prova: Teoremas 6 e 7.

82 Lema do Bombeamento Toda linguagem regular tem uma propriedade especial: Toda palavra na linguagem contém uma seção (pedaço) que pode ser repetida qualquer número de vezes com a palavra resultante também pertencendo à linguagem. Se podemos mostrar que uma linguagem não tem esse propriedade então a linguagem garantidamente não é regular.

83 Lema do Bombeamento Se A é uma linguagem regular, então existe um número p (o comprimento do bombeamento) tal que. Se w  A e |w| ≥ p, então w = xyz satisfazendo as seguintes condições: Para cada i ≥ 0, xyiz  A |y| > 0 |xy| ≤ p

84 Lema do Bombeamento Prova (idéia):
Seja M = <Q, , , q, F> um AFD que reconheça A. Seja p o número de estados de M. Se s  A tem comprimento no mínimo igual a p, |s|  p, considere a seqüência de estados que M assume quando computando s: q1, q3, q20, q9, q17, q9, q6, ..., q35, q13 Se |s| = n, a seqüência de estados acima tem comprimento n + 1.

85 Lema do Bombeamento Prova (idéia):
Como n ≥ p, então n+1 > p. (lembrar que p é o número de estados de M), então, a seqüência de estados acima deve necessariamente conter um estado repetido (princípio da casa de pombos). s = s1 s2 s3 s4 s5 s sn q1 q3 q20 q9 q6 q17 q35 q13

86 Lema do Bombeamento Vamos dividir s em três pedaços: x, y e z:
O pedaço x é a parte de s que vai do estado inicial q1 até o estado q9 (x ocupa M do estado q1 até q9). O pedaço y é a parte de s contida entre as duas ocorrências de q9 (y ocupa M de q9 até de volta a q9). O pedaço z é a parte remanescente de s ( z ocupa M de q9 até o estado de reconhecimento q13).

87 Lema do Bombeamento Condição 1: Condição 2: Condição 3:
M aceita a entrada xz (xy0z) M aceita a entrada xyiz (i ≥ 1) Condição 2: y é a parte de s construída entre as duas ocorrências de q9: |y| > 0. Condição 3: Os primeiros p+1 estados na seqüência devem conter uma repetição. Então, |xy| ≤ p.

88 Tradutor de Estado Finito

89 Tradutor de Estado Finito (TEF)
Definição: Um Tradutor de Estado Finito (TEF) é uma 6-tupla <, G, Q, q0, ,  >, onde:  é alfabeto de entrada; G é o alfabeto de saída; Q é o conjunto de estados; q0  Q é o estado inicial;  : Q    Q; e  : Q    G

90 Tradutor de Estado Finito (TEF)
Exemplo: B = <{a, b}, {0, 1}, {q0, q1}, q0, ,  >, onde:

91 Tradutor de Estado Finito (TEF)
Da mesma forma como para ’ : ’(q, ) =  ’(q, aw) = (q, a). ’((q, a), w) Definição: Dado um TEF M = <, , Q, q0, ,  >, a função de transição para M, fM, é a função fM : *   * definida por fM(w) = ’(q0, w). Obs.: Note que fM preserva o comprimento, isto é, |fM(w)| = |w|.

92 Tradutor de Estado Finito (TEF)
Exemplo:


Carregar ppt "Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da."

Apresentações semelhantes


Anúncios Google