Teoria da Computação Aula 1 Prof. Fabiano Sabha.

Slides:



Advertisements
Apresentações semelhantes
Decidibilidade e Indecidibilidade
Advertisements

FAPE - Curso de Ciência da Computação
FAPE - Curso de Ciência da Computação

Linguagem Fabrício Dias
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
REVISÃO– CONJUNTOS E FUNÇÕES Fabrício Dias
I - Noções dum compilador
I - Noções dum compilador
Prof. Yandre Maldonado e Gomes da Costa
Linguagens Formais e Autômatos
Prof. Yandre Maldonado e Gomes da Costa
Teoria da Computação FIC– Ciência da Computação
Análise Léxica (Parte 2)
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
3 AUTÓMATOS FINITOS.
Teoria dos Conjuntos.
Linguagens Livres de Contexto
autômatos finitos com transições e
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Alfabetos, Palavras e Linguagens
Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011
CONJUNTOS Prof.Alexandre Mello.
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Noção de conjuntos, suas representações e conceitos fundamentais
MATEMÁTICA UNIDADE 2 Conteúdo: Matrizes Duração: 10 40’ 04/04/13
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Aprendizado de Máquina Aula 8
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Fundamentos de Matemática Ciências Biológicas Prof. Marco Marins
1º Período Fundamentos de Matemática Prof. Marco Marins
Compiladores, Aula Nº 5 João M. P. Cardoso
Matemática Discreta I BCC101
Aspectos Formais da Computação CCO 410
Gramáticas Livres de Contexto
Informática Teórica Engenharia da Computação
Ling. Formais e Autômatos AFN-ε
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Teoria da Computação Prof. Fabiano Sabha.
Teoria da Computação Aula 3 Prof. Fabiano Sabha.
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
Expressões Regulares e Gramáticas
Inteligência Artificial
Capítulo II Gramáticas e Linguagens
Campus de Caraguatatuba Aula 2: Somatório e Produtório
Máquina de Turing Universal
Matemática I AULA 1 Profª Karine R. de Souza ..
André Luiz da Costa Carvalho
2 Probabilidade Albertazzi.Probabilidade. (2.1).
CONJUNTO Um conjunto se pode entender como uma coleção ou agrupamento bem definido de objetos de qualquer classe. Os objetos que formam um conjunto são.
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Linguagens Formais e Compiladores
LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
Linguagens Formais - aula 02
Engenharia/Ciência da Computação
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Operações com conjuntos Informações importantes. Igualdade de conjuntos Dois conjuntos A e B são considerados iguais quando tem a mesma quantidade de.
COMPILADORES 03 Prof. Marcos.
Administração - UFMT Modalidade – Educação a Distância
Informática Teórica Engenharia da Computação
INTRODUÇÃO AO CÁLCULO CONJUNTOS NUMERICOS.
CONJUNTOS.
Conjuntos Prof. Dirceu Melo.
Matemática Discreta I BCC101 Teoria de Conjuntos.
Transcrição da apresentação:

Teoria da Computação Aula 1 Prof. Fabiano Sabha

Introdução e Conceitos Básicos Alfabeto; Cadeia de símbolos, palavra; Conteúdo Introdução e Conceitos Básicos Alfabeto; Cadeia de símbolos, palavra; Linguagem formal; Palavras e Subpalavras; Concatenações;e Exercícios de Fixação. Prof. Fabiano Sabha

O que é Teoria da Computação? Pode ser vista como um guia (um roteiro) que nos orienta no sentido de informar o que pode e o que não pode ser efetivamente computável, explicando porque, de que forma e com que complexidade. Neste sentido, a Teoria da Computação classifica os problemas computacionais em três classes:

Classes dos problemas computacionais Problemas Indecidíveis (ou impossíveis de serem solucionados); Problemas Intratáveis (possíveis com recursos ilimitados, porém impossíveis com recursos limitados); Problemas Tratáveis (possíveis de serem solucionadas com recursos limitados). Esta classificação engloba problemas de toda a natureza, envolvendo desde problemas clássicos que fundamentam a teoria da computação até problemas (ou instâncias de problemas) práticos da ciência da computação, tais como:

Problemas computacionais Existe programa para solucionar um determinado problema? Qual o poder de expressão de um determinado modelo de especificação? Dado um programa qualquer, ele sempre tem parada garantida? Dois programas P1 e P2 são equivalentes entre si? Uma determinada solução é a melhor solução para um dado problema? Qual o significado de um determinado programa? Dado um programa qualquer, este programa está correto?

O Propósito da Teoria da Computação Formalização dos conceitos de programa e de máquina Existem diferentes computadores, com diferentes arquiteturas, e existem diversos tipos de linguagens de programação, Modelos matemáticos simples. Programas e máquinas são tratados como entidades distintas, mas complementares e necessárias para a definição de computação.

