Introdução à Teoria da Computação

Classificado em Computação

Escrito em em português com um tamanho de 3,17 KB.

Hierarquia de Chomsky

Tipos de Linguagens

Linguagens Regulares: Máquina de estados finitos.

Linguagens Livres de Contexto:

Linguagens Dependentes de Contexto:

Linguagens Irrestritas: Linguagem natural (português, inglês, mandarim) é um exemplo.

Máquina de Turing

A Máquina de Turing é uma quíntupla.

Linguagens Recursivas e Recursivamente Enumeráveis

Se uma linguagem é recursiva, então também é recursivamente enumerável.

Hipótese de Church

Pergunta: Por que ela é chamada de Hipótese de Church ao invés de Teorema de Church?

Resposta: A Hipótese de Church não é um resultado matemático e, portanto, não pode ser provado.

Problemas de Decisão

Problema Solucionável

Um problema é dito solucionável ou totalmente solucionável se existe um algoritmo que solucione o problema, sempre para qualquer entrada, com uma resposta afirmativa (aceita) ou negativa (rejeita).

Problema Não Solucionável

Um problema é dito não solucionável se não existe um algoritmo que solucione o problema, tal que sempre pare, qualquer que seja a entrada.

Problema Parcialmente Solucionável ou Computável

Um problema é dito parcialmente solucionável ou computável se existe um algoritmo que solucione o problema, tal que pare quando a resposta é afirmativa (aceita). Entretanto, quando a resposta esperada for negativa, o algoritmo pode parar (rejeita) ou permanecer processando indefinidamente.

Problema Completamente Insolúvel

Um problema é dito completamente insolúvel ou não computável se não existe um algoritmo que solucione o problema, tal que pare quando a resposta é afirmativa.

Observações:

  • Alguns problemas não solucionáveis são parcialmente solucionáveis.
  • Existem problemas não solucionáveis que possuem solução parcial.
  • A classe dos problemas solucionáveis é equivalente à classe das linguagens recursivas.
  • A classe dos problemas parcialmente solucionáveis é equivalente à classe das linguagens recursivamente enumeráveis.

Linguagem Recursiva e Turing-Enumerável

Uma linguagem é recursiva se e somente se for Turing-enumerável lexicograficamente.

Ciclo Hamiltoniano

Problema: Dado um grafo G, existe um ciclo que passe por todos os nós de G exatamente uma vez?

O único algoritmo conhecido para este problema consiste em examinar todas as permutações possíveis dos nós e para cada permutação, verificar se trata de um ciclo Hamiltoniano. Trata-se, portanto, de um problema O(n!).

Classes de Complexidade

Definição da Classe P

P é a coleção de todos os conjuntos reconhecíveis por Máquinas de Turing em tempo polinomial.

Definição da Classe NP

NP é a coleção de todos os conjuntos reconhecíveis por máquinas de Turing não determinísticas em tempo polinomial.

Completude NP – Problemas NP-Difíceis

Completude NP – Problemas NP-Difíceis – O Teorema de Gödel

Entradas relacionadas: