Você está na página 1de 70

MATEMÁTICA DISCRETA

Profª. Silvia Helena Mangili, MSc.


2

PROGRAMA DE ENSINO – 2007-2

Disciplina: Matemática Discreta Código: MAD

Curso: Sistemas de Informação

Professora: Silvia Helena Mangili, MSc.


e-mail: silviahelenamangili@yahoo.com.br

Horas Teóricas: 36horas


Horas Práticas: 36 horas
Total de Horas: 72 horas
EMENTA:
Conjuntos; Álgebra de conjuntos; Relações binárias; Funções; Estruturas algébricas; Álgebra
Booleana. Técnicas de demonstração de teoremas. Teoria dos Grafos e Analise
Combinatória.

OBJETIVOS:

Geral:
Capacitar o aluno a expressar-se nos conceitos e resultados da Matemática Discreta,
desenvolver a capacidade de raciocínio abstrato (lógico-matemático), que lhe auxiliará nas
demais disciplinas de Sistemas de Informação.

Específicos:
√ Contextualizar o que podemos fazer e resolver através da Matemática Discreta;
√ Dar instrumentos ao aluno para a aplicação, em situações práticas, dos conceitos
matemáticos;
√ Trabalhar modelos matemáticos que representem certos problemas concretos (noções de
modelagem matemática), em especial quando estes se referem a situações práticas;
√ Familiarizar o acadêmico com a escrita matemática formal e a linguagem computacional;
√ Representar fenômenos na forma algébrica e na forma gráfica;
√ Conhecer técnicas de resolução de problemas;
√ Desenvolver a capacidade de raciocínio abstrato (lógico-matemático) como um todo;
√ Obter uma visão abrangente de uma parte significativa da Computação e Informática;
√ Habilitar o aluno a solucionar problemas encontrados nas áreas que a computação dá
suporte como, por exemplo, o menor caminho a ser utilizado por uma transportadora usando
de grafos.

CONTEÚDO PROGRAMÁTICO

1ª AULA
Dinâmica de grupo para apresentação professor x aluno;
Apresentação do plano de ensino e metodologia a ser trabalhada.

1. Introdução a Matemática Discreta:


3

1.1 O que é Matemática Discreta?


1.2 Tópicos da Matemática Discreta;
1.3 Por que estudar Matemática Discreta?
1.4 Exemplos de problemas, que conseguimos resolver através da Matemática Discreta.

2. Conjuntos:
2.1 Definição e notação;
2.2 Maneiras de definir um conjunto;
2.3 Tipos de conjuntos;
2.4 Relações entre conjuntos;
2.5 Propriedades ou relação de inclusão;
2.6 Conjuntos de conjuntos;
2.7 Operações sobre conjuntos;
2.8 Algumas propriedades importantes sobre operações.

3. Álgebra de Conjuntos:
3.1 Diagramas de Venn;
3.2 Conjuntos (interruptores).

4. Relações Binárias:
4.1 Introdução;
4.2 Definição;
4.3 Representação de uma relação;
4.4 Propriedades.

5. Funções:
5.1 Definição;
5.2 Domínio, Imagem e Contradomínio;
5.3 Tipos de Função;
5.4 Composição de função;
5.5 Função Inversa (f - 1).

6. Estruturas algébricas:
6.1 Definições;
6.2 Propriedades;
6.3 Grupos;
6.4 Álgebra Booleana.

7. Técnicas de demonstração de teoremas:


7.1 Teoremas e demonstrações informais;
7.2 Provar ou Não Provar;
7.3 Demonstração Exaustiva;
7.4 Demonstração Direta;
7.5 Contraposição;
7.6 Demonstração por Absurdo;
7.7 Acidentes felizes;
7.8 Exercícios.

8. Teoria dos Grafos:


8.1 Introdução;
8.2 Definição e conceitos preliminares;
4

8.3 Diferentes tipos de grafos;


8.4 Representações de grafos;
8.5 Conexidade e distância;
8.6 Caminho;
8.7 Problemas do menor caminho;
8.8 Árvores;
8.9 Grafos Planares.

9. Análise Combinatória:
9.1 Técnicas de contagem;
9.2 Fatorial;
9.3 Generalização do problema;
9.4 Arranjo simples;
9.5 Permutação;
9.6 Combinação.

METODOLOGIA

√ Aulas expositivas e dialogadas;


√ Desenvolvimento de atividades pelos alunos (individuais e em equipes) orientadas pelo
professor, abordando cada tema em estudo. Estas atividades além de dar um enfoque
bastante prático à disciplina, têm como objetivo mostrar ao aluno a importância do assunto
em questão mediante a colocação deste no contexto computacional;
√ Através do desenvolvimento dessas atividades e de atividades de pesquisa (dependendo
do assunto em questão) pretende-se fazer com que o aluno seja constantemente avaliado
mediante sua atuação dentro de cada tema que está sendo trabalhado.

AVALIAÇÃO

As avaliações regulares (PD1, PD2) seguirão o modelo adotado pelo curso. As Avaliações
do Professor (AP), nesta disciplina, seguirão os seguintes critérios: Trabalhos entregues e
apresentados em aula e trabalhos final de aula (valem de 0 a 10 pontos).

BIBLIOGRAFIA BÁSICA:
Judith L. Gersting, Fundamentos Matemáticos para a Ciência da Computação, LTC
Editora, 4ª Edição, 2001.
BIBLIOGRAFIA COMPLEMENTAR:
Hrbacek, K. & Jech, T. Introduction to Set Theory. Marcel Dekker, INC. New York, 1984.
Liu, C.L. Elements of Discrete Mathematics. McGraw-Hill Computer Science Series, New
York, 1985. 2nd edition.
Kelly, J. The Essence of Logic. The Essence of Computing Series. Prentice Hall.
London.1997.

30 07 2.007 Silvia Helena Mangili Nacim Miguel Francisco Júnior

Data Professor Coordenador do Curso


5

1. INTRODUÇÃO À MATEMÁTICA DISCRETA

1.1. O QUE É MATEMÁTICA DISCRETA?

Podemos defini-la como a parte da Matemática denotada ao estudo de objetos discretos


(elementos distintos ou desconectados; contrário a contínuos).

O Computador Digital armazena e processa informações na forma discreta, enquanto o


Computador Analógico armazena e processa informações na forma continua.

1.2. TÓPICOS DA MATEMÁTICA DISCRETA

a) Fundamentos: Conjuntos, Relações, Funções e Lógica;

b) Contagem: Permutações, Combinações, etc;

c) Álgebra e;

d) Grafos: Direcionados (digrafos), não direcionados e árvores.

1.3. POR QUE ESTUDAR MATEMÁTICA DISCRETA?

A disciplina de Matemática Discreta auxilia o aluno a desenvolver seu raciocínio, a entender e


criar argumentos matemáticos, habilitando-o a trabalhar no domínio discreto que é de
fundamental relevância para Sistemas de Informação. Muitos conceitos computacionais
fundamentam-se em modelos matemáticos que são chaves para as disciplinas de Algoritmos;
Bancos de dados; Linguagens de programação; Sistemas Operacionais e outras. Através desta
disciplina o aluno tem maior facilidade na solução de problemas em outras áreas, tais como:
Pesquisa Operacional; Engenharia; Biologia; Ciências Sociais, etc.

1.4. EXEMPLOS DE PROBLEMAS, QUE CONSEGUIMOS RESOLVER ATRAVÉS DA


MATEMÁTICA DISCRETA

a) Qual é o menor percurso entre duas cidades utilizando certo sistema de transporte?
b) Quantas partidas são disputadas em um torneio de tênis em que participam n jogadores,
supondo que todas as partidas são eliminatórias?
c) Quantas rodadas são disputadas em um campeonato acadêmico em que participam n
alunos, supondo que todas as rodadas são eliminatórias para escolha do aluno com melhor
rendimento acadêmico num determinado jogo educacional?
d) Quantos passos gastam certo algoritmo de ordenação?
e) Qual a probabilidade de se ganhar na loteria?
f) Quantas possibilidades de escolha existem para uma senha válida (password) em certo
sistema de computação?
g) Qual o caminho a percorrer para que seja o melhor possível ao se fazer uma viagem de
avião, entre as cidades de São Paulo, Curitiba, Florianópolis e Porto Alegre, conforme as
possibilidades mostradas na figura 1 a seguir?
h) Etc.
6

Figura 1: Exemplo de grafo


7

2. CONJUNTOS
Em geral, observasse a cada dia mais a associação de objetos com uma mesma propriedade
(mulheres entre 30 e 35 anos; grupo da terceira idade; alunos da sala A; etc) sendo
organizados para servirem a geração de informações mais precisas, porém pra que isto
aconteça criou-se à teoria dos conjuntos: o estudo de uma notação precisa e um conjunto de
operações e propriedades que facilitem a manipulação de tais classificações.

2.1. DEFINIÇÃO E NOTAÇÃO

A noção de conjunto é a mais simples e fundamental da Matemática, pois a partir dela podem
ser expressos todos os conceitos matemáticos.

De acordo com GERSTING (2001, p. 112) um conjunto é:


uma coleção de objetos. Em geral, todos os objetos em
um conjunto têm alguma propriedade em comum (além
de pertencerem ao mesmo conjunto!), qualquer objeto
que tem essa propriedade pertence ao conjunto e
qualquer objeto que não tem essa propriedade não
pertence ao conjunto.

Um conjunto é então uma coleção ou uma classe qualquer de objetos, conhecidos como
elementos do conjunto. São exemplos de conjuntos:
• Conjunto de países do Mercosul: M = {Brasil, Argentina, Paraguai, Uruguai}
• Conjunto dos números primos: A = {2; 3; 5; 7; 11; 13; 17; 19; 23...};
Lembre-se: Números primos são os números naturais maiores que 1 divisível somente por 1
e por ele mesmo.
• Conjunto das vogais: B = {a; e; i; o; u};
• Conjunto dos números naturais, maiores que 5: N = {6; 7; 8; 9;...}.

Para representar um conjunto, usaremos letras maiúsculas (conforme exemplos dados


anteriormente) e a pertinência de um determinado elemento a este conjunto o símbolo
matemático ∈.

Um objeto x qualquer pode ser elemento de um determinado conjunto S. Se x for, dizemos


que: x pertence a S e escrevemos x ∈ S. Caso contrário, dizemos que x não pertence a S e
escrevemos x ∉ S.

Nos exemplos dados anteriormente sobre conjuntos, podemos afirmar que:

• Brasil ∈ M e Bolívia ∉ M
• 2∈ Ae9∉ A
• a∈Bey∉B
• 6∈Ne5∉N

2.1.1. Algumas notações importantes:

∅ ou { } : conjunto vazio (obs: ∅ ≠ de {∅ }) ⊆ : é subconjunto de (está contido em)


∪ : união ⊂ : está contido em
∩ : intersecção ⊄ : não está contido em
8

⊃ : contém ∃ : existe
⊃ : não contém > : maior que
∈ : pertence < : menor que
∉ : não pertence ≥ : maior ou igual a
¬ : não ≤ : menor ou igual a
⇒ : se ... então ∑ n f (i) = f (0) + f (1) + f (2) + ... + f (n):
i=0
⇔ : se, e somente se somatório
∀ : para todo

2.2. MANEIRAS DE DEFINIR UM CONJUNTO

2.2.1. Listar seus elementos entre chaves:

Para representar usaremos letras maiúsculas. Por exemplo:

a) A = {amarelo; verde; azul} c) C = {1; 2; 3; 4; 5; 6;...}


b) B = {2; 4; 6; 8; 10;...; 20} d) D = { } = ∅

2.2.2. Definir usando a forma E = {x: P(x)}:

Por exemplo: E = {x: x é um inteiro positivo, ímpar e menor que 10}

2.2.3. Usar definição recursiva:

Por exemplo: (a) 1 ∈ A


(b) se x ∈ A e x + 2 < 10, então x + 2 ∈ A.

2.2.4. Utilizar operações sobre conjuntos previamente definidos:

Por exemplo: B = {2; 10} ∪ C

2.2.5. Especificar sua função (característica):

Por exemplo: (x) = 1, se x = 0; 2; 4; 6; 8


0 caso contrário

ATENÇÃO: Nem sempre conseguimos utilizar os 5 tipos de definição.

2.3. TIPOS DE CONJUNTOS

Neste conteúdo, faremos uma revisão dos tipos de conjuntos numéricos e não-numéricos
assim como teremos a oportunidade de ampliarmos nossos conhecimentos, vamos adiante?

É comum e ao mesmo tempo conveniente usarmos notações padrões para representar alguns
conjuntos numéricos, tais como, (N) conjunto dos números naturais; (Z) conjunto dos números
inteiros; (Q) conjunto dos números racionais; (I) conjunto dos números irracionais; (R) conjunto
dos números reais;
9

Números Naturais:

O conjunto dos números naturais é representado por N, cujos elementos são:


N = { 0;1;2;3;4;...}
N* = {1;2;3;4;5;...}

Números Inteiros:

O conjunto dos números inteiros é representado por Z ,cujos elementos são:


Z = {...;-3;-2;-1;0;+1;+2;+3;...}
Z* = {...;-3;-2;-1;+1;+2;+3;...} Sem o zero.
Z+ = {0; +1;+2;+3;...} Apenas os inteiros positivos.
Z- = {...;-3;-2;-1; 0} Apenas os inteiros negativos.

Números Racionais:

O conjunto dos números racionais é representado por Q, cujos elementos são:

a
Q={x:x= , a ∈ Z, b ∈ Z, b ≠ 0 }
b

 Todo nº racional pode ser representado na forma decimal, e podemos ter dois casos:

a) a representação decimal é finita.

3 3
Ex: = 0,75 ; = 0,6 ; etc.
4 5

b) A representação decimal é infinita periódica.

1 47
Ex: = 0,333... ; = 0,5222... ; etc.
3 90

Também podemos separá-los em:


Q* = Sem o zero.
Q+ = Apenas os racionais positivos.
Q- = Apenas os racionais negativos.

Números Reais:

A reunião dos conjuntos Q e I resulta no chamado conjunto dos números reais, que será
denotado por R:

R=QUI

 O conjunto dos nº irracionais, que tem representação decimal infinita e não – periódica.

Ex: 2 = 1,4142... ; π = 3,14159... ; e = 2,71828..., etc.


10

Também podemos separá-los em:


R* = Sem o zero.
R+ = Apenas os reais positivos.
R- = Apenas os reais negativos.

Atenção:
N*; Z*, Q*; ℜ* = idem a nomenclatura, porém sem o número zero.
Z**; Q*+ ; ℜ*+ = idem a nomenclatura, porém sem o número zero e só os
positivos.
Z*-; Q*-; ℜ*- = idem a nomenclatura, porém sem o número zero e só os
negativos.

Conjunto Vazio:

Um tipo de conjunto é o conjunto vazio cuja notação é Ø ou { }. Uma propriedade


contraditória qualquer pode ser usada para defini-lo.

Exemplo: {todos os números naturais ímpares menores que 1} = {x | x é um número natural


ímpar menor que 1} = Ø pois não há número natural ímpar menor que 1.

Conjunto Unitário:

Outro conjunto é o conjunto unitário formado por um único elemento.

Exemplo: {todos os números pares e primos} = {x | x é um número natural par e primo} = {2}

Conjunto Universo:

Um conjunto importante é o conjunto universo cuja notação é U. É o conjunto formado por


todos os elementos com os quais estamos trabalhando num determinado assunto. Fixado o
universo U, todos os elementos pertencem a U e todos os conjuntos são partes de U.

Exemplo: No estudo de divisores e múltiplos de um número, o universo U pode ser o conjunto


dos números inteiros.

Conjunto Finito:

Um conjunto definido, com início e fim determinado.

