introdução ao curso - mcta015-13 - linguagens formais e...

55
Formulário Responda o formulário (anônimo) para que eu possa saber um pouco mais sobre vocês . http://abre.ai/2020-lfa1 1

Upload: others

Post on 15-Nov-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Formulário

Responda o formulário (anônimo) para que eu possa saber umpouco mais sobre vocês 🙏.

http://abre.ai/2020-lfa1 1

Page 2: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Introdução ao cursoMCTA015-13 - Linguagens Formais e Autômata

Profa. Carla Negri [email protected]/∼carla.negri

Centro de Matemática, Computação e Cognição – Universidade Federal do ABC

2

Page 3: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?• Teoria da Computabilidade

• O quão bem pode ser computado?• Teoria da Complexidade

3

Page 4: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?

• Teoria dos Autômatos• O que pode ser computado?

• Teoria da Computabilidade• O quão bem pode ser computado?

• Teoria da Complexidade

3

Page 5: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?• Teoria da Computabilidade

• O quão bem pode ser computado?• Teoria da Complexidade

3

Page 6: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?

• Teoria da Computabilidade• O quão bem pode ser computado?

• Teoria da Complexidade

3

Page 7: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?• Teoria da Computabilidade

• O quão bem pode ser computado?• Teoria da Complexidade

3

Page 8: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?• Teoria da Computabilidade

• O quão bem pode ser computado?

• Teoria da Complexidade

3

Page 9: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Teoria da Computação

É uma área da Ciência da Computação que tenta responder“quais são as capacidades e limitações fundamentais doscomputadores?”

• O que é computação?• Teoria dos Autômatos

• O que pode ser computado?• Teoria da Computabilidade

• O quão bem pode ser computado?• Teoria da Complexidade

3

Page 10: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Computação

Page 11: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

O que é Computação (informal)?

O que é Computação (informal)?

• É o processo de solução de um problema por meio de umalgoritmo

4

Page 12: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

O que é Computação (informal)?

O que é Computação (informal)?

• É o processo de solução de um problema por meio de umalgoritmo

4

Page 13: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Problemas vêm em váriossabores:

• Decisão• Otimização• Contagem• Busca• etc

5

Page 14: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Decisão: problema cuja resposta é sim ou não.

• Dado um número, ele é par?• Dado um número, ele é primo?• Dados dois vértices em um grafo, existe caminho entre eles?• Dados dois vértices em um grafo, existe caminho com no

máximo k arestas entre eles?

6

Page 15: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Decisão: problema cuja resposta é sim ou não.

• Dado um número, ele é par?

• Dado um número, ele é primo?• Dados dois vértices em um grafo, existe caminho entre eles?• Dados dois vértices em um grafo, existe caminho com no

máximo k arestas entre eles?

6

Page 16: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Decisão: problema cuja resposta é sim ou não.

• Dado um número, ele é par?• Dado um número, ele é primo?

• Dados dois vértices em um grafo, existe caminho entre eles?• Dados dois vértices em um grafo, existe caminho com no

máximo k arestas entre eles?

6

Page 17: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Decisão: problema cuja resposta é sim ou não.

• Dado um número, ele é par?• Dado um número, ele é primo?• Dados dois vértices em um grafo, existe caminho entre eles?

• Dados dois vértices em um grafo, existe caminho com nomáximo k arestas entre eles?

6

Page 18: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Decisão: problema cuja resposta é sim ou não.

• Dado um número, ele é par?• Dado um número, ele é primo?• Dados dois vértices em um grafo, existe caminho entre eles?• Dados dois vértices em um grafo, existe caminho com no

máximo k arestas entre eles?

6

Page 19: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Otimização: problema que procura a melhor resposta dentretodas as possíveis.

• Dados dois números, qual o maior divisor comum de ambos?• Qual o menor caminho entre dois vértices?• Qual o maior caminho entre dois vértices?• Dado um conjunto de itens valorados e um recipiente com

capacidade finita, qual o maior valor obtido ao escolher itensque caibam no recipiente?

7

Page 20: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Otimização: problema que procura a melhor resposta dentretodas as possíveis.

• Dados dois números, qual o maior divisor comum de ambos?

• Qual o menor caminho entre dois vértices?• Qual o maior caminho entre dois vértices?• Dado um conjunto de itens valorados e um recipiente com

capacidade finita, qual o maior valor obtido ao escolher itensque caibam no recipiente?

7

