Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Teoria da Computação: Introdução e Autômatos Finitos, Notas de aula de Informática

Uma introdução básica à teoria da computação, incluindo o que é computação e teoria, propriedades matemáticas fundamentais de sistemas computacionais, modelos computacionais e suas limitações, exemplos de problemas computacionais, solubilidade e complexidade. Além disso, aborda o estudo de autômatos finitos, seus modelos, onde eles são usados e como funciona a disciplina.

Tipologia: Notas de aula

2013

Compartilhado em 15/03/2013

samuel-santos-98
samuel-santos-98 🇧🇷

5

(5)

44 documentos

1 / 36

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Teoria da Computação
Universidade Federal de Campina Grande UFCG
Centro de Engenharia Elétrica e Informática CEEI
Departamento de Sistemas e Computação DSC
Professor: Andrey Brito
Período: 2012.2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24

Pré-visualização parcial do texto

Baixe Teoria da Computação: Introdução e Autômatos Finitos e outras Notas de aula em PDF para Informática, somente na Docsity!

Teoria da Computação

Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Professor: Andrey Brito Período: 2012.

O que é Teoria da Computação?

  • Teoria
    • Estudo matemático, formal, baseado em provas (positivas ou negativas)
    • Geral, independente de tecnologia
    • Abstrato, mental, ignora detalhes “secundários”
  • Computação
    • Execução de um processo que segue um modelo bem definido
    • Ato de calcular

Solubilidade

  • “Indecibilidade”
  • Que problemas podem ser resolvidos por um

computador

  • Não existe um algoritmo
  • Exemplo de problema indecidível (ou insolúvel)
    • Um programa está (semanticamente) correto?
    • Problema da parada: Construir um algoritmo que, dado um programa, avalie se ele pode alcançar um ponto onde fica preso em um loop infinito ou se ele termina para qualquer entrada.

Complexidade

  • Alguns problemas são mais difíceis que

outros: ordenação, escalonamento, fatoração

  • Em que ajuda saber que um problema é

difícil?

  • Isolar qual a dificuldade real e assim mudar levemente o problema pode ajudar
  • Uma solução ótima pode não ser necessária, pior caso pode ser bem diferente do caso comum
  • Você pode também procurar problemas difíceis

FUNCIONAMENTO DA DISCIPLINA

Comunicação

  • Nossa página (calendário, anúncios, slides):

https://sites.google.com/site/ufcgtc

  • Nossa lista de discussão

Comunicação (3)

  • Minha sala: Laboratório de Sistemas

Distribuídos (LSD), bloco CO

  • Quartas-feiras 14-15h, sextas-feiras 16-17h
  • Combine por e-mail
  • Para a maioria das dúvidas a lista é a forma mais indicada de comunicação

Material

  • Site: slides, anúncios, links, plano de aula, listas de exercício
  • Nossos livros
    • Introduction to the Theory of Computation, Michael Sipser (tradução disponível no site)
    • Introdução aos fundamentos da Computação, Newton José Vieira.
    • Elementos de Teoria da Computação, Harry R. Lewis e Christos H. Papadimitrious
    • Introdução à Teoria de Autômatos, Linguagens e Computação, John Hopcroft, Jeffrey Ullman, Rajeev Motwani

Próximas aulas

  • Não teremos aula do dia 3 ao dia 14
  • Primeira prova: dia 21/

AUTÔMATOS FINITOS

Teoria de autômatos finitos

  • Computador vs. modelo computacional
    • Computação: execução de um processo, ato de calcular
    • Sistema real: complexo, muitas variáveis, aspectos fora do controle
    • Modelo: simplificado, realista em alguns aspectos, irrealista em outros, sob controle
  • Um modelo simples para um computador:

máquina de estados finitos

Onde autômatos finitos são usados?

  • AFs reagem às entradas, mas conseguem se

lembrar de apenas poucas coisas

  • Aplicável em:
    • Computadores embarcados simples (eletrodomésticos, sistemas de automação)
    • Compiladores: analisador léxico (quebrar palavras considerando os separadores)
    • Detectar padrões
    • Protocolos de comunicação

Nossa primeira máquina (2)

  • O que é a entrada da nossa máquina?
  • O que ela precisa lembrar?

Nossa primeira máquina (2)

  • O que é a entrada da nossa máquina?
  • O que ela precisa lembrar?
    • Quantas vezes o botão foi apertado?