Conceitos Básicos - Conjuntos Conjunto é um grupo de objetos representado como uma unidade. Os conjuntos podem conter qualquer tipo de objeto. Esses objetos são chamados de elementos ou membros. {7,21,57} – é a notação de um conjunto que contem os elementos ou membros 7, 21, e 57, a ordem não importa. Alguns símbolos : Pertence e não Pertence Subconjunto e Subconjunto próprio União Interseção

Conceitos Básicos - Conjuntos Multiconjunto: Consideramos a repetição dos elementos Conjunto Finito: Contém uma quantidade finita de elementos Conjunto Infinito: Contém uma quantidade infinita elementos Conjunto Vazio: conjunto sem elementos Conjuntos “elementares” Conjunto dos números naturais {1,2,3...} Conjunto dos números inteiros {...,-2 ,-1,0,1,2...}

Conceitos Básicos - Alfabeto Para o nosso propósito definimos um ALFABETO como podendo ser qualquer conjunto finito não vazio. Normalmente usamos a letra grega ∑ (sigma) para designar alfabetos, como nos exemplos abaixo: ∑ = {0,1} ∑ = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,z}

Cadeia de Símbolos, palavra Uma Cadeia de Símbolos sobre um conjunto é uma seqüência de zero ou mais símbolos (do conjunto) justapostos. Uma Cadeia de Símbolos Finita é usualmente denominada de Palavra. ε (epsilon) Representa uma cadeia ou palavra vazia. Se ∑ representa um conjunto de símbolos (um alfabeto), ∑ * denota o conjunto de todas as palavras possíveis sobre ∑; ∑+ denota ∑* - {ε}

Comprimento ou Tamanho de uma Palavra. O Comprimento ou Tamanho de uma palavra w, representado por |w|, É o número de símbolos que compõem a palavra. Exemplos: |011| = 3 | | = 0 |abba| = 4 Palavra de comprimento zero = palavra nula = 0;

Prefixo, Sufixo e Subpalavra Um Prefixo (respectivamente, Sufixo) de uma palavra é qualquer seqüência inicial (respectivamente, final) de símbolos da palavra. Uma Subpalavra de uma palavra é qualquer seqüência de símbolos contígüa da palavra. Exemplos: abcb é uma palavra sobre o alfabeto {a, b, c}; Qualquer prefixo ou sufixo de uma palavra é uma sub-palavra. Se ∑ = {a, b}, então: ∑ + = {a, b, aa, ab, ba, bb, aaa,...} , a, ab, abc, abcb são os prefixos; , b, cb, bcb, abcb são os respectivos sufixos.

SubPalavras Subpalavra = Qualquer cadeia finita de símbolos de constante em W. Uma palavra x é subpalavra de y e escrevemos x<<y. Se existirem palavras u e v tal que u x v= y Exemplo: 415 << 415  u =0 ; v = 0; 755 << 37554  u = 3; v =4;

Concatenação A Concatenação de Palavras é uma operação binária, definida sobre uma linguagem L, a qual associa a cada par de palavras uma palavra formada pela justaposição da primeira com a segunda tal que: é associativa; v(wt) = (vw)t = vwt possui elemento neutro à esquerda e à direita, o qual é a palavra vazia. ε w = w = w ε

Suponha o alfabeto ∑ = {a, b}. Concatenação Exemplos: Suponha o alfabeto ∑ = {a, b}. Então, para as palavras v = baaaa e w = bb, tem-se que: a) vw = baaaabb b) v ε = v = baaaa c) w4 = bbbbbbbb (concatenação sucessiva) 35 8 = 358 e cas a = casa Note que: 0 x = x 0 = x e x (y z) = (x y) z

Linguagem Formal Uma Linguagem Formal ou simplesmente Linguagem é um conjunto de palavras sobre um alfabeto. Exemplo Suponha o alfabeto ∑ = {a, b}. Então: a) O conjunto vazio e o conjunto formado pela palavra vazia são linguagens sobre ∑. Obviamente, { } ¹ { e }. b) O conjunto de palíndromos (palavras que têm a mesma leitura da esquerda para a direita e vice-versa) sobre å é um exemplo de linguagem infinita. e, a, b, aa, bb, aaa, aba, bab, bbb, aaaa,...

Com suas palavras defina conjunto: Defina: Exercícios de Fixação Com suas palavras defina conjunto: Defina: Multiconjunto: Conjunto Finito: Conjunto Infinito: Conjunto Vazio: O que é uma cadeia de símbolos? O que é um alfabeto? Defina subpalavra.