Page 21: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Otimização: problema que procura a melhor resposta dentretodas as possíveis.

• Dados dois números, qual o maior divisor comum de ambos?• Qual o menor caminho entre dois vértices?

• Qual o maior caminho entre dois vértices?• Dado um conjunto de itens valorados e um recipiente com

capacidade finita, qual o maior valor obtido ao escolher itensque caibam no recipiente?

7

Page 22: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Otimização: problema que procura a melhor resposta dentretodas as possíveis.

• Dados dois números, qual o maior divisor comum de ambos?• Qual o menor caminho entre dois vértices?• Qual o maior caminho entre dois vértices?

• Dado um conjunto de itens valorados e um recipiente comcapacidade finita, qual o maior valor obtido ao escolher itensque caibam no recipiente?

7

Page 23: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Otimização: problema que procura a melhor resposta dentretodas as possíveis.

• Dados dois números, qual o maior divisor comum de ambos?• Qual o menor caminho entre dois vértices?• Qual o maior caminho entre dois vértices?• Dado um conjunto de itens valorados e um recipiente com

capacidade finita, qual o maior valor obtido ao escolher itensque caibam no recipiente?

7

Page 24: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Contagem: problema cuja resposta é o número de soluçõespossíveis.

• Dado um número, quantos divisores ele possui?• Dado um número, quantos fatores primos ele possui?• Dados dois vértices em um grafo, quantos caminhos existem

entre ambos?

8

Page 25: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Contagem: problema cuja resposta é o número de soluçõespossíveis.

• Dado um número, quantos divisores ele possui?

• Dado um número, quantos fatores primos ele possui?• Dados dois vértices em um grafo, quantos caminhos existem

entre ambos?

8

Page 26: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Contagem: problema cuja resposta é o número de soluçõespossíveis.

• Dado um número, quantos divisores ele possui?• Dado um número, quantos fatores primos ele possui?

• Dados dois vértices em um grafo, quantos caminhos existementre ambos?

8

Page 27: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Contagem: problema cuja resposta é o número de soluçõespossíveis.

• Dado um número, quantos divisores ele possui?• Dado um número, quantos fatores primos ele possui?• Dados dois vértices em um grafo, quantos caminhos existem

entre ambos?

8

Page 28: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Qualquer tipo de problema pode ser transformado em (reduzido a) umproblema de decisão equivalente.

Caixeiro Viajante – Otimização

• Entrada: Grafo G e função de custos c : E(G) → R+.

• Saída: Um ciclo hamiltoniano sobre G de custo mínimo.

Caixeiro Viajante – Decisão

• Entrada: Grafo G, função de custos c : E(G) → R+, e númeror ∈ R+.

• Saída: SIM se existe ciclo hamiltoniano em G de custo menor doque r; NÃO caso contrário.

Por isso, podemos nos restringir a problemas de decisão.

9

Page 29: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Qualquer tipo de problema pode ser transformado em (reduzido a) umproblema de decisão equivalente.

Caixeiro Viajante – Otimização

• Entrada: Grafo G e função de custos c : E(G) → R+.

• Saída: Um ciclo hamiltoniano sobre G de custo mínimo.

Caixeiro Viajante – Decisão

• Entrada: Grafo G, função de custos c : E(G) → R+, e númeror ∈ R+.

• Saída: SIM se existe ciclo hamiltoniano em G de custo menor doque r; NÃO caso contrário.

Por isso, podemos nos restringir a problemas de decisão.

9

Page 30: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Qualquer tipo de problema pode ser transformado em (reduzido a) umproblema de decisão equivalente.

Caixeiro Viajante – Otimização

• Entrada: Grafo G e função de custos c : E(G) → R+.

• Saída: Um ciclo hamiltoniano sobre G de custo mínimo.

Caixeiro Viajante – Decisão

• Entrada: Grafo G, função de custos c : E(G) → R+, e númeror ∈ R+.

• Saída: SIM se existe ciclo hamiltoniano em G de custo menor doque r; NÃO caso contrário.

Por isso, podemos nos restringir a problemas de decisão.

9

Page 31: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tipos de problemas

Qualquer tipo de problema pode ser transformado em (reduzido a) umproblema de decisão equivalente.

Caixeiro Viajante – Otimização

• Entrada: Grafo G e função de custos c : E(G) → R+.

• Saída: Um ciclo hamiltoniano sobre G de custo mínimo.

Caixeiro Viajante – Decisão

