Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Apresentação
Esta aula consiste em apresentar as de nições básicas de alfabeto e linguagens e de nições e propriedades de árvores e
grafos.
Objetivos
Identi car o contexto teórico de alfabeto;
Narrar os 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.
Alfabeto e grafos
Como visto anteriormente, alfabeto e linguagens dependem de uma sequência de símbolos.
1
2
Símbolo
Sequência
Símbolo é uma entidade abstrata que não é de nida
Sequência é uma justaposição nita de símbolos.
formalmente;
Alfabeto
Um alfabeto é um conjunto nito de símbolos, representado por ∑ (sigma). Existem vários tipos de alfabetos:
Alfabeto Árabe Alfabeto Grego
Linguagem formal
Dizemos que uma linguagem formal ∑* é um conjunto de sequências formadas contendo os símbolos de ∑. Ainda é possível
uma Linguagem Formal ser representada por Σ+, em que Σ+ = Σ* - {ε}.
Conjunto vazio
Palíndromos
O conjunto vazio é denotado por {
Palíndromos são palavras que têm
}, onde o conjunto formado por
a mesma leitura da esquerda para a
uma palavra vazia é representado
direita e vice-versa, sendo também
por {ε}.
conhecida como linguagem in nita.
Exemplo:
{ε, 0, 1, 00, 11, 010, 101, ....}
Operações em linguagem formal
Concatenação
Concatenação é a operação binária de nida sobre uma linguagem ou palavra formada pela justaposição das palavras
Associatividade:
v(wt) = (vw)t
Elemento neutro:
εw = w = wε
Concatenação sucessiva
Redes de transportes;
Problemas de telecomunicações;
Teoria da Computação.
“É possível realizar um percurso através da cidade que inclua as sete pontes sem
atravessar a mesma ponte duas vezes?”
Sete pontes de Königsberg. | Fonte: Wikipedia
Para resolver este problema aparentemente simples, Euler considerou quatro pontos (dois para representar as margens e
outros dois para representar as ilhas) e sete linhas (representando as pontes).
O que é um grafo?
Um objeto combinatório é conhecido como grafo, podendo também ser chamado de grafo dirigido ou, ainda, grafo orientado;
Grafos são importantes modelos para uma grande variedade de problemas de Engenharia, Computação, Matemática,
Economia, Biologia etc.
Exemplo de um grafo:
Garfo desconexto = (não existe um caminho ligando certas partes do garfo)
Nesse grafo onde G = (V, E) sendo V o número de vértices e E o número de arestas, temos que os vértices são representados
por V = {1, 2, 3, 4, 5} e as ligações das arestas são representadas por E = { (1, 3), (3, 1), (3, 4), (4, 3), (5, 2), (2, 5), (2, 2) }.
Propriedades de um grafo
Grafo dirigido ou direcionado é um grafo onde cada arco “começa” na sua ponta inicial e “termina” na sua ponta
nal. A ponta nal de todo arco é diferente da ponta inicial.
O grau de um grafo indica o número de arestas que conectam um vértice do grafo a outros vértices, ou seja, o
número de vizinhos que aquele vértice tem no grafo (que chegam ou partem dele). Para grafos direcionados são
indicados dois tipos de grau: grau de entrada (número de arestas que chegam ao vértice) e grau de saída (número
de arestas que partem do vértice).
Um multigrafo é um grafo que tem mais de uma aresta conectada a um par de vértices em um grafo.
Um laço em um grafo é representado por uma aresta (chamada de laço), onde o vértice de partida é o mesmo
que o vértice de chegada.
Um caminho em um grafo é uma ligação entre dois vértices, ou seja, uma sequência de vértices onde cada
vértice está conectado ao vértice seguinte por meio de uma aresta. O comprimento do caminho é o número de
vértices que é necessário percorrer de um vértice até o outro.
Um ciclo em um grafo é o caminho onde o vértice inicial e o vértice nal são o mesmo.
Tipos de grafos
Grafo bipartido
Grafo onde seus vértices podem ser divididos em dois
conjuntos disjuntos, tais que cada aresta ligue apenas
vértices de grupos diferentes. As arestas conectam apenas
os vértices que estão em subconjuntos diferentes. Um grafo
bipartido não tem ciclo de tamanho ímpar e seu número de
cores é menor ou igual a dois. Isso signi ca que é possível
colorir todos os vértices usando apenas duas cores de
maneira que uma aresta nunca ligue dois vértices da
mesma cor.
Grafos isomorfos
Para determinar que dois grafos são isomorfos é preciso
que encontremos a bijeção, ou seja, uma função que faça o
mapeamento de vértices e arestas de modo que os dois
grafos se tornem coincidentes. Uma função f é bijetiva se
for ao mesmo tempo injetiva e sobrejetiva. A função bijetora,
também chamada de bijetiva, é um tipo de função
matemática que relaciona elementos de duas funções.
Desse modo, os elementos de uma função A têm
correspondentes em uma função B. Importante notar que
elas apresentam o mesmo número de elementos em seus
conjuntos.
Condições sob as quais se torna fácil ver que dois grafos não são isomorfos:
Exemplo:
A lista de adjacência utiliza uma lista de vértices para descrever as relações entre os vértices. Um grafo contendo N vértices
utiliza um array de ponteiros de tamanho N para armazenar os vértices do grafo. Para cada vértice é criada uma lista de
arestas, onde cada posição da lista armazena o índice do vértice a qual aquele se conecta.
Atividades
Atividade do objetivo 1:
Atividade do objetivo 2:
Sabendo que um grafo é representado por G = (V, E) e sendo V o número de vértices e E o número de arestas, construa um grafo
que tenha V = {1, 2, 3, 4, 5, 6, 7, 8, 9} e as ligações das arestas E = { (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 6), (2, 7), (3, 1), (4, 1), (4, 8), (5,
1), (5, 9), (6, 2), (7, 2), (8, 4), (9, 5)}.
Seja um grafo G, cujos vértices são os inteiros de 1 a 8 e os vértices adjacentes a cada vértices são dados pela tabela abaixo,
desenhe o grafo G.
1 2, 3
2 1
3 2, 3, 4
4 3
Atividade do objetivo 4:
Notas
Título modal 1
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente
uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente uma simulação de texto da
indústria tipográ ca e de impressos.
Título modal 1
Lorem Ipsum é simplesmente uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente
uma simulação de texto da indústria tipográ ca e de impressos. Lorem Ipsum é simplesmente uma simulação de texto da
indústria tipográ ca e de impressos.
Referências
HOPCROFT, Ullman and Motwani. Introdução à teoria dos autômatos, linguagens e computação. Tradução da 2.ed. original de
Vandenberg D. de Souza. Rio de Janeiro: Elsevier, 2002 (tradução de: Introduction to automata theory, languages, and
computation – ISBN 85-352-1072-5).
SIPSER, Michael. Introdução à teoria da computação. Tradução técnica de Rui José Guerra Barretto de Queiroz. Revisão
técnica de Newton José Vieira. São Paulo: Thomson Learning, 2007 (título original: Introduction to the theory of computation.
“Tradução da segunda edição norte-america” – ISBN 978-85-221-0499-4).
Próxima aula
Árvores;
Propriedades de árvores;
Explore mais
Automata Theory with Modern Applications, de James A. Anderson (Cambridge University Press).