linguagens formais e autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... ·...
TRANSCRIPT
![Page 2: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/2.jpg)
Teoria da Computação
• Discussão prévia fundamental...
O que significa computar?
![Page 3: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/3.jpg)
Teoria da Computação
• Relacionado a pergunta...
• Podemos questionar:
O que significa computar?
O cérebro humano computa informações?
![Page 4: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/4.jpg)
Teoria da Computação
• Relacionado a pergunta...
• Podemos questionar:
O que significa computar?
O abaco é um computador?
![Page 5: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/5.jpg)
Teoria da Computação
• Outra pergunta fundamental sobre a área de computação:
Quais são as capacidades e limitaçõesfundamentais dos computadores?
![Page 6: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/6.jpg)
Teoria da Computação
• Pergunta relacionada:
Quais são as capacidades e limitaçõesfundamentais dos computadores?
Existe maneira de prever „coisas‟ que um computador nunca poderá fazer, independente da evolução tecnológica envolvida?
![Page 7: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/7.jpg)
1930 d.C.
• Esta questão foi intensamente explorada na década de 30 por matemáticos...
▫ Quando os computadores como conhecemos hoje ainda não existiam...
▫ Lembrando a história:
ENIAC: primeiro computador digital eletrônico foi criado em fevereiro de 1946...
Quais são as capacidades e limitaçõesfundamentais dos computadores?
![Page 8: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/8.jpg)
1837 d.c.
• Antes dos matemáticos do século XX, o inglês Charles Babbage construiu máquinas mecânicas que tinha podem de computação básica.
• Uma delas é a Engenho Analítico, que está no Science Museum ofLondon.
▫ http://www.sciencemuseum.org.uk/
![Page 9: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/9.jpg)
Dias de hoje...
• Desde a década de 1930, avanços tecnológicos ampliaramdrasticamente nossa capacidade de computar...
• Existem problemas identificados na década de 1930, quee NUNCA PODEREMOS RESOLVER!!!
Super computador chinês
![Page 10: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/10.jpg)
Teoria da Computação
• O estudo de Teoria da Computação está relacionado com três áreas fundamentais:
▫ Autômatos;
▫ Computabilidade;
▫ Complexidade:
Disciplina LFA
Disciplina PAA
![Page 11: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/11.jpg)
Autômatos
Computabilidade
Complexidade
![Page 12: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/12.jpg)
Teoria dos Autômatos
• “Dentro desta teoria são apresentadas máquinas abstratas que capturam as partes essenciais de máquinas concretas”
• É possível estudar a computação de forma simples
▫ sem entrar nos detalhes de arquiteturas que muitas vezes prejudicam a noção de computação.
![Page 13: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/13.jpg)
Teoria dos Autômatos
• Modelos estudados dentro desta teoria:
▫ Autômatos finitos, usados por exemplo em:
Processamento de texto;
Compiladores;
Projeto de hardware;
Projeto de software.
▫ Autômatos com Pilha, usados por exemplo em:
Linguagens de programação;
Inteligência Artificial.
![Page 14: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/14.jpg)
Teoria dos Autômatos
• Autômatos finitos são bons modelos para computadores com uma quantidade extremamente limitada de memória;
▫ Apesar da limitação é possível resolver uma grande quantidade de problemas com estas máquinas.
![Page 15: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/15.jpg)
Teoria dos Autômatos
• Geralmente a teoria dos autômatos é vista antes das outras duas (computabilidade e complexidade)
• Pois permite praticar definições formais de computação...
Autômatos Computabilidade Complexidade
seqüência dos estudos...
![Page 16: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/16.jpg)
Teoria dos Autômatos
• Se considerarmos que o computador digital tem memória limitada...
▫ seu poder computacional é idêntico a de uma máquina de estados finitos (autômato finito)...
![Page 17: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/17.jpg)
Autômatos
Computabilidade
Complexidade
![Page 18: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/18.jpg)
Teoria da Computabilidade
• Nesta área é investigado o poder na resolução de problemas dos algoritmos:
▫ É apresentado um arcabouço teórico para:
Indicar problemas que podem ser resolvidos através de
algoritmos
Indicar problemas que não podem ser resolvidos através
de algoritmos.
![Page 19: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/19.jpg)
Teoria da Computabilidade
• É comum para um aluno de Ciência da Computação se espantar ao descobrir que certos problemas não podem ser resolvidos por máquinas.
Vocês podem levantar exemplos deste problemas?
![Page 20: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/20.jpg)
Teoria da Computabilidade
• A máquina de Turing, em teoria, possui maior poder computacional que os computadores que conhecemos atualmente.
Por quê?
![Page 21: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/21.jpg)
Autômatos
Computabilidade
Complexidade
![Page 22: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/22.jpg)
Teoria da Complexidade
• Problemas computacionais podem ser divididos em duas classes:
Fáceis Difíceis
![Page 23: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/23.jpg)
Teoria da Complexidade
• Esta classificação nada tem relacionado com a
• que uma pessoa tem para implementar um algoritmo;
• Está relacionado com a capacidade que os computadores tem de resolver o problema em função de duas dimensões:
EspaçoTempo
dificuldadefacilidade
![Page 24: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/24.jpg)
Teoria da Complexidade
• O crescimento do tempo de execução de um programa, em função do tamanho de sua entrada de dados, pode crescer exponencialmente....
Tem
po d
e e
xecução
Tamanho da entra de dados
![Page 25: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/25.jpg)
Teoria da Complexidade
• Este crescimento exponencial torna um algoritmo inutilizável para problemas de médio ou grande porte.
Qual é o aumento no tempo de execução se o algoritmo possui complexidade 2n?
![Page 26: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/26.jpg)
![Page 27: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/27.jpg)
Foco da disciplina dentro da Teoria da Computação
Autômatos Computabilidade Complexidade
![Page 28: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/28.jpg)
Leitura para próxima aula
▫ Capítulos 0.2 do livro Introdução à Teoria da Computação; Michael Spiser Conjuntos
Seqüência e uplas
Funções e relações
Grafos
▫ Capítulo 1 do livro Introdução aos Fundamentos da Computação; Newton Vieira Conjuntos
Relações
Funções
Conjuntos Enumeráveis (conceito importante dentro de LFA)
Grafos
![Page 29: Linguagens Formais e Autômatos - bcc.unifal-mg.edu.brhumberto/disciplinas/2011_1_lfa/aulas/... · Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 02 –Introdução](https://reader033.vdocuments.com.br/reader033/viewer/2022052319/5bb1286309d3f246678d15ac/html5/thumbnails/29.jpg)
Bibliografia
• SIPSER, Michael. Introdução à Teoria da Computação. 2a ed.:São Paulo, Thomson, 2007.
• VIEIRA, Newton José. Introdução aos Fundamentos da Computação: Linguagens e Máquinas. 1a ed.: Rio de Janeiro: Thomson, 2006.