Linguagens e Programação Automátos Finitosproenca/dump/LPROG/pptAutomatosFinitos.pdf ·...

Click here to load reader

  • date post

    10-Dec-2018
  • Category

    Documents

  • view

    217
  • download

    0

Embed Size (px)

Transcript of Linguagens e Programação Automátos Finitosproenca/dump/LPROG/pptAutomatosFinitos.pdf ·...

Linguagens e ProgramaoAutomtos Finitos

Paulo Proena [email protected]

LPROG

Autmatos finitos

Formalismo, que permite representar de uma forma clara, um qualquer processo composto por um conjunto de estados e transies entre esses estados.

16 de maro de 2016Paulo Proena [email protected]

LPROG

Representao formal

= (, , 0,, )

S um conjunto finito de estados no vazio o alfabeto de entrada s0 o estado inicial F o conjunto de estados finais a funo de transio

Recebe como argumentos um estado um smbolo de entrada

Devolve um novo estado

16 de maro de 2016Paulo Proena [email protected]

LPROG

Representao formal

Exemplo: AF capaz de processar nmeros binrios terminados em 10

Expresso regular: (0|1)*10

Autmato Finito: = ( 0, 2, 2 , 0,1 , 0, 2 , )

0, 0 = {0} 0, 1 = {0, 1} 1, 0 = {2}

16 de maro de 2016Paulo Proena [email protected]

LPROG

Representao de um AF

Tabela de transies

Representao grfica

16 de maro de 2016Paulo Proena [email protected]

0 1s0 {s0} {s0, s1}

s1 {s2} *s2

LPROG

Exerccios Propostos1. Para a linguagem constituda por todas as strings

no alfabeto {a, b, c, d} em que o primeiro b (se existir) precedido de um a;

a) Represente graficamente o autmato capaz de reconhecer a linguagem

16 de maro de 2016Paulo Proena [email protected]

(a|c|d)*(ab(a|b|c|d)*)?

LPROG

Exerccios Propostos1. Para a linguagem constituda por todas as strings

no alfabeto {a, b, c, d} em que o primeiro b (se existir) precedido de um a;

b) Defina formalmente o autmato de acordo com a frmula = (, , 0,, )

16 de maro de 2016Paulo Proena [email protected]

A=( {q0,q1,q2},{a,b,c,d},q0,{q0,q2},d)

d(q0,a)={q0,q1}, d(q0,c)={q0}, d(q0,d)={q0},d(q1,b)={q2},d(q2,a)={q2},d(q2,b)={q2}, d(q2,c)={q2}, d(q2,d)={q2}

LPROG

Exerccios Propostos1. Para a linguagem constituda por todas as strings

no alfabeto {a, b, c, d} em que o primeiro b (se existir) precedido de um a;

c) Elabore a tabela de transies respetiva

16 de maro de 2016Paulo Proena [email protected]

a b c d*q0 {q0,q1} {q0} {q0}

q1 {q2} *q2 {q2} {q2} {q2} {q2}

LPROG

Exerccios Propostos2. Considere a seguinte expresso regular: (a|b)*abb

a) Represente graficamente o autmato correspondente

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Propostos2. Considere a seguinte expresso regular: (a|b)*abb

b) Defina formalmente o autmato de acordo com a frmula = (, , 0,, )

16 de maro de 2016Paulo Proena [email protected]

A=( {q0,q1,q2,q3},{a,b},q0,{q3},d)

d(q0,a)={q0,q1}, d(q0,b)={q0},d(q1,b)={q2},d(q2,b)={q3}

LPROG

Exerccios Propostos2. Considere a seguinte expresso regular: (a|b)*abb

c) Elabore a tabela de transies respetiva

16 de maro de 2016Paulo Proena [email protected]

a bq0 {q0,q1} {q0}q1 {q2}q2 {q3}

*q3

LPROG

Exerccios Propostos4. Represente graficamente e atravs da tabela de

transies, os AF capazes de reconhecer as seguintes ER e classifique-os em Determinsticos ou No Determinsticos.a) aa*|bb*

16 de maro de 2016Paulo Proena [email protected]

a bq0 {q1} {q2}*q1 {q1} *q2 {q2}

LPROG

Exerccios Propostos4. Represente graficamente e atravs da tabela de

transies, os AF capazes de reconhecer as seguintes ER e classifique-os em Determinsticos ou No Determinsticos.b) (a|b)*abb(a|b)*

16 de maro de 2016Paulo Proena [email protected]

a bq0 {q0,q1} {q0}q1 {q2}q2 {q3}

*q3 {q3} {q3}

LPROG

Exerccios Propostos6. Considerando o alfabeto = {0,1}, represente as

seguintes linguagens utilizando um AF.a) L(A) = {u *: u um nmero binrio mltiplo de 4}

16 de maro de 2016Paulo Proena [email protected]

0|1(0|1)*00

