Prof. Rômulo Silva. Teoria. Computação. Maio/2007

Documentos relacionados
Lic. Ciências da Computação 2009/10 Exercícios de Teoria das Linguagens Universidade do Minho Folha 6. δ

Propriedades das Linguagens Regulares

LRE LSC LLC. Autômatos Finitos são reconhecedores para linguagens regulares. Se não existe um AF a linguagem não é regular.

Teoria de Linguagens 2 o semestre de 2014 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 23/10.

3. Seja Σ um alfabeto. Explique que palavras pertencem a cada uma das seguintes linguagens:

Hierarquia de Chomsky

Aula 5: Autômatos Finitos Remoção de Não-Determinismo

Linguagens Regulares e Autômatos de Estados Finitos. Linguagens Formais. Linguagens Formais (cont.) Um Modelo Fraco de Computação

Teoria da Computação. Unidade 3 Máquinas Universais (cont.) Referência Teoria da Computação (Divério, 2000)

Gramáticas Regulares. Capítulo Gramáticas regulares

Apostila 02 - Linguagens Regulares Exercícios

Modelos de Computação -Folha de trabalho n. 2

Autômato Finito. Autômato Finito Determinístico. Autômato Finito Determinístico

C Sistema destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET RACIOCÍNIO LÓGICO

Compiladores ANÁLISE LEXICAL.

Autômato Finito. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Dep. Matemática e Aplicações 27 de Abril de 2011 Universidade do Minho 1 o Teste de Teoria das Linguagens. Proposta de resolução

DCC-UFRJ Linguagens Formais Primeira Prova 2008/1

Faculdade de Computação

Draft-v Autómatos mínimos. 6.1 Autómatos Mínimos

Análise Léxica. Construção de Compiladores. Capítulo 2. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

MATEMÁTICA. Equações do Segundo Grau. Professor : Dêner Rocha. Monster Concursos 1

Linguagens Formais e Autômatos (LFA)

Compiladores. Exemplo First/Follow. proc Follow(B N) Gramática LL(1) proc First(α: string of symbols) Observações First/Follow

Linguagens Formais Capítulo 5: Linguagens e gramáticas livres de contexto

<S> ::= <L><C> <L> ::= l <C> ::= l<c> n<c> n l λ. L(G 1 ) = {a n b 2m n>0 m 0} L(G 2 ) = {lw w {l, n} * } L(G 3 ) = {a n b 2m n>0 m 0}

Prova de Aferição de Matemática e Estudo do Meio Prova 26 2.º Ano de Escolaridade Braille/Entrelinha 1,5 sem figuras Critérios de Classificação

INTEGRAL DEFINIDO. O conceito de integral definido está relacionado com um problema geométrico: o cálculo da área de uma figura plana.

Prova elaborada pelo prof. Octamar Marques. Resolução da profa. Maria Antônia Conceição Gouveia.

Faculdade de Computação

Pontifícia Universidade Católica de Campinas Centro de Ciências Exatas, Ambientais e de Tecnologias Faculdade de Engenharia de Computação

3 Teoria dos Conjuntos Fuzzy

Hewlett-Packard O ESTUDO DO PONTO. Aulas 01 a 05. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz

Conjuntos Numéricos. Conjuntos Numéricos

I. LINGUAGENS REGULARES E AUTÔMATOS FINITOS

Modelos de Computação Folha de trabalho n. 3

Propriedades das Linguagens Regulares

Material Teórico - Módulo Triângulo Retângulo, Leis dos Cossenos e dos Senos, Poĺıgonos Regulares. Lei dos Senos e Lei dos Cossenos - Parte 1

AULA 1. 1 NÚMEROS E OPERAÇÕES 1.1 Linguagem Matemática

3.3 Autómatos finitos não determinísticos com transições por ε (AFND-ε)

Hewlett-Packard O ESTUDO DA RETA. Aulas 01 a 05. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz

Geometria Analítica e Álgebra Linear

2.) O grafo de interseção de uma coleção de conjuntos A1;A2;...;An é o grafo que tem um vértice para cada um dos conjuntos da coleção e

Dados dois conjuntos A e B, uma função de A em B é uma correspondência que a cada elemento de A faz corresponder um e um só elemento de B.

3. CÁLCULO INTEGRAL EM IR

Análise Sintáctica Descendente

Prova de Aferição de Matemática e Estudo do Meio Prova 26 2.º Ano de Escolaridade Braille, Entrelinha 1,5 sem figuras Critérios de Classificação

x = x 2 x 1 O acréscimo x é também chamado de diferencial de x e denotado por dx, isto é, dx = x.

1 Integral de Riemann-Sieltjes

Todos os exercícios sugeridos nesta apostila se referem ao volume 2. MATEMÁTICA III 1 DETERMINANTES

3. LOGARITMO. SISTEMA DE LOGARITMO

Autômatos determinísticos grandes

Teorema Fundamental do Cálculo - Parte 2

Aula 8: Gramáticas Livres de Contexto

VETORES. Problemas Resolvidos

Capítulo III INTEGRAIS DE LINHA

COMPENSAÇÃO ANGULAR E REMOÇÃO DA COMPONENTE DE SEQÜÊNCIA ZERO NA PROTEÇÃO DIFERENCIAL DE TRANSFORMADORES

GEOMETRIA DESCRITIVA PASSO A PASSO PROF. JAIR ROBERTO BÄCHTOLD UDESC

2 Patamar de Carga de Energia

FUNÇÕES. Mottola. 1) Se f(x) = 6 2x. é igual a (a) 1 (b) 2 (c) 3 (d) 4 (e) 5. 2) (UNIFOR) O gráfico abaixo. 0 x

RESPOSTAS DA LISTA 2 - Números reais: propriedades algébricas e de ordem

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 6 ARRAYS (VETORES E MATRIZES)