Exemplo: O conjunto A é definido pelos números naturais entre 5 e 10, ou seja, A = {x ∈ N / 5 ≤


x ≤ 10}.
A = {5; 6; 7; 8; 9; 10}

Conjunto Infinito:

Um conjunto não definido, com início e fim podendo ser indeterminado, mas obrigatoriamwente
pelo menos um dos dois (início ou fim).

Exemplos: a) O conjunto A = conjunto dos números naturais, ou seja, A = N.


A = {0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; ...}
b) B = {...; - 1; 0; 1; 2; 3;...}
11

2.4. RELAÇÕES ENTRE CONJUNTOS

a) Igualdade de conjuntos

Dois conjuntos são iguais quando possuem os mesmos elementos. Por exemplo, se A =
{números naturais pares} e B = {0; 2; 4; 6; 8; ...}, então A = B.

Se A não é igual a B, então A é diferente de B e escrevemos A ≠ B.

Outros Exemplos:
Dados A = {1; 2; 3; 4; 5} e B = {5; 4; 3; 2; 1}, dizemos que A = B
{x : (x – 1)2 = 4} = {x : (x + 1) (x – 3) = 0} = { - 1; 3}

b) Subconjuntos e relação de inclusão

Consideremos dois conjuntos, A e B. Se todos os elementos de A forem também elementos de


B, dizemos que A é um subconjunto de B ou que A está contido em B, ou ainda, que A é parte
de B. Indicamos esse fato por A ⊂ B.

Lê-se A ⊂ B por:
• A é subconjunto de B
• A está contido em B
• A é parte de B

Se A não for subconjunto de B, escrevemos A ⊄ B.

Exemplos:

a) Considerando P o conjunto dos números naturais pares e N o conjunto dos números


naturais, temos:
P = {0; 2; 4; 6; 8; 10;...} e N = {0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10;...}

Neste caso, P ⊂ N, pois todos os elementos de P pertencem a N.

b) Se A é o conjunto dos retângulos e B é o conjunto dos quadriláteros, então A ⊂ B, pois todo


retângulo é um quadrilátero.

2.5. PROPRIEDADES OU RELAÇÃO DE INCLUSÃO

A relação A ⊂ B chama-se relação de inclusão. Ela possui três propriedades básicas. Dados
os conjuntos A, B e C quaisquer:

• A ⊂ A: propriedade reflexiva;
• Se A ⊂ B e B ⊂ A, então A = B: propriedade anti-simétrica;
• Se A ⊂ B e B ⊂ C, então A ⊂ C: propriedade transitiva.

A propriedade anti-simétrica é sempre usada quando se quer provar que dois conjuntos são
iguais. Para provar que A = B basta provar que A ⊂ B e que B ⊂ A.
12

A propriedade transitiva é fundamental em deduções. Na LÓGICA ela é conhecida como uma


forma de raciocínio chamada de silogismo (só para conhecimento a nível de curiosidade).

Exemplo

• C: conjunto de catarinenses
• B: conjunto de brasileiros
• S: conjunto de sul-americanos

Todo catarinense é brasileiro.


Todo brasileiro é sul-americano.
Então, todo catarinense é sul-americano.

Se C ⊂ B e B ⊂ S, então C ⊂ S.

2.6. CONJUNTOS DE CONJUNTOS

Para um conjunto S, podemos formar um novo conjunto, no qual seus elementos (objetos)
serão os subconjuntos de S. A este novo conjunto daremos o nome de conjunto das partes de
S ou conjunto potência e o denotaremos por P (S).

Qualquer que seja o conjunto S, nós teremos no mínimo os subconjuntos ∅ (vazio) e o próprio
conjunto S.

Exemplos:

a) Dado o conjunto S = {2; 4; 6}, o seu conjunto das partes será formado pelos seguintes
conjuntos. OBS: Sempre por conjuntos, em forma de conjuntos, pois são subconjuntos.

P (S) = {∅; {2; 4; 6}; {2}; {4}; {6}; {2; 4}; {2; 6}; {4; 6} }

b) Dado o conjunto A = {a; e; i; o; u}, o seu conjunto das partes será formado pelos seguintes
conjuntos.

P (A) = {∅; {a; e; i; o; u}; {a}; {e}; {i}; {o}; {u}; {a; e}; {a; i}; {a; o}; {a; u}; {e; i}; {e; o}; {e; u}; {i; o};
{i; u}; {o; u}; {a; e; i}; {a; e; o}; {a; e; u}; {a; i; o}; {a; i; u}; {a; o; u}; {e; i; o}; {e; i; u}; {i; o; u}; {e; o;
u}; {a; e; i; o}; {a; e; i; u}; {a; e; o; u}; {e; i; o; u}; {a; i; o; u}}

Com os exemplos trabalhados você percebeu que o


conjunto das partes sempre terá o número de subconjuntos
dado por 2n; ou seja, 2 elevado ao número de elementos
(n) do conjunto original?

2.7. OPERAÇÕES SOBRE CONJUNTOS

a) Diferença ( — )
Dados os conjuntos A = {0; 1; 3; 6; 8; 9} e B = {1; 4; 9; 90}, podemos escrever o conjunto C
formado pelos elementos que pertencem a A mas que não pertencem a B. Assim, C = {0; 3; 6;
8}. De modo geral, escrevemos:
13

A – B = { x | x ∈ A e x ∉ B}

b) União ( ∪ )

Dados os conjuntos A = {0; 10; 20; 30; 40; 50} e B = {0; 30; 40; 50; 60}, podemos escrever o
conjunto C formado pelos elementos que pertencem a A ou pertencem a B ou a ambos.
Assim, C = {0; 10; 20; 30; 40; 50; 60}. O conjunto C é chamado reunião ou união de A e B e é
indicado por A ∪ B (lê-se: A reunião B ou A união B).

De modo geral, dados dois conjuntos A e B, a reunião A ∪ B é o conjunto formado pelos


elementos de A mais os elementos de B:

A ∪ B = { x | x ∈ A ou x ∈ B}

Exemplo: Se A = {3; 6} e B = {5; 6}, então A ∪ B = {3; 5; 6}.

c) Intersecção ( ∩ )

Dados os conjuntos A = {a; e; i; o; u} e B = {a; e; u; b}, podemos escrever o conjunto C formado


pelos elementos que pertencem tanto a A como a B, ou seja, pelos elementos comuns a A e B.
Assim, C = {a; e; u}.

O conjunto C é chamado intersecção de A e B e indicamos A ∩ B (lê-se: A intersecção B).

De modo geral, a intersecção A ∩ B é:

A ∩ B = { x | x ∈ A e x ∈ B}
Exemplo: Se A = {2; 4; 6} e B = {2; 3; 4; 5}, então A ∩ B = {2; 4}

Quando A ∩ B = ∅, A e B são chamados disjuntos. Por exemplo, A = {1; 3} e B = {2; 4}.

d) Complemento de um conjunto

Obtêm-se com análise ao conjunto universo U aonde para um conjunto A ∈ U, o complemento


de A, A´, é {x / x ∈ U e x ∉ A}.

Para representar o complemento de um determinado conjunto (A, por exemplo), precisamos


conhecer o conjunto universo também ao qual o conjunto A pertence, em matemática básica,
ou podemos optar em representar usando álgebra dos conjuntos através de diagramas de
Venn. (Este assunto será mais detalhado posteriormente).

Exemplo: Sejam os conjuntos:


A = {1; 2; 3; 5; 10}
14

B = {2; 4; 7; 8; 9}
C = {5; 8; 10}
U = {1; 2; 3; 4; 5; 6; 7; 8; 9; 10}
Obtêm-se como resultado das operações a seguir os seguintes subconjuntos:
a) A´= {4; 6; 7; 8; 9}
b) B´ = {1; 3; 5; 6; 10}
c) C´= {1; 2; 3; 4; 6; 7; 9}
d) B´ ∩ (A ∪ C) = {1; 3; 5; 6; 10} ∩ {1; 2; 3; 5; 8; 10} = {1; 3; 5; 10}

e) Produto Cartesiano

Sejam A e B subconjuntos de S, o produto cartesiano de A e B, denotado por A x B, é definido


por:
A x B = { (x; y) / x ∈ A e y ∈ B }

Logo, o produto cartesiano de dois conjuntos A e B, é o conjunto de todos os pares ordenados


com a primeira componente em A e a segunda em B.

Exemplo: Dados os conjuntos A = {1; 2} e B = {3; 4}, os resultados encontrados ao que se pede
serão:

a) A x B = {(1; 3); (1; 4); (2; 3); (2; 4)}


b) B x A = {(3; 1); (3; 2); (4; 1); (4; 2)}
c) A2 = A x A = {(1; 1); (1; 2); (2; 1); (2; 2)}

Exercícios
1 - Dados os conjuntos A = {a; b; c; d; e; f; g}, B = {b; d; g; h; i} e C = {e; f; m; n}, determine:

a) A–B
b) B–C
c) B–A
d) (A – B) ∪ (B – A)

2 - Dados os conjuntos A = { x | x é um número natural ímpar menor que 10}, B = {x | x é par


entre 3 e 11} e C = {x | x é um número natural menor que 5}, determine:

a) A ∪ B
b) A ∪ C
c) A ∩ C
d) A ∩ B
e) (A ∪ B) ∩ C
f) (A ∩ C) ∪ B

3 - A partir do diagrama a seguir, hachure os conjuntos fazendo uma figura para cada item.
15

A B

a) A ∩ B
b) B ∪ C
c) (A ∪ B) ∩ C
d) (B ∩ C) ∪ A
e) A ∩ (C ∪ B)
f) (A ∩ B) ∪ (A ∩ C)
g) Compare os diagramas obtidos nos itens “e” e “f”. O que pode-se concluir?

4 – Classifique as sentenças em verdadeira (V) ou falsa (F) e justifique.


a) Se A tem 3 elementos e B tem 4 elementos, então A ∪ B tem 7 elementos.
b) Se A tem 2 elementos e B tem 3 elementos, então A ∩ B tem 2 elementos.
c) Se A ∩ B = Ø e A tem 5 elementos e B tem 4 elementos, então A ∪ B tem 9 elementos.

5 - Sejam os conjuntos A, B e C dados pelas condições:


A = {x | x é um número inteiro que satisfaz x2 – 5x + 6 = 0}
B = {x | x é um número inteiro que satisfaz x2 – 2x = 0}
C = {x | x é um número inteiro que satisfaz x2 – 9 = 0}

Determine
a) A ∩ B
b) A ∪ B
c) B ∩ C
d) A ∪ B ∪ C

2.8. ALGUMAS PROPRIEDADES IMPORTANTES SOBRE OPERAÇÕES:

Sejam os conjuntos: A, B e C:
a) A ⊂ A ∪ B, B ⊂ A ∪ B
b) Se A ⊂ C e B ⊂ C, então A ∪ B ⊂ C
c) A ∩ B ⊂ A, A ∩ B ⊂ B
d) Se C ⊂ A e C ⊂ B, então C ⊂ A ∩ B

Fazendo intersecção e união de subconjuntos de um conjunto S, os conjuntos resultantes são


também subconjuntos de S.

Sejam A, B subconjuntos de um conjunto universo U.


a) (A´)´ = A
b) A ∩ A´ = ∅
c) A ∪ A´ = U
d) A ∪ B = B ∪ A
e) A ∩ B = B ∩ A
16

3. ÁLGEBRA DE CONJUNTOS

3.1. DIAGRAMAS DE VENN

Nesta parte do conteúdo iremos revisar algumas operações (união, intersecção e diferença)
estudadas além de conhecer outras maneiras de se criar novos conjuntos a partir de conjuntos
já definidos, através da Álgebra dos conjuntos.

Em muitas discussões, todos subconjuntos sob consideração estão contidos enm um conjunto
fixo chamado conjunto universo, simbolizado por U. Assim uma vez identificado o conjunto
universo U, no início da discussão, todos subconjuntos mencionados dali em diante são
supostos subconjuntos de U.

O complemento de um conjunto A, denotado por A´, nada mais é do que o conjunto de todos
objetos (elementos) do conjunto universo U que não estão em A.isto é:

A´ = {x / x ∈ U e x ∉ A}


A

Estes diagramas são chamados diagramas de Venn e a parte hachuriada indica o conjunto
determinado pela definição.

Pode-se observar isto usando as operações de: diferença (obtendo-se o complemento), a


união e a intersecção.

Diferença: A – B

A – B = { x | x ∈ A e x ∉ B}

Exemplo a:
U
17

Exemplo b:

Sejam U = N, A = {x | x é par} e B = { x | x > 10}

A´ = { x | x é ímpar}
A – B = {0; 2; 4; 6; 8; 10}
U – B = {x / x ≤ 10} = B´

União: A ∪ B

A ∪ B = { x | x ∈ A ou x ∈ B}

Exemplo a: Exemplo b:
U Sejam U = N, A = {x | x é par} e B = { x | x >
10}
A ∪ B = {x ∈ N / x é par}

OBS: Este diagrama deverá ser copiado do quadro, em sala de aula.

Intersecção: A ∩ B

A ∩ B = { x | x ∈ A e x ∈ B}

Exemplo a:
Exemplo b:
U
Sejam U = N, A = {x | x > 20} e B = { x | x >
10}
A ∩ B = {x ∈ N / x > 20}

OBS: Este diagrama deverá ser copiado do quadro, em sala de aula.

3.2. CONJUNTOS (INTERRUPTORES)

Sejam a, b, c, ... conjuntos de pontos tomados num espaço E dado. Nas figuras a seguir, o
retângulo é o nosso espaço E e as figuras internas são os conjuntos.
Conforme a notação utilizada em interruptores, denota-se a + b o conjunto de todos os pontos
que pertencem somente ao conjunto a ou só ao conjunto b ou a ambos. Dizemos que a + b é a
união de a com b.

O conjunto de pontos comuns a ambos (que pertencem a a e b) será denotado por a · b.


Dizemos que a · b é a intersecção de a e b, que pode ser denotada também por ab.

Seja a’ o conjunto de todos os pontos do espaço considerado que não pertencem a a. Dizemos
que a’ é o complemento de a.

Chamaremos conjunto vazio e o denotaremos por 0 o conjunto que NÃO contém pontos e;
denotaremos por 1 o conjunto de todos os pontos, que é o conjunto universo.

Para dois conjuntos quaisquer a e b do universo 1 valem as igualdades:

0+0=0 0·0=0
0+1=1 0·1=0
1+0=1 1·0=0
1+1=1 1·1=1
a + a’ = 1 a · a’ = 0
a+b=b+a a·b=b·a
a+0=a a·0=0
a+1=1 a·1=a

Podemos verificar sua validade construindo, os diagramas, apropriado, por exemplo, pelos
círculos de Euler ou diagramas de Venn. Outros resultados podem ser obtidos para três
conjuntos quaisquer de a, b e c.

Exemplo a:

Mostrar mediante diagramas apropriados que:


a + (b · c) = (a + b) · (a + c)

OBS: Este diagrama deverá ser copiado do quadro, em sala de aula.

Exemplo b:

Ilustrar pelos círculos de Euler a expressão pr’ + p’ q ·r

OBS: Este diagrama deverá ser copiado do quadro, em sala de aula.

Exemplo c:

Dar a expressão da região hachurada no diagrama:

OBS: Esta solução deverá ser copiada do quadro, em sala de aula.

EXERCÍCIOS
1 - Desenhar os diagramas de Euler-Venn para mostrar:

a) p + q’
b) p · q’
c) p·q’ + p’·q
d) (p + q) ·r
e) (p’ + q’) ·r
f) (p + q) ·r

2 - Dar as expressões correspondentes aos conjuntos hachurados:

a) b)
4. RELAÇÕES BINÁRIAS:

4.1. INTRODUÇÃO