LPROG

Exerccios Propostos6. Considerando o alfabeto = {0,1}, represente as

seguintes linguagens utilizando um AF.a) L(A) = {u *: u um nmero binrio mltiplo de 4}b) L(A) = {u *: 111 fator de u}

16 de maro de 2016Paulo Proena [email protected]

(0|1)*111(0|1)*

LPROG

Exerccios Propostos6. Considerando o alfabeto = {0,1}, represente as

seguintes linguagens utilizando um AF.a) L(A) = {u *: u um nmero binrio mltiplo de 4}b) L(A) = {u *: 111 fator de u}c) L(A) = {u *: u tem um nmero par de 1s}

16 de maro de 2016Paulo Proena [email protected]

(0*10*10*)+|0*

LPROG

Exerccios Propostos6. Considerando o alfabeto = {0,1}, represente as

seguintes linguagens utilizando um AF.a) L(A) = {u *: u um nmero binrio mltiplo de 4}b) L(A) = {u *: 111 fator de u}c) L(A) = {u *: u tem um nmero par de 1s}d) L(A) = {u *: u vazia ou tem dgitos todos iguais, sendo de

comprimento par as sequencias de 0s e de comprimento impar as sequencias de 1s}

16 de maro de 2016Paulo Proena [email protected]

(00)*|1(11)*

LPROG

Exerccio de Aula

Converta o seguinte AFN num AFD e minimize-o.

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exercicio de Aula

1. Converso para AFD1. Criao da tabela de transies

16 de maro de 2016Paulo Proena [email protected]

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

LPROG

Exercicio de Aula

1. Converso para AFD2. Definio nos novos estados

16 de maro de 2016Paulo Proena [email protected]

0 1A AE ABAE AE ABFAB ACE AB

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

LPROG

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A AE ABAE AE ABFAB ACE ABABF ACDE ABACE AE ABDF

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

1. Converso para AFD2. Definio nos novos estados

LPROG

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A AE ABAE AE ABFAB ACE ABABF ACDE ABACE AE ABDF

ACDE AEG ABDFGABDF ACDEG ABG

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

1. Converso para AFD2. Definio nos novos estados

LPROG

Exercicio de Aula

1. Converso para AFD1. Criao da tabela de transies

16 de maro de 2016Paulo Proena [email protected]

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

0 1A AE ABAE AE ABFAB ACE ABABF ACDE ABACE AE ABDF

ACDE AEG ABDFGABDF ACDEG ABG*AEG AEG ABFG

*ABDFG ACDEG ABG*ACDEG AEG ABDFG*ABG ACEG ABG

LPROG

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A AE ABAE AE ABFAB ACE ABABF ACDE ABACE AE ABDF

ACDE AEG ABDFGABDF ACDEG ABG*AEG AEG ABFG

*ABDFG ACDEG ABG*ACDEG AEG ABDFG*ABG ACEG ABG*ABFG ACDEG ABG*ACEG AEG ABDFG

0 1A {A,E} {A,B}B {C} C {D}D {G} {G}E {F}F {D}

*G {G} {G}

1. Converso para AFD2. Definio nos novos estados

LPROG

Exercicio de Aula

1. Converso para AFD3. Renomear os estados

16 de maro de 2016Paulo Proena [email protected]

0 1A AE ABAE AE ABFAB ACE ABABF ACDE ABACE AE ABDF

ACDE AEG ABDFGABDF ACDEG ABG*AEG AEG ABFG

*ABDFG ACDEG ABG*ACDEG AEG ABDFG*ABG ACEG ABG*ABFG ACDEG ABG*ACEG AEG ABDFG

0 1A B CB B DC E CD F CE B GF H IG J K*H H L*I J K*J H I*K M K*L J K*M H I

Reno

mea

r

LPROG

Exercicio de Aula

1. Converso para AFD

16 de maro de 2016Paulo Proena [email protected]

0 1A B CB B DC E CD F CE B GF H IG J K*H H L*I J K*J H I*K M K*L J K*M H I

LPROG

2. Minimizao1 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B NF C NFB B NF D NFC E NF C NFD F NF C NFE B NF G NFF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

NF

FI

LPROG

2. Minimizao1 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B NF C NFB B NF D NFC E NF C NFD F NF C NFE B NF G NFF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

NF

FI

N

O

LPROG

2. Minimizao2 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B N C NB B N D NC E N C ND F O C NE B N G OF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

N

FI

O

LPROG

2. Minimizao2 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B N C NB B N D NC E N C ND F O C NE B N G OF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

N

FI

P

QR

O

LPROG

2. Minimizao3 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B P C PB B P D QC E R C PD F O C PE B P G OF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

P

FI

STU

O

QR

LPROG

2. Minimizao3 Iterao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1A B T C UB B T D QC E R C UD F O C UE B T G OF H FI I FIG J FI K FI*H H FI L FI*I J FI K FI*J H FI I FI*K M FI K FI*L J FI K FI*M H FI I FI