ÁLGEBRA LINEAR Equações Lineares na Álgebra Linear EQUAÇÃO LINEAR SISTEMA LINEAR GEOMETRIA DA ESQUAÇÕES LINEARES RESOLUÇÃO DOS SISTEMAS

Bhaskara e sua turma Cícero Thiago B. Magalh~aes

- Departamento de Matemática Aplicada (GMA) Notas de aula Prof a. Marlene Dieguez Fernandez. Integral definida

SERVIÇO PÚBLICO FEDERAL Ministério da Educação

Álgebra Linear e Geometria Analítica D

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

INTEGRAIS DEFINIDAS. Como determinar a área da região S que está sob a curva y = f(x) e limitada pelas retas verticais x = a, x = b e pelo eixo x?

Análise Sintática I: Analisadores Descendentes com Retrocesso

Projeto de Compiladores Professor Carlos de Salles

Exemplos de autómatos finitos

Potencial Elétrico. Evandro Bastos dos Santos. 14 de Março de 2017

Integrais Impróprios

Os números racionais. Capítulo 3

Introdução à Integral Definida. Aula 04 Matemática II Agronomia Prof. Danilene Donin Berticelli

FUNÇÃO DO 2º GRAU OU QUADRÁTICA

INE Fundamentos de Matemática Discreta para a Computação

CODIAGNOSTICABILIDADE DE SISTEMAS A EVENTOS DISCRETOS COM. Wesley Rodrigues Silveira

Linguagens Formais e Autômatos (LFA)

Problemas e Algoritmos

CONJUNTOS NUMÉRICOS NOTAÇÕES BÁSICAS. : Variáveis e parâmetros. : Conjuntos. : Pertence. : Não pertence. : Está contido. : Não está contido.

E m Física chamam-se grandezas àquelas propriedades de um sistema físico

FACIN-PPGCC. Teoria da Computabilidade Parte II - Autômatos de Pilha e Máquinas de Turing. Sumário. Ney Laert Vilar Calazans. 12.

Eletricidade Aplicada. Aulas Teóricas Professor: Jorge Andrés Cormane Angarita