A cada dia que passa, mais e mais as pessoas vêm usando os computadores, para processar
informações estruturadas, não é mesmo? Mesmo as aplicações mais elementares manipulam
itens de informações associados, guardados em arquivos. Tais informações podem ser: nomes
de empregado, cargo, departamento, salário, número de dependentes, e outras, organizadas
em tabelas.

Vamos supor, que temos dois conjuntos: A = {10 horas; 20 horas; 30 horas; 40 horas} e B =
{Ari; Estela; Luana; Rui}. Uma relação de A em B, pode ser aquela que ao número de horas
trabalhadas semanalmente associa-se o nome do empregado, como: 10 horas associa-se o
nome Ari, 20 horas associa-se a Estela, 30 horas associa-se a Luana e 40 horas associa-se a
Rui:

Esquema representativo:

A B
10 horas → Ari
20 horas → Estela
30 horas → Luana
40 horas → Rui

Outra forma de representar seria utilizando a notação de par ordenado: Produto Cartesiano.

ESQUEMA: (10 horas; Ari); (20 horas; Estela); (30 horas; Luana); (40 horas; Rui).

Note que a correspondência estabelecida determina um conjunto de pares ordenados: N = {(10


horas; Ari); (20 horas; Estela); (30 horas; Luana); (40 horas; Rui)}.

Esboce duas relações R1 e R2, a partir dos conjuntos anunciados


na introdução.

4.2. DEFINIÇÃO:

Relação é uma correspondência entre dois conjuntos, logo, dado um conjunto S, uma Relação
Binária em S é um subconjunto de S x S (um conjunto de pares ordenados de elementos de S).

EXEMPLO:

Sejam os conjuntos A = {1; 2; 3} e B = {2; 3; 4; 5} e seja S = {(x , y) ∈ A x B / y = x + 1}.


Para x tal, temos y:
x y
1 y=x+1=1+1=2
2 y=x+1=2+1=3
3 y=x+1=3+1=4
A relação S é dada por: S = {(1 ; 2), (2 ; 3), (3 ; 4)}

Lembretes:
• Dados dois conjuntos A e B, dá-se o nome de relação R de A em B a
qualquer subconjunto de A x B.
• R é relação de A em B ⇔ R ⊂ A X B

4.3. REPRESENTAÇÃO DE UMA RELAÇÃO:

Além de escrevermos uma relação em forma de conjunto entre chaves, quando temos uma
relação em conjuntos finitos, A = {a1; ... ; an}, B = {b1; ... ; bm} contamos ainda com outras
representações, entre elas por: matriz retangular n x m (n = linha, m = coluna); plano
cartesiano; diagramas e, grafos.

Dados os conjuntos A = {1; 2; 3}, B = {6; 7; 8; 9} e R = { (1; 7); (1; 9); (2; 6); (2; 7); (2; 8); (3; 9) },
podemos representar R em:

a) Representação entre chaves:

R = { (1; 7); (1; 9); (2; 6); (2; 7); (2; 8); (3; 9)}

b) Representação em diagramas:

R = { (1; 7); (1; 9); (2; 6); (2; 7); (2; 8); (3; 9) }

A B

6
1
7
2
8
3
9

c) Representação no plano cartesiano:

R = { (1; 7); (1; 9); (2; 6); (2; 7); (2; 8); (3; 9) }

OBS: O mesmo será representado no quadro, em sala de aula.

d) Representação em matriz retangular n x m:

Como vimos se A e B são conjuntos finitos, A = {a1; ... ; an}, B = {b1; ... ; bm}, uma relação R ⊂ A
x B pode ser representada por uma matriz retangular n x m (n = A, m = B) chamada matriz da
relação R (rij) satisfazendo:
1 se ai R bj (lê-se (ai ; bj ) ∈ R), ou seja, se existe a relação de a x b
rij = 0
caso contrário

Dada R = { (1; 7); (1; 9); (2; 6); (2; 7); (2; 8); (3; 9) }

A matriz de relação R será a seguinte:

R 6 7 8 9
1 0 1 0 1
2 1 1 1 0
3 0 0 0 1

e) Representação em grafos:

Dado A e B dois conjuntos finitos, A = {a1; ... ; an}, B = {b1; ... ; bm} e a relação R de A x B, cada
nodo da esquerda representa um elemento de A e cada nodo da direita um elemento de B,
assim a todos elementos de A e B corresponde um nodo, e uma linha de ai para bj
Significa ai R bj.

Dados A = {a1; a2; a3 }, B = {b1; b2; b3 } e R = { (a1; b1 ); (a1; b2 ); (a2; b1 ); (a2; b3 ); (a3 ; b3 ) }

O grafo da relação R será o seguinte:

R
a1 b1

a2 b2

a3 b3

OBS: Esta representação nós daremos maior ênfase no conteúdo sobre Teoria de Grafos, a
ser visto posteriormente, mas ainda nesta disciplina.

4.4. PROPRIEDADES:

As relações binárias possuem n propriedades, elas podem ser uma relação: inversa;
identidade; reflexiva; irreflexiva; simétrica; anti-simétrica e transitiva.

a) Relação Inversa (R -1):

Sejam A e B dois conjuntos, não necessariamente distintos, e seja R uma relação de A para B.
A relação inversa R -1 é uma relação de B para A tal que b R-1a se e somente se aRb, isto é
R -1 = {(b; a) / (b; a) ∈ B x A e (a; b) ∈ R}.

Exemplo: Dados os conjuntos A = {1; 2; 3}, B = {6; 7; 8; 9} e R = { (1; 7); (1; 9); (2; 6); (2; 7); (2;
8); (3; 9) }, teremos: R -1 = { (7; 1); (9; 1); (6; 2); (7; 2); (8; 2); (9; 3) }
b) Relação Identidade (I):

A relação I, A = { (x; x) / x ∈ A } é chamada relação identidade em A.

Exemplo: Dado o conjunto A = {1; 2; 3} teremos:

I = { (1; 1); (2; 2); (3; 3) }

c) Relação Reflexiva:

R é considerada uma relação do tipo reflexiva se para todo x ∈ S existir xRx, ou seja, todo x
está relacionado a si mesmo. Quando representada em matriz terá 1 em toda diagonal
principal.

Seja S = {0; 1; 2}, R = { (0; 0); (0; 1); (1; 1); (2; 2) } a relação R é reflexiva como mostra a matriz
a seguir.

R 0 1 2
0 1 1 0
1 0 1 0
2 0 0 1

d) Relação Irreflexiva:

R é considerada uma relação do tipo irreflexiva se, ao contrário da reflexiva, para todo x ∈ S
não existir xRx e {(x; x) ∉ R}. Quando representada em matriz não terá 1 algum em toda
diagonal principal.

Seja S = {0; 1; 2}, R = { (0; 1); (0; 2); (2; 1); (2; 0) } a relação R é irreflexiva como mostra a
matriz a seguir.

R 0 1 2
0 0 1 1
1 0 0 0
2 1 1 0

e) Relação Simétrica:

R é chamada relação simétrica se sempre que xRy, yRx, ou seja, se x está relacionado a y
então y está relacionado a x. A matriz de R é uma relação simétrica quando rij = rji , ou seja,
quando as linhas forem idênticas as colunas.

Dado S = {a; b; c}, R = { (a; b); (b; a); (b; c); (c; b); (c; c) } a relação R é simétrica como mostra
a matriz a seguir.

R a b C
a 0 1 0
b 1 0 1
c 0 1 1
f) Relação Anti-simétrica:

R é chamada relação Anti-simétrica sempre que x está relacionado a y e y está relacionado a


x, então x = y.

Cuidado: Anti-simétrica não pode ser considerada sempre o oposto da


simétrica em uma relação binária, ela não é o oposto.

Dado S = {a; b; c}, R = { (a; a); (a; b); (b; c); (c; a) } a relação R é anti-simétrica como mostra a
matriz a seguir.

R a b c
a 1 1 0
b 0 0 1
c 1 0 0

g) Relação Transitiva:

R é chamada relação transitiva se para todo x, y, z ∈ S se xRy e yRz, então xRz, ou seja, se x
está relacionado a y e y está relacionado a z, então x está relacionado a z.

Dado S = {a; b; c}, R = { (a; b); (a; c); (b; c) } a relação R é transitiva como mostra a matriz a
seguir.

R a b c
a 0 1 1
b 0 0 1
c 0 0 0
5. FUNÇÕES
A Função é um tipo de relação de alta relevância para computação. Um compilador, por
exemplo, é uma função que transforma um programa escrito em linguagem de alto nível (como
FORTRAN, PASCAL) em linguagem de máquina. Codificadores são funções que transformam
números ou dados alfabéticos em seqüências binárias; nesse caso é desejável se ter o
processo reverso que a partir da seqüência binária chegue ao dado original. Surge, então a
questão de existência ou não da função inversa.

5.1. DEFINIÇÃO

Sejam A e B dois conjuntos não vazios e f uma relação de A em B.


Essa relação f é uma função de A em B (f: A → B) quando a cada elemento x do conjunto A
está associado um e apenas um elemento y do conjunto B.

A definição nos diz que uma relação f de A em B é uma função se, e somente se:
 Todo elemento x ∈ A tem um correspondente y ∈ B, definido pela relação f;
 A cada x ∈ A não podem corresponder dois ou mais elementos de B, através de f.

EXEMPLO: Sejam A = {1; 3; 4} e B = {2; 4; 5; 7} e f = {(1; 2), (3; 4), (4; 5)} Verificar se f é uma
função de A em B.

Solução: é uma função, pois, para cada elemento do conjunto A, existe um e somente um
correspondente no conjunto B.

5.2. DOMÍNIO, IMAGEM E CONTRADOMINIO:

Dados dois conjuntos A e B, e uma função de A em B, definimos o Domínio de f, como um


subconjunto de A e a Imagem como um subconjunto de B.

EXEMPLO 1: Dados A = {1, 3, 4} e B = {2, 4, 5, 7} e f = {(1, 2), (3, 4), (4, 5)}, determine o
domínio e a Imagem.

Solução: D(f) = {1,3,4} = A


Im(f) = {2,4,5}

EXEMPLO 2: Dada a função f: A → B, em que f(x) = 3x – 5 e A = {-2, 0, 1}, determine o


conjunto Imagem de f.

Solução: f(-2) = 3.(-2) – 5 = -11


f(0) = 3.0 – 5 = -5
f(1) = 3.1 – 5 = -2
Logo, Im (f) = {-11, -5, -2}

EXEMPLO 3: A função f: R * → R é dada por f(x) = x + 1 / x, determine:

a) f ( 3 ) b) f ( ½ ) c) f ( x + 1 ) d) f ( a - 1)
Solução:

a) f (3) = 3 + 1/3 = 10/3


b) f(½) = ½ + 1/½ = ½ + 2 = 5/2
1 ( x + 1)( x + 1) + 1 x 2 + 2 x + 2
=
c) f(x + 1) = (x + 1) + x + 1 = x +1 x + 1 , x ≠ -1
1 (a − 1)(a − 1) + 1 a 2 − 2a + 2
a −1+ = =
d) f (a – 1) = a −1 a −1 a −1 , a ≠ 1

EXEMPLO 4: As funções f e g são dadas por f (x) = 2x – 3 e g (x) = 3x + a. Determine o valor


de a sabendo que f (2 ) + g (2 ) = 8.

Solução: f (2) = 2.2 – 3 = 1


g (2) = 3.2 + a = 6 + a

1+6+a=8→a=1

Dada uma Função aonde sejam A e


B dois conjuntos não vazios e f uma
relação de A em B

• Domínio é o conjunto formado por todos os elementos do conjunto A,


ou seja, os elementos x da função, ou ainda de onde parte a relação.
• Imagem é o conjunto formado por todos os elementos do conjunto B
que fazem parte da relação, ou seja, os elementos y da função, ou ainda
os elementos que recebem a relação.
• Contradomínio é o conjunto formado por todos os elementos do
conjunto B, independente de pertencerem ou não a relação.

5.3. TIPOS DE FUNÇÃO:

Os tipos de função f: A → B: sobrejetora, injetora e bijetora com suas características serão


mostradas com auxilio de diagramas de flechas, mas as mesmas podem ser representadas de
n maneiras.

a) Sobrejetora:

Uma função f: A → B é do tipo sobrejetora se, e somente se, Im = CD, ou seja, quando sua
imagem é igual a seu contradomínio.

EXEMPLO: Dados os conjuntos A = { -2; -1; 0; 1}, B = {0; 1; 4} e a função f: A → B, definida por
f (x) = x2 substituindo os valores de x e encontrando y, obtêm-se como Im = {0; 1; 4} e como CD
= {0; 1; 4}.
Note que o conjunto imagem é igual ao seu contradomínio, logo, teremos uma função do tipo
sobrejetora.
OBS: O Desenho (o qual deverá ser copiado) dos diagramas será representado em sala de
aula.
b) Injetora:

Diz-se que f é do tipo injetora se, e somente se, para qualquer x1 ; x2 ∈ A, com x1 ≠ x2, tivermos
f (x1) ≠ f (x2).

EXEMPLO: Dados os conjuntos A = { -1; 0; 1; 2}, B = {0; 1; 2; 3; 4; 5} e a função f: A → B,


definida por f (x) = x + 1 substituindo os valores de x e encontrando y, obtêm-se a relação dos
pares ordenados:{(-1; 0); (0; 1); (1; 2}; (2; 3)}.
Note que f associa elementos distintos de A à elementos distintos de B, portanto, f é do tipo
injetora.

OBS: O Desenho (o qual deverá ser copiado) dos diagramas será representado em sala de
aula.

c) BIjetora:

Diz-se que f é do tipo bijetora se, e somente se, f é sobrejetora e injetora.

EXEMPLO: Dados os conjuntos A = { 0; 2; 3}, B = {1; 5; 7} e a função f: A → B, definida por f


(x) = 2x + 1 substituindo os valores de x e encontrando y, obtêm-se a relação dos pares
ordenados:{(0; 1); (2; 5); (3; 7}}.

Note que o conjunto imagem é igual ao seu contradomínio, logo, temos uma função do tipo
sobrejetora e ao mesmo tempo injetora, pois f associa elementos distintos de A à elementos
distintos de B, logo, f é do tipo bijetora.

OBS: O Desenho (o qual deverá ser copiado) dos diagramas será representado em sala de
aula.

Além das funções estudadas falaremos um pouquinho sobre funções composta e inversa.

5.4. COMPOSIÇÃO DE FUNÇÃO

Imagine a seguinte situação:


Uma fábrica em Criciúma que produz sapatos calcula o seu lucro por meio da equação L =
0,4C, onde L é o lucro e C o preço de venda desse sapato para o comércio. Por sua vez, o
preço C da venda é calculado fazendo-se C = 20 + 2P, onde P é o valor gasto com a matéria-
prima para a fabricação desse sapato. Vemos então, que o lucro L é dado em função do preço
C, e este é dado em função do gasto P.

Para resolvermos situações como esta, faz-se necessário, ou ao menos recomendasse o uso
de funções compostas.

NOTAÇÃO:

A função composta de g e f será indicada por g o f (lê-se: g circulo f).


(g o f)(x) = g(f(x)).
EXEMPLO 1: Dadas às funções f e g com: f(x) = x2 + 2x e g(x) = 1 – 3x, determine: f(g(x)).

Solução: f(g(x))
f(1 – 3x) = x2 + 2x
f(1 – 3x) = (1 – 3x)2 + 2(1 – 3x)
f(1 – 3x) = (1 – 3x) . (1 – 3x ) + 2 – 6x
f(1 – 3x) = (1 – 3x – 3x + 9x2) + 2 – 6x
f(1 – 3x) = (1 – 6x + 9x2) + 2 – 6x
f(1 – 3x) = 1 – 6x + 9x2 + 2 – 6x
f(1 – 3x) = 3 – 12x + 9x2

