Você está na página 1de 27

Matrides o

1 / 27

Matrides o
Eduardo Camponogara
Departamento de Automao e Sistemas ca Universidade Federal de Santa Catarina

DAS-9003: Introduo a Algoritmos ca

Matrides o Sumrio a

2 / 27

Introduo ca

Fundamentos Tericos para Mtodos Gulosos o e

Matrides o Introduo ca

3 / 27

Sumrio a

Introduo ca

Fundamentos Tericos para Mtodos Gulosos o e

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

4 / 27

Sumrio a

Introduo ca

Fundamentos Tericos para Mtodos Gulosos o e

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

5 / 27

Fundamentos Tericos para Mtodos Gulosos o e


Introduo ca

A teoria que ser desenvolvida util para determinar quando o a e mtodo guloso leva ` soluo tima. e a ca o Esta teoria utiliza estruturas combinatrias conhecidas como o matrides. o Entretanto, esta teoria no envolve todos os casos nos quais a algoritmos gulosos podem ser aplicados. A teoria no cobre, por exemplo, o problema de codicao de a ca Human e o problema de seleo de atividades. ca

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

6 / 27

Fundamentos Tericos para Mtodos Gulosos o e


Matrides o
Um matroide um par M = (S, I) que satisfaz as propriedades: e

S um conjunto nito e no vazio e a I uma fam no vazia dos subconjuntos de S, chamada e lia a de subconjunto independente de S, tal que se B I e A B ento A I. a

Dizemos que I hereditria se satisfaz esta propriedade. e a Note que o conjunto vazio obrigatoriamente um membro e de I.

Se A I, B I, e |A| < |B|, ento existe algum elemento a x B A que A {x} I.

Dizemos que M satisfaz a propriedade de troca.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

7 / 27

Matrides o

Exemplo 1: Matrix Matroid


Os elementos de S so linhas de uma dada matriz. a O conjunto de linhas independente se elas so linearmente e a independentes no sentido usual. a E fcil mostrar que esta estrutura dene um matride. o

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

8 / 27

Matrides o
Exemplo 2
Matride grco MG = (SG , IG ) denido em termos de um grafo o a e no direcionado G = (V , E ) como segue: a

O conjunto SG denido por E , o conjunto de arestas de G . e Se A um subconjunto de E , ento A IG se e somente se e a A ac e clico. Ou seja, o conjunto de arestas independente se e e somente se elas formam uma oresta.

O matride grco MG est relacionado ao problema da rvore de o a a a espalhamento m nima

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

9 / 27

Matrides o
Teorema
Se G um grafo no direcionado, ento MG = (SG , IG ) um e a a e matride. o

Demonstrao ca
Vericamos cada uma das propriedades:

Claramente SG = E um conjunto nito. e Seja F IG uma oresta. Ento qualquer F F tambm a e e uma oresta. Portanto, IG hereditria. e a Nos resta mostrar que MG satisfaz a propriedade de troca.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

10 / 27

Matrides o
Demonstrao ca
Vericando a propriedade de troca. Seja F1 , F2 IG , |F1 | < |F2 |.
F1 F2

A parte em azul corresponde as aresta da interseco de F1 e F2 , ca ou seja, as arestas do conjunto F1 F2

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

11 / 27

Matrides o
Demonstrao ca
Sejam C 1 , . . . , C k os componentes conexos de F2 F1 .
C1

C2

C3

F2 F1

Ck

Componentes conexos de F2 F1

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

12 / 27

Matrides o

Demonstrao ca

Suponha que A e B so orestas de G e que |B| > |A|. a Uma oresta com k arestas possui exatamente |V | k rvores. a Portanto, a oresta A possui |V | |A| rvores, e a oresta B a possui |V | |B|.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

13 / 27

Matrides o
Demonstrao ca

Uma vez que a oresta B possui menos rvores que A, a a oresta B deve conter uma rvore T cujos vrtices esto em a e a duas rvores diferentes de A. a Ainda, uma vez que T conexo, T deve conter uma aresta e (u, v ) tal que u e v so elementos de rvores distintas de A. a a A aresta (u, v ) pode ser adicionada a A sem criar um ciclo. Assim, MG satisfaz a propriedade de troca, completando a prova que MG um matride. e o

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

14 / 27

Matrides o

Outras propriedades de matrides o

Se A um conjunto independente em um matride M, e o dizemos que A mximo se ele no possui extenses. e a a o Ou seja, A no contido em nenhum conjunto independente a e maior de M.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

15 / 27

Matrides o
Teorema
Todos os subconjuntos independentes mximos de um matride a o possuem o mesmo tamanho.

Demonstrao ca

Suponha o contrrio, que A um conjunto mximo a e a independente de M e que exista outro conjunto mximo a independente B de M, tal que |B| > |A|. Ento, a propriedade de troca implica que A extens a um a e vel conjunto independente maior A {x} para algum x B A, contrariando a hiptese que A mximo. o e a

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

16 / 27

Matrides o

Sobre o matride grco o a

Para o caso do matride grco MG de um grafo G no o a a direcionado, todo conjunto mximo independente de MG deve a ser uma rvore livre com exatamente |V | 1 arestas que a conecte todos os vrtices de G . e Esta rvore chamada de rvore de espalhamento de G . a e a

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

17 / 27

Matrides o
Matride e elementos com pesos o

Dizemos que um matride M = (S, I) weighted se existe o e uma funo peso w que associa pesos positivos w (x) para ca cada elemento x S. A funo peso w estende ao subconjunto de S pelo ca somatrio. Para todo A S, temos: o w (A) =
xA

w (x)

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

18 / 27

Algoritmos gulosos em matrides com pesos o


Propriedades

Muitos problemas nos quais a abordagem gulosa resulta em uma soluo tima podem ser colocados em termos de ca o encontrar o subconjunto independente peso-mximo em um a matride com pesos. o Isto , possu e mos um dado matride com pesos M = (S, I), e o desejamos encontrar um conjunto independente A I de maneira que w (A) maximizado. e Chamamos este conjunto do matride de conjunto timo. o o Devido ` funo peso w (x) de qualquer elemento x S ser a ca positiva, um subconjunto timo sempre um subconjunto o e independente mximo: A deve ser to grande quanto poss a a vel.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