POLINÔMIOS. Definição: Um polinômio de grau n é uma função que pode ser escrita na forma. n em que cada a i é um número complexo (ou

Matemática para Economia Les 201. Aulas 28_29 Integrais Luiz Fernando Satolo

O Autômato Adaptativo como Modelo de Computação e sua Aplicação em Reconhecimento de Padrões*

Integrais duplas UNIVERSIDADE FEDERAL DO PARÁ CÁLCULO II - PROJETO NEWTON AULA 24. Assunto: Integrais Duplas

UFF/GMA - Matemática Básica I - Parte II Notas de aula - Marlene

Última atualização 03/09/2009

GRANDEZAS PROPORCIONAIS

UNIVERSIDADE FEDERAL DE PERNAMBUCO CCEN DEPARTAMENTO DE MATEMÁTICA EXAME DE QUALIFICAÇÃO PARA O MESTRADO EM MATEMÁTICA

UFF/GMA - Matemática Básica I - Parte II - Números reais Notas de aula - Marlene

Lista de Problemas H2-2002/2. LISTA DE PROBLEMAS Leia atentamente as instruções relativas aos métodos a serem empregados para solucionar os problemas.

Aula 4: Autômatos Finitos Autômatos Finitos Não-Determinísticos

Autómatos Finitos Determinísticos. 4.1 Validação de palavras utilizando Autómatos

INTRODUÇÃO AOS MÉTODOS NUMÉRICOS

Transcrição:

Prof. Rômulo Silv Teori d Computção Mio/2007 1

Prof. Rômulo Silv Ojetivo dest postil Est postil foi desenvolvid om o ojetivo de filitr o entendimento d Teori d Computção, priniplmente no que se refere às Lingugens Formis e Autômtos. N su elorção form utilizdos os prinipis livros-textos dotdos em disiplins dess áre. Os exemplos presentdos são stnte simples, visndo fins didátios. Portnto, est postil NÃO sustitui os livros-textos, sendo pens um mteril uxilir. Se voê tem sugestões e/ou orreções, envie pr romuloe@hotmil.om. Agrdeemos nteipdmente. Rômulo Césr Silv 2

Prof. Rômulo Silv 1. Introdução Teori d Computção. A Teori d Computção rnge o estudo de modelos de omputdores ou máquins e o respetivo poder omputionl destes modelos. Isto é, que lsses de prolems podem ser resolvids em d modelo e omo representá-los. O modelo de omputção tul (no se: 2007) é inpz de entender lingugem humn diret: sej fld ou esrit, ddo o número enorme de possiiliddes de signifidos e/ou epções de um mesm plvr, lém ds vrições de onstruções de frses. Lingugens Formis. Pr diminuir este distnimento entre língu humn (por exemplo: o português, o inglês, et.) e progrmção de omputdores form rids s lingugens de progrmção. Ests são lingugens formis, isto é, prourm eliminr tod migüidde possível, grntindo ssim que um omndo e plvrs reservds tenhm sempre o mesmo signifido independentemente de onde preçm no progrm. A língu portugues é um lingugem nturl, sendo que su representção esrit possui um grmáti. Est indi onde se deve usr preposição ou não; onordâni verl e nominl, entre outrs regrs. Grmátis. D mesm form, s lingugens de progrmção possuem um grmáti ssoid, que define formção de progrms válidos. Por exemplo: se d omndo deve ser seguido de ; (ponto-e-vírgul), se o tipo de um vriável vem ntes ou depois de seu nome. Algoritmos. As resoluções de prolems são representds trvés de lgoritmos, sendo que esses são implementdos omputionlmente em lgum lingugem de progrmção. Compildores. Os ompildores fzem trdução dos progrms esritos ns diverss lingugens de progrmção pr instruções que o omputdor é pz de exeutr. Assim, Teori d Computção está intimmente ligd o estudo de lingugens: su representção (grmáti); e su trdução pr instruções d máquin usd (ompildor). 2. Grmátis e Lingugens Formis Um grmáti define estrutur gerl de formção de um sentenç válid pr um lingugem. Suponh o seguinte exemplo simplifido pr Língu Portugues: <Frse> ::= <Sujeito> <Predido> <Sujeito> ::= <Artigo> <Sustntivo> <Predido> ::= < Vero> <Complemento> <Complemento> ::= <Artigo> <Sustntivo> <Artigo> ::= o <Sustntivo> ::= livro mente <Vero> ::= re 3

Prof. Rômulo Silv Form Norml de Bkus. A grmáti nterior está espeifid num notção onheid omo Form Norml de Bkus (BNF). Ness notção, s plvrs entre os símolos < e > são hmds vriáveis. O símolo ::= indi que vriável à su esquerd pode ser sustituíd pelos vlores à direit. Assim, grmáti nterior estelee que um frse é formd por um sujeito seguido de um predido, sendo que este por su vez é formdo por um vero seguido de um omplemento. E portnto, frse o livro re mente é um frse válid segundo grmáti im. Em um lingugem de progrmção terímos, por exemplo, um regr que define um omndo de triuição válido: <Atriuio> ::= <Vriável> := <Vlor> ; onde <Vriável> se refere qulquer seqüêni de rteres omeçndo om lgum letr. A desrição de grmátis seguindo ess form, emor de simples entendimento, não é muito práti qundo se desej estudr mis generimente s proprieddes ds lingugens. Assim, n teori d omputção gerlmente é ddo um trtmento mtemátio às lingugens e dotm-se onvenções de notção e simplifições, prourndo filitr su representção e o estudo de sus proprieddes. Exemplo de onvenções: o invés de se esrever <Vriável>, em gerl utiliz-se pens um letr miúsul (V) pr representr tis tipos de onstrução. Além disso, n Teori d Computção, em gerl prour-se estudr lsses de lingugens o invés de um lingugem espeífi. A seguir, lgums definições esseniis pr o estudo de Lingugens Formis: 2.1 Alfeto (Σ): é um onjunto finito de símolos. N língu portugues seri formdo pels 27 letrs do lfeto mis os dígitos de 0 9. Outros exemplos: o lfeto grego, o lfeto russo. Usmos letr greg sigm miúsul (Σ) pr representr o lfeto de um lingugem. Ex.: Σ = {0,1} represent o lfeto omposto pelos símolos 0 e 1. 2.2 Plvr ou dei: é um seqüêni finit de símolos do lfeto ontendos Exemplos de plvrs utilizndo o lfeto Σ = {0,1}: 0, 1, 010, 111, 011, et. O omprimento de um dei w, denotdo por w é o número de símolos que ompõem w. Assim plvr 011 tem omprimento 3 (três). Usmos letr greg epsilon minúsul () pr representr plvr vzi, isto é, tem omprimento 0 (zero). 4

Prof. Rômulo Silv O símolo Σ* indi o onjunto de tods s plvrs possíveis de serem formds prtir do lfeto Σ, de qulquer omprimento inluindo plvr vzi (). A notção n indi repetição do símolo n vezes. Assim 3 represent, 2 represent e 0 represent (plvr vzi). 2.3 Lingugem Forml: é um onjunto de plvrs sore um lfeto. Exemplos de lingugens formis sore o lfeto Σ = {0,1}: ) L = { 01, 1010, 1110} represent lingugem formd pels deis 01, 1010 e 1110 somente. ) L = { w w tem número ímpr de zeros em Σ*} representd tods deis possíveis om número ímpr de zeros usndo somente os símolos 0 e 1. 3. Representção de Lingugens Formis Um lingugem forml pode ser representd de 3 mneirs: Enumerção ds deis que fzem prte del. Grmáti, isto é, um onjunto de regrs que espeifi formção ds deis. Dispositivo reonheedor (máquin), que possui emutido um onjunto de regrs de eitção de deis. A primeir só pode ser utilizd pr lingugens finits. As dus últims são pzes de representr lingugens om número infinito de deis. Grmáti. A definição forml de um grmáti é um quádrupl ordend G = (V,T, P,S), onde: V é o onjunto de símolos não-terminis, tmém hmdos de vriáveis T é o onjunto de símolos terminis, tl que V T = Ø P é o onjunto de regrs de produção S é o elemento de V denomindo símolo iniil As regrs de produção são esrits n form α β, onde α e β são ompostos de não-terminis e terminis; lém disso, α possui pelo menos um não-terminl. Convenções. As seguintes onvenções de notção são dotds: Cd não-terminl é representdo por pens um letr miúsul do lfeto português {A, B, C, D,...} Cd terminl é representdo por pens um letr minúsul ou dígito {0,1,2,3,4,5,6,7,8,9,,,,d,...} Utiliz-se própri letr miúsul S pr ser o símolo iniil d grmáti. Exemplo 1: Sej G grmáti: S AB A A B. Neste exemplo grmáti possui 4 regrs: S AB, A A, A e B 5