Então: f(g(x)) = 9x2 – 12x + 3

EXEMPLO 2: Se f(x) = 5x + 1 e, h(x) = 1 + 4x calcule f(h(2)) + h(f(2))

Solução: h(x) = 1 + 4x f(x) = 5x + 1


h(2) = 1 + 4 . 2 f(2) = 5 . 2 + 1
h(2) = 1 + 8 f(2) = 10 + 1
h(2) = 9 (Substitui) f(2) = 11 (Substitui)
f(h(2)) = 5x + 1 h(f(2)) = 1 + 4x
f(9) = 5x + 1 h(11) = 1 + 4x
f(9) = 5 . 9 + 1 h(11) = 1 + 4 . 11
f(9) = 45 + 1 h(11) = 1 + 44
f(9) = 46 h(11) = 45

Então: f(h(2)) + h(f(2))= 46 + 45 = 91.

5.5. FUNÇÃO INVERSA (F - 1):

Nem toda função possui inversa. Para que a inversa de uma função exista ela precisa ser do
tipo bijetora, caso contrário não possui inversa.

Então, caso a função seja bijetora, é possível determinar a sua inversa, trocando-se a variável
x por y na Lei que define a função e em seguida “isolamos” o y, obtendo-se a Lei que define a
função inversa.

É preciso tomar certo cuidado com o domínio da função obtida.

EXEMPLO: Dada a função definida por y = x + 2 (ou seja, f(x) = x + 2, obtenha a Lei de sua
função inversa.

Solução: Primeiro substitui-se valores no x para verificar se é uma função do tipo bijetora.
Verificado que sim, basta trocar o x por y, obtendo-se a função:
x = y + 2 Isolando y têm-se y = x – 2 (INVERSA)

OBS: Outros exemplos serão trabalhados em sala de aula, via quadro.


6. ESTRUTURAS ALGÉBRICAS

6.1. DEFINIÇÕES

Uma estrutura matemática é um modelo formal cuja intenção é capturar as propriedades ou os


comportamentos comuns encontrados em contextos variados. Uma estrutura consiste em um
conjunto abstrato de objetos, junto com operações ou relações entre esses objetos
obedecendo a certas regras.

Mas antes de dar continuidade que tal parar e pensar um pouco:

O que vem a ser um conjunto abstrato de objetos?

Agora sim, com conceito claro do que é abstrato, pode-se continuar!

As estruturas algébricas modelam diversos tipos de aritmética, como a adição de inteiros e a


multiplicação de números reais positivos. Essas aritméticas representam uma forma limitada de
calcular.

Vamos iniciar com a soma de inteiros. Existe um conjunto Z de objetos, ou seja, elementos (os
inteiros) e uma operação binária nesses objetos (a soma).
Lembre-se:

Uma Operação Binária definida em um


conjunto tem que ser bem definida (dar uma
única resposta sempre que for aplicada a
dois elementos do conjunto) e que o conjunto
tem que ser fechado em relação à operação
(a resposta tem que ser um elemento do
conjunto). Por exemplo, S ou U ∈ Z.

Operações binárias:

Uma operação binária (* ou •) num conjunto não vazio S é uma regra para combinar dois
elementos x, y ∈ S para produzir um elemento z ∈ S, representado como x * y, ou, x • y.

De outro modo, uma operação binária num conjunto não vazio S é uma função f: S × S → S.
Se x e y são elementos de S, f(x, y) é representado como x * y, ou, x • y.

A notação [Z, +] vai denotar o conjunto munido da operação binária.

Em [Z, +] uma operação do tipo:

2 + (3 + 5) = (2 + 3) + 5
é válida em cada lado, os inteiros permanecem na mesma ordem, mas o agrupamento desses
inteiros, que indica a ordem em que são efetuadas as somas, muda. A mudança desses
agrupamentos não altera a resposta.

Um outro tipo de equação que é valida em [Z, +] é:

2+3=3+2

A mudança da ordem em que os inteiros são somados não altera o resultado.

Equação do tipo:
2+0=2
0+3=3
– 125 + 0 = – 125
Também são válidas. Somar zero a qualquer inteiro não altera o valor daquele inteiro.

Finalmente, equações como:


2 + (– 2) = 0
5 + (– 5) = 0
– 20 + 20 = 0
São válidas. Somar o negativo de um inteiro a ele tem como resultado 0.

Essas equações definem quatro propriedades de Operações Binárias.

6.2. PROPRIEDADES

Seja S um conjunto e seja • uma operação binária em S. (Aqui • não representa a


multiplicação, mas qualquer operação binária.).

a) Associativa
A operação • é associativa se: (∀x) (∀y) (∀z) [x • (y • z) = (x • y) • z]
Nesta propriedade não precisamos usar parênteses já que o agrupamento não é relevante.

b) Comutativa
A operação • é comutativa se: (∀x) (∀y) [x • y = y • x]

c) Elemento Identidade
[S, •] tem um elemento identidade se: (∃i) (∀x) [x • i = i • x = x]

d) Inverso
Se [S, •] tem um elemento identidade i, então cada elemento em S tem Inverso em relação a •
se: (∀x) (∃x - 1) [x • x - 1 = x - 1 • x = i]

ATENÇÃO:

1 - A união e a intersecção de conjuntos, a composição de funções, a adição e a multiplicação


de matrizes, as operações aritméticas no conjunto dos números reais, são operações binárias.

2 - A subtracção não é uma operação binária no conjunto Z+ dos inteiros positivos (o resultado
não pode ser negativo).
Exemplo: 5 – 15 = – 10

3 - A divisão não é uma operação binária em Z (resultado não pode ser fracionário), nem em Q
(divisão por zero).
Exemplo: 5/15 = 1/3 ou 10 / 0 não existe.

Tabelas:
4 - Uma operação binária * num conjunto não vazio S pode ser definida por uma tabela
bidimensional (de Cawley) em que o resultado x * y fica na intersecção da linha x com a coluna
y.
Exemplo:
* a b c d
a a b c d
b d c a b
c c b a a
d d b c a

6.3. GRUPOS:

[S, •] é um grupo quando a operação binária tem a propriedade associativa; elemento


identidade e inverso.

E quando a operação é comutativa é chamado de grupo comutativo.

6.4. ÁLGEBRA BOOLENA

Uma Álgebra de Boole é um conjunto B no qual estão definidas duas operações binárias, + e ⋅
e uma operação unária ´, e que contém dois elementos distintos, 0 e 1, tais que as seguintes
propriedades são válidas, quais quer que sejam: x, y, z ∈ B:

x+y x·y Propriedade


x+y=y+x x·y=y·x Comutatividade
(x + y) + z = x + (y + z) (x · y) · z = x · (y · z) Associatividade
x + (y · z) = (x + y) · (x + z) x · (y + z) = (x · y) + (x · z) Distributividade
x+0=x x·1=x Existência de elementos
neutros
x + x´ = 1 x · x´ = 0 Complemento

Então, nada mais é do que uma formalização que generaliza, ou modela, os dois casos que
consideramos (e talvez outros).
7. TÉCNICAS DE DEMONSTRAÇÃO DE TEOREMAS

OBS: Este conteúdo será trabalhado em forma de trabalho (exercício) via xerox e pesquisas
em livros e Internet.
8. TEORIA DOS GRAFOS

8.1. INTRODUÇÃO

A Teoria de grafos serve como um modelo matemático para qualquer sistema, envolvendo uma
relação binária.

Exemplos:

1. Quando queremos fazer uma viagem de carro, utilizamos um mapa de estradas, que nos
auxilie a chegar de uma cidade a outra, de tal forma que o caminho a ser percorrido seja o
melhor possível. Em conseqüência distinguimos dois tipos de objetos: as cidades e as
estradas.

Podemos utilizar tais conjuntos de objetos para definir uma relação. Se denotarmos como V o
conjunto de cidades e como A ou E o conjunto de estradas, podemos definir uma relação R
entre elementos de V e de A. Podemos também denotar o conjunto de estradas A, como um
par de cidades unidas pela estrada. Assim podemos denotar a relação E(vi, vj).

2. No século 18, havia na cidade de Königsberg, um conjunto de sete pontes que cruzavam o
rio Pregel . Elas conectavam duas ilhas entre si e as ilhas com as margens. Por muito tempo os
habitantes daquela cidade perguntavam-se se era possível cruzar as sete pontes numa
caminhada contínua sem passar duas vezes por qualquer uma delas?

Aqui podemos também distinguir entre dois tipos de objetos, as pontes e as regiões de terra.
Neste caso podemos denotar as regiões de terra como um conjunto V, e o conjunto de pontes
A, e estabelecer uma relação entre estes dois conjuntos.

3. Três canibais e três missionários estão viajando juntos e chegam a um rio. Eles desejam
atravessar o rio, sendo que o único meio de transporte disponível é um barco que comporta no
máximo duas pessoas. Há uma outra dificuldade: em nenhum momento o número de canibais
pode ser superior ao número de missionários, pois desta forma os missionários estariam em
grande perigo de vida. Como administrar a travessia do rio? Quais são os objetos que
podemos distinguir neste exemplo?

4. Um candidato a presidente, vai realizar a última gira política de sua campanha. Como os
recursos estão escassos, o candidato está pensando em visitar as cidades de maior índice
populacional. O aluguel do jatinho tem um custo que depende da distância percorrida. De que
forma o candidato poderá reduzir seus custos?
8.2. DEFINIÇÃO E CONCEITOS PRELIMINARES

Em todos os exemplos anteriores, existe a idéia de “estrutura”, “esquema geométrico”, e


aparece com claridade a distinção de 2 conjuntos, que chamamos de A e V. Onde o conjunto A
é expresso como uma relação entre os elementos de V.

Baseados, nestas observações e na idéia simples de pontos interligados por linhas é possível
definir grafo como um par G = (V,E), onde V é um conjuntos finito e não vazio, e E é uma
relação (função) sobre os elementos de V. Serve como um modelo matemático para qualquer
sistema envolvendo uma relação binária entre seus elementos.

Podemos denotar a relação E como E: vi → vj onde vi , vj ε V.

Os elementos de V são chamados de vértices (ou nós) e, os pares ordenados (vi ,vj), que
representam as relações entre os elementos de V, de arestas (linhas) do grafo.

Definições:

Uma aresta é dita incidente com os vértices que ela liga. Se uma aresta é incidente em um
único vértice é chamado de laço.

Dois vértices são chamados de adjacentes se estão ligados por arestas. Um vértice é dito
isolado, se não tem aresta incidindo sobre ele.

Exemplo:

laço
v2
v1
v6

v4
v3

v5
Vértices Adjacentes:
v1 e v2, v1 e v5, v2 e v3, v2 e v4, v3 e v5, v4 e v5.

Vértice Isolado:
v6

Define-se grau de um vértice v ε V, denotado por gr(v) como sendo o número de arestas
incidentes em v. Um grafo é dito regular de grau r se todos seus vértices possuem grau r.

Se o grafo é regular de grau zero, é dito nulo. Um vértice de grau 1, é dito pendente.

A ordem de um grafo G, é o cardinal de vértices: | V | = n. O cardinal de | A | = m.


Duas arestas que incidam sobre o mesmo vértice são ditas adjacentes. Se os dois vértices de
incidência são os mesmos, as arestas são ditas paralelas.

Exemplo:

v1 v2
v2
v1
v6

v3
v5
v3
v4
v4

a) b)

a) Grafo regular de grau 3 (r = 3), pois todos os vértices do grafo possuem 3 arestas incidindo
sobre eles.
Ordem do Grafo: | V | = n = 4
|A|=m=6

b) Vértice de Grau nulo: v6


Vértice Pendente: v4, pois gr(v4) = 1
Arestas Adjacentes: (v1, v2) e (v1, v5), que incidem sobre v1
(v1, v2) e (v2, v3), que incidem sobre v2
(v3, v4), (v2, v3) e (v5, v3), que incidem sobre v3
(v1, v5) e (v5, v3), que incidem sobre v5
Arestas paralelas: (v5, v3)
Ordem do Grafo: | V | = n = 6
|A|=m=6

Teorema 1: A soma dos graus dos vértices em um grafo é igual a duas vezes o número de
arestas.

Demonstração.
Cada aresta contribui na contagem de 1 no grau de cada dois vértices com os quais ela é
incidente, então cada aresta é sempre contada duas vezes.

Logo: ∑ gr (vi) = 2m com i = 1..n (1 + 4 + 3 + 2 + 2) = 12 = 2 . 6

Teorema 2: Em qualquer grafo existe sempre um número par de vértices de grau impar.

Demonstração:
Vamos supor que exista um grafo G(V,E) onde todos os vértices possuam grau impar. Logo

número par, se n for par


∑ gr(vi) =
número impar, se n for impar
Pelo teorema 1, a soma dos graus dos vértices é par, portanto n obrigatoriamente é par.

Outra forma Vi = { v ∈ V / gr(v) é impar}


Vp = { v ∈ V / gr(v) é par}
Vi ∪ Vp

Então: 2| A| = ∑ gr(v) + ∑ gr(v) ⇒ ∑ gr(v) = 2 |A| - ∑ gr(v)


Vi Vp Vi Vp

A subtração de 2 pares deve ser par.

8.3. DIFERENTES TIPOS DE GRAFOS

8.3.1. Grafos Dirigidos e Não dirigidos

Um grafo é dito dirigido ou digrafo se suas arestas possuem orientação. Em caso contrario
diz-se que o grafo é não dirigido. Em um grafo dirigido, as arestas são chamadas de arcos.

Sucessor: de um vértice vi é todo vj que seja extremidade final de um arco que parte de vi.
Antecessor: de um vértice vi é todo vértice vj, que seja extremidade inicial de um arco que
termina em vi.

O grau de um vértice em um grafo orientado, é a soma dos grau dos arcos que saem do
vértice e dos arcos que entram no vértice, isto é o grau de emissão ( de saída) e o grau de
recepção (de entrada).

Exemplos:

Não Orientado Digrafo


8.3.2. Grafos Bipartidos

Se G(V1 ∨ V2, E) é tal que V1 ∧ V2 = ∅ é toda aresta (vi, vj) ε E, é tal que vi ε V1e vj ε V2, então
o grafo é chamado de bipartido, e denotado pôr Kr,s onde | V1| = r, | V2| = s.

Exemplos:

K 2 ,4 K 3 ,2

8.3.3 - Multigrafo, Grafo Simples e Grafo Valorado

Um grafo é chamado de Multigrafo, se possuir laços e/ou arestas paralelas. Em caso


contrario, diz-se que o grafo é simples.

Exemplos:

Multigrafo Grafo Simples

Multigrafo Grafo Valorado Grafo Simples

Um grafo, onde existe um número wij, associado a cada aresta, é denominado de grafo
valorado e o número wij é chamado de custo da aresta. Em redes de comunicação ou
transporte estes custos representam alguma quantidade física, tal como distância, eficiência,
capacidade da aresta correspondente, etc.
8.3.4. Grafos Isomorfos

Dois grafos são isomorfos se for possível fazer coincidir, respectivamente, os vértices de suas
representações gráficas, (se existe uma correspondência entre seus vértices) preservando as
adjacências das arestas.

Formalmente pode-se dizer que G1(V1, E1) e G2(V2, E2) são isomorfos se satisfizerem as
seguintes condições:

1. | V1 | = | V2 | = n
2. Existe uma função biunívoca f : V1 → V2 tal que ( v, w ) ∈ E1 ⇔ (f(v),f(w)) ∈ E2 para
todo v, w ∈ E1.

Exemplos:

5 6 7 8 f(5) f(8)

f(6) f(7)

f(2) f(3)

f(1) f(4)
1 2 3 4

