Sunteți pe pagina 1din 33

Teoria da Computao

Aula 01 Apresentao da Disciplina


Kellyton Brito
Kellyton.professor@gmail.com 15/08/2011
1/32

O que vem a ser a Cincia da Computao?


2/32

Cincia da Computao
Um ramo da engenharia que estuda (com ajuda dos computadores) processos e estruturas computveis (Priceton Dictionary)
Computao: processos, algoritmos ou medidas

Estudos sistemticos de processos algortmicos Desenvolvimento de sistemas:


Criao de algoritmos (executados por computador) para resoluo de problemas
3/32

E a teoria da computao?

4/32

Teoria da Computao
Teoria que d embasamento cincia da computao Procura determinar:
Quais problemas so computveis/resolvveis Utilizando quais modelos?

5/32

O que est por trs da teoria da computao?

6/32

Teoria da Computao (Ementa)


Gramticas. Linguagens regulares, livres-decontexto e sensveis-ao-contexto. Tipos de reconhecedores. Operaes com linguagens. Propriedades das linguagens. Autmatos de estados finitos. Autmatos de pilha. Mquina de Turing. Funes recursivas. Tese de Church. Teorema da incompletude de Godel. Classes de problemas P, NP, NP-Completo e NPDifcil. Mtodos de reduo de problemas.
7/32

Traduzindo...

8/32

Teoria da Computao (Ementa)


Gramticas. Linguagens regulares, livres-decontexto e sensveis-ao-contexto. Tipos de reconhecedores. Operaes com linguagens. Propriedades das linguagens. Autmatos de estados finitos. Autmatos de pilha.
Mquina de Turing. Funes recursivas. Tese de Church. Teorema da incompletude de Godel. Classes de problemas P, NP, NP-Completo e NP-Difcil. Mtodos de reduo de problemas.
9/32

Gramticas e Autmatos
Linguagens de programao: Linguagens artificiais utilizadas para o controle de mquinas (ISO 9152 Information and Documentation Vocabulary) Linguagens de programao so LINGUAGENS Linguagens so utilizadas segundo sua GRAMTICA
Portugus, ingls, espanhol, C/C++, Java, Python...
10/32

Gramtica. S.f. 1. Estudo ou tratado dos fatos da linguagem, falada e escrita, e das leis naturais que a regulam. (Ferreira, 1975)

FERREIRA, Aurlio Buarque de Holanda. Novo dicionrio da lngua portuguesa. 11/32 Rio de Janeiro: Nova Fronteira, 1975.

Linguagens e Gramticas
Regidas pela Sintaxe
Descreve a FORMA da lngua Como escrever as palavras (anlise morfolgica) Como arranjar / organizar / ordenar expresses, comandos, declaraes e outras construes

E semntica
Descreve o SIGNIFICADO da linguagem Como deve ser o comportamento do programa especificado

Regras do Portugs Descrevendo Sintaxe

13/32

Descrevendo a Sintaxe

14/32

Gramtica e Autmatos
Do o suporte para se chegar s Mquinas de Turing Entendimento da teoria proporciona
Melhor entendimento das linguagens de programao Extenso de linguagens/frameworks de programao Desenvolvimento de linguagens/frameworks de programao Desenvolvimento de geradores de aplicao

So a base para o estudo de compiladores


15/32

Aprendizado / criao / extenso de novas linguagens / frameworks???

Suponha um novo projeto de desenvolvimento:


C++, C#, JAVA, PHP, Python?

Muito mais do que isso!!! isso!!!


Existem quantos frameworks JAVA para WEB?

Alguns Frameworks JAVA para WEB

Java Server Faces

Sem falar de

Sem falar de...

Construir aplicaes usando uma Linguagem/API de terceiros... Ou construir essa linguagem/API?

Teoria da Computao (Ementa)


Gramticas. Linguagens regulares, livres-de-contexto e sensveis-ao-contexto. Tipos de reconhecedores. Operaes com linguagens. Propriedades das linguagens. Autmatos de estados finitos. Autmatos de pilha.

Mquina de Turing. Funes recursivas. Tese de Church. Teorema da incompletude de Godel.