Prof. Rômulo Silv O símolo pode ser usdo qundo há mis de um regr pr um mesmo não terminl, omo o não-terminl A do exemplo. O onjunto de não-terminis pr grmáti G é V= {S,A,B}. O onjunto de terminis T = {,}. O onjunto de regrs P = { S AB, A A, A, B }. A set ( ) indi que o não-terminl à su esquerd pode ser sustituído pelo símolo ou símolos que estão à su direit. Assim: o não-terminl S pode ser sustituído por AB o não-terminl A pode ser sustituído por A ou por o não-terminl B pode ser sustituído por. As plvrs ou deis válids n lingugem são formds prtir do símolo iniil, sustituindo-o por lgum de sus regrs e os não-terminis dest suessivmente, té que se otenhm pens terminis. Assim, utilizndo grmáti definid nteriormente pode-se oter plvr efetundo-se s seguintes sustituições: (1) S AB (2) AB (3) AB (4) B (5) N linh (1) foi usd úni regr disponível pr o símolo S. N linh (2) foi usd regr A A. N linh (3) foi usd novmente regr A A. N linh (4) foi usd regr A. N linh (5) foi usd regr B. Oserve que notção usd no proesso de sustituição, indi pel set, é diferente d notção usd n própri grmáti, indid pel set. Isto permite diferenir qundo se está gerndo um plvr ou desrevendo um regr d grmáti. Derivção. O proesso de sustituir um não-terminl por lgum de sus regrs é hmdo de derivção. Árvore de derivção. A gerção de um plvr pels suessivs derivções pode ser representd trvés de um árvore, hmd árvore de derivção, onde riz é o símolo iniil S. A Figur 1 present árvore de derivção pr plvr do exemplo nterior. S A B A A Figur 1 6

Prof. Rômulo Silv Efetundo-se tods s possíveis derivções prtir do símolo iniil S, otêm-se tods s plvrs que ompõem lingugem forml desrit pel grmáti, podendo ser infinito o número de plvrs. No exemplo d grmáti nterior é possível gerr o seguinte onjunto infinito de plvrs: L = {,,,,,...}. Oservndo mis tentmente s plvrs gerds é fáil notr que tods seguem um pdrão: são formds por um seqüêni de um ou mis s e terminds extmente om um. Assim pode-se dizer grmáti represent ou ger lingugem L = { w w é formd por um seqüêni de um ou mis s seguido de extmente um sore Σ*}, onde Σ = {,}. Lingugens de Progrmção. A grmáti de um lingugem de progrmção represent todos os progrms possíveis de serem esritos nel, gerlmente um número potenilmente infinito de progrms. Assim, o primeiro trlho do(s) ridor(es) de um lingugem de progrmção é definir su grmáti. Notção. Us-se L(G) pr denotr lingugem gerd pel grmáti G. Grmátis equivlentes. Um mesm lingugem pode ser gerd por diferentes grmátis. Por exemplo, grmáti: S A A A ger mesm lingugem desrit pel grmáti vist nteriormente. Assim, qundo dus grmátis germ mesm lingugem, els são dits grmátis equivlentes. Formlmente: G 1 é equivlente G 2 se e somente se L(G 1 ) = L(G 2 ). No estudo ds lingugens formis, s grmátis são lssifids de ordo om s restrições que se impõem sore sus regrs de produção. Assim, s lingugens formis podem ser lssifids em: Lingugens Regulres (Tipo 3) - LR Lingugens Livres de Contexto (Tipo 2) - LLC Lingugens Sensíveis o Contexto (Tipo 1) - LSC Lingugens Reursivmente Enumeráveis (Tipo 0) - LRE A Figur 2 mostr relção entre os tipos de lingugens. LR LLC LSC LRE Figur 2 As lingugens regulres (LR) são quels onde se impõem mis restrições às regrs de produção. 7

Prof. Rômulo Silv Hierrqui de Chomsky. As lingugens livres de ontexto (LLC) são menos restritivs que s lingugens regulres (LR). As lingugens sensíveis o ontexto (LSC) são menos restritivs que lingugens livres de ontexto (LLC) e ssim por dinte. A hierrqui ssim gerd é hmd de Hierrqui de Chomsky. Devido o fto que um tipo de lingugem om mis restrições é um so prtiulr de um tipo de lingugem om menos restrições, então tod LR é um LLC. Tod LLC é um LSC, e tod LSC é um LRE. Estudremos iniilmente pens s lingugens regulres (LR). Grmáti Regulr (GR). Um grmáti G é regulr se tods sus produções são tis que podem ser olod em lgum ds seguintes forms: A A B A Isto é, do ldo esquerdo d regr sempre há somente um não-terminl. Do ldo direito há um terminl sozinho (ompnhdo no máximo de um não-terminl), ou há pens plvr vzi (). Ás vezes, iniilmente grmáti não possui tods sus regrs em lgum ds forms segundo definição de grmáti regulr. No entnto, fzendo-se pequens lterções é possível oter um grmáti equivlente onde tods s regrs estejm de ordo om definição de grmáti regulr. Exemplo: sej G 1 grmáti seguir: S AB A A B G 1 é regulr. Pr ver isto, st oservr que el é equivlente G 2, definid por: S A A A Lingugem Regulr (LR). Um lingugem é regulr se el pode ser desrit usndo um grmáti regulr (GR). 4. Modelos de Máquins Dispositivo Reonheedor. Um outr mneir de definir um lingugem é trvés d utilizção de um dispositivo reonheedor, que permite sumeter um plvr ou dei um teste de eitção pz de determinr se tl plvr pertene ou não à lingugem em questão. O dispositivo reonheedor é n verdde um modelo mtemátio que desreve o funionmento de um máquin, onde s deis são sumetids pr eitção ou rejeição. 8

Prof. Rômulo Silv Cd tipo de lingugem d Hierrqui de Chomsky possui um reonheer distinto. Lingugem Lingugens Regulres (LR) Lingugens Livres de Contexto (LLC) Lingugens Sensíveis o Contexto (LSC) Lingugens Reursivmente Enumeráveis (LRE) Reonheedor Autômtos Finitos Autômtos om Pilh Máquin de Turing om memóri limitd Máquin de Turing Iniilmente estudremos os utômtos finitos, pzes de reonheer lingugens regulres (LR). 5. Autômto Finito Determinístio (AFD) Definição. Um Autômto Finito Determinístio (AFD) é um modelo de máquin definido formlmente por um quíntupl M = (Σ, Q, δ, q 0, F), onde: Σ : lfeto de símolos de entrd Q: onjunto finito de estdos possíveis pr M δ: função trnsição ou função progrm definid em Q x Σ Q q 0 : estdo iniil de M, sendo q 0 Q F: onjunto de estdos finis, tl que F Q fit de entrd eç de leitur q 0 q n q 1 q 2 ontrole finito Figur 3 Um AFD pode ser representdo esquemtimente onforme Figur 3: os símolos que ompõem plvr ser testd enontrm-se esritos num fit de entrd, dividid em éluls, onde d símolo oup extmente um élul. Há um ontrole finito omposto pelos estdos possíveis pr o utômto, sendo que existe um mrdor que indi o estdo tul. Além disso, há um eç de leitur que lê um símolo por vez d fit. Finito. O utômto é dito finito porque o onjunto de estdos possíveis (Q) é finito. Determinístio. O utômto é determinístio qundo ddo o estdo tul de M, o ler um determindo símolo n finit de entrd existe pens um próximo estdo possível. 9