G1 G2 G3

G1 e G2 são isomorfos, G1 e G3 não, portanto G2 e G3 também não são isomorfos.

8.3.5. Grafo Completo

Um grafo simples, em que cada par distinto de vértices é adjacente, é denominado de grafo
completo. O grafo completo de n vértices é representado como Kn. O número de arestas de
um Kn é dado por m = (n – 1).

Exemplos:

8.3.6. Grafo Complementar

Um grafo G’ é denominado de complementar de G se possui a mesma ordem de G, e se uma


( )
aresta (arco) de G, não é aresta (arco) de G’, ou seja, se o par ordenado v i , v j ∈ E então

( v , v ) ∉ E' .
i j
Exemplos:

v5 v4 v5 v4

v6 v3 v6 v3

v1 v2 v1 v2

G G’

8. 3.7. Grafo Parcial e SubGrafo

Um grafo parcial G1 de um grafo G, é um grafo que possui o mesmo V e um subconjunto de E.

Um grafo G’(V’,E’) é um subgrafo de G(V,E), se V’ for subconjunto de V e E’ um subconjunto


de E. Um subgrafo é obtido de um grafo pela supressão de vértices de G, e os arcos
adjacentes.

Exemplo: Em uma rede telefônica, definimos: V = {telefones}, E = {ligações possíveis}. A


ocorrência de um defeito em um cabo qualquer impede várias ligações; a rede defeituosa
corresponde a um grafo parcial da rede perfeita. Já se retiramos um ou mais telefones, a rede
diminuída corresponderá a um subgrafo incluído na rede completa.

Exemplos:

G Grafo parcial de G Subgrafo de G

G Grafo Parcial de G Subgrafo de G


8.4 - REPRESENTAÇÕES DE GRAFOS

8.4.1. Matriz de Adjacência

Dado um grafo G(V,E), a matriz de adjacência A = [ aij ] é uma matriz n x n tal que:

aij = 1 se e somente se existe ( vi,vj) ε E


0 em caso contrário.

Então aij = 1 se os vértices são adjacentes.

Observação, na diagonal o 1 representará um laço.

Muitas vezes são representadas as arestas paralelas com números maiores que 1, só que isto
não é muito comum.

Um grafo não dirigido é sempre uma matriz simétrica, portanto poderá ser representado por
uma matriz triangular.

Exemplo:

v1 v2

v4 v3

Matriz de Adjacência

v1 v2 v3 v4
v1 0 1 0 1
v2 0 0 1 0
v3 0 0 0 1
v4 1 1 1 0

Vantagem: nessa representação a recuperação de uma aresta é imediata.


Desvantagem: o armazenamento é da ordem de n2, mesmo que o número de arestas seja
muito inferior a n
8.4.2. Estrutura de Adjacência

Um grafo pode ser descrito por sua estrutura de adjacência, isto é, uma lista de todos os
vértices adjacentes de cada vértice. A lista adjacente para um vértice i é uma lista, em alguma
ordem, de todos os vértices adjacentes a vi.

v1 v2

v5 v3

v6
v4

v1 v2 v5 v6 nil

v2 v1 v4 v5 nil
v3 nil
v4 v2 v5 nil

v5 v1 v2 v4 v6 nil

v6 v1 v5 nil

Vantagens: o uso dessa estrutura proporciona um armazenamento na ordem de 2*(n + m)


(número de vértices + número de arestas) se o grafo não for direcionado e n + m se for.
Desvantagens: a recuperação de uma aresta não é direta.

8.4.3. Matriz de Custo

Um grafo simples, pode ser representado pôr uma matriz nxn de custos W = [ wij ] ,onde

wij = custo da aresta, se (v,w) ε E


0 ou ∞ em caso contrário.

OBS: Trabalharemos este exemplo mais tarde.


8.4.4. Lista de Arestas

Pode-se representar um grafo com duas listas de vértices, uma lista para representar o início
das arestas e outra lista representar o fim.

Observe-se que laços e arestas paralelas são, facilmente representadas.

Exemplo:

v2 v3

v5

v1 v4
g = (v2, v3, v3, v4, v5, v5)
h = (v1, v2, v5, v3, v2, v4)

Onde: g é a lista que representa os vértices origem das arestas e h é a lista que representa os
vértices destino das arestas

8.4.5. Matriz de Incidência

Dado um grafo G ( V, E ) de n vértices e m arestas, a matriz de incidência de G é denotada por


B = [ bij ] e é uma matriz n x m definida como segue:

1 se a aresta e j incide sobre o vertice v j


bij = 
 0 em caso contrario ou se e j for um laco

Se o grafo é orientado então:

 1 se o vertice vi for a origem da aresta e j



bij = − 1 se o vertice vi for o destino da aresta e j
 0 em caso contrario ou se e for um laco
 j

Exemplo:
e1
v2 v3

e4 e5
e2

v1 v4
e3
Matriz de Incidência
e1 e2 e3 e4 e5
v1 0 0 -1 -1 1
v2 1 0 0 1 0
v3 -1 1 0 0 -1
v4 0 -1 1 0 0

OBS: A representação em vetores nós veremos em sala de aula.

8.5. CONEXIDADE E DISTÂNCIA

Intuitivamente o conceito de conexidade é óbvio. Um grafo é dito conexo se for possível visitar
qualquer vértice, partindo de um outro e passando por arestas. Esta visita sucessiva é
denominada: caminho.

Formalmente, diz-se que um grafo G é conexo, se existe pelo menos um caminho entre
qualquer par de vértices em G. Por exemplo:

Conexo
Não Conexo

É fácil de ver que um grafo não conexo consiste de dois ou mais subgrafos conexos. Cada um
desses subgrafos conexos é denominado uma componente.

TEOREMA 1 – Um grafo G é não conexo, se e somente se seu conjunto de vértices V pode ser
particionado em dois subconjuntos disjuntos, não vazios V1 e V2, tais que nenhuma aresta
exista em G ligando vértices de V1 a vértices de V2.

Prova: Suponha que exista tal partição, isto é, V = V1 + V2 tal que V1 ∩ V2 = ∅. Considere
dois vértices arbitrários u e w de G, tal que u ∈ V1 e w ∈ V2. Nenhum caminho deve existir
entre os dois vértices u e w, pois, caso contrário, existiria pelo menos uma aresta cujos vértices
adjacentes estariam um em V1 e o outro em V2. Portanto, se existe tal partição, G é não
conexo.

TEOREMA 2 – Um grafo simples e conexo, com n vértices, tem o numero de arestas m


satisfazendo a:
n – 1 ≤ m ≤ ½ (n – 1) m

TEOREMA 3 – Um grafo simples, com n vértices e K componentes, tem o número de arestas


m satisfazendo a:
n – K ≤ m ≤ ½ (n – K) (n – K + 1)

8.5.1. COMPONENTES FORTEMENTE CONEXAS

Em digrafos, as propriedades envolvendo caminhos abertos ou fechados, e a conexidade


tornou-se mais complicados que em grafos não dirigidos, devido à orientação das arestas.
As componentes conexas de um digrafo são facilmente obtidas, ignorando a orientação das
arestas para achar as componentes do grafo não dirigido resultante. Entretanto é interessante
achar as componentes fortemente conexas, isto é, o subgrafo fortemente conexo maximal.

Uma componente fortemente conexa de um grafo G(V,E) é definida como sendo um subgrafo
G’ conexo maximal de G, tal que o conjunto de vértices de G’ forme um caminho fechado, isto
é, qualquer vértice vi ∈ G’ pode ser atingido partindo-se de um outro vj ∈G’ e vice-versa, para
qualquer vi e vj ∈ G’.

É fácil de ver que se G’ for uma componente fortemente conexa, seus vértices não
aparecerão em outra componente G’’ independente e fortemente conexa. Esta afirmação é
bastante óbvia, pois se vi aparece em duas ou mais componentes fortemente conexas G’ e G’’,
então existe um caminho de um vértice vi ∈ G’ a outro vértice vj ∈ G’’ e vice-versa. Portanto a
união das duas componentes será fortemente conexa, o que é uma contradição em relação a
definição.

Se R(vi) for definido como sendo o conjunto de todos os vértices que podem ser atingidos
partindo-se do vértice vi, e Q(vi) o conjunto de todos os vértices vj que são tomados como inicio
de um caminho para atingir vi , então a componente fortemente conexa (CFC) pode ser definida
como CFC = R(vi) ∩ Q(vi).

Se o conjunto CFC for removido do grafo G, então o subgrafo restante pode ser tratado da
mesma forma anterior, e, assim, determinada uma outra componente fortemente conexa.

Este processo deve ser repetido até que todos os vértices de G tenham sido alocados em uma
componente fortemente conexa.

EXEMPLO

Considere o grafo G e ache suas componentes fortemente conexas:

v6 v10 v11

v1 v5 v13

v8 v12
v2
v7

v4 v9
v3

Inicialmente acha-se a componente fortemente conexa em relação ao vértice v1.


R(v1) = { v1 , v2 , v4 , v5 , v6 , v7 , v8 , v9 , v10}
Q(v1) = { v1 , v2 , v3 , v5 , v6}

Logo a CFC em relação a v1 é o subgrafo R(v1) ∩ Q(v1) = { v1 , v2 , v5 , v6}. Simultaneamente, a


