Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.

Slides:



Advertisements
Apresentações semelhantes
Decidibilidade e Indecidibilidade
Advertisements

FAPE - Curso de Ciência da Computação
FAPE - Curso de Ciência da Computação
Variantes de Máquina de Turing
Linguagem Fabrício Dias
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
I - Noções dum compilador
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado e Gomes da Costa
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
3 AUTÓMATOS FINITOS.
Ling. Formais e Autômatos Autômatos finitos
Árvores.
Linguagens Livres de Contexto
Linguagens e Máquinas WILSON ROSA DE OLIVEIRA DEPARTAMENTO DE INFORMÁTICA UFPE
autômatos finitos com transições e
Identificando Linguagens Não Regulares
AULA – Linguagem C – Vetores, Ponteiros Estruturas
Linguagem de Prog. e Programas
Autômatos Finitos Determinísticos
Alfabetos, Palavras e Linguagens
Conceitos Básicos.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Aula prática 6 Vetores e Matrizes
Erick Vagner Cabral Igor Lucena Vitor Baptista
Informática Teórica Engenharia da Computação
Introdução a Lógica Prof. Luiz Carlos Gabi.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
SIPSER – Capítulo 3: A tese de Church-Turing
Informática Teórica Engenharia da Computação
Ling. Formais e Autômatos AFN-ε
Teoria da Computação Aula 1 Prof. Fabiano Sabha.
TÉCNICAS DE PROGRAMAÇÃO
Autómatos de Pilha. UM NOVO MODELO PARA OS AUTÓMATOS FINITOS As linguagens regulares são aceites por autómatos finitos. E as linguagens não regulares?
Inteligência Artificial
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Máquinas de Turing.
Algoritmos e Estrutura de Dados I
LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Estado Final Único para NFAs e DFAs
Fundamentos de linguagens de programação
Linguagens Formais - aula 02
Computabilidade e Linguagens Formais
Computabilidade e Linguagens Formais
Computabilidade e Linguagens Formais
MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566
Engenharia/Ciência da Computação
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Informática Teórica Engenharia da Computação. Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente.
Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação. Autômatos Com Pilha São como autômatos finitos não-determinísticos mas com uma pilha. São como autômatos.
Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de.
Transcrição da apresentação:

Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica Professor do grupo Anhanguera Educacional nos cursos de Engenharia da Computação e Tecnologia e Análise em Desenvolvimento de Sistemas nas disciplinas Arquitetura Avançada de Computadores, Programação Estruturada II e Teoria da Computação FA5 – Unidade Limeira/SP Teoria da Computação Autômatos Finitos Determinísticos e Não-Determinísticos Setembro 2009

Autômatos Finitos Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Um autômato finito tem várias partes:. possui um conjunto de estados e regras para ir de um estado para outro, dependendo do símbolo de entrada.. possui um alfabeto de entrada que indica os símbolos de entrada permitidos.. tem um estado inicial e um conjunto de estados de aceitação. A definição formal para autômatos finitos diz que é uma lista de cinco objetos: conjunto de estados, alfabeto de entrada, regras para movimentação, estado inicial e estados de aceitação. (Q,Σ,δ,,F)

Autômatos Finitos Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Q é um conjunto finito conhecido como os estados Σ é um conjunto finito chamado o alfabeto δ : Q x Σ  Q é a função de transição  Q é o estado inicial F ⊆ Q é o conjunto de estados de aceitação Se A é o conjunto de todas as cadeias que a máquina M aceita, dizemos que A é a linguagem da máquina M e escrevemos L(M) = A. Dizemos que M reconhece A ou que M aceita A. Uma boa maneira para começar a entender uma máquina é testá-la com algumas amostras de cadeias de entrada.

Autômatos Finitos Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Após alguns ou vários testes podemos chegar numa conclusão sobre a referida máquina, dizendo: A = {w | w contém pelo menos um 1 e um número par de 0s segue o último 1} Exemplos: livro do Sipser - págs. 37 ~ 40

