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

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

Upload: others

Post on 13-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Formulário

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

http://abre.ai/2020-lfa2

1

Page 2: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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

Prof. Maycon [email protected]

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/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Sobre Mim

Maycon Sambinelli• ✉ E-mail: [email protected]• 🏢 Sala: 518-2, Bloco A, Torre 2• 💻 Page: http://professor.ufabc.edu.br/~m.sambinelli

3

Page 4: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 5: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 6: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 7: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 8: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 9: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 10: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Teoria da Computação

“quais são as capacidades e limitações fundamentaisda computação?”

• 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

4

Page 11: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

O que é Computação (informal)?

O que é Computação (informal)?

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

5

Page 12: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

O que é Computação (informal)?

O que é Computação (informal)?

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

5

Page 13: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

Problemas vêm em váriossabores:• Decisão• Otimização• Contagem• Busca• etc

6

Page 14: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 entreeles?

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

7

Page 15: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 entreeles?

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

7

Page 16: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 entreeles?

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

7

Page 17: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 entreeles?

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

7

Page 18: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 entreeles?

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

7

Page 19: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

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

• 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 escolheritens que caibam no recipiente?

8

Page 20: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

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

• 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 escolheritens que caibam no recipiente?

8

Page 21: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

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

• 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 escolheritens que caibam no recipiente?

8

Page 22: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

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

• 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 escolheritens que caibam no recipiente?

8

Page 23: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

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

• 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 escolheritens que caibam no recipiente?

8

Page 24: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 caminhosexistem entre ambos?

9

Page 25: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 caminhosexistem entre ambos?

9

Page 26: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 caminhosexistem entre ambos?

9

Page 27: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 caminhosexistem entre ambos?

9

Page 28: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

Caixeiro Viajante – Otimização• Entrada: Um grafo Kn = (V,E) e uma função de custos

f : E → R+

• Saída: Um tour (ciclo hamiltoniano) sobre Kn de custo mínimo

Caixeiro Viajante – Decisão• Entrada: Um grafo Kn = (V,E), uma função de custos

f : E → R+, e um número r ∈ R+

• Saída: SIM se existe um tour sobre Kn com custo menor que r;NÃO caso contrário.

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

10

Page 29: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

Caixeiro Viajante – Otimização• Entrada: Um grafo Kn = (V,E) e uma função de custos

f : E → R+

• Saída: Um tour (ciclo hamiltoniano) sobre Kn de custo mínimo

Caixeiro Viajante – Decisão• Entrada: Um grafo Kn = (V,E), uma função de custos

f : E → R+, e um número r ∈ R+

• Saída: SIM se existe um tour sobre Kn com custo menor que r;NÃO caso contrário.

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

10

Page 30: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

Caixeiro Viajante – Otimização• Entrada: Um grafo Kn = (V,E) e uma função de custos

f : E → R+

• Saída: Um tour (ciclo hamiltoniano) sobre Kn de custo mínimo

Caixeiro Viajante – Decisão• Entrada: Um grafo Kn = (V,E), uma função de custos

f : E → R+, e um número r ∈ R+

• Saída: SIM se existe um tour sobre Kn com custo menor que r;NÃO caso contrário.

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

10

Page 31: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tipos de problemas

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

Caixeiro Viajante – Otimização• Entrada: Um grafo Kn = (V,E) e uma função de custos

f : E → R+

• Saída: Um tour (ciclo hamiltoniano) sobre Kn de custo mínimo

Caixeiro Viajante – Decisão• Entrada: Um grafo Kn = (V,E), uma função de custos

f : E → R+, e um número r ∈ R+

• Saída: SIM se existe um tour sobre Kn com custo menor que r;NÃO caso contrário.

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

Page 32: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tudo é número string!

Strings podem representar qualquer objeto:

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

• Polinômios: 4x2 + 3y − 5 → “4x^2 + 3y - 5”• Grafos:

a bc

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

• Imagens

11

Page 33: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tudo é número string!

Strings podem representar qualquer objeto:

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

• Grafos:

a bc

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

• Imagens

11

Page 34: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tudo é número string!

Strings podem representar qualquer objeto:

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

a bc

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

• Imagens

11

Page 35: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tudo é número string!

Strings podem representar qualquer objeto:

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

a bc

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

• Imagens

11

Page 36: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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}

12

Page 37: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Linguagens formais

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

• 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.

13

Page 38: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Linguagens formais

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

• 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.

13

Page 39: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Linguagens formais

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

• 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.

13

Page 40: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Linguagens formais e autômata

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

S1 S2

a

b

S1

S2

S3

0

10

1

0

• Quais linguagens podem ser reconhecidas em cadamáquina?

14

Page 41: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Linguagens formais e autômata

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

S1 S2

a

b

S1

S2

S3

0

10

1

0

• Quais linguagens podem ser reconhecidas em cadamáquina?

14

Page 42: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 ParadaDado um programa P e uma entrada I para P. O programa Pquando alimentado com a entrada I para ou entre em loop?

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

15

Page 43: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 ParadaDado um programa P e uma entrada I para P. O programa Pquando alimentado com a entrada I para ou entre em loop?

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

15

