Informática Teórica Engenharia da Computação
description
Transcript of Informática Teórica Engenharia da Computação
Informática Teórica
Engenharia da Computação
Teoria da ComputaçãoContexto do que vamos começar a estudar
No início do nosso curso falamos que iríamos estudar os seguintes modelos de computação:
1. Autômatos finitos
2. Autômatos com pilha
3. Máquinas de Turing
Estudamos os AFs e vimos que são máquinas reconhecedoras de linguagens
Teoria da ComputaçãoContexto do que vamos começar a estudar
As linguagens também podem ser definidas formalmente por gramáticas, que é um método de descrever formalmente uma linguagem.
Teoria da ComputaçãoContexto do que vamos começar a estudar
Curioso: independentemente do desenvolvimento desses modelos de computação, o linguista Noam Chomsky buscou formalizar a noção de gramática e linguagem.
Isso resultou na definição da conhecida Hierarquia de Chomsky, uma hierarquia de classes de linguagem definidas por gramáticas de complexidade crescente.
Teoria da ComputaçãoHierarquia de Chomsky
1. Gramáticas lineares à direita
2. Gramáticas livre de contexto
3. Gramáticas irrestritas
4. Autômatos finitos
5. Autômatos com pilha
6. Máquinas de Turing
(Tem-se também: gramáticas sensíveis ao contexto – autômatos linearmente limitados)
Teoria da ComputaçãoHierarquia de Chomsky
Tipo 3:Regulares
Tipo 2: Livre de contexto
Tipo 1: Sensível ao contexto
Tipo 0: Irrestritas
Teoria da Computação
Agora nós vamos estudar as linguagens livre de contexto e consequentemente:
1. Gramáticas livre de contexto
2. Autômatos com pilha