Classes de problemas P, NP, NP-Completo e NP-Difcil. Mtodos de reduo de problemas.

20/32

Teses e Teoremas
Tese de Church. (ou Church-Turing): ChurchTeses de embasamento para computao Um algoritmo deve satisfazer os seguintes requisitos:
Consiste de um conjunto finito de instrues simples e precisas, que so descritas com um nmero finito de smbolos. O algoritmo sempre produz resultado em um nmero finito de passos. O algoritmo pode, a princpio, ser executado por um ser humano com apenas papel e lpis. A execuo do algoritmo no requer inteligncia do ser humano alm do necessrio para entender e executar as instrues.
21/32

Mquinas de Turing
Modelo computacional mais geral Hiptese de Church
A capacidade de computao representada pela mquina de Turing o limite mximo que pode ser atingido por qualquer dispositivo de computao Qualquer funo computvel (processamento mecanicamente em um tempo finito), pode ser processada por uma mquina de Turing

Mquinas de Turing
Modelo computacional
Modelo fictcio, no uma mquina construda real

Simulam a execuo de um algoritmo, satisfazendo Church-Turing


Conjunto finito de instrues Conjunto finito de passos Executado por papel/lpis No requer inteligncia

Mquinas de Turing
Composta por, basicamente:
Uma fita de entrada Um cabeote, que l/escreve para frente e para trs, na fita

Teoria da Computao (Ementa)


Gramticas. Linguagens regulares, livres-de-contexto e sensveis-ao-contexto. Tipos de reconhecedores. Operaes com linguagens. Propriedades das linguagens. Autmatos de estados finitos. Autmatos de pilha. Mquina de Turing. Funes recursivas. Tese de Church. Teorema da incompletude de Godel.

Classes de problemas P, NP, NP-Completo e NPDifcil. Mtodos de reduo de problemas.


25/32

Classes de Problemas
Classes de problemas do mundo real
Matriz simples/complexo x fcil/difcil Simples Fcil Complexo

Difcil

rpido e sabe-se rpido mas no resolver se sabe como resolve trabalhoso mas trabalhoso e no sabe-se resolver se sabe como resolve

Classes de Problemas Para a computao


Indecidveis
No se consegue expressar de forma computacional

Decidveis
P: Resolvveis por computador em tempo razovel (Polinomial) NP: Difcil resoluo, fcil verificao (tempo No Polinomial) NP-Completo: Soluo exponencial = pode durar toda a eternidade

Teorema da Incompletude de Godel


sempre h em uma teoria consistente proposies verdadeiras que no podem ser demonstradas nem negadas Uma teoria pode provar sua prpria consistncia se, e somente se, for inconsistente. Exemplo forado: teorema do mentiroso
28/32

Teoria da Computao (Ementa)


Gramticas. Linguagens regulares, livres-decontexto e sensveis-ao-contexto. Tipos de reconhecedores. Operaes com linguagens. Propriedades das linguagens. Autmatos de estados finitos. Autmatos de pilha. Mquina de Turing. Funes recursivas. Tese de Church. Teorema da incompletude de Godel. Classes de problemas P, NP, NP-Completo e NPDifcil. Mtodos de reduo de problemas.
29/32

Metodologia
Exposio/discusso dos contedos Divulgao dos slides Aulas de exerccios em sala (no faltem) Lista de exerccios 2 provas escritas (talvez 4) Utilizao do grupo: teocomp-lic-ufrpe@googlegroups.com

30/32

Bibliografia
Menezes P. F. B.. Linguagens Formais e Autmatos. UFRGS. 3a edio. Editora: Sagra Luzzatto. 2002. Hopcroft, John E. e Motwani, Rajeev. e Ullman, Jeffrey D. Introduo Teoria de Autmatos, Linguagens e Computao. Editora Campus, 2002.

31/32

PRATIQUEM!!!!
O que um homem ouve, entende O que v, lembra E o que pratica, aprende
(provrbio chins)
32/32

Dvidas/Consideraes?
kellyton.professor@gmail.com

S-ar putea să vă placă și