Definição Formal de Computação Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Seja M um autômato finito e suponha que w seja uma cadeia onde cada wi é um membro do alfabeto Σ. Então M aceita w se existe uma seqüência de estados r0,r1,…rn em Q com três condições: a máquina começa no estado inicial; a máquina vai de estado para estado conforme a função de transição; a máquina aceita sua entrada se ela termina em um estado de aceitação. Linguagem Regular Uma linguagem é chamada de uma linguagem regular se algum autômato finito a reconhece.

Operações Regulares Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Em aritmética, os objetos básicos são números e as ferramentas são operações para manipulá-los, tais como + e *. Na teoria da computação os objetos são linguagens e as ferramentas incluem operações especificamente projetadas para manipulá-las. Definimos três operações sobre linguagens, chamadas operações regulares, e as usamos para estudar propriedades de linguagens regulares. Sejam A e B linguagens. Definimos as operações regulares união, concatenação e estrela da seguinte forma: União: A U B = {x | x  A ou x  B} Concatenação: A B = {xy | x  A e y  B} Estrela: A* = {x1x2…xk | k >= 0 e cada xi  A}

Operações Regulares Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs A operação de união toma todas as cadeias em ambas A e B e as junta em uma linguagem. A concatenação é um pouco mais complicada. Ela acrescenta uma cadeia de A na frente de uma cadeia de B de todas as maneiras possíveis para obter as cadeias na nova linguagem. A operação estrela é um pouco diferente das outras duas porque ela se aplica a uma única linguagem em vez de duas linguagens diferentes. É uma operação unária ao invés de uma operação binária. Ela funciona justapondo qualquer número de cadeias em A para obter uma cadeia na nova linguagem. Exemplos: livro – Sipser - pág. 45

Operações Regulares Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Uma coleção de objetos é fechada sob alguma operação se, aplicando-se essa operação a membros da coleção, recebe-se um objeto ainda na coleção.

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Em uma máquina não-determinística, várias escolhas podem existir para o próximo estado em qualquer ponto. Não-determinismo é uma generalização de determinismo; portanto, todo autômato finito determinístico é automaticamente um autômato finito não-determinístico (AFN). q1q4q3 0,1 1 1ε q2

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Todo estado de um AFD sempre tem exatamente uma seta de transição saindo para cada símbolo no alfabeto. O AFN, não. Em um AFD, os rótulos sobre as setas de transição são símbolos do alfabeto. Num AFN, não (ε). Como um AFN computa? Quando é encontrada uma entrada com múltiplas maneiras de prosseguir, a máquina divide-se em múltiplas cópias de si mesma e segue todas as possibilidades em paralelo. Cada cópia da máquina toma uma das maneiras possíveis de proceder e continua como antes. Se existirem escolhas subsequentes, a máquina divide-se novamente.

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Como um AFN computa? (cont.) Se o próximo símbolo de entrada não aparece sobre qualquer das setas saindo do estado ocupado por uma cópia da máquina, essa cópia da máquina morre, juntamente com o ramo da computação associado a ela. Finalmente, se qualquer uma dessas cópias da máquina está em um estado de aceitação no final da entrada, o AFN aceita a cadeia de entrada. Se um estado com o símbolo ε sobre uma seta saindo do mesmo for encontrado, algo semelhante acontece. Sem ler qualquer entrada, a máquina divide-se em múltiplas cópias, uma seguindo cada uma das setas saindo rotuladas com ε e uma permanecendo no estado corrente.

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs Os autômatos finitos não-determinísticos são úteis em vários sentidos. Todo AFN pode ser convertido num AFD equivalente. Construir AFNs é às vezes mais fácil que construir diretamente AFDs. Um AFN pode ser muito menor que sua contrapartida determinística, ou seu funcionamento pode ser mais fácil de entender. Exemplo: SIPSER, pág 50

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs

Não-Determinismo Prof. André Luis Roland Tancredo Setembro 2009 Teoria da Computação AFDs e AFNs A definição formal de um autômato finito não-determinístico é similar àquela de um autômato finito determinístico. Ambos têm estados, um alfabeto de entrada, uma função de transição, um estado inicial e uma coleção de estados de aceitação. Eles diferem no tipo de função de transição. Em um AFN a função de transição toma um estado e um símbolo de entrada ou a cadeia vazia e produz o conjunto de próximos estados possíveis. Exercícios: SIPSER, página b) e d) 1.5 a) e b) 1.7a) e f )