Documente Academic
Documente Profesional
Documente Cultură
Cincia da Computao
Um ramo da engenharia que estuda (com ajuda dos computadores) processos e estruturas computveis (Priceton Dictionary)
Computao: processos, algoritmos ou medidas
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
6/32
Traduzindo...
8/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
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
Sem falar de
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
Mquinas de Turing
Composta por, basicamente:
Uma fita de entrada Um cabeote, que l/escreve para frente e para trs, na fita
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
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
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