Linguagem (formal) de alfabeto Σ

Documentos relacionados
Revisões de Conjuntos

Modelos de Computação

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Gramáticas ( [HMU00], Cap. 5.1)

Alfabeto, Cadeias, Operações e Linguagens

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e GIC

Noções de grafos (dirigidos)

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

MT como calculadoras de funções parciais

Linguagens Formais - Preliminares

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

Linguaguens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis e recursivas

Teoria da Computação Aula 02 Introdução

Linguagens recursivamente enumeráveis

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Autómatos finitos não determinísticos (AFND)

Linguagens Formais e Problemas de Decisão

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Gramáticas Regulares

Conceitos Básicos. Vocabulário Cadeias Linguagens Problema

Autómatos determísticos de k-pilhas

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Problemas decidíveis para LICs

IBM1088 Linguagens Formais e Teoria da

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Linguagens Formais e Autômatos

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

Outras Máquinas de Turing

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Teoria da Computação Aula 01 Revisão de Conjuntos

Problemas decidíveis para LICs

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Histórico e motivação

Modelos de Computação Folha de trabalho n. 8

Linguagens Formais e Autômatos P. Blauth Menezes

Fundamentos da Teoria da Computação

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Aula1 Noções de matemática Discreta Técnicas de Demonstração. Prof. Dr. Ricardo Luis de Azevedo da Rocha

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

Conceitos básicos de Teoria da Computação

Teoria da Computação

Fundamentos da Teoria da Computação

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

A.Tomás, N.Moreira Modelos de Computação DCC-FCUP

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

SCC-5832 Teoria da Computação

Teoria dos Conjuntos MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES. Fundamentos de Lógica Técnicas Elementares de Prova A NOÇÃO DE CONJUNTO

CAPÍTULO 7 AUTÓMATOS DE PILHA

IBM1088 Linguagens Formais e Teoria da Computação

Aula 7: Autômatos com Pilha

Expressões Regulares e Gramáticas Regulares

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

Definições Exemplos de gramáticas

Fundamentos de Teoria da Computação

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

Linguagens Regulares. Prof. Daniel Oliveira

Exemplos de autómatos finitos

Segunda Lista de Exercícios 2004/2...

Aulas 10 e 11 / 18 e 20 de abril

Linguagens, Reconhecedores e Gramáticas

Álgebra Linear e Geometria Analítica

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

Matemática Discreta para Ciência da Computação

Cálculo Diferencial e Integral I

Linguagens Formais e Autômatos

Universidade Federal de Alfenas

Capítulo 1: Alfabetos, cadeias, linguagens

Apontamentos de Modelos de Computação. Ana Paula Tomás

Tópicos de Matemática. Teoria elementar de conjuntos

Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas

SCC Introdução à Teoria da Computação

CT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...

SCC Teoria da Computação e Linguagens Formais

Conceitos de Análise Sintática

Matemática para Ciência de Computadores

Expressões regulares

Criptografia e Segurança das Comunicações. das Comunicações Bases Matemáticas - Relações e Ordens

Capítulo 1. Introdução e

Entrada Fila Saída Fila Status aabb indiferente aceita bbaa indiferente rejeita abab indiferente rejeita ab indiferente aceita ε indiferente aceita

MATEMÁTICA DISCRETA CONCEITOS PRELIMINARES

Transcrição:

Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou {x x {a, b} com pelo menos um a} {ɛ, ab, ba, abab, aabb, baba, bbaa, abba, baab,...} ou {x x {a, b} com o mesmo número de a e b} Σ Σ n Σ {ɛ} As linguagens podem ser finitas ou infinitas. Dá exemplo de cada... Pretende-se obter representações finitas para as linguagens infinitas, i.e. L = {x Σ x têm a propriedade P } Departamento de Ciência de Computadores da FCUP MC Aula 2 1

Problemas e Linguagens Um problema de decisão equivale a decidir se uma palavra pertence a uma dada linguagem. Portanto podemos identificar problemas e linguagens. Dado um alfabeto Σ e L uma linguagem sobre Σ (L Σ ), o problema L é: Dado w Σ, decidir se w L Exemplo: Primalidade L p L p = {x {0, 1} x é a representação binária de um número primo} Departamento de Ciência de Computadores da FCUP MC Aula 2 2

