Vous êtes sur la page 1sur 858

Matemtica Discreta

Introduo
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

Introduo
Por que estudar Matemtica Discreta?
Prov um conjunto de tcnicas para modelar problemas em Cincia da
Computao.
Tpico de Matemtica Discreta
Lgica e Conjuntos

Aplicao em Cincia da Computao


Sistemas Especialistas (IA)

Relaes e funes

Bancos de dados relacionais, Algoritmos distribudos

Anlise combinatria

Anlise de algoritmos (pior caso)

Grafos no-dirigidos

Linguagens e parsing

Grafos dirigidos

Algoritmos de roteamento em redes

lgebra booleana

Projeto de circuitos digitais

Teoria de grupo

Teoria da informao

Autmato de estados finito

Modelo computacional para resoluo de problemas


em geral

Probabilidade

Anlise de algoritmos (caso mdio)

UFMG/ICEx/DCC

MD

Conceitos

Definio dos termos discreto e contnuo


D ISCRETO : feito de partes distintas.
C ONTNUO : sem interrupo e sem mudana brusca.
Exemplos familiares de matemtica contnua: clculo e equaes diferenciais.
Muitos dos tpicos estudados e tcnicas usadas em Cincia da Computao
tanto de matemtica discreta quanto de matemtica contnua so os mesmos.
Exemplos:
Em matemtica (contnua e discreta) estamos interessados em conjuntos
de objetos (conjuntos) e suas estruturas.
Relaes e funes.

UFMG/ICEx/DCC

MD

Conceitos

Matemtica discreta e contnua


Matemtica contnua: trata de conjuntos similares ao conjunto de nmeros
reais.
Conjuntos tm representaes contnuas (do ponto de vista geomtrico).
Conjuntos no podem ser enumerados.
Ex: intervalo de uma reta, regio do plano.
Matemtica discreta: trata de objetos separados e desconectados (geometricamente) de cada um.
Conjuntos so em geral finitos e podem ser enumerados.

UFMG/ICEx/DCC

MD

Conceitos

Os termos discreto e contnuo em Cincia da


Computao
Os computadores podem ser classificados em digitais e analgicos, do ponto
de vista do dado processado.
Dados obtidos atravs de algum processo de contagem (counting) so discretos.
Computadores que processam este tipo de dado so chamados de digitais.
Dados obtidos atravs de algum processo de medida (measuring) so contnuos.
Computadores que processam este tipo de dado so chamados de
analgicos.
Exemplo de relgio:
Analgico
Digital

UFMG/ICEx/DCC

MD

Conceitos

Motivao para estudar Matemtica Discreta do


ponto de vista prtico
A influncia e desenvolvimento de computadores digitais tm aumentado bastante nos ltimos anos.
Um computador digital moderno basicamente um sistema discreto finito.
Muitas de suas propriedades podem ser estudadas e ilustradas atravs de
princpios da Matemtica discreta, onde estudamos princpios e tcnicas para
projetar sistemas de computao (hardware e software).

UFMG/ICEx/DCC

MD

Conceitos

Matemtica Discreta vs. Cincia da Computao ou


Entendendo a importncia de Matemtica Discreta
para Cincia da Computao (1)
A seguir, so apresentados os tpicos que estudaremos nesta disciplina bem como exemplos
de sua utilizao em Cincia da Computao:
Fundamentos da Lgica; Lgica Proposicional; Lgica de Proposies Quantificadas; e Clculo de Predicados.
Banco de dados;
Circuitos integrados;
Inteligncia artificial;
Sistemas computacionais (hardware e
software);
Sistemas distribudos.

UFMG/ICEx/DCC

MD

Mtodos de Prova:
Circuitos integrados;
Projeto de algoritmos.
Seqncias e Induo Matemtica:
Projeto de algoritmos.
Teoria dos Conjuntos:
Banco de dados;
Circuitos integrados;
Inteligncia artificial;
Sistemas distribudos.

Conceitos

Matemtica Discreta vs. Cincia da Computao ou


Entendendo a importncia de Matemtica Discreta
para Cincia da Computao (2)
Grafos:
Banco de dados;
Circuitos integrados;
Compiladores e linguagens de programao;
Engenharia de software;
Inteligncia artificial;
Otimizao;
Projeto de algoritmos;
Redes de computadores;
Robtica;
Sistemas computacionais (hardware e
software);
Sistemas distribudos;
Sistemas operacionais.

Funes:
Otimizao;
Projeto de algoritmos.
Recurso:
Projeto de algoritmos.
Anlise Combinatria:
Circuitos integrados;
Otimizao;
Projeto de algoritmos;
Sistemas distribudos.
Relaes:
Sistemas distribudos.

UFMG/ICEx/DCC

MD

Conceitos

Modelagem Matemtica
Metodologia: conjunto de conceitos que traz coeso a princpios e tcnicas
mostrando quando, como e porque us-los em situaes diferentes.
A metodologia que usa matemtica na resoluo de problemas conhecida
como modelagem matemtica.
O processo de modelagem:

UFMG/ICEx/DCC

Problema

Soluo para
o problema

Modelo

Modelo

Abstrato

Transformado

MD

Conceitos

Exemplo de modelagem:
Malha rodoviria (1)
Suponha a malha rodoviria entre as seis cidades A, B, C, D, E, e F.
Problema: Achar um subconjunto da malha rodoviria representada pela tabela
abaixo que ligue todas as cidades e tenha um comprimento total mnimo.

A
B
C
D
E

UFMG/ICEx/DCC

B
5

MD

D
10
10
20

20

20

Conceitos

30

10

10

Exemplo de modelagem:
Malha rodoviria (2)
Tabela j um modelo da situao do mundo real.
A tabela pode ser transformada numa representao grfica chamada
GRAFO , que ser o modelo matemtico.
20

5
10

10

20

C
30

20

10

Grafo G
Grafo (definio informal): conjunto de pontos chamados de vrtices ou ns,
e um conjunto de linhas (normalmente no-vazio) conectando um vrtice ao
outro.
Neste caso, cidades so representadas por vrtices e estradas por linhas
(arestas).
UFMG/ICEx/DCC

MD

Conceitos

11

Exemplo de modelagem:
Malha rodoviria (3)
Qual o prximo passo?
Achar uma soluo em termos desse modelo.
Nesse caso, achar um grafo G0 com o mesmo nmero de vrtices e um
conjunto mnimo de arestas que conecte todas as cidades e satisfaa a
condio do problema.
Observao: o modelo matemtico escolhido, em geral, visando a soluo.
A soluo ser apresentada na forma de um algoritmo.

UFMG/ICEx/DCC

MD

Conceitos

12

Exemplo de modelagem:
Malha rodoviria (4)
Algoritmo:
1. Selecione arbitrariamente qualquer vrtice e o coloque no conjunto de vrtices j conectados.
2. Escolha dentre os vrtices no conectados aquele mais prximo de um vrtice j conectado. Se existir mais de um vrtice com essa caracterstica escolha aleatoriamente qualquer um deles.
3. Repita o passo 2 at que todos os vrtices j estejam conectados.
Este um exemplo de um algoritmo guloso (greedy algorithm).
20

5
10

C
30

20

10

20

10

Grafo G
UFMG/ICEx/DCC

MD

Conceitos

13

Exemplo de modelagem:
Malha rodoviria Solues (5)
20

5
10

30

20

10

20

10

Grafo G
Solues:
A

5
10

20

10
10

Grafo G1
UFMG/ICEx/DCC

10

20

10

20

10

Grafo G3
MD

Conceitos

10

Grafo G2

20

10

Grafo G4
14

Exemplo de modelagem:
Malha rodoviria (6)
O que foi feito?
1. Obteno do modelo matemtico para o problema.
2. Formulao de um algoritmo em termos do modelo.
Ou seja, essa a tcnica de resoluo de problemas em Cincia da Computao.
Nem todos os problemas considerados tero como soluo um algoritmo,
mas muitos tero.

UFMG/ICEx/DCC

MD

Conceitos

15

Exemplo de modelagem:
Sudoku e Godoku (1)
O objetivo do Sudoku
(Godoku) preencher
todos os espaos em
branco do quadrado
maior, que est dividido em nove grids,
com os nmeros de 1
a 9 (letras). Os algarismos no podem se
repetir na mesma coluna, linha ou grid.
Sudoku: A palavra
Sudoku
significa
nmero sozinho em
Sudoku
Godoku
japons, o que mostra
exatamente o objetivo
do jogo. O Sudoku existe desde a dcada de 1970, mas comeou a ganhar popularidade no
final de 2004 quando comeou a ser publicado diariamente na sesso de puzzles do jornal
The Times. Entre abril e maio de 2005 o puzzle comeou a ganhar um espao na publicao
de outros jornais britnicos e, poucos meses depois, ganhou popularidade mundial. Fonte:
wikipedia.org
Godoku: O jogo Godoku similar ao Sudoku mas formado apenas por letras.
UFMG/ICEx/DCC

MD

Conceitos

16

Exemplo de modelagem:
SuperSudoku (2)
O jogo SuperSudoku similar
ao Sudoku e Godoku formado
por nmeros e letras. Cada grid
tem 16 entradas, sendo nove
dos nmeros (0 a 9) e seis letras (A a F).

UFMG/ICEx/DCC

MD

Conceitos

17

Exemplo de modelagem:
Mais informaes sobre o Sudoku e jogos
similares (3)

Para mais detalhes sobre o Sudoku e variantes desse jogo, veja o artigo A cincia do Sudoku
por Jean-Paul Delahaye, na revista Scientific American Brasil, edio no 50 de julho de 2006, ou
nas pginas:
http://www2.uol.com.br/sciam/conteudo/materia/materia_99.html
http://www2.uol.com.br/sciam/conteudo/materia/materia_imprimir_99.html

UFMG/ICEx/DCC

MD

Conceitos

18

Exemplo de modelagem:
Kasparov Deep Blue
In the first ever traditional chess match between a man (world
champion Garry Kasparov) and a computer (IBMs Deep Blue) in
1996, Deep Blue won one game, tied two and lost three. The next
year, Deep Blue defeated Kasparov in a six-game match the first
time a reigning world champion lost a match to a computer opponent in tournament play. Deep Blue was a combination of special
purpose hardware and software with an IBM RS/6000 SP2 (seen
here) a system capable of examining 200 million moves per second, or 50 billion positions, in the three minutes allocated for a
single move in a chess game.
Referncia:
http://www-03.ibm.com/ibm/history/
exhibits/vintage/vintage_4506VV1001.html

UFMG/ICEx/DCC

MD

Conceitos

19

Questes sobre a modelagem (1)


O objetivo projetar um algoritmo para resolver o problema.
Veja que o Sudoku e o Deep Blue tm caractersticas bem diferentes!
Esse projeto envolve dois aspectos:
1. O algoritmo propriamente dito, e
2. A estrutura de dados a ser usada nesse algoritmo.
Em geral, a escolha do algoritmo influencia a estrutura de dados e viceversa.
necessrio considerar diferentes fatores para escolher esse par (algoritmo e estrutura de dados).
Pontos a serem estudados ao longo do curso, comeando pela seqncia
de disciplinas Algoritmos e Estruturas de Dados.
Nesta disciplina, estudaremos vrios tpicos relacionados tanto a algoritmos
quanto estruturas de dados.

UFMG/ICEx/DCC

MD

Conceitos

20

Questes sobre a modelagem (2)


O caso do jogo Sudoku
Um possvel algoritmo para resolver o jogo Sudoku o Algoritmo de Fora
Bruta:
Tente todas as possibilidades at encontrar uma soluo!
Nessa estratgia, quantas possibilidades existem para a configurao
abaixo?

Existem 11 25 332 413 61 =


23 875 983 329 839 202 653 175 808 23, 8 1024 possibilidades!
UFMG/ICEx/DCC

MD

Conceitos

21

O papel de algoritmos em computao


Definio: um algoritmo um conjunto finito de instrues precisas para
executar uma computao.
Um algoritmo pode ser visto como uma ferramenta para resolver um problema computacional bem especificado.
O vocbulo algoritmo origina do nome al-Khowarizmi.
Um algoritmo pode receber como entrada um conjunto de valores e pode
produzir como sada um outro conjunto de valores.
Um algoritmo descreve uma seqncia de passos computacionais que
transforma a entrada numa sada, ou seja, uma relao entrada/sada.

UFMG/ICEx/DCC

MD

Conceitos

22

Origem do vocbulo algoritmo


Abu JaFar Mohammed
Ibn Musa al-Khowarizmi
(780850), astrnomo e
matemtico rabe.
Era
membro da Casa da
Sabedoria, uma academia
de cientistas em Bagd.
O nome al-Khowarizmi
significa da cidade de
Khowarizmi, que agora
chamada Khiva e
parte do Uzbequisto.
al-Khowarizmi
escreveu
livros
de
matemtica,
astronomia e geografia. A
lgebra foi introduzida na
Europa ocidental atravs
de seus trabalhos.
A
palavra lgebra vem do
rabe al-jabr, parte do ttulo de seu livro Kitab al-jabr wal muquabala. Esse livro foi traduzido
para o latim e foi usado extensivamente. Seu livro sobre o uso dos numerais hindu descreve
procedimentos para operaes aritmticas usando esses numerais. Autores europeus usaram
uma adaptao latina de seu nome, at finalmente chegar na palavra algoritmo para descrever
a rea da aritmtica com numerais hindu.
UFMG/ICEx/DCC

MD

Conceitos

23

Algoritmo e modelo computacional (1)


Modelo:
Esquema que possibilita a representao de uma entidade (Houaiss).
No modelo, s se deve incluir o que for relevante para a modelagem do
objeto em questo.
Computacional:
Relativo ao processamento (Houaiss).
Definio (nosso contexto):
Esquema que descreve como o modelo abstrato do processamento de
algoritmos.
Importncia:
Um algoritmo no existe, ou seja, no possvel escrev-lo, se antes no
for definido o modelo computacional associado (onde ser executado).
Conceito bsico no projeto de qualquer algoritmo.
UFMG/ICEx/DCC

MD

Conceitos

24

Algoritmo e modelo computacional (2)


Que modelos existem?
Literalmente dezenas deles.
Se no estiver satisfeito, invente o seu!
O mais popular (usado) de todos:
RAM Random Access Machine.
Modela o computador tradicional e outros elementos computacionais.

UFMG/ICEx/DCC

MD

Conceitos

25

Algoritmo e modelo computacional:


Modelo RAM (3)
Elementos do modelo:
um nico processador;
memria.
Observaes:
Podemos ignorar os dispositivos de entrada e sada (teclado, monitor, etc)
assumindo que a codificao do algoritmo e os dados j esto armazenados na memria.
Em geral, no relevante para a modelagem do problema saber como o
algoritmo e os dados foram armazenados na memria.

UFMG/ICEx/DCC

MD

Conceitos

26

Algoritmo e modelo computacional:


Modelo RAM (4)
Computao nesse modelo:
Processador busca instruo/dado da memria.
Uma nica instruo executada de cada vez.
Cada instruo executada seqencialmente.
Cada operao executada pelo processador, incluindo clculos aritmticos,
lgicos e acesso a memria, implica num custo de tempo:
Funo de complexidade de tempo.
Cada operao e dado armazenado na memria, implica num custo de espao:
Funo de complexidade de espao.

UFMG/ICEx/DCC

MD

Conceitos

27

Complexidade de tempo e espao


A complexidade de tempo no representa tempo diretamente, mas o nmero
de vezes que determinada operao considerada relevante executada.
A complexidade de espao representa a quantidade de memria (numa
unidade qualquer) que necessrio para armazenar as estruturas de dados
associadas ao algoritmo.
Usa-se a notao assinttica para representar essas complexidades:
O (O grande);
(mega grande);
(Teta);
o (o pequeno);
(mega pequeno).

UFMG/ICEx/DCC

MD

Conceitos

28

Modelo computacional para sistemas distribudos


Mundo distribudo:
Normalmente os elementos computacionais seguem o modelo RAM que
so interconectados atravs de algum meio e s comunicam entre si
atravs de troca de mensagens.
No existe compartilhamento de memria.
Elementos desse modelo:
N computacional representado pelo modelo RAM.
Canal normalmente representado pelo modelo FIFO (first-in, first-out).

UFMG/ICEx/DCC

MD

Conceitos

29

Problema dos dois exrcitos (1)


Na Grcia antiga, lugares maravilhosos
como este . . .

. . . podiam se transformar em cenrios de


guerra.

Vale perto de Almfiklia, Grcia


quando algum filsofo prope o Problema dos dois exrcitos.

UFMG/ICEx/DCC

MD

Conceitos

30

Problema dos dois exrcitos (2)


Cenrio inicial

Exrcito Alfa est em maior nmero que o exrcito Gama mas est dividido em duas metades, cada uma numa lateral do vale.
Cada metade do exrcito Alfa est em menor nmero que o exrcito Gama.
Objetivo do exrcito Alfa: coordenar um ataque ao exrcito Gama para ganhar a guerra.

UFMG/ICEx/DCC

MD

Conceitos

31

Problema dos dois exrcitos (3)


O problema da coordenao

1. General do exrcito Alfa, do lado esquerdo do vale, chama o seu melhor soldado para
levar uma mensagem para o general do exrcito Alfa do lado direito:
Vamos atacar conjuntamente o exrcito Gama amanh s 6:00h?
Observaes: A nica possibilidade de comunicao entre os dois generais atravs
de um mensageiro.
Os dois generais tm um relgio perfeitamente sincronizado, ou seja,
eles sabem pela posio do sol quando 6:00h.
UFMG/ICEx/DCC

MD

Conceitos

32

Problema dos dois exrcitos (4)


O problema da coordenao

2. O soldado do exrcito Alfa atravessa as linhas inimigas e leva a mensagem at o general


do outro lado.

UFMG/ICEx/DCC

MD

Conceitos

33

Problema dos dois exrcitos (5)


O problema da coordenao

3. O general do exrcito Alfa do lado direito concorda em atacar o exrcito Gama no dia
seguinte s 6:00h.

UFMG/ICEx/DCC

MD

Conceitos

34

Problema dos dois exrcitos (6)


O problema da coordenao

4. O soldado do exrcito Alfa atravessa novamente as linhas inimigas e confirma com seu
general o ataque para o dia seguinte.

UFMG/ICEx/DCC

MD

Conceitos

35

Problema dos dois exrcitos (7)


O problema da coordenao

Aps esses quatro passos terem sido realizados com sucesso, vai haver ataque amanh s
6:00h?

UFMG/ICEx/DCC

MD

Conceitos

36

O problema dos dois robs (1)


Imagine dois ou mais robs que vo carregar uma mesa de tal forma que um
ficar de frente para outro.
Problema:
Projete um algoritmo para coordenar a velocidade e direo do movimento
de cada rob para que a mesa no caia.
Os robs s podem comunicar entre si atravs de um canal de comunicao sem fio.
Variante do problema anterior!

UFMG/ICEx/DCC

MD

Conceitos

37

O problema dos dois robs (2)


possvel projetar um algoritmo distribudo para esse problema?
NO! No existe um algoritmo distribudo para o problema de coordenao
considerando o modelo computacional proposto!

UFMG/ICEx/DCC

MD

Conceitos

38

Alguns comentrios sobre algoritmos distribudos


So a base do mundo distribudo, ou seja, de sistemas distribudos.
Sistemas distribudos podem ser:
Tempo real ou no;
Reativos ou no.
Sistemas distribudos podem ser especificados tomando-se como base:
tempo;
eventos.

UFMG/ICEx/DCC

MD

Conceitos

39

Consideraes finais
At agora falamos sobre Matemtica Discreta como um conjunto de princpios, tcnicas e metodologias para resoluo de problemas.
Essa exatamente a abordagem que desenvolveremos neste disciplina.
Matemtica Discreta inclui um nmero muito grande de assuntos e s discutiremos alguns deles.
Os tpicos que estudaremos no so novos. A maior parte deles so mais
antigos que Cincia da Computao.

UFMG/ICEx/DCC

MD

Conceitos

40

Fundamentos da Lgica
Lgica Proposicional
Antonio Alfredo Ferreira Loureiro
UFMG/DCC
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

41

Fundamentos da lgica:
Alguns fatos histricos
Aristteles (384 a.C.322 a.C.), filsofo
grego. Produziu uma obra rica e multifacetada. Nela encontramos uma exaustiva compilao dos conhecimentos do seu tempo, mas tambm, uma
filosofia que ainda hoje influncia a
nossa maneira de pensar.
Gottfried Wilhelm Leibniz (16461716),
filsofo e matemtico alemo, provavelmente mais conhecido por ter inventado
o clculo integral e diferencial independentemente de Isaac Newton.
George Boole
(18151864),
matemtico
e filsofo
ingls.

UFMG/ICEx/DCC

Augustus
De Morgan
(18061871),
matemtico
ingls.

MD

Conceitos

Responsvel por escrever os primeiros grandes trabalhos de lgica:


Coleo de regras para raciocnio
dedutivo que pode ser usado em
qualquer rea do conhecimento.

Prope o uso de smbolos para


mecanizar o processo de raciocnio
dedutivo.

Propem as bases da lgica simblica


moderna usando as idias de Leibniz.

42

Fundamentos da lgica:
Atualidade
Pesquisa continua sendo aplicada em reas como:

inteligncia artificial;
projeto de circuito lgico;
teoria de autmatos e computabilidade;
teoria de bancos de dados relacionais;
teoria de linguagens;
teoria de sistemas distribudos.

UFMG/ICEx/DCC

MD

Conceitos

43

Forma de um Argumento
Seu Contedo
Forma de um argumento: conceito central da lgica dedutiva.
Argumento: seqncia de afirmaes para demonstrar a validade de uma
assero.
Como saber que a concluso obtida de um argumento vlida?
As afirmaes que compem o argumento
so aceitas como vlidas, ou
podem ser deduzidas de afirmaes anteriores.
Em lgica, forma de um argumento 6= seu contedo.
Anlise lgica no determina a validade do contedo de um argumento.
Anlise lgica determina se a verdade de uma concluso pode ser obtida
da verdade de argumentos propostos.
Lgica: Cincia do Raciocnio.
UFMG/ICEx/DCC

MD

Conceitos

44

Forma de um Argumento
Seu Contedo
Exemplo 1:
se a sintaxe de um programa est errada ou
se a execuo do programa resulta em diviso por zero
ento o computador ir gerar uma mensagem de erro.
.
. . Computador no gera mensagem de erro

Sintaxe do programa est correta e


Execuo do programa no resulta em diviso por zero.
Exemplo 2:
se x R | x < 2 ou x > 2
ento x2 > 4.
.
. . x2 4

x 2 e x 2.
UFMG/ICEx/DCC

MD

Conceitos

45

Forma de um Argumento
Seu Contedo
Nos exemplos, temos que o contedo dos argumentos diferente.
No entanto, a forma lgica a mesma:
se p ou q
ento r.
.
. . no r

no p e no q.
Argumentos na forma lgica so normalmente representados por letras
minsculas do alfabeto.
Exemplo: p, q, r.
Em geral, as definies da lgica formal esto de acordo com a lgica natural
ou intuitiva das pessoas de bom senso.
O formalismo introduzido para evitar ambiguidade e garantir consistncia.
UFMG/ICEx/DCC

MD

Conceitos

46

Proposies
Em toda teoria matemtica, usam-se termos j definidos na concepo de
novas definies.
Mas como fazer com os termos mais primitivos?
Termos primitivos ou iniciais no so definidos.
Em lgica, os termos sentena, verdadeiro, e falso so os termos iniciais
no definidos.
Definio: uma afirmao ou proposio uma sentena que verdadeira
(V) ou falsa (F) mas no ambas.
Exemplo 3:
2+2=4
2+2=5
so proposies, onde a primeira V e a segunda F.

UFMG/ICEx/DCC

MD

Conceitos

47

Proposies
Exemplo 4:
Ele um estudante universitrio.
no uma proposio j que depende da referncia ao pronome ele.
Exemplo 5:
x + y > 0.
tambm no uma proposio j que depende dos valores de x e y.
possvel transformar uma sentena como nos exemplos 4 ou 5 numa
proposio?
Sim, atravs de quantificadores, como ser visto em lgica de predicados.

UFMG/ICEx/DCC

MD

Conceitos

48

Proposies compostas
Nos exemplos usados daqui para frente, usaremos as letras minsculas (por
exemplo, p, q, r) para representar afirmaes.
Os seguintes smbolos podem ser usados para definir expresses lgicas
mais complexas a partir de expresses mais simples:
ou ou barra sobre a letra ou linha : no
p lido como no p e chamado de negao de p.
Outras formas: p, p, p0
: e
p q lido como p e q e chamado de conjuno de p e q.
: ou
p q lido como p ou q e chamado de disjuno de p e q.

UFMG/ICEx/DCC

MD

Conceitos

49

Proposies compostas
um operador unrio e e so operadores binrios.
Avaliao na seguinte ordem:
1. (negao);
2. , (disjuno, conjuno).
Exemplo 6:
p q = (p) q
p q r ambguo.
Correto: (p q) r ou

UFMG/ICEx/DCC

p (q r).

MD

Conceitos

50

Proposies:
Traduo de sentenas em linguagens natural e
algbrica para smbolos
Mas e No/nem . . . nem
p = Est quente.
q = Est ensolarado.
Exemplo 7:
(a) No est quente mas est ensolarado.
Mas = ; p q.
(b) No est quente nem ensolarado.
Nem A nem B = A B ; p q.

UFMG/ICEx/DCC

MD

Conceitos

51

Proposies:
Traduo de sentenas em linguagens natural e
algbrica para smbolos
e (), ou (), e desigualdades
Sejam trs nmeros reais representados por a, b, e x.
xax<ax=a
axbxaxb
2 x 1 x 2 x 1, que F.
Sejam os predicados:
p: x > 0;
q: x < 3;
r: x = 3.
(a) x 3 q r
(b) 0 < x < 3 p q
(c) 0 < x 3 p (q r)

UFMG/ICEx/DCC

MD

Conceitos

52

Proposies e os valores-verdade
Para uma sentena ser uma proposio necessrio ter um valor-verdade
bem definido, i.e., V ou F.
Negao () e sua tabela da verdade:
p p
V

Conjuno () e sua tabela da verdade:


p
q pq
V
V
V
V
F
F
F
V
F
F
F
F

UFMG/ICEx/DCC

MD

Conceitos

53

Proposies e os valores-verdade
Disjuno ()
Possveis significados:
inclusive: p ou q ou ambos (significado assumido para este operador), e
exclusivo: p ou q, mas no ambos.
p
V
V
F
F

UFMG/ICEx/DCC

MD

q
V
F
V
F

pq
V
V
V
F

Conceitos

54

Proposies mais complexas


Exemplo 8:
Construa a tabela da verdade para a expresso:
E = (p q) (p q)
p
V
V
F
F

q
V
F
V
F

pq
V
V
V
F

pq
V
F
F
F

(p q)
F
V
V
V

E
F
V
V
F

E = p q = p xor q (ou exclusivo)


O ponto fundamental em assinalar valores-verdade para proposies compostas que permite o uso da lgica para decidir a verdade de uma
proposio usando somente o conhecimento das partes.
A lgica no ajuda a determinar a verdade ou falsidade de uma afirmao em
si, ou seja, seu contedo.
UFMG/ICEx/DCC

MD

Conceitos

55

Equivalncia lgica
As proposies p q e q p possuem os mesmos valores-verdade.
p
q
pq
qp
V
V
V
V
V
F
F
F
F
V
F
F
F
F
F
F
Por essa razo, p q e q p so equivalentes logicamente.
Definio: duas proposies P e Q so equivalentes logicamente se e somente se os valores-verdade obtidos forem idnticos para cada combinao
possvel das variveis que formam as proposies.

UFMG/ICEx/DCC

MD

Conceitos

56

Equivalncia lgica
Como verificar se duas proposies P e Q so equivalentes logicamente?
1. Construa a tabela da verdade para P .
2. Construa a tabela da verdade para Q usando os mesmos valores de variveis para as afirmaes que formam a proposio.
3. Verifique se as tabelas da verdade de P e Q so idnticas para cada
combinao de valores-verdade. Se forem, P e Q so equivalentes logicamente, caso contrrio no.
Exemplo 9:
(p) p
(p q) 6 p q

UFMG/ICEx/DCC

MD

Conceitos

57

Equivalncia lgica
Leis de De Morgan
Negao de e : Leis de De Morgan.
Sejam as afirmaes:
p = Joo alto.
q = Jos ruivo.
A proposio p q verdadeira sse os componentes forem verdadeiros.
Quando a proposio falsa?
Quando um dos componentes ou ambos forem falsos, i.e.,
(p q) p q
Mostre as seguintes equivalncias:
(p q) p q
(p q) p q
Essas duas equivalncias so conhecidas como leis de De Morgan que foi
o primeiro a express-las em termos matemticos.
UFMG/ICEx/DCC

MD

Conceitos

58

Leis de De Morgan: Exemplos


Exemplo 10:
p = Joo tem 2 m de altura e ele pesa pelo menos 90 kg.
p = Joo no tem 2 m de altura ou ele pesa menos de 90 kg.
Exemplo 11:
p= x<2
p = x 6< 2 x 2
Exemplo 12:
p = 1 < x 4
p = (1 < x 4) (x > 1 x 4)
x 6> 1 x 6 4 x 1 x > 4.
Exemplo 13:
p = Joo alto e Joo magro.
p = Joo no alto ou Joo no magro.

UFMG/ICEx/DCC

MD

Conceitos

59

Leis de De Morgan: Exemplos


Exemplo 14:
t = Joo alto e magro.
t = Joo no alto e magro.
Em lgica formal os vocbulos e e ou so permitidos somente entre afirmaes completas e no entre partes de uma sentena.
Apesar das leis da lgica serem extremamente teis, elas devem ser usadas
como uma ajuda ao raciocnio e no como um substituto mecnico a inteligncia.
Equivalncia lgica muito til na construo de argumentos.

UFMG/ICEx/DCC

MD

Conceitos

60

Tautologias e contradies
Uma tautologia uma proposio que sempre verdadeira independente dos
valores-verdade das afirmaes que compem a proposio.
Uma contradio uma proposio que sempre falsa independente dos
valores-verdade das afirmaes que compem a proposio.
De acordo com essas definies, a verdade de uma tautologia ou falsidade
de uma contradio se devem a estrutura lgica da proposio em si e so
independentes dos significados das afirmaes que compem a proposio.

UFMG/ICEx/DCC

MD

Conceitos

61

Tautologias e contradies
Mostre que a proposio p p uma tautologia e que a proposio p p
uma contradio.
Se t uma tautologia e c uma contradio mostre que p t p e p c c

UFMG/ICEx/DCC

MD

Conceitos

62

Sumrio da equivalncia lgica


Comutatividade

pq qp

pq qp

Associatividade

(p q) r
p (q r)

(p q) r
p (q r)

Distributividade

p (q r)
(p q) (p r)

p (q r)
(p q) (p r)

Identidade

ptp

pcp

Negao

p p t

p p c

Dupla negao

(p) p

Idempotncia

ppp

ppp

De Morgan

(p q)
p q

(p q)
p q

Limite universal

ptt

pcc

Absoro

p (p q) p

p (p q) p

Negaes

t c

c t

UFMG/ICEx/DCC

MD

Conceitos

63

Equivalncia lgica: Exemplo


Exemplo 15:
Mostre que
(p q) (p q) p
atravs dos axiomas acima.

UFMG/ICEx/DCC

MD

Conceitos

64

Proposio condicional ou Implicao


Sejam p e q proposies.
Se p ento q (ou p implica q) representado simbolicamente por
p q.
p chamado de hiptese e q de concluso.
Essa sentena chamada de condicional.
Sobre o uso tpico de uma proposio condicional ou implicao:
Este tipo de sentena usado tanto em linguagem natural quanto em
raciocnio matemtico para dizer que a verdade da proposio q (concluso) est condicionada verdade da proposio p (hiptese).
No entanto, uma proposio condicional (do ponto de vista matemtico)
independente de uma relao causa-efeito entre hiptese e concluso.
Exemplo 16:
Se (48 divisvel por 6)=[p] ento (48 divisvel por 3)=[q].
UFMG/ICEx/DCC

MD

Conceitos

65

Proposio condicional
um conectivo lgico binrio para o qual podem ser definidos valoresverdade.
Determinando a tabela da verdade para (seento).
A nica combinao em que a sentena condicional falsa quando a
hiptese V e a concluso F (por definio).
p
V
V
F
F

UFMG/ICEx/DCC

q
V
F
V
F

MD

Conceitos

pq
V
F
V
V

66

Proposio condicional
Seja a seguinte sentena que descreve uma promessa:
Se (voc se apresentar para trabalhar na segunda-feira pela
manh)=[p] ento (voc ter o emprego)=[q].
Em que situao o empregador no falou a verdade, ou seja, a promessa
(sentena) falsa?
p = V q = F.
E se a afirmao p no for satisfeita?
No justo dizer que a promessa falsa.

UFMG/ICEx/DCC

MD

Conceitos

67

Proposio condicional e linguagem natural


Seja a seguinte implicao:
Se hoje estiver ensolarado ento ns iremos praia.
Implicao tpica de uma conversao j que h uma relao entre a
hiptese e a concluso.
Implicao no considerada vlida quando o dia estiver ensolarado e ns
no formos praia.

UFMG/ICEx/DCC

MD

Conceitos

68

Proposio condicional e linguagem natural


Seja a seguinte implicao:
Se hoje sexta-feira ento 2 + 3 = 5.
Implicao que sempre verdadeira pela definio (tabela da verdade) da
proposio condicional.
Por outro lado, a implicao:
Se hoje sexta-feira ento 2 + 3 = 6.
verdadeira todos os dias da semana, exceto sexta-feira, apesar de
2 + 3 6= 6, ou seja, a concluso ser sempre falsa.
Ns no usaramos essas implicaes em linguagem natural j que no existe uma relao entre hiptese e concluso.
O conceito matemtico de implicao est baseado na tabela-verdade, ou
seja, nos valores que a hiptese e a concluso podem assumir.

UFMG/ICEx/DCC

MD

Conceitos

69

Proposio condicional
Prioridade para o conectivo lgico :
ltimo a ser avaliado em expresses que contm
, , .
Exemplo 17:
Construa a tabela da verdade para a sentena p q p.

UFMG/ICEx/DCC

p q

p q p

MD

Conceitos

70

Proposio condicional
Exemplo 18:
Mostre que p q r (p r) (q r)
p

pq

pr

qr

pq r

(p r) (q r)

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
V
V
V
V
V
F
F

V
F
V
F
V
V
V
V

V
F
V
V
V
F
V
V

V
F
V
F
V
F
V
V

V
F
V
F
V
F
V
V

Para todas as combinaes de valores-verdade de p, q e r, a expresso da


esquerda tem o mesmo valor-verdade da direita.

UFMG/ICEx/DCC

MD

Conceitos

71

Proposio condicional
possvel representar p q em termos dos conectivos , , ?
Sim.
p q p q
Negao:
(p q) (p q)
(p) q
p q
Exemplo 19:
a: Se o (meu carro est na oficina)=[p] ento (eu no posso ir aula)=[q].
a: (Meu carro est na oficina)=[p] e (eu posso ir aula)=[q].

UFMG/ICEx/DCC

MD

Conceitos

72

Proposio condicional: Contrapositiva


A proposio contrapositiva de (p q) (q p).
p q q p
Exemplo 20:
p q: Se hoje Pscoa ento amanh segunda-feira.
q p: Se amanh no segunda-feira ento hoje no Pscoa.

UFMG/ICEx/DCC

MD

Conceitos

73

Proposio condicional: Converse


O termo converse traduzido em
Matemtica Discreta e suas Aplicaes, Kenneth H. Rosen, 6a edio,
por oposta,
Fundamentos Matemticos para a Cincia da Computao, Judith L. Gersting, 5a edio, por recproca.
Matemtica Discreta, Seymour Lipschutz & Marc Lipson, 2a edio, por
conversa.
Nesta disciplina, iremos usar a primeira traduo.
A oposta de (p q) (q p).
?

pq qp
No.

converse opinion or statement is one that is the opposite to the one that has just been stated.
Collins Cobuild English Language Dictionary
UFMG/ICEx/DCC

MD

Conceitos

74

Proposio condicional: Inversa


A proposio inversa de (p q) (p q).
?

p q p q
No.
Exemplo 21:
Recproca: Se amanh segunda-feira ento hoje Pscoa.
Inversa: Se hoje no Pscoa ento amanh no segunda-feira.

UFMG/ICEx/DCC

MD

Conceitos

75

Proposio condicional e proposies derivadas:


Sumrio
(p q) (q p)

Proposio contrapositiva

(p q) 6 (q p)

Proposio oposta

(p q) 6 (p q)

Proposio inversa

(q p) (p q)

contrapositiva

oposta de (p q)

UFMG/ICEx/DCC

inversa de (p q)

MD

Conceitos

76

Proposio condicional:
Somente se
A sentena p somente se q significa que (acrescentado verbos):
p [pode ocorrer] somente se q [ocorre].
.
. . Se q no ocorre ento p no pode ocorrer, i.e.,
Se q ento p Se p ento q ou p q.
Proposies condicionais:
p somente se q 6 p se q.
p somente se q p q.
p se q q p.

UFMG/ICEx/DCC

MD

Conceitos

77

Proposio condicional:
Somente se
Exemplo 22:
(48 divisvel por 6)=[p] somente se (48 divisvel por 3)=[q]
Se (48 divisvel por 6)=[p] ento (48 divisvel por 3)=[q].
Neste caso, a proposio condicional p q sempre verdadeira j que p e
q sempre assumem o valor verdadeiro.
Suponha que x seja um nmero inteiro e a seguinte proposio:
(x divisvel por 6)=[p] somente se (x divisvel por 3)=[q]
Se (x divisvel por 6)=[p] ento (x divisvel por 3)=[q].
Claramente existem valores para x que fazem com que a proposio seja
verdadeira e outros que seja falsa.

UFMG/ICEx/DCC

MD

Conceitos

78

Proposio condicional:
Somente se
Exemplo 23:
(n+1)(n+2)
]
somente
se
a
soma
de
1
a
n+1

[
]
A soma de 1 a n [ n(n+1)
2
2

(n+1)(n+2)
Se a soma de 1 a n [ n(n+1)
]
ento
a
soma
de
1
a
n
+
1

[
]
2
2

Exemplo 24:
Posso comprar o livro de MD somente se tenho dinheiro
Se posso comprar o livro de MD ento tenho dinheiro.

UFMG/ICEx/DCC

MD

Conceitos

79

Proposio condicional:
Bicondicional (se somente se)
A sentena bicondicional entre p e q expressa como
p se e somente se q
e representada por
pq
e tem a seguinte tabela da verdade:
p
V
V
F
F

UFMG/ICEx/DCC

q
V
F
V
F

MD

Conceitos

pq
V
F
F
V

80

Proposio condicional:
Bicondicional (se somente se)
O conectivo tem a mesma prioridade do conectivo .
Exemplo 25:
Mostre que p q (p q) (q p)

UFMG/ICEx/DCC

pq

qp

pq

(p q) (q p)

V
V
F
F

V
F
V
F

V
F
V
V

V
V
F
V

V
F
F
V

V
F
F
V

MD

Conceitos

81

Proposio condicional:
Bicondicional (se somente se)
Exemplo 26:
Este programa est correto se somente se ele produz a resposta correta para todos os possveis valores de dados de entrada.
Reescrevendo como uma conjuno de duas sentenas seento:
Se este programa est correto ento ele produz a resposta correta
para todos os possveis valores de dados de entrada
e
se o programa produz a resposta correta para todos os possveis valores de dados de entrada ento ele est correto.

UFMG/ICEx/DCC

MD

Conceitos

82

Proposio condicional:
Bicondicional (se somente se)
p q (p q) (q p).

UFMG/ICEx/DCC

pq

(p q)

(q p)

(p q) (q p)

V
V
F
F

V
F
V
F

V
F
F
V

V
F
V
V

V
V
F
V

V
F
F
V

MD

Conceitos

83

Proposio condicional:
Condio necessria & Condio suficiente
Sejam r e s afirmaes.
r uma condio suficiente para s:
se r ento s.
.
. . A ocorrncia de r suficiente para garantir a ocorrncia de s.
r uma condio necessria para s:
se no r ento no s
se s ento r.
.
. . Se r no ocorrer ento s tambm no pode ocorrer, i.e., a ocorrncia de r
necessria para se ter a ocorrncia de s.
A frase
r uma condio necessria e suficiente para s significa r se somente
se s.
UFMG/ICEx/DCC

MD

Conceitos

84

Proposio condicional:
Condio necessria & Condio suficiente
Exemplo 27:
Considere a sentena condicional p q:
Se Joo elegvel para votar ento ele tem pelo menos 16 anos.
p: Joo elegvel para votar.
q: Joo tem pelo menos 16 anos.
A verdade de p suficiente para garantir a verdade de q, ou seja,
Joo ser elegvel para votar condio suficiente para que ele tenha
pelo menos 16 anos.
A condio q necessria para a condio p ser verdadeira, ou seja,
Joo ter pelo menos 16 anos condio necessria para que ele seja
elegvel para votar.

UFMG/ICEx/DCC

MD

Conceitos

85

Proposio condicional:
Condio necessria & Condio suficiente
Exemplo 28:
Converta uma condio suficiente para a forma seento
O nascimento de Joo em solo brasileiro uma condio suficiente para
ele ser cidado brasileiro.
Se Joo nasceu em solo brasileiro ento ele um cidado brasileiro.
Exemplo 29:
Converta uma condio necessria para a forma seento
Joo ter 35 anos uma condio necessria para ser presidente do Brasil.
Se Joo no tem 35 anos ento ele no pode ser presidente do Brasil.
Se Joo pode ser o presidente do Brasil ento ele j tem pelo menos 35
anos.

UFMG/ICEx/DCC

MD

Conceitos

86

Argumentos vlidos e invlidos


Alguns fatos sobre argumentos do ponto de vista da matemtica e da lgica:
Um argumento no uma disputa.
Um argumento uma seqncia de comandos que termina numa concluso.
Um argumento ser vlido significa que a concluso pode ser obtida
necessariamente das afirmaes que precedem.
Argumento (definio):
Um argumento uma seqncia de afirmaes.
Todas as afirmaes, exceto a ltima, so chamadas de premissas ou suposies ou hipteses.
A ltima afirmao chamada de concluso.
.
O smbolo . ., que lido como de onde se conclui normalmente colocado antes da concluso.

UFMG/ICEx/DCC

MD

Conceitos

87

Argumentos vlidos e invlidos


Exemplo 30:
Se Scrates um ser humano ento Scrates mortal;
Scrates um ser humano;
.
. . Scrates mortal.
Forma simblica:
Se p ento q;
p;
.
. . q.
conveniente pensar em p e q como variveis que podem ser substitudas
por argumentos.
A forma de um argumento vlida sse
para todas as combinaes de argumentos que levam a premissas
verdadeiras ento a concluso tambm verdadeira.
A verdade da concluso obtida analisando os valores-verdade da forma
lgica em si.
UFMG/ICEx/DCC

MD

Conceitos

88

Argumentos vlidos e invlidos:


Como analisar a validade
A validade da forma de um argumento pode ser feita seguindo os seguintes
passos:
1. Identifique as premissas e concluso do argumento.
2. Construa a tabela da verdade identificando as colunas das premissas e da
concluso.
3. Identifique as linhas onde todas as premissas so verdadeiras (linhas crticas).
4. Para cada linha crtica verifique se a concluso do argumento verdadeira.
(a) Se for para todas as linhas crticas ento a forma do argumento vlida.
(b) Se existir pelo menos uma linha crtica com concluso falsa ento a
forma do argumento invlida.

UFMG/ICEx/DCC

MD

Conceitos

89

Argumentos vlidos e invlidos:


Como analisar a validade
Exemplo 31:

Tabela da verdade:

p (q r);
r;
.
. . p q.

1.
2.
3.
4.
5.
6.
7.
8.

qr

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
V
V
F
V
V
V
F

Premissas
p (q r) r
V
V
V
V
V
V
V
F

F
V
F
V
F
V
F
V

Concluso
pq
V
V
V
V
V
V
F
F

Para todas linhas crticas a concluso verdadeira. Logo, o argumento vlido.

Todas as linhas exceto as linhas crticas so irrelevantes para verificar a validade de um argumento.
UFMG/ICEx/DCC

MD

Conceitos

90

Argumentos vlidos e invlidos:


Como analisar a validade
Exemplo 32 argumento invlido:
p q r;
q p r;
.
. . p r;
1.
2.
3.
4.
5.
6.
7.
8.

q r

pr

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

F
V
F
V
F
V
F
V

V
V
F
V
V
V
F
V

V
F
V
F
F
F
F
F

Premissas
p q r q p r
V
V
F
V
V
V
V
V

V
F
V
V
F
F
V
V

Concluso
pr
V

V
V

Para todas linhas crticas, exceto a 4, a concluso verdadeira. Logo, o


argumento invlido.
UFMG/ICEx/DCC

MD

Conceitos

91

Argumentos vlidos e invlidos:


Como analisar a validade
Exemplo 33:
p q;
q r;
r p;
.
. . p q r.

Tabela da verdade:

1.
2.
3.
4.
5.
6.
7.
8.

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

Premissas
pq qr rp
V
V
F
F
V
V
V
V

V
F
V
V
V
F
V
V

V
V
V
V
F
V
F
V

Concluso
pqr
V

Existem duas linhas crticas, uma delas com concluso falsa. Logo, o argumento invlido.

UFMG/ICEx/DCC

MD

Conceitos

92

Argumentos vlidos: Modus Ponens


Seja o seguinte argumento:
p q;
p;
.
. . q.
e um exemplo dessa forma:
Se o ltimo dgito de um no 0 ento este no divisvel por 10.
O ltimo dgito deste no 0.
.
. . Este no divisvel por 10.
Um argumento vlido que tem essa forma chamado de modus ponens em
Latim e que significa mtodo de afirmar.

UFMG/ICEx/DCC

MD

Conceitos

93

Argumentos vlidos: Modus Ponens


Exemplo 34:

Forma do argumento:

p q;
p;

1.
2.
3.
4.

.
. . q.

UFMG/ICEx/DCC

MD

V
V
F
F

V
F
V
F

Conceitos

Premissas
pq p
V
F
V
V

V
V
F
F

Concluso
q
V
F
V
F

94

Argumentos vlidos: Modus Tollens


Seja o seguinte argumento:
p q;
q;
.
. . p.
e um exemplo dessa forma:
Se Zeus humano ento Zeus mortal.
Zeus no mortal.

(1)
(2)

.
. . Zeus no humano.
Suponha que as afirmaes (1) e (2) sejam verdadeiras.
Zeus deve ser necessariamente no-humano?
Sim!
Porque se Zeus fosse humano ento de acordo com (1) ele seria mortal.
Mas por (2) ele no mortal.
Dessa forma, Zeus no pode ser humano.
Um argumento vlido que tem essa forma chamado de modus tollens em
Latim e que significa mtodo de negar.
UFMG/ICEx/DCC

MD

Conceitos

95

Argumentos vlidos: Exemplos


Exemplo 35:
Se existem mais pssaros que ninhos
ento dois pssaros tero que chocar no mesmo ninho;
Existem mais pssaros que ninhos;
.
. . Dois pssaros chocam no mesmo ninho.
; De acordo com modus ponens.
Exemplo 36:
Se este no divisvel por 6
ento o no divisvel por 2;
Este no no divisvel por 2;
.
. . Este no no divisvel por 6.
; De acordo com modus tollens.

UFMG/ICEx/DCC

MD

Conceitos

96

Outras formas de argumentos vlidos:


Adio disjuntiva
As formas de argumentos
(a)
p;
.
. . p q.
so vlidas.

(b)

1.
2.
3.
4.

Forma do argumento:
p;
.
. . p q.

q;
. . p q.
.

Premissa
p

V
V
F
F

V
F
V
F

V
V
F
F

Concluso
pq
V
V
V
F

Essas duas formas servem para fazer generalizaes, i.e.,


se p verdadeiro caso (a) ento mais genericamente p q verdadeiro
para qualquer afirmao q.

UFMG/ICEx/DCC

MD

Conceitos

97

Outras formas de argumentos vlidos:


Simplificao conjuntiva
As formas de argumentos
(a)
p q;
.
. . p.
so vlidas.

(b)

1.
2.
3.
4.

Forma do argumento:
p q;
.
. . p.

p q;
. . q.
.

Premissa
pq

V
V
F
F

V
F
V
F

V
F
F
F

Concluso
p
V
V
V
F

Essas duas formas servem para fazer particularizaes, i.e.,


se p e q so verdadeiros ento em particular p verdadeiropara o caso (a).

UFMG/ICEx/DCC

MD

Conceitos

98

Outras formas de argumentos vlidos:


Silogismo disjuntivo
Silogismo = deduo formal tal que, postas duas premissas, delas se tira uma
concluso, nelas logicamente implicada.
As formas de argumentos
(a)
p q;
q;
.
. . p.
so vlidas.

(b)

p q;
p;
.
. . q.

Forma do argumento:

p q;
q;
.
. . p.

1.
2.
3.
4.

V
V
F
F

V
F
V
F

Premissas
p q q
V
V
V
F

F
V
F
V

Concluso
p
V
V
F
F

Essas formas de argumento expressam a situao onde existem somente


duas possibilidades e uma pode ser excluda o que leva ao fato que a outra
deve prevalecer.
UFMG/ICEx/DCC

MD

Conceitos

99

Outras formas de argumentos vlidos:


Silogismo disjuntivo
Exemplo 37:
Seja x um nmero natural e os seguintes argumentos:
p: x 3 = 0
q: x + 2 = 0
p q: Um dos argumentos pode ser eliminado.
q: x 6= 2. Sabe-se que x no negativo e por essa razo o argumento
a ser eliminado.
.
. . p, de acordo com o silogismo disjuntivo.

UFMG/ICEx/DCC

MD

Conceitos

100

Outras formas de argumentos vlidos:


Silogismo hipottico
Forma do argumento:
p q;
p

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

q r;
.
. . p r.
vlida.

1.
2.
3.
4.
5.
6.
7.
8.

Premissas
pq qr
V
V
F
F
V
V
V
V

V
F
V
V
V
F
V
V

Concluso
pr
V
F
V
F
V
V
V
V

Muitos argumentos em matemtica so definidos por cadeias de sentenas


seento, onde o primeiro implica no ltimo.

UFMG/ICEx/DCC

MD

Conceitos

101

Outras formas de argumentos vlidos:


Silogismo hipottico
Exemplo 38:
Se 18.486 divisvel por 18
ento 18.486 divisvel por 9;
Se 18.486 divisvel por 9
ento a soma dos dgitos de 18.486 divisvel por 9;
.
. . Se 18.486 divisvel por 18
ento a soma dos dgitos de 18.486 divisvel por 9.

UFMG/ICEx/DCC

MD

Conceitos

102

Outras formas de argumentos vlidos:


Dilema: Prova por diviso em casos
Dilema = raciocnio cuja premissa alternativa, de tal forma que qualquer dos
seus termos conduz mesma conseqncia.
Forma do argumento:
p q;
p r;
q r;
.
. . r.
vlida.

UFMG/ICEx/DCC

1.
2.
3.
4.
5.
6.
7.
8.

V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

MD

Conceitos

Premissas
pq pr q r
V
V
V
V
V
V
F
F

V
F
V
F
V
V
V
V

V
F
V
V
V
F
V
V

Concluso
r
V
F
V
F
V
F
V
F

103

Outras formas de argumentos vlidos:


Dilema: Prova por diviso em casos
Exemplo 39:
x positivo ou x negativo;
Se x positivo ento x2 > 0;
Se x negativo ento x2 > 0;
.
. . x2 > 0.
Neste caso j foi mostrado que existe uma dicotomia dos nmeros reais: positivos, negativos ou zero. Por silogismo disjuntivo sabe-se x positivo ou x
negativo e chega-se concluso acima.

UFMG/ICEx/DCC

MD

Conceitos

104

Deduo mais complexa


Sejam os seguintes argumentos:

Exemplo 40:
Voc est saindo para a escola de manh e
percebe que no est usando os culos. Ao
tentar descobrir onde esto os culos voc
comea a pensar sobre os seguintes fatos que
so verdadeiros:
(a) Se os meus culos esto na mesa da cozinha ento eu os vi no caf da manh;
(b) Eu estava lendo o jornal na sala de estar
ou eu estava lendo o jornal na cozinha;
(c) Se eu estava lendo o jornal na sala de
estar ento meus culos esto na mesa
do caf;
(d) Eu no vi meus culos no caf da manh;
(e) Se eu estava lendo um livro na cama ento meus culos esto no criado-mudo;
(f) Se eu estava lendo o jornal na cozinha
ento meus culos esto na mesa da cozinha;

UFMG/ICEx/DCC

MD

p = Os meus culos esto na mesa da cozinha.


q = Eu vi meus culos no caf da manh.
r = Eu estava lendo o jornal na sala de estar.
s = Eu estava lendo o jornal na cozinha.
t = Meus culos esto na mesa do caf.
u = Eu estava lendo um livro na cama.
v = Meus culos esto no criado-mudo.
Traduo dos fatos para as proposies:
(a) p q
(d) q

Conceitos

(b) r s
(e) u v

(c) r t
(f) s p

105

Deduo mais complexa


Traduo dos fatos para as proposies:
(a) p q
(d) q

(b) r s
(e) u v

(c) r t
(f) s p

As seguintes dedues podem ser feitas:

1.

2.

p q;
q
.
. . p

(a)

s p;
p
.
. . s

(f)

3.

(d)
Modus Tollens

4.

Concluso de 1.
Modus Tollens

r s;
s
.
.. r

(b)

r t;
r
.
.. t

(c)

Concluso de 2.
Silogismo disjuntivo

Concluso de 3.
Modus Ponens

.
. . t verdadeiro e os culos esto na mesa do caf.
UFMG/ICEx/DCC

MD

Conceitos

106

Uso de proposies em especificaes


Traduzir sentenas numa linguagem natural, como o portugus, em expresses lgicas uma parte importante da especificao de sistemas computacionais (hardware e software).
Profissionais que fazem a especificao de tais sistemas computacionais devem traduzir requisitos expressos numa linguagem natural em uma especificao precisa e no ambgua.
Essa especificao pode ser usada como base para o desenvolvimento do
sistema.

UFMG/ICEx/DCC

MD

Conceitos

107

Uso de proposies em especificaes


Exemplo 41:
Requisito:
(a) Uma resposta automtica no pode ser enviada se o sistema de arquivos
est cheio.
Proposies:
a = Uma resposta automtica no pode ser enviada.
b = O sistema de arquivos est cheio.
Traduo do requisito para a proposio:
(a) b a

UFMG/ICEx/DCC

MD

Conceitos

108

Uso de proposies em especificaes


Exemplo 42:
Requisitos:
(a) A mensagem de diagnstico armazenada no buffer ou a mensagem de
diagnstico retransmitida.
(b) A mensagem de diagnstico no armazenada no buffer.
(c) Se a mensagem de diagnstico armazenada no buffer ento a mensagem de diagnstico retransmitida.
Proposies:
p = A mensagem de diagnstico armazenada no buffer.
q = A mensagem de diagnstico retransmitida.
Traduo dos requisitos para as proposies:
(a) p q
(b) p
(c) p q
UFMG/ICEx/DCC

MD

Conceitos

109

Uso de proposies em especificaes


Dedues:
p q;
p
.
.. q

q
p
pq
.
. . p q

(a)
(b)
Silogismo disjuntivo

Concluso acima
(b)
(c)
p=Feq=V

Os requisitos so consistentes para p = F e q = V


O que acontece com a especificao se o requisito A mensagem de diagnstico no retransmitida acrescentada?

UFMG/ICEx/DCC

MD

Conceitos

110

Falcias
Falcia = erro no raciocnio que resulta num argumento invlido.
Falcias comuns:
Usar uma premissa vaga ou ambgua;
Assumir como verdadeiro o que deve ser provado;
Concluir uma premissa sem uma argumentao adequada;
Erro oposto;
Erro inverso.
Como mostrar que um argumento invlido?
Construir a tabela da verdade e achar uma linha crtica com a concluso
falsa.
Achar um argumento com premissas verdadeiras e concluso falsa.
Para um argumento ser vlido, qualquer argumento da mesma forma que
tem premissas verdadeiras deve ter uma concluso verdadeira.
UFMG/ICEx/DCC

MD

Conceitos

111

Erro oposto
Exemplo 43:
Se Zeca um gnio
ento Zeca senta na primeira carteira na sala de aula;
Zeca senta na primeira carteira na sala de aula;

.
. . Zeca um gnio.

A forma geral do argumento acima :


p q;
q;
.
. . p.

UFMG/ICEx/DCC

MD

Conceitos

112

Erro oposto
Forma do argumento :
p q;
q;

1.
2.
3.
4.

. . p.

V
V
F
F

V
F
V
F

Premissas
pq q
V
F
V
V

V
F
V
F

Concluso
p
V
V
F
F

Este argumento lembra a forma geral do argumento Modus ponens.


Forma deste argumento invlida.

UFMG/ICEx/DCC

MD

Conceitos

113

Erro inverso
Exemplo 44:
Se as taxas de juro subirem
ento os preos das aes iro cair;
As taxas de juro no esto subindo;

.
. . Os preos das aes no iro cair.
A forma geral do argumento acima :
p q;
p;
.
. . q.

UFMG/ICEx/DCC

MD

Conceitos

114

Erro inverso
Forma do argumento :
p q;
p;

1.
2.
3.
4.

. . q.

V
V
F
F

V
F
V
F

Premissas
p q p
V
F
V
V

F
F
V
V

Concluso
q
F
V
F
V

Este argumento lembra a forma geral do argumento Modus tollens.


Forma deste argumento invlida.

UFMG/ICEx/DCC

MD

Conceitos

115

Validade Verdade
Validade uma propriedade da forma de um argumento.
Se um argumento vlido
ento tambm todo argumento que tem a mesma forma.
Exemplo 45 Argumento vlido com uma concluso falsa:
Se John Lennon era uma estrela do rock
ento ele tinha cabelo ruivo;
John Lennon era uma estrela do rock;
.
. . John Lennon tinha cabelo ruivo.
Argumento vlido de acordo com modus ponens. No entanto, a primeira
premissa falsa assim como a concluso.
Exemplo 46 Argumento invlido com uma concluso verdadeira:
Se Nova York uma cidade grande
ento Nova York tem edifcios altos;
Nova York tem edifcios altos;
.
. . Nova York uma cidade grande.
Argumento invlido (erro oposto) mas com a concluso verdadeira.
UFMG/ICEx/DCC

MD

Conceitos

116

Contradies e argumentos vlidos


Regra da contradio:
Se pode ser mostrado que a suposio da afirmao p = F leva logicamente a uma contradio, ento pode-se concluir que p = V.

p c, onde c uma contradio


.
. . p.

Tabela da verdade:
p

UFMG/ICEx/DCC

Premissa

Concluso

p c

1.

2.

MD

Conceitos

117

Honestos Desonestos
Exemplo 47 Uma ilha possui um de dois tipos de pessoas:
A diz: B honesto.
B diz: A e eu somos de tipos opostos.
Suponha que A honesto.
.
. . O que A diz verdade;
.
. . B tambm honesto;
.
. . O que B diz verdade;
.
. . A e B so de tipos honestos;
.
. . Chegou-se a uma contradio:
A e B so honestos e A e B so desonestos.
.
. . A suposio falsa;
.
. . A no honesto;
.
. . A desonesto;
.
. . O que A diz falso;
.
. . B no honesto;
.
. . B tambm desonesto.
UFMG/ICEx/DCC

MD

Conceitos

118

Regras de inferncia: Sumrio


M ODUS P ONENS
p q;
p;
.
. . q.

S ILOGISMO DISJUNTIVO
p q;
p q;
q;
p;
.
.
. . p.
. . q.

M ODUS TOLLENS
p q;
q;
.
. . p.

S ILOGISMO HIPOTTICO
p q;
q r;
.
. . p r.

A DIO DISJUNTIVA
p;
.
. . p q.

D ILEMA
p q;
p r;
q r;
.
. . r.

q;
. . p q.
.

S IMPLIFICAO CONJUNTIVA
p q;
p q;
.
.
. . p.
. . q.

C ONTRADIO
p c;
.
. . p.

A DIO CONJUNTIVA
p;
q;
.
. . p q.
UFMG/ICEx/DCC

MD

Conceitos

119

Aplicao: Circuito lgico

Claude Shannon (19162001), matemtico americano, considerado o cientista que estabeleceu os fundamentos da teoria da informao moderna, com a publicao em 1948 do trabalho
intitulado Mathematical Theory of Communication. Nesse trabalho ele observa que the fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point. Os fundamentos propostos nesse trabalho so
usados integralmente hoje em dia em reas como redes de computadores e recuperao da
informao.
Antes disso, Shannon observa a analogia entre operaes de dispositivos de chaveamento
(por exemplo, chaves ou interruptores) e operaes de conectivos lgicos. Ele usa essa analogia com muito sucesso para resolver problemas de projetos de circuitos lgicos e apresenta
os resultados na sua dissertao de mestrado (A Symbolic Analysis of Relay and Switching
Circuits) do MIT em 1938.

UFMG/ICEx/DCC

MD

Conceitos

120

Aplicao: Circuito lgico


Uma chave pode estar em uma de duas possveis posies:
Aberta
Fechada
Chave fechada: corrente pode passar.
Chave aberta: h interrupo de corrente.

Exemplo de uma chave num circuito:


+

Lmpada acende sse corrente passa por ela.


Isto acontece, sse a chave est fechada.
Observe que nesse modelo est sendo assumido que a bateria tem sempre
energia e a chave e a lmpada nunca falham.
Consideraes como essas so importantes sempre que um modelo
proposto.
UFMG/ICEx/DCC

MD

Conceitos

121

Aplicao: Circuito lgico


Sejam os circuitos abaixo e os possveis comportamentos:
P
P

Chaves
P
Q
Fechada
Fechada
Aberta
Aberta

Fechada
Aberta
Fechada
Aberta

UFMG/ICEx/DCC

Lmpada
Estado

Chaves
P
Q

Acesa
Apagada
Apagada
Apagada

Fechada
Fechada
Aberta
Aberta

MD

Conceitos

Fechada
Aberta
Fechada
Aberta

Lmpada
Estado
Acesa
Acesa
Acesa
Apagada

122

Aplicao: Circuito lgico


Chaves
P
Q
Fechada
Fechada
Aberta
Aberta

Fechada
Aberta
Fechada
Aberta

Lmpada
Estado

Chaves
P
Q

Acesa
Apagada
Apagada
Apagada

Fechada
Fechada
Aberta
Aberta

Fechada
Aberta
Fechada
Aberta

Lmpada
Estado
Acesa
Acesa
Acesa
Apagada

Observe que se as expresses fechada e acesa forem substitudas pelo


valor-verdade V e aberta e apagada forem substitudas pelo valor-verdade
F, ento as tabelas da esquerda e da direita correspondem, respectivamente,
s expresses lgicas:
P Q
P Q

(conjuno);
(disjuno).

UFMG/ICEx/DCC

MD

Conceitos

123

Aplicao: Circuito lgico


A partir da dcada de 1940, rels eletro-mecnicos (chaves) foram substitudos por dispositivos
eletrnicos como vlvulas, transistores e circuitos integrados.
Vlvula. O computador moderno (primeira gerao)
surgiu a partir da vlvula,
que permitiu executar uma
operao muito mais rpida que os sistemas de rel
eletro-mecnicos.
Abaixo
est um sistema de vlvulas
da IBM de 1946 que podia
multiplicar dois nmeros de 10
1
algarismos em 40
s.

UFMG/ICEx/DCC

Transistor. Dispositivo semicondutor de estado slido que


passou a ser usado largamente na segunda gerao de
computadores a partir do incio da dcada de 1960.

MD

Conceitos

Circuito integrado.
Tambm chamado de microchip
ou chip uma miniaturizao de dispositivos semicondutores e componentes passivos manufaturados na superfcie de um substrato extremamente fino de um material semicondutor. Abaixo, uma
imagem do processador Intel
Core Duo otimizado para aplicaes multi-threaded e multitarefa.

124

Aplicao: Circuito lgico


Os estados (fechado e aberto) foram substitudos por outras representaes
apropriadas para os novos dispositivos.
Por exemplo, diferentes valores de tenso.
Ponto importante: modelagem anterior continua vlida!
No projeto de circuitos digitais, os valores lgicos verdadeiro e falso so
normalmente substitudos pelos smbolos 1 e 0.
Estes smbolos so chamados de bits (binary digits).

UFMG/ICEx/DCC

MD

Conceitos

125

Aplicao: Circuito lgico


A partir do surgimento dos computadores digitais, uma questo fundamental
passa a ser a representao (codificao) da informao usando bits.
Por exemplo, como bits so representados/codificados quando esto em:
Memria de ferrite?
Memria eletrnica?
Disco magntico?
Disco ptico?
Cabo coaxial?
Cabo metlico?
Cabo de fibra ptica?
Canal de comunicao sem fio?

UFMG/ICEx/DCC

MD

Conceitos

126

Lgica de
Proposies Quantificadas
Clculo de Predicados
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

127

Introduo
J estudamos anlise de proposies compostas, i.e., proposies simples
ligadas por conectivos , , , , .
Este tipo de anlise no suficiente para determinar a validade da maioria
das situaes matemticas e do dia-a-dia.
Todos seres humanos so mortais;
Scrates um ser humano;
.
. . Scrates mortal.
Argumento intuitivamente correto.
Validade no pode ser obtida usando os mtodos j vistos.
Validade determinada separando as proposies em partes.
Vocbulos que denotam quantidades TODOS e ALGUNS tm uma funo
especial na anlise.
Clculo de predicados: rea que trata da anlise simblica de predicados e
proposies quantificadas.
Clculo de proposies ou clculo proposicional: rea que trata da anlise de
proposies compostas.
UFMG/ICEx/DCC

MD

Conceitos

128

Predicados e proposies quantificadas


Predicado [gramtica]: parte da sentena que fornece informao sobre o sujeito.
Predicado [lgica]: pode ser obtido removendo substantivos de uma
proposio.
Sejam os seguintes predicados:
P : um estudante na UFMG
Q: um estudante no(a)
P e Q so smbolos de predicados.
que podem ser reescritos com variveis:
P (x): x um estudante na UFMG
Q(x, y): x um estudante no(a) y
x e y so variveis dos predicados.

UFMG/ICEx/DCC

MD

Conceitos

129

Predicados e proposies quantificadas


Definio: Um predicado uma sentena que contm um nmero finito de
variveis e se torna uma proposio quando as variveis so substitudas por
valores especficos.
Os valores das variveis de predicados so definidos por conjuntos chamados
domnios. Por exemplo, R, Z, Q.

uso da letra Z vem do alemo zahl, que significa nmero.

UFMG/ICEx/DCC

MD

Conceitos

130

Predicados e proposies quantificadas


Definio: Se P (x) um predicado e x tem domnio D, o conjunto verdade
de P (x) o conjunto de todos elementos de D que fazem P (x) verdadeiro
quando substitudo por x. O conjunto verdade de P (x) denotado por
{x D | P (x)}
Exemplo 1:
P (x): x um fator de 8 e o domnio de x o conjunto de todos os inteiros
positivos.
O conjunto verdade de P (x) {1, 2, 4, 8}.

UFMG/ICEx/DCC

MD

Conceitos

131

Predicados e proposies quantificadas


Notao: Sejam P (x) e Q(x) predicados e suponha que o domnio comum
de x D.
A notao
P (x) Q(x)
significa que cada elemento no conjunto verdade de P (x) est no conjunto
verdade de Q(x).
A notao
P (x) Q(x)
significa que P (x) e Q(x) tm conjuntos verdade idnticos.

UFMG/ICEx/DCC

MD

Conceitos

132

Predicados e proposies quantificadas


Exemplo 2:
P (x): x um fator de 8;
Q(x): x um fator de 4;
R(x): x < 5 e x 6= 3, e
o domnio de x Z+ (inteiros positivos).
Que relaes podem ser expressas entre os trs predicados?
O conjunto verdade de P (x) {1, 2, 4, 8};
O conjunto verdade de Q(x) {1, 2, 4};
O conjunto verdade de R(x) {1, 2, 4};
.
. . Q(x) P (x);
.
. . R(x) P (x);
.
. . Q(x) R(x);

UFMG/ICEx/DCC

MD

Conceitos

133

Quantificadores: e
Como transformar predicados em proposies?
Atribuir valores especficos para todas variveis.
Usar quantificadores.
Definio: Quantificadores so palavras/expresses que referem a quantidades tais como todos e alguns e indicam para quantos elementos do
domnio um dado predicado verdadeiro.

UFMG/ICEx/DCC

MD

Conceitos

134

Quantificadores: e
: denota para todos e chamado de quantificador universal.
Exemplo 3:
seres humanos x, x mortal.
x S, x mortal
onde S o conjunto de todos seres humanos.
: denota existe e chamado de quantificador existencial.
Exemplo 4:
uma pessoa s | s um estudante de AEDS I.
s S, | s um estudante de AEDS I.
onde S o conjunto de todas as pessoas.

UFMG/ICEx/DCC

MD

Conceitos

135

Proposio universal
Definio: Seja Q(x) um predicado e D o domnio de x. Uma proposio
universal uma proposio da forma x D, Q(x).
A proposio universal verdadeira sse Q(x) verdadeiro para todo x em
D.
A proposio universal falsa sse Q(x) falso para pelo menos um x em
D.
O valor de x para o qual Q(x) falso chamado de contra-exemplo
para a proposio universal.

UFMG/ICEx/DCC

MD

Conceitos

136

Proposio universal
Verifique se a proposio universal verdadeira ou falsa:
(a) Seja D = {1, 2, 3, 4, 5} e a proposio x D, x2 x.
12 1, 22 2, 32 3, 42 4, 52 5
.
. . a proposio x D, x2 x verdadeira.
Mtodo da exausto.
(b) x R, x2 x.

.
. . a proposio falsa.

UFMG/ICEx/DCC

1
1
1 2
( ) = 6
2
4
2

MD

Conceitos

137

Proposio existencial
Definio: Seja Q(x) um predicado e D o domnio de x. Uma proposio
existencial uma proposio da forma x D | Q(x).
A proposio existencial verdadeira sse Q(x) verdadeiro para pelo
menos um x em D.
A proposio existencial falsa sse Q(x) falso para todo x em D.
Verifique se a proposio existencial verdadeira ou falsa:
(a) m Z | m2 = m.
12 = 1.
.
. . m2 = m para pelo menos um inteiro m e a proposio m
Z | m2 = m verdadeira.
(b) Seja E = {5, 6, 7, 8, 9, 10} e a proposio
m E | m2 = m.
52 = 25 6= 5 62 = 36 6= 6 72 = 49 6= 7
82 = 64 6= 8 92 = 81 6= 9 102 = 100 6= 10
.
. . a proposio m E | m2 = m falsa.
UFMG/ICEx/DCC

MD

Conceitos

138

Traduo de linguagem formal para informal e


vice-versa
x R, x2 0.
Todos nmeros reais tm quadrados no-negativos.
m Z | m2 = m.
Existe um nmero inteiro cujo quadrado igual a ele mesmo.
Todos os tringulos tm trs lados.
tringulos t, t tem trs lados.
Alguns programas so estruturados.
programas p tal que p estruturado.

UFMG/ICEx/DCC

MD

Conceitos

139

Proposio condicional universal


Considera-se que a forma de proposio mais importante em Matemtica a
proposio condicional universal.
x, se P (x) ento Q(x)
x R, se x > 2 ento x2 > 4.
Se um nmero real maior que 2 ento seu quadrado maior que 4.
Todos bytes tm oito bits.
x, se x um byte, ento x tem oito bits.
Definio de um argumento vlido como uma proposio condicional universal.
todas combinaes de valores verdade das variveis de uma sentena
se as premissas so todas verdadeiras
ento a concluso tambm verdadeira.
UFMG/ICEx/DCC

MD

Conceitos

140

Formas equivalentes de proposies universal e


lgica
As proposies
nmeros reais x, se x um inteiro, ento x racional.
inteiros x, x racional.
significam a mesma coisa, que tm a seguinte traduo: todos inteiros so
racionais.
x U se P (x) ento Q(x) x D, Q(x).
Se restringirmos o domnio U ao domnio D temos a seguinte equivalncia.
x D, Q(x) x, se x est em D ento Q(x)
Exemplo 5:
polgonos p, se p um quadrado, ento p um retngulo
quadrados p, p um retngulo.
x U tal que P (x) e Q(x)
x D tal que Q(x)
Neste caso, D consiste de todos elementos de U que fazem P (x) verdadeiro.
UFMG/ICEx/DCC

MD

Conceitos

141

Negaes de proposies quantificadas


Exemplo 6:
P : Todos matemticos usam culos.
P : Nenhum matemtico usa culos. (ERRADO)
Um ou mais matemticos no usam culos. (ou)
Alguns matemticos no usam culos.
Teorema:
A negao de uma proposio da forma
x D, Q(x)
equivalente logicamente a proposio da forma
x D | Q(x)
Simbolicamente temos:
(x D, Q(x)) x D | Q(x)
UFMG/ICEx/DCC

MD

Conceitos

142

Negaes de proposies quantificadas


Exemplo 7:
P : primos p, p mpar.
P : um primo p | p no mpar.
Exemplo 8:
P : Todos os programas de computador so finitos.
P : Alguns programas de computador no so finitos.
Exemplo 9:
P : polticos x, x no honesto.
P : Alguns polticos so honestos.

UFMG/ICEx/DCC

MD

Conceitos

143

Negaes de proposies existenciais


Exemplo 10:
P : Alguns peixes respiram ar.
P : Alguns peixes no respiram ar. (ERRADO)
Nenhum peixe respira ar.
Teorema:
A negao de uma proposio da forma
x D | Q(x)
equivalente logicamente a proposio da forma
x D, Q(x)
Simbolicamente temos:
(x D | Q(x)) x D, Q(x)
UFMG/ICEx/DCC

MD

Conceitos

144

Negaes de proposies existenciais


Exemplo 11:
P : um tringulo tal que a soma dos ngulos de T igual a 200 graus.
P : tringulos T , a soma dos ngulos de T no igual a 200 graus.
Exemplo 12:
P : Alguns hackers de computador tm mais de 40 anos.
P : Todos os hackers de computador tm 40 anos ou menos.

UFMG/ICEx/DCC

MD

Conceitos

145

Negaes de proposies condicionais universais


Pela definio da negao de uma proposio universal, temos:
(x, P (x) Q(x)) x | (P (x) Q(x))
Sabe-se tambm que a negao de uma sentena condicional pode ser decomposta numa sentena conjuntiva:
(P (x) Q(x)) P (x) Q(x)
Fazendo a substituio temos:
(x, P (x) Q(x)) x | (P (x) Q(x))

UFMG/ICEx/DCC

MD

Conceitos

146

Negaes de proposies condicionais universais


Exemplo 13:
P : pessoas p, se p loura ento p tem olhos azuis.
P : uma pessoa p tal que p loura e p no tem olhos azuis.
Exemplo 14:
P : Se um programa de computador tem mais de 100.000 linhas ento o
programa contm um erro.
P : Existe pelo menos um programa de computador que tem mais de
100.000 linhas e o programa no contm um erro.

UFMG/ICEx/DCC

MD

Conceitos

147

Verdade por default de proposies universais


Uma proposio da forma
x D, se P (x) ento Q(x)
chamada de verdade por default sse P (x) falso para cada x em D.

UFMG/ICEx/DCC

MD

Conceitos

148

Verdade por default de proposies universais


Exemplo 15: Sejam cinco bolas azuis, cinco brancas e um prato.
Cenrio 1: trs bolas azuis e uma branca so colocadas no prato.
P : Todas as bolas no prato so azuis.
P falso, j que possvel identificar uma bola branca no prato.
Cenrio 2: o prato est vazio.
P : Todas as bolas no prato so azuis.
P verdadeiro ou falso?
A proposio falsa sse sua negao for verdadeira. A negao :
P : Existe pelo menos uma bola no prato que no azul.
P s verdadeiro se houver (existir) no prato uma bola que no seja azul.
Como no existe, a negao falsa e, assim, a proposio verdadeira por
default.
UFMG/ICEx/DCC

MD

Conceitos

149

Verdade por default de proposies universais


Exemplo 16: Seja D =
Cenrio 1: trs bolas azuis e uma branca so colocadas no prato.
P : Todas as bolas no prato so azuis.
P falso, j que possvel identificar uma bola branca no prato.
Cenrio 2: o prato est vazio.
P : Todas as bolas no prato so azuis.
P verdadeiro ou falso?
A proposio falsa sse sua negao for verdadeira. A negao :
P : Existe pelo menos uma bola no prato que no azul.
P s verdadeiro se houver (existir) no prato uma bola que no seja azul.
Como no existe, a negao falsa e, assim, a proposio verdadeira por
default.
UFMG/ICEx/DCC

MD

Conceitos

150

Proposies contendo mltiplos quantificadores


Reescreva as sentenas abaixo formalmente usando quantificadores e variveis:
(a) Todo mundo ama algum.
pessoas x, uma pessoa y tal que x ama y.
(b) Algum ama todo mundo.
uma pessoa x tal que pessoas y, x ama y.
As sentenas (a) e (b) so equivalentes logicamente?
?

(a) (b)
No. Em geral, ao se trocar a ordem dos quantificadores na sentena o sentido muda.

UFMG/ICEx/DCC

MD

Conceitos

151

Proposies contendo mltiplos quantificadores


Definio do limite de uma seqncia an:
lim a = L
n n
sse os valores de an tornam-se arbitrariamente perto de L, i.e., convergem
para L medida que n cresce.
> 0, um nmero inteiro n0 tal que inteiros n
se n > n0 ento
L < an < L +

UFMG/ICEx/DCC

MD

L+

Conceitos

152

Negaes de proposies quantificadas


multiplamente
Exemplo 17: Qual a negao da seguinte afirmao:
P : pessoas x, uma pessoa y tal que x ama y.
O que significa a sentena ser falsa?
A propriedade no ser vlida para todas as pessoas.
P : uma pessoa x tal que
( uma pessoa y tal que x ama y)
uma pessoa x tal que
pessoas y, x no ama y

UFMG/ICEx/DCC

MD

Conceitos

153

Negaes de proposies quantificadas


multiplamente
Regra geral:
P : x, y tal que C(x, y).
P : x tal que y, C(x, y).
Exemplo 18:
P : inteiros n,
um inteiro k tal que n = 2k.
P : um inteiro n tal que
inteiro k, n 6= 2k.

UFMG/ICEx/DCC

MD

Conceitos

154

Negaes de proposies quantificadas


multiplamente
Regra geral:
P : x tal que y, C(x, y).
P : x, y tal que C(x, y).
Exemplo 19:
P : uma pessoa x tal que
pessoas y, x ama y.
P : pessoas x
uma pessoa y tal que x no ama y.
Sumrio:
Quantificador

Anlogo a De Morgan.
UFMG/ICEx/DCC

MD

Negao

Conceitos

155

A relao entre , , ,
Seja o predicado Q(x),
onde x tem domnio D = {x1, x2, . . . , xn}.
Proposio universal uma generalizao da conjuno ():
x D, Q(x) Q(x1) Q(x2) . . . Q(xn)
Exemplo 20: Q(x) : x x, D = {0, 1}
x D, Q(x) Q(0) Q(1)
Proposio existencial uma generalizao da disjuno ():
x D tal que Q(x) Q(x1) Q(x2) . . . Q(xn)
Exemplo 21: Q(x) : x + x, D = {0, 1}
x D tal que Q(x) Q(0) Q(1)
UFMG/ICEx/DCC

MD

Conceitos

156

Variaes de proposies condicionais universais


Seja a proposio condicional universal (PCU):
x D, se P (x) ento Q(x)
Exemplo 22: x R, se x > 2 ento x2 > 4
As seguintes proposies podem ser definidas:
Contrapositivo: x D, se Q(x) ento P (x) PCU
Exemplo 23: x R, se x2 4 ento x 2
Recproca: x D, se Q(x) ento P (x) 6 PCU
Exemplo 24: x R, se x2 > 4 ento x > 2
Inverso: x D, se P (x) ento Q(x) 6 PCU
Exemplo 25: x R, se x 2 ento x2 4

UFMG/ICEx/DCC

MD

Conceitos

157

Condies suficiente e necessria


x, R(x) uma condio suficiente para S(x)
x, se R(x) ento S(x).
Exemplo 26:
Ser quadrado uma condio suficiente para ser retangular.
x, se x quadrado ento x retangular.
x, R(x) uma condio necessria para S(x)
x, se R(x) ento S(x)
x, se S(x) ento R(x).
Exemplo 27:
Ter 35 anos uma condio necessria para ser presidente do Brasil.
x, se x no tem 35 anos ento x no pode ser presidente do Brasil.
x, se x presidente do Brasil ento x tem 35 anos.

UFMG/ICEx/DCC

MD

Conceitos

158

Condio somente se
x, R(x) somente se S(x)
x, se S(x) ento R(x)
x, se R(x) ento S(x).
Exemplo 28:
O produto de dois nmeros zero somente se um dos nmeros zero.
x, se os dois nmeros so diferentes de zero ento o produto dos dois
nmeros diferente de zero.
x, se o produto de dois nmeros zero ento um dos nmeros zero.

UFMG/ICEx/DCC

MD

Conceitos

159

Argumentos com afirmaes quantificadas


Regra da Instanciao Universal:
Se uma propriedade verdadeira para cada objeto no domnio
Ento a propriedade verdadeira para um objeto em particular do domnio.
A propriedade pode ser definida, por exemplo, em termos de uma frmula
matemtica, definio ou teorema.
Exemplo famoso de instanciao universal:
Todos seres humanos so mortais;
Scrates um ser humano;
.
. . Scrates mortal.
Instanciao universal a ferramenta fundamental do raciocnio dedutivo.

UFMG/ICEx/DCC

MD

Conceitos

160

Modus Ponens Universal


Regra de instanciao universal + modus ponens
Verso informal:
Se x faz com que P (x) seja verdadeiro
ento x faz com que Q(x) seja verdadeiro.
a faz com que P (a) seja verdadeiro;
.
. . a faz com que Q(a) seja verdadeiro;
Verso formal:
x, se P (x) ento Q(x);
P (a) para a em particular;
.
. . Q(a).
Silogismo: duas premissas (uma quantificada) e uma concluso:
1a premissa chamada de maior (major)
2 a premissa chamada de menor (minor)

UFMG/ICEx/DCC

MD

Conceitos

161

Modus Ponens Universal


Exemplo 29:
Se um [nmero par]=E(x)
ento [seu quadrado par]=S(x);
k um nmero que par;
.
. . k2 par.
Reescrevendo com quantificadores, variveis e predicados:
x, se E(x) ento S(x);
E(k) para k em particular;
.
. . S(k).

UFMG/ICEx/DCC

MD

Conceitos

162

Modus Tollens Universal


Regra de instanciao universal + modus tollens
Verso informal:
Se x faz com que P (x) seja verdadeiro
ento x faz com que Q(x) seja verdadeiro.
a no faz com que Q(a) seja verdadeiro;
.
. . a no faz com que P (a) seja verdadeiro;
Verso formal:
x, se P (x) ento Q(x);
Q(a) para a em particular;
.
. . P (a).

UFMG/ICEx/DCC

MD

Conceitos

163

Modus Tollens Universal


Exemplo 30:
Todos seres humanos so mortais;
Zeus no mortal;
.
. . Zeus no humano.
Reescrevendo com quantificadores, variveis e predicados e supondo:
H(x): x humano, e M (x): x mortal.
x, se H(x) ento M (x);
M (z) para z em particular;
.
. . H(z) para z em particular.

UFMG/ICEx/DCC

MD

Conceitos

164

Provando validade de argumentos com


proposies quantificadas
Definio (forma de um argumento): A forma de um argumento vlida
quando os smbolos dos predicados nas premissas forem substitudos por
quaisquer predicados em particular, se as premissas resultantes forem verdadeiras ento a concluso tambm verdadeira.
Um argumento vlido sse sua forma vlida.
Prova de validade da regra do Modus Ponens Universal:
x, se P (x) ento Q(x);
P (a) para a em particular;
.
. . Q(a).

Suponha que as premissas maior e menor so V.


Mostre que Q(a) V (o que deve ser provado).
Pela premissa menor P(a) V.
Pela premissa maior e a regra de instanciao universal a afirmao se
P (a) ento Q(a) V para o valor de a em particular.
Se as proposies P (a) Q(a) e P (a) so V, ento por modus ponens
a proposio Q(a) tambm V (o que devia ser provado).
UFMG/ICEx/DCC

MD

Conceitos

165

Usando diagramas para mostrar a validade de


proposies
Idia:
Represente a validade das premissas com diagramas.
Analise os diagramas para saber se eles representam tambm a verdade
da concluso.
Exemplo 31:
P: inteiros n, n um nmero racional.
nmeros racionais
inteiros

.
. . A forma do argumento vlida.

UFMG/ICEx/DCC

MD

Conceitos

166

Usando diagramas para mostrar a validade de


proposies
Exemplo 32:
Todos seres humanos so mortais;
Zeus no mortal;
.
. . Zeus no humano.
Premissa Maior

Premissa Menor

mortais

mortais

Zeus

seres humanos

mortais

Zeus

seres humanos

.
. . A forma do argumento vlida.
UFMG/ICEx/DCC

MD

Conceitos

167

Usando diagramas para mostrar a validade de


proposies
Exemplo 33:
Todos seres humanos so mortais;
Felix mortal;
.
. . Felix um ser humano.

Premissa Maior

Premissa Menor

mortais

mortais

Felix
seres humanos

UFMG/ICEx/DCC

MD

Conceitos

168

Usando diagramas para mostrar a validade de


proposies
Possveis situaes

mortais

mortais

Felix

Felix
seres humanos

seres humanos

.
. . A forma do argumento invlida.

UFMG/ICEx/DCC

MD

Conceitos

169

Argumentos com proposies quantificadas:


Formas invlidas
Erro oposto:
Verso informal:
Se x faz com que P (x) seja verdadeiro
ento x faz com que Q(x) seja verdadeiro;
a faz com que Q(a) seja verdadeiro;
.
. . a faz com que P (a) seja verdadeiro.
Verso formal:
x, se P (x) ento Q(x);
Q(a) para a em particular;
.
. . P (a).

UFMG/ICEx/DCC

MD

Conceitos

170

Argumentos com proposies quantificadas:


Formas invlidas
Erro inverso:
Verso informal:
Se x faz com que P (x) seja verdadeiro
ento x faz com que Q(x) seja verdadeiro;
a no faz com que P (a) seja verdadeiro;
.
. . a no faz com que Q(a) seja verdadeiro.
Verso formal:
x, se P (x) ento Q(x);
P (a) para a em particular;
.
. . Q(a).

UFMG/ICEx/DCC

MD

Conceitos

171

Argumentos com proposies quantificadas:


Argumentos com nenhum(a)/no
Testando a validade de um argumento com diagramas:
Nenhuma funo polinomial tem assntota horizontal;
Essa funo tem assntota horizontal;
.
. . Essa funo no polinomial.
funes polinomiais

funes com
assntotas horizontais

essa funo

.
. . A forma do argumento vlida.

UFMG/ICEx/DCC

MD

Conceitos

172

Argumentos com proposies quantificadas:


Argumentos com nenhum(a)/no
Outra alternativa:
P (x): x uma funo polinomial.
Q(x): x no tem assntota horizontal.
x, se P (x) ento Q(x);
Q(a) para a em particular;
.
. . P (a).

UFMG/ICEx/DCC

MD

Conceitos

173

Comentrios sobre erros oposto e inverso


Erro comum porque as pessoas assumem a premissa maior como bicondicional ao invs de uma sentena condicional simples.
Variao do erro oposto pode ser uma ferramenta til se usada com
critrio.
x, se P (x) ento Q(x); (V)
Q(a); (V) para a em particular
Verifique se P (a) tambm V.
Exemplo 34:
x, se x tem pneumonia
ento [x tem febre e calafrios, tosse forte e sente cansado].
Se o mdico sabe sobre [ . . . ] ento existe uma forte possibilidade (mas
no certeza) que a pessoa tem pneumonia.
Forma de raciocnio chamada de abduo (abduction) em IA e muito
usada em sistemas especialistas.
UFMG/ICEx/DCC

MD

Conceitos

174

Mtodos de Prova
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

175

Introduo
Objetivo: ter preciso de pensamento e linguagem para obter a certeza
matemtica a respeito de um determinado problema.
Mtodos de prova:
Prova direta
Contra-exemplo
Diviso em casos
Prova por contradio
Prova por contraposio

UFMG/ICEx/DCC

MD

Conceitos

176

Prova direta: Definies


importante saber o significado de cada termo na afirmao matemtica.
Definio de par e mpar:
n par um inteiro k tal que n = 2k
n mpar um inteiro k tal que n = 2k + 1
Exemplos:
(a) 0 par?
Sim. 0 = 2 0.
(b) 301 mpar?
Sim. 301 = 2 (151) + 1.
(c) Se a e b so inteiros, 6a2b par? Por que?
6a2b = 2 (3a2b)
O conjunto dos nmeros inteiros fechado para as operaes de +,
e . Logo, 3a2b um nmero inteiro e, conseqentemente, o seu dobro.
(d) Se a e b so inteiros, ento 10a + 8b + 1 mpar. Por que?
Sim. 10a + 8b + 1 = 2 (5a + 4b) + 1.
(e) Todo nmero inteiro par ou mpar.
UFMG/ICEx/DCC

MD

Conceitos

177

Prova direta: Definies


Definio de primo e nmero composto:
n primo
inteiros positivos r e s, se n = r s, n > 1, ento r = 1 ou s = 1.
n composto
inteiros positivos r e s tal que n = r s, e r 6= 1 e s 6= 1.
Questo: inteiro n, n 2, n um nmero primo ou um nmero composto?
Sim. Uma definio a negao da outra.

UFMG/ICEx/DCC

MD

Conceitos

178

Provando proposies existenciais


x D tal que Q(x) = V sse Q(x) V para pelo menos um x em D.
Possveis mtodos de prova:
(a) Ache/apresente x em D que faz Q(x) verdadeiro.
(b) Mostre como achar x que faz Q(x) verdadeiro.
Mtodos de prova construtiva de existncia.
Exemplo:
Prove: um inteiro par n que pode ser escrito de duas formas diferentes
como a soma de dois nmeros primos.
n = 10 = 5 + 5 = 7 + 3
Exemplo:
Sejam r e s inteiros.
Prove: um inteiro k tal que 225 + 183 = 2k.
225 + 183 = 2 (11r + 9s)
UFMG/ICEx/DCC

MD

Conceitos

179

Prova no-construtiva de existncia


Consiste em mostrar que:
(a) A existncia de um valor x, que faz com que Q(x) seja verdadeiro,
garantida por um axioma ou teorema; ou
(b) A suposio que no existe um valor x leva a uma contradio.
Desvantagem deste tipo de prova:
Pode no dar uma pista de como ou onde x pode ser encontrado.
Tendncia em computao devido ao acesso a computadores cada vez mais
rpidos em ambientes paralelos e distribudos:
Busca de uma prova construtiva atravs de um programa de computador.

UFMG/ICEx/DCC

MD

Conceitos

180

Provando afirmaes universais


A maioria das afirmaes em matemtica so universais da forma:
A: x D, se P (x) ento Q(x).
Qual uma possvel forma de provar A no caso de D ser finito ou existir um
nmero finito de valores x que satisfazem P (x)?
Mtodo da exausto.
Mtodo da exausto:
n Z, se n par e 4 n 30, ento n pode ser escrito como a soma de
dois nmeros primos.
4
12
20
28

=
=
=
=

2
5
7
11

+
+
+
+

2
7
13
17

6
14
22
30

=
=
=
=

3
11
5
11

+
+
+
+

3
3
17
19

8=3+ 5
16 = 5 + 11
24 = 5 + 19

10 = 5 + 5
18 = 7 + 11
26 = 7 + 19

Este mtodo pouco prtico porque em geral os domnios no so finitos


ou so muito grandes.
UFMG/ICEx/DCC

MD

Conceitos

181

Provando afirmaes universais


Mtodo da generalizao de um elemento especfico genrico:
Para mostrar que cada elemento de um domnio satisfaz uma certa
propriedade, suponha que x um elemento especfico mas escolhido
arbitrariamente de um domnio e mostre que x satisfaz a propriedade.
Como mostrar que x satisfaz uma propriedade da forma
se P (x) ento Q(x)?
A nica forma para a sentena P (x) Q(x) ser falsa P (x) ser V e
Q(x) ser F.
Para mostrar que P (x) Q(x) V suponha que P (x) V e mostre que
Q(x) tambm deve ser V.
Para provar que x D, P (x) Q(x), deve-se supor que x um elemento especfico mas escolhido arbitrariamente do domnio D que satisfaz
P (x), e deve-se provar que x satisfaz Q(x).
Prova direta.
UFMG/ICEx/DCC

MD

Conceitos

182

Prova direta
1. Expresse a afirmao a ser provada na forma x D, P (x) Q(x).
[Geralmente feito mentalmente]

2. Comece a prova supondo que x um elemento especfico de D mas escolhido arbitrariamente para o qual a hiptese P (x) V. [Normalmente abreviado
para Suponha x D e P (x)]

3. Mostre que a concluso V usando definies, resultados anteriores e as


regras de inferncia lgica.
Como x escolhido arbitrariamente:
ele pode ser generalizado para todos os elementos de D, e
no depende de nenhuma suposio especial sobre x

UFMG/ICEx/DCC

MD

Conceitos

183

Prova direta: Exemplo


Teorema:
Se a soma de dois nmeros inteiros par, ento a sua diferena tambm
par. [Linguagem natural]
inteiros m e n, se m + n par ento m n par. [Linguagem formal]
Prova:
Suponha m e n so inteiros [especficos mas escolhidos arbitrariamente] tal que
m + n par.
Deve-se mostrar que m n par.
Pela definio de par, m + n = 2k para algum inteiro k.
Subtraindo n dos dois lados, m pode ser expresso como: m = 2k n
A diferena entre m e n pode ser expressa como
m n = (2k n) n
= 2k 2n
= 2(k n)

substituindo m pelo valor acima

A expresso k n um nmero inteiro que multiplicado por 2 um inteiro


par. [O que devia ser mostrado.]
UFMG/ICEx/DCC

MD

Conceitos

184

Regras para escrever provas de afirmaes


universais
Escreva o teorema a ser provado.
Marque o incio da prova com a palavra P ROVA.
Escreva a prova de tal forma que ela seja auto-contida.
Identifique cada varivel usada na prova juntamente com o seu tipo.
Exemplos: Seja x um nmero real maior que 2.
Suponha que m e n so inteiros.
Similar a declarao de variveis e seus tipos numa linguagem de programao.
Escreva provas em linguagem natural usando sentenas completas.

UFMG/ICEx/DCC

MD

Conceitos

185

Erros comuns
Argumentar a partir de exemplos:
Exemplo incorreto da prova do teorema:
Se m = 14 e n = 6 ento m + n = 20 que par e m n = 8 que
tambm par.
Usar a mesma letra para representar duas coisas diferentes
Pular para uma concluso:
Alegar a verdade de alguma coisa sem dar uma razo adequada.
Exemplo: Suponha que m e n sejam inteiros e que m + n par. Pela
definio de par, m + n = 2k para algum inteiro k. Ento m = 2k n e
assim m n par.

UFMG/ICEx/DCC

MD

Conceitos

186

Erros comuns
Usando a questo a ser provada:
Assumir como verdadeiro o que deve ser provadovariao de pular para
uma concluso. Exemplo:
Suponha m e n so nmeros mpares.
Se m n mpar, ento m n = 2k + 1 para algum inteiro k.
Tambm pela definio de mpar, m = 2a + 1 e n = 2b + 1 para inteiros
a e b.
Ento m n = (2a + 1)(2b + 1) = 2k + 1, que mpar por definio.
Uso incorreto do vocbulo SE.
Exemplo: Suponha que p um nmero primo. Se p primo, ento p no
pode ser escrito como o produto de dois nmeros menores que so inteiro.
O vocbulo SE, nesta ltima sentena, coloca em dvida se de fato p
primo ou no.

UFMG/ICEx/DCC

MD

Conceitos

187

Prova por contra-exemplo


Para negar uma afirmao da forma
x D, P (x) Q(x)
ache um valor de x em D para o qual P (x) V e Q(x) F. O elemento x
chamado de contra-exemplo.
Exemplo:
Negue a seguinte afirmao:
a, b R, (a2 = b2) (a = b).
Contra-exemplo:
a = 1 e b = 1.

UFMG/ICEx/DCC

MD

Conceitos

188

Prova e contra-exemplo
ltimo Teorema de Fermat:
No existem inteiros positivos x, y, z e n 3 tais que xn + y n = z n.
Teorema e no existe contra-exemplo.
Conjectura de Goldbach (16901764)
Todo inteiro maior que 2 pode ser representado como uma soma de dois
primos.
Conjectura j verificada por um programa de computador para nmeros at
1017 (Maro de 2010). Veja mais informaes na pgina de Toms Oliveira
e Silva da Universidade do Aveiro, Portugal, em http://www.ieeta.pt/
~tos/goldbach.html.
No quer dizer que seja verdade para todos os nmeros entre 1017 e .

UFMG/ICEx/DCC

MD

Conceitos

189

Prova e contra-exemplo
Seja p(n) = n2 + n + 41.
Conjectura: n N, p(n) primo.
Evidncia:
n
0
1
2
3
...
20
p(n)
41
43
47
53
...
461
Isto no pode ser uma coincidncia!
A hiptese deve ser verdadeira!
Mas no , p(40) = 1681, que no primo!

...
...

39
1601

Em 1769, Euler (17071783) conjecturou que a4 + b4 + c4 = d4 no tinha


soluo no conjunto dos nmeros inteiros positivos.
Em 1987, ou 218 anos depois, Noam Elkies provou que
958004 + 2175194 + 4145604 = 4224814.

UFMG/ICEx/DCC

MD

Conceitos

190

Prova e contra-exemplo
Hiptese:
313 (x3 + y 3) = z 3
no tem soluo no conjunto dos nmeros inteiros.

Falso, mas o menor contra-exemplo tem mais de 1000 dgitos.

UFMG/ICEx/DCC

MD

Conceitos

191

Prova e hiptese: Humor


Hiptese: todos nmeros mpares maiores que 1 so primos.
Matemtico:
3 primo, 5 primo, 7 primo, mas 9 = 3 3, que no primo, e a
hiptese falsa!
Fsico:
3 primo, 5 primo, 7 primo, mas 9 no primo, 11 primo, 13 primo.
Assim, 9 deve ser um erro experimental, e assim, a hiptese verdadeira.
Advogado:
Senhores e senhoras do juri: no h dvida que nmeros mpares so
primos. A evidncia clara: 3 primo, 5 primo, 7 primo, 9 primo, 11
primo, e assim por diante!

UFMG/ICEx/DCC

MD

Conceitos

192

Definio de racional e irracional


Um nmero real r racional inteiros a e b tal que r = a/b e b 6= 0.
Um nmero real que no racional irracional.

UFMG/ICEx/DCC

MD

Conceitos

193

Definio de racional e irracional


Exemplos:
(a) 10/3 racional?
Sim. Quociente de inteiros.
(b) 0.281 racional?
Sim. Nmero na notao decimal que representa 281/1000.
(c) Qualquer nmero representado numa calculadora tradicional racional?
Sim. O display da calculadora finito e por essa razo todos os nmeros
representados so racionais.
(d) 0.121212 . . . racional?
Sim.
Seja x = 0.121212 . . . e 100x = 12.121212 . . ..
100x x = 12.121212 . . . 0.121212 . . .
99x = 12
x = 12/99

UFMG/ICEx/DCC

MD

Conceitos

194

Termos num sistema formal


Axioma ou postuladodo Grego o (xios): Afirmaes que so aceitas
como verdadeiras.
 (lambanein): Afirmao que deve ser provada
Lemado Grego
e que normalmente usada na prova de um teorema.
Teoremado Grego o
(theorein): Afirmao que deve ser provada e
que normalmente o resultado principal.
Um teorema envolvendo as condies suficiente e necessria, ou seja, se
e somente se, chamado de teorema de caracterizao.
Exemplo: Um paralelogramo um retngulo se e somente se um dos seus
ngulos reto.
Corolriodo Latim corollarium: Um teorema que pode ser derivado de
forma natural, imediata ou bvia de um outro teorema onde a prova do teorema derivado praticamente desnecessria.
UFMG/ICEx/DCC

MD

Conceitos

195

Prova direta: Exemplo


Teorema: A soma de dois nmeros racionais um nmero racional.
Prova:
Suponha que r e s sejam dois nmeros racionais.
Deve-se mostrar que r + s racional.
Pela definio de racional, r = a/b e s = c/d para inteiros a, b, c e d com
b 6= 0 e d 6= 0.
Por substituio e lgebra temos que:
a
c
ad + bc
r+s= + =
b
d
bd
Se p = ad + bc e q = bd ento p e q so inteiros porque o conjunto dos
nmeros inteiros fechado para as operaes de + e sendo que q 6= 0.
Logo,
p
,
r+s =
q
ou seja, a soma de r + s um nmero racional. [O que devia ser mostrado.]
UFMG/ICEx/DCC

MD

Conceitos

196

Definies
Sejam n e d inteiros e d 6= 0.
n divisvel por d sse n = d k para algum inteiro k.
Alternativamente, podemos dizer que:
n mltiplo de d, ou
d um fator de n, ou
d um divisor de n, ou
d divide n.
A notao d|n deve ser lida como d divide n. Simbolicamente, se n e d so
inteiros e d 6= 0,
d|n um inteiro k tal que n = d k.

UFMG/ICEx/DCC

MD

Conceitos

197

Prova direta: Transitividade da divisibilidade


Teorema: Para todos inteiros a, b e c, se a divide b e b divide c, ento a divide c.
Prova:
Suponha que a, b e c so inteiros [especficos mas escolhidos arbitrariamente] tais
que a divide b e b divide c.
Deve-se mostrar que a divide c.
Pela definio de divisibilidade, b = a r e c = b s para inteiros r e s.
Por substituio e lgebra temos que:
c = bs
= (a r) s
= a (r s)
Seja k = r s, onde k um nmero inteiro.
Logo,
c = a k,
ou seja, a divide c pela definio de divisibilidade. [O que devia ser mostrado.]
UFMG/ICEx/DCC

MD

Conceitos

198

Prova direta: Divisibilidade e nmeros primos


Teorema: Todo inteiro n > 1 divisvel por um nmero primo.
Prova:
Suponha que n um inteiro [especfico mas escolhido arbitrariamente] maior que 1.
Deve-se mostrar que existe um nmero primo que divide n.
Se n primo ento n divisvel por um nmero primo, ou seja, ele prprio e
a prova chega ao fim. Se n no primo ento n composto, e pela definio
de nmero composto
n = r0 s0, onde r0 e s0 so inteiros, e
1 < r0 < n e 1 < s0 < n.
Pela definio de divisibilidade, r0|n. Se r0 primo, ento r0 um nmero
primo que divide n e a prova chega ao fim. Se r0 no primo ento r0
composto, e pela definio de nmero composto
r0 = r1 s1, onde r1 e s1 so inteiros, e
1 < r1 < r0 e 1 < s 1 < r0 .

UFMG/ICEx/DCC

MD

Conceitos

199

Prova direta: Divisibilidade e nmeros primos


Pela definio de divisibilidade, r1|r0. Mas ns j sabemos que r0|n e pela
transitividade da divisibilidade, r1|n. Se r1 primo, ento r1 um nmero
primo que divide n e a prova chega ao fim. Se r1 no primo ento podemos
continuar o processo acima fatorando r1 como r1 = r2 s2.
Pode-se continuar este processo, obtendo fatores sucessivos de n at se
obter um fator primo. Este processo tem um nmero finito de passos j que
cada novo fator menor que o anterior (que menor que n) e maior que 1, e
existem menos que n inteiros entre 1 e n. Desta forma obtm-se a seqncia:
r0, r1, r2, . . . , rk ,
onde k 0, 1 < rk < rk1 < . . . < r1 < r0 < n e ri|n para cada
i = 0, 1, 2, . . . , k. A condio para trmino que rk seja primo, ou seja, rk
um nmero primo que divide n. [O que devia ser mostrado.]

UFMG/ICEx/DCC

MD

Conceitos

200

Divisibilidade e contra-exemplos
Prove ou disprove a seguinte afirmao:
Para todos inteiros a e b, se a|b e b|a ento a = b.
Soluo:
Suponha que a e b so inteiros [especficos mas escolhidos arbitrariamente] tais
que a|b e b|a.
Pela definio de divisibilidade, as condies b|a e a|b podem ser escritas
como
b = k a e a = l b para inteiros k e l.
Por substituio e lgebra temos que:
b = k a = k (l b) = (k l) b
J que b|a e b 6= 0, tem-se que
1=kl
Em outras palavras, k e l so divisores de 1. Mas os nicos divisores de
1 so 1 e 1. Logo, k e l so ambos 1 ou 1. Se k = l = 1 ento
a = b = 1. Mas se k = l = 1 ento b = a e assim a 6= b.
UFMG/ICEx/DCC

MD

Conceitos

201

Divisibilidade e contra-exemplos
De onde se conclui que a afirmao acima falsa.
Comentrio: em muitos casos a busca por uma prova ajuda a descobrir um
contra-exemplo.

UFMG/ICEx/DCC

MD

Conceitos

202

O teorema da fatorizao nica


Teorema: Dado qualquer inteiro n > 1, existem os seguintes nmeros: um
inteiro positivo k, nmeros primos distintos p1, p2, . . . , pk e inteiros positivos
e1, e2, . . . , ek tal que
e

n = p11 p22 . . . pkk .

Prova: Alm do escopo desta matria.

UFMG/ICEx/DCC

MD

Conceitos

203

O teorema do quocienteresto & Definies


Teorema: Dado qualquer inteiro n e inteiro positivo d, existem inteiros q e r tal
que
n=dq+r
e 0r<d
Definies:
Dado um inteiro no-negativo n e um inteiro positivo d, temos que:
n div dquociente inteiro obtido quando n dividido, por d.
n mod dresto inteiro obtido quando n dividido por d.

UFMG/ICEx/DCC

MD

Conceitos

204

Prova direta geomtrica: Uma soma


Diferentes tcnicas geomtricas podem ser usadas para provar fatos, frmulas
e relaes.
Prove que
P (n) : 1 + 3 + 5 + . . . + (2n 1) = n2
para todos inteiros n 1.
Prova (geomtrica):

UFMG/ICEx/DCC

MD

Conceitos

205

Prova direta geomtrica: Duas somas


Prove que
P (n) : 13 + 23 + 33 + . . . + n3 = (1 + 2 + . . . + n)2
para todos inteiros n 1.
Prova (geomtrica):

UFMG/ICEx/DCC

MD

Conceitos

206

Prova direta geomtrica: rea


!

a b
igual (em valor absoluto) rea
c d
do paralelograma cujos vrtices so (0, 0), (a, b), (c, d) e (a + c, b + d). (Este
o paralelograma baseado nos vetores = (a, b) e = (c, d).) Mostre que a
rea do paralelograma igual a |ad bc|.
O determinante ad bc da matriz

UFMG/ICEx/DCC

MD

Conceitos

207

Prova direta geomtrica: rea (continuao)


Prova (geomtrica): A rea do paralelograma A + B + C + D. A rea do
retngulo maior A+E +F , onde por tringulos congruentes, E = C +D +G
e F = B + C + H. A rea bc do retngulo menor C + G + H. Assim,
geometricamente,
ad bc = (A + E + F ) (C + G + H)
= A + (C + D + G) + (B + C + H) (C + G + H)
= A + B + C + D.

UFMG/ICEx/DCC

MD

Conceitos

208

Diviso em casos: Exemplo I


Teorema: Dois nmeros inteiros consecutivos quaisquer tm paridade (par, mpar) oposta.
Prova:
Suponha que dois inteiros consecutivos [especficos mas escolhidos arbitrariamente]
so dados. Chame esses nmeros de m e m + 1.
Deve-se mostrar que um dos nmeros m e m + 1 par e o outro mpar.
Pela definio de par e mpar, tem-se que ou m par ou m mpar.
Vamos quebrar a prova em dois casos dependendo se m par ou mpar.
Caso 1 (m par): Neste caso, m = 2k para algum inteiro k e, assim, m+1 =
2k + 1, o que mpar [Pela definio de mpar.] Neste caso um dos nmeros m
e m + 1 par e o outro mpar.
Caso 2 (m mpar): Neste caso, m = 2k + 1 para algum inteiro k e, assim,
m + 1 = (2k + 1) + 1 = 2k + 2 = 2(k + 1). Como m + 1 igual ao dobro
de um nmero, ento m + 1 par. Tambm neste caso um dos nmeros m
e m + 1 par e o outro mpar.
Pode-se concluir que independente de qual caso ocorre para valores especficos de m e m + 1 que so escolhidos, um dos nmeros m e m + 1 par e
outro mpar.
UFMG/ICEx/DCC

MD

Conceitos

209

Diviso em casos: Exemplo II


Teorema: O quadrado de qualquer inteiro mpar tem a forma 8m+1 para algum
inteiro m.
Prova:
Suponha que n um inteiro mpar [especfico mas escolhido arbitrariamente]. Pelo
teorema do quocienteresto, n pode ser escrito em uma das seguintes formas:
4q ou 4q + 1 ou 4q + 2 ou 4q + 3,
para algum inteiro q. Como n mpar e 4q e 4q + 2 so pares, n deve ter
uma das duas formas: 4q + 1 ou 4q + 3.

UFMG/ICEx/DCC

MD

Conceitos

210

Diviso em casos: Exemplo II


Caso 1 (n = 4q + 1 ): [Deve-se achar um inteiro m tal que n2 = 8m + 1.] Como
n = 4q + 1,
n2 = (4q + 1)2
= 16q 2 + 8q + 1
= 8(2q 2 + q) + 1
Caso 2 (n = 4q + 3 ): [Deve-se achar um inteiro m tal que n2 = 8m + 1.] Como
n = 4q + 3,
n2 = (4q + 3)2
= 16q 2 + 24q + 9
= 8(2q 2 + 3q + 1) + 1

UFMG/ICEx/DCC

MD

Conceitos

211

Mtodo de prova por contradio: Princpios


1. Suponha que a afirmao a ser provada falsa.
2. Mostre que essa suposio leva logicamente a uma contradio.
3. Conclua que a afirmao a ser provada verdadeira.

UFMG/ICEx/DCC

MD

Conceitos

212

Mtodo de prova por contradio


Teorema: No existe um inteiro que seja o maior de todos.
Prova:
Suponha que no. [Supomos que a negao do teorema seja verdadeira.]
Suponha que exista um inteiro N que seja o maior de todos. [Deve-se deduzir
uma contradio.]

Tem-se ento que N n para cada inteiro n. Seja M = N + 1, que


um inteiro j que a soma de inteiros. Tem-se tambm que M > N j que
M = N + 1.
Logo, M um inteiro que maior que o maior dos inteiros, o que uma
contradio. [Essa contradio mostra que a suposio falsa e, desta forma, o teorema
verdadeiro.]

UFMG/ICEx/DCC

MD

Conceitos

213

Mtodo de prova por contraposio: Princpios


1. Expresse a afirmao a ser provada na forma
x D, se P (x) ento Q(x)
2. Reescreva a afirmao na forma contrapositiva:
x D, se Q(x) ento P (x)
3. Prove o contrapositivo por uma prova direta:
(a) Suponha x um elemento especfico mas escolhido arbitrariamente de
D tal que Q(x) seja F.
(b) Mostre que P (x) F.

UFMG/ICEx/DCC

MD

Conceitos

214

Mtodo de prova por contraposio


Teorema: Dado qualquer inteiro n, se n2 par ento n par.
Prova (pelo contrapositivo):
Seja n um inteiro que no par.
Deve-se mostrar que n2 no par.
Sabe-se que o produto de dois nmeros no pares um nmero que no
par. Desta forma, n2 = n n que no par. [O que devia ser mostrado.]

UFMG/ICEx/DCC

MD

Conceitos

215

Relao entre prova por contradio e prova por


contraposio
Na prova por contraposio a afirmao
x D, se P (x) ento Q(x)
provada apresentando uma prova direta da afirmao equivalente
x D, se Q(x) ento P (x)
Este tipo de prova segue os seguintes passos:
(a) Suponha que x um elemento arbitrrio de D tal que Q(x).
(b) Atravs do raciocnio dedutivo isto leva a
(c) P (x).
A prova por contradio baseada nos seguintes passos:
(a) Suponha que existe um elemento x D tal que P (x) Q(x).
(b) Usando o mesmo raciocnio dedutivo isto leva a
(c) Contradio: P (x) P (x).
UFMG/ICEx/DCC

MD

Conceitos

216

Relao entre prova por contradio e prova por


contraposio: Exemplo
Teorema: Para todo n, se n2 par ento n par.
Prova (por contradio):
Suponha que no.
Suponha que exista um inteiro n tal que n2 par e n mpar. [Deve-se chegar
a uma contradio.]

J que n mpar, n2 que o produto n n tambm mpar.


Isto contradiz a suposio que n2 par. [Logo, a suposio falsa e a suposio]

UFMG/ICEx/DCC

MD

Conceitos

217

Relao entre prova por contradio e prova por


contraposio
Prova por contraposio:
+ fcil saber que concluso deve ser provada: negao da hiptese.
+ No necessrio obter a negao da afirmao.
S pode ser usado para afirmaes com quantificadores existencial ou
universal.
Prova por contradio:
+ A prova termina assim que achada uma contradio.
A negao da afirmao mais complexa.
Pode ser mais difcil achar o caminho da prova.

UFMG/ICEx/DCC

MD

Conceitos

218

Sequncias
Induo Matemtica
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

219

Introduo
Uma das tarefas mais importantes da matemtica descobrir e caracterizar
padres regulares.
Sequncia: estrutura matemtica mais importante para estudar processos
repetidos.
Induo matemtica: ferramenta matemtica mais importante para verificar
conjecturas sobre padres de termos em sequncias.

UFMG/ICEx/DCC

MD

Conceitos

220

sequncias
Exemplo: Nmero de ancestraisUm limite superior
Gerao 1 2 3 4
5
6
7. . .
# ancestrais 2 4 8 16 32 64 128. . .
Mais definies:
Termo: cada elemento de uma sequncia.
Exemplo: a1, a2, a3, . . . , an
ndice ou subscrito: indica a posio do termo na sequncia.
Exemplo: O nmero 3 no termo a3 indica o terceiro elemento da sequncia.
Sequncia finita: possui um conjunto finito de termos.
Sequncia infinita: possui um conjunto infinito de termos.
Exemplo: a1, a2, a3, . . .
Frmula explcita ou frmula geral: a regra que mostra como os valores
de ak podem ser obtidos a partir de k.

UFMG/ICEx/DCC

MD

Conceitos

221

Exemplos de sequncias definidas por frmulas


explcitas
Sejam as sequncias a1, a2, a3, . . . definida pela frmula explcita
k
para inteiros k 1
k+1
e b2, b3, b4, . . . definida pela frmula explcita
ak =

bi =

i1
i

para inteiros i 2

1 = 1 b = 21 = 1
a1 = 1+1
2
2
2
2
2 = 2 b = 31 = 2
a2 = 2+1
3
3
3
3
3 = 3 b = 41 = 3
a3 = 3+1
4
4
4
4
...
...

O que as duas sequncias tm em comum?


So idnticas.
UFMG/ICEx/DCC

MD

Conceitos

222

Exemplos de sequncias definidas por frmulas


explcitas
Sequncia alternante:
Seja a sequncia c0, c1, c2, . . . definida pela frmula explcita
cj = (1)j para inteiros j 0
Essa sequncia possui um conjunto finito de valores: {1, 1}.

UFMG/ICEx/DCC

MD

Conceitos

223

Achando a frmula explcita


A frmula explcita para a sequncia
1,

1
4,

1, 1 ,
9
16

1,
25

...

pode ser
(1)k+1
para inteiros k 1
ak =
2
k
ou
(1)k
ak =
para inteiros k 0
2
(k + 1)

No existe somente uma nica frmula explcita para representar os termos


de uma sequncia.

UFMG/ICEx/DCC

MD

Conceitos

224

Notao para somar termos de uma sequncia


Seja a sequncia
a1, a2, a3, . . . , an
Existem diversas aplicaes em Cincia da Computao onde importante
saber a soma desses termos, ou seja,
a1 + a2 + a3 + . . . + an
Essa soma representada pela seguinte notao:
n
X
k=1

ak = a
+ a2 + a{z3 + . . . + an}
|1
Forma expandida

Joseph-Louis Lagrange (17361813), matemtico francs/italiano. Props o uso


da letra maiscula grega sigma () para representar a soma de termos.

UFMG/ICEx/DCC

MD

Conceitos

225

Exemplos
n
X
(1)k

1
1 1
(1)n
= 1 + + ... +
k+1
2
3 4
n+1
k=0

n
X
2
3
n+1
1
k+1
+
+
+ ... +
=
n
n+1
n+2
2n
n+k
k=0

n
X

k
k+1
1 n+1

)=
k+1 k+2
2 n+2
k=1

Este tipo de soma conhecido como Soma Telescpica.

UFMG/ICEx/DCC

MD

Conceitos

226

Mudana de varivel
Observe que
3
X

k 2 = 1 2 + 22 + 32

k=1

e que
3
X

i2 = 1 2 + 2 2 + 3 2

i=1

Logo,
3
X

k2 =

3
X

i2

i=1

k=1

As variveis k e i so chamadas de dummy.


4
X
j=2
UFMG/ICEx/DCC

3
X

(j 1)2 =

k2

k=1
MD

Conceitos

227

Mudana de varivel
Substitua k + 1 na soma abaixo por j:
6
X

1
k+1
k=0
Passos:
(a) Calcule os novos limites do somatrio:
Para k = 0, j = 1.
Para k = 6, j = 7.
(b) Calcule o termo geral:
Como j = k + 1, ento k = j 1
Logo,
1
1
1
=
=
k+1
(j 1) + 1
j
A soma pode ser reescrita como:
6
X

7
X
1
1
=
k
+
1
j=1 j
k=0
UFMG/ICEx/DCC

MD

Conceitos

228

Notao para multiplicar termos de uma sequncia


Seja a sequncia
a1, a2, a3, . . . , an
Deseja-se saber o produto desses termos, ou seja,
a1 a2 a3 . . . an
Essa multiplicao representada pela seguinte notao:
n
Y

ak

k=1

Exemplos:

5
Y

k = 1 2 3 4 5 = 120

k=1

3
Y

1 2 3
6
k
= =
k+1
2 3 4
24
k=1
UFMG/ICEx/DCC

MD

Conceitos

229

Propriedades de somas e produtos


Se am, am+1, am+2, . . . e bm, bm+1, bm+2, . . . so sequncias de nmeros
reais e c um nmero real qualquer, ento as seguintes equaes so vlidas para qualquer n m:

1.
n
X

ak +

k=m

n
X

bk =

k=m

n
X

(ak + bk )

k=m

2.
c

n
X

ak =

n
X

c ak

k=m

k=m

3.
(

n
Y
k=m

UFMG/ICEx/DCC

ak ) (

n
Y

bk ) =

k=m

MD

Conceitos

n
Y

(ak bk )

k=m

230

Princpio da induo matemtica (fraca)


Seja P (n) um predicado definido para os inteiros n, e seja n0 um inteiro fixo.
Suponha que as duas afirmaes seguintes sejam verdadeiras:

1. P (n0) V.
2. Para todos inteiros k n0,
se P (k) V ento P (k + 1) V.
Logo, a afirmao
para todos inteiros n n0, P (n)
V.

P(n)

n0
UFMG/ICEx/DCC

Inteiros
MD

Conceitos

231

Princpio da induo matemtica


Tcnica aparece pela primeira vez no trabalho do italiano Francesco Maurolico em 1575.
No sculo XVII, Pierre de Fermat e Blaise Pascal usam essa tcnica em seus
trabalhos. Fermat d o nome de mtodo do descendente infinito.
Em 1883, Augustus De Morgan descreve o processo cuidadosamente e d o
nome de induo matemtica.
Tcnica extremamente importante para a Cincia da Computao.
Para visualizar a idia da induo matemtica, imagine uma coleo de domins colocados numa sequncia (formao) de tal forma que a queda do
primeiro domin fora a queda do segundo, que fora a queda do terceiro, e
assim sucessivamente, at todos os domins carem.

UFMG/ICEx/DCC

MD

Conceitos

232

Princpio da induo matemtica (fraca)


A prova de uma afirmao por induo matemtica feita em dois passos:
1. Passo base: provado que P (n0) V para um dado n0 especfico.
2. Passo indutivo: provado que para todos inteiros k n0,
se P (k) V ento P (k + 1) V.
O passo indutivo pode ser escrito formalmente como:
inteiros k n0, se P (k) ento P (k + 1)
Pelo mtodo da generalizao de um elemento especfico genrico, para
provar o passo indutivo deve-se:
supor que P (k) V, onde k um elemento especfico mas escolhido arbitrariamente de tal forma que seja maior ou igual a a.
provar que P (k + 1) V.

UFMG/ICEx/DCC

MD

Conceitos

233

Princpio da induo matemtica (fraca)


Este princpio pode ser expresso pela seguinte regra de inferncia:
[P (n0) k(P (k) P (k + 1))] nP (n).

P(n)

...
P (n 0)

P (k )

P (n 1) P (n 2)

P (k+1)

Inteiros

Numa prova por induo matemtica no assumido que P (k) verdadeiro


para todos os inteiros! mostrado que se for assumido que P (k) verdadeiro, ento P (k + 1) tambm verdadeiro.

UFMG/ICEx/DCC

MD

Conceitos

234

Princpio da induo matemtica (fraca)


Exemplo 1
Prove que
P (n) : 1 + 2 + . . . + n =

n(n + 1)
2

para todos inteiros n 1.


Prova (por induo matemtica):
= 1 e a frmula
1. Passo base: P (n0) = P (1): Para n0 = 1, 1 = 1(1+1)
2
verdadeira para n0 = 1.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).
Suponha que a frmula verdadeira para n = k, i.e.,
k(k + 1)
P (k) : 1 + 2 + . . . + k =
2
para algum inteiro k 1. [hiptese indutiva]
UFMG/ICEx/DCC

MD

Conceitos

235

Princpio da induo matemtica (fraca)


Exemplo 1
Deve-se mostrar que
P (k + 1) : 1 + 2 + . . . + (k + 1) =

(k + 1)(k + 2)
2

Sabe-se que
1 + 2 + . . . + k + (k + 1) =
=
=
=

k(k + 1)
+ (k + 1)
2
k(k + 1)
2(k + 1)
+
2
2
k2 + 3k + 2
2
(k + 1)(k + 2)
2

[Isto era o que devia ser provado.]

UFMG/ICEx/DCC

MD

Conceitos

236

Princpio da induo matemtica (fraca)


Exemplo 2
Prove que
n(n + 2)
P (n) : 0 + 1 + 2 + . . . + n =
2
para todos inteiros n 0.

E RRADO !

Prova (por induo matemtica):


1. Passo base: P (n0) = P (0): Para n0 = 0, 0 = 0(0+2)
= 0 e a frmula
2
verdadeira para n0 = 0.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).
Suponha que a frmula verdadeira para n = k, i.e.,
k(k + 2)
k2 + 2k
P (k) : 0 + 1 + 2 + . . . + k =
=
2
2
para algum inteiro k 0. [hiptese indutiva]
UFMG/ICEx/DCC

MD

Conceitos

237

Princpio da induo matemtica (fraca)


Exemplo 2
Deve-se mostrar que
k2 + 4k + 3
(k + 1)(k + 3)
=
P (k + 1) : 0 + 1 + 2 + . . . + (k + 1) =
2
2
Sabe-se que
k2 + 2k
+ (k + 1)
0 + 1 + 2 + . . . + k + (k + 1) =
2
k2 + 2k + 2(k + 1)
=
2
k2 + 4k + 2
=
2
[Assim, no foi possvel derivar a concluso a partir da hiptese. Isto significa que o predicado
original falso.]

UFMG/ICEx/DCC

MD

Conceitos

238

Princpio da induo matemtica (fraca)


Exemplo 3
Prove que
P (n) :

n
X

rn+1 1
i
r =
r1

i=0

para todos inteiros n 0 e para todos nmeros reais r, r 6= 1.


Prova (por induo matemtica):
0+1 1
r
0
1. Passo base: P (n0) = P (0): Para n0 = 0, r = 1 = r1 = r1
r1 = 1
e a frmula verdadeira para n0 = 0.

2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

239

Princpio da induo matemtica (fraca)


Exemplo 3
k+1 1
Pk
r
i
P (k) : i=0 r = r1 , para k 0. [hiptese indutiva]
k+2 1
Pk+1 i
r
Deve-se mostrar que P (k + 1) : i=0 r = r1

k+1
X

ri =

i=0

k
X

ri + rk+1

i=0
rk+1 1

+ rk+1

r1
rk+1 1
rk+1(r 1)
=
+
r1
r1
rk+1 1 + rk+2 rk+1
=
r1
rk+2 1
=
r1

UFMG/ICEx/DCC

MD

Conceitos

240

Princpio da induo matemtica (fraca)


Exemplo 4
Prove que
P (n) : 22n 1 divisvel por 3,
para n 1.
Prova (por induo matemtica):
1. Passo base: P (n0) = P (1): Para n0 = 1, 221 1 = 3 que divisvel
por 3.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

241

Princpio da induo matemtica (fraca)


Exemplo 4
P (k) : 22k 1 divisvel por 3. [hiptese indutiva]
Deve-se mostrar que P (k + 1) : 22(k+1) 1 divisvel por 3.
22(k+1) 1 = 22k+2 1
= 22k 22 1
= 22k 4 1
= 22k (3 + 1) 1
= 22k 3 + (22k 1)
que divisvel por 3.

UFMG/ICEx/DCC

MD

Conceitos

242

Princpio da induo matemtica (fraca)


Exemplo 5
Prove que
P (n) : 20 + 21 + 22 + . . . + 2n = 2n+1 1,
para n 0.
Prova (por induo matemtica):
1. Passo base: P (n0) = P (0): Para n0 = 20 = 1, 21 1 = 1.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

243

Princpio da induo matemtica (fraca)


Exemplo 5
P (k) : 20 + 21 + 22 + . . . + 2k = 2k+1 1, para k 0. [hiptese indutiva]
Deve-se mostrar que P (k + 1) : 20 + 21 + 22 + . . . + 2k+1 = 2k+2 1
20 + 21 + 22 + . . . + 2k + 2k+1 = (2k+1 1) + 2k+1
= 2 2k+1 1
= 2k+2 1

UFMG/ICEx/DCC

MD

Conceitos

244

Princpio da induo matemtica (fraca)


Exemplo 6
Prove que
P (n) : H2n 1 +

n
,
2

para n 0.
Hj representa o nmero harmnico e definido por:
Hj = 1 +

1
1
1
+ + ... + .
2
3
j

Prova (por induo matemtica):


1. Passo base: P (n0) = P (0):
Para n0 = 0, temos H20 = H1 = 1 1 + 0
2.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).
UFMG/ICEx/DCC

MD

Conceitos

245

Princpio da induo matemtica (fraca)


Exemplo 6
k , para k 0. [hiptese indutiva]
P (k) : H2k 1 + 2
Deve-se mostrar que P (k + 1) : H2k+1 1 + k+1
2
H2k+1

= 1+

1
1
1
1
1
1
+ + ... + k + k
+ k
+ . . . + k+1
2
3
2
2 +1
2 +2
2

[Definio de nmero harmnico.]

= H2k +

1
1
1
+
+
.
.
.
+
2k + 1
2k + 2
2k+1

[Definio de nmero harmnico.]



k
1

1+
+ 2k k+1
2
2
[Hiptese indutiva e existem 2k termos, cada um pelo menos 1/2k+1 .]



k
1
+

1+
2
2

UFMG/ICEx/DCC

1+

k+1
.
2
MD

Conceitos

246

Princpio da induo matemtica (fraca)


Exemplo 7
Seja a sequncia a1, a2, a3, . . . definida como
a1 = 2
ak = 5ak1, k 2
Prove que
P (n) : an = 2 5n1
para n 1.
Prova (por induo matemtica):
1. Passo base: P (n0) = P (1): Para n0 = 1, 2 511 = 2 e a1 = 2. Logo,
a frmula vlida para n = 1.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).
UFMG/ICEx/DCC

MD

Conceitos

247

Princpio da induo matemtica (fraca)


Exemplo 7
P (k) : ak = 2 5k1. [hiptese indutiva]
Deve-se mostrar que P (k + 1) : ak+1 = 2 5(k+1)1 = 2 5k .
ak+1 = 5 a(k+1)1
= 5 ak
= 5 (2 5k1)
= 2 (5 5k1)
= 2 5k

UFMG/ICEx/DCC

MD

Conceitos

248

Princpio da induo matemtica (fraca)


Exemplo 8
Suponha que temos selos de 3 e 5 centavos. Prove que

P (n) : possvel ter qualquer valor de postagem de 8 centavos ou


mais usando somente selos de 3 e 5 centavos.

Prova (por induo matemtica):


1. Passo base: 3 + 5 = 8 e a afirmao vlida.
2. Passo indutivo: se possvel ter uma postagem de k centavos usando apenas selos de 3 e 5 centavos ento possvel ter uma postagem de k + 1
centavos usando apenas selos de 3 e 5 centavos.

UFMG/ICEx/DCC

MD

Conceitos

249

Princpio da induo matemtica (fraca)


Exemplo 8
possvel ter uma postagem de k centavos usando apenas selos de 3 e 5
centavos. [hiptese indutiva]
Deve-se mostrar que possvel ter uma postagem de k + 1 centavos usando
apenas selos de 3 e 5 centavos.

UFMG/ICEx/DCC

MD

Conceitos

250

Princpio da induo matemtica (fraca)


Exemplo 9
Prove que
P (n): 2n + 1 < 2n
para todos os inteiros n 3.
Prova (por induo matemtica):
1. Passo base: P (n0) = P (3). Para n0 = 3,
2 3 + 1 < 23.
Logo, a frmula vlida para n0 = 3.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

251

Princpio da induo matemtica (fraca)


Exemplo 9
P (k): 2k + 1 < 2k , para k 3. [hiptese indutiva]
Deve-se mostrar que P (k + 1): 2(k + 1) + 1 < 2k+1.
2k + 2 + 1 =
(2k + 1) + 2 =
(2k + 1) + 2 < 2k + 2
2(k + 1) + 1

<

2 + 2 < 2k+1

Se puder ser mostrado que 2k + 2 < 2k+1 ento o predicado P (k + 1) verdadeiro.


?

2k + 2 < 2k+1
?

2 < 2k+1 2k
?

2 < 2k (2 1)
?

2 < 2k
1 < 2k1 , que verdade para k 2.
Em particular, a inequao (1 < 2k1 ) vlida para k 3. Assim, P (k + 1) V.

UFMG/ICEx/DCC

MD

Conceitos

252

Princpio da induo matemtica (fraca)


Exemplo 10
Prove que para todos os inteiros n 1
P (n): n3 n divisvel por 3.
Prova (por induo matemtica):
1. Passo base: P (n0) = P (1). Para n0 = 1,
13 1 = 0 divisvel por 3.
Logo, a frmula vlida para n0 = 3.
2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

253

Princpio da induo matemtica (fraca)


Exemplo 10
P (k): k3 k divisvel por 3, para k 1. [hiptese indutiva]
Deve-se mostrar que P (k + 1): (k + 1)3 (k + 1) divisvel por 3, para
k 1.
(k + 1)3 (k + 1) =
(k3 + 3k2 + 3k + 1) (k + 1) =
(k3 k) + 3(k2 + k)
O primeiro termo divisvel por 3 (hiptese indutiva) e o segundo tambm.
Como a soma de dois nmeros divisveis por 3 um nmero divisvel por 3,
ento o predicado P (k + 1) V.

UFMG/ICEx/DCC

MD

Conceitos

254

Princpio da induo matemtica (fraca)


Exemplo 11
Seja um inteiro n 1. Prove que

P (n) : qualquer regio quadrada de tamanho 2n 2n, com um


quadrado removido, pode ser preenchida com peas no formato L,
como mostrado abaixo.

UFMG/ICEx/DCC

MD

Conceitos

255

Princpio da induo matemtica (fraca)


Exemplo 11
Prova (por induo matemtica):
1. Passo base: P (n0) = P (1). P(1) V j que uma regio quadrada de
tamanho 22, com um quadrado removido, pode se preenchida com peas
no formato L, como mostrado abaixo.

2. Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k + 1, i.e., P (k) P (k + 1).

UFMG/ICEx/DCC

MD

Conceitos

256

Princpio da induo matemtica (fraca)


Exemplo 11
P (k): Qualquer regio quadrada de tamanho 2k 2k , com um quadrado removido, pode ser
preenchida com peas no formato L. [hiptese indutiva]
Deve-se mostrar P (k + 1): Qualquer regio quadrada de tamanho 2k+1 2k+1 , com um
quadrado removido, pode ser preenchida com peas no formato L.
Considere uma regio quadrada de tamanho 2k+1 2k+1 , com um quadrado removido. Divida
essa regio em quatro regies de tamanho 2k 2k como mostrado abaixo.

Temos trs regies 2k 2k com nenhum quadrado removido e uma regio 2k 2k com um quadrado removido.
Ou seja, a regio 2k+1 2k+1 possui apenas um quadrado
removido.
Pela hiptese indutiva, a regio 2k 2k , com um quadrado
removido, pode ser preenchida com peas no formato L.
O problema passa a ser como a mesma hiptese indutiva
pode ser aplicada s outras trs regies.

UFMG/ICEx/DCC

MD

Conceitos

257

Princpio da induo matemtica (fraca)


Exemplo 11
Temporariamente remova um quadrado de cada regio 2k 2k que est completa como
mostrado na figura abaixo esquerda.
Pela hiptese indutiva cada uma dessas trs regies 2k 2k pode ser preenchida com peas no
formato L. No entanto, para resolvermos o problema da pea removida em cada uma dessas trs
regies basta colocarmos uma pea L exatamente sobre esses trs buracos como mostrado
na figura abaixo direita.

UFMG/ICEx/DCC

MD

Conceitos

258

Princpio da induo matemtica (fraca)


Exemplo 11
Assim, uma regio quadrada de tamanho 2k+1 2k+1 , com um quadrado removido, pode ser
preenchida com peas no formato L, como mostrado na figura abaixo.

UFMG/ICEx/DCC

MD

Conceitos

259

Princpio da induo matemtica (forte)


Seja P (n) um predicado que definido para inteiros n, e seja a e b inteiros fixos,
sendo a b. Suponha que as duas afirmaes seguintes sejam verdadeiras:
1. P (a), P (a + 1), . . . , P (b) so V. (Passo base)
2. Para qualquer inteiro k b,
se P (i) V para a i < k ento P (k) V, i.e., P (i) P (k).
Logo, a afirmao para todos inteiros n a, P (n) V. (A suposio
que P (i) V para a i < k chamada de hiptese indutiva.)
Passo Base

Inteiros

P (i )
Hipotese Indutiva
UFMG/ICEx/DCC

MD

Conceitos

260

Princpio da induo matemtica (forte)


Exemplo 12
Prove que qualquer inteiro maior que 1 divisvel por um nmero primo.
Prova (por induo matemtica):
1. Passo base: Para n = 2 a propriedade vlida j que 2|2.
2. Passo indutivo: Vamos supor que para todos inteiros i, 2 i < k, i
divisvel por um nmero primo. [hiptese indutiva]
Se a propriedade vlida para 2 i < k, ento vlida para k, ou seja, k
divisvel por um nmero primo [o que deve ser mostrado].
Seja k um inteiro, k > 2. Ou k primo ou k no primo. Se k primo,
ento k divisvel por um primo (ele prprio). Se k no primo ento
k = u v, onde u e v so inteiros tais que 2 u < k e 2 v < k. Pela
hiptese indutiva, u divisvel por um nmero primo p e pela transitividade
da divisibilidade k tambm divisvel por p. Assim, independente se k
primo ou no, k divisvel por um primo.
UFMG/ICEx/DCC

MD

Conceitos

261

Princpio da induo matemtica (forte):


Exemplo 13
Seja a sequncia a1, a2, a3, . . . definida como
a1 = 0
a2 = 2
ak = 3 abk/2c + 2, k 3
Prove que an par, para n 1.
Prova (por induo matemtica):
1. Passo base: Para n = 1 e n = 2 a propriedade vlida j que a1 = 0 e
a2 = 2.
2. Passo indutivo: Vamos supor que ai par para todos inteiros i, 1 i < k.
[hiptese indutiva]

UFMG/ICEx/DCC

MD

Conceitos

262

Princpio da induo matemtica (forte):


Exemplo 13
Se a propriedade vlida para 1 i < k, ento vlida para k, ou seja, ak
par [o que deve ser mostrado].
Pela definio de a1, a2, a3, . . .
ak = 3 abk/2c + 2, k 3
O termo abk/2c par pela hiptese indutiva j que k 3 e 1 bk/2c < k.
Desta forma, 3 abk/2c par e 3 abk/2c + 2 tambm par, o que mostra que
ak par.

UFMG/ICEx/DCC

MD

Conceitos

263

Princpio da ordenao dos inteiros


Princpio: Seja S um conjunto de um ou mais nmeros inteiros que so
maiores que um dado inteiro fixo. Ento S tem um elemento que menor
de todos.
O princpio da ordenao dos inteiros, da induo matemtica fraca e forte
so equivalentes.

UFMG/ICEx/DCC

MD

Conceitos

264

Teoria dos Conjuntos


Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

265

Introduo
O que os seguintes objetos tm em comum?
um grupo de pessoas
um rebanho de animais
um buqu de flores
uma dzia de ovos
Conjunto: coleo de objetos bem definidos, denominados elementos ou
membros do conjunto.
As palavras conjunto e elementos so termos indefinidos da teoria dos
conjuntos.
Teoria dos conjuntos: base do pensamento matemtico.
Todos objetos matemticos podem ser definidos em termos de conjuntos.

UFMG/ICEx/DCC

MD

Conceitos

266

Introduo
Notao:
Seja S um conjunto e a um elemento de S.
a S: a pertence a S
a 6 S: a no pertence a S
Axioma da extenso:
Um conjunto completamente determinado pelos seus elementos.
A ordem na qual os elementos so listados irrelevante.
Elementos podem aparecer mais de uma vez no conjunto.

UFMG/ICEx/DCC

MD

Conceitos

267

Formas de definir um conjunto


Listar seus elementos entre chaves:
{Ana, Roberto, Carlos}
{Roberto, Carlos, Ana}
{Roberto, Roberto, Ana, Carlos, Ana}
Especificar uma propriedade que define um conjunto, como S
{x|P (x)}:
{x Z| 2 < x < 5}
{x R| 2 < x < 5}
P (x) no pode ser uma propriedade qualquer.
Exemplo:
S = {A|A um conjunto e A 6 A}; S S? [Paradoxo de Russel]

Usar
( uma definio recursiva:
1A

se x A e x + 2 < 10, ento x + 2 A


UFMG/ICEx/DCC

MD

Conceitos

268

Formas de definir um conjunto


Usar operaes sobre conjuntos para criar novos conjuntos:
S = {1, 3, 5, 7, 9} P
Especificar uma
( funo caracterstica:
k para x = 1, 3, 5, 7, 9
A(x) =
0 caso contrrio
Nem sempre possvel utilizar todos os tipos de definio:
Exemplo: S = {x R|0 x 1}
No possvel definir S listando os elementos.

UFMG/ICEx/DCC

MD

Conceitos

269

Relaes entre conjuntos: Subconjuntos


Definio: Se A e B so conjuntos, A chamado subconjunto de B, escrito
A B, sse cada elemento de A tambm um elemento de B.
Simbolicamente:
A B x, se x A ento x B.
As frases A est contido em B e B contm A so formas alternativas de
dizer que A um subconjunto de B.

UFMG/ICEx/DCC

MD

Conceitos

270

Relaes entre conjuntos:


Subconjunto prprio
Definio: Se A e B so conjuntos, A subconjunto prprio de B sse cada
elemento de A est em B mas existe pelo menos um elemento de B que no
est em A.
Simbolicamente:
A B A B e A 6= B.

UFMG/ICEx/DCC

MD

Conceitos

271

Relaes entre conjuntos:


Diagramas de Venn
Se os conjuntos A e B forem representados por regies no plano, relaes
entre A e B podem ser representadas por desenhos chamados de Diagramas de Venn.
Exemplo 1: A B.

UFMG/ICEx/DCC

MD

Conceitos

272

Relaes entre conjuntos:


Diagramas de Venn
Exemplo 2: A 6 B.

UFMG/ICEx/DCC

MD

Conceitos

273

Relaes entre conjuntos:


Igualdade
Definio:
Dados os conjuntos A e B, A = B sse cada elemento de A est em B e
cada elemento de B est em A.
Simbolicamente:
A = B A B e B A.

UFMG/ICEx/DCC

MD

Conceitos

274

Operaes sobre conjuntos


Sejam A e B subconjuntos do conjunto universal U .
Unio: A B = {x U |x A ou x B}
Notao: A1 A2 . . . An = n
i=1 Ai
Interseco: A B = {x U |x A e x B}
Notao: A1 A2 . . . An = n
i=1 Ai
Diferena: B A = {x U |x B e x 6 A}
Complemento: Ac = {x U |x 6 A}

UFMG/ICEx/DCC

MD

Conceitos

275

Tuplas ordenadas
Seja n um inteiro positivo e seja x1, x2, . . . , xn uma sequncia de elementos
no necessariamente distintos.
A n-tupla ordenada, (x1, x2, . . . , xn), consiste de:
elementos da sequncia, i.e., x1, x2, . . . , xn, e
a ordem desses elementos na sequncia, i.e., x1 o primeiro elemento, x2
o segundo, etc.
Exemplos:
Uma 2-tupla ordenada chamada de par ordenado.
Uma 3-tupla ordenada chamada de tripla ordenada.
Duas n-tuplas ordenadas (x1, x2, . . ., xn) e (y1, y2, . . ., yn) so iguais sse
xi = yi, para i = 1 . . . n.

UFMG/ICEx/DCC

MD

Conceitos

276

Produto Cartesiano
Dado dois conjuntos A e B, o produto cartesiano de A e B, denotado AB,
o conjunto de todos os pares ordenados (a, b), onde a A e b B.
Notao: A B = {(a, b)|a A e b B}
Dado os conjuntos A1, A2, . . . , An, o produto cartesiano de A1, A2, . . . , An,
denotado A1 A2 . . . An, o conjunto de todas n-tuplas ordenadas
(a1, a2, . . . , an), onde ai Ai para i = 1 . . . n.
Notao:
A1 A2 . . . An =
{(a1, a2, . . . , an)|ai Ai para i = 1 . . . n}

UFMG/ICEx/DCC

MD

Conceitos

277

Propriedades de subconjuntos
Incluso da interseco: para todos conjuntos A e B.
AB A
AB B
Incluso na unio: para todos conjuntos A e B.
AAB
B AB
Propriedade transitiva dos subconjuntos: para todos conjuntos A, B e C.
se A B e B C ento A C

UFMG/ICEx/DCC

MD

Conceitos

278

Identidades de conjuntos
Sejam todos os conjuntos abaixo subconjuntos do conjunto universal U .
Comutatividade:
AB =BA

AB =BA

Associatividade:
(A B) C = A (B C)

(A B) C = A (B C)

Distributividade:
A (B C) =
(A B) (A C)

A (B C) =
(A B) (A C)

Interseco com U:
AU =A
Unio com U:
AU =U
UFMG/ICEx/DCC

MD

Conceitos

279

Identidades de conjuntos
Complemento duplo:
(Ac)c = A
Idempotncia:
AA=A

AA=A

De Morgan:
(A B)c = Ac B c
A (B C) =
(A B) (A C)

(A B)c = Ac B c
A (B C) =
(A B) (A C)

Absoro:
A (A B) = A

A (A B) = A

Representao alternativa para diferena de conjuntos:


A B = A Bc
UFMG/ICEx/DCC

MD

Conceitos

280

Teorema sobre conjunto vazio


Teorema: Um conjunto com nenhum elemento um subconjunto de cada conjunto. Em outras palavras, se um conjunto com nenhum elemento e A um
conjunto qualquer, ento A.

Prova (por contradio):


Suponha que no. Suponha que exista um conjunto com nenhum elemento
e um conjunto A tal que 6 A. [Deve-se deduzir uma contradio.]
Neste caso, deve haver um elemento de que no um elemento de A [pela
definio de subconjunto]. Mas no pode haver tal elemento j que no tem
nenhum elemento. Isto uma contradio.
.
. . A suposio que existem conjuntos e A, onde no tem nenhum elemento
e 6 A F e o teorema V.

UFMG/ICEx/DCC

MD

Conceitos

281

Teorema sobre conjunto vazio


Corolrio: Existe somente um conjunto com nenhum elemento.
Prova:
Suponha que 1 e 2 so conjuntos com nenhum elemento. Pelo teorema
acima, 1 2 j que 1 no tem nenhum elemento. Da mesma forma,
2 1 j que 2 no tem nenhum elemento. Logo, 1 = 2 pela definio
de igualdade de conjuntos.
Definio: o conjunto nico com nenhum elemento chamado de conjunto
vazio e denotado pelo smbolo .

UFMG/ICEx/DCC

MD

Conceitos

282

Propriedades de conjuntos que envolvem


Sejam todos os conjuntos abaixo subconjuntos do conjunto universal U .
Unio com :
A=A
Interseco e unio com o complemento:
A Ac =
A Ac = U
Interseco com :
A=
Complementos de U e :
Uc =

UFMG/ICEx/DCC

c = U

MD

Conceitos

283

Parties de conjuntos
Definio: Dois conjuntos so chamados disjuntos sse eles no tm nenhum
elemento em comum.
Simbolicamente,
A e B so disjuntos A B =
Proposio: Dados dois conjuntos A e B, (A B) e B so disjuntos.
Prova (por contradio):
Suponha que no. Suponha que existam conjuntos A e B tais que (A
B) e B no sejam disjuntos. [Deve-se deduzir uma contradio.]

Neste caso, (A B) B 6= e, desta forma, existe um elemento x em


(A B) B. Pela definio de interseco, x (A B) e x B e j que
que x (A B), pela definio de diferena, x A e x 6 B. Acabou-se
de mostrar que x B e x 6 B, o que uma contradio.

.
. . A suposio que existem conjuntos A e B tais que (A B) e B no so
disjuntos F e a proposio V.
UFMG/ICEx/DCC

MD

Conceitos

284

Parties de conjuntos
Definio (conjuntos mutuamente disjuntos): Conjuntos A1, A2, . . . , An so
mutuamente disjuntos (ou disjuntos par-a-par ou sem sobreposio) sse Ai
Aj para todos i, j = 1, 2, . . . , n e i 6= j, i.e., Ai Bi = .
Definio (partio): Uma coleo de conjuntos no vazios {A1, A2, . . ., An}
uma partio do conjunto A sse
1. A = A1 A2 . . . An
2. A1, A2, . . . , An so mutuamente disjuntos

UFMG/ICEx/DCC

MD

Conceitos

285

Conjunto potncia
Definio (conjunto potncia): Dado um conjunto A, o conjunto potncia de
A, denotado por P(A), o conjunto de todos os subconjuntos de A.
Ache o conjunto potncia do conjunto {x, y}.
P({x, y}) = {, {x}, {y}, {x, y}}.
Teorema: Para todos conjuntos A e B, se A B ento P(A) P(B).
Prova:
Suponha que A e B so conjuntos tais que A B. [Deve-se mostrar que
P(A) P(B)].

Suponha que X P(A). [Deve-se mostrar que X P(B)]. J que


X P(A) ento X A pela definio de conjunto potncia. Mas como
A B, temos que X B pela propriedade transitiva dos subconjuntos.
Conclui-se ento que X P(B) [o que devia ser mostrado].

.
. . P(A) P(B) pela definio de subconjunto.
UFMG/ICEx/DCC

MD

Conceitos

286

Conjunto potncia
Teorema: Para todos inteiros n 0, se um conjunto X tem n elementos ento
P(X) tem 2n elementos.

Prova (por induo matemtica): Considere a propriedade Qualquer conjunto


com n elementos tem 2n elementos.
Passo base: Para n = 0 tem-se 20 = 1 subconjunto. O nico conjunto com
zero elementos o conjunto vazio que s tem um subconjunto que ele prprio.
Logo, a propriedade verdadeira para n = 0.

UFMG/ICEx/DCC

MD

Conceitos

287

Conjunto potncia
Passo indutivo: se a frmula verdadeira para n = k ento deve ser verdadeira para n = k+1.
(a) Seja k 0 e suponha que qualquer conjunto com k elementos tem 2k subconjuntos.
[hiptese indutiva]
(b) Deve-se mostrar que qualquer conjunto com k + 1 elementos tem 2k+1 subconjuntos.

Seja X um conjunto com k + 1 elementos e escolha um elemento z em X.


Observe que qualquer subconjunto de X ou contm z ou no contm.
Alm disso, qualquer subconjunto de X que no contm z um subconjunto de X {z}.
E qualquer subconjunto A de X {z} pode ser associado com um subconjunto B, igual
a A {z}, de X que contm z.
Conseqentemente, existem tantos subconjuntos de X que contm z como os que no
contm, e assim existem duas vezes tantos subconjuntos de X quanto existem subconjuntos de X {z}.
Mas como X {z} tem k elementos e como o nmero de subconjuntos de X {z}
2k temos que o nmero de subconjuntos de X duas vezes o nmero de subconjuntos
de X {z}, ou seja, 2 2k = 2k+1 . [O que devia ser provado]

UFMG/ICEx/DCC

MD

Conceitos

288

Funes
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

289

Sumrio
Introduo
Sequncia como funo
Funo como codificao/decodificao de bits
Autmato finito
Funo injetiva e funo hash
Funes sobrejetiva, bijetiva e inversa
Princpio da casa de pombo
Composio de funes
Funo de complexidade
UFMG/ICEx/DCC

MD

Conceitos

290

Introduo
Sejam dois conjuntos A e B. Suponha que cada elemento de A possa ser
associado a um elemento especfico de B. A relao entre elementos de A e
B chamada de funo.
Funes so normalmente representadas por uma nica letra como, por exemplo, f , g, h, F , G. Funes especiais so denotadas por strings, como
log, exp e sin.

UFMG/ICEx/DCC

MD

Conceitos

291

Introduo
Definio: A funo f de um conjunto X para um conjunto Y uma relao entre elementos de X e elementos de Y com a propriedade que cada
elemento de X est relacionado a um nico elemento de Y .
A notao f : X Y significa que f uma funo de X para Y .
O conjunto X chamado de domnio e o conjunto Y de co-domnio.
Faixa de f ou imagem de X para f : conjunto de todos os valores que f
pode assumir:
Faixa de f : {y Y |y = f (x), para algum x X}
Imagem inversa de y = {x X|f (x) = y}
Implicao:
Cada elemento de X pode ser associado a um e somente um elemento
de Y .

UFMG/ICEx/DCC

MD

Conceitos

292

Introduo
Sejam os conjuntos finitos X e Y definidos da seguinte forma: X = {a, b, c}
e Y = {1, 2, 3, 4}. A funo f : X Y pode ser definida por um diagrama,
como por exemplo:
Domnio de f = {a, b, c};
Co-domnio de f = {1, 2, 3, 4}.
f (a) = 2; f (b) = 4; f (c) = 2.
Faixa de f = {2, 4}.

f
a
b
c

1
2
3
4

Imagem inversa de 1 = ;
Imagem inversa de 2 = {a, c};
Imagem inversa de 3 = ;
Imagem inversa de 4 = {b};
A funo f representada como um conjunto de
pares ordenados = {(a, 2), (b, 4), (c, 2)}.

UFMG/ICEx/DCC

MD

Conceitos

293

Introduo
Exemplos de funes:
f : x x2.
f : R R a funo quadrado.
f : n n + 1.
f : Z Z a funo sucessor.
f : r 2.
f : Q N a funo constante.
Definio (Igualdade de funes): Sejam f e g funes definidas de X em Y .
Ento,
f = g, sse f (x) = g(x), x X.

UFMG/ICEx/DCC

MD

Conceitos

294

Introduo
Exemplos:
Sejam f e g funes definidas
para todo x R.
f = g?
(a) f (x) = |x|
e g(x) = x2.
Sim. |x| = x2, x R.
(b) Sejam as funes
f +g : RR e
g+f : RR
definidas como:
(f + g)(x) = f (x) + g(x),
(g + f )(x) = g(x) + f (x),

x R e
x R.

f + g = g + f?
(f + g)(x) = f (x) + g(x)
= g(x) + f (x)
= (g + f )(x)

UFMG/ICEx/DCC

MD

Conceitos

definio de f + g
comutatividade da adio
definio de g + f

295

Sequncias como funes


Uma sequncia uma funo definida no conjunto dos inteiros a partir de um
valor especfico.
Por exemplo, a sequncia
1,

1,
3

1
2,

(1)n
1
4 , . . . , n+1 , . . .

pode ser definida como uma funo f dos inteiros no-negativos para os
nmeros reais, isto ,
0

1
2

2
...

1
3

Formalmente, f : Z0 R, onde
(1)n
f (n) =
n+1

n
n (1)
n+1

UFMG/ICEx/DCC

MD

Conceitos

296

Sequncias como funes


A funo que define essa sequncia nica?
No. Por exemplo, f : N R, onde
(1)n+1
f (n) =
n

UFMG/ICEx/DCC

MD

Conceitos

297

Funes de codificao/decodificao de bits


Mensagens transmitidas atravs de canais de comunicao so freqentemente codificadas de formas especiais para reduzir a possibilidade de serem
corrompidas devido interferncia de rudos nas linhas de transmisso.
Uma possvel forma de codificao repetir cada bit trs vezes. Assim, a
mensagem
00101111
seria codificada como
000000111000111111111111

UFMG/ICEx/DCC

MD

Conceitos

298

Funes de codificao/decodificao de bits


Seja = {0, 1}. o conjunto de todos os strings que podem ser formados com 0 e 1. Seja L o conjunto de todos os strings formados de que
possuem triplas de bits idnticos.
Funo de codificao:
E : L, onde E(s) o string obtido de s trocando cada bit de s pelo
mesmo bit repetido trs vezes.
Funo de decodificao:
D : L , onde D(t) o string obtido de t trocando cada trs bits consecutivos idnticos de t por uma nica cpia desse bit.
Qual a capacidade de correo deste mtodo?
Um bit trocado em cada tripla de bits idnticos enviados pela origem.

UFMG/ICEx/DCC

MD

Conceitos

299

Funo da distncia de Hamming


A funo da distncia de Hamming usada em Teoria da Informao. Essa
funo fornece o nmero de bits que dois strings de tamanho n diferem posio a posio.
Seja = {0, 1} e n o conjunto de todos os strings de tamanho n. A funo
H : n n Z+ definida da seguinte forma:
Para cada par de strings (s, t) n n, H(s, t) o nmero de
posies nos quais s e t tm valores diferentes.
Exemplo:
Seja n = 5.
H(11000, 00000) = 2
H(11111, 00000) = 5
H(10001, 01111) = 4

UFMG/ICEx/DCC

MD

Conceitos

300

Funes booleanas
Definio: Uma funo Booleana f uma funo cujo domnio o conjunto
de todas n-tuplas ordenadas de 0s e 1s e cujo co-domnio {0, 1}.
Formalmente, o domnio de uma funo Booleana pode ser descrito como o
produto Cartesiano de n cpias do conjunto {0, 1}, que representado por
{0, 1}n. Logo,
f : {0, 1}n {0, 1}.

Que tipo de circuito lgico definido por este tipo de funo?


Circuito combinatrio, onde o valor da sada s depende dos valores da
entrada.

UFMG/ICEx/DCC

MD

Conceitos

301

Funes booleanas
Exemplo: f (x1, x2, x3) = (x1 + x2 + x3) mod 2
Entrada

UFMG/ICEx/DCC

Sada

x1

x2

x3

(x1 + x2 + x3) mod 2

MD

Conceitos

302

Verificando se uma funo bem-definida


Seja uma funo f definida do conjunto dos racionais para o conjunto dos
inteiros, ou seja, f : Q Z, sendo que
m
m, inteiros m, n e n 6= 0
f :
n
A funo f bem-definida?
No.
1 = 3
2
6
.
3)
. . f (1
)
=
f
(
2
6

Mas,
1) = 1
f (2

f (3
6) = 3

.
3)
. . f (1
)
=
6
f
(
2
6

UFMG/ICEx/DCC

MD

Conceitos

303

Funo Estado
Os problemas em Cincia da Computao podem ser vistos, de uma forma
geral, conforme o diagrama abaixo:
Sada 1 -

Entrada 1-

...
Entrada n-

Modelo
Computacional
do Problema

...
Sada m -

Em muitos casos, os valores das sadas dependem no somente dos valores


da entrada, mas tambm do estado corrente do sistema. Neste caso, a sada
no pode ser representada por uma funo somente da entrada.
Alguns dos sistemas onde isso ocorre freqentemente so:
Sistemas reativos
Sistemas concorrentes
Sistemas distribudos
Sistemas digitais
UFMG/ICEx/DCC

MD

Conceitos

304

Autmato finito
Um autmato finito (AF), em ingls
Finite Automaton ou
Finite State Automaton ou
Finite State Machine
um modelo matemtico de um sistema que possui entradas e sadas discretas.
O sistema pode estar num estado dentre um conjunto finito de estados ou
configuraes.
O estado do sistema sumariza a informao relacionada com entradas passadas que necessria para determinar o comportamento do sistema em
entradas subseqentes.

UFMG/ICEx/DCC

MD

Conceitos

305

Autmato finito
Exemplo: O mecanismo de controle de um elevador no precisa lembrar
todas as requisies anteriores de servio, mas somente o andar corrente, a
direo de movimento e as requisies pendentes.
Computador digital: pode ser modelado por um autmato finito.
Exemplo: mquina de doce que custa 20 centavos e aceita moedas de 5 e 10
centavos
10

5 Dep
5

0 Dep

15 Dep

10

10
10 Dep

UFMG/ICEx/DCC

MD

10

Conceitos

20 Dep

306

Autmato finito
Definio: um autmato finito uma quintupla A = (I, S, s0, Q, N ), onde
I: alfabeto de entrada para o autmato, ou seja, conjunto de smbolos vlidos.
S: conjunto de estados do autmato.
s0: estado inicial do autmato, onde s0 S.
Q: conjunto de estados finais, onde Q S.
N : funo de transio ou de prximo estado, onde N : S I S.
Observao importante: essa definio define um autmato determinstico.

UFMG/ICEx/DCC

MD

Conceitos

307

Autmato finito
Seja um autmato A = (I, S, s0, Q, N ), onde
I = {0, 1}
S = {s0, s1, s2}
s0 = estado inicial do autmato, onde s0 S.
Q = {s2}, onde Q S.
N = {(s0, 0, s1), (s0, 1, s0), (s1, 0, s1), (s1, 1, s2), (s2, 0, s1), (s2, 1, s0)}.
A operao de um autmato finito normalmente descrito por um diagrama
de transio de estados.
1

s0

s1
0

UFMG/ICEx/DCC

MD

Conceitos

s2

308

Autmato finito
Uma outra forma de representar a operao do autmato (funo de prximo
estado N ) atravs da tabela do prximo estado.

hInicial i

Estado
hFinal i

s0
s1
s2

Entrada
0
1
s1 s0
s1 s2
s1 s0
1

s0

s1
0

UFMG/ICEx/DCC

MD

Conceitos

s2

309

Autmato finito com sada


Uma limitao do autmato finito apresentado que a sada restrita a um
sinal binrio SIM / NO que indica se a entrada aceita ou no, respectivamente.
Existem dois modelos que consideram um alfabeto de sada diferente de
sim/no (os dois modelos so equivalentes):
Mquina de Moore (Moore machine)
Mquina de Mealy (Mealy machine)
Mquina de Moore:
uma sxtupla (I, S, s0, N, , ), onde I, S, s0 e N so como antes.
o alfabeto de sada para o autmato e a funo de sada, onde : S
.
Sada associada com o estado.
Mquina de Mealy:
uma sxtupla (I, S, s0, N, , ), onde todos os elementos da tupla so
idnticos aos da Mquina de Moore exceto que definida de S I .
Sada associada com a transio.
UFMG/ICEx/DCC

MD

Conceitos

310

Linguagem aceita por um autmato


Definio: Seja A um AF com alfabeto de entrada I. Seja I o conjunto de
todos os strings sobre I e seja w um string em I . Diz-se que w aceito
por A sse A comea no estado inicial e aps todos os smbolos de w serem
fornecidos em sequncia para A, o autmato pra num estado final.
A linguagem aceita por A, representada por L(A), o conjunto de todos os
strings aceitos por A.
L(A) chamada de linguagem regular, e A representa um autmato que
aceita uma expresso regular.
Qual a linguagem aceita por A?
1

s0

s1
0

s2

Todos os strings que terminam com a sequncia 0 1, i.e., (0 1)0 1 ,


onde o sobrescrito significa a ocorrncia de 0 ou mais vezes do smbolo
ou seqencia em questo.
UFMG/ICEx/DCC

MD

Conceitos

311

Funo do estado final


Suponha que um autmato esteja num estadono necessariamente o
iniciale recebe uma sequncia de smbolos. Em que estado o autmato
terminar?
Depende da combinao de smbolos de entrada e estados, e dado pela
funo do estado final.
Definio: Seja A um autmato e I definidos como antes e seja a funo do
estado final N : S I S. Se s S e w I ento N (s, w) o estado
para o qual o autnomo pra quando todos os smbolos de w so fornecidos
em sequncia para A a partir do estado s.

UFMG/ICEx/DCC

MD

Conceitos

312

Funo do estado final


Exemplo: dado o autmato abaixo, determine N (s1, 10110)
1

s0

s1

s2

s1 s 2 s1 s2 s0 s1
ou seja,
N (s1, 10110) = s1.

UFMG/ICEx/DCC

MD

Conceitos

313

Projetando um AF que aceita uma linguagem


Projete um AF para aceitar strings de 0s e 1s que contm exatamente um
nico 1.
0
s0

0,1

0
1

s1

0*

0*10*

s2
0*11(0*1*)*

Estado vlido

Projete um AF para aceitar strings de 0s e 1s para os quais o nmero de 1s


divisvel por 3.
0

0
1

s0

s1

1
s2

Linguagem aceita: 0(101010)


UFMG/ICEx/DCC

MD

Conceitos

314

Implementando um AF atravs de um programa


1
1
s0

s1

s2

s3

Seja o autmato ao lado que reconhece todos os strings que terminam


em 011.
Um possvel algoritmo em alto nvel
que imita o funcionamento do autmato :

E XECUTA AUTMATO(A)
1
2
3
4
5
6
7
8
9
10

state 0
symbol primeiro smbolo do string de entrada
while symbol 6=
do choose state of
0: if symbol = 0 then state 1 else state 0
1: if symbol = 0 then state 1 else state 2
2: if symbol = 0 then state 1 else state 3
3: if symbol = 0 then state 1 else state 0
symbol prximo smbolo do string de entrada
return state  O estado final 3 sse o string termina em 011

UFMG/ICEx/DCC

MD

Conceitos

315

Implementando um AF atravs de um programa


Um outro possvel algoritmo em alto nvel que imita o funcionamento do autmato e usa a funo do prximo estado :
E XECUTA AUTMATO(A)
1 state 0
 Para cada linha abaixo ser atribudo a cada coluna o valor correspondente
2 N [0, ] [1, 0]
3 N [1, ] [1, 2]
4 N [2, ] [1, 3]
5 N [3, ] [1, 0]
6 symbol primeiro smbolo do string de entrada
7 while symbol 6=
8 do state N [state, symbol]
9
symbol prximo smbolo do string de entrada
10 return state  O estado final 3 sse o string termina em 011

UFMG/ICEx/DCC

MD

Conceitos

316

Funo injetiva
Definio: Seja F : X Y . F uma funo um-para-um ou injetiva sse
para todos x1, x2 X,
se F (x1) = F (x2) ento x1 = x2,
ou
se x1 6= x2 ento F (x1) 6= F (x2)

UFMG/ICEx/DCC

MD

Conceitos

317

Funo injetiva: Aplicao funo hash


Motivao: suponha que deseja-se procurar (pesquisar) o mais rpido possvel alguns valores (chaves) que no esto ordenados. Uma possvel soluo definir uma funo que usa a prpria chave para saber a sua localizao
no conjunto de valores.
Esta funo conhecida como funo hash.
Objetivo ideal: funo hash seja injetiva para que no haja colises de
chaves.
Para tornar este mtodo aceitvel temos que resolver dois problemas:
(i) Encontrar uma funo h(k) que possa espalhar as chaves de forma uniforme pela tabela.
(ii) Encontrar um mecanismo para resolver o problema de localizar um registro com chave k entre aquelas cujas chaves colidem na mesma entrada
da tabela.

UFMG/ICEx/DCC

MD

Conceitos

318

Funo hash
Por melhor que seja a funo h(k) e por mais esparsa que seja a ocupao
da tabela colises ocorrem!
Paradoxo do aniversrio:
Quando 23 ou mais pessoas esto juntas existe mais de 50% de chance
que duas pessoas tenham a mesma data de aniversrio.
Logo, uma tabela com 365 entradas e com 23 chaves ou mais, cujos endereos so calculados como se fossem uniformes e randmicos, mais da
metade das vezes, duas ou mais chaves vo ter o mesmo endereo na
tabela.

UFMG/ICEx/DCC

MD

Conceitos

319

Funo hash
Uma funo de transformao deve mapear chaves em inteiros (ndices) dentro do intervalo [0..M 1] onde M o tamanho da tabela.
A funo de transformao ideal aquela que:
1. Seja simples de ser computada, e
2. Para cada chave de entrada, qualquer uma das sadas possveis igualmente provvel de ocorrer.
Mtodo mais usado:
Usa o resto da diviso inteira por M :
h(k) = k mod M
onde k um inteiro correspondente chave e que representa um ndice na
tabela.

UFMG/ICEx/DCC

MD

Conceitos

320

Exemplo de funo hash


Seja a i-sima letra do alfabeto representada pelo nmero i, onde A = 1, . . ..
Seja a funo hash
h(k) = k mod M
onde M = 7.
A insero das chaves L, U, N, E, S, nesta ordem, fornece os seguintes valores:
h(L) = 12 mod 7 = 5
h(U) = 21 mod 7 = 0
h(N) = 14 mod 7 = 0
h(E) = 5 mod 7 = 5
h(S) = 19 mod 7 = 5
Uma possvel insero na tabela seria:

UFMG/ICEx/DCC

MD

Conceitos

321

Exemplo de funo hash


Transformao de chaves no numricas em nmeros:
k=

n
X

Chave[i] p[i],

i=1

onde
n o nmero de caracteres da chave;
Chave[i] corresponde representao ASCII do i-simo caractere da
chave;
p[i] um inteiro de um conjunto de pesos gerados randomicamente para
1 i n.
Vantagem em usar pesos:
Dois conjuntos diferentes de pesos p1[i] e p2[i], 1 i n, leva a duas
funes de transformao h1(k) e h2(k) diferentes.

UFMG/ICEx/DCC

MD

Conceitos

322

Funo hash perfeita


Se h(ki) = h(kj ) sse i = j, ento no h colises, e a funo de transformao chamada de funo de transformao perfeita ou funo hash
perfeita (hp).
Se o nmero de chaves N e o tamanho da tabela M so iguais ento temos
uma funo de transformao perfeita mnima.
Se ki kj e h(ki) h(kj ), ento a ordem lexicogrfica preservada.
Neste caso, temos uma funo de transformao perfeita mnima com ordem
preservada.

UFMG/ICEx/DCC

MD

Conceitos

323

Funo hash perfeita: Comentrios


No h necessidade de armazenar a chave, pois o registro localizado sempre a partir do resultado da funo de transformao.
Uma funo de transformao perfeita especfica para um conjunto de
chaves conhecido.

UFMG/ICEx/DCC

MD

Conceitos

324

Funes sobrejetiva, bijetiva e inversa


Definio (funo sobrejetiva):
Seja F : X Y . F uma funo sobrejetiva sse para todo y Y possvel
achar um x X tal que F (x) = y.

Definio (funo bijetiva):


Seja F : X Y . F uma funo bijetiva sse F injetiva e sobrejetiva.

Definio (funo inversa):


Seja F : X Y uma funo bijetiva. Existe uma funo F 1 : Y X tal
que
F 1(y) = x y = F (x)

UFMG/ICEx/DCC

MD

Conceitos

325

O princpio da Casa de Pombo ou


The Pigeonhole Principle
Princpio (1a verso):
Se n pombos (pigeons) entram em m casas num
pombal (pigeonholes) e n > m, ento pelo menos
uma das casas deve conter dois ou mais pombos.

UFMG/ICEx/DCC

MD

Conceitos

Peter Dirichlet (18051859), matemtico


alemo.
Foi o
primeiro a expressar
esse princpio em
1834, que tem importantes aplicaes em teoria dos
nmeros.

326

O princpio da Casa de Pombo ou


The Pigeonhole Principle
Princpio (2 a verso):
Uma funo definida de um conjunto finito para outro conjunto finito menor
no pode ser injetiva. Existem pelo menos dois elementos no domnio que
tm a mesma imagem no co-domnio.
Aplicaes deste princpio esto por toda parte em Cincia da Computao.
Exemplo: funo hash em pesquisa e criptografia.

UFMG/ICEx/DCC

MD

Conceitos

327

O princpio da Casa de Pombo: Exemplos


Num grupo de seis pessoas, existem obrigatoriamente pelo menos duas que
nasceram no mesmo ms?
No.
E se considerarmos 13 pessoas?
Sim.
Existem pelo menos duas pessoas em BH que tm o mesmo nmero de fios
de cabelo?
Sim, j que a populao de BH superior a 2 milhes de habitantes e
sabe-se que uma pessoa tem no mximo 300 mil fios de cabelo.
Voc acaba de acordar, mas ainda no abriu os olhos, e abre uma gaveta de
meias que tem cinco pares de meias verde-limo e cinco amarelo-ouro. Qual
o nmero mnimo de meias que voc deve pegar para ter um par da mesma
cor?
Trs. Duas podem ser diferentes mas a terceira tem que ser obrigatoriamente de uma das duas cores e assim tem-se um par.
UFMG/ICEx/DCC

MD

Conceitos

328

O princpio da Casa de Pombo: Exemplos


Seja um tringulo equiltero com lado igual a 1. Se cinco pontos so selecionados no interior do tringulo ento existe um par de pontos que est a
uma distncia menor que 1/2?
Sim. Basta dividir o tringulo em quatro tringulos equilteros com lado
igual a 1/2.
Seja A = {1, 2, 3, 4, 5, 6, 7, 8}. Se cinco inteiros so selecionados de A,
existe pelo menos um par de nmeros cuja soma 9?
Sim. Existem quatro pares que tm soma 9: {1, 8}, {2, 7}, {3, 6}, {4, 5}.
Logo, pode-se selecionar quatro nmeros, cada um num conjunto. Como o
quinto cair em um dos quatro ento tem-se a soma 9.
E se selecionarmos apenas quatro nmeros?
No.

UFMG/ICEx/DCC

MD

Conceitos

329

O princpio da Casa de Pombo: Exemplos


Seja S um conjunto com cinco nmeros inteiros positivos (Z+) e distintos cujo
maior nmero 8. Prove que existem pelo menos duas somas iguais dos nmeros dos subconjuntos no-vazios de S.
Prova:
Seja sA a soma dos nmeros de um subconjunto no-vazio de S.
Qualquer subconjunto de S pode ter no mximo uma soma
sA 4 + 5 + 6 + 7 + 8 = 30
(Caso A tenha os maiores nmeros e considerando o subconjunto com todos eles)

e no mnimo uma soma de


sA 1.
(Caso A tenha o nmero 1 e considerando o subconjunto com ele apenas)

i.e.,
1 sA 30.
UFMG/ICEx/DCC

MD

Conceitos

330

O princpio da Casa de Pombo: Exemplos


S possui 25 1 = 31 subconjuntos no-vazios.
(Lembre-se que o conjunto potncia de um conjunto de n elementos possui 2n elementos
incluindo um elemento que o conjunto vazio.)
Existem 30 pigeonholes, ou seja, qualquer soma desses subconjuntos est
entre 1 e 30.
Alm disso, existem 31 conjuntos (pigeons), que devem ter somas entre 1 e
30.
Assim, pelo princpio da Casa de Pombo existem pelo menos dois subconjuntos que tm a mesma soma.

UFMG/ICEx/DCC

MD

Conceitos

331

O princpio da Casa de Pombo: Exemplos


Seja L a linguagem que consiste de todos os strings da forma ak bk , onde k um
inteiro positivo. Simbolicamente, L a linguagem sobre o alfabeto = {a, b}
definida por
L = {s |s = ak bk , k 1}.
Prove que no existe um autmato finito que aceita L.

UFMG/ICEx/DCC

MD

Conceitos

332

O princpio da Casa de Pombo: Exemplos


Prova (por contradio):
Suponha que exista um autmato finito A que aceita L.
A tem um conjunto finito de estados s1, s2, . . . , sn, onde n um inteiro
positivo.
Considere agora os strings que comeam com a, a2, a3, a4, . . . . No entanto,
existem infinitos strings que comeam com a e um nmero finito de estados.
Logo, pelo princpio da Casa de Pombo existe um estado sm (estado que
conta as), com m n, e dois strings de entrada ap e aq , onde ou p ou q
maior que n e os dois strings so relacionados com esse estado.
Isto significa que depois de entrar com p as, o estado do autmato sm e
entrando com p bs o autmato vai para o estado final sm.
Mas isso tambm implica que aq bp vai para o estado final j que aq tambm
pra em sm antes de entrar com os bs.
Por suposio, A aceita L. J que s aceito por A, s L. Mas pela definio
de L, L consiste apenas dos strings que tm o mesmo nmero de as e bs e
j que p 6= q, s 6 L. Logo, tem-se que s L e s 6 L, que uma contradio.
A suposio falsa e no existe um autmato que aceita L.
UFMG/ICEx/DCC

MD

Conceitos

333

Generalizao do princpio
Princpio (3 a verso):
Para qualquer funo f , definida de um conjunto finito X para um conjunto
finito Y e para qualquer inteiro positivo k, se |X| > k |Y |, ento existe
algum y Y tal que y a imagem de pelo menos k + 1 elementos distintos
de X.
Princpio (4 a versocontrapositivo):
Para qualquer funo f , definida de um conjunto finito X para um conjunto
finito Y e para qualquer inteiro positivo k, se para cada y Y , f 1(y) tem
no mximo k elementos ento X tem no mximo k |Y | elementos.

UFMG/ICEx/DCC

MD

Conceitos

334

Generalizao do princpio
Use a generalizao do princpio da Casa de Pombo para mostrar que num
grupo de 85 pessoas, a primeira letra dos nomes de pelo menos quatro pessoas a mesma.
85 > 3 26 = 78. Logo, a letra inicial dos nomes de pelo menos quatro
pessoas a mesma.
O mesmo resultado pode ser dado usando a forma contrapositiva e a negao.
Suponha que no existam quatro pessoas que tm a mesma letra inicial no
primeiro nome. Assim, no mximo trs pessoas tm a mesma letra. Pela
forma contrapositiva da generalizao do princpio da Casa de Pombo isto
implica num total de 3 26 = 78 pessoas. Mas isto uma contradio pois
existem 85 pessoas. Logo, pelo menos quatro pessoas tm a mesma letra
inicial no primeiro nome.

UFMG/ICEx/DCC

MD

Conceitos

335

Princpio da Casa de Pombo


Definio (conjunto finito): Um conjunto X finito sse o conjunto vazio ou
existe uma correspondncia um-para-um do conjunto {1, 2, . . . , n} para X,
onde n um inteiro positivo. No primeiro caso, o nmero de elementos zero
e no segundo caso n. Um conjunto que no finito chamado de infinito.
Teorema (O princpio da Casa de Pombo):
Para qualquer funo f de um conjunto finito X para um conjunto finito Y , se
a cardinalidade de X maior que a de Y ento f no injetiva.
Teorema:
Sejam X e Y conjuntos finitos com o mesmo nmero de elementos e suponha
que f uma funo de X para Y . Ento f injetiva sse f sobrejetiva. (f
uma funo sobrejetiva sse para todo y Y possvel achar um x X tal que f (x) = y.)

UFMG/ICEx/DCC

MD

Conceitos

336

Composio de funes
Definio (composio de funes): Sejam f : X Y 0 e g : Y Z funes
com a propriedade que a faixa de f um subconjunto do domnio de g, i.e.,
Y 0 Y . Defina uma nova funo g f : X Z da seguinte forma:
(g f )(x) = g(f (x)), x X.
A funo g f chamada de composio de f e g.
Exemplo:
f : Z Z, f (n) = n + 1.
g : Z Z, g(n) = n2.
?

f g = g f.
(g f )(n) = g(f (n)) = g(n + 1) = (n + 1)2, n Z
(f g)(n) = f (g(n)) = f (n2) = n2 + 1, n Z
.
. . f g 6= g f.
UFMG/ICEx/DCC

MD

Conceitos

337

Composio com a funo identidade


f ix = f (ix) = f (x),
onde ix a funo identidade.
ix f = ix(f (x)) = f (x),
onde ix a funo identidade.
Teorema:
Se f uma funo de X para Y , e ix a funo identidade em X e iy a
funo identidade em Y , ento
f ix = f
iy f = f
Teorema:
Se f : X Y uma funo bijetiva com funo inversa f 1 : Y X,
ento
f 1 f = ix
f f 1 = iy
UFMG/ICEx/DCC

MD

Conceitos

338

Composio de funo injetiva e funo


sobrejetiva
Teorema:
Se f : X Y e g : Y Z so funes injetiva, ento g f injetiva.
Teorema:
Se f : X Y e g : Y Z so funes sobrejetiva, ento g f sobrejetiva.

UFMG/ICEx/DCC

MD

Conceitos

339

Cardinalidade de conjuntos
Definio (mesma cardinalidade): Sejam A e B quaisquer conjuntos. A tem
a mesma cardinalidade de B sse existe uma correspondncia um-para-um
de A para B. Em outras palavras, A tem a mesma cardinalidade que B sse
existe uma funo f de A para B que injetiva e sobrejetiva (i.e., bijetiva).
Teorema:
Para todos os conjuntos A, B e C,
(a) A tem a mesma cardinalidade que A.
propriedade reflexiva da cardinalidade.
(b) Se A tem a mesma cardinalidade que B, ento B tem a mesma cardinalidade que A.
propriedade simtrica da cardinalidade.
(c) Se A tem a mesma cardinalidade que B, e B tem a mesma cardinalidade
que C ento A tem a mesma cardinalidade que C.
propriedade transitiva da cardinalidade.
Definio (mesma cardinalidade): A e B tm a mesma cardinalidade sse, A
tem a mesma cardinalidade que B ou B tem a mesma cardinalidade que A.
UFMG/ICEx/DCC

MD

Conceitos

340

Conjuntos contveis
Definio (conjunto contvel infinito): Um conjunto chamado contvel infinito
sse ele possui a mesma cardinalidade do conjunto dos inteiros positivos Z+.
Um conjunto chamado contvel sse finito ou contvel infinito. Um conjunto
que no contvel chamado de incontvel.
Exemplo: Mostre que o conjunto Z, conjunto de todos os inteiros contvel.
0
1
1
2
2
...

...

1
2
3
4
5
...

Exemplo: O conjunto de todos os nmeros racionais positivos so contveis.

UFMG/ICEx/DCC

MD

Conceitos

341

Conjuntos contveis
Teorema:
O conjunto de todos os nmeros reais entre 0 e 1 incontvel.
Teorema:
Qualquer subconjunto de um conjunto contvel contvel.
Exemplo: O conjunto de todos os nmeros reais tem a mesma cardinalidade
que o conjunto dos nmeros reais entre 0 e 1.
Exemplo: O conjunto de todos os programas de computador numa dada linguagem de programao contvel.

UFMG/ICEx/DCC

MD

Conceitos

342

Como medir o custo de execuo de um algoritmo?


Funo de Custo ou Funo de Complexidade
f (n) = medida de custo necessrio para executar um algoritmo para um
problema de tamanho n.
Se f (n) uma medida da quantidade de tempo necessrio para executar
um algoritmo em um problema de tamanho n, ento f chamada funo
de complexidade de tempo de algoritmo.
Se f (n) uma medida da quantidade de memria necessria para executar um algoritmo em um problema de tamanho n, ento f chamada
funo de complexidade de espao de algoritmo.
Observao: tempo no tempo!
importante ressaltar que a complexidade de tempo na realidade no representa tempo diretamente, mas o nmero de vezes que determinada
operao considerada relevante executada.

UFMG/ICEx/DCC

MD

Conceitos

343

Custo assinttico de funes


interessante comparar algoritmos para valores grandes de n.
O custo assinttico de uma funo f (n) representa o limite do comportamento de custo quando n cresce.
Em geral, o custo aumenta com o tamanho n do problema.
Observao:
Para valores pequenos de n, mesmo um algoritmo ineficiente no custa
muito para ser executado.

UFMG/ICEx/DCC

MD

Conceitos

344

Notao assinttica de funes


Existem trs notaes principais na anlise assinttica de funes:
Notao .
Notao O (O grande).
Notao (mega grande).

UFMG/ICEx/DCC

MD

Conceitos

345

Notao

f (n) = (g(n))

UFMG/ICEx/DCC

MD

Conceitos

346

Notao
A notao limita a funo por fatores constantes.
Escreve-se f (n) = (g(n)), se existirem constantes positivas c1, c2 e n0
tais que para n n0, o valor de f (n) est sempre entre c1g(n) e c2g(n)
inclusive.
Pode-se dizer que g(n) um limite assinttico firme (em ingls, asymptotically tight bound) para f (n).
f (n) = (g(n)),
c1 > 0, c2 > 0, n0, | 0 c1g(n) f (n) c2g(n), n n0

Observe que a notao define um conjunto de funes:


(g(n)) =
{f : N R+ | c1 > 0, c2 > 0, n0, 0 c1g(n) f (n) c2g(n), n n0}.
UFMG/ICEx/DCC

MD

Conceitos

347

Notao : Exemplo 1
1 n2 3n = (n2 ).
Mostre que 2

Para provar esta afirmao, devemos achar constantes c1 > 0, c2 > 0, n > 0,
tais que:
1
c1n2 n2 3n c2n2
2
para todo n n0.
Se dividirmos a expresso acima por n2 temos:
1 3
c1 c2 .
2 n

UFMG/ICEx/DCC

MD

Conceitos

348

Notao : Exemplo 1
A inequao mais a direita ser sempre vlida para qualquer valor de n 1 ao
1.
escolhermos c2 2
Da mesma forma, a inequao mais a esquerda ser sempre vlida para qual1.
quer valor de n 7 ao escolhermos c1 14
Assim, ao escolhermos c1 = 1/14, c2 = 1/2 e n0 = 7, podemos verificar que
1 n2 3n = (n2 ).
2
Note que existem outras escolhas para as constantes c1 e c2, mas o fato importante que a escolha existe.
2 3n.
Note tambm que a escolha destas constantes depende da funo 1
n
2

Uma funo diferente pertencente a (n2) ir provavelmente requerer outras


constantes.
UFMG/ICEx/DCC

MD

Conceitos

349

Notao : Exemplo 2
Usando a definio formal de prove que 6n3 6= (n2).

UFMG/ICEx/DCC

MD

Conceitos

350

Notao O

f (n) = O(g(n))

UFMG/ICEx/DCC

MD

Conceitos

351

Notao O
A notao O define um limite superior para a funo, por um fator constante.
Escreve-se f (n) = O(g(n)), se existirem constantes positivas c e n0 tais
que para n n0, o valor de f (n) menor ou igual a cg(n).
Pode-se dizer que g(n) um limite assinttico superior (em ingls, asymptotically upper bound) para f (n).
f (n) = O(g(n)), c > 0, n0, | 0 f (n) cg(n), n n0.

Observe que a notao O define um conjunto de funes:


O(g(n)) = {f : N R+ | c > 0, n0, 0 f (n) cg(n), n n0}.

UFMG/ICEx/DCC

MD

Conceitos

352

Notao O
Quando a notao O usada para expressar o tempo de execuo de um
algoritmo no pior caso, est se definindo tambm o limite (superior) do tempo
de execuo desse algoritmo para todas as entradas.
Por exemplo, o algoritmo de ordenao por insero (a ser estudado) O(n2)
no pior caso.
Este limite se aplica para qualquer entrada.

UFMG/ICEx/DCC

MD

Conceitos

353

Notao O
Tecnicamente um abuso dizer que o tempo de execuo do algoritmo de
ordenao por insero O(n2) (i.e., sem especificar se para o pior caso,
melhor caso, ou caso mdio):
O tempo de execuo desse algoritmo depende de como os dados de
entrada esto arranjados.
Se os dados de entrada j estiverem ordenados, este algoritmo tem um
tempo de execuo de O(n), ou seja, o tempo de execuo do algoritmo
de ordenao por insero no melhor caso O(n).
O que se quer dizer quando se fala que o tempo de execuo O(n2)
que no pior caso o tempo de execuo O(n2).
Ou seja, no importa como os dados de entrada esto arranjados, o tempo
de execuo em qualquer entrada O(n2).

UFMG/ICEx/DCC

MD

Conceitos

354

Notao

f (n) = (g(n))

UFMG/ICEx/DCC

MD

Conceitos

355

Notao
A notao define um limite inferior para a funo, por um fator constante.
Escreve-se f (n) = (g(n)), se existirem constantes positivas c e n0 tais
que para n n0, o valor de f (n) maior ou igual a cg(n).
Pode-se dizer que g(n) um limite assinttico inferior (em ingls, asymptotically lower bound) para f (n).
f (n) = (g(n)), c > 0, n0, |0 cg(n) f (n), n n0.

Observe que a notao define um conjunto de funes:


(g(n)) = {f : N R+ | c > 0, n0, |0 cg(n) f (n), n n0}.

UFMG/ICEx/DCC

MD

Conceitos

356

Notao
Quando a notao usada para expressar o tempo de execuo de um algoritmo no melhor caso, est se definindo tambm o limite (inferior) do tempo
de execuo desse algoritmo para todas as entradas.
Por exemplo, o algoritmo de ordenao por insero (n) no melhor
caso.
O tempo de execuo do algoritmo de ordenao por insero (n).
O que significa dizer que o tempo de execuo (i.e., sem especificar se
para o pior caso, melhor caso, ou caso mdio) (g(n))?
O tempo de execuo desse algoritmo pelo menos uma constante vezes
g(n) para valores suficientemente grandes de n.

UFMG/ICEx/DCC

MD

Conceitos

357

Limites do algoritmo de ordenao por insero


O tempo de execuo do algoritmo de ordenao por insero est entre
(n) e O(n2).
Estes limites so assintoticamente os mais firmes possveis.
Por exemplo, o tempo de execuo deste algoritmo no (n2), pois o
algoritmo executa em tempo (n) quando a entrada j est ordenada.
No contraditrio dizer que o tempo de execuo deste algoritmo no pior
caso (n2), j que existem entradas para este algoritmo que fazem com
que ele execute em tempo (n2).

UFMG/ICEx/DCC

MD

Conceitos

358

Funes de custo (no de comparaes) do


algoritmo de ordenao por Insero

UFMG/ICEx/DCC

MD

Conceitos

359

Funes de custo e notaes assintticas do


algoritmo de ordenao por Insero

Pior Caso:

cPior Caso (n) =

Caso Mdio:

n2
2

n2
4

n
2

3n
4

cCaso Medio (n) = +


1 =

Melhor caso:

c
(n) = n 1
=

Melhor Caso

n2

n2

O indica a notao normalmente usada para esse caso.

UFMG/ICEx/DCC

MD

Conceitos

360

Teorema
Para quaisquer funes f (n) e g(n),
f (n) = (g(n))
se e somente se,
f (n) = O(g(n)) e f (n) = (g(n))

UFMG/ICEx/DCC

MD

Conceitos

361

Mais sobre notao assinttica de funes


Existem duas outras notaes na anlise assinttica de funes:
Notao o (o pequeno).
Notao (mega pequeno).
Estas duas notaes no so usadas normalmente, mas importante saber
seus conceitos e diferenas em relao s notaes O e , respectivamente.

UFMG/ICEx/DCC

MD

Conceitos

362

Notao o
O limite assinttico superior definido pela notao O pode ser assintoticamente firme ou no.
Por exemplo, o limite 2n2 = O(n2) assintoticamente firme, mas o limite
2n = O(n2) no .
A notao o usada para definir um limite superior que no assintoticamente firme.
Formalmente a notao o definida como:
f (n) = o(g(n)), c > 0 e n0 | 0 f (n) < cg(n), n n0
Exemplo, 2n = o(n2) mas 2n2 6= o(n2).

UFMG/ICEx/DCC

MD

Conceitos

363

Notao o
As definies das notaes O (o grande) e o (o pequeno) so similares.
A diferena principal que em f (n) = O(g(n)), a expresso 0 f (n)
cg(n) vlida para pelo menos uma constante c > 0.
Intuitivamente, a funo f (n) tem um crescimento muito menor que g(n)
quando n tende para infinito. Isto pode ser expresso da seguinte forma:
f (n)
=0
n g(n)
lim

Alguns autores usam este limite como a definio de o.

UFMG/ICEx/DCC

MD

Conceitos

364

Notao
Por analogia, a notao est relacionada com a notao da mesma forma
que a notao o est relacionada com a notao O.
Formalmente a notao definida como:
f (n) = (g(n)), c > 0 e n0 | 0 cg(n) < f (n), n n0
2
2
n
n
Por exemplo, 2 = (n), mas 2 6= (n2).

A relao f (n) = (g(n)) implica em


f (n)
= ,
n g(n)
lim

se o limite existir.

UFMG/ICEx/DCC

MD

Conceitos

365

Classes de comportamento assinttico


Complexidade constante
f (n) = O(1)
O uso do algoritmo independe do tamanho de n.
As instrues do algoritmo so executadas um nmero fixo de vezes.
O que significa um algoritmo ser O(2) ou O(5)?

UFMG/ICEx/DCC

MD

Conceitos

366

Classes de comportamento assinttico


Complexidade logartmica
f (n) = O(log n)
Ocorre tipicamente em algoritmos que resolvem um problema transformando-o em problemas menores.
Nestes casos, o tempo de execuo pode ser considerado como sendo
menor do que uma constante grande.
Exemplo, supondo que a base do logaritmo seja 2:
Para n = 1 000, log2 10.
Para n = 1 000 000, log2 20.
Algoritmo de pesquisa binria.

UFMG/ICEx/DCC

MD

Conceitos

367

Classes de comportamento assinttico


Complexidade linear
f (n) = O(n)
Em geral, um pequeno trabalho realizado sobre cada elemento de entrada.
Esta a melhor situao possvel para um algoritmo que tem que processar
n ou produzir n elementos de sada.
Cada vez que n dobra de tamanho, o tempo de execuo tambm dobra.
Exemplo:
Algoritmo de pesquisa seqencial.
Algoritmo para teste de planaridade de um grafo.

UFMG/ICEx/DCC

MD

Conceitos

368

Classes de comportamento assinttico


Complexidade linear logartmica
f (n) = O(n log n)
Este tempo de execuo ocorre tipicamente em algoritmos que resolvem
um problema quebrando-o em problemas menores, resolvendo cada um
deles independentemente e depois agrupando as solues.
Caso tpico dos algoritmos baseados no paradigma diviso-e-conquista.
Exemplo, supondo que a base do logaritmo seja 2:
Para n = 1 000 000, log2 20 000 000.
Para n = 2 000 000, log2 42 000 000.
Algoritmo de ordenao MergeSort.

UFMG/ICEx/DCC

MD

Conceitos

369

Classes de comportamento assinttico


Complexidade quadrtica
f (n) = O(n2)
Algoritmos desta ordem de complexidade ocorrem quando os itens de dados so processados aos pares, muitas vezes em um anel dentro do outro.
Exemplo:
Para n = 1 000, o nmero de operaes da ordem de 1 000 000.
Sempre que n dobra o tempo de execuo multiplicado por 4.
Algoritmos deste tipo so teis para resolver problemas de tamanhos relativamente pequenos.
Algoritmos de ordenao simples como seleo e insero.

UFMG/ICEx/DCC

MD

Conceitos

370

Classes de comportamento assinttico


Complexidade cbica
f (n) = O(n3)
Algoritmos desta ordem de complexidade geralmente so teis apenas
para resolver problemas relativamente pequenos.
Exemplo:
Para n = 100, o nmero de operaes da ordem de 1 000 000.
Sempre que n dobra o tempo de execuo multiplicado por 8.
Algoritmos deste tipo so teis para resolver problemas de tamanhos relativamente pequenos.
Algoritmo para multiplicao de matriz.

UFMG/ICEx/DCC

MD

Conceitos

371

Classes de comportamento assinttico


Complexidade exponencial
f (n) = O(2n)
Algoritmos desta ordem de complexidade no so teis sob o ponto de
vista prtico.
Eles ocorrem na soluo de problemas quando se usa a fora bruta para
resolv-los.
Exemplo:
Para n = 20, o tempo de execuo cerca de 1 000 000
Sempre que n dobra o tempo de execuo fica elevado ao quadrado.
Algoritmo do Caixeiro Viajante.

UFMG/ICEx/DCC

MD

Conceitos

372

Hierarquias de funes
A seguinte hierarquia de funes pode ser definida do ponto de vista assinttico:
n

c
log
n
n
n
c
1 log log n log n n n n
c n c

onde  e c so constantes arbitrrias com 0 <  < 1 < c.

UFMG/ICEx/DCC

MD

Conceitos

373

Hierarquias de funes
Usando MatLab, ou um outro pacote matemtico/software grfico, desenhe
os grficos dessas funes, quando n .

UFMG/ICEx/DCC

MD

Conceitos

374

Hierarquias de funes
Onde as seguintes funes se encaixam nessa hierarquia?
(a) (n) = lnnn . Esta funo define o nmero de primos menor ou igual a n.

(b) e log n.
Dica: ef (n) eg(n) limn(f (n) g(n)) = .

UFMG/ICEx/DCC

MD

Conceitos

375

Hierarquias de funes
Preliminares
A hierarquia apresentada est relacionada com funes que vo para o infinito.
No entanto, podemos ter o oposto dessas funes j que elas nunca so zero.
Isto ,
1
1

.
f (n) g(n)
g(n)
f (n)
Assim, todas as funes (exceto 1) tendem para zero:
1
1
1
1
1
1
1
1

1
n n n log n c 
cc
n
c
n
n
n
log n
log log n

UFMG/ICEx/DCC

MD

Conceitos

376

Hierarquias de funes
Soluo de (a)
(n) = lnnn
Temos que (note que a base do logaritmo no altera a hierarquia):
1
1
1


n
ln n
Multiplicando por n, temos:
n
n

n,
n
ln n
ou seja,
n1 (n) n
Note que o valor 1  ainda menor que 1.

UFMG/ICEx/DCC

MD

Conceitos

377

Hierarquias de funes
Soluo de (b)

e log n
Dado a hierarquia:
1 ln ln n

ln n  ln n

e elevando a e, temos que:

1
ln
ln
n
e e
e ln n e ln n

Simplificando temos:

e ln n e ln n n

UFMG/ICEx/DCC

MD

Conceitos

378

Algoritmo exponencial Algoritmo polinomial


Funes de complexidade:
Um algoritmo cuja funo de complexidade O(cn), c > 1, chamado de
algoritmo exponencial no tempo de execuo.
Um algoritmo cuja funo de complexidade O(p(n)), onde p(n) um
polinmio de grau n, chamado de algoritmo polinomial no tempo de execuo.
A distino entre estes dois tipos de algoritmos torna-se significativa quando
o tamanho do problema a ser resolvido cresce.
Essa a razo porque algoritmos polinomiais so muito mais teis na prtica
do que algoritmos exponenciais.
Geralmente, algoritmos exponenciais so simples variaes de pesquisa
exaustiva.

UFMG/ICEx/DCC

MD

Conceitos

379

Algoritmo exponencial Algoritmo polinomial


Os algoritmos polinomiais so geralmente obtidos atravs de um entendimento mais profundo da estrutura do problema.
Tratabilidade dos problemas:
Um problema considerado intratvel se ele to difcil que no se conhece um algoritmo polinomial para resolv-lo.
Um problema considerado tratvel (bem resolvido) se existe um algoritmo polinomial para resolv-lo.
Aspecto importante no projeto de algoritmos.

UFMG/ICEx/DCC

MD

Conceitos

380

Objetos recursivos
Um objeto recursivo quando definido parcialmente em termos de si
mesmo.
Exemplo 1: Nmeros naturais:
(a) 1 um nmero natural.
(b) o sucessor de um nmero natural um nmero natural.
Exemplo 2: Funo fatorial:
(a) 0! = 1.
(b) se n > 0 ento n! = n (n 1)!

UFMG/ICEx/DCC

MD

Conceitos

381

Objetos recursivos
Exemplo 3: rvores.
(a) A rvore vazia uma rvore.
(b) se T1 e T2 so rvores ento T 0 um rvore.


T 0 






T
T
T
TT


T1  T2 

UFMG/ICEx/DCC

MD

Conceitos

382

Objetos recursivos: Exemplos

UFMG/ICEx/DCC

MD

Conceitos

383

Objetos recursivos: Exemplos

UFMG/ICEx/DCC

MD

Conceitos

384

Poder da recurso
Definir um conjunto infinito de objetos atravs de um comando finito.
Um problema recursivo P pode ser expresso como P P[Si, P ], onde P
a composio de comandos Si e do prprio P .
Importante: constantes e variveis locais a P so duplicadas a cada chamada
recursiva.

UFMG/ICEx/DCC

MD

Conceitos

385

Problema de terminao
Definir um condio de terminao.
Idia:
Associar um parmetro, por exemplo n, com P e chamar P recursivamente
com n 1 como parmetro.
A condio n > 0 garante a terminao.
Exemplo:
P (n) if n > 0 then P[Si; P (n 1)].
Importante: na prtica necessrio:
mostrar que o nvel de recurso finito, e
tem que ser mantido pequeno! Por que?

UFMG/ICEx/DCC

MD

Conceitos

386

Razes para limitar a recurso


Memria necessria para acomodar variveis a cada chamada.
O estado corrente da computao tem que ser armazenado para permitir a
volta da chamada recursiva.
Exemplo:
FATORIAL(n)
1
2
3
4

FATORIAL(4)

 F : varivel auxiliar
if n > 0
then F n FATORIAL(n 1)
else F 1
return F

UFMG/ICEx/DCC

MD

Conceitos

1
2
3
4
1

4FATORIAL(3)
3FATORIAL(2)
2FATORIAL(1)
1FATORIAL(0)

387

Quando no usar recursividade


Algoritmos recursivos so apropriados quando o problema definido em termos recursivos.
Entretanto, uma definio recursiva no implica necessariamente que a implementao recursiva a melhor soluo!
Casos onde evitar recursividade:
P if condio then (Si; P )
}|
{
z
Exemplo: P if i < n then (i := i + 1; F := iF ; P )

UFMG/ICEx/DCC

MD

Conceitos

388

Eliminando a recursividade de Cauda


(Tail recursion)
FATORIAL(n)
1
2
3
4
5
6

 F , i: variveis auxiliares
i0
F 1
while i < n
do i i + 1
F F i
return F

Logo,
P if B then (S; P )
deve ser transformado em
P (x = x0; while B do S).

UFMG/ICEx/DCC

MD

Conceitos

389

Outro exemplo
F IB(A)
1
2
3
4
5
6

s
5,,l

 F : varivel auxiliar
if n = 0
then F 0
else if n = 1
then F 1
else F FIB(n 1) + (n 2)
return F

,
,
,
,
s
4
J,

Observao: para cada chamada a


F IB(n), F IB ativada 2 vezes

UFMG/ICEx/DCC

MD

B
 B
 B

B

B
s
Bs
B
 B
 B

B

B
Bs
s

Conceitos

l
l
l
l

J
J
J
J
Js
B
 B
 B

B

B
s
Bs

l
l
ls
B
 B
 B

B

B
s
Bs
B
 B
 B

B

B
s
Bs

390

Soluo bvia
F IB(n)
1
2
3
4
5
6
7
8
9

 F , Fant, i, Temp: variveis auxiliares


i1
F 1
Fant 0
while i < n
do Temp F
F F + Fant
Fant Temp
ii+1
return F

Complexidade de tempo: T (n) = n 1.


Complexidade de espao: E(n) = O(1).

UFMG/ICEx/DCC

MD

Conceitos

391

Comentrios sobre recursividade


Evitar o uso de recursividade quando existe uma soluo bvia por iterao!
Exemplos:
Fatorial.
Srie de Fibonacci.

UFMG/ICEx/DCC

MD

Conceitos

392

Anlise de algoritmos recursivos


Comportamento descrito por uma equao (funo) de recorrncia.
Enfoque possvel:
Usar a prpria recorrncia para substituir para T (m), m < n at que todos
os termos tenham sido substitudos por frmulas envolvendo apenas T (0)
ou o caso base.

UFMG/ICEx/DCC

MD

Conceitos

393

Anlise da funo FATORIAL


Seja a seguinte funo para calcular o fatorial de n:
FATORIAL(n)
1
2
3
4

 F : varivel auxiliar
if n > 0
then F n FATORIAL(n 1)
else F 1
return F

Seja a seguinte equao de recorrncia para esta funo:


(

T (n) =

d
n = 1
c + T (n 1) n > 1

Esta equao diz que quando n = 1 o custo para executar FATORIAL igual a
d. Para valores de n maiores que 1, o custo para executar FATORIAL c mais o
custo para executar T (n 1).

UFMG/ICEx/DCC

MD

Conceitos

394

Resolvendo a equao de recorrncia


Esta equao de recorrncia pode ser
expressa da seguinte forma:

T (n) = c + T (n 1)
= c + (c + T (n 2))
= c + c + (c + T (n 3))
... = ...
= c + c + + (c + T (1))
= c| + c +{z + c} +d

T (n) = c(n 1) + d = O(n).

n1

UFMG/ICEx/DCC

Em cada passo, o valor do termo T


substitudo pela sua definio (ou
seja, esta recorrncia est sendo resolvida pelo mtodo da expanso). A
ltima equao mostra que depois da
expanso existem n 1 cs, correspondentes aos valores de 2 at n.
Desta forma, a recorrncia pode ser
expressa como:

MD

Conceitos

395

Alguns somatrios teis


n
X

k
X

ak+1 1
i
a =
(a 6= 1)

n(n + 1)
i=
2
i=1

i=0

k
X

n
X

2k = 2k+1 1

i=0

i=1

a1

n(n + 1)(2n + 1)
2
i =
6

k
X
1
1
=2 k
i
2
2
i=0

UFMG/ICEx/DCC

MD

Conceitos

396

Algumas recorrncias bsicas: Caso 1


Resolvendo por expanso temos:
T (n) = T ( n
2 ) + 1 (n 2)
T (1) = 0
(n = 1)

T (2k ) =
=
=
...
=
=
=

Vamos supor que:


n = 2k k = log n

T (2k1 ) + 1
(T (2k2 ) + 1) + 1
(T (2k3 ) + 1) + 1 + 1
...
(T (2) + 1) + 1 + + 1
(T (1) + 1) + 1 + + 1
0 + |1 + {z
+ 1}
k

= k
T (n) = log n
T (n) = O(log n)

UFMG/ICEx/DCC

MD

Conceitos

397

Algumas recorrncias bsicas: Caso 2


T (n) = 2T ( n2 ) + n (n 2)
T (1) = 0
(n = 1)

Vamos supor que n = 2k k = log n. Resolvendo por expanso temos:


T (2k ) =
=
=
...
=
=
=

2T (2k1 ) + 2k
2(2T (2k2 ) + 2k1 ) + 2k
2(2(2T (2k3 ) + 2k2 ) + 2k1 ) + 2k
...
2(2( (2(2T (1) + 22 ) + 23 ) + ) + 2k1 ) + 2k
(k 1)2k + 2k
k2k

T (n) = n log n
T (n) = O(n log n)

UFMG/ICEx/DCC

MD

Conceitos

398

Teorema Mestre
Recorrncias da forma

T (n) = aT ( nb ) + f (n),
onde a 1 e b > 1 so constantes e f (n) uma funo assintoticamente positiva podem ser resolvidas usando o Teorema Mestre. Note que neste caso no
estamos achando a forma fechada da recorrncia mas sim seu comportamento
assinttico.

UFMG/ICEx/DCC

MD

Conceitos

399

Teorema Mestre
Sejam as constantes a 1 e b > 1 e f (n) uma funo definida nos inteiros
no-negativos pela recorrncia:
T (n) = aT ( nb ) + f (n),
onde a frao n/b pode significar bn/bc ou dn/be. A equao de recorrncia
T (n) pode ser limitada assintoticamente da seguinte forma:
1. Se f (n) = O(nlogb a) para alguma constante  > 0,
ento T (n) = (nlogb a) .
2. Se f (n) = (nlogb a), ento T (n) = (nlogb a log n) .
3. Se f (n) = (nlogb a+) para alguma constante  > 0 e se af (n/b)
cf (n) para alguma constante c < 1 e para n suficientemente grande,
ento T (n) = (f (n)) .

UFMG/ICEx/DCC

MD

Conceitos

400

Comentrios sobre o teorema Mestre


Nos trs casos estamos comparando a funo f (n) com a funo nlogb a.
Intuitivamente, a soluo da recorrncia determinada pela maior das duas
funes.
Por exemplo:
No primeiro caso a funo nlogb a a maior e a soluo para a recorrncia
T (n) = (nlogb a).
No terceiro caso, a funo f (n) a maior e a soluo para a recorrncia
T (n) = (f (n)).
No segundo caso, as duas funes so do mesmo tamanho. Neste caso,
a soluo fica multiplicada por um fator logartmico e fica da forma T (n) =
(nlogb a log n) = (f (n) log n).

UFMG/ICEx/DCC

MD

Conceitos

401

Tecnicalidades sobre o teorema Mestre


No primeiro caso, a funo f (n) deve ser no somente menor que nlogb a
mas ser polinomialmente menor. Ou seja, f (n) deve ser assintoticamente
menor que nlogb a por um fator de n, para alguma constante  > 0.
No terceiro caso, a funo f (n) deve ser no somente maior que nlogb a
mas ser polinomialmente maior e satisfazer a condio de regularidade que
af (n/b) cf (n). Esta condio satisfeita pela maior parte das funes
polinomiais encontradas neste curso.

UFMG/ICEx/DCC

MD

Conceitos

402

Tecnicalidades sobre o teorema Mestre


Teorema no cobre todas as possibilidades para f (n):
Entre os casos 1 e 2 existem funes f (n) que so menores que nlogb a
mas no so polinomialmente menores.
Entre os casos 2 e 3 existem funes f (n) que so maiores que nlogb a
mas no so polinomialmente maiores.
Se a funo f (n) cai numa dessas condies ou a condio de regularidade do caso 3 falsa, ento no se pode aplicar este teorema para
resolver a recorrncia.

UFMG/ICEx/DCC

MD

Conceitos

403

Uso do teorema: Exemplo 1


T (n) = 9T ( n
3 ) + n.
Temos que,
a = 9, b = 3, f (n) = n
Desta forma,
nlogb a = nlog3 9 = (n2)
Como f (n) = O(nlog3 9), onde  = 1, podemos aplicar o caso 1 do teorema
e concluir que a soluo da recorrncia
T (n) = (n2).

UFMG/ICEx/DCC

MD

Conceitos

404

Uso do teorema: Exemplo 2


T (n) = T ( 2n
3 ) + 1.
Temos que,
a = 1, b = 3/2, f (n) = 1
Desta forma,
log3/2 1

nlogb a = n

= n0 = 1

O caso 2 se aplica j que f (n) = (nlogb a) = (1). Temos, ento, que a


soluo da recorrncia
T (n) = (log n).

UFMG/ICEx/DCC

MD

Conceitos

405

Uso do teorema: Exemplo 3


T (n) = 3T ( n
4 ) + n log n
Temos que,
a = 3, b = 4, f (n) = n log n.
Desta forma,
nlogb a = nlog4 3 = O(n0.793).
Como f (n) = (nlog4 3+), onde  0.2, o caso 3 se aplica se mostrarmos
que a condio de regularidade verdadeira para f (n).

UFMG/ICEx/DCC

MD

Conceitos

406

Uso do teorema: Exemplo 3


Para um valor suficientemente grande de n:
n ) ( 3 )n log n = cf (n).
)
log(
af ( nb ) = 3( n
4
4
4

para c = 3
4 . Conseqentemente, usando o caso 3, a soluo para a recorrncia

T (n) = (n log n).

UFMG/ICEx/DCC

MD

Conceitos

407

Uso do teorema: Exemplo 4


T (n) = 2T ( n
2 ) + n log n.
Temos que,
a = 2, b = 2, f (n) = n log n.
Desta forma,
nlogb a = n
Aparentemente o caso 3 deveria se aplicar j que f (n) = n log n assintoticamente maior que nlogb a = n. Mas no entanto, no polinomialmente maior.
A frao f (n)/nlogb a = (n log n)/n = log n que assintoticamente menor
que n para toda constante positiva . Conseqentemente, a recorrncia cai na
situao entre os casos 2 e 3 onde o teorema no pode ser aplicado.

UFMG/ICEx/DCC

MD

Conceitos

408

Uso do teorema: Exerccio 5


T (n) = 4T ( n
2 ) + n.

UFMG/ICEx/DCC

MD

Conceitos

409

Uso do teorema: Exerccio 6


2
T (n) = 4T ( n
2) + n .

UFMG/ICEx/DCC

MD

Conceitos

410

Uso do teorema: Exerccio 7


3
T (n) = 4T ( n
2) + n .

UFMG/ICEx/DCC

MD

Conceitos

411

Uso do teorema: Exerccio 8


O tempo de execuo de um algoritmo A descrito pela recorrncia
2.
)
+
n
T (n) = 7T ( n
2

Um outro algoritmo A0 tem um tempo de execuo descrito pela recorrncia


2.
T 0(n) = aT 0( n
)
+
n
4

Qual o maior valor inteiro de a tal que A0 assintoticamente mais rpido que
A?

UFMG/ICEx/DCC

MD

Conceitos

412

Notao assinttica em funes


Normalmente, a notao assinttica usada em frmulas matemticas. Por
exemplo, usando a notao O pode-se escrever que n = O(n2). Tambm
pode-se escrever que
2n2 + 3n + 1 = 2n2 + (n).
Como se interpreta uma frmula como esta?

UFMG/ICEx/DCC

MD

Conceitos

413

Notao assinttica em funes


Notao assinttica sozinha no lado direito de uma equao, como em
n = O(n2).
Sinal de igualdade significa que o lado esquerdo um membro do conjunto
O(n2);
n O(n2) ou n n2.
Nunca deve-se escrever uma igualdade onde a notao O aparece sozinha
com os lados trocados.
Caso contrrio, poderia se deduzir um absurdo como n2 = n de igualdades como em O(n2) = n.
Quando se trabalha com a notao O e em qualquer outra frmula que envolve quantidades no precisas, o sinal de igualdade unidirecional.
Da vem o fato que o sinal de igualdade ("=") realmente significa ou ,
usados para incluso de conjuntos

UFMG/ICEx/DCC

MD

Conceitos

414

Notao assinttica em funes


Se uma notao assinttica aparece numa frmula, isso significa que essa notao est substituindo uma funo que no importante definir precisamente
(por algum motivo). Por exemplo, a equao
2n2 + 3n + 1 = 2n2 + (n)
significa que
2n2 + 3n + 1 = 2n2 + f (n)
onde f (n) alguma funo no conjunto (n). Neste caso, f (n) = 3n + 1
que de fato est em (n).

UFMG/ICEx/DCC

MD

Conceitos

415

Notao assinttica em funes


O uso da notao assinttica desta forma ajuda a eliminar detalhes que no
so importantes. Por exemplo, pode-se expressar uma equao de recorrncia
como:
T (n) = 2T (n 1) + (n).
Se se deseja determinar o comportamento assinttico de T (n) ento no
necessrio determinar exatamente os termos de mais baixa ordem. Entende-se
que eles esto includos numa funo f (n) expressa no termo (n).

UFMG/ICEx/DCC

MD

Conceitos

416

Notao assinttica em funes


Em alguns casos, a anotao assinttica aparece do lado esquerdo de uma
equao como em:
2n2 + (n) = (n2).
A interpretao de tais equaes deve ser feita usando a seguinte regra:
possvel escolher uma funo f (n) para o lado esquerdo da igualdade de
tal forma que existe uma funo g(n) para o lado direito que faz com que a
equao seja vlida.
O lado direito da igualdade define um valor no to preciso quanto o lado
esquerdo. Por exemplo,
2n2 + 3n + 1 = 2n2 + (n)
2n2 + (n) = (n2).

UFMG/ICEx/DCC

MD

Conceitos

(1)
(2)

417

Notao assinttica em funes


As equaes (1) e (2) podem ser interpretadas usando a regra acima:
A equao (1) diz que existe alguma funo f (n) (n) tal que 2n2 +
3n + 1 = 2n2 + f (n) para todo n.
A equao (2) diz que para qualquer funo g(n) (n), existe uma funo
h(n) (n2) tal que
2n2 + g(n) = h(n)
para todo n. Note que esta interpretao implica que 2n2 +3n+1 = (n2),
que o que estas duas equaes querem dizer.

UFMG/ICEx/DCC

MD

Conceitos

418

Modelagem usando equao de recorrncia


Torre de Hanoi
Edouard Lucas (18421891), matemtico francs. Props o jogo Torre de
Hanoi em 1883. Escreveu o trabalho de matemtica recreativa Rcrations
Mathmatiques em quatro volumes (188294) que se tornou um clssico.

Configurao inicial:
O jogo comea com um conjunto de oito discos empilhados em tamanho
decrescente em uma das trs varetas.

UFMG/ICEx/DCC

MD

Conceitos

419

Modelagem usando equao de recorrncia


Torre de Hanoi
Objetivo:
Transferir toda a torre para uma das outras varetas, movendo um disco de
cada vez, mas nunca movendo um disco maior sobre um menor.
Solues particulares:
Seja T (n) o nmero mnimo de movimentos para transferir n discos de
uma vareta para outra de acordo com as regras definidas no enunciado do
problema.
No difcil observar que:
T (0) = 0

[nenhum movimento necessrio]

T (1) = 1

[apenas um movimento]

T (2) = 3

[trs movimentos usando as duas varetas]

UFMG/ICEx/DCC

MD

Conceitos

420

Modelagem usando equao de recorrncia


Torre de Hanoi
Generalizao da soluo:
Para trs discos, a soluo correta transferir os dois discos do topo para a
vareta do meio, transferir o terceiro disco para a outra vareta e, finalmente,
mover os outros dois discos sobre o topo do terceiro.
Para n discos:
1. Transfere-se os n 1 discos menores para outra vareta (por exemplo, a
do meio), requerendo T (n 1) movimentos.
2. Transfere-se o disco maior para a outra vareta (um movimento).
3. Transfere-se os n 1 discos menores para o topo do disco maior,
requerendo-se T (n 1) movimentos novamente.

UFMG/ICEx/DCC

MD

Conceitos

421

Modelagem usando equao de recorrncia


Torre de Hanoi
Equao de recorrncia para este problema pode ser expressa por:
T (0) = 0
T (n) = 2T (n 1) + 1,

UFMG/ICEx/DCC

MD

Conceitos

para n > 0

422

Modelagem usando equao de recorrncia


Torre de Hanoi
Para pequenos valores de n temos:
n

T (n)

15

31

63

Esta recorrncia pode ser expressa por


T (n) = 2n 1.

UFMG/ICEx/DCC

MD

Conceitos

423

Modelagem usando equao de recorrncia


Torre de Hanoi
Provando por induo matemtica temos:
Caso base. Para n = 0 temos que T (0) = 20 1 = 0, que o valor presente
na equao de recorrncia.
Induo. Vamos supor que a forma fechada seja vlida para todos os valores
at n = k, i.e., T (k) = 2k 1. Vamos provar que esta forma fechada
vlida para n = k + 1, i.e., T (k + 1) = 2k+1 1.
T (k + 1) = 2T (k) + 1 = 2(2k 1) + 1 = 2k+1 2 + 1 = 2k+1 1.
... A forma fechada proposta tambm vlida para n.

UFMG/ICEx/DCC

MD

Conceitos

424

Modelagem usando equao de recorrncia


Estratgia para resoluo da equao
A recorrncia da Torre de Hanoi aparece em vrias aplicaes de todos os tipos.
Normalmente, existem trs etapas para achar uma forma fechada para o valor
de T (n):
1. Analisar pequenos casos. Com isto podemos ter um entendimento melhor
do problema e, ao mesmo tempo, ajudar nos dois passos seguintes.
2. Achar e provar uma recorrncia para o valor de T (n).
3. Achar e provar uma forma fechada para a recorrncia.

UFMG/ICEx/DCC

MD

Conceitos

425

Modelagem usando equao de recorrncia


Linhas no plano
Problema:
Qual o nmero mximo de regies Ln determinado por n retas no plano?
Lembre-se que um plano sem nenhuma reta tem uma regio, com uma reta
tem duas regies e com duas retas tm quatro regies.

1
2
4

L0 = 1
UFMG/ICEx/DCC

L1 = 2
MD

Conceitos

L2 = 4
426

Modelagem usando equao de recorrncia


O nmero de Josephus
Durante os anos em que serviu no exrcito romano, Josephus vivia num alojamento com vrios outros soldados. Toda semana devia ser feita uma limpeza
geral que sempre tomava o dia todo. Os soldados decidiram entre si que toda
semana seria sorteado um soldado que no faria a limpeza. O sorteio seria
feito da seguinte forma: os soldados formariam um crculo, percorreriam o crculo no sentido horrio e cada segundo soldado seria escolhido para a limpeza.
O soldado que ficasse por ltimo seria o sorteado, ou seja, no participaria da
limpeza. Nos dias que Josephus queria tirar um dia de folga ele rapidamente
calculava onde ele deveria ficar nesse crculo, apenas conhecendo o nmero
total de soldados que participariam da limpeza naquele dia.

UFMG/ICEx/DCC

MD

Conceitos

427

Modelagem usando equao de recorrncia


O nmero de Josephus
Por exemplo, suponha a configurao inicial com 12 soldados, conforme
figura ao lado.

12

11

Neste caso, na primeira rodada seriam selecionados os soldados 2, 4,


6, 8, 10 e 12, na segunda rodada os soldados 3, 7 e 11, e, finalmente
na terceira rodada os soldados 5 e 11, sendo que o soldado 9 seria o
sorteado.

10

5
8

6
7

1a rodada
6

12

2a rodada
21

11

42

5
4

63

37

10

42

5
4

UFMG/ICEx/DCC

21

9 11

10

12

3a rodada

63
8

MD

Conceitos

12

11 1

21

9 11

37

10

42

5 10
4

63
8

428

Princpios para anlise de algoritmos


Tempo de execuo
1. Comando de Atribuio, Leitura, ou Escrita: O(1)
Excees: linguagens que permitem atribuies que envolvem vetores
de tamanho arbitrariamente grandes.
2. Sequncia de comandos:
Maior tempo de execuo de qualquer comando da sequncia.
3. Comando de deciso:
Avaliao da condio: O(1).
Comandos executados dentro do comando condicional: Regra 2.

UFMG/ICEx/DCC

MD

Conceitos

429

Princpios para anlise de algoritmos


Tempo de execuo
4. Anel:
Avaliao da condio de terminao: O(1).
Comandos executados dentro do corpo do anel: Regra 2.
Os dois itens ficam multiplicados pelo nmero de iteraes do anel.
5. Programa com procedimentos no recursivos:
Tempo de execuo de cada procedimento deve ser computado separadamente um a um, iniciando com os procedimentos que no chamam
outros procedimentos.
Em seguida, devem ser avaliados os procedimentos que chamam os procedimentos que no chamam outros procedimentos, utilizando os tempos
dos procedimentos j avaliados.
Este processo repetido at chegar no programa principal.

UFMG/ICEx/DCC

MD

Conceitos

430

Princpios para anlise de algoritmos


Tempo de execuo
6. Programa com procedimentos recursivos:
Para cada procedimento associada uma funo de complexidade f (n)
desconhecida, onde n mede o tamanho dos argumentos para o procedimento.
Obter e resolver a equao de recorrncia.

UFMG/ICEx/DCC

MD

Conceitos

431

Operaes com a notao O

f (n) = O(f (n))


c O(f (n)) = O(f (n))

c = constante

O(f (n)) + O(f (n)) = O(f (n))


O(O(f (n)) = O(f (n))
O(f (n)) + O(g(n)) = O(max(f (n), g(n)))
O(f (n))O(g(n)) = O(f (n)g(n))
f (n)O(g(n)) = O(f (n)g(n))

UFMG/ICEx/DCC

MD

Conceitos

432

Operaes com a notao O


Duas operaes importantes:
Regra da soma: O(f (n)) + O(g(n))
Suponha trs trechos de programas cujos tempos de execuo so O(n),
O(n2) e O(n log n).
O tempo de execuo dos dois primeiros trechos O(max(n, n2)), que
O(n2).
O tempo de execuo de todos os trs trechos ento
O(max(n2, n log n)),
que O(n2).
Regra do produto: O(f (n))O(g(n))

Produto de [log n + k + O(1/n)] por [n + O( n)]

n log n + kn + O( n log n).

UFMG/ICEx/DCC

MD

Conceitos

433

Recurso
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

434

Sequncias definidas recursivamente


Uma sequncia dita ser definida recursivamente se certos termos iniciais
so especificados e os demais termos da sequncia so definidos fazendose referncia a um nmero fixo de termos anteriores.
Trs possveis formas de definir uma sequncia:
1. Escrever os primeiros termos da sequncia na expectativa que o leitor
identifique o padro da sequncia:
Exemplo: 3, 5, 7, ?, . . .
9 se for a sequncia dos inteiros mpares, ou
11 se for a sequncia dos primos mpares.
2. Definir uma frmula explcita para o n-simo termo.
(1)n
an =
, n 0
n+1
3. Definir uma sequncia usando recurso. Requer:
(a) uma equao chamada de relao de recorrncia, e
(b) condies iniciais, que so os valores dos primeiros termos da sequncia.
UFMG/ICEx/DCC

MD

Conceitos

435

Sequncias definidas recursivamente


Exemplo 1
(a) bk = bk1 + bk2
(b) b0 = 1, b1 = 3
b2 = 4, b3 = 7, b4 = 11, b5 = 18, . . .

[relao de recorrncia]
[termos iniciais]

Algumas vezes difcil ou impossvel achar uma frmula explcita para uma
sequncia, mas possvel definir a sequncia usando recurso.
Note que definir sequncias recursivamente similar a provar teoremas por
induo matemtica:
Equao de recorrncia seria o passo indutivo, e
Termos iniciais seriam o passo base.
Definio: Uma equao de recorrncia para uma sequncia a0, a1, a2, . . .
uma frmula que relaciona cada termo ak a certos termos predecessores
ak1, ak2, . . . , aki, onde i um inteiro fixo e k qualquer inteiro, tal que
k i. Os termos iniciais para uma recorrncia so especificados pelos valores a0, a1, a2, . . . , ai1.
UFMG/ICEx/DCC

MD

Conceitos

436

Sequncias definidas recursivamente


Exemplo 2
(a) ck = ck1 + kck2 + 1
(b) c0 = 1, c1 = 2
c2 = 5, c3 = 12, c4 = 33, . . .

[relao de recorrncia]
[termos iniciais]

Exemplo 3 sequncias que tm a mesma relao de recorrncia:


(a) ak = 3ak1, k > 1
(b) a1 = 2
a2 = 6, a3 = 18, a4 = 54, . . .
(a)
(b)

bk = 3bk1, k > 1
b1 = 1
b2 = 3, b3 = 9, b4 = 27, . . .

UFMG/ICEx/DCC

MD

Conceitos

437

Sequncias definidas recursivamente


Exemplo 4 Mostre que a sequncia
1, 1!, 2!, 3!, 4!, . . . , (1)nn! . . . , n 0
satisfaz a relao de recorrncia
sk = k sk1, k > 1

UFMG/ICEx/DCC

MD

Conceitos

438

Sequncias definidas recursivamente


Exemplo 4 Pela definio da sequncia,
sn = (1)n n!, n 0
Substitua n por k e k 1 para obter
sk = (1)k k!
sk1 = (1)k1 (k 1)!
Atravs de manipulao algbrica temos:
k sk1 =
=
=
=
=

UFMG/ICEx/DCC

k[(1)k1 (k 1)!]
(1) k (1)k1 (k 1)!]
(1) (1)k1 k (k 1)!]
(1)k k!
sk

MD

Conceitos

439

Usando recursividade na modelagem de problemas


Strings com certa propriedade
Seja = {0, 1}. Determine quantos strings em 0 . . . 3 que no contm o
padro 11. (i o conjunto de todos os strings de tamanho i sobre .)
Tamanho:
0:
1:
2:
3:

Strings

0, 1
00, 01, 10
000, 001, 010, 100, 101

Logo, temos que:


Tamanho
0
1
2
3
UFMG/ICEx/DCC

MD

# Strings
1
2
3
5
Conceitos

440

Usando recursividade na modelagem de problemas


Strings com certa propriedade
Quantos elementos existem em k ?
Idia:
Suponha que o nmero de strings k que no contm o padro 11 seja
conhecido.
Use esse fato para determinar o nmero de strings de tamanho k que no
contm 11 em funo de strings menores que no contm 11.

UFMG/ICEx/DCC

MD

Conceitos

441

Usando recursividade na modelagem de problemas


Strings com certa propriedade
Dois casos a considerar em funo do smbolo mais esquerda no string:
0: os k 1 smbolos podem ser qualquer sequncia sobre onde 11 no
aparece;
1: os dois smbolos mais esquerda no podem ser 11 e sim 10.
Logo, os k 2 smbolos podem ser qualquer sequncia sobre onde 11 no
aparece.
Os dois casos geram dois subconjuntos mutuamente disjuntos, representados pela primeira equao de recorrncia abaixo:
(1)
(2)

UFMG/ICEx/DCC

sk
s0
s1

=
=
=

sk1 + sk2
1
2

Equao de recorrncia

)
Condies iniciais

MD

Conceitos

442

Sequncias e recursividade: Sequncia aritmtica


Definio (sequncia aritmtica): Uma sequncia a0, a1, a2, . . . uma sequncia aritmtica sse existe uma constante d tal que
ak = ak1 + d, para todos inteiros k 1
Exemplo:
(1) ak = ak1 + 2, k 1
(2) a0 = 1
Expanso:
a0 = 1
a1 = a0 + 2 = 1 + 2
a2 = a1 + 2 = (1 + 2) + 2
a3 = a2 + 2 = (1 + 2 + 2) + 2
...
an = 1 + n 2 = 1 + 2n
UFMG/ICEx/DCC

MD

Conceitos

443

Sequncias e recursividade: Sequncia aritmtica


Exemplo:
(1) ak = 3ak1 + 1, k 2
(2) a1 = 1
a1 = 1
a2 = 3a1 + 1 = 3 1 + 1 = 3 + 1
a3 = 3a2 + 1 = 3 (3 + 1) + 1 = 32 + 3 + 1
a4 = 3a3 + 1 = 3 (32 + 3 + 1) + 1 = 33 + 32 + 3 + 1
...
3n 1
3n 1
n1
n2
2
=
an = 3
+3
+ + 3 + 3 + 1 =
31
2

UFMG/ICEx/DCC

MD

Conceitos

444

Sequncias e recursividade: Sequncia aritmtica


Exemplo:
(1) ak = ak1 + 2k, k 1
(2) a0 = 3
a0 = 3
a1 = a0 + 2 1 = 3 + 2 1
a2 = a1 + 2 2 = (3 + 2 1) + 2 2 = 3 + 2 (1 + 2)
a3 = a2 + 2 3 = [(3 + 2 (1 + 2)] + 2 3 = 3 + 2 (1 + 2 + 3)
...
an = 3 + 2 (1 + 2 + . . . + (n 1) + n)
n(n + 1)
= 3+2
2
= 3 + n(n + 1)

UFMG/ICEx/DCC

MD

Conceitos

445

Sequncias e recursividade: Sequncia geomtrica


Definio (sequncia geomtrica): Uma sequncia a0, a1, a2, . . . uma sequncia geomtrica sse existe uma constante r tal que
ak = r ak1, para todos inteiros k 1
Exemplo:
(1) ak = r ak1, k 1
(2) a0 = a
Expanso:
a0 = a
a1 = r a0 = r a
a2 = r a1 = r (r a) = r2 a
a3 = r a2 = r (r2 a) = r3 a
...
an = rn a
UFMG/ICEx/DCC

MD

Conceitos

446

Verificando a validade de uma frmula fechada


Prove a seguinte afirmao:
Se h1, h2, h3, . . . a sequncia definida por
hi = 2hi1 + 1, para todos inteiros i 2
h1 = 1
ento
hn = 2n 1, para todos inteiros i 1
Prova (induo matemtica):
(a) h1 = 21 1 = 1. [Passo base V.]
(b) Se hi = 2i 1, para algum inteiro i 1
ento hi+1 = 2i+1 1
hi+1 = 2 hi + 1
= 2 (2i 1) + 1
= 2i+1 2 + 1
= 2i+1 1
UFMG/ICEx/DCC

MD

Conceitos

447

Verificando a validade de uma frmula fechada


Prove a seguinte afirmao:
Se c1, c2, c3, . . . a sequncia definida por
ci = 2ci1 + i, para todos inteiros i 1
c0 = 1
ento cn = 2n + n,

UFMG/ICEx/DCC

para todos inteiros n 0

MD

Conceitos

448

Verificando a validade de uma frmula fechada


Prova (induo matemtica):
(a) c0 = 20 + 0 = 1. [Passo base V.]
(b) Se ci = 2i + i, para algum inteiro i 0
ento ci+1 = 2i+1 + (i + 1)
ci+1 = 2 ci + (i + 1)
= 2 (2i + i) + (i + 1)
= 2i+1 + 2i + i + 1
= 2i+1 + 3i + 1
A questo passa a ser ento
?

2i+1 + 3i + 1 = 2i+1 + (i + 1)
de onde se conclui que 2i = 0 e i = 0, que no uma condio vlida
para a equao de recorrncia.

UFMG/ICEx/DCC

MD

Conceitos

449

Definio recursiva
Existem vrios outros objetos que podem ser definidos recursivamente alm
de sequncias de nmeros.
Exemplo: conjuntos.
A definio recursiva de conjuntos consiste dos seguintes elementos:
(i) BASE: uma afirmao que certos objetos pertencem ao conjunto.
(ii) RECURSO: regras que indicam como formar novos conjuntos a partir de
elementos que so conhecidos estarem em conjuntos.
(iii) RESTRIO: uma afirmao que somente os objetos obtidos atravs dos
passos (i) e (ii) pertencem ao conjunto.
Essas mesmas regras podem ser usadas para definir outros objetos de forma
recursiva.

UFMG/ICEx/DCC

MD

Conceitos

450

Definio recursiva: Expresses booleanas


Definio:
(i) BASE: cada smbolo do alfabeto (por exemplo, latino) uma expresso
booleana.
(ii) RECURSO: se P e Q so expresses booleanas ento tambm so
(a) (P Q)
e
(b) (P Q)
e
(c) P
(iii) RESTRIO: no existem expresses booleanas sobre o alfabeto alm
das definidas em (i) e (ii).
Exemplo:
Alfabeto = {a, b, c, . . . , x, y, z}
uma expresso booleana vlida?
((p q) (r p))
1.
2.
3.
4.

Por (i): p, q e r so expresses booleanas.


Por (1), (iia), (iic): (p q) e r so expresses booleanas.
Por (2), (iic), (iia): (p q) e (r p) so expresses booleanas.
Por (3), (iib): ((p q) (r p)) uma expresso booleana.

UFMG/ICEx/DCC

MD

Conceitos

451

Definio recursiva: Strings sobre um alfabeto


Considere o alfabeto = {a, b}. O conjunto de todos strings de tamanho
finito sobre representado por e pode ser definido recursivamente
como:
(i) BASE: pertence a , onde o string nulo.
(ii) RECURSO: se s , ento
(a) sa
e
(b) sb
(iii) RESTRIO: nenhum outro string pertence a alm dos definidos em
(i) e (ii).
Exemplo:
Alfabeto: = {a, b}
A expresso ab pertence a ?
1. Por (i): .
2. Por (1), (iia): a . Mas a a concatenao do string nulo com a,
que equivalente a a. Logo, a .
3. Por (2), (iib): ab .
UFMG/ICEx/DCC

MD

Conceitos

452

Definio recursiva: Soma e Produto


Definio (Soma):
Dados os nmeros a1, a2, . . . , an, onde n um inteiro positivo, o somatrio
P
desses n nmeros, que representado por n
i=1 ai , definido como
1
X

ai = a1

i=1

n
X

ai = (

i=1

n1
X

ai) + an, se n > 1.

i=1

Definio (Produto):
Dados os nmeros a1, a2, . . . , an, onde n um inteiro positivo, o produtrio
Qn
desses n nmeros, que representado por i=1 ai, definido como
1
Y
i=1

UFMG/ICEx/DCC

ai = a1

n
Y

ai = (

ai) an, se n > 1.

i=1

i=1

MD

n1
Y

Conceitos

453

Definio recursiva: Unio e Interseco


Definio (Unio):
Dados os conjuntos A1, A2, . . . , An, onde n um inteiro positivo, a unio
S
desses n conjuntos, que representada por n
i=1 Ai , definido como
1
[

A i = A1

n
[

i=1

Ai = (

i=1

n1
[

Ai )

An .

i=1

Definio (Interseco):
Dados os conjuntos A1, A2, . . . , An, onde n um inteiro positivo, a interTn
seco desses n conjuntos, que representada por i=1 Ai, definido como
1
\

A i = A1

n
\

i=1

i=1

UFMG/ICEx/DCC

Ai = (

MD

Conceitos

n1
\

Ai )

An .

i=1

454

Definio recursiva: Funo


Uma funo dita ser definida recursivamente se ela refere-se a si mesma.
Funes recursivas tm um papel fundamental em teoria da computao.
Exemplo: Funo 91 de McCarthy.
(

M (n) =

n 10
se n > 100
M (M (n + 11)) se n 100

M (99) = M (M (110))
= M (100)
= M (M (111))
= M (101)
= 91

UFMG/ICEx/DCC

MD

Conceitos

455

Definio recursiva: Funo


Exemplo: Funo de Ackermann
A(0, n) = n + 1
A(m, 0) = A(m 1, 1)
A(m, n) = A(m 1, A(m, n 1))
A(1, 2) = A(0, A(1, 1))
= A(0, A(0, A(1, 0)))
= A(0, A(0, A(0, 1)))
= A(0, A(0, 2))
= A(0, 3)
= 4

UFMG/ICEx/DCC

MD

Conceitos

456

Definio recursiva: Funo


Essa funo possui uma taxa de crescimento impressionante:
222
A(4, 4) =

65536

Funo importante em Cincia da Computao que est relacionada com


computabilidade.

UFMG/ICEx/DCC

MD

Conceitos

457

Funo recursiva que no bem definida


Seja a funo G : Z+ Z. Para todos inteiros n 1:

se n = 1
se n par
G(3n 1) se n mpar e n > 1

G(n) = 1 + G( n
2)

A funo G bem definida?


No.
G(1) = 1

G(2) = 1 + G(1) = 1 + 1 = 2
G(3) = G(8) = 1 + G(4) = 1 + (1 + G(2))
= 1 + (1 + 2) = 4
G(4) = 1 + G(2) = 1 + 2 = 3
G(5) = G(14) = 1 + G(7) = 1 + G(20)
= 1 + (1 + G(10))
= 1 + (1 + (1 + G(5))) = 3 + G(5)

UFMG/ICEx/DCC

MD

Conceitos

458

Funo recursiva que no sabe se bem definida


Seja a funo H : Z+ Z. Para todos inteiros n 1:

H(n) =

se n = 1

n)
se n par
1
+
H(
2

H(3n + 1) se n mpar e n > 1

A funo H bem definida?


No se sabe.
A funo computvel para todos inteiros n,
1 n < 109.

UFMG/ICEx/DCC

MD

Conceitos

459

Anlise Combinatria
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

460

Introduo
Ramo da matemtica que trata da contagem.
Em geral, a dificuldade no est em como contar mas o que contar.
Em Cincia da Computao, questes de contagem so importantes j que
temos uma quantidade finita de recursos.
Exemplos:
Quanto de memria ser utilizado por um determinado programa que faz
alocao dinmica de memria?
Quantos usurios um determinado sistema computacional tem capacidade
de atender?
Quantas computaes um determinado algoritmo executa? (Qual o custo
computacional em termos de tempo e espao de um determinado algoritmo?)
Alm disso, contagem a base de probabilidade e estatstica.
Contagem baseada em dois princpios:
Princpio da Multiplicao
Princpio da Adio
UFMG/ICEx/DCC

MD

Conceitos

461

rvore de possibilidades e
Princpio da multiplicao
Uma rvore um tipo particular de um grafo onde no existem ciclos.
uma estrutura muito til para registrar todas as possibilidades em situaes
em que os eventos ocorrem em ordem.

UFMG/ICEx/DCC

MD

Conceitos

462

rvore de possibilidades e
Princpio da multiplicao
Exemplo 1 Regras para deciso de um torneiro entre os times A e B:
Cada jogo tem sempre um vencedor
O time para ser campeo deve vencer dois jogos consecutivos ou um total de
trs jogos
De quantas formas diferentes o torneio pode ser jogado?

UFMG/ICEx/DCC

MD

Conceitos

463

rvore de possibilidades e
Princpio da multiplicao

AxB

A*
A

AxB

AxB

AxB

B* B

A*

A
AxB

A*

AxB

AxB

B* B
B

B*
B

AxB

A*

AxB

A*
B*

B* B
B

Notao: X indica que o time X vencedor.

UFMG/ICEx/DCC

MD

Conceitos

464

rvore de possibilidades e
Princpio da multiplicao
Exemplo 1 (continuao) Formas diferentes de o torneio ser jogado:
1. AA
2. ABAA
3. ABABA
A*
A*
A

A
4. ABABB
AxB
AxB
A
A
AxB

AxB
5. ABB
B* B
B
A
B
B
6. BAA
AxB

7. BABAA
A*
A
A
AxB

AxB
8. BABAB
B
A
A
AxB
B* B
9. BABB
B* B
AxB
B
B

10. BB
Ou seja, 10 formas
diferentes.

UFMG/ICEx/DCC

MD

Conceitos

A*
B*
A*
B*

465

rvore de possibilidades e
Princpio da multiplicao
Exemplo 2 Considere um sistema computacional que possui quatro unidades
de Entrada/Sada A, B, C e D e trs processadores X, Y e Z. Qualquer
unidade de E/S pode ser conectada a um processador. Quantas possibilidades
existem de conectar uma unidade de E/S a um processador?
E/S
A

Processador
X
Y
Z
X

4 3 = 12

Sistema
Computacional

ou seja, 12 configuraes
diferentes

X
C

Y
Z
X

Y
Z

UFMG/ICEx/DCC

MD

Conceitos

466

Princpio da multiplicao
Se uma operao consiste em k passos, sendo que
o primeiro passo pode ser executado de n1 formas diferentes, ou seja, existem n1 possibilidades para o passo 1,
o segundo passo pode ser executado de n2 formas diferentes, e assim, sucessivamente, at
o k-simo passo que pode ser executado de nk formas diferentes
ento toda a operao pode ser executada de
n1 n2 . . . nk
formas diferentes.

UFMG/ICEx/DCC

MD

Conceitos

467

Princpio da multiplicao
Exemplo 3 Um nmero de identificao formado por uma sequncia de quatro smbolos escolhidos de um conjunto formado pelas 26 letras do alfabeto e
os 10 dgitos. Quantos nmeros de identificao diferentes existem se repetio
de smbolos permitida?
Observe que:
O conjunto de smbolos formado por 36 smbolos S = {A, . . . , Z, 0, . . . , 9}.
A ordem de ocorrncia dos smbolos importante.
Para cada posio existem 36 possibilidades.
Assim, existem
36 36 36 36 = 364 = 1 679 616
nmeros de identificao diferentes.

UFMG/ICEx/DCC

MD

Conceitos

468

Princpio da multiplicao
Exemplo 4 Suponha o mesmo cenrio anterior de nmero de identificao mas
com a restrio que smbolos no podem ser repetidos. Neste caso, quantos
nmeros de identificao existem?
Observe que:
O conjunto de smbolos formado por 36 smbolos.
A ordem de ocorrncia dos smbolos importante.
Para a primeira posio existem 36 possibilidades.
Para a segunda posio, pode-se escolher um smbolo do subconjunto S2
formado por S menos o smbolo escolhido para a primeira posio. Assim, o
subconjunto S2 possui sempre 35 smbolos.
Da mesma forma, para a terceira posio, o subconjunto S3 possui 34 smbolos e, para a quarta posio, o subconjunto S4 possui 33 smbolos.
Assim, existem
36 35 34 33 = 1 413 720
nmeros de identificao diferentes.
UFMG/ICEx/DCC

MD

Conceitos

469

Princpio da multiplicao
Exemplo 5 Suponha que A1, A2, A3, A4 so conjuntos com n1, n2, n3, n4
elementos respectivamente. Mostre que o conjunto A1 A2 A3 A4 tem
n1 n2 n3 n4 elementos.
Cada elemento em A1 A2 A3 A4 uma tupla ordenada da forma
(a1, a2, a3, a4), onde a1 A1, a2 A2, a3 A3, a4 A4. O processo
de construir estas tuplas ordenadas uma operao de quatro passos:
1.
2.
3.
4.

Selecione o primeiro elemento da tupla do conjunto A1.


Selecione o segundo elemento da tupla do conjunto A2.
Selecione o terceiro elemento da tupla do conjunto A3.
Selecione o quarto elemento da tupla do conjunto A4.

Para cada um dos passos 1 a 4 acima, existem n1, n2, n3, n4 formas respectivamente. Assim, pela regra da multiplicao existem n1 n2 n3 n4 tuplas
distintas no conjunto A1 A2 A3 A4.
UFMG/ICEx/DCC

MD

Conceitos

470

Princpio da multiplicao
Exemplo 6 Considere o conjunto de todos os circuitos eletrnicos com duas entradas lgicas (P e Q) e uma sada lgica. Quantas tabelas da verdade distintas,
considerando a entrada e sada, podem ser construdas para este cenrio?
Esquema de um circuito e uma possvel tabela de entrada e sada:
P Q Sada
1a linha 1
1
1
P C IRCUITO
2a linha 1
0
0
Sada
Q - E LETRNICO
3a linha 0
1
1
4a linha 0
0
0
Observe que:
Cada linha de entrada corresponde a uma possvel entrada.
Para cada linha existem duas possibilidades de sada.
A ordem em que cada linha de entrada considerada importante.

UFMG/ICEx/DCC

MD

Conceitos

471

Princpio da multiplicao
Assim, existem
|

2
2
2
2
{z
}|
{z
}|
{z
}|
{z
} = 16
1a linha
2a linha
3a linha
4a linha

tabelas da verdade distintas.

UFMG/ICEx/DCC

MD

Conceitos

472

Princpio da multiplicao
Exemplo 7 Considere o mesmo problema do exemplo anterior mas um circuito
eletrnico com k entradas. Quantas tabelas distintas existem?
Observe que:
As mesmas consideraes anteriores so vlidas.
Existem 2k linhas de entrada diferentes.
Assim, existem
k
2
. . 2} = 2
|2 .{z
2k vezes

tabelas da verdade distintas.


2

Note que para o exemplo anterior (k = 2), temos 22 = 24 = 16 tabelas


distintas.

UFMG/ICEx/DCC

MD

Conceitos

473

Princpio da multiplicao
Exemplo 8 Quantas vezes os comandos do trecho de programa abaixo so
executados?
for i 1 to 4 do
for j 1 to 3 do
Comandos a serem executados;
endfor;
endfor;

Observe que:
Claramente existe uma ordem para execuo de cada comando.
Veja que a combinao de variveis de controle pode ser representada por
um par ordenado (i, j) que tm os seguintes valores:
(1, 1), . . . , (1, 3), (2, 1), . . . , (2, 3), . . . , (4, 1), . . . , (4, 3).
Assim, os comandos so executados
{z
1) + 1} = 4 3 = 12
(4
{z
1) + 1} (3
|
|
i

vezes.
UFMG/ICEx/DCC

MD

Conceitos

474

Princpio da multiplicao
Exemplo 9 Considere o mesmo problema do exemplo anterior com comandos
de repetio aninhados. As variveis de controle so c1, c2, . . . , cn, que podem
assumir valores nas faixas [Ic1 , Sc1], [Ic2 , Sc2], . . . , [Icn , Scn], respectivamente
(I para inferior e S para superior). Quantas vezes os comandos presentes no
loop mais interno controlado pela varivel cn so executados?
Observe que:
As mesmas consideraes anteriores so vlidas.
Assim, os comandos presentes no loop mais interno controlado pela varivel cn
so executados
((Sc1 Ic1 ) + 1) ((Sc2 Ic2 ) + 1) . . . |((Scn {z
Icn ) + 1)}
|

{z
c1

} |

{z
c2

cn

vezes.

UFMG/ICEx/DCC

MD

Conceitos

475

Princpio da multiplicao
Exemplo 10 Considere o seguinte problema: As posies de presidente,
tesoureiro e secretrio tm que ser escolhidas entre quatro pessoas A, B, C
e D. Alm disso, existem duas restries:
(a) A no pode ser presidente;
(b) C ou D deve ser o secretrio.
Quantas escolhas distintas existem?
natural tentar resolver o problema usando o princpio de multiplicao. Uma
possibilidade fazer o seguinte raciocnio:
Existem trs escolhas para presidente j que A no pode ser;
Existem trs escolhas para tesoureiro de um conjunto de quatro candidatos;
Duas escolhas para secretrio.
o que daria 3 3 2 = 18 possibilidades.
Observe que:
O nmero de escolhas de secretrio depende de como o presidente e o
tesoureiro so escolhidos e o valor acima no correto.
UFMG/ICEx/DCC

MD

Conceitos

476

Princpio da multiplicao
Exemplo 10 (continuao) A rvore abaixo mostra todas as possibilidades:
Presidente

Tesoureiro
A

Secretrio
C

D
A
Chapa

D
D
C
D

C
B
A

D
C

D
B

Este problema ilustra a questo da rea de Combinatria:


Em geral, a dificuldade no est em como contar mas o que contar.
UFMG/ICEx/DCC

MD

Conceitos

477

Princpio da multiplicao
Exemplo 10 (continuao) Estratgia para resoluo do problema usando o
princpio da multiplicao:
(a) Escolha o secretrio, j que existem duas possibilidades apenas: C ou D;
(b) Escolha o presidente. Neste caso, existem apenas duas possibilidades j
que A e a pessoa escolhida como secretrio no podem ser escolhidas
como presidente;
(c) Escolha o tesoureiro, que pode ser uma das duas pessoas restantes.
o que d 2 2 2 = 8 possibilidades.

UFMG/ICEx/DCC

MD

Conceitos

478

Princpio da multiplicao
Exemplo 10 (continuao) A rvore abaixo mostra todas essas possibilidades:
Secretrio

Presidente

Tesoureiro
A

B
D

A
D
B
Chapa
A
B
C

A
C
B
UFMG/ICEx/DCC

MD

Conceitos

479

Princpio da multiplicao
Exemplo 11 Um estudante tem:
4 livros de sistemas operacionais;
7 livros de programao; e
3 livros de estruturas de dados.
De quantas formas diferentes os livros podem ser colocados na prateleira de
uma estante, dado que livros de um mesmo assunto devem ficar juntos?
Observe que:
A ordem de ocorrncia dos conjuntos de livros na estante importante.
Dentro de cada conjunto de livros a ordem tambm importante.
O problema pode ser dividido em duas partes: nmero de ordenaes de
conjuntos e, dentro de cada conjunto, ordenao dos livros.

UFMG/ICEx/DCC

MD

Conceitos

480

Princpio da multiplicao
Exemplo 11 (continuao) A quantidade de ordenaes de conjuntos de livros
dada por:
2
1
3
{z
}|
{z
}=6
{z
}|
|
# possibilidades para # possibilidades para # possibilidades para
o primeiro conjunto o segundo conjunto o terceiro conjunto
(meio)
(direita)
(esquerda)
Para cada um dos conjuntos de livros, temos as seguintes possibilidades:
Sistemas operacionais (4 livros): 4 3 2 1 = 4!
Programao (7 livros): 7 6 . . . 1 = 7!
Estruturas de dados (3 livros): 3 2 1 = 3!
Assim, temos
6 (4! 7! 3!) = 4 354 560
possibilidades de colocar os livros na estante.
UFMG/ICEx/DCC

MD

Conceitos

481

Princpio da multiplicao
Exemplo 12 Quantos inteiros de trs dgitos so divisveis por 5?
Observe que:
Os nmeros inteiros candidatos esto no intervalo [100, 999].
Os nmeros candidatos terminam em 0 ou 5.
Primeira estratgia para resolver o problema:
Os nmeros divisveis por 5 nesse intervalo podem ser criados a partir da
concatenao de dgitos provenientes dos seguintes conjuntos, nessa ordem:
{1, 2, 3, 4, 5, 6, 7, 8, 9}{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}{0, 5}
Assim, essa quantidade dada por:
10
2
9
{z
} = 180
{z
}|
{z
}|
|
# possibilidades para # possibilidades para # possibilidades para
o primeiro conjunto o segundo conjunto o terceiro conjunto
(unidade)
(centena)
(dezena)
UFMG/ICEx/DCC

MD

Conceitos

482

Princpio da multiplicao
Exemplo 12 (continuao) Note que o mesmo problema pode ser resolvido por
outra estratgia que no envolve o princpio da multiplicao.
Segunda estratgia para resolver o problema:
Enumere os nmeros divisveis por 5 nesse intervalo:
100
l
5 20

...

105
l
5 21

...

995
...
l
5 199

999

Assim, os divisores por 5 dos inteiros no intervalo [100, 999] so os nmeros


20, 21, . . . , 199.
A quantidade de divisores dada por (199 20) + 1 = 180.

UFMG/ICEx/DCC

MD

Conceitos

483

Princpio da multiplicao
Exemplo 13 Quantos inteiros no intervalo [1,1000] so divisveis por 3 ou divisveis por 5?
Vamos usar a segunda estratgia do problema anterior:
(a) Enumere os nmeros divisveis por 3 nesse intervalo;
(b) Enumere os nmeros divisveis por 5 nesse intervalo;
(c) Enumere os nmeros divisveis por 3 e 5 (ou seja, 15) nesse intervalo.
A soluo deste problema dado por (a) + (b) (c) = 333 + 200 66 =
467.
(a) Nmeros divisveis por 3 nesse intervalo: 333.
3 1, 3 2, . . . , 3 333.
(b) Nmeros divisveis por 5 nesse intervalo: 200.
5 1, 5 2, . . . , 5 200.
(c) Nmeros divisveis por 15 nesse intervalo: 66.
15 1, 15 2, . . . , 15 66.
UFMG/ICEx/DCC

MD

Conceitos

484

Princpio da multiplicao
Exemplo 14
Quantos nmeros palndromos existem que possuem cinco dgitos?
Um nmero palndromo tem a seguinte regra de formao de dgitos:
1 = d 1

2 = d2

3 = d3

4 = d2

5 = d1

Ou seja, o primeiro dgito e o quinto dgito so idnticos, assim como o segundo e quarto dgitos.
Vamos usar o seguinte raciocnio:
(a) Nmero de opes para o primeiro dgito (d1 ) = n 1.
(b) Nmero de opes para o segundo dgito (d2 ) = n.
(c) Nmero de opes para o terceiro dgito (d3 ) = n.
(d) Nmero de opes para o quarto dgito (d2 ). o mesmo valor do segundo dgito e deve
ser considerado um nico elemento que j foi contado.
(e) Nmero de opes para o quinto dgito (d1 ). o mesmo valor do primeiro dgito e deve
ser considerado um nico elemento que j foi contado.
A soluo deste problema dado por (a) (b) (c) = (n 1) n n = n3 n2

UFMG/ICEx/DCC

MD

Conceitos

485

Princpio da multiplicao
Exemplo 15 Use o princpio da multiplicao para provar que o conjunto
X = {x1 , x2 , . . . , xn }
com n elementos possui 2n subconjuntos (que a cardinalidade do conjunto P(X)).
Prova. Um subconjunto qualquer de X pode ser construdo em n passos:
1. Inclua ou no o elemento x1 ;
2. Inclua ou no o elemento x2 ;
...
n. Inclua ou no o elemento xn ;
Em cada passo existem duas possibilidades. Assim, o nmero de de subconjuntos de X dado
por:
n
|2 2
{z. . . 2} = 2
n fatores

Observe, por exemplo, que o conjunto obtido quando nenhum elemento de X escolhido.

UFMG/ICEx/DCC

MD

Conceitos

486

Permutao
Definio: um arranjo ordenado de objetos sem repetio.
A ordem importante.
Pode-se aplicar o princpio da multiplicao.
Exemplo 16 Seja o conjunto A = {a, b, c}.
(a) Quantas permutaes existem?
3
2
1
{z
}|
{z
}=6
|
{z
}|
# possibilidades para # possibilidades para # possibilidades para
o primeiro elemento o segundo elemento o terceiro elemento
(b) Quais so elas?
1. abc

2. acb

3. bac

4. bca

5. cab

6. cba

UFMG/ICEx/DCC

MD

Conceitos

487

Permutao: Caso I
Seja um conjunto com n elementos. Quantas permutaes existem considerando todos os elementos e que no h repetio?
Observe que:
A ordem de ocorrncia dos smbolos do conjunto importante.
Aplicando-se o princpio da multiplicao, temos:
n

(n-1)

{z
} |
|
{z
}
# possibilidades para # possibilidades para
o primeiro elemento o segundo elemento

UFMG/ICEx/DCC

MD

... ...|

Conceitos

= n!

{z
}
# possibilidades para
o n-simo elemento

488

Permutao: Caso II
Seja um conjunto com n elementos. Quantas permutaes existem considerando r (1 r n) elementos desse conjunto e que no h repetio?
Observe que:
A ordem de ocorrncia dos smbolos do conjunto importante.
Aplicando-se o princpio da multiplicao, temos:

(n-1)

{z
} |
|
{z
}
# possibilidades para # possibilidades para
o primeiro elemento o segundo elemento
n
Y

... ...|

(n-r+1)
{z

}
# possibilidades para
o r-simo elemento

i = (n r + 1) . . . (n 1) n =

i=nr+1

n (n 1) . . . (n r + 1)

UFMG/ICEx/DCC

(n r) (n r 1) . . . 2 1
n!
=
(n r) (n r 1) . . . 2 1
(n r)!
MD

Conceitos

489

Permutao: Caso genrico


Dado um conjunto com n (n 1) elementos e um valor de r (1 r n),
existem
n!
P (n, r) =
(n r)!
permutaes de elementos desse conjunto considerando que no h repetio.
Lembre-se que na Permutao:
Elementos no so repetidos.
A ordem em que esses elementos aparecem importante, ou seja, a permutao pode ser representada por uma tupla ordenada.

UFMG/ICEx/DCC

MD

Conceitos

490

Permutao: Caso genrico


Exemplo 17 Avalie as seguintes permutaes:
(a) P (5, 2).
P (5, 2) =

5 4 3!
5!
=
= 20
(5 2)!
3!

(b) Quantidade de permutaes de tamanho 4 de um conjunto de 7 objetos.


7!
7 6 5 4 3!
P (7, 4) =
=
= 840
(7 4)!
3!

UFMG/ICEx/DCC

MD

Conceitos

491

Permutao: Caso genrico


Exemplo 18 Avalie P (n, 2) + P (n, 1), para n 2.
n!
n!
+
P (n, 2) + P (n, 1) =
(n 2)!
(n 1)!
=

n (n 1)!
n (n 1) (n 2)!
+
(n 2)!
(n 1)!

= n (n 1) + n
= n2 n + n
= n2

UFMG/ICEx/DCC

MD

Conceitos

492

Permutao
Exemplo 19 Permutaes de letras de uma palavra:
(a) De quantas formas diferentes as letras da palavra COMPUTER podem ser
arranjadas numa sequncia (fila)?
Todas as letras na palavra COMPUTER so distintas. Assim, o nmero de
formas distintas de arranjar as letras o nmero de permutaes de um
conjunto de oito elementos, ou seja, 8! = 40 320.

(b) De quantas formas diferentes as letras da palavra COMPUTER podem ser


arranjadas se as letras CO devem permanecer unidas nesta ordem?
Se as letras CO devem permanecer unidas existem efetivamente sete objetos a serem arranjados. Assim, o nmero de permutaes 7! = 5 040.

UFMG/ICEx/DCC

MD

Conceitos

493

Permutao
Exemplo 20 Permutaes de objetos ao redor de um crculo:
A

Numa reunio, seis pessoas vo estar sentadas mesa


que tem formato circular. De quantas formas diferentes
essas pessoas podem se sentar?

Identifique as pessoas como A, B, C, D, E e F. Somente as posies relativas


importam j que no existe uma identificao de assento na mesa. Por exemplo,
comece com A e considere todos os arranjos das outras pessoas em relao
a A. As pessoas B a F podem se sentar em volta de A de todas as formas
possveis. Assim, existem 5! = 120 formas de arranjar o grupo.

UFMG/ICEx/DCC

MD

Conceitos

494

Princpio da adio
Existem problemas de contagem que podem ser resolvidos contando o nmero de elementos:
na unio de dois conjuntos,
na diferena entre dois conjuntos, e
na interseco de dois conjuntos
O princpio a ser usado neste caso chamado de Princpio da Adio.

UFMG/ICEx/DCC

MD

Conceitos

495

Princpio da adio
Se uma operao consiste em k passos distintos, onde os passos so mutuamente disjuntos, sendo que
o primeiro passo pode ser executado de n1 formas diferentes, ou seja, existem n1 possibilidades para o passo 1,
o segundo passo pode ser executado de n2 formas diferentes, e assim sucessivamente at
o k-simo passo que pode ser executado de nk formas diferentes
ento toda a operao pode ser executada de
n1 + n2 + . . . + nk
formas diferentes.

UFMG/ICEx/DCC

MD

Conceitos

496

Princpio da adio
Exemplo 21 Uma senha de usurio de um sistema computacional pode ser
formada por sequncias de uma a trs letras maisculas, sendo que repeties
so permitidas. Quantas senhas diferentes existem?
Observe que:
O conjunto de todas as senhas formada pelos subconjuntos de senhas de
uma, duas e trs letras.
Em cada um desses subconjuntos temos a seguinte quantidade de senhas:
Uma letra: 26
Duas letras: 26 26 = 262
Trs letras: 26 26 26 = 263
Assim, pelo princpio da adio temos:
26 + 262 + 263 = 18 278
senhas de usurio diferentes.
UFMG/ICEx/DCC

MD

Conceitos

497

Princpio da adio
Exemplo 22 Quantos nmeros inteiros mpares existem no intervalo [10,99]
com dgitos distintos?


Nmeros com
dgitos distintos

Dgitos das dezenas


I

Dgitos das unidades


II

Os cinco nmeros mpares com dgitos iguais so 11, 33, 55, 77 e 99. Logo,
deve-se subtrair 5.
I |{1, 2, . . . , 9}| = 9
II |{1, 3, 5, 7, 9 }| = 5
Nmeros com dgitos distintos = 9 5 5 = 40

UFMG/ICEx/DCC

MD

Conceitos

498

Princpio da adio
Uma consequncia importante do princpio da adio que se o nmero de
elementos de um conjunto A (n(A)) e de um subconjunto prprio B (n(B)) de
A so ambos conhecidos, ento o nmero de elementos de A que no esto
em B pode ser calculado:
n(A B) = n(A) n(B)

A expresso acima verdadeira j que se B um subconjunto de A, ento


B (A B) = A
e os dois conjuntos B e A B no possuem elementos em comum. Assim,
pelo princpio da adio,
n(B) + n(A B) = n(A)
n(A B) = n(A) n(B)

UFMG/ICEx/DCC

MD

Conceitos

499

Princpio da adio
Exemplo 23 No exemplo 3 vimos que existem 364 = 1 679 616 identificadores formados por uma sequncia de quatro smbolos escolhidos de um
conjunto formado pelas 26 letras do alfabeto e os 10 dgitos, com repetio de
smbolos. Dessa quantidade quantos identificadores possuem pelo menos um
smbolo repetido?
Observe que:
A quantidade de identificadores com pelo menos um smbolo repetido dado
por:
Total de identificadores de tamanho quatro com smbolos repetidos e
no repetidos menos total de identificadores de tamanho quatro com
smbolos no repetidos.
Assim, o total de identificadores de tamanho quatro com pelo menos um smbolo
repetido dado por
364 (36 35 34 33) = 1 679 616 1 413 720 = 265 896
UFMG/ICEx/DCC

MD

Conceitos

500

Princpio da adio
Exemplo 24 Quantos nmeros inteiros existem no intervalo [1, 100 000] que
contm o algarismo 6 exatamente uma nica vez?
O algarismo 6 pode aparecer exatamente uma nica vez nas seguintes posies:
6
6
6
6
6
Nas outras posies podemos escolher qualquer algarismo de 0 a 9, exceto o
6, ou seja, nove possibilidades.
Assim, temos 5 94 = 32805 nmeros.

UFMG/ICEx/DCC

MD

Conceitos

501

Princpio da adio
Exemplo 25 Quantos nmeros inteiros existem no intervalo [1, 100 000] que
contm pelo menos um algarismo 6?
Para resolver este problema, vamos calcular a quantidade de nmeros que no tem o algarismo
6 no intervalo. Neste caso, o intervalo fica alterado para [1, 99 999] j que 100 000 no contm
o algarismo 6.
Temos cinco posies onde podemos preencher com os algarismos de 0 a 9, exceto o 6, ou
seja, temos nove possibilidades, o que gera 95 = 59 049 nmeros sem o algarismo 6. No
entanto, uma dessas sequncias formada por cinco 0s, que est fora do intervalo pedido
e, assim, temos 59 049 1 = 59 048 nmeros no intervalo [1, 99 999] que no contm o
algarismo 6.
Sabemos que no intervalo [1, 99 999] temos 99 999 nmeros sendo que 59 048 deles no
contm o algarismo 6. Logo, temos
99 999 59 048 = 40 951
nmeros que contm pelo menos um algarismo 6.

UFMG/ICEx/DCC

MD

Conceitos

502

Princpio da adio
Exemplo 26 O segredo de um cofre requer trs nmeros no intervalo [1, 39]. Suponha
que o segredo pode ser construdo de tal forma que o mesmo nmero no pode ser usado
em sequncia mas o mesmo nmero pode ser usado na primeira e terceira posies. Quantos
segredos existem?
Podemos resolver este problema usando a seguinte estratgia:
(a) Calcular a quantidade de segredos supondo que sequncias de nmeros idnticos so
permitidas;
Isto dado por 393 = 59 319.
(b) Calcular a quantidade de segredos onde os trs nmeros so idnticos;
Existem exatamente 39 segredos onde os trs nmeros so idnticos.
(c) Calcular a quantidade de segredos onde existem dois nmeros idnticos em sequncia;
Existem (39 38) 2 = 2 964 segredos onde h dois nmeros idnticos em sequncia. Estes dois cenrios podem ser representados por:
n1
n1
n2 6= n1
n2 6= n1
n1
n1
e
.
1
2
3
1
2
3
sendo que n1 pode variar de 1 a 39 e n2 tambm, exceto que no pode ter o mesmo
valor de n1 .
Logo, o nmero de segredos que satisfazem o problema dado por
(a) (b) (c) = 59 319 39 2 964 = 56 316.
UFMG/ICEx/DCC

MD

Conceitos

503

Princpio da adio
Exemplo 26 (continuao)
De uma forma genrica, o segredo de um cofre que requer trs nmeros no intervalo [1, n],
onde o mesmo nmero no pode ser usado em sequncia mas o mesmo nmero pode ser
usado na primeira e terceira posies tem a seguinte quantidade de segredos:
(a) Quantidade de segredos supondo que sequncias de nmeros idnticos so permitidas:
Isto dado por n3 .
(b) Quantidade de segredos onde os trs nmeros so idnticos:
Existem exatamente n segredos onde os trs nmeros so idnticos.
(c) Quantidade de segredos onde existem dois nmeros idnticos em sequncia:
Existem n (n 1) 2 segredos onde h dois nmeros idnticos em sequncia.
Logo, a quantidade de segredos que satisfazem o problema dado por
(a) (b) (c) = n3 n 2n(n 1) = n3 2n2 + n.

UFMG/ICEx/DCC

MD

Conceitos

504

Resolvendo o mesmo problema com o princpio da


multiplicao
Exemplo 26 (continuao)
Este mesmo problema pode ser resolvido usando o princpio da multiplicao da seguinte forma:
(a) Quantidade de nmeros que podem ser usados como primeiro nmero do segredo:
Isto dado por n.
(b) Quantidade de nmeros que podem ser usados como segundo nmero do segredo:
Isto dado por n 1, j que o primeiro nmero do segredo no pode ser repetido no
segundo nmero.
(c) Quantidade de nmeros que podem ser usados como terceiro nmero do segredo:
Isto tambm dado por n 1. Note que temos n opes de nmeros como terceira
opo, mas o segundo nmero no pode ser usado na terceira opo.
Logo, a quantidade de segredos que satisfazem o problema dado por
(a) (b) (c) = n(n 1)(n 1) = n(n2 2n + 1) = n3 2n2 + n.

UFMG/ICEx/DCC

MD

Conceitos

505

Combinao e Permutao
Para cada combinao C(n, r), existem r! formas de permutar os r objetos.
Ou ainda, para cada permutao P (n, r) existem r! arranjos com o mesmo
conjunto de r objetos distintos.
Pelo Princpio da Multiplicao, o nmero de permutaes de r objetos distintos escolhidos de n objetos o produto da quantidade de formas de escolher
os r objetos, C(n, r), pela quantidade de formas de arranjar os r objetos, r!,
ou seja,
C(n, r) r! = P (n, r)
Ou ainda
C(n, r) =

UFMG/ICEx/DCC

P (n, r)
n!
=
r!
r!(n r)!

MD

Conceitos

506

Combinao e Permutao
Exemplo 27
Enfileiramento: De quantas formas diferentes pode-se formar uma fila com sete marcianos e
cinco jovianos, sendo que dois jovianos no podem ficar juntos?
Se dois jovianos no podem ficar juntos, a nica configurao possvel de lugares na fila dada
por:
M1
1

M2
2

M3
3

M4
4

M5
5

M6
6

M7
7

onde Mi , i = 1 . . . 7, representam os marcianos e as posies vazias de 1 a 8 representam os


possveis lugares que os jovianos podem ocupar, sendo que trs delas estaro vazias j que
temos apenas cinco jovianos.
Assim, este enfileiramento pode ser feito em duas etapas:
(a) Posies dos marcianos no cenrio acima:
Isto dado por 7! = 5 040.
(b) Posies dos jovianos nos oito lugares acima:
Note que devemos escolher cinco posies e para cada conjunto de posies ter uma
permutao. Isto dado por C(8, 5) 5!, que exatamente P (8, 5) = 6 720
A quantidade total de enfileiramentos dada por 5 040 6 720 = 33 868 800.
UFMG/ICEx/DCC

MD

Conceitos

507

Combinao
Definio: Sejam n e r inteiros no negativos com r n. Uma combinao
r de um conjunto de n elementos um subconjunto de r dos n elementos.
C(n, r) representa o nmero de subconjuntos de tamanho r que podem ser
obtidos de um conjunto de n elementos.
Formas para representao de uma combinao:
C(n, r)
!

n
r

Cn,r
nCr
nCr

UFMG/ICEx/DCC

MD

Conceitos

508

Combinao e Permutao
Exemplo 28 Quantas combinaes de dois elementos podem ser obtidas do
conjunto {0, 1, 2, 3}?

4!
n!
=
=6
C(n, r) =
r!(n r)!
2! 2!
Esses seis conjuntos so:
{0, 1}, {0, 2}, {0, 3} subconjuntos que contm 0.
{1, 2}, {1, 3}

subconjuntos que contm 1 mas que no foram listados.

{2, 3}

subconjuntos que contm 2 mas que no foram listados.

UFMG/ICEx/DCC

MD

Conceitos

509

Combinao e Permutao
Exemplo 29 Quantos nmeros inteiros existem no intervalo [1, 99 999] que
contm exatamente os dgitos 2, 3, 4 e 5?
Posies que os dgitos podem ser colocados:
1

Idia:
Cada nmero ser representado com cinco dgitos. Assim, 1 ser escrito
como 00001.

UFMG/ICEx/DCC

MD

Conceitos

510

Combinao e Permutao
Exemplo 29 (continuao)
Devemos:
(a) Calcular a quantidade de subconjuntos de quatro posies que iro ter os quatro dgitos
obrigatrios;
Isto dado por C(5, 4) = 5. Existem cinco conjuntos de quatro posies onde os
dgitos obrigatrios podem ser colocados.
(b) Calcular a quantidade de permutaes que podemos ter com os quatro dgitos obrigatrios;
Isto dado por 4! = 24. Para cada conjunto de quatro posies existem 24 permutaes para os quatro dgitos obrigatrios.
(c) Calcular a quantidade de nmeros no intervalo que podemos ter com os dgitos obrigatrios.
Isto dado por 5 24 = 120.
(d) Calcular a quantidade de nmeros no intervalo que podemos ter incluindo os dgitos
restantes, ou seja, {0, 1, 6, 7, 8, 9}.
Isto dado por 6 120 = 720. Existem seis outros dgitos que podem ocupar a quinta
e ltima posio restante para cada permutao dos quatro dgitos obrigatrios.

UFMG/ICEx/DCC

MD

Conceitos

511

Combinao
Suponha que desejamos selecionar r objetos distintos de um conjunto de n
elementos mas a ordem no importante.
Neste caso, estamos contando o nmero de combinaes de r (r n) objetos distintos escolhidos de um conjunto de n (n 1) elementos onde a ordem
no importante.

UFMG/ICEx/DCC

MD

Conceitos

512

Combinao
Exemplo 30 Numa escola, h 10 professores de Matemtica e 15 de Portugus. Pretende-se formar, com esses professores, uma comisso de sete
membros. Quantas comisses distintas podem ser formadas?
Observe que:
O conjunto possui 25 professores.
A ordem no importante.

C(25, 7) =

25!
7! 18!

25 24 23 22 21 20 19 18!
=
7 6 5 4 3 2 18!
= 2 043 500

UFMG/ICEx/DCC

MD

Conceitos

513

Combinao
Exemplo 31 Suponha que times de 5 pessoas vo ser formados de um grupo
de 12 pessoas. Duas pessoas desse grupo (A e B) insistem em trabalhar conjuntamente. Assim, ao se formar um time, ou as duas pessoas esto presentes
ou no. Quantos times podem ser formados?

No total de times

"

No de times que contm


AeB
I

"

No de times que no contm


nem A nem B
II

10! = 120
I C(10, 3) = 3!7!
Os times que contm A e B devem ter mais 3 pessoas das 10 restantes do grupo.
10! = 252
II C(10, 5) = 5!5!
Os times que no contm A e B devem ter 5 pessoas das 10 restantes do grupo.

No total de times = 120 + 252 = 372

UFMG/ICEx/DCC

MD

Conceitos

514

Combinao
Exemplo 32 Suponha o mesmo cenrio anterior mas agora A e B no podem
pertencer simultaneamente a um mesmo time. Quantos times podem ser formados?

No total de times

"

No de times com
A e sem B
I

"

No de times com
B e sem A
II

"

No de times sem
A e sem B
III

10! = 210
I C(10, 4) = 4!6!
Os times com A e sem B devem ter mais 4 pessoas das 10 restantes do grupo (10 porque
A e B esto fora e 4 porque A uma das 5 pessoas).
10! = 210
II C(10, 4) = 4!6!
Idem ao anterior.
10! = 252
III C(10, 5) = 5!5!
Os times que no contm A e B devem ter 5 pessoas das 10 restantes do grupo.

No total de times = 210 + 210 + 252 = 672


UFMG/ICEx/DCC

MD

Conceitos

515

Combinao
Exemplo 32 Este problema tambm pode ser resolvido de outra forma:
"
#
No de times com
No de times com
A e com B
= 5 pessoas
II
I

No total de times

12! = 792
I C(12, 5) = 5!7!
Total de times com 5 pessoas.
10! = 120
II C(10, 3) = 3!7!
Os times que contm A e B devem ter mais 3 pessoas das 10 restantes do grupo.

No total de times = 792 120 = 672

UFMG/ICEx/DCC

MD

Conceitos

516

Expresses pelo menos e no mximo


Seja um conjunto S com 5 elementos.
O que significa escolher subconjuntos com
pelo menos 3 elementos de S, e
no mximo 2 elementos de S?
Pelo menos 3 elementos de S:
Significa escolher subconjuntos com 3, 4 ou 5 elementos.
No mximo 2 elementos de S:
Significa escolher subconjuntos com 0, 1 ou 2 elementos.

UFMG/ICEx/DCC

MD

Conceitos

517

Combinao
Exemplo 33 Suponha que o grupo de 12 pessoas seja formado por 5 homens
e 7 mulheres. Quantos times de 5 pessoas podem ser formados com 3 homens
e 2 mulheres?

No total de times

"

No de times com
3 homens
I

"

No de times com
2 mulheres
II

5! = 10
I C(5, 3) = 2!3!
Total de times com 3 homens.
7! = 21
II C(7, 2) = 2!5!
Total de times com 2 mulheres.

No total de times = 10 21 = 210


Note que o princpio da multiplicao deve ser aplicado j que temos possibilidades diferentes
para formao dos times.

UFMG/ICEx/DCC

MD

Conceitos

518

Combinao
Exemplo 34 Suponha o mesmo grupo anterior. Quantos times de 5 pessoas
podem ser formados com pelo menos um homem?
"
#
No de times com
No de times com
nenhum homem
= 5 pessoas
II
I

No total de times

12! = 792
I C(12, 5) = 5!7!
Total de times com 5 pessoas incluindo homens e mulheres.
7! = 21
II C(7, 5) = 5!2!
O total de times com nenhum homem exatamente a quantidade de times formados apenas por mulheres.

No total de times = 792 21 = 771

UFMG/ICEx/DCC

MD

Conceitos

519

Combinao
Exemplo 34 Este problema tambm pode ser resolvido de outra forma:
   
5
7

1
4
   
5
7

2
3
   
5
7

3
2
   
5
7

4
1
   
5
7

5
0

UFMG/ICEx/DCC

+ {Times com 1 homem e 4 mulheres}


+ {Times com 2 homens e 3 mulheres}
+ {Times com 3 homens e 2 mulheres}
+ {Times com 4 homens e 1 mulher}
{Times com 5 homens e nenhuma mulher}

MD

Conceitos

520

Combinao
Exemplo 35 Suponha o mesmo grupo anterior. Quantos times de 5 pessoas
podem ser formados com no mximo um homem?

No total de times

"

No de times com
nenhum homem
I

"

No de times com
um homem
II

7! = 21
I C(7, 5) = 5!2!
O total de times com nenhum homem exatamente a quantidade de times formados apenas por mulheres.
5! 7! = 5 35 = 175
II C(5, 1) C(7, 4) = 1!4!
4!3!
O total de times com um homem e quatro mulheres.

No total de times = 21 + 175 = 196

UFMG/ICEx/DCC

MD

Conceitos

521

Combinao
Exemplo 36 Numa escola, h 10 professores de Matemtica e 15 de Portugus. Pretende-se formar, com esses professores, uma comisso de sete
membros. Quantas comisses distintas podem ser formadas com, pelo menos,
um professor de Matemtica?
o de comisses com
N
de comisses com
h
i
nenhum professor de

Matemtica

No total de comisses = 7 pessoas


I
II

No

25! = 2 043 500


I C(25, 7) = 7!18!
Total de comisses com 7 pessoas incluindo professores de Matemtica e Portugus.
15! = 25 740
II C(15, 7) = 7!8!
O total de comisses com nenhum professor de Matemtica exatamente a quantidade
de comisses formadas apenas por professores de Portugus.

No total de comisses = 2 043 500 25 740 = 2 017 760


UFMG/ICEx/DCC

MD

Conceitos

522

Combinao
Exemplo 36 Este problema tambm pode ser resolvido de outra forma:
   
10
15

1
6
   
10
15

2
5
   
10
15

3
4
   
10
15

4
3
   
10
15

5
2
   
10
15

6
1
   
10
15

7
0

UFMG/ICEx/DCC

+ {Comisses com 1 professor de Matemtica e 6 professores de Portugus}


+ {Comisses com 2 professores de Matemtica e 5 professores de Portugus}
+ {Comisses com 3 professores de Matemtica e 4 professores de Portugus}
+ {Comisses com 4 professores de Matemtica e 3 professores de Portugus}
+ {Comisses com 5 professores de Matemtica e 2 professores de Portugus}
+ {Comisses com 6 professores de Matemtica e 1 professor de Portugus}
{Comisses com 7 professores de Matemtica e nenhum professor de Portugus}

MD

Conceitos

523

Combinao
Exemplo 37 Suponha o mesmo grupo anterior. Quantas comisses distintas podem ser
formadas com, pelo menos, dois professores de Matemtica e, pelo menos, trs professores de
Portugus?
Por que o raciocnio abaixo est errado?

o de comisses com
N

de comisses com

3
professores
de
Por 2 professores de Ma-

temtica

tugus

I
II

No

No de comisses com
2 professores dentre
os restantes de Matemtica e/ou Portugus
III

10!
I C(10, 2) = 2!8!
= 45
No de comisses com 2 professores de Matemtica.
15!
II C(15, 3) = 3!12!
= 455
No de comisses com 3 professores de Portugus.
20!
III C(20, 2) = 2!18!
= 190
No de comisses com 2 professores dentre os restantes de Matemtica e/ou Portugus.
Note que ficam 20 professores dos 25 do grupo, j que 5 foram escolhidos.
No total de comisses = 45 455 190 = 3 890 250

UFMG/ICEx/DCC

MD

Conceitos

524

Combinao
Exemplo 37 (continuao) O raciocnio foi:
I No de comisses com 2 professores de Matemtica
II No de comisses com 3 professores de Portugus
III No de comisses com 2 professores dentre os restantes de Matemtica e/ou Portugus
Um cenrio da proposio anterior pode ser representado pelos seguintes conjuntos:
I
Professores de Matemtica

III
Professores de Matemtica e
Portugus

F
II
Professores de Portugus

UFMG/ICEx/DCC

Neste cenrio, temos no conjunto I os elementos A e B, no conjunto II os elementos a, b e c,


e no conjunto III os elementos restantes.

MD

Note que podemos escolher os professores de


Matemtica C e D como os elementos do conjunto III.
No entanto, existe outro cenrio onde teremos
no conjunto I os professores C e D e os professores A e B como os outros dois elementos
do conjunto III. Se os elementos do conjunto II
no mudaram ento as comisses resultantes
nos dois cenrios acima so idnticas e, assim,
estamos contando duas vezes a mesma comisso.

Conceitos

525

Combinao
Exemplo 37 (continuao) Este problema pode ser resolvido da seguinte forma:

I
Professores de Matemtica

II
Professores de Portugus

UFMG/ICEx/DCC

{Comisses com 4 professores de Matemtica e


3 professores

  de
 Portugus}

10
4

15
+
3

{Comisses com 3 professores de Matemtica e


4 professores

  de
 Portugus}

10
3

15
+
4

{Comisses com 2 professores de Matemtica e


5 professores
  de
 Portugus}


10
2

15
5

No total de comisses = 95 550 + 163 800 + 135 135 = 394 485.

MD

Conceitos

526

Combinao
Exemplo 38 Seja um baralho comum de 52 cartas que possui quatro naipes (, , , )
de 13 denominaes cada (A, 2, 3, . . . , 10, J, Q, K).
(a) De quantas formas diferentes pode-se ter uma mo de poker (cinco cartas) todas do
mesmo naipe?
Uma mo de poker pode ser construda em dois passos sucessivos: selecione um
naipe e, em seguida, escolha cinco cartas desse naipe. Pelo princpio da multiplicao
temos:
4 C(13, 5) = 5 148.
(b) De quantas formas diferentes pode-se ter uma mo de poker contendo trs cartas de
uma denominao e duas cartas de uma outra denominao?
Essa mo de poker pode ser construda em quatro passos sucessivos: selecione a
primeira denominao para as trs cartas, selecione os trs naipes dessa denominao,
selecione a segunda denominao para as outras duas cartas, selecione os dois naipes
dessa denominao. Pelo princpio da multiplicao temos:
13 C(4, 3) 12 C(4, 2) = 3 744.

UFMG/ICEx/DCC

MD

Conceitos

527

Combinao
Exemplo 39 Dado um grid n m, quantas rotas (caminhos) existem entre a
posio (0, 0) (canto inferior esquerdo) at a posio (n, m) (canto superior
direito) se os nicos movimentos possveis so mover para a direita (D) ou para
cima (C)?

(n,m)

...
...
..
.

..
.

..
.

..
.

..
.

..
.

..
.

...
...
...
...
...

(0,0)

UFMG/ICEx/DCC

MD

Conceitos

528

Combinao
Exemplo 39 (continuao)
Cada rota pode ser expressa por uma sequncia de Ds e Cs, sendo que existem exatamente
n Ds e m Cs, ou seja, cada rota possui n + m passos.
Posies dos movimentos:
...
1

n+m

Observe que se escolhermos as posies para os movimentos Ds as outras posies devem


ser preenchidas com movimentos Cs e vice-versa. Assim, temos n + m posies a serem
preenchidas sendo que n delas com movimentos Ds. Observe que no estamos interessados
numa dada ordem mas sim no conjunto de posies que iro ter o movimento D. Logo, a
quantidade de rotas que satisfaz as restries de movimentos dada por


(n + m)!
n+m
=
,
n
n!m!
que o mesmo valor de


(n + m)!
n+m
=
m
m!n!
se os movimentos Cs forem escolhidos.


UFMG/ICEx/DCC

MD

Conceitos

529

Combinao
Exemplo 40 Quantos strings de 8 bits existem que possuem exatamente trs
bits 1s?
Posies que os bits 1s podem ser colocados:
1

Observe que:
No estamos interessados numa ordem.
Uma vez escolhido um subconjunto de trs posies contendo bits 1s de um
conjunto de oito posies, as posies restantes devem ter o bit 0.
Logo, este problema equivalente a contar o nmero de subconjuntos de trs
posies escolhidos de um conjunto de oito posies.
!

8!
8
=
= 56
3
3! 5!
UFMG/ICEx/DCC

MD

Conceitos

530

Combinao
Exemplo 41 Considere formas de ordenar as letras da palavra MISSISSIPPI.
Por exemplo:
IIMSSPISSIP

ISSSPMIIPIS

PIMISSSSIIP

Quantos strings distintos existem?


Posies que as letras podem ser colocadas:
1

UFMG/ICEx/DCC

MD

Conceitos

10

11

531

Combinao
Exemplo 41 Observe que:
Este exemplo generaliza o anterior.
Cpias de uma mesma letra no podem ser distinguidas.
Uma vez escolhidas as posies para uma certa letra, as cpias dessa letra
podem ir em qualquer posio.
Assim, construir uma ordem para as letras pode ser visto como um processo
formado de quatro etapas:
Escolher um subconjunto de quatro posies para a letra S.
Escolher um subconjunto de quatro posies para a letra I.
Escolher um subconjunto de duas posies para a letra P.
Escolher um subconjunto de uma posio para a letra M.

UFMG/ICEx/DCC

MD

Conceitos

532

Combinao
Exemplo 41
Observe que:
Existem 11 posies e C(11, 4) subconjuntos de quatro posies para a letra
S.
Existem sete posies restantes e C(7, 4) subconjuntos de quatro posies
para a letra I.
Existem trs posies restantes e C(3, 2) subconjuntos de duas posies
para a letra P.
Finalmente, existe apenas uma posio restante para a letra M.
Assim, pelo princpio da multiplicao temos:
!

11! 7!
3!
1!
11!
11
7
3
1

=
= 34650
4
4
2
1
4!7! 4!3! 2!1! 1!0!
4! 4! 2! 1!

UFMG/ICEx/DCC

MD

Conceitos

533

Combinao: Teorema
Suponha uma coleo formada por n objetos dos quais:

n1 so do tipo 1 e no podem ser distinguidos;


n2 so do tipo 2 e no podem ser distinguidos;
...
nk so do tipo k e no podem ser distinguidos;

sendo que n1 + n2 + . . . + nk = n. Assim, o nmero de permutaes distintas


dos n objetos :
!

n
n n1
n n1 n2
n n1 n2 . . . nk1

...
n1
n2
n3
nk

n!
n1! n2! n3! . . . nk !

UFMG/ICEx/DCC

MD

Conceitos

534

Combinao com repetio


Quantas formas existem de escolher r elementos sem considerar a ordem de
um conjunto de n elementos se repetio permitida?
Estratgia:
Considere cada um dos n elementos como uma categoria de objeto do qual
vrias selees podem ser feitos.
Exemplo: suponha um conjunto com os elementos {1, 2, 3, 4}. Se trs elementos devem ser escolhidos, ento podemos ter:
[3, 3, 1], [2, 2, 1], [1, 2, 4], . . .
Como a ordem no importa, temos que [3, 3, 1] = [3, 1, 3] = [1, 3, 3].

UFMG/ICEx/DCC

MD

Conceitos

535

Combinao com repetio


Definio: Uma combinao de r elementos com repetio permitida, ou multiconjunto de tamanho r, escolhida de um conjunto X de n elementos uma
seleo no ordenada de elementos de X com repetio permitida.
Se X = {x1, x2, . . . , xn}, escreve-se uma combinao de r elementos com
repetio permitida, ou multiconjunto de tamanho r, como
[xi1 , xi2 , . . . , xir ]
tal que xij X e algum xij pode ser igual a um outro elemento.

UFMG/ICEx/DCC

MD

Conceitos

536

Combinao com repetio


Exemplo 42 Seja o conjunto X com os elementos {1, 2, 3, 4}. Liste todas as
combinaes de 3 elementos com repetio permitida.
[1, 1, 1] [1, 1, 2] [1, 1, 3] [1, 1, 4]

Todas as combinaes que incluem 1,1

[1, 2, 2] [1, 2, 3] [1, 2, 4]

Todas as combinaes que incluem 1,2

[1, 3, 3] [1, 3, 4]

Todas as combinaes que incluem 1,3

[1, 4, 4]

Todas as combinaes que incluem 1,4

[2, 2, 2] [2, 2, 3] [2, 2, 4]

Todas as combinaes que incluem 2,2

[2, 3, 3] [2, 3, 4]

Todas as combinaes que incluem 2,3

[2, 4, 4]

Todas as combinaes que incluem 2,4

[3, 3, 3] [3, 3, 4]

Todas as combinaes que incluem 3,3

[3, 4, 4]

Todas as combinaes que incluem 3,4

[4, 4, 4]

Todas as combinaes que incluem 4,4

Ou seja, existem 20 combinaes de trs elementos com repetio permitida.

UFMG/ICEx/DCC

MD

Conceitos

537

Combinao com repetio


Codificando os resultados de uma combinao de r elementos com repetio
permitida de um conjunto de n elementos.
Algumas combinaes:
Categoria 1

Categoria 2
|

Categoria 3
|

UFMG/ICEx/DCC

Categoria 4

Resultado

[2, 4, 4]

[1, 3, 4]

MD

Conceitos

[1, 1, 1]

538

Combinao com repetio


Cada seleo de n elementos (categorias) pode ser representada por um
string formado pelos smbolos | e .
Existem r smbolos e n 1 smbolos |.
Resolver o problema de contar o nmero de combinaes de r elementos
com repetio permitida de um conjunto de n elementos equivalente a
determinar o nmero de combinaes de r elementos de um conjunto de
(n 1) + r smbolos, ou seja,
!

r+n1
r

UFMG/ICEx/DCC

MD

Conceitos

539

Combinao com repetio


Exemplo 43 Uma pessoa quer comprar 15 latas de refrigerante de cinco marcas diferentes. Quantas combinaes de latas podem ser feitas?
Neste caso temos r = 15 e n = 5. Assim temos
!

19!
r+n1
15 + 5 1
19
= 3876
=
=
=
r
15
15
15! 4!

UFMG/ICEx/DCC

MD

Conceitos

540

Combinao com repetio


Exemplo 44 Considere o mesmo exemplo anterior, mas a pessoa deseja levar
pelo menos seis latas do refrigerante Guaran da Amaznia. Quantas combinaes de latas podem ser feitas?
Observe que:
A pessoa precisa escolher mais nove latas das cinco restantes.
Em cada combinao, estaro presentes as seis latas de Guaran da Amaznia.
Assim, temos r = 9 e n = 5

13!
r+n1
9+51
13
=
=
=
= 715
r
9
9
9! 4!

UFMG/ICEx/DCC

MD

Conceitos

541

Combinao com repetio


Exemplo 45 Seja n um inteiro positivo. Quantas triplas de inteiros (i, j, k) existem sendo que 1 i j k n?
Observe que:
Qualquer tripla de inteiros (i, j, k) com 1 i j k n pode ser representada por um string de n1 smbolos | j que existem n categorias para serem
escolhidas (n nmeros inteiros) e trs smbolos que so os trs nmeros
da tripla, e as suas posies indicam quais so esses trs nmeros.
A garantia da restrio 1 i j k n obtida simplesmente fazendo
uma leitura da esquerda para a direita. Exemplo para n = 5:
Categoria
1

UFMG/ICEx/DCC

MD

Conceitos

Resultado
(1,2,4)

(3,3,5)

542

Combinao com repetio


Exemplo 45 Assim, o nmero de triplas o mesmo nmero de strings de n 1
smbolos | e trs smbolos , e dado por:
!

3 + (n 1)
3

=
=

n+2
3

(n + 2)!
3! (n + 2 3)!

(n + 2) (n + 1) n (n 1)!
=
3! (n 1)!
n(n + 1)(n + 2)
=
6

UFMG/ICEx/DCC

MD

Conceitos

543

Sumrio
O RDEM
SIM

NO

R EPETIO

UFMG/ICEx/DCC

SIM

nr

n + r 1
r


NO

P (n, r)

MD

Conceitos

544

lgebra de combinaes
!

n
n

n!
=1
=
n!(n n)!

Um conjunto com n elementos s possui um subconjunto de tamanho n, que


ele prprio.

n
0

n!
=1
0!(n 0)!

Um conjunto com n elementos s possui um subconjunto de tamanho 0, que


o conjunto vazio.

UFMG/ICEx/DCC

MD

Conceitos

545

lgebra de combinaes
!

n
r

n
r
n
nr

n
, n, r|0 < r n
nr

n!
r!(n r)!

n!
(n r)!r!

A quantidade de subconjuntos de tamanho r e de tamanho n r a mesma.


Isto significa que cada subconjunto de C(n, r) pode ser associado a cada
subconjunto de C(n, n r).
Raciocnio combinatorial onde o resultado obtido contando objetos que so
combinados de formas diferentes. Este raciocnio diferente de uma prova
algbrica.

UFMG/ICEx/DCC

MD

Conceitos

546

Frmula de Pascal
!

n+1
n
n
=
+
r
r1
r
onde, 0 < r n.

UFMG/ICEx/DCC

MD

Conceitos

547

Frmula de Pascal


 
n!
n!
n
n
+
=
+
r1
r
(r 1)!(n r + 1)!
r!(n r)!
=

n![r!(n r)!] + n![(r 1)!(n r + 1)!]


r!(n r + 1)!(r 1)!(n r)!

n!r!(n r)! + n!(r 1)!(n r + 1)!


r!(n r + 1)!(r 1)!(n r)!

n!r(r 1)!(n r)! + n!(r 1)!(n r + 1)(n r)!


r!(n r + 1)!(r 1)!(n r)!

n!r + n!(n r + 1)
r!(n r + 1)!

n!(r + n r + 1)
r!(n r + 1)!

n!(n + 1)
r!(n r + 1)!

(n + 1)!
r!(n r + 1)!


n+1
=
r
=

UFMG/ICEx/DCC

MD

Conceitos

548

Frmula de Pascal
Uma outra correo que sugiro a prova do teorema de Pascal, que
 

 

n
n1
n1
=
+
.
r
r
r1
Obviamente temos que

 

(n 1)!
(n 1)!
n1
n1
+
.
+
=
r
r1
(n 1 r)!r!
(n 1 (r 1))!(r 1)!
Mas em vez de multiplicar cada frao pelo denominador da outra, existe um caminho muito
mais fcil: multiplicar o numerador e o denominador da primeira por (n r), e da segunda por
r. Os denominadores j vo dar (n r)!r!, e a soma dos numeradores fcil.

UFMG/ICEx/DCC

MD

Conceitos

549

Relaes
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

550

Introduo
O mundo est povoado por relaes: famlia, emprego, governo, negcios,
etc.
Entidades em Matemtica e Cincia da Computao tambm podem estar
relacionadas entre si de diversas formas.
Objetivo:
estudar relaes em conjuntos;
estudar formas de representar relaes;
estudar propriedades de relaes.

UFMG/ICEx/DCC

MD

Conceitos

551

Relaes em conjuntos
Sejam os conjuntos A = {0, 1, 2} e B = {1, 2, 3}.
Suponha que um elemento x em A esteja relacionado com um elemento y em
B sse x < y.
A notao xRy quer dizer que x est relacionado com y, onde R o nome da
relao (neste caso, x < y).
Logo, temos que:

0R1
0R2
0R3
1R2
1R3
2R3

porque
porque
porque
porque
porque
porque

0 < 1,
0 < 2,
0 < 3,
1 < 2,
1 < 3,
2<3

Por outro lado, a notao x6Ry quer dizer que x no est relacionado com y.
UFMG/ICEx/DCC

MD

Conceitos

552

Relaes em conjuntos
Sejam os conjuntos A = {0, 1, 2} e B = {1, 2, 3}.
Logo, temos que:

UFMG/ICEx/DCC

16R1

porque

1 6< 1,

26R1

porque

2 6< 1,

26R2

porque

2 6< 2

MD

Conceitos

553

Relaes em conjuntos
O produto cartesiano de A e B, definido por
A B = {(x, y)|x A e y B}
Para este exemplo (A = {0, 1, 2} e B = {1, 2, 3}), temos que:
A B = {(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)}
e os elementos que satisfazem a relao so
R = {(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)}.

UFMG/ICEx/DCC

MD

Conceitos

554

Relaes em conjuntos
Definio (Relao (binria)):
Sejam os conjuntos A e B.
Uma relao binria de A para B um subconjunto de A B.
Dado um par ordenado (x, y) em A B, x est relacionado com y por R,
escrito xRy, sse (x, y) R.
O termo binrio usado para indicar uma relao entre dois conjuntos.
Notao:
x est relacionado com y:
xRy (x, y) R
x no est relacionado com y:
x6Ry (x, y) 6 R

UFMG/ICEx/DCC

MD

Conceitos

555

Relao binria num conjunto finito


Exemplo 1 Sejam os conjuntos A = {1, 2} e B = {1, 2, 3} e a relao binria
R de A para B como:
(x, y) A B, (x, y) R x y par
Logo, temos que
A B = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3)}
e
R = {(1, 1), (1, 3), (2, 2)}

UFMG/ICEx/DCC

MD

Conceitos

556

Relao binria num conjunto infinito:


Relao de congruncia mdulo 2
A relao anterior pode ser generalizada para o conjunto de todos os inteiros
Z. Neste caso, a relao binria E de Z para Z pode ser definida como:
(m, n) Z Z, mEn m n par
Os inteiros m e n so relacionados por E sse
m mod 2 = n mod 2,
ou seja, se os nmeros m e n so pares ou mpares.
Quando essa relao satisfeita, diz-se que m e n so congruentes mdulo
2
m n mod 2

UFMG/ICEx/DCC

MD

Conceitos

557

Exemplos de relaes binrias


Exemplo 2 Seja a relao C de R para R definida como:
(x, y) R R, (x, y) C x2 + y 2 = 1
(1, 0) C?
Sim.

x2 + y2 = 1

1 , 3 ) C?
( 2
2
Sim.

(2, 0) C?
No.

UFMG/ICEx/DCC

MD

Conceitos

558

Exemplos de relaes binrias


Exemplo 3 Seja A o conjunto de todos os strings de tamanho 6 formados de
xs e ys. O conjunto A representado por 6 onde = {x, y}.
Seja a relao binria R de A para A definida como:
sRt substr(s, 1, 4) = substr(t, 1, 4)
xxyxyxRxxxyxy?
No.
yxyyyxRyxyyxy?
Sim.

UFMG/ICEx/DCC

MD

Conceitos

559

Diagrama de seta de uma relao


Suponha que R uma relao de um conjunto A para um conjunto B. O
diagrama de seta para R obtido da seguinte forma:
1. Represente os elementos de A numa regio e os elementos de B como
pontos em outra regio.
2. Para cada x em A e y em B, desenhe uma seta de x para y sse x
relacionado com y por R. Simbolicamente:
Desenhe uma seta de x para y xRy (x, y) R

UFMG/ICEx/DCC

MD

Conceitos

560

Exemplos de relaes binrias


Exemplo 4 Sejam os conjuntos A = {1, 2, 3} e B = {1, 3, 5} e as relaes:
(x, y) A B, (x, y) S x < y
S
1

T = {(2, 1), (2, 5)}

1
2

A
UFMG/ICEx/DCC

MD

Conceitos

561

Relaes e funes
Definio:
Uma funo F de um conjunto A para um conjunto B uma relao de A para
B que satisfaz as duas propriedades abaixo:
1. Para cada elemento x em A, existe um elemento y em B tal que (x, y)
F.
cada elemento de A o primeiro elemento de um par ordenado de F .
2. Para todos elementos x em A e y e z em B,
se (x, y) F e (x, z) F, ento y = z
no existem dois pares ordenados distintos cujo primeiro elemento seja
o mesmo.
Se F uma funo de A para B, temos que
y = F (x) (x, y) F
UFMG/ICEx/DCC

MD

Conceitos

562

Relaes e funes
Exemplo 5 Sejam os conjuntos A = {2, 4, 6} e B = {1, 3, 5} e a relao:
R = {(2, 5), (4, 1), (4, 3), (6, 5)}. R uma funo?
No, por causa dos pares (4, 1) e (4, 3).

2
4

UFMG/ICEx/DCC

MD

Conceitos

563

Relaes e funes
Exemplo 6 Sejam os conjuntos A = {2, 4, 6} e B = {1, 3, 5} e a relao:
S : (x, y) A B, (x, y) S y = x + 1. S uma funo?
No, j que 6 A mas no existe y B|y = 6 + 1 = 7.

S
2

UFMG/ICEx/DCC

MD

Conceitos

564

Funes e relaes nos conjuntos dos reais


Exemplo 7 Seja a relao C de R para R definida como:
(x, y) R R, (x, y) C x2 + y 2 = 1
C uma funo?
No, j que existem nmeros reais x | (x, y) 6 C para todo y. Por exemplo,
x = 2.
y
x2 + y2 = 1

x = 1/2

UFMG/ICEx/DCC

MD

Conceitos

565

Funes e relaes nos conjuntos dos reais


Exemplo 8 Seja a relao L de R para R definida como:
(x, y) R R, (x, y) L y = x 1
L uma funo?
Sim.
y
y = x 1

(x,0)

UFMG/ICEx/DCC

MD

Conceitos

566

O inverso de uma relao


Definio:
Seja R uma relao de A para B. A relao inversa R1 de B para A
definida como:
R1 = {(y, x) B A|(x, y) R}.
Essa definio pode ser re-escrita operacionalmente como
x X, y Y, (y, x) R1 (x, y) R

UFMG/ICEx/DCC

MD

Conceitos

567

O inverso de uma relao


Exemplo 9 Sejam os conjuntos A = {2, 3, 4} e B = {2, 6, 8} e seja R a
relao divide de A para B:
(x, y) A B, xRy x|y
R = {(2, 2), (2, 6), (2, 8), (3, 6), (4, 8)}

R
2

UFMG/ICEx/DCC

MD

Conceitos

568

O inverso de uma relao


Exemplo 10 Sejam os conjuntos A = {2, 3, 4} e B = {2, 6, 8} e seja R a
relao divide de A para B:
(x, y) A B, xRy x|y
R = {(2, 2), (2, 6), (2, 8), (3, 6), (4, 8)}
R1 = {(2, 2), (6, 2), (8, 2), (6, 3), (8, 4)}
R1 : (y, x) B A, yR1x y um mltiplo de x.

R 1

R 1

A
UFMG/ICEx/DCC

B
MD

Conceitos

A
569

Inverso de uma relao infinita


Exemplo 11 Seja a relao R de R para R definida como:
(u, v) R R, uRv v = 2 |u|
Grfico de R 1

Grfico de R
(u,v)

(v,u)

A relao R1 uma funo?


No, j que os pares (2, 1) e (2, 1) esto em R1.

UFMG/ICEx/DCC

MD

Conceitos

570

Grafo dirigido de uma relao


Definio (relao binria): Uma relao binria no conjunto A uma relao
binria de A para A.
Neste caso, o diagrama de seta modificado e torna-se um grafo dirigido, ou
seja, o conjunto A desenhando somente uma vez e uma seta desenhada
para cada par de pontos relacionados entre si.

UFMG/ICEx/DCC

MD

Conceitos

571

Grafo dirigido de uma relao


Exemplo 12 Seja A = {3, 4, 5, 6, 7, 8} e a relao binria R em A definida
como
(x, y) A A, xRy 2|(x y)

R
3

8
7

7
A

UFMG/ICEx/DCC

MD

Conceitos

572

Relaes n-rias
Definio: Dados os conjuntos A1, A2, . . . , An, uma relao n-ria R em A1
A2 . . . An um subconjunto de A1 A2 . . . An.
Relaes envolvendo dois, trs e quatro conjuntos so chamadas de binrias,
ternrias e quaternrias, respectivamente.

UFMG/ICEx/DCC

MD

Conceitos

573

Propriedades de relaes
Exemplo 13 Seja A = {2, 3, 4, 6, 7, 9} e a relao binria R em A definida
como
(x, y) A A, xRy 3|(x y)

UFMG/ICEx/DCC

MD

Conceitos

574

Propriedades de relaes
Exemplo 13 Este grafo tem trs propriedades importantes:
1. Cada ponto do grafo tem uma seta para o prprio ponto.
2. Em todos os casos onde existe uma seta indo de um ponto p para um ponto
q, existe uma seta indo do ponto q para o ponto p.
3. Em todos os casos onde existe uma seta indo de um ponto p para um ponto
q e do ponto q para um ponto r, existe uma seta indo do ponto p para o
ponto r.
Essas propriedades correspondem a relaes gerais chamadas de reflexiva,
simtrica e transitiva.

UFMG/ICEx/DCC

MD

Conceitos

575

Propriedades de relaes
Seja R uma relao binria no conjunto A.

1. R reflexiva sse, x A, xRx.


Cada elemento relacionado consigo mesmo.
2. R simtrica sse, x, y A, se xRy ento yRx.
Cada elemento relacionado com um outro, o segundo relacionado com
o primeiro.
3. R transitiva sse, x, y, z A, se xRy e yRz ento xRz.
Cada elemento relacionado com um segundo, o segundo relacionado
com um terceiro, ento o primeiro relacionado com o terceiro.

UFMG/ICEx/DCC

MD

Conceitos

576

Propriedades de relaes
Exemplo 14 Seja o conjunto A = {0, 1, 2, 3} e a relao binria R definida
como:
R = {(0, 0), (0, 1), (0, 3), (1, 0), (1, 1), (2, 2), (3, 0), (3, 3)}
Diga se a propriedade reflexiva, simtrica e transitiva?

Reflexiva (V): Existe um lao para cada n do


grafo o que significa que cada elemento de A
relacionado consigo mesmo.
Simtrica (V): Para cada aresta de ida existe
uma aresta de volta.

UFMG/ICEx/DCC

Transitiva (F): Temos 1R0 e 0R3 mas no temos


1R3, o que implica na no transitividade.

MD

Conceitos

577

Propriedades de relaes
Exemplo 15 Seja o conjunto A = {0, 1, 2, 3} e a relao binria S definida
como:
S = {(0, 0), (0, 2), (0, 3), (2, 3)}
A propriedade reflexiva, simtrica e transitiva?
Reflexiva (F): No existe, por exemplo, 1R1.

Simtrica (F): Para cada aresta de ida no existe


uma aresta de volta.
Transitiva (V): Temos
Hiptese
(0, 2) e (2, 3)
(0, 0) e (0, 2)
(0, 0) e (0, 3)

Concluso
(0, 3)
(0, 2)
(0, 3)

Os elementos x, y e z no precisam ser distintos.


UFMG/ICEx/DCC

MD

Conceitos

578

Propriedades de relaes
Exemplo 16 Seja o conjunto A = {0, 1, 2, 3} e a relao binria T definida
como:
T = {(0, 1), (2, 3)}
Diga se a propriedade reflexiva, simtrica e transitiva?
Reflexiva (F): No existe nenhum lao.

Simtrica (F): Para cada aresta de ida no existe


uma aresta de volta.
Transitiva (V): Por default. A transitividade no
satisfeita quando a hiptese verdadeira e a
concluso falsa, ou seja,
(x, y) T e (y, z) T e (x, z) 6 T

UFMG/ICEx/DCC

Como no existem pares (x, y) e (y, z) que satisfazem a hiptese a concluso da afirmao
verdadeira.
MD

Conceitos

579

Verificando propriedades de relaes atravs de


um programa
Seja uma relao binria R definida num conjunto finito A com n elementos.
possvel verificar atravs de um programa se R reflexiva, simtrica e
transitiva.
Possvel implementao:
Representar R por uma matriz booleana quadrada de tamanho n.
A linha corresponde ao primeiro elemento do par ordenado e a coluna ao
segundo elemento do par ordenado (conseqentemente a matriz no
simtrica).

UFMG/ICEx/DCC

MD

Conceitos

580

Verificando propriedades de relaes atravs de


um programa
0

2o elemento

2
3

V
V

UFMG/ICEx/DCC

1
2

MD

Conceitos

2o elemento

0
1o elemento

1o elemento

1o elemento

2o elemento

1
2

581

Fecho de uma relao


Se uma relao binria R definida em um conjunto A no possui uma determinada propriedade p, podemos estender R e obter uma nova relao R em A
que tenha essa propriedade.
Estender significa que a nova relao R em A contm todos os pares de R e
os pares adicionais necessrios para que a propriedade p seja vlida.
Definio [Fecho de uma relao]: Seja A um conjunto, R uma relao binria
em A e uma propriedade p. O fecho de R a relao binria R em A que
possui a propriedade p e satisfaz as trs condies abaixo:
1. R tem a propriedade p;
2. R R;
3. Se S uma outra relao qualquer que contm R e satisfaz a propriedade
p, ento R S.

UFMG/ICEx/DCC

MD

Conceitos

582

Fecho de uma relao


Podemos definir os seguintes fechos:
reflexivo;
simtrico;
transitivo
de uma relao em um conjunto.
Se uma relao binria R definida em um conjunto A j possui a propriedade p,
ela j seu prprio fecho que satisfaz a propriedade p.

UFMG/ICEx/DCC

MD

Conceitos

583

Fecho transitivo de uma relao


Definio [Fecho transitivo de uma relao]: Seja A um conjunto e R uma relao binria em A. O fecho transitivo (transitive closure) de R a relao binria
Rt em A que satisfaz as trs condies abaixo:
1. Rt transitiva;
2. R Rt;
3. Se S uma outra relao transitiva qualquer que contm R, ento Rt S.

UFMG/ICEx/DCC

MD

Conceitos

584

Fecho transitivo de uma relao


Exemplo 17 Seja o conjunto A = {0, 1, 2, 3} e a relao binria R definida
como R ={(0, 0), (0, 1), (0, 3), (1, 0), (1, 1), (2, 2), (3, 0), (3, 3)}.

Hiptese

Concluso

(0, 0) e (0, 0)
(0, 0) e (0, 1)
(0, 0) e (0, 3)
(1, 0) e (0, 1)
(1, 0) e (0, 3)
(1, 1) e (1, 0)
(1, 1) e (1, 1)
(2, 2) e (2, 2)
(3, 0) e (0, 0)
(3, 0) e (0, 1)
(3, 0) e (0, 3)
(3, 3) e (3, 3)

(0, 0)
(0, 1)
(0, 3)
(1, 1)
(1, 3)?
(1, 0)
(1, 1)
(2, 2)
(3, 0)
(3, 1)?
(3, 3)
(3, 3)

No faz parte da relao original.

Rt = {(0, 0), (0, 1), (0, 3), (1, 0), (1, 1), (1, 3), (2, 2), (3, 0), (3, 1), (3, 3)}.
UFMG/ICEx/DCC

MD

Conceitos

585

Fecho transitivo de uma relao


Exemplo 18 Seja A = {0, 1, 2, 3} e considere a relao R definida em A
como:
R = {(0, 1), (1, 2), (2, 3)}
Determine a relao de fecho transitivo de R.

Grafo dirigido de R:
0

Hiptese

Concluso

(0, 1) e (1, 2)
(1, 2) e (2, 3)
(0, 2)? e (2, 3)

(0, 2)?
(1, 3)?
(0, 3)?

No faz parte da relao original.

Assim,

UFMG/ICEx/DCC

Rt = {(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)}

MD

Conceitos

586

Fecho transitivo de uma relao


Exemplo 18 Dado A = {0, 1, 2, 3} e a relao R definida em A como:
R = {(0, 1), (1, 2), (2, 3)}
temos
Rt = {(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)}
Grafo dirigido de R:
0

Grafo dirigido de Rt:


0
1

UFMG/ICEx/DCC

MD

Conceitos

587

Propriedades de relaes em conjuntos infinitos


Suponha uma relao binria definida em um conjunto infinito A.
Para provar que a relao reflexiva, simtrica e transitiva:
Escreva o que deve ser provado. Por exemplo, para simetria:
x, y A, se xRy ento yRx
Use as definies do conjunto A e da relao R para reescrever a propriedade. Para a relao de igualdade no conjunto dos nmeros reais,
temos:
x, y A, se x = y ento y = x

UFMG/ICEx/DCC

MD

Conceitos

588

Propriedades de relaes em conjuntos infinitos


Exemplo 19 Seja S uma relao no conjunto R tal que para todos
x, y R, xSy x < y
A propriedade reflexiva, simtrica e transitiva?

UFMG/ICEx/DCC

MD

Conceitos

589

Propriedades de relaes em conjuntos infinitos


Exemplo 19
Reflexiva (F): S reflexiva sse
x R, xSx.
Pela definio de S, isto significa
x R, x < x.
Para provar que essa afirmao falsa, basta achar um contra-exemplo. Neste
caso, a afirmao falsa para todos os nmeros reais j que x 6< x.

UFMG/ICEx/DCC

MD

Conceitos

590

Propriedades de relaes em conjuntos infinitos


Exemplo 19
Simtrica (F): S simtrica sse
x, y R, se xSy ento ySx.
Pela definio de S, isto significa
x, y R, se x < y ento y < x.
Para provar que essa afirmao falsa, basta achar um contra-exemplo. Neste
caso, a afirmao falsa para todos os nmeros reais j que se x < y, ento
y 6< x.

UFMG/ICEx/DCC

MD

Conceitos

591

Propriedades de relaes em conjuntos infinitos


Exemplo 19
Transitiva (V): S transitiva sse
x, y, z R, se xSy e ySz ento xSz.
Pela definio de S, isto significa
x, y, z R, se x < y e y < z ento x < z.
Essa afirmao verdadeira pela lei transitiva da ordem dos nmeros reais.

UFMG/ICEx/DCC

MD

Conceitos

592

Propriedades de relaes em conjuntos infinitos


Exemplo 20 Seja T uma relao no conjunto Z dos nmeros inteiros tal que
para todos
m, n Z, mT n 3|(m n)
A propriedade reflexiva, simtrica e transitiva?

UFMG/ICEx/DCC

MD

Conceitos

593

Propriedades de relaes em conjuntos infinitos


Exemplo 20
Reflexiva (V): T reflexiva sse
m Z, mT m.
Pela definio de T , isto significa
m Z, 3|(m m),
ou ainda,
m Z, 3|0.
Essa afirmao verdadeira j que 0 = 3 0.

UFMG/ICEx/DCC

MD

Conceitos

594

Propriedades de relaes em conjuntos infinitos


Exemplo 20
Simtrica (V): T simtrica sse
m, n Z, se mT n ento nT m.
Pela definio de T , isto significa
m, n Z, se 3|(m n) ento 3|(n m).
Suponha que m e n sejam inteiros especficos mas escolhidos aleatoriamente
tais que 3|(m n). Deve-se mostrar que 3|(n m). Pela definio de divide
temos que 3|(m n) e m n = 3k e n m = 3 k, para algum inteiro k.
Logo, 3|(n m).

UFMG/ICEx/DCC

MD

Conceitos

595

Propriedades de relaes em conjuntos infinitos


Exemplo 20
Transitiva (V): T transitiva sse
m, n, o Z, se mT n e nT o ento mT o.
Pela definio de T , isto significa
m, n, o Z, se 3|(m n) e 3|(n o) ento 3|(m o).
Suponha que m, n e o sejam inteiros especficos mas escolhidos aleatoriamente
tais que 3|(m n) e 3|(n o). Deve-se mostrar que 3|(m o). Pela definio
de divide temos que: 3|(m n) e m n = 3r; e 3|(n o) e n o = 3s,
para inteiros r e s, respectivamente. Sabemos que:
(m n) + (n o) = 3r + 3s
m o = 3 (r + s)
O que mostra que 3|(m o).
UFMG/ICEx/DCC

MD

Conceitos

596

Propriedades de relaes
Exemplo 21 Seja C o conjunto de todos os circuitos lgicos com um nmero
fixo n de entradas. Seja E uma relao binria no conjunto C definida como:
Para todos os circuitos c1 C e c2 C
c1Ec2
c1 tem a mesma tabela de entrada e sada que c2.
A propriedade reflexiva, simtrica e transitiva?

UFMG/ICEx/DCC

MD

Conceitos

597

Propriedades de relaes
Exemplo 21
Reflexiva (V): E reflexiva sse
c C, cEc.

Pela definio de E, isto significa


c C,

c tem a mesma tabela de


entrada e sada que c

O que obviamente verdade.

UFMG/ICEx/DCC

MD

Conceitos

598

Propriedades de relaes
Exemplo 21
Simtrica (V): E simtrica sse
c1, c2 C, se c1Ec2 ento c2Ec1.
Pela definio de E, isto significa
c1, c2 C,
se

c1 tem a mesma tabela de


entrada e sada que c2

ento

c2 tem a mesma tabela de


entrada e sada que c1

Considerando a hiptese verdadeira, a concluso obviamente verdadeira.

UFMG/ICEx/DCC

MD

Conceitos

599

Propriedades de relaes
Exemplo 21
Transitiva (V): E transitiva sse
c1, c2, c3 C, se c1Ec2 e c2Ec3 ento c1Ec3.
Pela definio de E, isto significa
se
ento

c1 tem a mesma tabela de


entrada e sada que c2

c1 tem a mesma tabela de


entrada e sada que c3

c2 tem a mesma tabela de


entrada e sada que c3

Considerando a hiptese verdadeira, a concluso obviamente verdadeira.

UFMG/ICEx/DCC

MD

Conceitos

600

Relao de equivalncia
Idia central de relao de equivalncia:
Agrupar pares ordenados de uma relao que esto relacionados entre si.
Partio de um conjunto A:
Coleo de subconjuntos no-vazios mutuamente disjuntos cuja unio o
conjunto A.
Exemplo 22 Para i 6= j, Ai Aj = , ou ainda A1 A2 . . . A6 = A

A3

A2
A1

UFMG/ICEx/DCC

A4

MD

A6
A5

Conceitos

601

Relao de equivalncia
Definio: Dada uma partio de um conjunto A, a relao binria R induzida
pela partio definida em A como:
x, y A, xRy Existe um subconjunto A da partio
tal que ambos x e y esto em A.
Exemplo 23 Seja A = {0, 1, 2, 3, 4} e considere a seguinte partio de A:
{0, 3, 4}, {1}, {2}
Determine a relao R induzida por essa partio.
R=

(0, 0), (0, 3), (0, 4), (3, 0), (3, 3), (3, 4), (4, 0), (4, 3), (4, 4),

(1, 1),

(2, 2)

Observao importante:
Uma relao induzida por uma partio de um conjunto satisfaz as propriedades de reflexividade, simetria e transitividade.
UFMG/ICEx/DCC

MD

Conceitos

602

Relao de equivalncia
Definio: Seja A um conjunto no-vazio e R uma relao binria em A. R
uma relao de equivalncia sse R reflexiva, simtrica e transitiva.
Exemplo 24 Seja A = {2, 3, 4, 6, 7, 9} e a relao binria R em A definida
como
(x, y) A A, xRy 3|(x y)

A partio de A correspondente
relao R :
{4, 7}, {2}, {3, 6, 9}

UFMG/ICEx/DCC

MD

Conceitos

603

Classes de equivalncia de uma relao


equivalncia
Suponha que exista uma relao de equivalncia de um dado conjunto. Seja
a um elemento particular do conjunto. O subconjunto de todos os elementos
que esto relacionados com a chamado de classe de equivalncia de a.
Definio: Seja A um conjunto e R uma relao de equivalncia em A. Para
cada elemento a A, a classe de equivalncia de a, representada por [a]
e chamada de a o conjunto de todos os elementos x A tal que x est
relacionado com a atravs de R.
Simbolicamente, temos:
[a] = {x A|xRa}

UFMG/ICEx/DCC

MD

Conceitos

604

Classes de equivalncia de uma relao definida


num conjunto finito
Exemplo 25 Seja A = {0, 1, 2, 3, 4} e R uma relao binria em A definida
como:
{(0, 0), (0, 4), (1, 1), (1, 3), (2, 2), (3, 1), (3, 3), (4, 0), (4, 4)}
As classes de equivalncia de R
so:

R uma relao de equivalncia


em A:

[0] = {x A|xR0} = {0, 4}


[1] = {x A|xR1} = {1, 3}
[2] = {x A|xR2} = {2}
[3] = {x A|xR3} = {1, 3}
[4] = {x A|xR4} = {0, 4}

Assim, as classes distintas de equivalncia da relao so:

1
{0, 4}, {1, 3}, {2}
UFMG/ICEx/DCC

MD

Conceitos

605

Propriedades das classes de equivalncia


Seja A um conjunto e R uma relao de equivalncia em A e a e b elementos
de A:
1. Se aRb, ento [a] = [b]
2. [a] [b] =

[a] = [b]

Se A um conjunto no vazio e R uma relao de equivalncia em A, ento


as classes de equivalncia distintas de A formam uma partio de A,
ou seja,
a unio das classes de equivalncia todo o conjunto A e a interseco de
quaisquer duas classes distintas o conjunto vazio.

UFMG/ICEx/DCC

MD

Conceitos

606

Propriedades das classes de equivalncia


Exemplo 26 Seja R a relao de congruncia mdulo 3 no conjunto Z de todos
os nmeros inteiros. Isto significa que para todos inteiros m e n,
mRn 3|(m n) m n mod 3
Descreva as classes de equivalncia distintas de R.
Para cada inteiro a,
[a] = {x Z|xRa}
= {x Z|3|(x a)}
= {x Z|x a = 3 k, para algum inteiro k}
= {x Z|x = 3 k + a, para algum inteiro k}.

UFMG/ICEx/DCC

MD

Conceitos

607

Propriedades das classes de equivalncia


Exemplo 26
Assim,
[0] = {x Z|x = 3 k + 0, para algum inteiro k}
= {x Z|x = 3 k, para algum inteiro k}
= {. . . , 9, 6, 3, 0, 3, 6, 9, . . .},
[1] = {x Z|x = 3 k + 1, para algum inteiro k}
= {. . . , 8, 5, 2, 1, 4, 7, 10 . . .},
[2] = {x Z|x = 3 k + 2, para algum inteiro k}
= {. . . , 7, 4, 1, 2, 5, 8, 11 . . .}.

UFMG/ICEx/DCC

MD

Conceitos

608

Propriedades das classes de equivalncia


Exemplo 26
Pelas propriedades das classes de equivalncia, temos:
[0] = [3] = [3] = [6] = [6] = . . .
[1] = [4] = [2] = [7] = [5] = . . .
[2] = [5] = [1] = [8] = [4] = . . .
Cada inteiro est em uma das trs classes [0], [1] ou [2].
Isto significa que uma classe de equivalncia pode ter diferentes nomes. Neste
exemplo, a classe do 0 ([0]) pode ser chamada pela classe do 3 ([3]) ou pela
classe do 6 ([6]), e assim por diante.
Mas o que a classe [0] ou [3] ou [6] significa o conjunto
{x Z|x = 3 k, para algum inteiro k}.
UFMG/ICEx/DCC

MD

Conceitos

609

Propriedades das classes de equivalncia


Exemplo 26
As trs classes de equivalncia so:
1. {x Z|x = 3 k, para algum inteiro k}
Conjunto dos inteiros divisveis por 3.
2. {x Z|x = 3 k + 1, para algum inteiro k}
Conjunto dos inteiros que deixam resto 1 quando divididos por 3.
3. {x Z|x = 3 k + 2, para algum inteiro k}
Conjunto dos inteiros que deixam resto 2 quando divididos por 3.

UFMG/ICEx/DCC

MD

Conceitos

610

Propriedades das classes de equivalncia


Definio: Seja R uma relao de equivalncia num conjunto A e S uma classe
de equivalncia de R. Um representante da classe S qualquer elemento a tal
que [a] = S.
No exemplo anterior, temos que 6 um representante da classe [6] que por
sua vez gera o conjunto
{x Z|x = 3 k, para algum inteiro k}
Conjunto de todos os inteiros divisveis por 3.

UFMG/ICEx/DCC

MD

Conceitos

611

Classes de equivalncia de uma relao


No exemplo 21 foi mostrado que dado um conjunto C de todos os circuitos
lgicos com um nmero fixo n de entradas, a relao E uma relao de equivalncia.
A relao E foi definida como:
Para todos os circuitos c1 C e c2 C
c1Ec2
c1 tem a mesma tabela de entrada e sada que c2.

UFMG/ICEx/DCC

MD

Conceitos

612

Classes de equivalncia de uma relao


Exemplo 27 Dado o exemplo 21 e considerando circuitos lgicos com duas
entradas e uma sada:

(a) Descreva as classes de equivalncia da relao E.

(b) Identifique quantas classes de equivalncia distintas existem.

(c) Mostre circuitos que representam uma das classes.

UFMG/ICEx/DCC

MD

Conceitos

613

Classes de equivalncia de uma relao


Exemplo 27
Dado um circuito c1, a classe de equivalncia de c1 o conjunto de todos os
circuitos com duas entradas e uma sada que tm a mesma tabela de entrada e
sada de c1.
Esquema de um circuito e uma possvel tabela de entrada e sada:
P Q Sada
1a linha 1
1
0
P C IRCUITO
2a linha 1
0
0
Sada
Q - E LETRNICO
3a linha 0
1
0
4a linha 0
0
1
Pelo princpio da multiplicao temos,
|

2
2
2
2
{z
}|
{z
}|
{z
}|
{z
} = 16
1a linha
2a linha
3a linha
4a linha

tabelas da verdade distintas.


UFMG/ICEx/DCC

MD

Conceitos

614

Classes de equivalncia de uma relao


Exemplo 27
(a) Descreva as classes de equivalncia da relao E.
Existem 16 classes de equivalncia distintas, uma para cada tabela de entrada e sada distinta.
(b) Identifique quantas classes de equivalncia distintas existem.
Existem infinitamente muitos circuitos para cada uma das tabelas.
(c) Mostre circuitos que representam uma das classes.
Para a tabela de entrada e sada abaixo, dois possveis circuitos so:
P
1
1
0
0

Q
1
0
1
0

UFMG/ICEx/DCC

Sada
0
0
0
1

NOT

NOT

OR

AND

Q
NOT

MD

Conceitos

615

Relao anti-simtrica
J foram vistas trs propriedades de relaes:
1. Reflexividade
2. Simetria
3. Transitividade
Definio: Seja R uma relao num conjunto A. R uma relao antisimtrica sse,
a, b A, se aRb bRa ento a = b.
Informalmente, uma relao anti-simtrica se para cada aresta de ida
no existe uma aresta de volta.
Tomando a negao dessa definio temos que uma relao R no antisimtrica sse,
a, b A|aRb bRa a 6= b.

UFMG/ICEx/DCC

MD

Conceitos

616

Relao anti-simtrica
Exemplo 28 Seja R uma relao no conjunto {0, 1, 2} definida como
R = {(0, 2), (1, 2), (2, 0)}
A propriedade anti-simtrica?

Anti-simtrica (F): R uma relao anti-simtrica sse,


a, b A, se aRb bRa ento a = b.
Como 0R2 e 2R0 e 0 6= 2, R no anti-simtrica.
UFMG/ICEx/DCC

MD

Conceitos

617

Relao anti-simtrica
Exemplo 29 Seja R uma relao no conjunto {0, 1, 2} definida como
R = {(0, 0), (0, 1), (0, 2), (1, 1), (1, 2)}
A propriedade anti-simtrica?

2
Anti-simtrica (V): R uma relao anti-simtrica sse,
a, b A, se aRb bRa ento a = b.
Como no existem arestas de ida e de volta para o mesmo par de ns, a relao
anti-simtrica.
UFMG/ICEx/DCC

MD

Conceitos

618

Relao de ordem parcial


Definio: Seja R uma relao binria definida no conjunto A. R uma relao
de ordem parcial sse R reflexiva, anti-simtrica e transitiva.
Exemplos de relaes de ordem parcial:
1. Relao menor ou igual a no conjunto dos nmeros reais;
2. Relao subconjunto num conjunto de conjuntos.

UFMG/ICEx/DCC

MD

Conceitos

619

Relao de ordem parcial


Exemplo 30 Seja D a relao divide em Z+ (inteiros positivos) definida como:
a, b Z+, a|b b = k a, para algum inteiro k.
Reflexiva (V): D reflexiva sse a Z+, a|a.
Suponha a Z+. Temos que a = 1 a e assim a|a pela definio da
divisibilidade.
Anti-simtrica (V): D anti-simtrica sse a, b Z+, se a|bb|a ento a = b.
Suponha a, b Z+ e aRb e bRa. Pela definio de R, a|b e b|a. Pela
definio de divide existem inteiros k1 e k2 tais que b = k1 a e a = k2 b.
Temos que
b = k1 a = k1 (k2 b) = (k1 k2) b
Ou seja, k1 k2 = 1. Temos que k1 e k2 so inteiros positivos. Mas o nico
produto de dois inteiros positivos que igual 1 1 1. Assim, k1 = k2 = 1.
Assim, a = k2 b = 1 b = b.
Transitividade (V): D transitiva sse a, b, c Z+, se a|b e b|c ento a|c.
Prova para o leitor.
UFMG/ICEx/DCC

MD

Conceitos

620

Relao de ordem parcial


Exemplo 31 Seja a relao menor ou igual a em R definida como:
x, y R, x y (x < y) (x = y).
Mostre que uma relao em R.
Reflexiva (V): Para ser reflexiva significa que x x para todos nmeros
reais. Mas x x significa que (x < x) (x = x) e x = x sempre
verdadeiro.
Anti-simtrica (V): Para ser anti-simtrica significa que para todos nmeros
reais x e y, se x y e y x ento x = y. Isto consequncia imediata
da definio de e a propriedade de tricotomia que diz que dados quaisquer
nmeros reais x e y exatamente uma das afirmaes verdadeira: x < y ou
x = y ou x > y.
Transitividade (V): Para ser transitiva significa que para todos os reais x, y
e z, se x y e y z ento x z. Isto verdade pela definio de e
pela propriedade transitiva da ordem dos nmeros reais que diz que dados
quaisquer nmeros reais x, y e z, se x < y e y < z ento x < z.
UFMG/ICEx/DCC

MD

Conceitos

621

Ordem lexicogrfica
Seja um conjunto com uma relao de ordem parcial.
Pode-se, ento, definir uma ordem lexicogrfica ou ordem de dicionrio no
conjunto ?.
Seja R uma relao em ?. Para quaisquer inteiros positivos m e n, e
a1a2. . .am e b1b2. . .bn em ?, temos:
1. Se m n e ai = bi para todos i = 1, 2, . . . , m, ento
a1a2. . .am  b1b2. . .bn.
2. Para algum inteiro k, k m, k n, e k 1, ai = bi para todos i =
1, 2, . . . , k 1, e ak Rbk mas ak 6= bk , ento
a1a2. . .am  b1b2. . .bn.
3. Se  o string nulo e s um string em ?, ento   s.
O smbolo  usado para referenciar uma relao de ordem parcial genrica
e lido como menor ou igual a.
UFMG/ICEx/DCC

MD

Conceitos

622

Ordem lexicogrfica
Exemplo 32 Seja = {, >} e R a seguinte relao de ordem parcial em :
R = {(, ), (, >), (>, >)}.
Diga se os seguintes strings definem uma ordem lexicogrfica em ?:

(a) >>>>  >>>?


Sim, caso 2.
(b) >>>>  >>>?
No, j que a5 6 b5.
(c) >>  >>?
Sim, caso 1.
(d)   >?
Sim, caso 3.

UFMG/ICEx/DCC

MD

Conceitos

623

Diagrama de Hasse
Exemplo 33 Seja A = {1, 2, 3, 9, 18} e considere a relao D divide no
conjunto como:
a, b A, a|b b = a k, para algum inteiro k.
O grafo dirigido da relao D :

18

9
2

UFMG/ICEx/DCC

MD

Conceitos

624

Diagrama de Hasse

18

9
2

Note que:
Existe um lao (loop) em cada vrtice;
Todas as arestas apontam para a mesma direo,
ou seja, para cima;
Toda vez que h uma aresta de um vrtice para
um segundo e de um segundo para um terceiro,
ento h uma aresta do primeiro vrtice para o
terceiro vrtice.

possvel associar um grafo mais simples com


uma relao de ordem parcial num conjunto
finito chamado Diagrama de Hasse.

UFMG/ICEx/DCC

MD

Conceitos

625

Algoritmo para obter o Diagrama de Hasse


Elimine:
1. Os laos em todos os vrtices;
2. Todas as arestas que existem por causa da propriedade de transitividade;
3. A direo em todas as arestas.

18

18

9
2

UFMG/ICEx/DCC

MD

Conceitos

626

Diagrama de Hasse
Exemplo 34 Considere a relao subconjunto, , no conjunto potncia
P({a, b, c}). Para todos os conjuntos U e V em P({a, b, c}),
U V x, se x U ento x V.
Construa o Diagrama de Hasse dessa relao.
{a,b,c}

{a,b,c}
{a,b}

{a}

{a,c}

{b}

{b,c}
{a,b}
{a}
{c}

0/

UFMG/ICEx/DCC

{a,c}

{b,c}

{b}

{c}

0/

MD

Conceitos

627

Grafo original do Diagrama de Hasse


Para obter o grafo original a partir do Diagrama de Hasse basta reverter os
passos do algoritmo anterior.

UFMG/ICEx/DCC

MD

Conceitos

628

Grafos
Antonio Alfredo Ferreira Loureiro
loureiro@dcc.ufmg.br
http://www.dcc.ufmg.br/~loureiro

UFMG/ICEx/DCC

MD

Conceitos

629

Motivao
Suponha que existam seis sistemas computacionais (A, B, C, D, E, e F) interconectados entre si da seguinte forma:
B

D
E

Esta informao pode ser representada por este diagrama, chamado de


grafo.
Este diagrama identifica unicamente um grafo.

UFMG/ICEx/DCC

MD

Conceitos

630

Motivao
Dois objetos especiais:
Vrtices
Arestas

Vrtice

C
Aresta

D
E

UFMG/ICEx/DCC

MD

Conceitos

631

Definio
Um grafo G consiste de dois conjuntos finitos:
1. Vrtices V (G)
2. Arestas E(G)

Em geral, um grafo G representado como:


G = (V, E)

UFMG/ICEx/DCC

MD

Conceitos

632

Terminologia
Cada aresta est associada a um conjunto de um ou dois vrtices, chamados
ns terminais.
Extremidade de uma aresta: vrtice da aresta.
Funo arestaextremidade: associa aresta a vrtices.
Lao (Loop): aresta somente com n terminal.
Arestas paralelas: arestas associadas ao mesmo conjunto de vrtices.
Uma aresta dita conectar seus ns terminais.
Dois vrtices que so conectados por uma aresta so chamados de adjacentes.
Um vrtice que n terminal de um lao dito ser adjacente a si prprio.
Uma aresta dita ser incidente a cada um de seus ns terminais.
Duas arestas incidentes ao mesmo vrtice so chamadas de adjacentes.
Um vrtice que no possui nenhuma aresta incidente chamado de isolado.
Um grafo com nenhum vrtice chamado de vazio.

UFMG/ICEx/DCC

MD

Conceitos

633

Terminologia
Arestas paralelas

v2

e3

Vrtice isolado

v5

v3

v7

e2
e4

v1

e1

e6

e5
v4

v6
Lao

UFMG/ICEx/DCC

MD

Conceitos

634

Terminologia
Conjunto de vrtices:
{v1, v2, v3, v4, v5, v6}.
Conjunto de arestas:
{e1, e2, e3, e4, e5, e6, e7}.

v1

v3

e3

v4

e7
v6

e2
Funo arestavrtice:
Aresta
e1
e2
e3
e4
e5
e6
e7

e1

Vrtice
{v1, v2}
{v1, v3}
{v1, v3}
{v2, v3}
{v5, v6}
{v5}
{v6}

UFMG/ICEx/DCC

e4

e5
v5

v2
e6

MD

Conceitos

635

Terminologia
e1, e2 e e3 so incidentes a
v1.
v2 e v3 so adjacentes a v1.

v1

v3

e3

v4

e7
v6

e2, e3 e e4 so adjacentes
a e1 .

e2
e1

e6 e e7 so laos.

e4

e5

e2 e e3 so paralelas.

v5
v2

v5 e v6 so adjacentes entre si.

e6

v4 um vrtice isolado.

UFMG/ICEx/DCC

MD

Conceitos

636

Terminologia
Seja um grafo especificado
como:
Conjunto de vrtices:
{v1, v2, v3, v4}.

Duas possveis representaes deste grafo:


e4

v3

v4

e3 v 2
e2

e1

Conjunto de arestas:
{e1, e2, e3, e4}.

v1
e4

Funo arestavrtice:
Aresta
e1
e2
e3
e4

v4
v3

Vrtice
{v1, v3}
{v2, v4}
{v2, v4}
{v3}

e2

e3

v2
UFMG/ICEx/DCC

MD

Conceitos

e1

v1
637

Terminologia
Considere os dois diagramas abaixo. Rotule os vrtices e as arestas de tal
forma que os dois diagramas representem o mesmo grafo.

UFMG/ICEx/DCC

MD

Conceitos

638

Terminologia
Uma possvel identificao de vrtices e
rtulos pode ser:
v1
e1

e5

v2

v5

Conjunto de arestas:
{e1, e2, e3, e4, e5}.

e2

e4

Os dois diagramas so representados por:


Conjunto de vrtices:
{v1, v2, v3, v4, v5}.

Funo arestavrtice:
e3

v4

v3

v1

Aresta
e1
e2
e3
e4
e5

e1
v3

e3

v4
e4

e5
e2
v5

UFMG/ICEx/DCC

Vrtice
{v1, v2}
{v2, v3}
{v3, v4}
{v4, v5}
{v5, v1}

v2

MD

Conceitos

639

Modelos usando grafos


Grafo

Vrtice

Aresta

Comunicao

Centrais telefnicas, Computadores, Satlites


Portas lgicas, registradores,
processadores
Reservatrios, estaes de
bombeamento
Aes, moeda
Cidades, Aeroportos
Tarefas
Mdulos

Cabos, Fibra ptica, Enlaces


de microondas
Filamentos

Pginas Web
Posies no tabuleiro
Pessoas, Atores

Links
Movimentos permitidos
Amizades, Trabalho conjunto
em filmes

Circuitos
Hidrulico
Financeiro
Transporte
Escalonamento
Arquitetura funcional de
um software
Internet
Jogos de tabuleiro
Relaes sociais

UFMG/ICEx/DCC

MD

Conceitos

Tubulaes
Transaes
Rodovias, Vias areas
Restries de precedncia
Interaes entre os mdulos

640

Modelos usando grafos


Circuito eltrico: Leis de Kirchoff

Gustav Kirchoff (1824


1887), fsico alemo. Foi o primeiro a
analisar o comportamento de rvores
matemticas com a investigao de
circuitos eltricos.

i 1 + i4 = i 2 + i3

UFMG/ICEx/DCC

MD

Conceitos

641

Modelos usando grafos


Estruturas de molculas de hidrocarboneto

Arthur Cayley (1821


1895), matemtico ingls. Logo aps
o trabalho de Kirchoff, Cayley usou
rvores matemticas para enumerar
todos os ismeros para certos hidrocarbonetos.

Butano

Isobutano
UFMG/ICEx/DCC

MD

Conceitos

642

Modelos usando
grafos
Conectividade na
Internet
Este grafo mostra a conectividade
entre roteadores na Internet, resultado do trabalho Internet Mapping Project de Hal Burch e Bill
Cheswick.
Atualmente o trabalho est sendo
desenvolvido comercialmente pela
empresa Lumeta (www.lumeta.com).

UFMG/ICEx/DCC

MD

Conceitos

643

Modelos usando grafos


Conectividade na Internet

Este trabalho de Stephen


Coast (http://www.fractalus
.com/steve/stuff/ipmap/) est
medindo e mapeando a estrutura e desempenho da Internet.
Este um de seus trabalhos
iniciais.

UFMG/ICEx/DCC

MD

Conceitos

644

Modelos usando grafos


Conectividade na RNP2
A Rede Nacional de Pesquisa
(RNP) criou a primeira infraestrutura de comunicao (backbone) no Brasil para interconexo
com a Internet.
Atualmente,
este backbone conhecido como
RNP2.
O grafo de conectividade da
RNP2 tem uma estrutura
(topologia)
basicamente
na
forma de estrela. Note que diferentes enlaces de comunicao
(arestas) possuem diferentes
capacidades.
A Internet formada basicamente por interconexo de Sistemas Autnomos (AS Autonomous System), onde cada
AS um backbone distinto.
UFMG/ICEx/DCC

MD

Conceitos

645

Modelos usando grafos


Grafo de derivao sinttica

Noam Chomsky

John Backus

Peter Naur

Chomsky e outros desenvolveram novas formas de


descrever a sintaxe (estrutura gramatical) de linguagens naturais como ingls. Este trabalho tornou-se
bastante til na construo de compiladores para
linguagens de programao de alto nvel. Neste
estudo, rvores (grafos especiais) so usadas para
mostrar a derivao de sentenas corretas gramaticalmente a partir de certas regras bsicas.
comum representar estas regras, chamadas de
produo, usando uma notao proposta por Backus
(1959) e modificada por Naur (1960) usada para descrever a linguagem de programao Algol. Esta notao chamada de BNF (Backus-Naur Notation).
UFMG/ICEx/DCC

MD

Conceitos

Notao BNF (subconjunto


gramtica da lngua inglesa):

da

hsentencei
::= hnoun phraseihverb phrasei
hnoun phrasei ::= harticleihnouni |
harticleihadjectiveihnouni
hverb phrasei ::= hverbihnoun phrasei
harticlei
::= the
hadjectivei
::= young
hnouni
::= man | ball
hverbi
::= caught

646

Modelos usando grafos


Vegetarianos e Canibais (1)
Seja uma regio formada por vegetarianos e canibais.
Inicialmente, dois vegetarianos e dois canibais esto na margem esquerda
(ME) de um rio.
Existe um barco que pode transportar no mximo duas pessoas e sempre
atravessa o rio com pelo menos uma pessoa.
O objetivo achar uma forma de transportar os dois vegetarianos e os dois
canibais para a margem direita (MD) do rio.
Em nenhum momento, o nmero de canibais numa margem do rio pode ser
maior que o nmero de vegetarianos, caso contrrio, . . .

UFMG/ICEx/DCC

MD

Conceitos

647

Modelos usando grafos


Vegetarianos e Canibais (2)
Soluo:
Notao para representar cada cenrio possvel.
Modelo para representar a mudana de um cenrio em outro vlido.
Notao: ME/MD
vvccB/ ME: 2v, 2c e o barco (B); MD: .
vc/Bvc ME: 1v, 1c; MD: B, 1v e 1c.
Modelo: grafo
Vrtice: cenrio vlido.
Aresta: transio vlida de um dado cenrio em outro.

UFMG/ICEx/DCC

MD

Conceitos

648

Modelos usando grafos


Vegetarianos e Canibais (3)
Uma possvel sequncia vlida de cenrios :
vc/Bvc

ccB/vv
vvcB/c

/Bvvcc

c/Bvvc
vcB/vc

vv/Bcc
vvccB/
vvc/Bc

cc/Bvv

UFMG/ICEx/DCC

MD

Conceitos

649

Modelos usando grafos


Visualizando grafos
Para muitas aplicaes importante desenhar grafos com certas restries:
Planares, i.e., no h cruzamento de
arestas

Graph Drawing: Algorithms for the Visualization of Graphs. Giuseppe Di


Battista, Peter Eades, Roberto Tamassia, e Ioannis G. Tollis. Prentice Hall
Engineering, Science & Math, 432 pp.,
ISBN 0-13-301615-3.
UFMG/ICEx/DCC

MD

Conceitos

650

Grafo simples
Definio: Um grafo simples um grafo que no possui laos nem arestas paralelas. Num grafo simples, uma aresta com vrtices (ns terminais) u e v
representada por uv.
Exemplo: Quais so os grafos com quatro vrtices {u, v, w, x} e duas arestas,
sendo que uma delas a aresta uv?
Dado quatro vrtices, existem C(4, 2) = 6 subconjuntos, que definem
arestas diferentes: {uv, uw, ux, vw, vx, wx}.
Logo, todos os grafos simples de quatro vrtices e duas arestas, sendo uma
delas a uv so:
u

UFMG/ICEx/DCC

MD

Conceitos

651

Grafo dirigido (1)


Definio: Um grafo dirigido ou digrafo ou direcionado G consiste de dois conjuntos finitos:
1. Vrtices V (G)
2. Arestas dirigidas E(G), onde cada aresta associada a um par ordenado
de vrtices chamados de ns terminais. Se a aresta e associada ao par
(u, v) de vrtices, diz-se que e a aresta dirigida de u para v.

v2

v5

v3

e3

v7

e2
e7

v1

UFMG/ICEx/DCC

e4

e6

e8

e5

e1

v4

MD

Conceitos

v6

652

Grafo dirigido (2)


Para cada grafo dirigido, existe um grafo simples (no dirigido) que obtido
removendo as direes das arestas, e os loops.
Grafo no dirigido correspondente:

Grafo dirigido:
v2

v3

v1

v4

UFMG/ICEx/DCC

v5

v7

v2

v3

v6

v1

v4

MD

Conceitos

v5

v7

v6

653

Grafo dirigido (3)


A verso dirigida de um grafo no dirigido G = (V, E) um grafo dirigido
G0 = (V 0, E 0) onde (u, v) E 0 sse (u, v) E.
Cada aresta no dirigida (u, v) em G substituda por duas arestas dirigidas
(u, v) e (v, u).
Em um grafo dirigido, um vizinho de um vrtice u qualquer vrtice adjacente
a u na verso no dirigida de G.
Grafo dirigido correspondente:

Grafo no dirigido:
v2

v3

v2

v1
UFMG/ICEx/DCC

v3

v1
MD

Conceitos

654

Grafo completo (1)


Definio: Um grafo completo de n vrtices, denominado Kn, um grafo simples com n vrtices v1, v2, . . . , vn, cujo conjunto de arestas contm exatamente
uma aresta para cada par de vrtices distintos.
Exemplo: Grafos completos com 2, 3, 4, e 5 vrtices.

v4

v3

v4

v3
v5

v1

v2

K2

v1

v2

v2

v1

K3

K4

v3
v1

v2

K5

letra K representa a letra inicial da palavra komplett do alemo, que significa completo.
UFMG/ICEx/DCC

MD

Conceitos

655

Grafo completo (2)


Dado o grafo completo Kn temos que
Vrtice

est conectado aos vrtices


(no conectados ainda)

atravs de # arestas

v1

v2, v3, . . . , vn

n1

v2
...

v3, v4, . . . , vn
...

n2
...

vn1

vn

vn

ou seja, se contarmos o nmero total de arestas de Kn temos


n1
X

(n 1) n
n2 n
(|V |2 |V |)
i=
=
=
2
2
2
i=1

UFMG/ICEx/DCC

MD

Conceitos

656

Grafo completo (3)


Os grafos K2, K3, K4, e K5

v4

v3

v4

v3
v5

v1

v2

K2

v1

v2

v2

v1

K3

K4

v3
v1

v2

K5

possuem a seguinte quantidade de arestas:

UFMG/ICEx/DCC

Grafo

# arestas

K2

K3

K4

K5

10

MD

Conceitos

657

Quantidade de grafos distintos com n vrtices (1)


O nmero total de grafos distintos com n vrtices (|V |)
2

n2 n
2

=2

(|V |2 |V |)
2

que representa a quantidade de maneiras diferentes de escolher um subconjunto a partir de


(|V |2 |V |)
n2 n
=
2
2
possveis arestas de um grafo com n vrtices.

UFMG/ICEx/DCC

MD

Conceitos

658

Quantidade de grafos distintos com n vrtices (2)


Exemplo: Quantos grafos distintos com 3 vrtices existem?
Um grafo com 3 vrtices v1, v2 e v3 possui no mximo 3 arestas, ou seja,
E = {v1v2, v1v3, v2v3}.
O nmero de sub-conjuntos distintos de E dado por P(E), ou seja, o conjunto potncia de E que vale 2|E|.
Cada elemento de P(E) deve

P(E) =

,
{v1v2},
{v1v3},
{v2v3},
{v1v2, v2v3},
{v1v3, v2v3},
{v1v2, v1v3},
{v1v2, v1v3, v2v3}

ser mapeado num grafo com 3

v3

vrtices levando a um grafo distinto:

v1
UFMG/ICEx/DCC

MD

Conceitos

v2
659

Quantidade de grafos distintos com n vrtices (3)


Exemplo: Quantos grafos distintos com 3 vrtices existem (continuao)?
Para cada elemento (sub-conjunto) do conjunto potncia de E temos um grafo
distinto associado, ou seja, o nmero total de grafos com 3 vrtices :

n2 n
2

=2

32 3
2

= 23 = 8
v1

v2

v1

v1

v2

MD

v2

v1

Conceitos

v1

v2

v1

v2

v1

v2
v3

v3

v3

v3

UFMG/ICEx/DCC

v3

v3

v3

v3

v2

v1

v2

660

Grafo ciclo
Definio: Um grafo ciclo de n vrtices, denominado Cn, n 3, um grafo
simples com n vrtices v1, v2, . . . , vn, e arestas v1v2, v2v3, . . ., vn1vn, vnv1.
Exemplo: Grafos ciclos de 3, 4, e 5 vrtices.

v4

v3

v4

v3
v5

v1

v2

v2

v1

C3

UFMG/ICEx/DCC

C4

MD

Conceitos

v3
v1

v2

C5

661

Grafo roda
Definio: Um grafo roda, denominado Wn, um grafo simples com n + 1
vrtices que obtido acrescentado um vrtice ao grafo ciclo Cn, n 3, e
conectando este novo vrtice a cada um dos n vrtices de Cn.
Exemplo: Grafos rodas de 3, 4, e 5 vrtices.

v4

v3

v4

v3
v5
v5

v4
v1

v2

v6
v2

v1

W3

UFMG/ICEx/DCC

v3

W4

MD

Conceitos

v1

v2

W5

662

Grafo Cubo-n (1)


Definio: Um grafo cubo-n de 2n vrtices, denominado Qn, um grafo simples
que representa os 2n strings de n bits. Dois vrtices so adjacentes sse os
strings que eles representam diferem em exatamente uma posio.
O grafo Qn+1 pode ser obtido a partir do grafo Qn usando o seguinte algoritmo:
1. Faa duas cpias de Qn;
2. Prefixe uma das cpias de Qn com 0 e a outra com 1;
3. Acrescente uma aresta conectando os vrtices que s diferem no primeiro
bit.

UFMG/ICEx/DCC

MD

Conceitos

663

Grafo Cubo-n (2)


Exemplo: Grafos Qn, para n = 1, 2, e 3 vrtices.
110
10

11

111

100

101

010
0

Q1

UFMG/ICEx/DCC

00

01

Q2

MD

Conceitos

000

011

Q3

001

664

Grafo bipartido (1)


Definio: Um grafo bipartido um grafo com vrtices v1, v2, . . . , vm e
w1, w2, . . . , wn, que satisfaz as seguintes propriedades:
i, k = 1, 2, . . . , m
j, l = 1, 2, . . . , n

1. as arestas do grafo, cada aresta conecta algum vrtice vi a algum vrtice


wj ;
2. uma aresta entre cada par de vrtices vi e vk ;
3. uma aresta entre cada par de vrtices wj e wl ;

UFMG/ICEx/DCC

MD

Conceitos

665

Grafo bipartido (1)


Definio: Um grafo bipartido um grafo com vrtices v1, v2, . . . , vm e
w1, w2, . . . , wn, que satisfaz as seguintes propriedades:
i, k = 1, 2, . . . , m
j, l = 1, 2, . . . , n

1. as arestas do grafo, cada aresta conecta algum vrtice vi a algum vrtice


wj ;
2. uma aresta entre cada par de vrtices vi e vk ;
3. uma aresta entre cada par de vrtices wj e wl ;

As duas ltimas propriedades so consequncias da primeira.

UFMG/ICEx/DCC

MD

Conceitos

666

Grafo bipartido (2)


Exemplo: Grafos bipartidos.
v1

w1

v2

w2

w1

v1

w3

w4

w2

v3

v4

w4
v2

v6

w2

v1

w3

w4

v2

v5

w1

v7

v3
w3

v4

UFMG/ICEx/DCC

MD

Conceitos

w5

v8

667

Grafo bipartido completo (1)


Definio: Um grafo bipartido completo de m, n vrtices, denominado Km,n,
um grafo simples com vrtices v1, v2, . . . , vm e w1, w2, . . . , wn, que satisfaz as
seguintes propriedades:
i, k = 1, 2, . . . , m
j, l = 1, 2, . . . , n

1. uma aresta entre cada par de vrtices vi e wj ;


2. uma aresta entre cada par de vrtices vi e vk ;
3. uma aresta entre cada par de vrtices wj e wl ;

UFMG/ICEx/DCC

MD

Conceitos

668

Grafo bipartido completo (2)


Exemplo: Grafos bipartidos completos K3,2 e K3,3.

v1

v1

w1

v2

w2

v3

w3

w1
v2
w2
v3

K 3,2

UFMG/ICEx/DCC

K 3,3

MD

Conceitos

669

Grafo de Petersen
Definio: grafo no dirigido cbico com 10 vrtices e 15 arestas, como ilustrado
abaixo. um grafo largamente utilizado como exemplo e contra-exemplo para
muitos problemas em teoria dos grafos.

[Recebe esse nome em homenagem ao matemtico dinamarqus Julius Petersen, que o utilizou
em um trabalho publicado em 1898. No entanto, o primeiro registro do uso desse grafo se deve
a um trabalho de Alfred Kempe, matemtico ingls, 12 anos antes, em 1886.]

Em teoria dos grafos, existem vrios outros grafos que recebem nomes especiais sejam eles baseados em nomes de pessoas (e.g, Folkman, Gabriel,
Heawood, Turn, Yao) ou em propriedades (e.g., autocomplementar, complementar, disco unitrio, intervalar, orientado balanceado, poliedro).
UFMG/ICEx/DCC

MD

Conceitos

670

Multigrafo
Definio: Um multigrafo um grafo que no possui laos mas pode ter arestas
paralelas. Formalmente, um multigrafo G = (V, E) consiste de um conjunto V
de vrtices, um conjunto E de arestas, e uma funo f de E para {{u, v}|u, v
V, u 6= v}. As arestas e1 e e2 so chamadas mltiplas ou paralelas se f (e1) =
f (e2).

v1

v3

e3

v4
v6

e2
e1

e4

e5
v5

v2
Vrias aplicaes precisam ser modeladas como um multigrafo.
UFMG/ICEx/DCC

MD

Conceitos

671

Pseudografo
Definio: Um pseudografo um grafo que pode ter laos e arestas paralelas.
Formalmente, um pseudografo G = (V, E) consiste de um conjunto V de vrtices, um conjunto E de arestas, e uma funo f de E para {{u, v}|u, v V }.
Pseudografo mais geral que um multigrafo.

UFMG/ICEx/DCC

MD

Conceitos

672

Multigrafo dirigido
Definio: Um multigrafo dirigido um grafo que pode ter laos e arestas paralelas. Formalmente, um multigrafo dirigido G = (V, E) consiste de um conjunto V de vrtices, um conjunto E de arestas, e uma funo f de E para
{{u, v}|u, v V }. As arestas e1 e e2 so arestas mltiplas se f (e1) = f (e2).

UFMG/ICEx/DCC

MD

Conceitos

673

Hipergrafo
Definio: Um hipergrafo H(V, F ) definido pelo par de conjuntos V e F , onde:
V um conjunto no vazio de vrtices;
F um conjunto que representa uma famlia e partes no vazias de V .
Um hipergrafo um grafo no dirigido em que cada aresta conecta um nmero
arbitrrio de vrtices.
Seja, por exemplo, o grafo H(V, F )
dado por:
V

v1

v2

v4

v3

= {v1, v2, v3, v4}

F = {{v1, v2, v4}, {v2, v3, v4}, {v2, v3}}

UFMG/ICEx/DCC

MD

Conceitos

674

Terminologia de grafos
Tipo

Aresta

Arestas mltiplas?

Laos permitidos?

Grafo simples

No dirigida

No

No

Multigrafo

No dirigida

Sim

No

Pseudografo

No dirigida

Sim

Sim

Grafo dirigido

Dirigida

No

Sim

Multigrafo dirigido

Dirigida

Sim

Sim

UFMG/ICEx/DCC

MD

Conceitos

675

Grafo valorado
Definio: Um grafo valorado um grafo em que cada aresta tem um valor associado. Formalmente, um grafo valorado G = (V, E) consiste de um conjunto
V de vrtices, um conjunto E de arestas, e uma funo f de E para P , onde P
representa o conjunto de valores (pesos) associados s arestas.
Grafo valorado usado para modelar vrios problemas importantes em Cincia da Computao.

UFMG/ICEx/DCC

MD

Conceitos

676

Grafo imersvel
Definio: Um grafo imersvel em uma superfcie S se puder ser representado
geograficamente em S de tal forma que arestas se cruzem nas extremidades
(vrtices).
Um grafo planar um grafo que imersvel no plano.
As conexes de uma placa de circuito impresso devem ser representadas
por um grafo planar.

UFMG/ICEx/DCC

MD

Conceitos

677

Subgrafo
Definio: Um grafo H = (V 0, E 0) dito ser um subgrafo de um grafo G =
(V, E) sse:
cada vrtice de H tambm um vrtice de G, ou seja, V 0 V ;
cada aresta de H tambm uma aresta de G, ou seja, E 0 E; e
cada aresta de H tem os mesmos ns terminais em G, ou seja, se (u, v) E 0
ento (u, v) E.
Exemplo: Todos os subgrafos do grafo G:
v2

e1

v1

v2

v1

2
v2

v1

5
v2

e2
e1

v1

8
v2

e2
e1

v1

e3

G
e2
v2

v1

v1

1
v2

v1

4
v2

e1

e3

e3
6
v2
9
UFMG/ICEx/DCC

e1

7
v2

v1

v1
e3

e3
e2

10
MD

Conceitos

11

v1

e3

e2
678

Grau de um vrtice (1)


Definio: Seja G um grafo e um vrtice v de G. O grau de v, denominado
grau(v) (deg(v)), igual ao nmero de arestas que so incidentes a v, com
uma aresta que seja um lao contada duas vezes. O grau total de G a soma
dos graus de todos os vrtices de G.
Exemplo: Determinando o grau de v1 no grafo abaixo.

v1

v2

UFMG/ICEx/DCC

grau(v 1) = 5

v3

v4

MD

Conceitos

679

Grau de um vrtice (2)


Em um grafo dirigido o grau de um vrtice v o nmero de arestas quem saem
dele (out-deg(v)) mais o nmero de arestas que chegam nele (in-deg(v)).
Exemplo: Determinando o grau de v3 no grafo abaixo.
grau(v 3) = 4

v2

v5

v3

e3

v7

e2
e7

v1

UFMG/ICEx/DCC

e4

e6

e8

e5

e1

v4

MD

Conceitos

v6

680

Grau de um vrtice (3)


Exemplo: Seja o grafo G abaixo. Determine o grau de cada vrtice e o grau total
de G.

v1

v2

e1

v3
e3

e2
grau(v1) = 0, j que no existe aresta incidente a v1, que um vrtice
isolado.
grau(v2) = 2, j que e1 e e2 so incidentes a v2.
grau(v3) = 4, j que e1, e2 e e3 so incidentes a v3, sendo que e3 contribui
com dois para o grau de v3.
Grau de G = grau(v1) + grau(v2) + grau(v3) = 0 + 2 + 4 = 6
Grau de G = 2 nmero de arestas de G, que 3, ou seja, cada aresta
contribui com dois para o grau total do grafo.
UFMG/ICEx/DCC

MD

Conceitos

681

Grau de um vrtice (4)


Teorema (do aperto de mos ou handshaking): Seja G um grafo. A soma dos
graus de todos os vrtices de G duas vezes o nmero de arestas de G. Especificamente, se os vrtices de G so v1, v2, . . . , vn, onde n um inteiro positivo, ento
Grau de G

UFMG/ICEx/DCC

grau(v1) + grau(v2) + . . . + grau(vn)

2 nmero de arestas de G.

MD

Conceitos

682

Grau de um vrtice (5)


Prova:
Seja G um grafo especfico mas escolhido arbitrariamente.
Se G no possui vrtices ento no possui arestas, e o grau total 0, que
o dobro das arestas, que 0.
Se G tem n vrtices v1, v2, . . . , vn e m arestas, onde n um inteiro positivo
e m um inteiro no negativo. A hiptese que cada aresta de G contribui
com 2 para o grau total de G.
Suponha que e seja uma aresta arbitrria com extremidades vi e vj . Esta
aresta contribui com 1 para o grau de vi e 1 para o grau de vj .

UFMG/ICEx/DCC

MD

Conceitos

683

Grau de um vrtice (6)


Prova (continuao):
Isto verdadeiro mesmo se i = j j que no caso de um lao conta-se duas
vezes para o grau do vrtice no qual incide.
vi

vj

i 6= j

vi

vj

i=j

Assim, a aresta e contribui com 2 para o grau total de G. Como e foi escolhido
arbitrariamente, isto mostra que cada aresta de G contribui com 2 para o grau
total de G.
.
. . O grau total de G = 2 nmero de arestas de G.
Corolrio: O grau total de um grafo par.
UFMG/ICEx/DCC

MD

Conceitos

684

Grafo regular
Definio: Um grafo dito ser regular quando todos os seus vrtices tm o
mesmo grau.
Exemplo: Os grafos completos com 2, 3, 4, e 5 vrtices so grafos regulares.

v4

v3

v4

v3
v5

v1

v2

K2

UFMG/ICEx/DCC

v1

v2

v2

v1

K3

K4

MD

Conceitos

v3
v1

v2

K5

685

Determinando a existncia de certos grafos (1)


possvel ter um grafo com quatro vrtices de graus 1, 1, 2, e 3?
No. O grau total deste grafo 7, que um nmero mpar.
possvel ter um grafo com quatro vrtices de graus 1, 1, 3, e 3?
Sim. Exemplos:
a

UFMG/ICEx/DCC

MD

Conceitos

686

Determinando a existncia de certos grafos (2)


possvel ter um grafo simples com quatro vrtices de graus 1, 1, 3, e 3?
No.
Prova (por contradio):
Suponha que exista um grafo simples G com quatro vrtices de graus 1, 1, 3, e 3. Chame
a e b os vrtices de grau 1, e c e d os vrtices de grau 3. Como grau(c) = 3 e G no
possui laos ou arestas paralelas, devem existir arestas que conectam c aos vrtices a, b
e d.
b
a

d
c
Pelo mesmo raciocnio devem existir arestas que conectam d aos vrtices a, b e c.
a
b

d
c
Mas o grau(a) 2 e grau(b) 2, o que contradiz a suposio que estes vrtices tm
grau 1.
.
. . A suposio inicial falsa e, conseqentemente, no existe um grafo simples com quatro
vrtices com graus 1, 1, 3, e 3.
UFMG/ICEx/DCC

MD

Conceitos

687

Determinando a existncia de certos grafos (3)


possvel num grupo de nove pessoas, cada um ser amigo de exatamente
cinco outras pessoas?
No.
Prova (por contradio):
Suponha que cada pessoa represente um vrtice de um grafo e a aresta
indique uma relao de amizade entre duas pessoas (vrtices).
Suponha que cada pessoa seja amiga de exatamente cinco outras pessoas.
Ento o grau de cada vrtice cinco e o grau total do grafo 45.
.
. . Isto contradiz o corolrio que o grau total de um grafo par e, conseqentemente, a suposio falsa.

UFMG/ICEx/DCC

MD

Conceitos

688

Caracterstica de um grafo
Teorema: Em qualquer grafo G, existe um nmero par de vrtices de grau mpar.
Prova:
Suponha que G tenha n vrtices de grau mpar e m vrtices de grau par, onde n e m so
inteiros no negativos. [Deve-se mostrar que n par.]
Se n = 0, ento G tem um nmero par de vrtices de grau mpar.
Suponha que n 1. Seja P a soma dos graus de todos os vrtices de grau par, I a soma
dos graus de todos os vrtices de grau mpar, e T o grau total de G.
Se p1 , p2 , . . . , pm so os vrtices de grau par e i1 , i2 , . . . , in so os vrtices de grau mpar,
P = grau(p1 ) + grau(p2 ) + . . . + grau(pm ),
I = grau(i1 ) + grau(i2 ) + . . . + grau(in ),
T = grau(p1 ) + grau(p2 ) + . . . + grau(pm ) +
grau(i1 ) + grau(i2 ) + . . . + grau(in )
= P + I [que deve ser um nmero par]
P par, j que P = 0 ou P a soma de grau(pr ), 0 r m, que par.
Mas T = P + I e I = T P . Assim, I a diferena de dois inteiros pares, que par.
Pela suposio, grau(is ), 0 s n, mpar. Assim, I, um inteiro par, a soma de n inteiros
mpares grau(i1 ) + grau(i2 ) + . . . + grau(in ). Mas a soma de n inteiros mpares par, ento
n par [o que devia ser mostrado].
UFMG/ICEx/DCC

MD

Conceitos

689

Determinando a existncia de certos grafos (4)


possvel ter um grafo com 10 vrtices de graus 1, 1, 2, 2, 2, 3, 4, 4, 4, e 6?
No. Duas formas de provar:
1. Este grafo supostamente possui trs vrtices de grau mpar, o que no
possvel.
2. Este grafo supostamente possui um grau total = 29, o que no possvel.

UFMG/ICEx/DCC

MD

Conceitos

690

O problema das sete pontes de Knigsberg ou


O incio da teoria dos grafos (1)

Leonhard Euler (1707-1783) aos 49 anos. Tela em leo pintada por


Jakob Emanuel Handmann em 1756.
Leonhard Euler, matemtico suo. Considerado um dos maiores matemticos de todos os
tempos. Foi um cientista extremamente produtivo contribuindo para muitas reas da matemtica
como teoria dos nmeros, anlise combinatria e anlise, bem como o seu uso em reas como
msica e arquitetura naval. Euler foi o primeiro a usar o termo funo para descrever uma
expresso envolvendo vrios argumentos, ou seja, y = F (x). No total escreveu mais de
1100 artigos e livros. Durante os ltimos 17 anos de vida, ele ficou praticamente cego, quando
produziu quase que metade de seus trabalhos.
A rea de teoria dos grafos comea em 1736 quando publica um artigo (Solutio problematis ad
geometriam situs pertinentis) contendo a soluo para o problema das sete pontes de Knigsberg, na poca uma cidade da Prssia e, atualmente, cidade da Rssia.

UFMG/ICEx/DCC

MD

Conceitos

691

O problema das sete pontes de Knigsberg ou


O incio da teoria dos grafos (2)
A cidade de Knigsberg foi construda numa regio onde haviam dois braos do Rio Pregel e
uma ilha. Foram construdas sete pontes ligando diferentes partes da cidade, como mostrado
na figura:

Problema: possvel que uma pessoa faa um percurso na cidade de tal forma que inicie e
volte a mesma posio passando por todas as pontes somente uma nica vez?

UFMG/ICEx/DCC

MD

Conceitos

692

O problema das sete pontes de Knigsberg ou


Onde Knigsberg (3)
Referncia: Northern Germany as far as the Bavarian and Austrian Frontiers;
Handbook for Travellers by
Karl Baedeker. Fifteenth Revised Edition. Leipzig, Karl
Baedeker; New York, Charles
Scribners Sons 1910.

UFMG/ICEx/DCC

History: Kaliningrad was for- Mapa parcial (recente) da


merly the Prussian port of cidade.
Knigsberg, capital of East
Prussia. It was captured by
the Red Army in April 1945
and ceded to the Soviet Union
at the Potsdam conference.
It was renamed in honor of
senior Soviet leader Mikhail
Kalinin, although he never actually visited the area.

MD

Conceitos

693

O problema das sete pontes de Knigsberg (4)


Euler resolveu este problema dando incio teoria dos grafos.
Modelagem proposta por Euler:
Todos os pontos de uma dada rea de terra podem ser representados por
um nico ponto j que uma pessoa pode andar de um lado para o outro
sem atravessar uma ponte.
Um ponto conectado a outro se houver uma ponte de um lado para o
outro.
Graficamente, Euler representou o problema como:

B
C

UFMG/ICEx/DCC

MD

Conceitos

694

O problema das sete pontes de Knigsberg (5)


Problema a ser resolvido:
possvel achar um caminho que comece e termine num vrtice qualquer
(A, B, C, ou D) e passe por cada aresta, exatamente, e uma nica vez?,
ou ainda,
possvel desenhar este grafo que comece e termine na mesma posio
sem levantar o lpis do papel?
A

B
C

UFMG/ICEx/DCC

MD

Conceitos

695

O problema das sete pontes de Knigsberg (6)


Aparentemente no existe soluo!
A

Partindo do vrtice A, toda vez que se passa por qualquer outro vrtice, duas arestas so usadas: a de
chegada e a de sada.
B

Assim, se for possvel achar uma rota que usa todas


as arestas do grafo e comea e termina em A, ento o
nmero total de chegadas e sadas de cada vrtice
deve ser um valor mltiplo de 2.

No entanto, temos:
grau(A) = grau(C) = grau(D) = 3; e
grau(B) = 5.
Assim, por este raciocnio informal no possvel ter
uma soluo para este problema.

UFMG/ICEx/DCC

MD

Conceitos

696

Caminhamentos em grafos
Caminho (1)
Seja G um grafo no dirigido, n 1, e v e w vrtices de G.
Caminho (walk ): Um caminho de v para w uma sequncia alternada de
vrtices e arestas adjacentes de G. Um caminho tem a forma:
(v =)v0e1v1e2v2 . . . vn1envn(= w)
ou ainda
v0[v0, v1]v1[v1, v2]v2 . . . vn1[vn1, vn]vn
onde v0 = v e vn = w.

v2

e1

e4 e
6

e5

e7
v1
UFMG/ICEx/DCC

e3

v3

Um possvel caminho entre v1 e v4:


v1e6v3e2v4e7v2e1v3e2v4e3v1e4v2e5v4

e2
v4
MD

Conceitos

697

Caminhamentos em grafos
Caminho (2)
No caso de arestas mltiplas, deve-se indicar qual delas est sendo usada.
Vrtices v0 e vn so extremidades do caminho.
Tamanho (comprimento) do caminho: nmero de arestas do mesmo, ou seja,
nmero de vrtices menos um.
O caminho trivial de v para v consiste apenas do vrtice v.
Se existir um caminho c de v para w ento w alcanvel a partir de v via c.

UFMG/ICEx/DCC

MD

Conceitos

698

Caminhamentos em grafos
Caminho fechado (1)
Caminho fechado (Closed walk ): Caminho que comea e termina no mesmo
vrtice:
(v =)v0e1v1e2v3 . . . vn1envn(= w)
onde v = w.

v2

e1

e4 e
6

e5

e7
v1

e3

v3

Um possvel caminho fechado :


v1e6v3e2v4e7v2e1v3e2v4e3v1e4v2e5v4e3v1

e2
v4

Um caminho fechado com pelo menos uma aresta chamado de ciclo.

UFMG/ICEx/DCC

MD

Conceitos

699

Caminhamentos em grafos
Caminho fechado (2)
Dois caminhos fechados
e

v0v1 . . . vn

0
v00 v10 . . . vn

formam o mesmo ciclo se existir um inteiro j tal que


vi0 = vi+j mod n,
para i = 0, 1, . . . , n 1.

v2

e1

e4 e
6

e5

e7
v1

UFMG/ICEx/DCC

e3

v3

O caminho fechado v1v2v3v4v1 forma o


mesmo ciclo que os caminhos fechados
v2v3v4v1v2, v3v4v1v2v3 e v4v1v2v3v4.

e2
v4

MD

Conceitos

700

Caminhamentos em grafos
Trajeto
Trajeto (Path): Caminho de v para w sem arestas repetidas:
(v =)v0e1v1e2v3 . . . vn1envn(= w)
onde todas as arestas ei so distintas, ou seja, ei 6= ek , para qualquer i 6= k.

v2

e1

e4 e
6

e5

e7
v1

UFMG/ICEx/DCC

e3

v3

Um possvel trajeto :
v1e6v3e2v4e7v2e1v3

e2
v4

MD

Conceitos

701

Caminhamentos em grafos
Trajeto simples
Trajeto simples (Simple path): Caminho de v para w sem arestas e vrtices
repetidos.

v2

e1

e4 e
6

e5

e7
v1

UFMG/ICEx/DCC

e3

v3

Um possvel trajeto simples :


v1e6v3e2v4e7v2

e2
v4

MD

Conceitos

702

Caminhamentos em grafos
Circuito
Circuito (Circuit): Trajeto fechado, ou seja, um caminho onde no h aresta
repetida e os vrtices inicial e final so idnticos:
(v =)v0e1v1e2v3 . . . vn1envn(= w)
onde toda aresta ei, 1 i n, distinta e v0 = vn.

v2

e1

e4 e
6

e5

e7
v1

UFMG/ICEx/DCC

e3

v3

Um possvel circuito :
v1e6v3e2v4e7v2e1v3

e2
v4

MD

Conceitos

703

Caminhamentos em grafos
Circuito simples
Circuito simples (Simple circuit): Trajeto fechado, ou seja, um caminho onde
no h arestas e vrtices repetidos, exceto os vrtices inicial e final que so
idnticos.

v2

e1

e4 e
6

e5

e7
v1

e3

v3

Um possvel circuito simples :


v1e6v3e2v4e7v2e4v1

e2
v4

Um circuito simples tambm chamado de ciclo simples.

UFMG/ICEx/DCC

MD

Conceitos

704

Terminologia de caminhamentos
Aresta
repetida?

Vrtice
repetido?

Comea e termina
no mesmo vrtice?

Caminho (walk )

Pode

Pode

Pode

Caminho fechado (closed walk )

Pode

Pode

Sim

Trajeto (path)

No

Pode

Pode

Trajeto simples (simple path)

No

No

No

Circuito (circuit)

No

Pode

Sim

Circuito simples (simple circuit)

No

v0 = vn

Sim

Tipo

UFMG/ICEx/DCC

MD

Conceitos

705

Caminhamentos em grafos
Notao simplificada (1)
Em geral um caminho pode ser identificado de forma no ambgua atravs de
uma sequncia de arestas ou vrtices.

e2

e1
v1

e4
v2

e3

v3

O caminho e1e2e4e3 representa de forma no ambgua o caminho


v1e1v2e2v3e4v3e3v2
A notao e1 ambgua, se usada para referenciar um caminho, pois pode
representar duas possibilidades: v1e1v2 ou v2e1v1.
A notao v2v3 ambgua, se usada para referenciar um caminho, pois pode
representar duas possibilidades: v2e2v3 ou v2e3v3.
UFMG/ICEx/DCC

MD

Conceitos

706

Caminhamentos em grafos
Notao simplificada (2)
e2
e1

e3

v1

v2

v3

A notao v1v2v2v3, se for associada a um caminho, representa de forma


no ambgua o caminho v1e1v2e2v2e3v3
Se um grafo G no possui arestas paralelas, ento qualquer caminho em G
pode ser determinado de forma nica por uma sequncia de vrtices.

UFMG/ICEx/DCC

MD

Conceitos

707

Identificando o caminhamento (1)


e4
v1

e2

e3
v2

e1

e5

v3
e7

e6

v4
e 10

e8
v6

e9

v5

Que tipo de caminhamento ?


v1e1v2e3v3e4v3e5v4
Aresta repetida? No.
Vrtice repetido? Sim v3.
Comea e termina no mesmo
vrtice? No.
Trajeto.

UFMG/ICEx/DCC

MD

e1e3e5e5e6
Aresta repetida? Sim e5.
Vrtice repetido? Sim v3.
Comea e termina no mesmo
vrtice? No.
Caminho.

Conceitos

708

Identificando o caminhamento (2)


e4
v1

e2

e3
v2

e1

e5

v3
e7

e6

v4
e 10

e8
v6

e9

v5

Que tipo de caminhamento ?


v2v3v4v5v3v6v2
Aresta repetida? No.
Vrtice repetido? Sim v2 e v3.
Comea e termina no mesmo
vrtice? Sim v2.
Circuito.

UFMG/ICEx/DCC

MD

v2v3v4v5v6v2
Aresta repetida? No.
Vrtice repetido? Sim v2.
Comea e termina no mesmo
vrtice? Sim v2.
Circuito simples.

Conceitos

709

Identificando o caminhamento (3)


e4
v1

e2

e3
v2

e1

e5

v3
e7

e6

v4
e 10

e8
v6

e9

v5

Que tipo de caminhamento ?


v2v3v4v5v6v3v2
Aresta repetida? Sim e3.
Vrtice repetido? Sim v2 e v3.
Comea e termina no mesmo
vrtice? Sim v2.
Caminho fechado.

UFMG/ICEx/DCC

MD

v1
Aresta repetida? No.
Vrtice repetido? No.
Comea e termina no mesmo
vrtice? Sim v1.
Caminho (circuito) trivial.

Conceitos

710

Fecho transitivo direto


Definio: O fecho transitivo direto (FTD) de um vrtice v o conjunto de todos
os vrtices que podem ser atingidos por algum caminho iniciando em v.
Exemplo: O FTD do vrtice v5 do grafo ao lado
o conjunto {v1, v2, v3, v4, v5, v6}. Note que
o prprio vrtice faz parte do FTD j que ele
alcanvel partindo-se dele mesmo.

v2

v1

v4

v3

v6

v5

v7

UFMG/ICEx/DCC

MD

Conceitos

711

Fecho transitivo inverso


Definio: O fecho transitivo inverso (FTI) de um vrtice v o conjunto de todos
os vrtices a partir dos quais se pode atingir v por algum caminho.
Exemplo: O FTI do vrtice v5 do grafo abaixo
o conjunto {v1, v2, v4, v5, v7}. Note que o
prprio vrtice faz parte do FTI j que dele pode
alcanar ele mesmo.

v2

v1

v4

v3

v6

v5

v7

UFMG/ICEx/DCC

MD

Conceitos

712

Conectividade (1)
Informalmente um grafo conexo (conectado) se for possvel caminhar de qualquer vrtice para qualquer outro vrtice atravs de uma sequncia de arestas
adjacentes.
Definio: Seja G um grafo. Dois vrtices v e w de G esto conectados sse
existe um caminho de v para w. Um grafo G conexo sse dado um par qualquer
de vrtice v e w em G, existe um caminho de v para w. Simbolicamente,
G conexo vrtices v, w V (G), um caminho de v para w.
Se a negao desta afirmao for tomada, possvel ver que um grafo no
conexo sse existem dois vrtices em G que no esto conectados por qualquer
caminho.

UFMG/ICEx/DCC

MD

Conceitos

713

Conectividade (2)
v2

v3

v4

v1

v5

v6

G1

Grafo conexo.

v2

v4

v5

v3

v6

v4

v2
v5
v1

v3

v8

v1

v7

v6

G3

G2

Grafos no conexos.

UFMG/ICEx/DCC

MD

Conceitos

714

Conectividade (3)
Lemas
Seja G um grafo.
(a) Se G conexo, ento quaisquer dois vrtices distintos de G podem ser
conectados por um trajeto simples (simple path).

(b) Se vrtices v e w so parte de um circuito de G e uma aresta removida


do circuito, ainda assim existe um trajeto de v para w em G.

(c) Se G conexo e contm um circuito, ento uma aresta do circuito pode ser
removida sem desconectar G.

UFMG/ICEx/DCC

MD

Conceitos

715

Conectividade (4)
Os grafos
v2

v4

v5

v3

v6

v4

v2
v5
v1

v3

v8

v1

v7

v6

G3

G2

possuem trs partes cada um, sendo cada parte um grafo conexo.
Um componente conexo de um grafo um subgrafo conexo de maior tamanho
possvel.

UFMG/ICEx/DCC

MD

Conceitos

716

Componente conexo (1)


Definio: Um grafo H um componente conexo de um grafo G sse:
1. H um subgrafo de G;
2. H conexo;
3. Nenhum subgrafo conexo I de G tem H como um subgrafo e I contm
vrtices ou arestas que no esto em H.
Um grafo pode ser visto como a unio de seus componentes conexos.

UFMG/ICEx/DCC

MD

Conceitos

717

Componente conexo (2)


Os componentes conexos do grafo G abaixo so:

v3
e1
v1

v4

v5

v8

e5

e3

e2
v 6 e4 v 7

v2

G possui trs componentes conexos:


H1 : V1 = {v1, v2, v3}
E1 = {e1, e2}
H2 : V2 = {v4}
E2 =
H3 : V3 = {v5, v6, v7, v8} E3 = {e3, e4, e5}

UFMG/ICEx/DCC

MD

Conceitos

718

Componente fortemente conexo (conectado)


Um grafo dirigido G = (V, E) fortemente conexo se cada dois vrtices
quaisquer so alcanveis a partir um do outro.
Os componentes fortemente conexos de um grafo dirigido so conjuntos de
vrtices sob a relao so mutuamente alcanveis.
Um grafo dirigido fortemente conexo tem apenas um componente fortemente
conexo.

v3

v0

v4
Os componentes fortemente conexos do grafo ao lado so:
H1 : V1 = {v0 , v1 , v2 , v3 }
H2 : V2 = {v4 }
H3 : V3 = {v5 }
Observe que {v4 , v5 } no um componente fortemente conexo j que o vrtice v5 no alcanvel a partir do vrtice

v2
UFMG/ICEx/DCC

v1

v 5 v4.
MD

Conceitos

719

Circuito Euleriano (1)


Definio: Seja G um grafo. Um circuito Euleriano um circuito que contm
cada vrtice e cada aresta de G. uma sequncia de vrtices e arestas adjacentes que comea e termina no mesmo vrtice de G, passando pelo menos
uma vez por cada vrtice e exatamente uma nica vez por cada aresta de G.

UFMG/ICEx/DCC

MD

Conceitos

720

Circuito Euleriano (2)


Teorema: Se um grafo possui um circuito Euleriano, ento cada vrtice do grafo
tem grau par.
Prova:
Suponha que G um grafo que tem um circuito Euleriano. [Deve-se mostrar que
qualquer vrtice v de G tem grau par.]

Seja v um vrtice particular de G mas escolhido aleatoriamente.


O circuito Euleriano possui cada aresta de G incluindo todas as arestas incidentes a v.
Vamos imaginar um caminho que comea no meio de uma das arestas adjacentes ao incio do circuito Euleriano e continua ao longo deste circuito e
termina no mesmo ponto.

UFMG/ICEx/DCC

MD

Conceitos

721

Circuito Euleriano (3)


Par de arestas entrada/sada
Comece aqui

v3

v1
v2

v0
v5

v4
Par de arestas entrada/sada

Prova (continuao):
Cada vez que o vrtice v visitado atravs de uma aresta de entrada, este
vrtice deixado j que o caminho termina no meio de uma aresta.
J que cada circuito Euleriano passa em cada aresta de G exatamente uma
nica vez, cada aresta incidente a v visitada uma nica vez neste processo.
Como o caminho que passa por v feito atravs de arestas incidentes a v na
forma de pares entrada/sada, o grau de v deve ser mltiplo de 2.
Isto significa que o grau de v par. [O que devia ser mostrado.]
UFMG/ICEx/DCC

MD

Conceitos

722

Circuito Euleriano (4)


O contrapositivo deste teorema (que logicamente equivalente ao teorema original) :
Teorema: Se algum vrtice de um grafo tem grau mpar, ento o grafo no tem
um circuito Euleriano.
Esta verso do teorema til para mostrar que um grafo no possui um
circuito Euleriano.
v2

e1

e4 e
6

e5

e7
v1

e3

v3
e2
v4

Vrtices v1 e v3 possuem grau 3 e, assim, no possuem um circuito Euleriano.


UFMG/ICEx/DCC

MD

Conceitos

723

Circuito Euleriano (5)


Revisitando o problema das sete pontes da cidade de Knigsberg.

B
C

Problema: possvel que uma pessoa faa um percurso na cidade de tal forma
que inicie e volte a mesma posio passando por todas as pontes somente uma
nica vez?
No. Todos os vrtices tm grau mpar.
UFMG/ICEx/DCC

MD

Conceitos

724

Circuito Euleriano (6)


No entanto, se cada vrtice de um grafo tem grau par, ento o grafo tem um
circuito Euleriano?
No. Por exemplo, no grafo abaixo todos os vrtices tm grau par, mas como
o grafo no conexo, no possui um circuito Euleriano.

v2

v3

e1

e3
e2

e4

v1

UFMG/ICEx/DCC

v4

MD

Conceitos

725

Circuito Euleriano (7)


Teorema: Se cada vrtice de um grafo no vazio tem grau par e o grafo conexo,
ento o grafo tem um circuito Euleriano.
Prova: [Esta uma prova construtivista, ou seja, apresenta um algoritmo para achar um circuito
Euleriano para um grafo conexo no qual cada vrtice tem grau par.]

Suponha que G um grafo conexo no vazio e que cada vrtice de G tem


grau par. [Deve-se achar um circuito Euleriano para G.]
Construa um circuito C usando o algoritmo descrito a seguir.
PASSO 1:

Escolha qualquer vrtice v de G. [Este passo pode ser executado j que pela suposio o conjunto de vrtices de G no vazio.]

UFMG/ICEx/DCC

MD

Conceitos

726

Circuito Euleriano (8)


Prova (continuao):
PASSO 2:

Escolha uma sequncia qualquer de vrtices e arestas adjacentes,


comeando e terminando em v, sem repetir arestas. Chame o circuito resultante de C.
[Este passo pode ser executado pelas seguintes razes:
Como o grau de cada vrtice de G par, possvel entrar num vrtice qualquer que no
seja o v por arestas de entrada e sada no visitadas ainda.
Assim, uma sequncia de arestas adjacentes distintas pode ser obtida enquanto o vrtice v
no seja alcanado.
Esta sequncia de arestas deve voltar em v j que existe um nmero finito de arestas.
]

UFMG/ICEx/DCC

MD

Conceitos

727

Circuito Euleriano (9)


Prova (continuao):
PASSO 3: Verifique se C contm cada aresta e vrtice de G. Se sim, C um

circuito Euleriano e o problema est terminado. Caso contrrio, execute os


passos abaixo.

UFMG/ICEx/DCC

MD

Conceitos

728

Circuito Euleriano (10)


Prova (continuao):
PASSO 3 A :

Remova todas as arestas do circuito C do grafo G e quaisquer vrtices que


se tornaram isolados quando as arestas de C so removidas.
Chame o grafo resultante de G0.
[Note que G0 pode no ser conexo, como ilustrado abaixo, mas cada vrtice de G0 tem grau
par, j que removendo as arestas de C remove um nmero par de arestas de cada vrtice e a
diferena de dois nmeros pares par.]

C
v
u

G:

G
UFMG/ICEx/DCC

MD

Conceitos

729

Circuito Euleriano (11)


Prova (continuao):
PASSO 3 B :

Escolha qualquer vrtice w comum a ambos C e G0.


[Deve haver pelo menos um vrtice deste tipo j que G conexo. Na figura abaixo existem
dois vrtices deste tipo: u e w.]

C
v
u

G:

UFMG/ICEx/DCC

MD

Conceitos

730

Circuito Euleriano (12)


Prova (continuao):
PASSO 3 C :

Escolha uma sequncia qualquer de vrtices e arestas adjacentes,


comeando e terminando em w, sem repetir arestas. Chame o circuito resultante de C 0.
[Este passo pode ser executado j que o grau de cada vrtice de G0 par e G0 finito. Veja a
justificativa para o passo 2.]

UFMG/ICEx/DCC

MD

Conceitos

731

Circuito Euleriano (13)


Prova (continuao):
PASSO 3 D :

Agrupe C e C 0 para criar um novo circuito C 00 como segue:


Comece em v e siga em direo a w.
Percorra todo o circuito C 0 e volte a w.
Caminhe pela parte de C no percorrida ainda at o vrtice v.
[O efeito de executar os passos 3 C e 3 D para o grafo anterior mostrado abaixo.]

v
u

G:

C
UFMG/ICEx/DCC

MD

Conceitos

732

Circuito Euleriano (14)


Prova (continuao):
PASSO 3 E :

Seja C C 00 e retorne ao passo 3.


[Como o grafo G finito, a execuo dos passos deste algoritmo termina, com a construo de
um circuito Euleriano para G. Como diferentes escolhas podem ser feitas, diferentes circuitos
podem ser gerados.]

UFMG/ICEx/DCC

MD

Conceitos

733

Circuito Euleriano (15)


Determine se o grafo abaixo tem um circuito Euleriano. Em caso positivo ache
um circuito Euleriano para o grafo.

i
a

d
e

j
h

Os vrtices a, b, c, f, g, i, j tm grau 2.
Os vrtices d, e, h tm grau 4.
Pelo teorema anterior, este grafo possui um circuito Euleriano.

UFMG/ICEx/DCC

MD

Conceitos

734

Circuito Euleriano (16)


Seja v = a e seja
C : abcda.

i
a

1
3

h
g

C no um circuito Euleriano para este grafo, mas C possui uma interseco


com o restante do grafo no vrtice d.

UFMG/ICEx/DCC

MD

Conceitos

735

Circuito Euleriano (17)


Seja C 0 : deghjid. Agrupe C 0 a C para obter
C 00 : abcdeghjida.
Seja C C 00. Ento C pode ser representado pelas arestas rotuladas no grafo
abaixo:

i
9
8

10

h
5

C no um circuito Euleriano para este grafo, mas C possui uma interseco


com o restante do grafo no vrtice e.
UFMG/ICEx/DCC

MD

Conceitos

736

Circuito Euleriano (18)


Seja C 0 : ef he. Agrupe C 0 a C para obter
C 00 : abcdef heghjida.
Seja C C 00. Ento C pode ser representado pelas arestas rotuladas no grafo
abaixo:

i
12
11

13

5
6
1

4
3

10

h
8

C inclui cada aresta do grafo exatamente uma nica vez e, assim, C um


circuito Euleriano para este grafo.
UFMG/ICEx/DCC

MD

Conceitos

737

Circuito Euleriano (19)


Teorema: Um grafo G tem um circuito Euleriano sse G conexo e cada vrtice
de G tem grau par.
Definio: Seja G um grafo e seja v e w dois vrtices de G. Um Trajeto Euleriano de v para w uma sequncia de arestas e vrtices adjacentes que comea
em v, termina em w e passa por cada vrtice de G pelo menos uma vez e passa
por cada aresta de G exatamente uma nica vez.
Corolrio: Seja G um grafo e dois vrtices v e w de G. Existe um trajeto Euleriano de v para w sse G conexo e v e w tm grau mpar e todos os outros
vrtices de G tm grau par.

UFMG/ICEx/DCC

MD

Conceitos

738

Trajeto Euleriano (1)


Uma casa possui uma diviso representada pela planta abaixo. possvel uma
pessoa sair do cmodo A, terminar no cmodo B e passar por todas as portas
da casa exatamente uma nica vez? Se sim, apresente um possvel trajeto.

G
H

F
E

J
C

D
K

UFMG/ICEx/DCC

MD

Conceitos

739

Trajeto Euleriano (2)


A planta da casa pode ser representada pelo grafo abaixo:
G

G
H

J
C

D
K

Cada vrtice deste grafo tem um grau par, exceto os vrtices A e B que tm
grau 1. Assim, pelo corolrio anterior, existe um trajeto Euleriano de A para B.
AGHFEIHEKJDCB
UFMG/ICEx/DCC

MD

Conceitos

740

Circuito Hamiltoniano (1)


Em 1859, props um jogo na forma de um
dodecaedro (slido de 12 faces).
William Hamilton (1805
1865), matemtico irlands.

Con-

tribuiu para o desenvolvimento da ptica, dinmica e lgebra. Em particular, descobriu a lgebra dos quaternions. Seu trabalho provou ser significante para o desenvolvimento da
mecnica quntica.

UFMG/ICEx/DCC

MD

Conceitos

741

Circuito Hamiltoniano (2)


Jogo proposto por Hamilton
Cada vrtice recebeu o nome de uma cidade: Londres, Paris, Hong Kong, New
York, etc. O problema era: possvel comear em uma cidade e visitar todas
as outras cidades exatamente uma nica vez e retornar cidade de partida?
O jogo mais fcil de ser imaginado projetando o dodecaedro no plano:

UFMG/ICEx/DCC

MD

Conceitos

742

Circuito Hamiltoniano (3)


Jogo proposto por Hamilton
Uma possvel soluo para este grafo :

Definio: Dado um grafo G, um Circuito Hamiltoniano para G um circuito


simples que inclui cada vrtice de G, ou seja, uma sequncia de vrtices adjacentes e arestas distintas tal que cada vrtice de G aparece exatamente uma
nica vez.
UFMG/ICEx/DCC

MD

Conceitos

743

Comentrios sobre circuitos Euleriano e


Hamiltoniano (1)
Circuito Euleriano:
Inclui todas as arestas uma nica vez.
Inclui todos os vrtices, mas que podem ser repetidos, ou seja, pode no
gerar um circuito Hamiltoniano.
Circuito Hamiltoniano:
Inclui todas os vrtices uma nica vez (exceto o inicial = final).
Pode no incluir todas as arestas, ou seja, pode no gerar um circuito
Euleriano.

UFMG/ICEx/DCC

MD

Conceitos

744

Comentrios sobre circuitos Euleriano e


Hamiltoniano (2)
possvel determinar a priori se um grafo G possui um circuito Euleriano.
No existe um teorema que indique se um grafo possui um circuito Hamiltoniano nem se conhece um algoritmo eficiente (polinomial) para achar um
circuito Hamiltoniano.
No entanto, existe uma tcnica simples que pode ser usada em muitos casos
para mostrar que um grafo no possui um circuito Hamiltoniano.

UFMG/ICEx/DCC

MD

Conceitos

745

Determinando se um grafo no possui um circuito


Hamiltoniano (1)
Suponha que um grafo G tenha um circuito Hamiltoniano C dado por:
C : v0e1v1e2 . . . vn1envn
Como C um circuito simples, todas as arestas ei so distintas e todos os
vrtices so distintos, exceto v0 = vn.
Seja H um subgrafo de G que formado pelos vrtices e arestas de C, como
mostrado na figura abaixo (H o subgrafo com as linhas grossas).

UFMG/ICEx/DCC

MD

Conceitos

746

Determinando se um grafo no possui um circuito


Hamiltoniano (2)
Se um grafo G tem um circuito Hamiltoniano ento G tem um subgrafo H com
as seguintes propriedades:

1. H contm cada vrtice de G;


2. H conexo;
3. H tem o mesmo nmero de arestas e
de vrtices;
4. Cada vrtice de H tem grau 2.
Contrapositivo desta afirmao:
Se um grafo G no tem um subgrafo H com propriedades (1)(4) ento G
no possui um circuito Hamiltoniano.

UFMG/ICEx/DCC

MD

Conceitos

747

Determinando se um grafo no possui um circuito


Hamiltoniano (3)
Prove que o grafo G abaixo no tem um circuito Hamiltoniano.
a

c
b

Se G tem um circuito Hamiltoniano, ento G tem um subgrafo H que:


1.
2.
3.
4.

H contm cada vrtice de G;


H conexo;
H tem o mesmo nmero de arestas e de vrtices;
Cada vrtice de H tem grau 2.

UFMG/ICEx/DCC

MD

Conceitos

748

Determinando se um grafo no possui um circuito


Hamiltoniano (4)
a

c
b

Em G, grau(b) = 4 e cada vrtice de H tem grau 2;


Duas arestas incidentes a b devem ser removidas de G para criar H;
Qualquer aresta incidente a b que seja removida far com que os outros vrtices restantes tenham grau menor que 2;
Conseqentemente, no existe um subgrafo H com as quatro propriedades
acima e, assim, G no possui um circuito Hamiltoniano.

UFMG/ICEx/DCC

MD

Conceitos

749

O Problema do Caixeiro Viajante (1)


Em ingls, Traveling Salesman Problem, ou TSP.
Suponha o mapa abaixo mostrando quatro cidades (A, B, C, D) e as distncias em km entre elas.
30
B
C
30

25
50

35

D
40

Um caixeiro viajante deve percorrer um circuito Hamiltoniano, ou seja, visitar


cada cidade exatamente uma nica vez e voltar a cidade inicial.
Que rota deve ser escolhida para minimizar o total da distncia percorrida?

UFMG/ICEx/DCC

MD

Conceitos

750

O Problema do Caixeiro Viajante (2)


Possvel soluo:
Enumere todos os possveis circuitos Hamiltonianos comeando e terminando em A;
Calcule a distncia de cada um deles;
Determine o menor deles.

B
Rota

Distncia (km)

ABCDA
ABDCA
ACBDA
ACDBA
ADBCA
ADCBA

30 + 30 + 25 + 40 = 125
30 + 35 + 25 + 50 = 140
50 + 30 + 35 + 40 = 155
50 + 25 + 35 + 30 = 140
40 + 35 + 30 + 50 = 155
40 + 25 + 30 + 30 = 125

30

30

C
25

50

35

D
40

Assim, tanto a rota ABCDA ou ADCBA tem uma distncia total de 125
km.
UFMG/ICEx/DCC

MD

Conceitos

751

O Problema do Caixeiro Viajante (3)


A soluo do TSP um circuito Hamiltoniano que minimiza a distncia total percorrida para um grafo valorado arbitrrio G com n vrtices, onde uma
distncia atribuda a cada aresta.
Algoritmo para resolver o TSP:
Atualmente, fora bruta, como feito no exemplo anterior.
Problema da classe NP-Completo.
Exemplo: para o grafo K30 existem
29! 8, 84 1030
circuitos Hamiltonianos diferentes comeando e terminando num determinado
vrtice.
Mesmo se cada circuito puder ser achado e calculado em apenas 1s, seria
necessrio aproximadamente 2, 8 1017 anos para terminar a computao
nesse computador.
UFMG/ICEx/DCC

MD

Conceitos

752

Representao de um grafo
Dado um grafo G = (V, E):
V = conjunto de vrtices.
E = conjunto de arestas, que pode ser representado pelo subconjunto de
V V.
O tamanho da entrada de dados medido em termos do:
Nmero de vrtices |V |.
Nmero de arestas |E|.
Se G conexo ento |E| |V | 1.

UFMG/ICEx/DCC

MD

Conceitos

753

Representao de um grafo
Convenes
Conveno I (Notao):
Dentro e somente dentro da notao assinttica os smbolos V e E significam respectivamente |V | e |E|.
Se um algoritmo executa em tempo O(V + E) equivalente a dizer que
executa em tempo O(|V | + |E|).
Conveno II (Em pseudo-cdigo):
O conjunto V de vrtices de G representado por V [G].
O conjunto E de arestas de G representado por E[G].
Os conjuntos V e E so vistos como atributos de G.

UFMG/ICEx/DCC

MD

Conceitos

754

Representao de um grafo
Estruturas de dados
Matriz de adjacncia:
Forma preferida de representar grafos densos (|E| |V |2).
Indica rapidamente (O(1)) se existe uma aresta conectando dois vrtices.
Lista de adjacncia:
Representao normalmente preferida.
Prov uma forma compacta de representar grafos esparsos (|E|  |V |2).
Matriz de incidncia:
Representao que inclui vrtice e aresta.

As duas primeiras formas acima so as principais formas de representar um


grafo.

UFMG/ICEx/DCC

MD

Conceitos

755

Representao de um grafo
Matriz de adjacncia e grafo dirigido (1)
Seja o grafo dirigido abaixo:
e3

v2
e2

Este grafo pode ser representado por uma matriz A = (aij ), onde (aij ) representa o nmero
de arestas de vi para vj .
Matriz de Adjacncia

e1
e4

v
1

e5

v1
e6

A=

v3

UFMG/ICEx/DCC

v2 v3
v1 1 0 0

v2 1 1 2
v3

MD

Conceitos

756

Representao de um grafo
Matriz de adjacncia e grafo dirigido (2)
Definio: Seja G um grafo dirigido com vrtices v1, v2, . . . , vn. A matriz de
adjacncia de G a matriz A = (aij ) (A[1 . . . n, 1 . . . n]) definida como:

aij = # de arestas de vi para vj , i, j = 1, 2, . . . , n.


Valor diferente de zero na diagonal principal: lao.
Valor igual a 1 na entrada (aij ): uma nica aresta de vi a vj .
Valores maiores que 1 na entrada (aij ): arestas paralelas de vi a vj .
Espao: O(V 2).

UFMG/ICEx/DCC

MD

Conceitos

757

Representao de um grafo
Matriz de adjacncia e grafo dirigido (3)
e5

e5
v1

v3

v2
e2

e2

e3

e1

A=

e4

v3

v2

v
1

v
1

v2 v3
v1 0 0 0

v2 0 1 1

UFMG/ICEx/DCC

e3

e1

e4

v3

v1

A=

v2 v3
v1 1 1 0

v2 1 0 2
v3

MD

Conceitos

758

Representao de um grafo
Matriz de adjacncia e grafo dirigido (4)
Um possvel desenho deste grafo :

Dada a matriz de adjacncia de um


grafo:

v1

v2

v
1

A=

v2 v3 v4
v1 0 1 1 0

2
0
1
v2
1

v3 0

v4

v3

UFMG/ICEx/DCC

MD

Conceitos

v4

759

Representao de um grafo
Matriz de adjacncia e grafo no dirigido
Definio: Seja G um grafo no dirigido com vrtices v1, v2, . . . , vn. A matriz
de adjacncia de G a matriz A = (aij ) sobre o conjunto dos inteiros no
negativos tal que
aij = # de arestas conectando vi a vj , i, j = 1, 2, . . . , n.
Dado o grafo:

A matriz de adjacncia correspondente :

e3
e2

v1

e1

v4

e7

e6

UFMG/ICEx/DCC

v
1

v2

e5

A=

e4

v2 v3 v4
v1 0 1 0 1

v2
1
1
2
1

v3 0

v4

v3
MD

Conceitos

760

Representao de um grafo
Matriz de adjacncia e componentes conexos
Dado o grafo:

A matriz de adjacncia correspondente :

v2
e4

e3

e1
e2
v1

v3

e6

0 2 0 0 0
2 0 0 0 0
0 0 0 1 0
0 0 1 1 0
0 0 0 0 0

0 0 0 0 0 2 0

e5
v5

v4
v6
e7

1 0 1 0 0 0 0

A=
0

A matriz A consiste de blocos de diferentes tamanhos


ao longo da diagonal principal, j que o conjunto de vrtices disjunto.

e8
v7

UFMG/ICEx/DCC

MD

Conceitos

761

Representao de um grafo
Matriz de adjacncia: Anlise
Deve ser utilizada para grafos densos, onde |E| prximo de |V |2 (|E|
|V |2).
O tempo necessrio para acessar um elemento independente de |V | ou |E|.
muito til para algoritmos em que necessitamos saber com rapidez se existe
uma aresta ligando dois vrtices.
A maior desvantagem que a matriz necessita O(V 2) de espao.
Ler ou examinar a matriz tem complexidade de tempo O(V 2).

UFMG/ICEx/DCC

MD

Conceitos

762

Representao de um grafo
Uso de matriz de adjacncia
Quando usada, a maior parte dos algoritmos requer tempo O(V 2), mas existem excees.
Seja um grafo dirigido que contm um vrtice sink, ou seja, um vrtice com:
Grau de entrada (in-degree) = |V | 1
Grau de sada (out-degree) = 0
No existe uma aresta loop
Apresente um algoritmo para determinar se um grafo dirigido possui um vrtice sink em tempo O(V ) usando uma matriz de adjacncia.

UFMG/ICEx/DCC

MD

Conceitos

763

Representao de um grafo
Nmero de vrtices sink num grafo dirigido
Quantos vrtices sink um grafo dirigido G = (V, E) possui no mximo?
No mximo 1.
Prova por contradio:
Suponha que si e sj sejam vrtices sink.
Deve existir uma aresta de todos os ns do grafo G para si e sj , exceto loops.
Em particular deve existir uma aresta (si, sj ) e uma aresta (sj , si) j que si
e sj so vrtices sink.
Isto no pode ocorrer j que o grau de sada de um vrtice sink 0.
Logo, se existir um vrtice sink no grafo G no mximo 1.

UFMG/ICEx/DCC

MD

Conceitos

764

Representao de um grafo
Matriz de incidncia
Definio: Seja G um grafo no dirigido com vrtices v1 , v2 , . . . , vn e arestas e1 , e2 , . . . , em . A
matriz de incidncia de G a matriz M = (mij ) de tamanho n m sobre o conjunto dos
inteiros no negativos tal que

1 quando a aresta ej incidente a vi .
mij =
0 caso contrrio.
Dado o grafo:

A matriz de incidncia correspondente :

e3
e2

v1

v2
M =

e1

v4

e7

e6

UFMG/ICEx/DCC

e5

e4

v1
v2
v3
v4

e
1
1
0

0
1

e2 e3 e4 e5 e6
1 0 0 0 0
1 1 1 1 0
0 0 1 1 0
0 0 0 0 1

e7

0
1

v3

MD

Conceitos

765

Representao de um grafo
Lista de adjacncia
Vetor Adj de |V | listas, uma para cada vrtice de V .
Para cada vrtice u V , a lista Adj[u] contm apontadores para todos os
vrtices v tal que a aresta (u, v) E (todos os vrtices adjacentes a u em
G).
Definio vale para grafos no dirigidos e dirigidos.

P|V |
i=1 comprimento da lista de adjacncia, vale:

Grafo dirigido = |E|, cada aresta aparece uma nica vez na lista.
Grafo no dirigido = 2|E|, cada aresta aparece duas vezes na lista (entrada
de u e entrada de v).
Espao: O(V + E).

UFMG/ICEx/DCC

MD

Conceitos

766

Representao de um grafo
Lista de adjacncia e grafo dirigido (1)
Seja o grafo dirigido abaixo:
e3

Este grafo pode ser representado por uma lista


de adjacncia Adj:

v2
e2
Adj[v1] = [v1]

e1
e4

e5

Adj[v2] = [v1, v2, v3, v3]

v1

Adj[v3] = [v1]

e6
v3

UFMG/ICEx/DCC

Adj
v1

v1

v2

v1

v3

v1

MD

Conceitos

v2

v3

v3

767

Representao de um grafo
Lista de adjacncia e grafo dirigido (2)
e5

e5
v1

v3

v2
e2

v1
e2

e3

e1

e3

e1

e4

e4
v2

v3
Este grafo pode ser representado
pela lista de adjacncia:

Este grafo pode ser representado


pela lista de adjacncia:

Adj[v1] = []

Adj[v1] = [v1, v2]

Adj[v2] = [v2, v3]

Adj[v2] = [v1, v3, v3]

Adj[v3] = [v1, v1, v2]

Adj[v3] = []

UFMG/ICEx/DCC

MD

Conceitos

768

Representao de um grafo
Lista de adjacncia e grafo no dirigido
Dado o grafo:

Uma lista de adjacncia correspondente :

e3
e2

v1

v2

Adj[v1] = [v2, v4]


Adj[v2] = [v1, v2, v3, v3, v4]

e1

e7

e5

Adj[v3] = [v2, v2]

e4

Adj[v4] = [v1, v2, v4]


v4

e6

UFMG/ICEx/DCC

v3

MD

Conceitos

769

Contando caminhos de tamanho n (1)


O tamanho (comprimento) de um caminho o nmero de arestas do mesmo,
ou seja, nmero de vrtices menos um.
Dado o grafo

O caminho

e2
e1

v2e3v3e4v2e2v2e3v3

v2

v1
e3

tem tamanho 4.

e4
v3

Quantos caminhos distintos de tamanho 2 existem conectando v2 a v2?

Existem seis caminhos


distintos.

v2e1v1e1v2
v2e2v2e2v2
v2e3v3e4v2
v2e4v3e3v2
v2e3v3e3v2
v2e4v3e4v2
UFMG/ICEx/DCC

MD

Conceitos

770

Contando caminhos de tamanho n (2)


Quantos caminhos distintos de tamanho n existem conectando dois vrtices de
um dado grafo G?
Este valor pode ser computado usando multiplicao de matrizes.
Seja o grafo:

A matriz de adjacncia correspondente :

e2
e1

v
1

v2

v1
e3

e4

A=

v3

UFMG/ICEx/DCC

v2 v3
v1 0 1 0

v2 1 1 2
v3

MD

Conceitos

771

Contando caminhos de tamanho n (3)


O valor de A2 dado por:

0 1 0

0 1 0

1 1 2

1 1 2 1 1 2 = 1 6 2

0 2 0

0 2 0

2 2 4

Observe que a22 = 6, que o nmero de caminhos


de tamanho 2 de v2 para v2.

e2
e1

v2

v1
e3

e4
v3

Se A a matriz de adjacncia de um grafo G, a entrada aij da matriz A2


indica a quantidade de caminhos de tamanho 2 conectando vi a vj no grafo
G.
Este resultado vlido para caminhos de tamanho n calculando An.
UFMG/ICEx/DCC

MD

Conceitos

772

Isomorfismo de grafos (1)


Os desenhos abaixo
v1
v1
e5

e1
e1

v5

v2
v3

e3

v4
e4

e4

e2
e5
v4

v3
v5

e3

e2

v2

representam o mesmo grafo G:


Conjuntos de vrtices e arestas so idnticos;
Funes arestavrtice so as mesmas.
Grafos isomorfos (do grego, o que significa a mesma forma).
UFMG/ICEx/DCC

MD

Conceitos

773

Isomorfismo de grafos (2)


G

G0

v1

v1

e5

e1

e4

v5

v2

e4

e2
v4

v3

e1

v2

v3

e2

e3
v4
e5

Vrtices de G

Arestas de G

Arestas de G

v1

v1

e1

e1

v2

v2

e2

e2

v3

v3

e3

e3

v4

v4

e4

e4

v5

v5

e5

e5

UFMG/ICEx/DCC

As funes arestavrtice
no so as mesmas.

v5

e3
Vrtices de G

Estes grafos so diferentes apesar de possurem os


mesmos conjuntos de vrtices e arestas.

MD

Conceitos

774

Isomorfismo de grafos (3)


Definio: Sejam os grafos G e G0 com conjuntos de vrtices V (G) e V (G0)
e com conjuntos de arestas E(G) e E(G0), respectivamente. O grafo G
isomorfo ao grafo G0 sse existem correspondncias um-para-um
g : V (G) V (G0)
h : E(G) E(G0)
que preservam as funes aresta-vrtice de G e G0 no sentido que
v V (G) e E(G)
v um n terminal de e g(v) um n terminal de h(e).

UFMG/ICEx/DCC

MD

Conceitos

775

Isomorfismo de grafos (4)


Os grafos
G0

G
e1
e7

v2

e5

e6
v5

v1

v3

w1
w3

e2

e3

f4

f5
w4
e4

v4

f3

f6

f2

w2

f1

f7
w5

so isomorfos?

UFMG/ICEx/DCC

MD

Conceitos

776

Isomorfismo de grafos (5)


Para resolver este problema,
devemos achar funes

G0

G
e1

g : V (G) V (G0 )
e

e7

h : E(G) E(G0 )

e5

e2

e3
w4

f3

f4

f5

v5

tal que exista a correspondncia como mencionado


anteriormente.

f6

e4

f2

w2

f1

f7

v4

w5

E(G)

E(G)

Grafos G e G0 so isomorfos.

V(G)

UFMG/ICEx/DCC

w1
w3

v2
e6

v1

v3

V(G)

e1

f1

e2

f2

v1

w1

e3

f3

v2

w2

e4

f4

v3

w3

e5

f5

v4

w4

e6

f6

v5

w5

e7

f7

MD

Conceitos

777

Isomorfismo de grafos (6)


Os grafos
G0

G
v0

v1

e0
e8 v 4

e4

e7

e3

f3

v 5 e9
e5

e1

f8
w4

e11 v 7 e6 v 6 e10
v3

e2

f0

w0

w1

f1

f9
f4

w2

f2

f10
f5

w5

f11
f6

w6

w3

w7

e7

v2

so isomorfos?

UFMG/ICEx/DCC

MD

Conceitos

778

Isomorfismo de grafos (7)


Para resolver este problema,
devemos achar funes
v0

g : V (G) V (G )

e8 v 4

e4

e7

e3

V(G)

f0

w0
e5

e2

v3

f3

v 5 e9
e1

f8
w4

e11 v 7 e6 v 6 e10

tal que exista a correspondncia como mencionado


anteriormente.
Grafos G e G0 so isomorfos.

v1

e0

h : E(G) E(G0 )

G0

G
w1

f1

f9
f4

w2

f2

w3

f10
f5

w5

f11
f6

w7

w6
e7

v2

V(G)

v0

E(G)

w0

E(G)

e0
w1

v1

f0
f6

e6
e1

v2

w2

e7

v3

w3

e8

v4

w4

e9

v5

w5

e10

v6

w6

e11

f1
f7

e2

f2
f8

e3

f3
f9

e4

f4
f10

e5

UFMG/ICEx/DCC

MD

Conceitos

f5
f11

779

Isomorfismo de grafos (8)


Isomorfismo de grafos uma relao de equivalncia no conjunto de grafos.
Informalmente, temos que esta propriedade :
Reflexiva: Um grafo isomorfo a si prprio.
Simtrica: Se um grafo G isomorfo a um grafo G0 ento G0 isomorfo a
G.
Transitiva: Se um grafo G isomorfo a um grafo G0 e G0 isomorfo a G00
ento G isomorfo a G00.

UFMG/ICEx/DCC

MD

Conceitos

780

Representantes de classes de isomorfismo (1)


Ache todos os grafos no isomorfos que tm dois vrtices e duas arestas.

(a)

(b)

(c)

(d)

Existe um algoritmo que aceita como entrada os grafos G e G0 e produz como


resultado uma afirmao se estes grafos so isomorfos ou no?
Sim. Gere todas as funes g e h e determine se elas preservam as
funes arestavrtice de G e G0.

UFMG/ICEx/DCC

MD

Conceitos

781

Representantes de classes de isomorfismo (2)


Se G e G0 tm cada um n vrtices e m arestas, o nmero de funes g n!
e o nmero de funes h m!, o que d um nmero total de n! m! funes.
Exemplo para n = m = 20.
Temos 20! 20! 5, 9 1036 pares a verificar.
Assumindo que cada combinao possa ser achada e calculada em apenas 1s, seria necessrio aproximadamente 1, 9 1023 anos para terminar a computao nesse computador.

UFMG/ICEx/DCC

MD

Conceitos

782

Invariantes para isomorfismo de grafos (1)


Teorema: Cada uma das seguintes propriedades uma invariante para isomorfismo de dois grafos G e G0, onde n, m e k so inteiros no negativos:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Tem n vrtices;
Tem m arestas;
Tem um vrtice de grau k;
Tem m vrtices de grau k;
Tem um circuito de tamanho k;
Tem um circuito simples de tamanho k;
Tem m circuitos simples de tamanho k;
conexo;
Tem um circuito Euleriano;
Tem um circuito Hamiltoniano.

Isto significa que se G isomorfo a G0 ento se G tem uma destas propriedades


G0 tambm tem.
UFMG/ICEx/DCC

MD

Conceitos

783

Invariantes para isomorfismo de grafos (2)


Os grafos

so isomorfos?
No. G tem nove arestas e G0 tem oito arestas.

UFMG/ICEx/DCC

MD

Conceitos

784

Invariantes para isomorfismo de grafos (3)


Os grafos

so isomorfos?
No. H tem um vrtice de grau 4 e H 0 no tem.

UFMG/ICEx/DCC

MD

Conceitos

785

Isomorfismo de grafos simples (1)


Definio: Se G e G0 so grafos simples (sem arestas paralelas e sem laos)
ento G isomorfo a G0 sse existe uma correspondncia g um-para-um do
conjunto de vrtices V (G) de G para o conjunto de vrtices V (G0) de G0 que
preserva a funo arestavrtice de G e de G0 no sentido que
vrtices u, v G
uv uma aresta de G {g(u), g(v)} uma aresta de G0.

UFMG/ICEx/DCC

MD

Conceitos

786

Isomorfismo de grafos simples (2)


Os grafos
b
a

y
z

so isomorfos?

UFMG/ICEx/DCC

MD

Conceitos

787

Isomorfismo de grafos simples (3)


x

b
a

Sim, so isomorfos.
V(G)

A funo g preserva a funo arestavrtice


de G e de G0:
V(G)

Arestas de G

Arestas de G0

ab

yw = {g(a), g(b)}

ac

yx = {g(a), g(c)}

ad

yz = {g(a), g(d)}

cd

xz = {g(c), g(d)}

UFMG/ICEx/DCC

MD

Conceitos

788

rvore
Definio: Uma rvore (tambm chamada de rvore livre) um grafo no dirigido acclico e conexo.

UFMG/ICEx/DCC

MD

Conceitos

789

Floresta
Definio: Uma floresta um grafo no dirigido acclico podendo ou no ser
conexo.

UFMG/ICEx/DCC

MD

Conceitos

790

rvore geradora (1)


No entanto, por questes de economia, esta empresa ir operar apenas nas seguintes rotas:

Suponha que uma companhia


area recebeu permisso para voar
nas seguintes rotas:
A

A
M

I
S

Este conjunto de rotas interconecta


todas as cidades.
Este conjunto de rotas mnimo?
Sim! Qualquer rvore deste grafo possui oito vrtices e sete arestas.
UFMG/ICEx/DCC

MD

Conceitos

791

rvore geradora (2)


Definio: Uma rvore geradora de um grafo G um grafo que contm cada
vrtice de G e uma rvore.
Esta definio pode ser estendida para floresta geradora.
Proposio:
Cada grafo conexo tem uma rvore geradora.
Duas rvores geradores quaisquer de um grafo tm a mesma quantidade
de arestas.

UFMG/ICEx/DCC

MD

Conceitos

792

rvore geradora (3)


Seja o grafo G abaixo

Este grafo possui o circuito v2v1v4v2.

v5

v4

v3

A remoo de qualquer uma das trs arestas do


circuito leva a uma rvore.

v0

v1

v2

Assim, todas as trs rvores geradoras so:

v5

v4

v3

v5

v4

v3

v5

v4

v3

v0

v1

v2

v0

v1

v2

v0

v1

v2

UFMG/ICEx/DCC

MD

Conceitos

793

rvore geradora mnima ou


Minimal Spanning Tree (1)
Suponha que a companhia deseja
voar para todas as cidades mas usando um conjunto de rotas que
minimiza o total de distncias percorridas:

O grafo de rotas da companhia


area que recebeu permisso para
voar pode ser rotulado com as distncias entre as cidades:
A
355

74
695

355

348

74

230

306

262

269

I
S

242

230

262

83

151

242

83

151

N
N

Este conjunto de rotas interconecta


todas as cidades.
UFMG/ICEx/DCC

MD

Conceitos

794

rvore geradora mnima (2)


Definio: Um grafo com peso um grafo onde cada aresta possui um peso
representado por um nmero real. A soma de todos os pesos de todas as
arestas o peso total do grafo. Uma rvore geradora mnima para um grafo
com peso uma rvore geradora que tem o menor peso total possvel dentre
todas as possveis rvores geradoras do grafo.
Se G um grafo com peso e e uma aresta de G ento:
w(e) indica o peso da aresta e, e
w(G) indica o peso total do grafo G.

UFMG/ICEx/DCC

MD

Conceitos

795

Algoritmos para obter a rvore geradora mnima


Algoritmo de Kruskal.
Algoritmo de Prim.

rvore geradora mnima:

Grafo inicial:
A

A
355

355

74
695

74
348

C
230

306

262

230

262

269

I
S

242

83

242

151

151

UFMG/ICEx/DCC

83

MD

Conceitos

796

Algoritmo de Kruskal (1)


Idia bsica:
Seleciona a aresta de menor peso que conecta duas rvores de uma floresta.
Repita o processo at que todos os vrtices estejam conectados sempre
preservando a invariante de se ter uma rvore.

UFMG/ICEx/DCC

MD

Conceitos

797

Algoritmo de Kruskal (2)

UFMG/ICEx/DCC

MD

Conceitos

798

Algoritmo de Kruskal (3)

UFMG/ICEx/DCC

MD

Conceitos

799

Algoritmo de Prim
Idia bsica:
Tomando como vrtice inicial A, crie uma fila de prioridades classificada pelos pesos das arestas conectando
A.
Repita o processo at que
todos os vrtices tenham
sido visitados.

UFMG/ICEx/DCC

MD

Conceitos

800

Algoritmos de pesquisa em grafo


Objetivo:
Pesquisa sistemtica de cada aresta e vrtice de um grafo.
Grafo G = (V, E) pode ser tanto dirigido quanto no dirigido.
Os algoritmos apresentados assumem que a estrutura de dados utilizada
uma lista de adjacncia.
Exemplos de algoritmos de pesquisa em grafo:
Pesquisa em profundidade (Depth-first search DFS).
Pesquisa em largura (Breadth-first search BFS).
Aplicaes:
Computao grfica.
Tcnicas de verificao formal.
Compiladores.
Resoluo de problemas.
...
UFMG/ICEx/DCC

MD

Conceitos

801

Pesquisa em largura (1)


Seja um grafo G = (V, E) e um vrtice origem s.
Pesquisa em largura:
Descobre as arestas em G que so alcanveis a partir de s.
Computa a distncia (em no de arestas) de s para os vrtices que so
alcanveis.
Produz uma rvore em largura com raiz s e seus vrtices alcanveis.
Se v um vrtice alcanvel a partir de s, ento o caminho entre s e v na
rvore corresponde ao caminho mais curto entre s e v no grafo G.

UFMG/ICEx/DCC

MD

Conceitos

802

Pesquisa em largura (2)


Expande a fronteira entre vrtices descobertos e no descobertos uniformemente atravs da extenso (largura) da fronteira.
Pesquisa descobre todos os vrtices que esto a distncia k antes de descobrir os vrtices a distncia k + 1.

UFMG/ICEx/DCC

MD

Conceitos

803

Algoritmo para calcular BFS (1)


Estruturas de dados:
Grafo representado como uma lista de adjacncia.
Vetor color [u]: cor de cada vrtice u V .
Vetor [u]: predecessor de cada vrtice u V . Se u no tem predecessor
ou ainda no foi descoberto ento [u] = nil.
Vetor d[u]: distncia de cada vrtice u V ao vrtice s.
Fila Q: contm os vrtices j descobertos em largura.
Cores dos vrtices:
white: no visitados ainda.
gray : vrtice descoberto mas que no teve a sua lista de adjacncia totalmente examinada.
black : vrtice descoberto que j teve a sua lista de adjacncia totalmente
examinada.
garantir que a pesquisa caminha em largura
Funes:
Enqueue e Dequeue: operaes sobre uma fila FIFO.
UFMG/ICEx/DCC

MD

Conceitos

804

Algoritmo para calcular BFS (2)


BFS(G, s)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

for each vertex u V [G] {s}


do color [u] white
d[u]
[u] nil
color [s] gray
d[s] 0
[s] nil
Q {s}
while Q 6=
do u head[Q]
for each v Adj[u]
do if color [v] = white
then color [v] gray
d[v] d[u] + 1
[v] u
Enqueue(Q, v)
Dequeue(Q)
color [u] black

UFMG/ICEx/DCC

MD

Conceitos

805

Comentrios e anlise do algoritmo (1)


Linhas 14: Inicializao I
Inicializao de cada vrtice para white (no
descoberto).
Distncia para o vrtice s como .
Predecessor do vrtice desconhecido.

1 for each vertex u V [G] {s}


2
do color [u] white
3
d[u]
4
[u] nil

Anlise:
Linhas 14: O(V ).
Cada vrtice (exceto s) inicializado como
white e nenhum vrtice volta a ser white.

5
6
7
8

Linhas 58: Inicializao II


Inicializao de s com gray ( considerado
descoberto).
Distncia para o prprio vrtice s 0.
No possui predecessor.
A fila Q contm inicialmente apenas s (ir
conter apenas os vrtices gray, ou seja, os
vrtices descobertos em largura).

color [s] gray


d[s] 0
[s] nil
Q {s}

Anlise:
Linhas 58: O(1).
UFMG/ICEx/DCC

MD

Conceitos

806

Comentrios e anlise do algoritmo (2)


Linhas 918: Loop
Loop executado at que a fila esteja vazia,
ou seja, no hajam vrtices gray.
Cada vrtice colocado e retirado da fila somente uma nica vez.
Vrtice gray um vrtice que foi descoberto
mas a sua lista de adjacncia ainda no foi
totalmente descoberta.
Vrtice black j foi totalmente examinado.
Vrtice u contm o primeiro elemento da fila
Q.
Linhas 1116 examinam cada vrtice v adjacente a u que no foi descoberto ainda (white
(12)), marca como descoberto (gray (13)),
calcula a sua distncia at s (14), marca o
seu predecessor como u (15), e o coloca na
fila Q (16).
Quando todos os vrtices adjacentes a u
forem examinados, u retirado da fila Q (17)
e passa a ser black (18).

9 while Q 6=
10
do u head[Q]
11
for each v Adj[u]
12
do if color [v] = white
13
then color [v] gray
14
d[v] d[u] + 1
15
[v] u
16
Enqueue(Q, v)
17
Dequeue(Q)
18
color [u] black

UFMG/ICEx/DCC

MD

Conceitos

807

Comentrios e anlise do algoritmo (3)


Anlise:
Operaes de colocar e retirar da fila cada
vrtice O(1) e o tempo total relacionado
com as operaes de fila O(V ).
A lista de adjacncia de cada vrtice u percorrida somente uma nica vez quando esse
vrtice ser retirado de Q.
A soma dos comprimentos das filas de adjacncia O(E), assim como o tempo para
percorr-la.
Linhas 918: O(V + E), que o custo das
operaes associadas fila e a percorrer as
listas de adjacncia.

9 while Q 6=
10
do u head[Q]
11
for each v Adj[u]
12
do if color [v] = white
13
then color [v] gray
14
d[v] d[u] + 1
15
[v] u
16
Enqueue(Q, v)
17
Dequeue(Q)
18
color [u] black

Anlise de todo algoritmo:


Linhas 14: O(V ).
Linhas 58: O(1).
Linhas 918: O(V + E).
Custo total: O(V + E).
UFMG/ICEx/DCC

MD

Conceitos

808

Execuo do algoritmo BFS (1)

UFMG/ICEx/DCC

MD

Conceitos

809

Execuo do algoritmo BFS (2)

UFMG/ICEx/DCC

MD

Conceitos

810

Execuo do algoritmo BFS (3)

UFMG/ICEx/DCC

MD

Conceitos

811

Caminho mais curto


BFS calcula a distncia (em no de arestas) de s V para os vrtices que so
alcanveis em G = (V, E).
Caminho mais curto (s, v):
Nmero mnimo de arestas em qualquer caminho de s para v, no caso de
ser alcanvel, ou se no for.
d[v] = (s, v), para todo v V .
Caminho mais curto entre s e v.
Teorema: Sub-caminhos de caminhos mais curtos so caminhos mais curtos.
Prova: Se algum sub-caminho no gerar o caminho mais curto, ele poderia
ser substitudo por um sub-caminho atalho e gerar um caminho total
mais curto.

UFMG/ICEx/DCC

MD

Conceitos

812

Inequao triangular
Teorema: (u, v) (u, x) + (x, v).
Caminho mais curto u ; v no mais longo que qualquer outro caminho
u ; v em particular o caminho concatenando o caminho mais curto
u ; x com o caminho mais curto x ; v.

UFMG/ICEx/DCC

MD

Conceitos

813

rvore em largura (1)


BFS produz uma rvore em largura com raiz s e seus vrtices alcanveis.
rvore representada pelo vetor .
Seja o grafo G = (V, E) e o vrtice origem s. O sub-grafo predecessor de G
definido como G = (V , E ), onde
V = {v V | [v] 6= nil} {s}
e
E = {([v], v) E | v V {s}}

UFMG/ICEx/DCC

MD

Conceitos

814

rvore em largura (2)


O sub-grafo predecessor G uma rvore em largura se:
V consiste dos vrtices alcanveis a partir de s, v V .
um caminho simples nico de s a v em G que tambm o caminho mais
curto de s a v em G.
|E | = |V | 1.
BFS constri o vetor tal que sub-grafo predecessor G uma rvore em
largura.

UFMG/ICEx/DCC

MD

Conceitos

815

Imprime caminho mais curto


P RINT-PATH(G, s, v)
1 if v = s
2
then print s
3
else if [v] = nil
4
then print no path from s to v exists
5
else P RINT-PATH(G, s, [v])
6
print v

Anlise:
Executa em tempo O(V ).

UFMG/ICEx/DCC

MD

Conceitos

816

Pesquisa em profundidade (1)


Seja um grafo G = (V, E), dirigido ou no.
Pesquisa em profundidade:
Explora os vrtices do grafo a partir de arestas no exploradas ainda, mais
fundo no grafo quanto possvel.
Quando todas as arestas de v tiverem sido exploradas, a pesquisa volta
para explorar outras arestas do vrtice do qual v foi descoberto.
Processo continua at que todos os vrtices alcanveis a partir de uma
origem tenham sido descobertos.
Se existe vrtice no descoberto ainda ento um novo vrtice selecionado e o processo comea todo novamente.

UFMG/ICEx/DCC

MD

Conceitos

817

Pesquisa em profundidade (2)

UFMG/ICEx/DCC

MD

Conceitos

818

Algoritmo para calcular DFS (1)


Estruturas de dados:
Grafo representado como uma lista de adjacncia.
Vetor color [u]: cor de cada vrtice u V .
Vetor [u]: predecessor de cada vrtice u V . Se u no tem predecessor
ou ainda no foi descoberto ento [u] = nil.
Vetor d[1 . . . |V |]: marca quando o vrtice descoberto
(white gray ).
Vetor f [1 . . . |V |]: marca quando o vrtice finalizado
(gray black ).
Varivel global time: indica o instante em que o vrtice descoberto e
terminado, ou seja, o timestamp.

UFMG/ICEx/DCC

MD

Conceitos

819

Algoritmo para calcular DFS (2)


Cores dos vrtices:
white : no visitados ainda.
gray : vrtice descoberto mas que no teve a sua lista de adjacncia totalmente examinada.
black : vrtice descoberto que j teve a sua lista de adjacncia totalmente
examinada e est terminado.
Funo:
DFS-V ISIT: Percorre recursivamente o grafo em profundidade.

UFMG/ICEx/DCC

MD

Conceitos

820

Algoritmo para calcular DFS (3)


Sada: para cada vrtice temos duas mar- u V , tempo lgico:
cas de tempo (timestamp) e um predeceswhite
sor ((v)) para construir a rvore em prod[u]
fundidade.
d[v]: instante de descoberta do vrtice v;
gray
f [v]: instante de finalizao do vrtice v;
d[u]
f[u]
Essas informaes sero teis para outros algoritmos.
black
Timestamps esto entre 1 e 2|V |
f[u]
u V, um nico evento de descoberta
e um nico evento de trmino (inteiros
distintos).
u V, d[u] f [u] d[u] < f [u]
1 d[v] < f [v] 2|V |.

UFMG/ICEx/DCC

MD

Conceitos

821

Algoritmo para calcular DFS (4)


DFS(G)
1 for each vertex u V [G]
2
do color [u] white
3
[u] nil
4 time 0
5 for each vertex u V [G]
6
do if color [u] = white
7
then DFS-V ISIT(u)
DFS-V ISIT(u)
1
2
3
4
5
6
7
8
9
10

 Vrtice u descoberto

color [u] gray


time time + 1
d[u] time
for each v Adj[u]
do if color [v] = white
then [v] u
DFS-V ISIT(v)
color [u] black
time time + 1
f [u] time
UFMG/ICEx/DCC

 Explore vrtices v adjacentes a u

 Vrtice u finalizado

MD

Conceitos

822

Comentrios e anlise do algoritmo (1)


DFS(G)
1 for each vertex u V [G]
2
do color [u] white
3
[u] nil
4 time 0
5 for each vertex u V [G]
6
do if color [u] = white
7
then DFS-V ISIT(u)

Linhas 14: Inicializao


Inicializao de cada vrtice para branco (white)
(no descoberto linha 2).
Predecessor do vrtice desconhecido (linha 3).
Varivel global usada para indicar o timestamp
(linha 4).
Linhas 57: Loop
Para cada vrtice ainda no descoberto (linha 6)
faz a pesquisa em profundidade (linha 7). Vrtice
u torna-se a raiz de uma nova rvore (se houver)
na floresta de pesquisa em profundidade.
Anlise:
Linhas 13: (V ). Cada vrtice inicializado
como white e nenhum vrtice volta a ser white.
Linha 4: O(1).
Linhas 57: (V + E). As linhas 57 de DFS
gastam (V ) sem contar o tempo de DFS-V ISIT,
que s chamado uma nica vez para cada vrtice branco.
DFS-V ISIT executa em (E).

UFMG/ICEx/DCC

MD

Conceitos

823

Comentrios e anlise do algoritmo (2)


DFS-V ISIT(u)
1
2
3
4
5
6
7
8
9
10

color [u] gray


time time + 1
d[u] time
for each v Adj[u]
do if color [v] = white
then [v] u
DFS-V ISIT(v)
color [u] black
time time + 1
f [u] time

Comentrios:
Linha 1: Vrtice u descoberto e torna-se cinza
(gray ).
Linha 2: Incrementa a varivel de timestamp.
Linha 3: Marca o instante em o vrtice u foi descoberto.
Linhas 4 a 7: Verifica cada vrtice v adjacente a
u (linha 4). Se o vrtice v ainda no foi descoberto (linha 5) marca como seu ancestral o vrtice
u (linha 6) e continua pesquisando o grafo em profundidade (linha 7).
Linha 8: Vrtice u finalizado e torna-se preto
(black ).
Linha 9: Incrementa a varivel de timestamp.
Linha 10: Marca o instante em o vrtice u foi finalizado.
Anlise:
Todas as atribuies tm custo O(1).
Loop das linhas 47: executado |Adj[u]| vezes,
sendo que vV |Adj[v]| = (E). Assim o custo
de DFS-V ISIT (E).

UFMG/ICEx/DCC

MD

Conceitos

824

Execuo do algoritmo DFS

UFMG/ICEx/DCC

MD

Conceitos

825

Classificao das arestas numa pesquisa em


profundidade

possvel identificar quatro tipos de arestas durante a construo da floresta de pesquisa em


profundidade G obtida pelo algoritmo de DFS no grafo G. O primeiro tipo de aresta pertence a
floresta enquanto os outros trs no:
T (tree): aresta da floresta de pesquisa em profundidade G . Aresta (u, v) uma aresta da
rvore se o vrtice v foi descoberto inicialmente ao explorar a aresta dirigida (u, v).
B (back ): aresta (u, v) que conecta um vrtice u a um ancestral v j presente na rvore.
Loops so consideradas arestas back.
F (forward): aresta (u, v) que conecta um vrtice u a um descendente v na rvore de
pesquisa em profundidade.
C (cross): so todas as outras arestas.
UFMG/ICEx/DCC

MD

Conceitos

826

Propriedades da pesquisa em profundidade (1)


O sub-grafo G define uma floresta de rvores (no caso do grafo G no ser
conexo).
As rvores da pesquisa em profundidade refletem a estrutura das
chamadas recursivas de DFS-V ISIT.
Temos que [v] = u sse DFS-V ISIT foi chamado durante uma pesquisa
da lista de adjacncia de u, i.e., vrtice v tem como ancestral o vrtice u.
Pode-se dizer que vrtice v descendente do vrtice u na floresta de
pesquisa em profundidade sse v foi descoberto quando u era cinza (gray ).
Pesquisa em profundidade apresenta Estrutura de Parnteses.
Represente a descoberta do vrtice u pelo parntese da esquerda: (u.
Represente a finalizao do vrtice u pelo parntese da direita: u).
Seqencia de descobertas e finalizaes de um dado vrtice define uma
expresso bem formada no sentido que parnteses so propriamente aninhados.

UFMG/ICEx/DCC

MD

Conceitos

827

Propriedades da pesquisa em profundidade (2)


Resultado de uma pesquisa em profundidade sobre
um grafo G.

Intervalos de descoberta e finalizao de cada


vrtice correspondem a estrutura de parnteses
mostrada. Cada retngulo representa o intervalo de
tempo entre o instante de descoberta e finalizao
de um vrtice. Se h sobreposio de intervalos ento um est inserido no outro e o vrtice que representa o menor intervalo um descendente do vrtice
que representa o maior intervalo.

O grafo acima est desenhado com todas as arestas


da rvore de cima para baixo e as outras arestas que
no fazem parte dela (B, F e C).

UFMG/ICEx/DCC

MD

Conceitos

828

Teorema do Parnteses (1)


Seja uma pesquisa em profundidade em um grafo G = (V, E), dirigido ou no.
Para quaisquer dois vrtices u e v desse grafo, temos que apenas uma das trs
condies abaixo verdadeira:
1. Os intervalos [d[u], f [u]] e [d[v], f [v]] so totalmente disjuntos e nem u
nem v um descendente do outro na floresta de pesquisa em profundidade.
d[u] < f [u] < d[v] < d[v]
ou
d[v] < f [v] < d[u] < f [u].
2. O intervalo [d[u], f [u]] est contido inteiramente dentro do intervalo
[d[v], f [v]] e o vrtice u um descendente do vrtice v na rvore de
pesquisa em profundidade.
d[v] < d[u] < f [u] < f [v].
3. O intervalo [d[v], f [v]] est contido inteiramente dentro do intervalo
[d[u], f [u]] e o vrtice v um descendente do vrtice u na rvore de
pesquisa em profundidade.
d[u] < d[v] < f [v] < f [u].
UFMG/ICEx/DCC

MD

Conceitos

829

Teorema do Parnteses (2)


Prova. Seja o caso d[u] < d[v]. Existem duas possibilidades:
(a) d[v] < f [u]
Vrtice v foi descoberto quando u era cinza (gray ).
Vrtice v um descendente de u.
Arestas de sada de v so exploradas.
Vrtice v finalizado antes da pesquisa retornar a u e ser finalizado.
.
. . Intervalo [d[v], f [v]] est inteiramente contido em [d[u], f [u]].
(b) d[v] 6< f [u], ou ainda, f [u] < d[v]
Sabe-se que d[u] < f [u] e d[v] < f [v].
.
. . Intervalos so disjuntos e os dois vrtices no tm uma relao de ancestral e descendente.

O caso d[v] < d[u] similar ao que foi explicado acima.


Exemplos:
Certo: ()[] ([]) [()]
Errado: ([)] [(])
UFMG/ICEx/DCC

MD

Conceitos

830

Aninhamento de intervalos de descendentes


Corolrio: Vrtice v um descendente prprio do vrtice u na floresta de
pesquisa em profundidade para um grafo G (dirigido ou no) sse
d[u] < d[v] < f [v] < f [u].
Prova. Imediato do Teorema do Parnteses.

UFMG/ICEx/DCC

MD

Conceitos

831

Teorema do Caminho Branco


Teorema: Na floresta de pesquisa em profundidade de um grafo G = (V, E) (dirigido ou no),
o vrtice v um descendente do vrtice u sse () no instante d[u] que DFS descobre
u, o vrtice v pode ser alcanado a partir de u ao longo de um caminho formado
inteiramente de vrtices brancos.
Prova.
() [se o vrtice v um descendente do vrtice u ento no instante d[u] que DFS descobre u,
o vrtice v pode ser alcanado a partir de u ao longo de um caminho formado inteiramente de
vrtices brancos.]
Suponha que v um descendente de u. Seja w um vrtice qualquer no caminho entre u
e v na rvore de pesquisa em profundidade. Pelo corolrio do Aninhamento de Intervalos de
Descendentes (AID), d[u] < d[w] e w branco no instante d[u]. Como w um vrtice qualquer
no caminho entre u e v, a concluso verdadeira.
() [se no instante d[u] que DFS descobre u, o vrtice v pode ser alcanado a partir de
u ao longo de um caminho formado inteiramente de vrtices brancos ento o vrtice v um
descendente do vrtice u.]
Suponha que a hiptese verdadeira e que o vrtice v no se torna um descendente de u
na rvore de pesquisa em profundidade. Assuma que todos os outros vrtices ao longo do
caminho tornam-se descendentes de u. Seja w o predecessor de v no caminho tal que w um
descendente de u (w e u podem ser o mesmo vrtice) e, pelo corolrio AID, f [w] f [u]. Note
que v deve ser descoberto depois que u descoberto, mas antes que w seja finalizado (w o
predecessor de v). Assim, d[u] < d[v] < f [w] f [u]. Pelo teorema do Parnteses temos que
o intervalo [d[v], f [v]] est contido inteiramente dentro do intervalo [d[u], f [u]]. Pelo corolrio
AID, v deve ser um descendente de u.
UFMG/ICEx/DCC

MD

Conceitos

832

Pesquisa em profundidade e Conjectura I


Se existe um caminho do vrtice u para o vrtice v num grafo dirigido G e se
d[u] < d[v] na pesquisa em profundidade de G, ento o vrtice v um descendente do vrtice u na floresta de pesquisa em profundidade obtida. [Exerccio
22.3-7 do livro CLRS]
A conjectura verdadeira ou falsa?

UFMG/ICEx/DCC

MD

Conceitos

833

Pesquisa em profundidade e Conjectura I


Se existe um caminho do vrtice u para o vrtice v num grafo dirigido G e se
d[u] < d[v] na pesquisa em profundidade de G, ento o vrtice v um descendente do vrtice u na floresta de pesquisa em profundidade obtida. [Exerccio
22.3-7 do livro CLRS]
A conjectura verdadeira ou falsa?
Falsa! Prova por contra-exemplo.

Existe um caminho de u para v no grafo.


A rvore de pesquisa em profundidade produzida e as arestas identificadas.
Temos que d[u] < d[v] na pesquisa em profundidade mas v no um descendente de u.
UFMG/ICEx/DCC

MD

Conceitos

834

Pesquisa em profundidade e Conjectura II


Se existe um caminho do vrtice u para o vrtice v num grafo dirigido G, ento
qualquer pesquisa em profundidade deve resultar em d[v] f [u]. [Exerccio
22.3-8 do livro CLRS]
A conjectura verdadeira ou falsa?

UFMG/ICEx/DCC

MD

Conceitos

835

Pesquisa em profundidade e Conjectura II


Se existe um caminho do vrtice u para o vrtice v num grafo dirigido G, ento
qualquer pesquisa em profundidade deve resultar em d[v] f [u]. [Exerccio
22.3-8 do livro CLRS]
A conjectura verdadeira ou falsa?
Falsa! Prova por contra-exemplo.

Existe um caminho de u para v no grafo.


A rvore de pesquisa em profundidade produzida e as arestas identificadas.
Contudo, d[v] > f [u].
UFMG/ICEx/DCC

MD

Conceitos

836

Pesquisa em profundidade e floresta com certa


propriedade
Seja um vrtice u, que tem arestas de entrada e sada, em um grafo dirigido G.
possvel que esse vrtice fique sozinho na rvore de pesquisa em profundidade? [Exerccio 22.3-10 do livro CLRS]

UFMG/ICEx/DCC

MD

Conceitos

837

Pesquisa em profundidade e floresta com certa


propriedade
Seja um vrtice u, que tem arestas de entrada e sada, em um grafo dirigido G.
possvel que esse vrtice fique sozinho na rvore de pesquisa em profundidade? [Exerccio 22.3-10 do livro CLRS]
Sim!

Vrtice u tem arestas de entrada e sada no grafo G.


No entanto, a floresta de pesquisa em profundidade produzida faz com o vrtice u aparea sozinho na rvore de pesquisa em profundidade.

UFMG/ICEx/DCC

MD

Conceitos

838

Classificao de arestas na DFS (1)


A pesquisa em profundidade pode ser usada para classificar as arestas de
um grafo G.
Exemplo de aplicao:
Um grafo dirigido acclico sse a pesquisa em profundidade no identifica
nenhuma aresta do tipo back (retorno).
O procedimento DFS pode ser modificado para classificar as arestas de um
grafo G medida que elas forem sendo encontradas.
Nesta verso, arestas F (forward) e C (cross) no so discriminadas.
Idia: tem-se uma aresta incidente a um vrtice
white : indica uma aresta da rvore.
gray : indica uma aresta B (back ).
black : indica uma aresta F (forward) ou C (cross).
UFMG/ICEx/DCC

MD

Conceitos

839

Classificao de arestas na DFS (2)


Aresta incidente a um vrtice:
white : aresta T
Identificao imediata a partir da especificao do algoritmo.
gray : aresta B
Vrtices cinza (gray ) formam uma sequncia linear de descendentes que
correspondem pilha de invocaes ativas ao procedimento DFS-V ISIT.
Nesse processo de explorao, se um vrtice cinza encontra outro vrtice
cinza ento foi encontrado um ancestral.
black : aresta F ou C
Possibilidade restante.
possvel mostrar que uma aresta (u, v)
. F (forward) se d[u] < d[v] e,
. C (cross) se d[u] > d[v].

UFMG/ICEx/DCC

MD

Conceitos

840

Classificao de arestas na DFS (3)


DFS-W ITH -E DGE -C LASSIFICATION(G)
 Idntico ao DFS

DFS-V ISIT(u)
1
2
3
4
5
6
7
8
9
10
11
12
13
14

 Vrtice u descoberto

color [u] gray


time time + 1
d[u] time
for each v Adj[u]
do if color [v] = white
then (u, v) T
[v] u
DFS-V ISIT(v)
else if color [v] = gray
then (u, v) B
else (u, v) {F, C}
color [u] black
time time + 1
f [u] time

UFMG/ICEx/DCC

MD

 Explore vrtices v adjacentes a u


 Aresta pertence rvore

 Aresta do tipo B
 Aresta do tipo F ou C
 Vrtice u finalizado

Conceitos

841

Classificao de arestas num grafo no dirigido


Teorema: Numa pesquisa em profundidade de um grafo no dirigido G, cada aresta de G
uma aresta da rvore (T) ou uma aresta de retorno (B).
Prova.
Seja (u, v) uma aresta arbitrria de G e suponha, sem perda de generalidade, que d[u] < d[v].
Nesse caso, o vrtice v deve ser descoberto e finalizado antes de finalizar o vrtice u (enquanto
u for cinza), j que v est na lista de adjacncia de u.
Se a aresta (u, v) explorada primeiro na direo de u para v, ento v no era conhecido
(white) naquele instante, caso contrrio, a aresta j teria sido explorada na direo de v para u.
Assim, a aresta (u, v) torna-se uma aresta da rvore (T).
Se a aresta (u, v) explorada primeiro na direo de v para u, ento (u, v) uma aresta de
retorno (B), j que o vrtice u ainda tem a cor cinza (gray ) no momento que a aresta primeiro
explorada.

UFMG/ICEx/DCC

MD

Conceitos

842

Ordenao topolgica
A busca em profundidade pode ser usada para executar uma ordenao
topolgica em um grafo dirigido acclico (DAG Directed Acyclic Graph).
Uma ordenao topolgica de um DAG G = (V, E) uma ordenao linear
de todos os seus vrtices, tal que se G contm uma aresta (u, v), ento u
aparece antes de v na ordenao.
Se o grafo no acclico, ento no possvel nenhuma ordenao linear.
Uma ordenao topolgica de um grafo pode ser vista como uma ordenao
de seus vrtices ao longo de uma linha horizontal, de tal forma que todas as
arestas orientadas sigam da esquerda para a direita.

UFMG/ICEx/DCC

MD

Conceitos

843

Ordenao topolgica
DAGs so usados em aplicaes para indicar precedncia entre eventos.
O grafo abaixo mostra como um dado homem se veste pela manh.
Uma aresta orientada (u, v) no DAG indica que a pea de roupa u deve ser
vestida antes da pea v.

Algumas peas devem ser vestidas antes de outras (meias antes dos sapatos);
Outras, em qualquer ordem (meias e calas).
Uma ordenao topolgica desse DAG fornece uma ordem para o processo
de se vestir.
UFMG/ICEx/DCC

MD

Conceitos

844

Algoritmo de ordenao topolgica


TOPOLOGICAL -S ORT(G)
 Chama DFS para calcular o instante de trmino f [u] para cada vrtice u. medida que cada vrtice terminado, ele deve ser inserido
na frente de uma lista encadeada.
2 return lista encadeada de vrtices.

1 DFS(G)

TOPOLOGICAL -S ORT(G)

DFS-V ISIT(u)

 Verso modificada de DFS


1 for each vertex u V [G]
2
do color [u] white
3
[u] nil
4 time 0
5 for each vertex u V [G]
6
do if color [u] = white
7
then DFS-V ISIT(u)
8 return Q

1
2
3
4
5
6
7
8
9
10

UFMG/ICEx/DCC

color [u] gray


time time + 1
d[u] time
for each v Adj[u]
do if color [v] = white
then [v] u
DFS-V ISIT(v)
color [u] black
time time + 1
f [u] time
 Monta a ordenao topolgica
11 Enqueue(Q, u)

MD

Conceitos

845

Algoritmo de ordenao topolgica

Os vrtices topologicamente ordenados aparecem na ordem inversa de seus


tempos de trmino.

UFMG/ICEx/DCC

MD

Conceitos

846

Ordenao topolgica: Anlise de complexidade


A busca em profundidade (V + E) e leva tempo O(1) para inserir cada
um dos n vrtices frente da lista encadeada.
Logo, a ordenao topolgica tem complexidade de tempo de (V + E).

UFMG/ICEx/DCC

MD

Conceitos

847

Componentes fortemente conexos


Um grafo orientado fortemente conexo se cada um de dois vrtices quaisquer acessvel a partir do outro.
Um componente fortemente conexo de um grafo orientado G = (V, E) um
conjunto mximo de vrtices C V tal que, para todo par de vrtices u e v
em C, temos que os vrtices u e v so acessveis um a partir do outro.

UFMG/ICEx/DCC

MD

Conceitos

848

Componentes fortemente conexos


A busca em profundidade pode ser utilizada tambm para realizar a decomposio de um grafo orientado em seus componentes fortemente conexos.
Vrios algoritmos que trabalham com grafos dirigidos comeam por essa
decomposio.
Uma vez feita essa decomposio, o algoritmo executado sobre cada
componente.
As solues so combinadas de acordo com a estrutura das conexes entre os componentes.

UFMG/ICEx/DCC

MD

Conceitos

849

Componentes fortemente conexos


Dado um um grafo G = (V, E), o seu grafo transposto GT = (V, E T ) consiste das arestas de G com seus sentidos invertidos (E T ).

GT

UFMG/ICEx/DCC

MD

Conceitos

850

Componentes fortemente conexos: Algoritmo


O algoritmo abaixo calcula os componentes fortemente conexos de um grafo
orientado G = (V, E) fazendo duas pesquisas em profundidade, a primeira
sobre G e a segunda sobre GT .
S TRONGLY-C ONNECTED -C OMPONENTS(G)
1 DFS(G)
 Faz a pesquisa em profundidade e calcula o tempo de finalizao f [u]
para cada vrtice u.
 Gera o grafo transposto GT do grafo G.
 Faz a pesquisa em profundidade para o grafo GT , mas no lao principal de DFS, considere os vrtices em ordem decrescente de f [u]
(como computado na linha 1).
4 Liste os vrtices de cada rvore na floresta DFS formada na linha 3 como um componente
fortemente conexo..
2 Gere GT
3 DFS(GT )

UFMG/ICEx/DCC

MD

Conceitos

851

Componentes fortemente conexos: Anlise


Busca em profundidade sobre G : (V + E).
Clculo de GT : (V + E).
Busca em profundidade sobre GT : (V + E).
Assim, a complexidade de tempo (V + E).

UFMG/ICEx/DCC

MD

Conceitos

852

Componentes fortemente conexos: Exemplo


Passo 1
Seja o grafo G abaixo

Um possvel resultado para o clculo de DFS do grafo G :

Para a pesquisa resultante, temos os seguintes tempos de finalizao f [u] em ordem decrescente:
u
f [u]
UFMG/ICEx/DCC

b
16

e
15

a
14
MD

c
10

d
9

Conceitos

g
7

h
6

f
4
853

Componentes fortemente conexos: Exemplo


Passo 2
Dado o grafo G:

O grafo transposto GT do grafo G :

UFMG/ICEx/DCC

MD

Conceitos

854

Componentes fortemente conexos: Exemplo


Passo 3
Pesquisa em profundidade o grafo GT , sendo que no lao principal do DFS os vrtices so
considerados em ordem decrescente de f [u] (como computado no passo 1).
u
f [u]

UFMG/ICEx/DCC

b
16

e
15

a
14

MD

c
10

d
9

Conceitos

g
7

h
6

f
4

855

Componentes fortemente conexos: Exemplo


Passo 4
Os vrtices de cada rvore na floresta DFS formada no passo 3 so listados como um componente fortemente conexo do grafo original.
Grafo GT com a floresta DFT:

Grafo G com os componentes conexos:

UFMG/ICEx/DCC

MD

Conceitos

856

Componentes fortemente conexos e o grafo GSCC


O grafo G pode ser representado por um grafo de componentes
GSCC = (V SCC , E SCC )
definido da seguinte forma:
Suponha que G tenha componentes fortemente conexos C1 , C2 , . . . , Ck .
V SCC = {v1 , v2 , . . . , vk }, onde vi representa o componente fortemente conexo Ci de G.
(vi , vj ) E SCC , se G contm a aresta dirigida (x, y)|x Ci , y Cj .
No grafo GSCC , cada vrtice representa um componente e cada aresta representa a conectividade entre componentes.

Grafo G com os componentes conexos

UFMG/ICEx/DCC

MD

Conceitos

Grafo GSCC

857

Conectividade entre componentes fortemente


conexos
Lema: Sejam C e C 0 dois componentes fortemente conexos distintos do grafo
G. Sejam os vrtices u, v C e u0, v 0 C 0. Suponha que exista um caminho
u ; u0 G. Ento no pode haver um caminho v 0 ; v G.
Prova. Suponha que exista um caminho v 0 ; v G. Devem existir, ento,
caminhos u ; u0 ; v 0 e v 0 ; v ; u G. Assim, u, que pertence ao
componente fortemente conexo C, alcanvel por um caminho que passa pelo
componente fortemente conexo C 0, o que implica que os componentes conexos
C e C 0 deveriam ser um nico componente. Isso contradiz a suposio que eles
so distintos e, assim, no pode haver o caminho v 0 ; v G.

UFMG/ICEx/DCC

MD

Conceitos

858

Vous aimerez peut-être aussi