Sei sulla pagina 1di 4

Disciplina

Teoria da Computação

Apresentação
Abordaremos todos os fundamentos, conceitos, elementos e todas as teorias que são a base da computação moderna.
Existe a tendência de enxergarmos a computação apenas como as possibilidades dos programas e aplicativos que
podemos escrever e executar, não importando se determinadas tarefas são ou não factíveis. Desde que tenhamos um
conjunto básico de comandos razoavelmente potentes em uma linguagem, achamos ser possível criar qualquer coisa.

Grandes matemáticos, como Alan Turing (TURING, 1952), Moore e outros, criaram as bases matemáticas para o que hoje
denominamos algoritmos, assim como a de nição e as estruturas das linguagens com as quais escrevemos nossos
programas. Além disso, garantiram, por meio de suas formulações matemáticas, que tais linguagens poderiam e podem
executar qualquer algoritmo, mesmo antes de os computadores terem sido de fato criados.

Para entendermos completamente esses conceitos e essas teorias, precisaremos voltar aos conceitos matemáticos
iniciais básicos da teoria dos conjuntos e ao conhecimento dos grafos, que nos levarão a conhecer e entender os sistemas
de estados e, por m, os autômatos, nos quais são baseadas as máquinas de Turing, arquétipo-base central dos sistemas
computacionais.

Entenderemos de que forma é possível analisar quantitativamente a capacidade de execução dos algoritmos por meio do
conceito de complexidade e das classes de algoritmos computáveis e não computáveis.

Objetivos
Conhecer os fundamentos matemáticos da teoria dos conjuntos na computação e a teoria dos grafos;

Entender o que são autômatos, suas propriedades e seu funcionamento e aprender o que são gramáticas e
linguagens;

Compreender a teoria da computabilidade na Máquina de Turing e a Tese de Church e conhecer a complexidade


computacional e suas classes P e NP.

Conteudista
André Luiz Braga

 Currículo Lattes

Validador: Sidney Nicolau Venturi Filho


Resumos

Aula 1: Fundamentos

Criar a base inicial para o propósito e o entendimento dos fundamentos da teoria da computação. Conheceremos o contexto
teórico do início da teoria da computação, fundamentando, inicialmente, a teoria dos conjuntos, e relacionaremos sua criação
para a resolução de problemas baseados em aspectos reais. Além disso, especi caremos os ramos a serem estudados em
Linguagens Formais, como a linguagem natural e a diferença existente entre as Linguagens Regulares.

Daremos uma visão geral dos conteúdos a serem estudados, como: Autômatos Finitos e Expressões Regulares, Linguagens
Livres de Contexto, Gramática Livre de Contexto, Máquina de Turing e Complexidade.

Aula 2: Teoria dos Grafos – parte 1

Descreveremos os fundamentos dos grafos começando pelo contexto teórico dos alfabetos, suas propriedades, a construção
das linguagens, até entender o conceito de autômatos. Esse conceito será a base para entendermos os grafos, a sua diferença
com as árvores e estabelecermos nossa base para o entendimento posterior do conceito de autômatos.

Aula 3: Teoria dos Grafos – parte 2

Apresentaremos as de nições e propriedades de árvores e sua relação com os sistemas de estados nitos. Entenderemos o
contexto teórico de árvores e descreveremos seus tipos e sua de nição. Em seguida, veremos a sua semelhança na
construção de um autômato, analisando os sistemas de estados nitos e a visão inicial dos seus conceitos.

Aula 4: Autômatos Finitos – parte 1

Entenderemos o contexto teórico de autômatos nitos especi cando as suas propriedades e características. Existem duas
classes fundamentais de autômatos, o autômato nito determinístico e o não determinístico (indeterminístico).
Relacionaremos as propriedades das duas classes, descreveremos as transições de cada um deles e veri caremos a
semelhança na construção de cada um.

Aula 5: Autômatos Finitos – parte 2

Apresentaremos a equivalência entre as classes de autômatos e apontaremos quais suas diferenças e como convertê-los.
Veremos ainda as características de um autômato nito não determinístico com transições espontâneas e como relacionar
suas propriedades com os autômatos nitos determinísticos.
Aula 6: Linguagens Regulares e Livres de Contexto – parte 1

Apresentaremos as expressões regulares, suas propriedades e expandiremos esse conceito com as linguagens regulares e
suas particularidades. Conheceremos o que são as linguagens regulares e as linguagens livres de contexto. Entenderemos as
características das gramáticas que geram as linguagens regulares e os formalismos envolvidos nas etapas de análise léxica e
sintática.

Finalmente, relacionaremos as propriedades com os autômatos de pilhas e as gramáticas livres de contexto

Aula 7: Linguagens Regulares e Livres de Contexto – parte 2

Entenderemos a igualdade das linguagens regulares e a minimização de autômatos nitos determinísticos e autômatos nitos
com saída e relacionaremos isso com as linguagens livres de contexto e os autômatos com pilha. Por m, detalharemos os
procedimentos envolvidos na análise léxica das linguagens.

Aula 8: Teoria da Computabilidade – parte 1

A Máquina de Turing é a implementação de um autômato nito que representa a pedra fundamental da computação. Ela
descreve a forma geral em que qualquer algoritmo possa ser implementado e as propriedades das suas transições de estado.
A Tese de Church analisa e garante a sua computabilidade. Olharemos os conceitos, o funcionamento e os detalhes da
Máquina de Turing, assim como sua fundamentação pela Tese de Church.

Aula 9: Teoria da Computabilidade – parte 2

Continuaremos explorando as características da computabilidade por meio da Máquina de Turing e da Tese de Church
descrevendo as primitivas da computabilidade e não computabilidade.

Aula 10: Complexidade Computacional

Estudaremos a complexidade computacional, ou seja, como medimos a performance perante a escalabilidade dos algoritmos.
Veremos as máquinas de Turing limitadas a tempo e espaço e descreveremos as duas principais classes de complexidade de
algoritmos, as classes P e NP.

Potrebbero piacerti anche