43
Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais Email: [email protected] UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Disciplina:*LINGUAGENS*FORMAIS,*AUTÔMATOS*E ... · Equivalênciados!critérios!de! aceitação!! A!classe!de!linguagens!aceitapor!autômatos!de!pilhanão>determinís7cos! com!critério!de!aceitação!baseado!em!estado

Embed Size (px)

Citation preview

Disciplina:  LINGUAGENS  FORMAIS,  AUTÔMATOS  E  COMPUTABILIDADE  Prof.  Jefferson  Morais  Email:  [email protected]  

UNIVERSIDADE  FEDERAL  DO  PARÁ  INSTITUTO  DE  CIÊNCIAS  EXATAS  E  NATURAIS  

FACULDADE  DE  COMPUTAÇÃO  CURSO  DE  BACHARELADO  EM  CIÊNCIA  DA  COMPUTAÇÃO  

   

Autômatos  com  Pilha  

2

Conceito  

3

Autômato  com  Pilha  

!  LLC  pode  ser  associado  a  um  formalismo  7po  autômato  

!  AP  é  similar  ao  AF,  mas  inclui  uma  pilha  como  memória  auxiliar,  mais  o  não-­‐determinismo.  

!  A  pilha  é  independente  da  fita  de  entrada  e  não  possui  limite  de  tamanho  (“infinita”)  " O  úl7mo  símbolo  que  entra  é  o  primeiro  que  sai  

4

Autômato  com  Pilha  

!  A  base  da  pilha  é  fixa  e  define  seu  início  ! O  topo  é  variável  e  define  a  posição  do  úl7mo  símbolo  gravado  

5

Definição  

6

Símbolo  inicial  da  pilha  

7

Função  de  transição  

8

Exemplo  

9

Stack  x  pushdown  

10

Configuração  e  configuração  inicial  

11

Movimentação  

12

Movimentação  

13

Movimentação  

14

Autômato  determinís7co  

15

Autômato  não  determinís7co  

16

Autômato  não  determinís7co  

17

Determinismo  x  não-­‐determinismo  

18

Movimentação  

19

Movimentação  

20

Configuração  final  

21

Critério  de  aceitação  “estado  final”  

22

Critério  de  aceitação  “pilha  vazia”  

23

Notação  

24

Exemplo  !  Exemplo  1  

"  Seja  M1  o  autômato  de  pilha  determinís7co  abaixo  discriminado,  cujo  critério  de  aceitação  de  sentenças  é  baseado  no  esvaziamento  da  pilha.    

25

Exemplo  !  Exemplo  1      

"  Seja  M1  o  autômato  de  pilha  determinís7co  abaixo  discriminado,  cujo  critério  de  aceitação  de  sentenças  é  baseado  no  esvaziamento  da  pilha.    

"  V1(M1)  =  {aibc2i  |  i  ≥  0}  

26

Exemplo  1  !  Considere  algumas  sentenças  desta  linguagem  e  a  

correspondente  sequência  de  movimentos  executada  pelo  autômato  durante  o  seu  reconhecimento:    

 

27

Exemplo  1  !  Tome-­‐se  agora  como  exemplo  duas  sentenças  que  não  

pertencem  à  linguagem  definida  por  este  autômato,  e  as  correspondentes  sequências  de  configurações  :    

 

28

Digrama  de  estados  

!  Diferentemente  dos  Diagramas  de  Estado  definidos  para  os  autômatos  finitos,  os  arcos  entre  dois  estados  p  e  q  são  rotulados  com  cadeias  da  forma    

29

Exemplo  2  

!  Autômato  M2  com  critério  de  aceitação  baseado  no  esvaziamento  da  pilha,  reconhece  a  linguagem  V2(M2)  =  {a2ibci  |  i  ≥  0}  

30

Exemplo  3  

31

Exemplo  3  

32

Exemplo  3  

33

Exemplo  3  

34

Exemplo  3  

35

Exemplo  3  

!  Cadeia  aac  que  não  pertence  a  linguagem  

36

Transições  em  vazio  

!  Para  finalizar,  cumpre  notar  que,  de  acordo  com  a  definição,  os  autômatos  de  pilha  são  capazes  de  efetuar  movimentos  independentemente  da  existência  de  símbolos  na  fita  de  entrada,  através  das  chamadas  transições  em  vazio,  ao  passo  que  o  esvaziamento  da  pilha  necessariamente  impede  qualquer  possibilidade  de  movimentação  futura.  Ambos  estes  fatos  são  u7lizados  para  demonstrar  a  equivalência  dos  critérios  de  aceitação  por  estado  final  e  por  pilha  vazia    

37

Equivalência  dos  critérios  de  aceitação  !  A  classe  de  linguagens  aceita  por  autômatos  de  pilha  não-­‐determinís7cos  

com  critério  de  aceitação  baseado  em  estado  final  é  idên7ca  à  classe  de  linguagens  aceita  por  autômatos  de  pilha  não-­‐determinís7cos  com  critério  de  aceitação  baseado  em  pilha  vazia.  A  importância  desse  resultado  deve-­‐se  à  liberdade  de  escolha  que  ele  oferece  quando  se  pretende  demonstrar  algum  teorema  rela7vo  aos  autômatos  de  pilha  e  às  linguagens  livres  de  contexto,  podendo-­‐se  optar  indis7ntamente  entre  um  e  outro  critério  de  aceitação,  sem  prejuízo  para  a  sua  generalização.    

38

Equivalência  entre  GLCs  e  APs  

!  Inicialmente,  mostra-­‐se  que  para  qualquer  gramá7ca  livre  de  contexto  é  possível  definir  um  autômato  de  pilha  não-­‐determinís7co  que  reconhece  exatamente  a  mesma  linguagem  gerada  pela  gramá7ca.  A  seguir,  é  apresentado  o  resultado  inverso,  ou  seja,  de  que  toda  e  qualquer  linguagem  aceita  por  um  autômato  de  pilha  não-­‐determinís7co  pode  ser  gerada  por  uma  gramá7ca  livre  de  contexto.    

39

GLC  =>  AP  

40

GLC  =>  AP  

41

Exemplo  GLC  =>  AP  

42

Exemplo  GLC  =>  AP  

43