S

FI

O

QR

TU

0 1S T UT T QU R UQ O UR T OO FI FI

*FI FI FI

LPROG

2. Minimizao

Exercicio de Aula

16 de maro de 2016Paulo Proena [email protected]

0 1S T UT T QU R UQ O UR T OO FI FI

*FI FI FI

LPROG

Exerccios Propostos7. Converta os seguintes AFN em AFD e minimize-os.

a)

Converso para AFD

16 de maro de 2016Paulo Proena [email protected]

0 1A {A,B} {A}B {B,C} {A}

*C {C}{A,B} {A,B,C} {A}

*{B,C} {B,C} {A,C}*{A,C} {A,B} {A,C}

*{A,B,C} {A,B,C} {A,C}

0 1A {A,B} {A}

{A,B} {A,B,C} {A}*{A,C} {A,B} {A,C}

*{A,B,C} {A,B,C} {A,C}

0 1S0 S1 S0S1 S3 S0*S2 S1 S2*S3 S3 S2

LPROG

7. Converta os seguintes AFN em AFD e minimize-os.a)

Converso para AFD

Exerccios Propostos

16 de maro de 2016Paulo Proena [email protected]

0 1S0 S1 S0S1 S3 S0*S2 S1 S2*S3 S3 S2

LPROG

7. Converta os seguintes AFN em AFD e minimize-os.a)

Minimizao:

Exerccios Propostos

16 de maro de 2016Paulo Proena [email protected]

0 1S0 S1 S0S1 S3 S0*S2 S1 S2*S3 S3 S2

estados finais (F)

estados no finais (NF)

NF NF

F NF

NF F

F F

LPROG

7. Converta os seguintes AFN em AFD e minimize-os.b)

Converso e Minimizao:

Exerccios Propostos

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Propostos8. Considerando o ={A,B,C,,Z, a, b, c, , z},

represente as seguintes linguagens utilizando um AF:a) L(A) = {u *: u comea por um carcter minsculo e

tem no mximo duas maisculas}

b) L(A) = {u *: u comea por uma maiscula e termina sempre numa vogal}

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Propostos9. Considerando o ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9},

represente as seguintes linguagens utilizando um AF:a) L(A) = {u *: u uma sequncia numrica crescente}

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Propostos11.Indique uma expresso regular e um autmato

finito determinstico que reconhea a mesma linguagem que o seguinte autmato finito no determinstico.

Expresso Regular: b((a|e)b)*ab

AFD:

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Complementares6. Implemente um AFD para as linguagens:

a) Em = {a,b,c,d}, qualquer palavra com um nmero par de smbolos b.

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Complementares6. Implemente um AFD para as linguagens:

b) Em = {0,1}, qualquer palavra com um nmero par de zeros e um nmero par de uns.

16 de maro de 2016Paulo Proena [email protected]

LPROG

Exerccios Complementares7. Para cada um dos seguintes AFD indique a ER:

a)

b)

16 de maro de 2016Paulo Proena [email protected]

a*b

a*bb+

LPROG

Exerccios Complementares8. Represente as seguintes linguagens por uma

expresso regular e por um automato finito deterministicoa) Para o alfabeto = {0, 1}

L(A)={u*:u comea por 1 e tem um nmero par de 1's}

Expresso Regular: (10*10*)+

16 de maro de 2016Paulo Proena [email protected]

AFD:

LPROG

3.3.2.a) Minimize o seguinte AFD

Exerccios Complementares

16 de maro de 2016Paulo Proena [email protected]

LPROG

3.3.2.a)Construo da Tabela de transies

Exerccios Complementares

16 de maro de 2016Paulo Proena [email protected]

0 1A A BB C B

*C E DD F BE E D

*F A B

LPROG

3.3.2.a)1 Iterao

Exerccios Complementares

16 de maro de 2016Paulo Proena [email protected]

0 1

NF

A A NF B NF

B C F B NF

D F F B NF

E E NF D NF

F*C E NF D NF

*F A NF B NF

LPROG

3.3.2.a)2 Iterao

Exerccios Complementares

16 de maro de 2016Paulo Proena [email protected]

0 1

GA A G B H

E E G D H

HD F F B H

B C F B H

F*C E G D H

*F A G B H

LPROG

3.3.2.a)Autmato minimizado

Exerccios Complementares

16 de maro de 2016Paulo Proena [email protected]

0 1G G HH F H

*F G H

Linguagens e ProgramaoAutomtos Finitos

Paulo Proena [email protected]

Linguagens e ProgramaoAutomtos FinitosAutmatos finitosRepresentao formalRepresentao formalRepresentao de um AFExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExercicio de AulaExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios PropostosExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresExerccios ComplementaresLinguagens e ProgramaoAutomtos Finitos