Prof. Rômulo Silv Estdo Iniil. O estdo iniil q 0 indi que o ligrmos o AFD, o mrdor utomtimente se posiion no estdo q 0, ntes de ler qulquer símolo d fit de entrd. Só pode existir um únio estdo iniil. Aeitção. Um plvr é reonheid (ou eit) qundo o AFD pós ler todos os símolos ontidos n fit de entrd, o mrdor se enontrr em um estdo finl. Ao ontrário do estdo iniil, podem existir vários estdos finis. Rejeição. Um plvr é rejeitd qundo pós ler todos os símolos d fit de entrd, o mrdor não se enontrr em um estdo finl ou qundo não existe um trnsição definid pr um símolo ser lido, estndo o utômto num determindo estdo. Máquin de Estdos Finitos. Alguns utores denominm os AFDs de máquins de estdos finitos. Vejmos um exemplo de AFD: Sej M = (Σ,Q, δ,q 0,F) tl que Σ = {,}, Q = {q 0, q 1, q 2 }, F = {q 2 } e função trnsição (ou função progrm) δ definid segund tel seguir: δ q 0 q 1 --- q 1 q 1 q 2 q 2 --- --- Interpretndo tel: estndo no estdo q 0 e lendo o símolo n fit de entrd, M mud pr o estdo q 1. Tmém estndo no estdo q 0 e lendo o símolo n fit de entr, M rejeit plvr, pois não há trnsição definid est situção. Já estndo no estdo q 1, e lendo o símolo, M permnee no estdo q 1. Qundo M está no estdo q 1 e lê um símolo, ele mud pr o estdo q 2. E um vez no estdo q 2, qulquer símolo que sej lido, plvr será rejeitd, pois não há trnsições definids prtir de q 2. Grfo Orientdo. Comumente represent-se função progrm (δ) utilizndo-se um grfo orientdo. A Figur 4 present o grfo orrespondente à função progrm do AFD do exemplo nterior. q 0 q 1 q 2 Figur 4 Os nós do grfo representm os estdos possíveis do AFD enqunto s rests orientds representm s trnsições. A origem de um set indi o estdo tul. O símolo ser lido é olodo sore set. 10

Prof. Rômulo Silv O destino d set indi o próximo estdo pós leitur do símolo. O estdo iniil é indido trvés de um set sem origem e om destino no estdo iniil. Os estdos finis são indidos trvés de dois írulos onêntrios. Oservndo o grfo do AFD temos os estdos q 0, q 1 e q 2, sendo q 0 o estdo iniil e q 2 o estdo finl. O estdo q 1 pode ser trduzido omo estdo onde se lê um ou mis s. O estdo q 2 pode ser expresso por: estdo que indi leitur de extmente um. Este AFD reonhee lingugem L = { w w é formd por um seqüêni de um ou mis s seguido de extmente um sore Σ*}, onde Σ = {,}. Portnto, é equivlente à grmáti vist nteriormente: S AB A A B Teorem: Tod lingugem regulr (LR) possui um AFD equivlente. Outro exemplo: sej L = { n m n 0 e m 0}. O AFD seguir reonhee L. q 0 q 1 q 2 Figur 5 M = (Σ, Q, δ, q 0, F) onde Σ = {,, }, Q = {q 0, q 1, q 2 }, δ está representd pelo grfo d Figur 5, q 0 é o estdo iniil e F = {q 1, q 2 }. Exemplos de plvrs ou deis reonheids pelo AFD :,,,,,,,,,,, et. Exemplos de deis não reonheids:,,,,, et. 6. Trnsformção de AFD em Grmáti Regulr (GR) É possível esrever um grmáti regulr pr todo AFD. Pr tl st seguir o lgoritmo seguir: d estdo é ssoido um não-terminl d grmáti, sendo o estdo iniil q 0 ssoido o símolo iniil (S) pr d trnsição de estdo representd no grfo ri-se um regr de produção n grmáti, tl que o estdo de origem torn-se o não-terminl à esquerd d regr e o estdo destino torn-se um não-terminl do ldo direit d regr pós o terminl lido n trnsição. ri-se um regr pr d não-terminl ssoido um estdo finl onde o ldo direito d regr é formdo pens pel plvr vzi (). 11

Prof. Rômulo Silv Como exemplo onsidere o AFD d Figur 5. Fzendo-se q 0 = S, q 1 = A e q 2 = B, grmáti equivlente o AFD é: S A A A B B B 7. Trnsformção de Grmáti Regulr (GR) em AFD O lgoritmo seguir mostr omo enontrr um AFD equivlente um dd grmáti regulr. Tods s regrs d grmáti devem ser do tipo A B (não-terminl levndo um terminl seguido de um únio não-terminl) ou A (não-terminhl levndo um terminl sozinho) ou A (não-terminl levndo à plvr vzi). Pr d não-terminl rie um estdo pr o AFD, sendo que o símolo iniil sej o estdo iniil ( S = q 0 ). Pr d regr do tipo A B rie um trnsição que prt do estdo A om destino o estdo B trvés d leitur do terminl. Pr d regr do tipo A rie um trnsição que prt do estdo A om destino um estdo A x, trvés d leitur do terminl. Além disso, mrque o estdo omo finl Pr d regr do tipo A, fç do estdo ssoido o não-terminl A um estdo finl. A Figur 6 mostr o AFD equivlente à grmáti regulr seguir: S A B A A B B B A B S A 1 Figur 6 12

