A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Informática Teórica Engenharia da Computação

Apresentações semelhantes


Apresentação em tema: "Informática Teórica Engenharia da Computação"— Transcrição da apresentação:

1 Informática Teórica Engenharia da Computação

2 Teoria é importante para a prática
Ela provê ferramentas conceituais que os praticantes usam em engenharia da computação. Projetando uma nova linguagem de programação para uma aplicacão especializada? O que você aprender sobre gramáticas neste curso irá bem a calhar.

3 Teoria é importante para a prática
Lidando com busca por cadeias e casamento de padrões? Lembre-se de autômatos finitos e expressões regulares.

4 Teoria é importante para a prática
Lidando com busca por cadeias e casamento de padrões? Lembre-se de autômatos finitos e expressões regulares.

5 Teoria é importante para a prática
Confrontado com um problema que parece requerer mais tempo de computador do que você pode suportar? Pense no que você aprendeu sobre NP -completude.

6 Teoria é importante para a prática
Os melhores projetos e aplicações de computadores são concebidos com elegância em mente. Um curso teórico pode elevar seu sentido estético e ajudá-lo a construir sistemas mais bonitos.

7 Teoria é importante para a prática
Finalmente, teoria é bom para você porque estudá-la expande sua mente. Conhecimento técnico específico, embora útil hoje, fica desatualizado em apenas uns poucos anos. Por outro lado as habilidades de pensar, exprimir-se claramente e precisamente, para resolver problemas, e saber quando você não resolveu um problema. Essas habilidades têm valor duradouro. Estudar teoria treina você nessas áreas.

8 Teoria dos Autômatos Lida com as definições e propriedades de modelos matemáticos de computação. Um modelo, chamado autômato finito, é usado em processamento de texto, compiladores, e projeto de hardware. Um outro modelo, chamado gramática livre-do-contexto, é usado em linguagens de programação e inteligência artificial.

9 Cadeias e Linguagens Alfabeto : conjunto de símbolos. Cadeias sobre um alfabeto. Tamanho de uma cadeia w: |w|. Cadeia de tamanho vazio:  Reverso de w: wR. Concatenação. Concatenação de x com si própria: xK. Linguagem: é um conjunto de cadeias.

10 Autômatos Finitos É um dos modelos computacionais que estudaremos. Porém com uma quantidade extremamente limitada de memória. O que um computador pode fazer com uma memória tão pequena? Na verdade, interagimos com tais computadores o tempo todo, pois eles residem no coração de vários dispositivos eletromecânicos.

11 Autômatos Finitos O controlador para uma porta automática é um exemplo de tal dispositivo. As lavadoras de louça/roupa, termômetros eletrônicos, relógios digitais, calculadoras e máquinas de venda automática.... Os autômatos também são chamados de máquinas de estados finitos.

12 Autômatos Finitos: exemplo Controlador para uma porta automática
Sinal de entrada Estado Nenhum Frente Atrás Ambos Fechado Aberto Esse controlador é um computador com apenas 1 bit de memória, capaz de registrar em quais dos dois estados o controlador está.

13 Autômatos Finitos Ao começar a descrever a teoria matemática de autômatos finitos, fazemos isso no nível abstrato, sem referˆência a qualquer aplicação específica. A seguir vamos ver alguns exemplos usando um diagrama de estados e identificar os conceitos de: estado inicial, estado de aceitação ou final, transição.

14 Autômatos Finitos Uma máquina M1 que recebe cadeias de bits como entrada e aceita somente aquelas que começam com um ou mais zeros seguidos de um ou mais 1’s apenas.

15 Autômatos Finitos O autômato recebe os símbolos da cadeia de entrada um por um da esquerda para a direita. Após ler cada símbolo, M1 move de um estado para outro ao longo da transição que tem aquele símbolo como seu rótulo. Quando ele lê o último símbolo, M1 produz sua saída. A saída é aceite se M1 está agora no estado de aceitação e rejeite se ele não está.

16 Autômatos Finitos Um AF que recebe cadeias de bits e aceita aquelas que possuem 10 como subcadeia

17 Autômatos Finitos q0 1 1 q1 q3 0,1

18 Autômatos Finitos M2 q0 1 q1 1 L(M2)={w | w termina em 1}

19 Autômatos Finitos M3 1 q0 q1 1 L(M3)={w | w é a cadeia vazia  ou termina em 0}

20 Autômatos Finitos M4 L(M4)={w | w começa e termina no mesmo símbolo} a
q0 a b q2 q1 b a b a q3 q4 b a L(M4)={w | w começa e termina no mesmo símbolo}

21 Autômatos Finitos a b q0 b q2 q1 a a b q3 a,b Os estados q1 e q2 servem para “memorizar’’ o símbolo anterior. Esse AF aceita as cadeias sobre o alfabeto {a,b} que possuem aa ou bb como subcadeias.

22 Autômatos Finitos q0 1 1 q1 1,0 q3 Esse AF aceita qualquer cadeia binárias que termina com o símbolo 1 ou que termina com um número par de 0s seguindo o último 1.


Carregar ppt "Informática Teórica Engenharia da Computação"

Apresentações semelhantes


Anúncios Google