Revisões de Conjuntos a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, x A x B {a, b} {b, c, a} A B A contém B, B A {b, c, a} {a, b} A = B igualdade de conjuntos, A B e B A {a, b, c} = {b, c, a} A B x tal que x A e x / B ou vice-versa ou {} conjunto vazio #A ou A cardinal de A, número de elementos (finito {a, b, c} = 3 ou infinito) P(A) Conjunto dos subconjuntos de A P({a, b}) = {, {a}, {b}, {a, b}} Partição de A subconjunto de P(A), tal que os elementos são {{a}, {c, b}} não vazios, disjuntos 2 a 2 e a reunião é A A B Produto cartesiano de A e B, conjunto de pares ordenados (a, b), a A e b B R A B Relação binária de A em B Departamento de Ciência de Computadores da FCUP MC Aula 2 3

Operações sobre linguagens Intersecção de A com B A B = {x x A e x B} Reunião de A com B A B = {x x A ou x B} Complementar de B em A A \ B = {x x A e x / B} Complementar de A A, complementar de A em U, quando está impĺıcito um universo U Complementar de A em Σ : {x Σ x / A} Concatenação AB = {xy x A e y B} {a, ab}{b, ba} = {ab, aba, abb, abba} Normalmente AB BA Departamento de Ciência de Computadores da FCUP MC Aula 2 4

As potências L n de L são definidas indutivamente por: L 0 = {ɛ} L n+1 = LL n Isto é, L n = {x 1 x 2... x n x i L, 1 i n}, n 0 {ab, aab} 0 = {ε} {ab, aab} 1 = {ab, aab} {ab, aab} 2 = {abab, abaab, aabab, aabaab} {ab, aab} 3 = {ababab,ababaab,abaabab,aababab, abaabaab,aababaab,aabaabab,aabaabaab} Departamento de Ciência de Computadores da FCUP MC Aula 2 5

Fecho de Kleene O fecho de Kleene L de L é a reunião de todas as potências finitas de L L = L 0 L 1 L 2 L 3... = n 0 L n ou, equivalentemente, L = {x 1 x 2... x n n 0 e x i L, 1 i n} i.e, a linguagem das palavras que são concatenação de palavras de L. Exercício 2.1. Mostrar a equivalência das duas definições. Σ, o conjunto das palavras de alfabeto Σ, é o fecho de Kleene de Σ = {ɛ} {01} = {ɛ, 01, 0101, 010101, 01010101, 0101010101,...} {000} = {ɛ, 000, 000000, 000000000,...} = {0 3n n N} L + é a reunião das potências não nulas de L L + = LL = n 1 L n Departamento de Ciência de Computadores da FCUP MC Aula 2 6

Exercício 2.2. Seja Σ o alfabeto {0, 1}. Sendo A = {10, 11} e B = {00, 1}, determina: A B, AB,BA, A 3, A Exercício 2.3. Seja aaaba uma palavra de alfabeto {a, b}. A que linguagens pertence: (a) {a, b} (b) {aaa, bab}{ba, bb} (c) {aaa} {b} {a} (d) {a} {b} {a} (e) {aa} {a} {a, ba, bb, ɛ} Departamento de Ciência de Computadores da FCUP MC Aula 2 7

Algumas propriedades das operações Associatividade, e concatenação: (A B) C = A (B C), (A B) C = A (B C), (AB)C = A(BC) Comutatividade e (A B) = (B A), (A B) = (B A) é o elemento neutro para a A = A = A é elemento absorvente para a concatenação A = A = Departamento de Ciência de Computadores da FCUP MC Aula 2 8

e distribuem sobre uma sobre a outra (A (B C)) = (A B) (A C), (A (B C)) = (A B) (A C) Concatenação distribui sobre a (mas não sobre ) A(B C) = AB AC Leis de Morgan (A B) = A B, (A B) = A B Se L 1, L 2 Σ e L 1 L 2 então L n 1 L n 2 (n N), e L 1 L 2 Sejam L 1, L 2 Σ. L 1 L 1 L 2 Se ɛ L 1 então L 2 L 1 L 2 e se ɛ L 2 então o fecho de Kleene verifica Departamento de Ciência de Computadores da FCUP MC Aula 2 9

A A = A (A ) = A ({ɛ} A) = A (A B ) = (A B) = {ɛ} Exercício 2.4. Mostra todas as propriedades anteriores. Departamento de Ciência de Computadores da FCUP MC Aula 2 10

Alfabeto Palavra Sumário dos conceitos novos Concatenação Inversa Vazia Linguagem concatenação fecho de Kleene relação com outras operações sobre conjuntos Departamento de Ciência de Computadores da FCUP MC Aula 2 11

Leituras [TM05] (Cap. 1 e 2) [HMU00](Cap 1.5) Referências [HMU00] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison Wesley, 2nd edition, 2000. [TM05] Ana Paula Tomás and Nelma Moreira. Modelos de computação. Technical report, Departamento de Ciência de Computadores, FCUP, 2005. Departamento de Ciência de Computadores da FCUP MC Aula 2 12