8. Expressões Regulres (ER) Prof. Rômulo Silv As lingugens regulres podem ser representds usndo um notção denomind expressão regulr. Um expressão regulr utiliz pens símolos terminis e lguns rteres espeiis (metrteres), sendo que estes têm função de espeifir quntidde de vezes que um terminl ou grupo de símolos terminis se repetem dentro d formção de um plvr pertenente à lingugem. Definição. A definição forml de um expressão regulr pode ser feit reursivmente d seguinte mneir: Se x é um terminl, x é expressão regulr. Se r e s são expressões regulres, então r+s é expressão regulr. O sinl + indi que tnto r ou s formm plvrs válids Se r e s são expressões regulres, então rs é expressão regulr, onde s plvrs são formds pel ontenção de r e s. Se r é expressão regulr, r * denot expressão regulr onde r é repetid zero ou mis vezes Se r é expressão regulr, r + denot expressão regulr onde r é repetid um ou mis vezes. Portnto r + = rr * Utilizm-se prêntesis pr grupr símolos que se repetem onjuntmente. Exemplos: 001(0+1) denot L = {0010, 0011} 01(10+11) denot L = { 0110, 0111} (0 + 01)1 denot L = { 01, 011} * denot L = {,,,,...}, isto é, L = { w w inii om um seguido de zero ou mis s e termin om um } ()* denot L = {,,,,...}, isto é, L = { w w inii-se om um seguido de zero ou mis seqüênis de e termin om } + denot L = {,,,...}, isto é, L = { w w inii-se om um seguido de um ou mis s e termin om } ( + ) denot L = {, } (+) * denot L = {,} *, isto é tods s plvrs possíveis de serem formds prtir do símolos e, inlusive plvr vzi. (+) * (+) * denot L = { w w possui extmente um sore Σ = {,,} * } Unix. O omndo grep do sistem operionl Unix permite o uso de expressões regulres pr us de pdrões. Exemplos: grep Mr* rq: listrá tods s linhs do rquivo rq que ontêm plvrs ontendo string Mr. grep Mri rq* : listrá tods s linhs de rquivos ujo nome omee om rq e que ontenh string Mri. grep i mri rq : listrá tods s linhs do rquivo rq que ontenhm string mri (ignorndo miúsuls e minúsuls). grep v mri rq : listrá tods s linhs do rquivo rq que não ontenhm string mri. 13

Prof. Rômulo Silv grep [-z] rq: listrá tods s linhs do rquivo rq que omeem om s letrs minúsuls de z. 9. Autômtos Finitos Não-determinístios (AFND) Definição. Um utômto finito não-determinístio (AFND) é similr um AFD, porém existe pelo menos um estdo tl que o ler um mesmo símolo há mis de um possiilidde de estdo destino. q 0 q 1 q 2 Figur 7 No utômto d Figur 7, existem dus trnsições de estdo possíveis o ler o símolo estndo o utômto no estdo q 0. Aeitção. Um dei é eit por um AFND se testndo-se tods s trnsições possíveis à medid que se lê dei, o AFND pár em um estdo finl pós ler tod dei pr lgum minho ds trnsições. Assim, o não-determinismo do próximo estdo pode ser interpretdo omo um teste de tods s possiiliddes. Exemplos de deis eits pelo AFND d figur 7:,,,,... Rejeição. Um dei é rejeit por um AFND se nenhum minho de trnsições lev o utômto um estdo finl pós ler tod dei. Exemplos de deis rejeitds pelo AFND d figur 7:,,,,... 10. Autômtos Finitos om Trnsições (AF) Definição. Um utômto finito om trnsições (AF) é um AFND onde existem trnsições feits prtir d plvr vzi. Um trnsição prtir d plvr vzi indi que o utômto pode lterr seu estdo sem ler nenhum símolo d fit. AFND. A existêni de pens um trnsição usndo plvr vzi é sufiiente pr que o utômto sej onsiderdo não-derterminístio (AFND), pois existe um situção o utômto pode efetur um trnsição sem ler qulquer símolo d fit. Aeitção e Rejeição. A eitção e rejeição de deis são feits do mesmo modo que em AFND. 14

Prof. Rômulo Silv q 0 q 1 q 2 Figur 8 No AF d Figur 8, o utômto pode fzer trnsição pr o estdo q 1 prtir do estdo q 0 sem ler qulquer símolo n fit. Assim, s deis:,, são eits pelo utômto enqunto que,, são rejeitds. Teorem. Pr todo AFND, inluindo os AF, é possível onstruir um AFD equivlente. Equivlêni. N práti, o teorem nterior estelee que filidde de nãodeterminismo dos AFNDs não represent um umento de poder omputionl em relção os AFDs. Ou sej, lsse de lingugens reonheid por AFNDs e AFDs é mesm. 11. Trnsformção de Expressões Regulres em AF Existe um lgoritmo simples pr onversão de expressões regulres em AF. Segue su desrição: Se um expressão regulr r é onstituíd por um únio símolo x, então r pode ser representd por um utômto de pens 2 (dois) estdos, tl que existe um trnsição do primeiro pr o segundo estdo lendo o símolo x. Se um expressão regulr r é d form r = r 1 + r 2, isto é, s plvrs válids são plvrs d lingugem desrit por r 1 ou d lingugem desrit por r 2, então r pode ser representd pel união dos utômtos M 1 e M 2, que reonheem r 1 e r 2 respetivmente, de mneir que M 1 e M 2 formem minhos exlusivos entre si utilizndo trnsições. Se um expressão regulr r é d form r = r 1 r 2, isto é, s plvrs válids são otids d ontenção ds plvrs d lingugem desrit por r 1 om plvrs d lingugem desrit por r 2, então r pode ser representd pelo seqüenimento dos utômtos M 1 e M 2, que reonheem r 1 e r 2 respetivmente, de mneir que M 2 segue M 1 utilizndo um trnsição. Apens o estdo que não possui trnsições om origem nele é um estdo finl. Iniilmente prour-se desenhr os utômtos dos símolos isoldmente, que são de fáil representção. Os utômtos otidos são omindos segundo s regrs nteriores té se oter o utômto que represent expressão regulr omplet. 15