Page 44: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 ParadaDado um programa P e uma entrada I para P. O programa Pquando alimentado com a entrada I para 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/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 ParadaDado um programa P e uma entrada I para P. O programa Pquando alimentado com a entrada I para 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/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

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 ParadaDado um programa P e uma entrada I para P. O programa Pquando alimentado com a entrada I para 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/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Aplicações Mundanas

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

16

Page 48: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Aplicações Mundanas

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

16

Page 49: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Aplicações Mundanas

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

16

Page 50: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Aplicações Mundanas

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

16

Page 51: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Sobre o Curso

Page 52: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Recomendação

• Oficial: Programação Estruturada

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

•Matemática Discreta, Algoritmos e Estruturasde Dados 1, Análise de Algoritmos e Teoriados Grafos.

17

Page 53: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Recomendação

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

•Matemática Discreta, Algoritmos e Estruturasde Dados 1, Análise de Algoritmos e Teoriados Grafos.

17

Page 54: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Recomendação

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

•Matemática Discreta, Algoritmos e Estruturasde Dados 1, Análise de Algoritmos e Teoriados Grafos.

17

Page 55: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Sobre as aulas

Page 56: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Livro Texto

• “Introduction to Theory of Computation” – 2nd edition

• Tradução: “Introdução à teoria da computação”

• Disponível na biblioteca

18

Page 57: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Critério de Avaliação

MF = .5 × P1 + .5 × P2

• MF é a média final antes da REC

• P1 é a nota da primeira avaliação

• P2 é a nota da segunda avaliação

Seu conceito final será:

• A, se MF ≥ 8.5

• B, se 7.0 ≤ MF < 8.5

• C, se 6.0 ≤ MF < 7.0

• D, se 5.0 ≤ MF < 6.0

• F, se MF < 5.0

• O, se ausência total exceder 25%

19

Page 58: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Critério de Avaliação

MF = .5 × P1 + .5 × P2

• MF é a média final antes da REC

• P1 é a nota da primeira avaliação

• P2 é a nota da segunda avaliação

Seu conceito final será:

• A, se MF ≥ 8.5

• B, se 7.0 ≤ MF < 8.5

• C, se 6.0 ≤ MF < 7.0

• D, se 5.0 ≤ MF < 6.0

• F, se MF < 5.0

• O, se ausência total exceder 25%

19

Page 59: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Critério de Avaliação

MF = .5 × P1 + .5 × P2

• MF é a média final antes da REC

• P1 é a nota da primeira avaliação

• P2 é a nota da segunda avaliação

Seu conceito final será:

• A, se MF ≥ 8.5

• B, se 7.0 ≤ MF < 8.5

• C, se 6.0 ≤ MF < 7.0

• D, se 5.0 ≤ MF < 6.0

• F, se MF < 5.0

• O, se ausência total exceder 25%

19

Page 60: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Critério de Avaliação

MF = .5 × P1 + .5 × P2

• MF é a média final antes da REC

• P1 é a nota da primeira avaliação

• P2 é a nota da segunda avaliação

Seu conceito final será:

• A, se MF ≥ 8.5

• B, se 7.0 ≤ MF < 8.5

• C, se 6.0 ≤ MF < 7.0

• D, se 5.0 ≤ MF < 6.0

• F, se MF < 5.0

• O, se ausência total exceder 25%

19

Page 61: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Critério de Avaliação

MF = .5 × P1 + .5 × P2

• MF é a média final antes da REC

• P1 é a nota da primeira avaliação

• P2 é a nota da segunda avaliação

Seu conceito final será:

• A, se MF ≥ 8.5

• B, se 7.0 ≤ MF < 8.5

• C, se 6.0 ≤ MF < 7.0

• D, se 5.0 ≤ MF < 6.0

• F, se MF < 5.0

• O, se ausência total exceder 25% 19

Page 62: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Mecanismo de Recuperação

MFR = max{MF, (MF + 2 × NR)/3}

• MFR é a sua média final com a REC• NR é a nota da REC

• Alunos com D ou F têm direito a REC

20

Page 63: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Mecanismo de Recuperação

MFR = max{MF, (MF + 2 × NR)/3}

• MFR é a sua média final com a REC• NR é a nota da REC

• Alunos com D ou F têm direito a REC

20

Page 64: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Listas de Exercícios

• Listas de exercícios no site!

• Não vale pontos

21

Page 65: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Listas de Exercícios

• Listas de exercícios no site!• Não vale pontos

21

Page 67: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

Page 68: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas

• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 69: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios

• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 70: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)

• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 71: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário

• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 72: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 73: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte

• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 74: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida

• Tenha uma agenda!

23

Page 75: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Tirando um A 😎

• Compareça as aulas• Faça as listas de exercícios• Use os horários de atendimento (procure ajuda)• Respeite os horário• Planeje seus estudos

• Revise o material da aula teórica no dia seguinte• Fazer a lista + tempo para tirar dúvida• Tenha uma agenda!

23

Page 76: Introdução ao curso - MCTA015-13 - Linguagens Formais e …professor.ufabc.edu.br/~m.sambinelli/courses/2020Q1-LFA/... · 2020-05-21 · Introduçãoaocurso MCTA015-13-LinguagensFormaiseAutômata

Maratona e Matemática

24