• Entrada: Grafo G, função de custos c : E(G) → R+, e númeror ∈ R+.

• Saída: SIM se existe ciclo hamiltoniano em G de custo menor doque r; NÃO caso contrário.

Por isso, podemos nos restringir a problemas de decisão.

9

Page 32: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Sobre o curso

Page 33: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tudo é número string!

Strings podem representar qualquer objeto:

• Números: 5 → “5” ou “00110101” ou “101”, etc …

• Polinômios: 4x2 + 3y − 5 → “4x^2 + 3y - 5” ou“3,2,4x2+3y1-5y0” …

• Grafos:

a bc

d→ “({a,b,c,d},{ab,bc,cd,bd,ad})”

• Imagens:

10

Page 34: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tudo é número string!

Strings podem representar qualquer objeto:

• Números: 5 → “5” ou “00110101” ou “101”, etc …• Polinômios: 4x2 + 3y − 5 → “4x^2 + 3y - 5” ou

“3,2,4x2+3y1-5y0” …

• Grafos:

a bc

d→ “({a,b,c,d},{ab,bc,cd,bd,ad})”

• Imagens:

10

Page 35: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tudo é número string!

Strings podem representar qualquer objeto:

• Números: 5 → “5” ou “00110101” ou “101”, etc …• Polinômios: 4x2 + 3y − 5 → “4x^2 + 3y - 5” ou

“3,2,4x2+3y1-5y0” …• Grafos:

a bc

d→ “({a,b,c,d},{ab,bc,cd,bd,ad})”

• Imagens:

10

Page 36: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Tudo é número string!

Strings podem representar qualquer objeto:

• Números: 5 → “5” ou “00110101” ou “101”, etc …• Polinômios: 4x2 + 3y − 5 → “4x^2 + 3y - 5” ou

“3,2,4x2+3y1-5y0” …• Grafos:

a bc

d→ “({a,b,c,d},{ab,bc,cd,bd,ad})”

• Imagens:

10

Page 37: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Linguagens formais …

Linguagem formalQualquer conjunto de strings sobre um alfabeto.

L = {010, 11, 0, 100, 01}

T = {banana,melancia, abacate, cereja}

C = {if, while, int, main}

11

Page 38: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Linguagens formais …

Qualquer problema de decisão pode ser representado por umconjunto que contém strings que representam suas instâncias sim.

• P = {2, 3, 5, 7, 11, 13, 17, 19, . . .}• Decidir se um número n é primo ≡ decidir se n ∈ P

Em outras palavras, linguagens formalizam problemas.

Computação (formal): decidir se uma string pertence àlinguagem.

12

Page 39: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Linguagens formais …

Qualquer problema de decisão pode ser representado por umconjunto que contém strings que representam suas instâncias sim.

• P = {2, 3, 5, 7, 11, 13, 17, 19, . . .}• Decidir se um número n é primo ≡ decidir se n ∈ P

Em outras palavras, linguagens formalizam problemas.

Computação (formal): decidir se uma string pertence àlinguagem.

12

Page 40: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Linguagens formais …

Qualquer problema de decisão pode ser representado por umconjunto que contém strings que representam suas instâncias sim.

• P = {2, 3, 5, 7, 11, 13, 17, 19, . . .}• Decidir se um número n é primo ≡ decidir se n ∈ P

Em outras palavras, linguagens formalizam problemas.

Computação (formal): decidir se uma string pertence àlinguagem.

12

Page 41: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

e autômata!

AutômatosMáquinas (modelos matemáticos) abstratas que reconhecempalavras de uma linguagem.

S1 S2

a

bS1

S2

S3

0

1

01

0

• Quais linguagens podem ser reconhecidas em cada autômato?

13

Page 42: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

e autômata!

AutômatosMáquinas (modelos matemáticos) abstratas que reconhecempalavras de uma linguagem.

S1 S2

a

bS1

S2

S3

0

1

01

0

• Quais linguagens podem ser reconhecidas em cada autômato?

13

Page 43: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Autômatos (ou máquinas de estados)

• Abstraem detalhes de implementação dos computadores.• Introduzem conceitos relevantes a outras áreas e aplicações:

• Projeto de linguagens de programação (compiladores)• Processamento de linguagem natural• Análise de texto (Parsing)• Projeto e verificação de circuitos e sistemas digitais

ON OFF

botão

botão

Fechada

Aberta

Sinal sonoro

abriu