x Prof. Rômulo Silv r = x q 0r1 M q fr1 r = r 1 + r 2 q 0r M q fr2 M M q 0r1 q fr1 q 0r q fr2 r = r 1 r 2 q 0r1 M q fr1 r = r 1 * Figur 9 A Figur 9 mostr esquemtimente omo pode ser feit onstrução de AF prtir de um expressão regulr. É importnte oservr que os estdos que serim finis em M 1 e M 2 pr s expressões regulres r 1 e r 2, não o são qundo se fz o utômto que represent r 1 +r 2. E o mesmo oorre om M 1 em r 1 r 2 e em r 1 *. Exemplo: sej expressão regulr ( + )() *. Oserve que el é ontenção ds suexpressões ( +) e () *. Por su vez, ( + ) indi que pens s plvrs e são válids dentro d suepressão. Já () * é ontenção dos símolos e, repetidos em grupo, zero ou mis vezes. Assim, primeiro montmos o utômto pr primeir suexpressão ( + ) que será: Figur 10 16

Prof. Rômulo Silv Pr montr o utômto pr segund suexpressão () *, primeiro montmos o utômto pr somente, e sore o seu resultdo plimos regr que permite repeti-lo zero ou mis vezes, otendo ssim: Figur 11 Agor, um vez otidos os utômtos pr ( +) e () * st oloá-los em seqüêni usndo um trnsição pr que representem ontenção ds dus suexpressões, e definir o estdo que não possui trnsições prtir dele omo estdo finl, representndo ssim o utômto pr ( + )() *, onforme Figur 12. Figur 12 12. Trnsformção de AFDs em expressões regulres Conforme visto nteriormente, todo AFD possui um expressão regulr equivlente. Segue um lgoritmo pr onverter um AFD em expressão regulr. 1º psso: ddo utômto M, onstrói-se M equivlente M, tl que o estdo iniil de M lig-se o estdo iniil de M por trnsição, e todos os estdos finis de M ligm-se o únio estdo finl de M por trnsição. Além disso, os estdos finis de M não são finis em M, onforme o esquem d Figur 13. 17

Prof. Rômulo Silv M : M q f1 q 0 q 0... q fn... q f Figur 13 2º psso: elimin-se grdulmente os estdos intermediários entre o estdo iniil e finl de M onstruindo expressões regulres equivlentes às trnsições do estdo elimindo. Exemplo: Sej M o utômto d Figur 14. Iniilmente onstrói-se o utômto M, mostrdo n Figur 15. M q 2 q 0 q 1 q 3 Figur 14 M q 0 q 0 q 1 q 2 q f q 3 Figur 15 18

Prof. Rômulo Silv Oserve que o utômto d Figur 15 é equivlente o utômto d Figur 14, pois pens form resentdos dois estdos (um novo estdo iniil e um finl) ligdos os respetivos estdos iniil e finis usndo trnsições. Agor proedemos à eliminção dos estdos intermediários entre q 0 e q f. Assim, elimindo o estdo q 0 otém-se o utômto d Figur 16. q 2 q 0 * q 1 q f q 3 Figur 16 A expressão regulr olod n trnsição de q 0 pr q 1 represent que sindo de q 0 té hegr em q 1 form lidos zero ou mis s e neessrimente um. Isto orresponde extmente o estdo elimindo (q 0 ). Em seguid, eliminndo-se o estdo q1, otém-se o utômto d Figur 17. * * q 2 q 0 * * q 3 q f Figur 17 Oserve que o estdo q 1 possui trnsição pr dois estdos distintos (q 2 e q 3 ). Portnto o efetur su eliminção é neessário representr omo que sindo de q 0 se heg q 2 (representdo por * * ), e omo se heg q 3 (representdo por * * ). As Figurs 18 e 19 representm eliminção dos estdos q 2 e q 3, respetivmente. 19

Prof. Rômulo Silv * * * q 0 * * q 3 q f Figur 18 q 0 * * * + * * q f Figur 19 A expressão regulr * * * + * * é equivlente o utômto originl (M). Além disso, sendo que suexpressão * é equivlente + e que * * é um suexpressão omum funionndo omo um prefixo pr * e, pode-se reesrever expressão d seguinte form: * * ( + + ). Ordem de Eliminção e Equivlêni. É importnte registrr que ordem de eliminção dos estdos pode resultr em expressões regulres diferentes, porém equivlentes. 13. Minimizção de utômtos Definição. Um AFD M pr lingugem regulr L é mínimo se qulquer outro AFD M pr L, tem-se Q Q. Portnto, um utômto é mínimo se ele possui o menor número de estdos possível reonheendo lingugem em questão. Algoritmo. Ddo um utômto qulquer, ele pode ser minimizdo trvés do seguinte lgoritmo de minimizção: 1º psso: trnsformr o AFN ou AF em AFD 2º psso: eliminr estdos inúteis (queles prtir dos quis não é possível tingir um estdo finl) 3º psso: eliminr estdos inessíveis e sus trnsições (queles que não podem ser tingidos prtir do estdo iniil) 4º psso: prtiionr iniilmente os estdos em 2 suonjuntos: estdos finis (F) e estdos não-finis (Q F) 5º psso: lulr lsses de equivlêni (loos) reursivmente prtir dos suonjuntos iniiis tl que: p Ei e Σ, δ ( p, ) E j onde Ei e E j são lsses de equivlêni. 20

