1 / 17

Teoria da Computação

Teoria da Computação. Aula 1. 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. O que é Teoria da Computação?.

varden
Télécharger la présentation

Teoria da Computação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoria da Computação Aula1

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

  3. 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:

  4. 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:

  5. 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?

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

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

  8. 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...}

  9. 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}

  10. 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 ∑* - {ε}

  11. 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;

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

  13. 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;

  14. 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 ε

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

  16. 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,...

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

More Related