19 / 27

Algoritmos gulosos em matrides com pesos o

Arvores de espalhamento m nimas (MST)


No problema MST, dado um grafo no direcionado G = (V , E ) e a uma funo comprimento-das-arestas w (e), deseja-se encontrar ca uma rvore de esplhamento cujo peso total m a e nimo.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

20 / 27

Algoritmos gulosos em matrides com pesos o

Arvores de espalhamento m nimas (MST)

Para visualizar o problema MST, considere o matride MG o com funo peso w , onde: ca

w (e) = w0 w (e) e w0 maior que o maior comprimento de qualquer aresta. e

Neste matride com pesos, todos eles so positivos e um o a subconjunto timo uma rvore de espalhamento de tamanho o e a total m nimo do grafo original.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

21 / 27

Algoritmos gulosos em matrides com pesos o


Arvores de espalhamento m nimas (MST)

Mais especicamente, cada subconjunto mximo de A a corresponde a uma rvore de espalhamento, e a w (A) = (|V | 1)w0 w (A) para qualquer subconjunto independente mximo de A, o a subconjunto independente que maximiza w (A) deve minimizar w (A).

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

22 / 27

Algoritmos gulosos em matrides com pesos o


Arvores de espalhamento m nimas (MST)

Portanto, qualquer algoritmo que pode encontrar um subconjunto A em um matride arbitrrio pode resolver o o a problema da rvore de espalhamento m a nima. Apresentaremos um algoritmo guloso que funciona com qualquer matride com peso. o O algoritmo recebe como entrada um matride com pesos o M = (S, I) com uma funo peso w (positiva), e retorna o ca subconjunto timo A. o

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

23 / 27

Algoritmos gulosos em matrides com pesos o


Algoritmo
Greedy(M, w ) A sort S[M] into nonincreasing order by weight w for each x S[M], taken in nonincreasing order by weight w (x) do if A {x} I[M] then A A {x} return A

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

24 / 27

Algoritmos gulosos em matrides com pesos o

Matrides possuem a propriedade greedy-choice o

Lema

Suponha que M = (S, I) um matride com funo peso w e e o ca que S est ordenado de maneira no crescente pelo peso. a a Seja x o primeiro elemento de S tal que {x} independente. e

Ento existe um subconjunto timo A de S que contm x. a o e

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

25 / 27

Algoritmos gulosos em matrides com pesos o


Prova

Se nenhum x existe, ento o unico subconjunto independente a o conjunto vazio, que prova o lema. e Seno, seja B qualquer subconjunto timo no vazio. a o a Assuma que x B; caso contrrio, fazemos A = B que prova / a o lema. Nenhum elemento de B possui peso maior que w (x).

Para isto, observe que y B implica {y } ser independente, uma vez que B I e I hereditrio. e a Nossa escolha de x, entretanto, assegura que w (x) w (y ) para qualquer y B.

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

26 / 27

Algoritmos gulosos em matrides com pesos o


Prova
Constru mos o conjunto A da seguinte maneira:

Comeamos com A = {x} e, pela escolha de x, A c e independente. Usando a propriedade de troca, repetidamente encontramos um novo elemento de B que pode ser adicionado ` A at que a e |A| = |B| enquanto preserva a independncia de A. e Ento, A = (B {y }) {x} para algum y B, e assim; a w (A) = w (B) w (y ) + w (x) w (B)

Como B timo, A deve tambm ser timo, e como x A, o eo e o lema est provado. a

Matrides o Fundamentos Tericos para Mtodos Gulosos o e

27 / 27

Matrides o

Fim! Obrigado pela presena c