CFC em relação a v3 é o subgrafo formado pelo conjunto de vértices {v3}. Em relação a v8 é o
subgrafo formado pelo conjunto de vértices { v8 , v10 }, em relação a v7 é o subgrafo formado
pelo conjunto de vértices { v4 , v7 , v9 }, em relação a v11 é {{ v11 , v12 , v13 }.

Define-se o grafo G* = (X*,A*) tal que cada um de seus vértices represente o conjunto de
vértices de uma componente fortemente conexa de G, e a aresta (xi*, xj*) exista, se e somente
se existir uma aresta (xk, xh) em G tal que xk ∈ xi* e xh ∈ xj*. Um grafo assim definido é
denominado de grafo reduzido. É fácil de ver que este grafo não contém qualquer caminho
fechado.

O grafo abaixo é o grafo reduzido do exemplo anterior.

X1* = { v1 , v2 , v5 , v6}.
X2* = { v8 , v10}.
X3* = { v4 , v7 , v9}.
X4* = { v11 , v12 , v13}.
X5* = { v3}.

As operações descritas acima, para achar as componentes fortemente conexas de um grafo,


podem ser determinadas diretamente, pelo uso das matrizes R e Q.

1, se o vértice vj pode ser atingido partindo-se do vértice vi .


rij =
0, em caso contrário.

E a matriz Q é definida como a matriz transposta de R, isto é, Q = RT .


Faz-se R e Q para achar as componentes fortemente conexas. O produto é feito elemento a
elemento.

EXEMPLO:

Achar as CFCs do grafo G abaixo, fazendo uso das matrizes R e Q.

v1 v2 v6

v3 v5

v4 v7

A matriz R e o produto das matrizes R e Q são como segue:

1101100 1000000
0101100 0100000
0011100 0010000
R= 0001100 R⊗Q= 0001000
0000100 0000100
0011111 0000011
0011111 0000011
Portanto, o grafo reduzido G* de G será da seguinte forma:

X*2 = {v2}

X*1 = {v1} X*3 = {v3}

X*4 = {v4}
X*6 = {v6 , v7}
X*5 = {v5}

8.5.2. BASES

Uma base B de um digrafo G(V, E), é um conjunto de vértices que não podem ser alcançados
a partir de outros vértices deste digrafo. Este conjunto é minimal no sentido de que nenhum
subconjunto de B tem esta propriedade.
Assim R(B), o conjunto alcançável de B, significa que:

R(B) = U R(vi)
vi ∈ B

Isto é, B é uma base, se e somente se R(B) = V e para todo S ⊂ B, R(S) ⊂ V.


A condição R(B) = V, para todo S ⊂ B é equivalente a dizer que vj ∈R(vi) para quaisquer dos
vértices vi, vj ∈B, ou ainda um vértice em B não pode ser alcançado, partindo-se de qualquer
outro vértice de B.

Pode-se dizer que uma base é formada pelo conjunto de vértices de


grau de entrada zero, e sua antibase é o conjunto de vértices com grau
de saída zero.

8.5.3. DISTÂNCIA

Dados dois vértices v e w pertencentes ao grafo G(V, E), denomina-se distancia, entre v e w,
ao comprimento do menor caminho entre estes dois vértices. No caso da não existência desse
caminho, considera-se a distancia infinita.
Será usado d(v,w) como notação de distancia entre os vértices v e w.

EXCENTRICIDADE, denotada por [e(v)], de um vértice v, é a máxima das distancias d(v,u), isto
é, ∀ u ∈G, e(v) = MAX d(v,u).

RAIO, denotado por [r(G)], de um grafo G é o MIN(e(v)).

CENTRO de G, é definido pelo conjunto de vértices v tais que e(v) = r(G).

8.5.4. LOCALIZAÇÃO DO CENTRO DE EMERGÊNCIA


Aqui o interesse é determinar o centro de um grafo de tal modo que o tempo de ida e volta seja
mínimo (é o caso da localização de hospitais, polícia, bombeiros, etc.). Observe que neste caso
os vértices representam uma população e, como tal, devem ser levados em consideração.

A excentricidade e o raio serão respectivamente determinados como:

esr (xi) = MAX {vJ[d(xI,xJ) + d(xJ,xI)]} e xi ∈V


r(G) = MIN [ esr (xi)], onde o índice sr significa saída e retorno e vj é o peso xi ∈V do vértice xi.

OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

8.6. CAMINHO

Caminho: é qualquer seqüência de arestas onde o vértice final de uma aresta é o vértice inicial
da próxima. Assim, um caminho de k vértices é formado pôr (k-1) arestas.

Se todos os vértices do caminho são distintos, então temos um caminho simples.

Se todos as arestas do caminho são distintas, então temos um caminho elementar.

Um caminho fechado é chamado de ciclo. Um grafo que não possui ciclo é conhecido como
acíclico.

8.6.1 - GRAFOS EULERIANOS

A teoria de grafos teve inicio em 1736, com trabalho de Euler na solução do problema da
travessia das sete pontes apresentado na introdução deste capítulo, assim como com trabalho
em que propôs e resolveu o seguinte problema: quais são os tipos de grafos G, onde é
possível achar um caminho fechado, passando em cada aresta uma única vez?

Antes da solução é importante conhecermos alguns detalhes, tais como:

1. Um caminho fechado passando uma única vez em cada aresta do grafo, foi denominado
de caminho de Euler, e um grafo que consiste de um caminho fechado de Euler é um
grafo de Euler.
2. Observar que um caminho é sempre conexo. Portanto o grafo de Euler é sempre
conexo.
3. Um grafo com um vértice isolado também é um grafo de Euler.

Teorema 1: Um grafo conexo G, é um grafo de Euler se e somente se todos os seus vértices


são de grau par.

Demonstração: Suponha que G é um grafo de Euler. Então deverá conter um caminho de


Euler (caminho fechado passando pôr todas as arestas). Observe-se que cada vez que
chegamos a um vértice, temos 2 arestas incidentes, uma que chega e outra que sai do vértice.
Isto é verdade para todos os vértices, então cada vértice é par.

Agora suponha que todos os vértices são de grau par. Como cada vértice tem grau par, pode-
se entrar e sair de cada vértice. Como o primeiro vértice é par, ele será visitado novamente
quando feche o caminho. Se caminho achado passou pôr todas as arestas G é de Euler.
Senão, remove-se de G as arestas do caminho encontrado, e formo um subgrafo com as
arestas restantes, e aplico o mesmo raciocínio.

OBS: De acordo com Rabuske (1.992, p. 44): “um grafo conexo é semi-euleriano, se e
somente se não existirem mais que dois vértices de grau ímpar”.

Teorema 2: Um digrafo G contém um ciclo euleriano, se e somente se os graus de entrada e


saída de cada vértice forem iguais.

São exemplos de problemas de grafos de Euler: problema do Carteiro Chinês, Recolhimento


de Lixo e de Leite. Estes problemas se resumem em: Encontrar o caminho de menor custo,
partindo do vértice inicial, passando uma única vez pôr cada aresta, e passando pôr todas as
arestas, voltando ao vértice inicial.

Algoritmo de Fleury: (serve para traçar um ciclo euleriano)

Seja G um grafo euleriano. Inicie em qualquer vértice e atravesse as arestas de uma maneira
arbitrária, segundo as seguintes regras:

1. Apague a aresta que foi visitada e, se algum vértice ficar isolado, apague-o também.
2. Em cada estágio, use um istmo somente se não houver alternativa, isto é, nunca atravesse
uma aresta, se naquele particular momento a remoção daquela aresta divide o grafo, em duas
ou mais componentes (excluindo os vértices isolados).

8.6.2. CICLOS E CAMINHOS HAMILTONIANOS.

Um ciclo hamiltoniano em um grafo conexo G é definido como um caminho simples fechado,


isto é, passa-se em cada vértice de G exatamente uma vez, exceto o vértice inicial que também
é final. Portanto um ciclo hamiltoniano em um grafo de n vértices consiste de exatamente n
arestas. O caminho hamiltoniano é um caminho simples, de comprimento n-1, para n
vértices.

Nem todo grafo conexo tem um ciclo hamiltoniano. Devemos saber qual é a condição
necessária e suficiente para que um grafo conexo tenha um ciclo hamiltoniano. Isto é um
problema insolúvel.

Número de ciclos de um grafo: serve para determinar o menor ciclo num grafo valorado.

Teorema 1: Em um grafo completo, com n vértices, existem (n-1)/2 ciclos hamiltonianos com
arestas disjuntas, se n for impar e (n-2)/2 se n for par.

Exemplo:

Suponha o seguinte problema: nove membros de um clube reúnem-se todos os dias para
almoçar. Eles decidiram que cada dia, eles deveriam sentar-se ao lado de pessoas diferentes
do grupo. Durante quantos dias novos arranjos podem ser feitos?

Solução: A modelagem do problema é um grafo completo, uma vez que cada membro do
clube, representado pelo vértice vi, troca com o membro vj.
Pelo teorema anterior pode ser visto que há 4 maneiras diferentes de fazer os arranjos, a
saber:
{ 1 2 3 4 5 6 7 8 9 1} - { 1 3 5 2 7 4 9 6 8 1} - { 1 5 7 3 9 2 8 4 6 1} - { 1 7 9 5 8 3 6 2 4 1}

Teorema 2: Uma condição suficiente (não necessária), para que um grafo simples G possua
um ciclo hamiltoniano é que o grau de cada vértice em G seja pelo menos igual a n/2, onde n é
o número de vértices de G.

Dentre os vários outros problemas interessantes em teoria de grafos existe o do Caixeiro


Viajante, que consiste do sweguinte problema: um caixeiro viajante deseja visitar um número
de cidades, a fim de vender seus produtos. Dadas as distâncias entre As cidades, em qual
ordem ele as percorrerá, a fim de visitar cada cidade uma única vez, com o mínimo de
quilometragem percorrida?

Se o grafo representativo do problema for completo, o número de ciclos hamiltonianos será de


(n-1)!/2. Teoricamente o problema pode ser resolvido da seguinte maneira:
1. Enumere todos os ciclos hamiltonianos
2. Escolha o de menor custo.

Se n = 10 então tenho 181.440 ciclos


n = 20 então tenho 6 * 1016 em minutos seria = (6 * 1016 ) / (6 * 10) = 1015 minutos
1015 minutos = (1015 ) / (60 * 24) = 1010 anos

ALGORITMO: CICLO HAMILTONIANO DE CUSTO MÍNIMO

Entradas: N (cidades), C (matriz de custo), u (vértice inicial), v (vértice da posição atual)


Saída: Tour (ciclo hamiltoniano), Custo (custo do ciclo)

Passo 1. [Inicializo]
Tour ← 0; Custo ← 0; v ← u;

Passo 2. [Visita a todas as cidades]


Para k ← 1 até N-1 faça
Seja (v,w) a próxima aresta a ser escolhida, isto é, a aresta de menor custo
partindo de v para w.
Tour ← Tour + (v,w);
Custo ← Custo + C(v,w);
Rotule w como ‘fechado’;
v←w;
Fim Para
Passo 3. [Ciclo completo ou completando o ciclo]
Tour ← Tour + (v,w);
Custo ← Custo + C(v,w);

8.7 - PROBLEMAS DO MENOR CAMINHO

Suponha que se tenha um mapa da rede rodoviária em que as cidades são representadas por
pontos e as estradas por linhas. O mapa, sem dúvida, pode ser considerado um grafo, em que
as distancias são ponderações das arestas, podendo ser consideradas também como custo ou
tempo.
O problema consiste em determinar a distância do menor caminho entre quaisquer dois
vértices vi e vj.

1º CASO – PROBLEMA DO CARTEIRO CHINÊS

Suponha que no grafo da rede rodoviária necessita-se determinar o custo do menor caminho
partindo de um vértice inicial passando por todas as arestas uma única vez e retornando ao
ponto, de origem.

SOLUÇÃO 1: Se o grafo for de Euler, então o caminho pode ser achado, e conseqüentemente
seu respectivo custo, através do algoritmo de Fleury. O custo é dado pela soma dos custos de
todas as arestas do grafo.

SOLUÇÃO 2: Se o grafo não for de Euler, então algumas arestas terão que ser repetidas. Para
resolver o problema, sugere-se o algoritmo abaixo:

ALGORITMO – CARTEIRO CHINÊS

ENTRADA: Grafo G(V, E).


SAÍDA: Menor caminho passando por todo grafo e seu custo.
P1. Determinar os vértices de grau impar;
P2. Construa a matriz de distância D, com apenas os vértices de grau impar;
P3. Determine, através da matriz D, o par de vértices vi e vj que contém o menor caminho;
P4. Construa um caminho artificial de vi para vj com o custo encontrado em P3 (este caminho
artificial representa as arestas de menor custo que serão repetidas entre vi e vj);
P5. Elimine da matriz D as linhas e colunas correspondentes a vi e vj;
P6. Se ainda houver linha e coluna, então volte para P3;
P7. Oriente o grafo;
P8. O custo será igual à soma dos custos de todas as arestas acrescida dos custos das
arestas encontradas em P3.

OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

2º CASO - PROBLEMA DO CAIXEIRO VIAJANTE.


Determinar o menor caminho passando por todos os vértices e retornando ao vértice de
origem.

Solução 1: Método Algébrico.

Este método envolve a geração de todos os caminhos simples pôr multiplicação sucessiva de
matriz. Envolve os seguintes passos:
Passo 1. Construir a matriz de adjacência A do grafo.
Passo 2. Construir a matriz B (n x n ) da seguinte forma:
bij = vj, se existe a aresta (vi, vj); 0 em caso contrário.
Passo 3. Faça P1 ← A;
Passo 4. Faça Pi + 1 ← B * Pi com i = 1 .. n-1 onde
P i + 1 (k,k) = 0, para todo k
n-1
P i + 1 (s,t) = ∑ ( b(s,k) * P i (k,t)), com k variando até n-1.
k
Observe que na matriz Pi + 1 obtêm-se todos os caminhos hamiltonianos de cardinalidade i+1,
entre os vértices s e t.

Exemplo:
Os caminhos marcados devem ser ignorados, pois são caminhos de S ate K que contém S. A
diagonal é ignorada também.

Matriz de Adjacência Matriz B


0 1 0 1 0 0 B 0 D 0
0 0 0 1 1 0 0 0 D E
0 1 0 0 1 0 B 0 0 E
0 0 1 0 0 0 0 C 0 0
1 0 1 0 0 A 0 C 0 0

P1 = A
P2
- - D B B
E - D+E - -
E - E B B
- C - - C
- A+C - A C

P3
BE DC BD + BE - DC
- DC + EA + EC - EA DC
BE EA + EC BD + BE EA -
CE - - CB CB
CE - AD AB+CB AB + CB

P4
DCE - - BEA BDC + DCB
DCE - EAD EAB+ECB DCB
- - EAD BEA+EAB+ECB BDC
CBE CEA - CEA -
CBE ADC + CEA ABD + ABE CEA ADC

ABDCE, ADCBE, BDCEA, BEADC, CBEAD, CEABD, DCBEA, DCEAB, EADCB e EABDC.

Solução 2: Método de Robert & Flores.

Ao contrário do método algébrico que, para determinar os ciclos hamiltonianos, necessita


armazenar todos os subcaminhos, o algoritmo de Robert e Flores, apresenta outro método
de enumeração, o qual, partindo de um vértice inicial, determina um caminho, se houver, que
leva até o próximo vértice, e então, através do “ backtracking” continuado, tenta determinar as
demais.
Algoritmo de Roberts e Flores

Seja M = [mij] a matriz k x n, onde o elemento mij é o i-ésimo vértice ( digamos vq), tal que
existe a aresta (vj, vq) no grafo conexo G.

O número de linhas da matriz M é determinado pelo maior grau de saída de um vértice de G.

Passo 1. Escolher um vértice inicial vi.


Passo 2. Faça S ← { vi }
Passo 3. Adicione a S o primeiro vértice viável ( digamos vj) pertencente à coluna do vi.
Passo 4. Repita o passo 3 enquanto houver vértice viável pertencente à coluna do último
vértice viável encontrado.
Passo 5. Se S é de cardinalidade n-1, então a seqüência encontrada em S é um caminho
hamiltoniano { vi , vj ..., vr }.Se existe uma aresta (vr, vi) então existe um ciclo hamiltoniano. Se
não existe ciclo, aplico “backtracking”, removo o último vértice de S(vr) e é adicionado o
primeiro vértice viável que pertence à coluna vr-1.
Passo 6. O processo termina quando S contém somente o vértice vi e não existe vértice viável
que possa ser adicionado a S.

Exemplo 1:

Determinar os ciclos hamiltonianos do grafo dado pela matriz de adjacência a seguir, utilizando
o algoritmo.

v1 v2 v3 v4 v5 v6
v1 0 1 0 0 0 0
v2 0 0 1 0 1 0
A= v3 1 0 0 1 0 0
v4 0 0 1 0 0 1
v5 0 0 1 1 0 0
V6 1 1 1 0 0 0

v1 v2 v3 v4 v5 v6
v2 v3 v1 v3 v3 v1
A= v5 v4 v6 v4 v2
v3

1 – Considere o vértice inicial v1; S = { v1}.


2 – Adicione a S o primeiro vértice viável na coluna de v1; S = { v1; v2}.
3 – Continuando o processo tem-se: S = { v1 ; v2 ; v3}, S = { v1 ; v2 ; v3 ; v4} S = { v1 ; v2 ; v3 ; v4
; v6}.
4 – Observe que na coluna de v6 , não existe vértice que seja viável, então faz-se “
backtracking ” e obtém-se S = { v1 ; v2 ; v3 ; v4}.
5 – Não existe vértice viável na coluna do v4. Fazendo o “ backtracking ” resultará S = { v1 ; v2 ;
v3}.
6 – Não existe vértice viável na coluna do v3, então o “ backtracking ” dará S = { v1 ; v2}.
7 – Adicionando a S o vértice viável pertencente a coluna do v2, resulta S = { v1 ; v2 ; v5}.
8 – Continuando o processo tem-se: S = { v1 ; v2 ; v5 ; v3} S = { v1 ; v2 ; v5 ; v3 ; v4}, S = { v1 ; v2
; v5 ; v3 ; v4 ; v6}.
Este último é um ciclo hamiltoniano porque existe a aresta { v6 ; v1 }.
Exemplo 2:

Dada a matriz de adjacência de um grafo, determinar um ciclo Hamiltoniano que começa em


v0:

v0 v1 v2 v3 V4
v0 0 1 0 1 0
v1 0 0 1 0 0
v2 0 0 0 0 1
v3 1 1 0 0 1
v4 0 1 0 1 0

M v0 v1 v2 v3 V4
v1 v2 v4 v0 v1
v3 v1 v3
v4

1– vi ← v0 , S = { v0 };
2- S = { v0 , v1 };
S = { v0 , v1 }; S = { v0 , v1 , v2 }; S = { v0 , v1 , v2 , v4 }; S = { v0 , v1 , v2 , v4 , v3 };
Como existe aresta de v3 a v0 , um ciclo hamiltoniano é dado por:
S = {v0 , v1 , v2 , v4 , v3 , v0 }.

Solução 3: Método de Floyd.

Idéia do Algoritmo:

O algoritmo de Floyd usa uma matriz A n x n para computar o custo mínimo dos caminhos em
G. A[i, j] é inicializada com a matriz de custos para todo i ≠ j . Se não existe aresta de i para j,
A[i, j] = ∞. Cada elemento da diagonal principal é inicializado com 0. São feitas n iterações na
matriz A. Após a k-ésima iteração, A[i, j] terá com seu valor o menor caminho do vértice i para
o vértice j, que não passa por um vértice com numeração maior que k. Isto é, i e j, os vértices
finais do caminho podem ser quaisquer vértices, mas qualquer vértice intermediário não poderá
ser maior que k . Na k-ésima iteração é usada a seguinte fórmula:
A[i, j] = min[(A[i, j] , A[i, k] + A[k, j])].

Assim, para todos os caminhos entre dois vértices quaisquer do grafo são testados vértices
intermediários que possam minimizar o custo do caminho original entre esses vértices.

Algoritmo

Inicio
Para i = 1 até n faça
Para j = 1 até n faça
A [ i, j ] ← D( i, j );
Para i = 1 até n faça
A [ i, j ] ← 0;
Para k = 1 até n faça
Para i = 1 até n faça
Se i < > k então faça
Para j = 1 até n faça
Se j < > k então faça
Se A [ i, k ] + A [ k, j ] < A [ i,j ] então faça
A [ i,j ] ← A [ i, k ] + A [ k, j ] ;
Fim

OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

Complemento a Solução 3: Método de Floyd Modificado.

MATRIZ DE ROTEAMENTO

Em diversas situações deseja-se saber qual é o menor caminho de um vértice a outro. Uma
maneira de conseguir esta informação é utilizar uma matriz R, onde em R[i,j] contém aquele
vértice k que permite ao algoritmo de Floyd achar o menor valor A[i,j]. Se R[i,j] = 0, então o
menor caminho de i para j é direto, seguindo a aresta (vi,vj) . A versão do algoritmo de Floyd
modificado fornece estes caminhos.

Algoritmo

Inicio
Para i = 1 até n faça
Para j = 1 até n faça
A [ i, j ] ← D( i, j );
R [ i, j ] ← 0;
Para i = 1 até n faça
A [ i, j ] ← 0;
Para k = 1 até n faça
Para i = 1 até n faça
Se i < > k então faça
Para j = 1 até n faça
Se j < > k então faça
Se A [ i, k ] + A [ k, j ] < A [ i,j ] então faça
A [ i,j ] ← A [ i, k ] + A [ k, j ] ;
R [ i, j ] ← k;
Fim

Exemplo: O mesmo trata tanto de Floyd como de Matriz de Roteamento.

Dadas a matriz de distância de um passo (D1) de até dois passos (D2) e de até 5 passos (D5)

a) Calcular os caminhos de até 3 passos do vértice V5 a qualquer outro vértice.