fechou30s

botão

fechou

14

Page 44: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Máquinas de Turing

Máquinas de TuringAutômatos com a mesma capacidade de computação doscomputadores de hoje.

Explorar os limites da computação:

• Decidibilidade (o que pode ser computado?)• Problema da Parada: Dado um programa P e uma entrada I

para P. O programa P quando alimentado com a entrada Ipara ou entre em loop?

• Tratabilidade (quão eficiente algo pode ser computado?)• Complexidade• P vs NP

15

Page 45: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Máquinas de Turing

Máquinas de TuringAutômatos com a mesma capacidade de computação doscomputadores de hoje.

Explorar os limites da computação:

• Decidibilidade (o que pode ser computado?)• Problema da Parada: Dado um programa P e uma entrada I

para P. O programa P quando alimentado com a entrada Ipara ou entre em loop?

• Tratabilidade (quão eficiente algo pode ser computado?)• Complexidade• P vs NP

15

Page 46: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Máquinas de Turing

Máquinas de TuringAutômatos com a mesma capacidade de computação doscomputadores de hoje.

Explorar os limites da computação:

• Decidibilidade (o que pode ser computado?)

• Problema da Parada: Dado um programa P e uma entrada Ipara P. O programa P quando alimentado com a entrada Ipara ou entre em loop?

• Tratabilidade (quão eficiente algo pode ser computado?)• Complexidade• P vs NP

15

Page 47: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Máquinas de Turing

Máquinas de TuringAutômatos com a mesma capacidade de computação doscomputadores de hoje.

Explorar os limites da computação:

• Decidibilidade (o que pode ser computado?)• Problema da Parada: Dado um programa P e uma entrada I

para P. O programa P quando alimentado com a entrada Ipara ou entre em loop?

• Tratabilidade (quão eficiente algo pode ser computado?)• Complexidade• P vs NP

15

Page 48: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Máquinas de Turing

Máquinas de TuringAutômatos com a mesma capacidade de computação doscomputadores de hoje.

Explorar os limites da computação:

• Decidibilidade (o que pode ser computado?)• Problema da Parada: Dado um programa P e uma entrada I

para P. O programa P quando alimentado com a entrada Ipara ou entre em loop?

• Tratabilidade (quão eficiente algo pode ser computado?)• Complexidade• P vs NP 15

Page 49: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Recomendação

• Oficial: Programação Estruturada

• Real: Matemática Discreta e Algoritmos e Estruturas deDados 1

• Sonho da professora : Matemática Discreta, Algoritmose Estruturas de Dados 1, Análise de Algoritmos e Teoria dosGrafos.

16

Page 50: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Recomendação

• Oficial: Programação Estruturada• Real: Matemática Discreta e Algoritmos e Estruturas de

Dados 1

• Sonho da professora : Matemática Discreta, Algoritmose Estruturas de Dados 1, Análise de Algoritmos e Teoria dosGrafos.

16

Page 51: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Recomendação

• Oficial: Programação Estruturada• Real: Matemática Discreta e Algoritmos e Estruturas de

Dados 1

• Sonho da professora : Matemática Discreta, Algoritmose Estruturas de Dados 1, Análise de Algoritmos e Teoria dosGrafos.

16

Page 52: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Sobre as aulas

• Conteúdo no quadro• Recursos extras sempre estarão disponíveis no site• Seguem o livro do Sipser, “Introdução à teoria da

computação”, disponível na biblioteca

17

Page 53: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Sobre as aulas

• Dependem da sua participação• Qualquer pergunta é sempre bem-vinda• Feedbacks também• Não deixe dúvidas acumularem

• Espero que você• Respeite os horários• Faça as listas de exercícios• Seja autor das suas soluções• User os horários de atendimento (procure ajuda)• Não assine a lista de presença por outros

18

Page 54: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Sobre as aulas

• Dependem da sua participação• Qualquer pergunta é sempre bem-vinda• Feedbacks também• Não deixe dúvidas acumularem

• Espero que você• Respeite os horários• Faça as listas de exercícios• Seja autor das suas soluções• User os horários de atendimento (procure ajuda)• Não assine a lista de presença por outros

18

Page 55: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/... · 2020. 2. 14. · Introdução ao curso MCTA015-13 - Linguagens

Informações

professor.ufabc.edu.br/~carla.negri/cursos/2020Q1-LFA/

• Estude bem o conteúdo do site.• Verifique-o com frequência!

19