Prof. Rômulo Silv Exemplo: sej o utômto d Figur 20. Esse utômto já é determinístio. Portnto inii-se eliminndo estdos inúteis. O estdo q5 é um estdo inútil porque não é estdo finl e não possui trnsições prtir dele, logo pode ser elimindo juntmente om sus trnsições, resultndo no AFD presentdo n Figur 21. q 0 q 1 q 2 q 4 q 3 q 5 Figur 20 q 0 q 1 q 2 q 3 q 4 Figur 21 O AFD otido não possui estdos inessíveis. Então pss-se à onstrução ds lsses de equivlêni, iniindo om os onjunto Q F = {q 0,q 1 } e F = {q 2,q 3,q 4 }. É possível oservr que δ ( q 0, ) = q1 e δ ( q 1, ) = q0. Isto é, lendo o símolo prtir dos 21

Prof. Rômulo Silv estdos que formm o onjunto Q F, o AFD permnee em um estdo do próprio onjunto Q F. Já leitur do símolo prtir dos estdos do onjunto Q F lev estdos do onjunto F. Além disso, leitur do símolo prtir de estdos do onjunto F, o AFD permnee no onjunto F. Assim, podemos grupr os estdos q 0 e q 1 em únio estdo (q 01 ) e tmém os estdos q 2, q 3 e q 4 em um únio estdo (q 234 ), gerndo o AFD presentdo n Figur 22. q 01 q 234 Figur 22 14. Proprieddes ds Lingugens Regulres (LR) Algums oservções sore lingugens regulres (LR), utômtos finitos determinístios (AFD), grmátis regulres (GR) e expressões regulres (ER): Tod LR possui GR equivlente Tod LR possui AFD que reonhee. Tod ER possui AFD equivlente Tod GR possui AFD equivlente Além ds oservções nteriores, s lingugens regulres possuem s seguintes proprieddes: Contenção: ontenção de LRs result em LR União: união de LRs result em LR Feho: o feho (repetição de zero ou mis vezes) de LR result em LR Interseção: interseção entre LRs result em LR Complemento: o omplemento (Σ * - L) de um LR result em LR. Fehmento. Pels proprieddes nteriores, diz-se que lsse ds lingugens regulres (LR) é fehd qunto às operções de ontenção, união, feho, interseção e omplemento. Pois, o resultdo desss operções rei dentro d própri lsse de lingugens regulres (LR). As operções de ontenção, união e feho podem ser melhor visulizds qundo s lingugens regulres são representds trvés de expressões regulres. Assim, sejm r e s expressões regulres pr s lingugens L1 e L2. rs represent ontenção de L1 e L2. sr represent ontenção de L2 e L1. r+s represent união de L1 e L2. r* represent o feho de L1 22

Prof. Rômulo Silv 15. Limitções de AFDs: exemplos de lingugens não regulres Conforme visto nteriormente, tod LR possui um AFD que reonheç. Portnto, um form de ser se um lingugem é regulr, é onstruindo um AFD que reonheç. Prolem. Inversmente, se não for possível onstrução do AFD, então lingugem não é regulr. Porém, omo provr impossiilidde de onstruir um AFD pr um dd lingugem? A seguir presentmos o Lem do Bomemento pr LRs, usdo pr responder à pergunt nterior. Lem do Bomemento pr LRs. Se L é um lingugem regulr, logo existe AFD pr L om n estdos, sendo n finito. Se um plvr w L têm omprimento mior ou igul n, isto é, w n, então o AFD ssume lgum estdo mis de um vez e portnto existe um ilo no utômto. w pode ser dividid em w = uvz tl que uv n e v 1, onde v é prte de w reonheid pelo ilo. Portnto uv i z L pr i 0. Exemplo de lingugem não regulr: L = { n n n 0}. Demonstrção por surdo: suponh que L sej regulr, então pelo Lem do Bomemento pr LRs, w = n n pode ser reesrit omo w = uvz onde uv n e v 1. Além disso, uv i z L pr i 0. Tem-se um surdo, pois uv n, uv é omposto só por s. Por exemplo, uv 2 z L, pois não possui o mesmo número de s e s. Logo L não é lingugem regulr. Outros exemplos de lingugens não regulres: L = { n m n m} L = { n 2n n 1} L = { n n é primo} Dependêni. Oservndo os exemplos de lingugens não regulres presentdos, é possível notr que quntidde de um determindo símolo depende d quntidde de outro símolo, ou ind depende de um lgoritmo que não pode ser representdo usndo um número finito de estdos. Memóri. Os AFDs não possuem memóri. Isto é, são inpzes de rmzenr quntidde lid de um determindo símolo. Nisto, reside su prinipl limitção pr reonheer lingugens omo L = { n n n 0} e L = { n m n m}. 16. Biliogrfi LEWIS, Hrry R. & PAPADIMITRION, Christos H. Elementos de Teori d Computção. 2.ed. Porto Alegre, Bookmn, 2000. MENEZES, Pulo Bluth. Lingugens formis e utômtos. 2.ed. Porto Alegre, Sgr Luzztto, 1998. 165p. 23

Prof. Rômulo Silv HOPCROFT, John E.; ULLMAN, Jeffrey D.; MOTWANI, Rjeev. Introdução à Teori de Autômtos, Lingugens e Computção; Rio de Jneiro; Ed. Cmpus, 2002. DIVERIO, T. A.; MENEZES, P. B. Teori d Computção: Máquins Universis e Computilidde, Série Livros Didátios Número 5, Instituto de Informáti, d UFRGS, Editor Sgr Luzztto, 1 edição, 1999. EUGÊNIO, Cristin Munhoz; PALERMO, Lillim. Unix Avnçdo: Progrmção C- Shell. Disponível em http://www.ue.unimp.r, essdo em 20/03/2006. 24