b) Calcular os caminhos do vértice V4 ao vértice V0 de até 4 passos.
c) Calcular os caminhos do vértice V1 ao vértice V5 de até 4 passos.
d) Dada a matriz de roteamento final R indicar qual é a seqüência de vértices a percorrer para
encontrar o caminho mínimo de V3 até V2; de V3 até V5 e de V1 até V5.
D1 v0 v1 v2 v3 v4 v5 D2 v0 v1 v2 v3 v4 v5
v0 0 4 6 ∞ 2 7 v0 0 4 6 5 2 5
v1 3 0 6 3 ∞ 9 v1 3 0 5 3 5 8
v2 ∞ 4 0 9 5 2 v2 7 4 0 7 5 2
v3 ∞ 4 2 0 7 10 v3 7 4 2 0 7 4
v4 ∞ ∞ ∞ 3 0 3 v4 12 7 5 3 0 3
v5 9 5 5 11 6 0 v5 8 5 5 8 6 0

D3 v0 v1 v2 v3 v4 v5 D4 v0 v1 v2 v3 v4 v5
v0 0 4 6 5 2 5 v0 0 4 6 5 2 5
v1 3 0 5 3 5 7 v1 3 0 5 3 5 7
v2 7 4 0 7 5 2 v2 7 4 0 7 5 2
v3 7 4 2 0 7 4 v3 7 4 2 0 7 4
v4 10 7 5 3 0 3 v4 10 7 5 3 0 3
v5 8 5 5 8 6 0 v5 8 5 5 8 6 0

D5 v0 v1 v2 v3 v4 v5 R v0 v1 v2 v3 v4 v5
v0 0 4 6 5 2 5 v0 v0 v1 v2 v4 v4 v4
v1 3 0 5 3 5 7 v1 v0 v1 v3 v3 v4 v3
v2 7 4 0 7 5 2 v2 v1 v1 v2 v1 v4 v5
v3 7 4 2 0 7 4 v3 v1 v1 v2 v3 v4 v5
v4 10 7 5 3 0 3 v4 v3 v3 v3 v3 v4 v5
v5 8 5 5 8 6 0 v5 v1 v1 v2 v1 v4 v5

a) V5 – V0 = 8 ⇒ V5 – V1 – V0 b) V4 – V0 = 10 ⇒ V4 – V3 – V1 – V0
V5 – V1 = 5 ⇒ V5 – V1 c) V1 – V5 = 7 ⇒ V1 – V3 – V2 – V5
V5 – V2 = 5 ⇒ V5 – V2
V5 – V3 = 8 ⇒ V5 – V1 – V3
V5 – V4 = 6 ⇒ V5 – V4

d) V3 até V2 V3 até V5
R[3,2] = V2 ⇒ V3 – V2 R[3,5] = V2 ⇒ V3 – V2 – V5

de V1 até V5
R[1,5] = V3 ⇒ V1 – V3 – V2 – V5

Solução 4: Método de Dijkstra

Seja um grafo G uma função distância L que associe cada aresta (vi,vj) a um número real não
negativo L(vi,vj) e também um vértice fixo v0 em V, chamado de fonte. O problema consiste em
se determinar os caminhos de v0 para cada vértice vi de G, de tal forma que a somatória das
distâncias das arestas envolvidas em cada caminho seja mínima. Isso é equivalente a
determinar um caminho v0, v1, . . . , vk tal que ∑ L (vi, vi+1) com i = 0 .. k -1, seja mínimo.

Idéia do algoritmo:
Considere um dígrafo G, uma origem v0 e uma função L que associe cada aresta a um número
real não negativo, isto é:
L(vi,vj) = ∞, se não existe a aresta (vi,vj)
0, se vi = vj
custo, se vi ≠ vj e existe a aresta (vi,vj)

Constrói-se um conjunto S, que contém os vértices vi’s cujo comprimento mínimo de v0 a cada
vi, seja conhecido.

A cada passo se adiciona ao conjunto S o vértice w pertencente a V-S tal que o comprimento
do caminho v0 a w, seja menor do que o correspondente de qualquer outro vértice de V-S.

Pode-se garantir que o caminho mínimo de v0 a qualquer vértice v em S contém somente


vértices pertencentes a S.

Algoritmo

Inicio
S ← { v0};
D[v0] ← 0;
Para cada v ∈ V - { v0} faça D [v] ← L (v0,v);
Enquanto S ≠ V faça
Escolha o vértice w ∈ V-S tal que D[w] seja mínimo;
Coloque w em S, isto é, faça S ← S ∪ {w} ;
Para cada v ∈ V-S faça D[v] ← MIN (D[v], D[w] + L(w,v))
Fim

Exemplo:

Seja a matriz de custos:

v0 v1 v2 v3 v4
v0 2 10
v1 3 7
v2 4
v3
v4 8 5

Solução:

Iteração S w D[w] D[v1] D[v2] D[v3] D[v4]


0 v0 - 0 2 ∞ ∞ 10
1 v0,v1 v1 2 - (∞,5) ∞ (10,9)
2 v0,v1,v2 v2 5 - - (∞,9) 9
3 V0,v1,v2,v3 v3 9 - - - 9
4 v0,v1,v2,v3,v4 v4 9 - - - -

8.8. ÁRVORES

O conceito de árvores tem aplicação em química, comunicações, redes de luz, água, esgoto,
computação, ordenação, etc.
As seguintes definições de árvores não dirigidas são todas equivalentes. Uma árvore é:
1. um grafo conexo de n vértices e (n-1) arestas.
2. um grafo conexo sem ciclos.
3. um grafo no qual cada par de vértices é ligado por um e somente um caminho simples.
4. um grafo conexo, porém, se qualquer de suas arestas for retirada, a conexidade fica
interrompida.
5. um grafo acíclico e conexo, porém, se dois vértices quaisquer, não adjacentes, forem ligados
por uma aresta, então o grafo passará a ter exatamente um ciclo.
6. um grafo conexo que não possui subgrafo Kn para n ≥ 3
7. um grafo que não possui K3 ∪ K2 ou K3 ∪ K1, mas tem n = m + 1, onde n é o número de
vértices e m o número de arestas.

Uma floresta é um conjunto de árvores. Portanto uma floresta de k árvores, possuindo n


vértices, tem precisamente n-k arestas.

Se G é um grafo não dirigido, de n vértices, então uma árvore expandida T de G é definida


por um subgrafo de G que forma uma árvore de acordo com as definições anteriores, ou é um
subgrafo conexo minimal de G, isto é, não existe subconjunto de arestas menor do que os da
árvore que forme um subgrafo conexo. Isto é, uma árvore expandida é uma árvore que
contém todos os vértices de V.

Exemplo:

G T

Árvore Dirigida ( arborescência) é um digrafo acíclico, onde o grau de entrada de cada


vértice é 1, exceto o da raiz, que possui grau de entrada zero.

Raiz de uma arborescência T, é um vértice v tal que qualquer outro vértice de T pode ser
alcançado partindo-se de v.

Um vértice com grau de saída nulo é, chamado de folha.

EXEMPLO:

Um conjunto de vértices de uma árvore estão no mesmo nível i, se e somente se a distância


da raiz até esse vértices for a mesma. As folhas que estão a mesma e maior distância da raiz
estão no nível zero.

O algoritmo a seguir determina uma árvore expandida de um grafo G conexo. Se G for um


grafo qualquer com n vértices m arestas e k componentes, então o algoritmo aplicado a cada
componente resulta em uma floresta expandida.
Algoritmo

Entrada : grafo G conexo


Saída: Árvore Expandida.

Passo 1. Escolha um ciclo de G e remova uma aresta qualquer.


Passo 2. Repita o passo 1 até não existir mais ciclo em G.
Passo 3. O grafo resultante será uma árvore que conecta todos os vértices de G.

PARTICIONAMENTO DO GRAFO EM NÍVEIS

Particionar um grafo em níveis, tem interesse no estudo das hierarquias, exemplo:


organogramas, sistemas de comunicação, etc.

Se um digrafo é acíclico, então pode-se particioná-lo em níveis, onde os vértices de um nível


só possuem antecedentes nos níveis anteriores.
O algoritmo, a seguir, particiona o grafo em níveis.

O procedimento consiste em somar as colunas da matriz de adjacência para determinar o grau


de entrada de cada vértice. Os vértices cuja soma dos graus de entrada for zero, pertencerão a
um mesmo nível. Elimina-se da matriz de adjacência as linhas e colunas destes vértices, e
repete-se o processo novamente.

O procedimento termina quando a matriz for toda eliminada ou se as somas das colunas forem
todas diferentes de zero. Este último critério de parada significa que o digrafo é não acíclico e
os ciclos consistem destes vértices.

Algoritmo de Demoucron

Entrada: Matriz de adjacência ( A ) de G


Saída: Grafo particionado em níveis.

Passo 1. Faça i ← 0;
Passo 2. Some os elementos de cada coluna da matriz ( A ).
Passo 3. Coloque no nível i os vértices vj’s cuja coluna deu soma igual a zero.
Passo 4. Elimine da matriz ( A ) as linhas e colunas correspondentes aos vértices vj’s.
Passo 5. Se a matriz A não foi toda eliminada, então faça i ← i + 1. Retorno ao passo 2.

Exemplo. Seja um grafo dado pela matriz de adjacência:

v1 v2 v3 v4 v5 v6 v7 v8
0 0 0 0 0 0 0 0
0 0 1 1 0 1 0 0
0 0 0 0 1 1 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
ÁRVORE DE CUSTO MÍNIMO

Nos problemas de interligação, como redes de comunicação, redes de luz, de água, esgotos,
etc., existe interesse na interligação de todos os pontos atendidos com o consumo mínimo de
meios.

Lema: seja G ( V, E ) um grafo conexo, e S ( V, T ) uma árvore expandida de G. Então:


1. Para todo v1 e v2 em V, o caminho entre v1 e v2 em S é único; e
2. Se qualquer aresta em E-T for adicionada em S, resultará num único ciclo.

Demonstração:
A parte 1. é trivial, desde que, se existir mais de um caminho entre dois vértices, então existirá
um ciclo.
A parte 2. é igualmente trivial, desde que já deve existir um caminho entre os extremos das
arestas adicionadas.

Lema: seja G ( V, E ) um grafo conexo e f uma função custo associada a suas arestas, {
(V1,T1), (V2,T2), . . . , (Vk, Tk) } uma floresta expandida de G com k > 1 e T = ∑ Ti com i = 1 ..
k.

Suponha que e = (v,w) seja uma aresta de menor custo em E-T. tal que v ∈ V1 e w ∉ V1.
Então existe uma árvore expandida para G que inclui T ∪ {e} e é de custo mais baixo do que
qualquer árvore expandida de G que inclua T.

Baseando-se nos dois lemas anteriores, serão mostrados algoritmos que determinam uma
árvore expandida de custo mínimo S ( V, T ), para um grafo G ( V, E ).

Algoritmo de Kruskal: este algoritmo utiliza três conjuntos, E, T e VS. O conjunto T é usado
para guardar as arestas da árvore expandida. O algoritmo trabalha transformando uma floresta
expandida de G em uma única árvore expandida. O conjunto VS contém os conjuntos das
árvores na floresta expandida. Inicialmente, VS contém todos os vértices de G, onde cada
vértice é um conjunto. As arestas são escolhidas de E pela ordem crescente de custo.
Considere que a aresta (v,w) tenha sido escolhida. Se v e w pertencem ao mesmo conjunto
VS, descarta-se a aresta. Se v e w estão em conjuntos distintos W1 e W2, faz-se o ‘merge’ de
W1 e W2 e adiciona-se (v,w) a T, o conjunto de arestas da árvore expandida final.

Entrada: Um grafo G ( V, E ) com uma função de custo C associada as arestas.


Saída: S ( V, T ), uma árvore expandida de custo mínimo de G.

Inicio
Faça T ← 0; VS ← 0;
Construa uma fila de prioridade ( Q ) contendo todas as arestas de E;
Para cada vértice v ∈V faça: adicione { v } em VS;
Enquanto | VS | > 1 faça
Escolha ( v, w), uma aresta em Q de menor custo;
Apague ( v, w ) de Q;
Se v e w estão em conjuntos diferentes W1 e W2 pertencentes a VS, então:
Substitua W1 e W2 em VS por W1 ∪ W2; ( para evitar formar ciclos)
Adicione (v,w) a T;
Fim.
OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

Algoritmo de Dijkstra: este algoritmo fornece uma árvore expandida de custo mínimo,
trabalhando por inclusão de vértices, onde cada vértice leva apenas uma aresta à árvore; logo,
não há preocupação com a formação de ciclos.

Entrada: O grafo G ( V, E ), representado pela lista de aresta e seus custos.


Saída: Árvore expandida, T ( V1, E1 ), de custo mínimo.

Passo 1. Faça T ← 0;
Passo 2. Construa uma fila de prioridade ( Q ) contendo todas as arestas de E;
Passo 3. Escolha ( v, w ), uma aresta em Q de menor custo;
Passo 4. Enquanto | V | > 0 faça: ( ou | T | < | V | isto é: número de V. da árvore < número de
V. do grafo)
Retire ( v, w ) de Q;
Adicione ( v, w ) de T;
Apague v, w de V;
Escolha ( v, w ) a aresta em Q de menor custo, tal que v ∈ V e w ∈ T.

OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

8.9. GRAFOS PLANARES

Um grafo G é dito planar se existir alguma representação geométrica de G que possa ser
desenhada num plano, de tal modo que não exista cruzamento de arestas.

OBS: Este assunto será trabalhado em sala de aula com exemplos em forma de exercícios, os
quais deverão ser copiados do quadro, em sala de aula.

Teoremas de Kuratowski.
1. O grafo completo de 5 vértices K5 é não planar.
2. O grafo K3,3 é não planar.

Com base nos teoremas anteriores, pode-se dizer que um grafo é dito planar se não contém
como subgrafo um K5 ou um K3,3. Portanto pode-se afirmar que qualquer subgrafo de um
grafo planar é planar.

Face: Uma representação planar do grafo divide o plano em faces. Uma face é caracterizada
por um conjunto de arestas formando suas fronteiras. Ou ainda: uma face de um grafo planar é
uma região de plano limitada por arestas, de tal modo que dois vértices quaisquer desta região
possam ser ligados por um traço contínuo (aresta) sem que haja cruzamento com nenhum
outro traço.
9. ANÁLISE COMBINATÓRIA
A Combinatória “arte de contar sem contar” é o ramo da Matemática que trata da contagem.

Os problemas que envolvem contagem são relevantes sempre que:


a) Temos recursos finitos como, por exemplo: Quanto espaço de armazenamento um
determinado banco de dados usa? Quantos usuários uma determinada configuração de
computador pode suportar? Ou
b) Quando estamos interessados em eficiência como, por exemplo: Quantos cálculos são
efetuados por um determinado algoritmo?

9.1. TÉCNICAS DE CONTAGEM:

A) Árvore das possibilidades

Para a eleição da Associação de esportes da Faculdade, há três candidatos a presidente e dois


a vice-presidente.

Candidatos a presidente: Adriano (A) Candidatos à vice-presidente: Bianca (B)


Filipe (F) Diego (D)
Carmem (C)

Quais são os possíveis resultados dessa eleição?

Poderemos responder a este questionamento através da construção de uma árvore de


possibilidades (esquema matemático) com os possíveis resultados.

Presidente Vice-presidente Resultados possíveis


B AB
A
D AD

B FB = 6 resultados possíveis
F
D FD

B CB
C
D CD

B) Tabela de Dupla Entrada

Pode-se optar também pela busca de possibilidades através de uma tabela, o que não tem sido
usado em grande escala, mas existe a técnica.
Vice-presidente
Presidente B D
A AB AD
F FB FD
C CB CD
Antes de dar continuidade ao assunto, que tal exercitar o conteúdo combinação brincando um
pouquinho com a técnica “árvore de possibilidades”, resolvendo os exemplos a seguir?

1) Uma moeda tem duas faces: cara (K) e coroa (C). Lança-se uma
moeda três vezes seguida e observa-se qual face ficou voltada
para cima. Quantos e quais são os resultados possíveis?
2) Paulo e Roberto disputam entre si um torneio de tênis, no qual
o vencedor será o primeiro a ganhar duas partidas seguidas ou
três alternadas. Descreva todas as possibilidades de
desenvolvimento do torneio.
3) Quantos e quais são os números de três algarismos distintos
que podemos formar usando os algarismos: 2, 5 e 7?

C) Princípio da adição:

Em geral:

[A ∪ B] = [A] + [B] – [A ∩ B]

e no caso de os conjuntos A e B serem disjuntos

[A ∪ B] = [A] + [B]

Para três conjuntos A, B e C finitos:

|A ∪ B ∪ C| = |A| + |B| + |C| - |A ∩ B| - |B ∩ C| - |C ∩ A| + |A ∩ B ∩ C|


Problema (Exercício)

Numa escola há 100 alunos. 65 alunos estudam Matemática, 45 estudam Eletrônica, 42


estudam Direito, 20 estudam Matemática e Eletrônica, 25 estudam Matemática e Direito e 15
estudam Eletrônica e Direito. Quantos alunos estudam as três disciplinas?

OBS: O diagrama será representado e contextualizado com os alunos em sala de aula.

D) Princípio da multiplicação:

[A × B] = [A] . [B]

Esta técnica nos permite encontrarmos o número de possibilidades de ocorrência de um evento


sem precisar descrever todas as possibilidades.

Problema:
André tem 2 bermudas (preta e cinza) e 4 camisetas (branca, verde, amarela e roxa). De
quantas maneiras diferentes ele poderá se vestir usando uma bermuda e uma camiseta?

Solução:
Se optarmos pela construção da árvore de possibilidades, teremos como resultado: PB, PV,
PA, PR, CB, CV, CA, CR.

Observe que:

ACONTECIMENTO DESCRIÇÃO DAS POSSIBILIDADES Nº DE POSSIBILIDADES


Escolha da bermuda P, C 2
Escolha da camiseta B, V, A, R 4

Há duas possibilidades de escolher uma bermuda. Para cada uma delas, quatro possibilidades
de escolher uma camiseta. Logo o número total de maneiras diferentes de André se vestir é: 2
x 4 = 8.
Como o resultado foi obtido por meio de uma multiplicação, podemos afirmar que foi utilizado o
principio multiplicativo. Sua fórmula pode ser enunciada como:

Se um acontecimento ocorrer por várias etapas sucessivas e independentes, de tal modo que:
p1 é o número de possibilidades da 1ª etapa
p2 é o número de possibilidades da 2ª etapa
.
pk é o número de possibilidades da k-ésima etapa

Então p1, p2 ... pk é o número total de possibilidades de o acontecimento ocorrer.

1) Um restaurante oferece no cardápio: 2 saladas distintas, 4 tipos de


carne, 5 variedades de bebida e 3 sobremesas diferentes. Uma
pessoa deseja provar uma salada, uma carne, uma bebida e uma
sobremesa. De quantas maneiras ela pode fazer o pedido?
Ela poderá fazer o pedido de 120 maneiras.
9.2. FATORIAL

É comum, nos problemas de contagem, calcularmos o produto de uma multiplicação cujos


fatores são números naturais consecutivos. Para facilitar este trabalho faremos uso do símbolo
matemático chamado de fatorial e representado por (!).

Sendo n um número inteiro maior que 1, define-se fatorial de n como o produto dos n números
naturais consecutivos de n a 1. Indica-se n!

n! (Lê-se n fatorial ou fatorial de n.)

n! = n (n – 1) (n – 2) (n – 3) ... 3 ⋅ 2 ⋅ 1 , sendo n ∈ N e n > 1.

De acordo com a definição, temos:

2! = 2 ⋅ 1 = 2; 3! = 3 ⋅ 2 ⋅ 1 = 6; 4! = 4 ⋅ 3 ⋅ 2 ⋅ 1 = 24; etc.

Conseqüências:

1ª) Podemos escrever para qualquer n (n ∈ N) e n > 2:

n! = n (n – 1)!

Observe:

8! = 8 ⋅ 7 ⋅ 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1 = 40320 é o mesmo que escrevermos 8 ⋅ 7! = 8 ⋅ 5040 = 40320

2ª) Defini-se como:

0! = 1 e 1! = 1 pela regra anterior trabalhada.

Exemplos: Calcule:

a) 5! = 5⋅4⋅3⋅2⋅1 = 120 = 120 = 15


3! + 2! 3⋅2⋅1+2⋅1 6+2 8

b) Resolva a equação: (n – 4)! = 120


(n – 4)! = 120
(n – 4)! = 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1
(n – 4)! = 5!
(n – 4) = 5
n=5+4
n=9

9.3. GENERALIZAÇÃO DO PROBLEMA:

Quantas amostras de r objetos podem ser extraídas do conjunto {x1; x2 ;...; xn}, se ordem é
importante e repetição é permitida?
Para usar combinatória, podemos contar com dois modelos de contagem: o modelo de
amostragem (modelo que nos ateremos em nossos estudos) e o modelo de distribuição.
MODELO DE AMOSTRAGEM:

Quantas amostras de r objetos podem ser extraídas de um conjunto de n objetos?

√ Ordem é importante?
√ Repetição é importante?

Arranjos, permutações e combinações:

Na contagem dos arranjos e das permutações, a ordem é importante, enquanto que na


contagem das combinações, não.

9.4. ARRANJO SIMPLES

Para resolver problemas de contagem relacionados a algumas formas de organizar ou agrupar


os elementos de um conjunto, pode-se fazer uso de Arranjo Simples.

Por exemplo: Quatro carros: G, P, M e E disputam uma corrida. Supondo que todos terminem a
prova, quantas são as possibilidades de chegada para os três primeiros lugares?

ATENÇÃO:

Acontecimento Descrição das possibilidades Nº de possibilidades


Escolha de um carro para o G, P, M, E 4
1º lugar.
Escolha de um carro para o P, M, E 3
2º lugar, após a escolha do
carro G, por exemplo, para o
1º lugar.
Escolha de um carro para o M, E 2
3º lugar, após a escolha dos
carros G e P, por exemplo,
para o 1º e 2º lugar.

Existem 4 ⋅ 3 ⋅ 2 = 24 possibilidades de chegada para os três primeiros lugares.

Observe que estas possibilidades de chegada diferem entre si:


• Pela ordem dos carros (elementos): GMP e GPM;
• Pelos elementos componentes (natureza): GPM e GPE, por exemplo.

Cada resultado (agrupamento ou seqüência) assim obtido é denominado arranjo simples dos 4
elementos tomados 3 a 3.
Indica-se oi número total desses agrupamentos por: A4 , 3 ou A34 .
Há 24 possibilidades de escolha para os 3 primeiros lugares.

Após o exemplo dado, obtêm-se como definição de arranjo simples pelo principio multiplicativo
a fórmula:

An , p = n (n – 1) (n – 2) ... (n – p + 1) , sendo E um conjunto com n elementos e p ≤ n, com n, p


∈ N*.
Lê-se número de arranjo simples de n elementos tomados p a p.

Para facilitar, faz-se uso da seguinte fórmula:

An , p = n! ___
(n – p)!

EXEMPLO 1:

Nove atletas competem em um evento olímpico. São dadas medalhas de: ouro, prata e bronze,
ao primeiro, segundo e terceiro colocado no evento. De quantas maneiras podem ser dadas às
medalhas?

Perceba que a ordem na entrega das medalhas é importante, o que gera um problema de
arranjo. Assim temos:

A (9, 3) = 9! _ = 9 . 8 . 7! = 9 . 8 = 72
(9 – 3)! 7!

9.5 PERMUTAÇÃO

9.5.1. Permutação Simples (elementos distintos)

É um arranjo ordenado de p elementos distintos escolhidos dentre n elementos distintos 0 ≤ p ≤


n, aonde n = p, sendo definido por:

P (n, p) = n!___ = P (n, n) = n!___ = Pn = n!


(n – p)! (n – n)!

EXEMPLO 1:

Seja o conjunto A = {uva, mamão, maçã}. De quantos modos podemos permutar seus
elementos?

Aqui temos um conjunto contendo 3 elementos e cada permutação envolve os 3 elementos.


Então temos:

P (3, 3) = P3 = 3! = 3 ⋅ 2 ⋅ 1 = 6

Ou seja, os conjuntos: {uva, mamão, maçã}; {uva, maçã, mamão}; {maçã, uva, mamão}; {maçã,
mamão, uva}; {mamão, uva, maçã}; {mamão, maçã, uva}.

O principio da multiplicação também poderia ter sido utilizado, já que


temos três possíveis escolhas para o 1º elemento, dois para o 2º
elemento e 1 para o 3º elemento. 3 x 2 x 1 = 6.
EXEMPLO 2:

Uma Biblioteca tem quatro livros sobre Matemática Discreta, sete sobre Programação e três
sobre Lógica Matemática. Sabendo que os livros de um mesmo assunto devem ficar juntos de
quantas maneiras podemos arrumar em uma prateleira?

1 – Arrumar os livros por assunto:


Temos quatro livros sobre Matemática Discreta, logo:
P4 = 4!

sete sobre Programação, logo:


P7 = 7!

três sobre Lógica Matemática, logo:


P3 = 3!

2 – Arrumar os assuntos na prateleira:


Temos três tipos de livros, logo três opções, então:
P3 = 3!

3 – Agora basta aplicar o princípio da multiplicação: 3! x (4! x 7! x 3!) = 3.2.1 x (4.3.2.1 x


7.6.5.4.3.2.1 x 3.2.1) = 4.354.560 possibilidades.

9.5.2. Permutação com elementos repetidos

Quando entre n elementos de um conjunto, existir n elementos repetidos, sugere-se o uso de


outra forma de permutação:

Pn α , β , ... γ
= n!____
α! ⋅ β ! ⋅ γ !

EXEMPLO 1:

Quantos anagramas têm a palavra NATALIA?

Seja o conjunto formado por sete letras (N, A, T, A, L, I, A) sendo que 3 são iguais a A

Aqui temos um conjunto contendo 7 elementos e cada permutação envolve os 7 elementos,


repetindo 3 (os A). Então temos:

P7 3 = 7! = 7 ⋅ 6 ⋅ 5 ⋅ 4 ⋅ 3! = 7 ⋅ 6 ⋅ 5 ⋅ 4 = 840 anagramas
3! 3!

9.6. COMBINAÇÃO

É um arranjo de p elementos distintos escolhidos dentre n elementos distintos 0 ≤ p ≤ n, sendo


definido por:

C (n, p) = n! ___
p! (n – p)!
EXEMPLO 1:

Quantas mãos de pôquer, com 5 cartas cada, podem ser distribuídas com um baralho de 52
cartas? Aqui a ordem das cartas não interessa, mas sim quais cartas ficarão em cada mão.
Então temos:

C (52, 5) = 52!___ = 52 . 51 . 50 . 49 . 48 . 47! = 311875200 = 2598960 mãos de pôquer


5! (52 – 5)! 5! . 47! 5.4.3.2.1

EXEMPLO 2:

Nove atletas competem em um evento olímpico. Mas apenas três serão declarados
vencedores. De quantas maneiras podem ser escolhidos os vencedores?

Aqui a ordem na escolha dos vencedores não é importante. O que se quer é as possibilidades
de se escolher três elementos em um conjunto de nove elementos. Assim temos:

C (9, 3) = 9! _ = 9! = 9.8.7.6! = 84 maneiras


3! (9 – 3)! 3! 6! 3.2.1. 6!

EXEMPLO 3: Uma comissão de oito alunos deve ser escolhida em um grupo contendo
dezenove alunos do primeiro ano e trinta e quatro alunos do segundo ano. Pergunta-se:

a) De quantas maneiras pode-se selecionar três alunos do primeiro ano e cinco do segundo?

Como a ordem na escolha dos alunos não importa, temos uma combinação.

Precisamos realizar duas tarefas:


1 – Selecionar três alunos do primeiro ano, então temos uma:

C (19, 3) = 19! _ = 19.18.17.16! = 5814 = 969


3! (19 – 3)! 3.2.1.16! 6

2 – Selecionar cinco alunos do segundo ano, então temos uma:

C (34, 5) = 34! _ = 34.33.32.31.30.29! = 33390720 = 278256


5! (34 – 5)! 5.4.3.2.1.29! 120

3 – Agora basta aplicar o princípio da multiplicação: 969 x 278256 = 269630064


possibilidades de escolha.

b) De quantas maneiras pode-se selecionar uma comissão contendo exatamente um aluno do


primeiro ano?
Aqui temos novamente uma combinação:

1 – Precisamos selecionar um aluno do primeiro ano entre os 19 existentes, temos então uma:

C (19, 1) = 19! _ = 19.18! = 19 possibilidades


1! (19 – 1)! 1.18!

2 – Selecionar sete alunos do segundo ano, temos uma:


C (34, 7) = 34! _ = 34.33.32.31.30.29.28.27! = 5379616 possibilidades
7! (34 – 7)! 7.6.5.4.3.2.1.27!

3 – Agora basta aplicar o princípio da multiplicação: 19 x 5379616 = 102212704


possibilidades de escolha.

c) De quantas maneiras pode-se selecionar uma comissão contendo no máximo um aluno do


primeiro ano?
Aqui temos novamente uma combinação:

1 – precisamos selecionar um aluno do primeiro ano entre os 19 existentes, temos então uma:

C (19, 1) = 19 possibilidades e sete alunos do segundo ano, o que nos dá C (34, 7) = 5379616
possibilidades. Juntos temos: 19 x 5379616 = 102212704 possibilidades de escolha.

2 – Selecionar oito alunos do segundo ano, o que nos dá uma:

C (34, 8) = 34! _ = 34.33.32.31.30.29.28.27.26! = 18156204 possibilidades


8! (34 – 8)! 8.7.6.5.4.3.2.1.26!

3 – Agora basta aplicar o princípio da adição, pois temos duas situações disjuntas:
102212704 + 18156204 = 120368908 possibilidades de escolha.

d) De quantas maneiras pode-se selecionar uma comissão contendo pelo menos um aluno do
primeiro ano? Aqui temos novamente uma combinação:

Temos ao todo uma C(53, 8) possíveis maneiras de se escolher os membros da comissão.


Retirando as comissões formadas apenas por alunos do segundo ano que é, C(34,8) temos
então: C(53, 8) – C(34,8) comissões possíveis, contendo pelo menos um aluno do primeiro
ano.
REFERÊNCIAS:

GIOVANI, José Ruy. Matemática Fundamental, 2º grau: volume único / José Ruy Giovani,
José Roberto Bonjorno, José Ruy Giovani Jr. São Paulo: FTD, 1.994.

GIOVANI, José Ruy. Matemática: uma nova abordagem, vol. 2, versão trigonometria / José
Ruy Giovani, José Roberto Bonjorno. São Paulo: FTD, 2.000 – (Coleção matemática uma nova
abordagem)

Hrbacek, K. & Jech, T. Introduction to Set Theory. Marcel Dekker, INC. New York, 1984.

Judith L. Gersting, Fundamentos Matemáticos para a Ciência da Computação, LTC Editora,


4ª Edição, 2001.

Kelly, J. The Essence of Logic. The Essence of Computing Series. Prentice Hall.
London.1997.

Liu, C.L. Elements of Discrete Mathematics. McGraw-Hill Computer Science Series, New
York, 1985. 2nd edition.

RABUSKE, Márcia Aguiar. Introdução à Teoria dos Grafos. UFSC, 1.ed., Florianópolis, 1992.

Você também pode gostar