• Nenhum resultado encontrado

Tópicos de Análise de Algoritmos

N/A
N/A
Protected

Academic year: 2022

Share "Tópicos de Análise de Algoritmos"

Copied!
66
0
0

Texto

(1)

Tópicos de Análise de Algoritmos

Busca local:

algoritmo Metropolis e simulated annealing

Secs 12.1 e 12.2 do KT

(2)

Busca local

Problema de otimização combinatória:

conjunto deinstâncias para cada instânciaI,

um conjunto Sol(I)(não vazio) de soluções (viáveis) e uma funçãoval(S) para cada soluçãoS em Sol(I)

Objetivo: Dada uma instância I viável,

encontrar soluçãoS em Sol(I) tq val(S) é mínimo/máximo. Tipicamente Sol(I) tem tamanho exponencial.

Em uma busca local, adicionamos a noção devizinhança entre as soluções. Relações que vizinhançasimétricas.

(3)

Busca local

Problema de otimização combinatória:

conjunto deinstâncias para cada instânciaI,

um conjunto Sol(I)(não vazio) de soluções (viáveis) e uma funçãoval(S) para cada soluçãoS em Sol(I) Objetivo: Dada uma instância I viável,

encontrar soluçãoS em Sol(I) tq val(S) é mínimo/máximo.

Tipicamente Sol(I) tem tamanho exponencial. Em uma busca local, adicionamos a

noção devizinhança entre as soluções. Relações que vizinhançasimétricas.

(4)

Busca local

Problema de otimização combinatória:

conjunto deinstâncias para cada instânciaI,

um conjunto Sol(I)(não vazio) de soluções (viáveis) e uma funçãoval(S) para cada soluçãoS em Sol(I) Objetivo: Dada uma instância I viável,

encontrar soluçãoS em Sol(I) tq val(S) é mínimo/máximo.

Tipicamente Sol(I) tem tamanho exponencial.

Em uma busca local, adicionamos a noção devizinhança entre as soluções. Relações que vizinhançasimétricas.

(5)

Busca local

Problema de otimização combinatória:

conjunto deinstâncias para cada instânciaI,

um conjunto Sol(I)(não vazio) de soluções (viáveis) e uma funçãoval(S) para cada soluçãoS em Sol(I) Objetivo: Dada uma instância I viável,

encontrar soluçãoS em Sol(I) tq val(S) é mínimo/máximo.

Tipicamente Sol(I) tem tamanho exponencial.

Em uma busca local, adicionamos a noção devizinhançaentre as soluções.

Relações que vizinhançasimétricas.

(6)

Busca local

Problema de otimização combinatória:

conjunto deinstâncias para cada instânciaI,

um conjunto Sol(I)(não vazio) de soluções (viáveis) e uma funçãoval(S) para cada soluçãoS em Sol(I) Objetivo: Dada uma instância I viável,

encontrar soluçãoS em Sol(I) tq val(S) é mínimo/máximo.

Tipicamente Sol(I) tem tamanho exponencial.

Em uma busca local, adicionamos a noção devizinhançaentre as soluções.

Relações que vizinhançasimétricas.

(7)

Busca local

Algoritmo:

Começa com uma solução arbitráriaS.

Iterativamente muda para uma soluçãoS0 vizinha a S.

Durante o processo,guarda a melhor solução visitada. Pontos críticos:

I como definir a vizinhança de uma solução I como escolherS0 na vizinhança de S

Grafo cujo conjunto de vértices é Sol(I)e adjacência é dada pela relação de vizinhança entre as soluções. Algoritmo de busca local é um passeio neste grafo, que tenta alcançar uma boa solução.

(8)

Busca local

Algoritmo:

Começa com uma solução arbitráriaS.

Iterativamente muda para uma soluçãoS0 vizinha a S.

Durante o processo,guarda a melhor solução visitada.

Pontos críticos:

I como definir a vizinhança de uma solução I como escolherS0 na vizinhança de S

Grafo cujo conjunto de vértices é Sol(I)e adjacência é dada pela relação de vizinhança entre as soluções. Algoritmo de busca local é um passeio neste grafo, que tenta alcançar uma boa solução.

(9)

Busca local

Algoritmo:

Começa com uma solução arbitráriaS.

Iterativamente muda para uma soluçãoS0 vizinha a S.

Durante o processo,guarda a melhor solução visitada.

Pontos críticos:

I como definir a vizinhança de uma solução

I como escolherS0 na vizinhança de S

Grafo cujo conjunto de vértices é Sol(I)e adjacência é dada pela relação de vizinhança entre as soluções. Algoritmo de busca local é um passeio neste grafo, que tenta alcançar uma boa solução.

(10)

Busca local

Algoritmo:

Começa com uma solução arbitráriaS.

Iterativamente muda para uma soluçãoS0 vizinha a S.

Durante o processo,guarda a melhor solução visitada.

Pontos críticos:

I como definir a vizinhança de uma solução I como escolherS0 na vizinhança deS

Grafo cujo conjunto de vértices é Sol(I)e adjacência é dada pela relação de vizinhança entre as soluções. Algoritmo de busca local é um passeio neste grafo, que tenta alcançar uma boa solução.

(11)

Busca local

Algoritmo:

Começa com uma solução arbitráriaS.

Iterativamente muda para uma soluçãoS0 vizinha a S.

Durante o processo,guarda a melhor solução visitada.

Pontos críticos:

I como definir a vizinhança de uma solução I como escolherS0 na vizinhança deS

Grafo cujo conjunto de vértices é Sol(I)e adjacência é dada pela relação de vizinhança entre as soluções.

Algoritmo de busca local é um passeio neste grafo, que tenta alcançar uma boa solução.

(12)

Cobertura por vértices

GrafoG = (V,E)

S ⊆V é cobertura por vérticesse

toda arestae emE tem pelo menos uma ponta em S.

Problema: Dado G,

encontrar cobertura por vértices detamanho mínimo. custoc(S)=|S|

Relação de vizinhança: S ∼S0 se S0 é obtido de S

S ∼S0 se adicionando-se ou removendo-se um vértice. Cada soluçãoS tem n vizinhos, onde n=|V|.

(13)

Cobertura por vértices

GrafoG = (V,E)

S ⊆V é cobertura por vérticesse

toda arestae emE tem pelo menos uma ponta em S.

Problema: Dado G,

encontrar cobertura por vértices detamanho mínimo.

custoc(S)=|S|

Relação de vizinhança: S ∼S0 se S0 é obtido de S

S ∼S0 se adicionando-se ou removendo-se um vértice. Cada soluçãoS tem n vizinhos, onde n=|V|.

(14)

Cobertura por vértices

GrafoG = (V,E)

S ⊆V é cobertura por vérticesse

toda arestae emE tem pelo menos uma ponta em S.

Problema: Dado G,

encontrar cobertura por vértices detamanho mínimo.

custoc(S)=|S| Relação de vizinhança:

S ∼S0 se S0 é obtido de S

S ∼S0 se adicionando-se ou removendo-se um vértice.

Cada soluçãoS tem n vizinhos, onde n=|V|.

(15)

Cobertura por vértices

GrafoG = (V,E)

S ⊆V é cobertura por vérticesse

toda arestae emE tem pelo menos uma ponta em S.

Problema: Dado G,

encontrar cobertura por vértices detamanho mínimo.

custoc(S)=|S| Relação de vizinhança:

S ∼S0 se S0 é obtido de S

S ∼S0 se adicionando-se ou removendo-se um vértice.

Cada soluçãoS tem n vizinhos, onde n=|V|.

(16)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo. Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(17)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS Exemplo 1: G = (V,∅)

S decresce um vértice de cada vez atéS =∅, que é ótimo.

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo. Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(18)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS Exemplo 1: G = (V,∅)

S decresce um vértice de cada vez atéS =∅, que é ótimo.

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo. Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(19)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo. Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(20)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo.

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo. Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(21)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo.

Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local. O algoritmo pode se dar arbitrariamente mal.

(22)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo.

Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local.

O algoritmo pode se dar arbitrariamente mal.

(23)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 2: G é estrela de centrov

Se, ao final da primeira iteração,S 6=S \ {v}, o algoritmo termina comS ={v}, que é ótimo.

Se, ao final da primeira iteração,S =S \ {v}, o algoritmo termina com esse ótimo local.

O algoritmo pode se dar arbitrariamente mal.

(24)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 3: G é um caminho com número ímpar de vértices

Solução ótima: conjunto de vértices pares Muitos mínimos locais.

(25)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 3: G é um caminho com número ímpar de vértices

Solução ótima: conjunto de vértices pares

Solução ótima: conjunto de vértices pares Muitos mínimos locais.

(26)

Algoritmo de busca local

Gradiente descendente

BUSCA-LOCAL(n,E) G = (V,E) onde V = [n]

1 S ←[n]

2 enquanto existe vizinho S0 deS

2 enquanto tq |S0|<|S|e S0 é cobertura faça

3 S ←S0

4 devolvaS

Exemplo 3: G é um caminho com número ímpar de vértices

Solução ótima: conjunto de vértices pares Muitos mínimos locais.

(27)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante. Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann. ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta. ParaT grande, a diferença entre estas probabilidades é bem pequena.

(28)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante.

Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann. ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta. ParaT grande, a diferença entre estas probabilidades é bem pequena.

(29)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante.

Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann.

ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta. ParaT grande, a diferença entre estas probabilidades é bem pequena.

(30)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante.

Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann.

ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta. ParaT grande, a diferença entre estas probabilidades é bem pequena.

(31)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante.

Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann.

ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta.

ParaT grande, a diferença entre estas probabilidades é bem pequena.

(32)

Algoritmo Metropolis

Metropolis, Rosenbluth, Teller, e Teller (1953) Simulação de sistema físico

de acordo com mecânica estatística.

Função de Gibbs-Boltzmann: e−E/(kT),

ondeE é a energia, T é a temperatura e k é uma constante.

Modelo: o sistema está num estado de energiaE

com probabilidade dada pela função de Gibbs-Boltzmann.

ParaT fixo, a função decresce comE.

(Maior a chance de estar em um estado de menor energia.)

ParaT pequeno,

estado de menor energia é mais provável que estado de energia alta.

ParaT grande, a diferença entre estas probabilidades é bem pequena.

(33)

Algoritmo Metropolis

Objetivo: chegar a um estado de energia mínima.

Algoritmo Metropolis: para um dadoT

Comece em um estadoS.

A cada iteração, gere uma perturbação pequenaS0 deS. SeE(S0)≤E(S), mude para S0.

Senão seja∆(E) =E(S0)−E(S).

SenãoMude paraS0 com probabilidadee−∆(E)/(kT). SejaZ =P

Se−E(S)/(kT).

Para um estadoS, seja fS(t) a fração dost primeiros passos da simulação em que o algoritmo passa emS.

limt→∞fS(t) = Z1 ·e−E(S)/(kT) com probabilidade indo para 1 Fica emS o tempo esperado.

(34)

Algoritmo Metropolis

Objetivo: chegar a um estado de energia mínima.

Algoritmo Metropolis: para um dadoT

Comece em um estadoS.

A cada iteração, gere uma perturbação pequenaS0 deS. SeE(S0)≤E(S), mude para S0.

Senão seja∆(E) =E(S0)−E(S).

SenãoMude paraS0 com probabilidadee−∆(E)/(kT).

SejaZ =P

Se−E(S)/(kT).

Para um estadoS, seja fS(t) a fração dost primeiros passos da simulação em que o algoritmo passa emS.

limt→∞fS(t) = Z1 ·e−E(S)/(kT) com probabilidade indo para 1 Fica emS o tempo esperado.

(35)

Algoritmo Metropolis

Objetivo: chegar a um estado de energia mínima.

Algoritmo Metropolis: para um dadoT

Comece em um estadoS.

A cada iteração, gere uma perturbação pequenaS0 deS. SeE(S0)≤E(S), mude para S0.

Senão seja∆(E) =E(S0)−E(S).

SenãoMude paraS0 com probabilidadee−∆(E)/(kT). SejaZ =P

Se−E(S)/(kT).

Para um estadoS, seja fS(t) a fração dost primeiros passos da simulação em que o algoritmo passa emS.

limt→∞fS(t) = Z1 ·e−E(S)/(kT) com probabilidade indo para 1

Fica emS o tempo esperado.

(36)

Algoritmo Metropolis

Objetivo: chegar a um estado de energia mínima.

Algoritmo Metropolis: para um dadoT

Comece em um estadoS.

A cada iteração, gere uma perturbação pequenaS0 deS. SeE(S0)≤E(S), mude para S0.

Senão seja∆(E) =E(S0)−E(S).

SenãoMude paraS0 com probabilidadee−∆(E)/(kT). SejaZ =P

Se−E(S)/(kT).

Para um estadoS, seja fS(t) a fração dost primeiros passos da simulação em que o algoritmo passa emS.

limt→∞fS(t) = Z1 ·e−E(S)/(kT) com probabilidade indo para 1 Fica emS o tempo esperado.

(37)

Metropolis para cobertura por vértices

Exemplo 1: G é estrela de centrov

Se, ao final da primeira iteração,S =S \ {v}...

com probabilidade positiva colocav de volta no S e, mais adiante, encontra a cobertura mínima! Exemplo 2: G = (V,∅)

QuandoS está grande,

tem boas chances doS diminuir. Mas quandoS fica pequeno,

tem boas chances de voltar a crescer e é difícil chegar emS =∅.

(38)

Metropolis para cobertura por vértices

Exemplo 1: G é estrela de centrov

Se, ao final da primeira iteração,S =S \ {v}...

com probabilidade positiva colocav de volta no S e, mais adiante, encontra a cobertura mínima!

Exemplo 2: G = (V,∅) QuandoS está grande,

tem boas chances doS diminuir. Mas quandoS fica pequeno,

tem boas chances de voltar a crescer e é difícil chegar emS =∅.

(39)

Metropolis para cobertura por vértices

Exemplo 1: G é estrela de centrov

Se, ao final da primeira iteração,S =S \ {v}...

com probabilidade positiva colocav de volta no S e, mais adiante, encontra a cobertura mínima!

Exemplo 2: G = (V,∅) QuandoS está grande,

tem boas chances doS diminuir.

Mas quandoS fica pequeno,

tem boas chances de voltar a crescer e é difícil chegar emS =∅.

(40)

Metropolis para cobertura por vértices

Exemplo 1: G é estrela de centrov

Se, ao final da primeira iteração,S =S \ {v}...

com probabilidade positiva colocav de volta no S e, mais adiante, encontra a cobertura mínima!

Exemplo 2: G = (V,∅) QuandoS está grande,

tem boas chances doS diminuir.

Mas quandoS fica pequeno,

tem boas chances de voltar a crescer e é difícil chegar emS =∅.

(41)

Algoritmo Metropolis

Algoritmo Metropolis: para um dadoT

Comece em um estadoS.

A cada iteração, gere uma perturbação pequenaS0 deS. SeE(S0)≤E(S), mude para S0.

Senão seja∆(E) =E(S0)−E(S).

SenãoMude paraS0 com probabilidadee−∆(E)/(kT).

Mas e a temperaturaT?

Qual é o papel e o efeito da temperatura?

(42)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições. Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo. Em geral, não tem garantia de qualidade.

Em que velocidade diminuir oT?

(43)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições. Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo. Em geral, não tem garantia de qualidade.

Em que velocidade diminuir oT?

(44)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições.

Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo. Em geral, não tem garantia de qualidade.

Em que velocidade diminuir oT?

(45)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições.

Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo.

Em geral, não tem garantia de qualidade. Em que velocidade diminuir oT?

(46)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições.

Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo.

Em geral, não tem garantia de qualidade.

Em que velocidade diminuir oT?

(47)

Simulated Annealing

De volta ao sistema físico.

Annealing:

processo de cristalização em que o material é resfriado lentamente, para atingir o estado de energia mínima.

Material em altas temperaturas não cristaliza.

Se esfria rapidamente, cristaliza com muitas imperfeições.

Simulated annealingimita este processo, ajustando as probabilidades de mudar para um estado de energia maior de acordo com um parâmetroT que diminui com o tempo.

Em geral, não tem garantia de qualidade.

Em que velocidade diminuir oT?

(48)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos. Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e. Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(49)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E

Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos. Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e. Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(50)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó

O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos. Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e. Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(51)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos.

Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e. Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(52)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos.

Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e. Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(53)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos.

Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e.

Pode não existir configuração que satisfaça todos os requisitos. Pense num triângulo com as três arestas com peso 1.

(54)

Redes neurais de Hopfield

Às vezes buscamos um ótimo local, não necessariamente global.

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó O sinal que um nó escolhe é influenciado pelo sinal de seus vizinhos.

Cada arestae representa um requisito:

se e tem peso positivo, os nós querem sinais opostos se e tem peso negativo, os nós querem ter o mesmo sinal

|we|representa a intensidade da dependência entre os extremos de e.

Pode não existir configuração que satisfaça todos os requisitos.

Pense num triângulo com as três arestas com peso 1.

(55)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó

Arestae =uv éboa seu e v respeitam seu requisito: sewe<0 entãosu =sv e se we>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0. Nóu está satisfeitose P

e boa|we|≥P

e ruim|we| Configurações estáveis: todos os nós estão satisfeitos. Sempre existe uma configuração estável?

(56)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó Arestae =uv éboa seu e v respeitam seu requisito:

sewe<0 entãosu =sv e sewe>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0. Nóu está satisfeitose P

e boa|we|≥P

e ruim|we| Configurações estáveis: todos os nós estão satisfeitos. Sempre existe uma configuração estável?

(57)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó Arestae =uv éboa seu e v respeitam seu requisito:

sewe<0 entãosu =sv e sewe>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0.

Nóu está satisfeitose P

e boa|we|≥P

e ruim|we| Configurações estáveis: todos os nós estão satisfeitos. Sempre existe uma configuração estável?

(58)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó Arestae =uv éboa seu e v respeitam seu requisito:

sewe<0 entãosu =sv e sewe>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0.

Nóu está satisfeitose P

e boa|we|≥P

e ruim|we|

Configurações estáveis: todos os nós estão satisfeitos. Sempre existe uma configuração estável?

(59)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó Arestae =uv éboa seu e v respeitam seu requisito:

sewe<0 entãosu =sv e sewe>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0.

Nóu está satisfeitose P

e boa|we|≥P

e ruim|we| Configurações estáveis: todos os nós estão satisfeitos.

Sempre existe uma configuração estável?

(60)

Redes neurais de Hopfield

Rede neural de Hopfield:

grafoG = (V,E) com peso inteiro we em cada aresta e ∈E Configuração da rede: atribuição de um sinal+ ou− para cada nó Arestae =uv éboa seu e v respeitam seu requisito:

sewe<0 entãosu =sv e sewe>0 entãosu 6=sv

Senãoe é ruim.

Em outras palavras,e é boa sse wesusv <0.

Nóu está satisfeitose P

e boa|we|≥P

e ruim|we| Configurações estáveis: todos os nós estão satisfeitos.

Sempre existe uma configuração estável?

(61)

Configurações estáveis

Configurações estáveis: todos os nós estão satisfeitos.

Por que o nome ’estável’ ?

Se um nó está insatisfeito, ele pode mudar seu sinal, e ficará satisfeito! Então numa configuração estável, nenhum nó quer mudar seu sinal. Note que, seu troca seu sinal,

então arestas boas incidentes au ficam ruins e arestas ruins tornam-se boas.

Teorema: Toda rede neural de Hopfield com n nós

tem uma configuração estável, e tal configuração pode ser encontrada em tempo polinomial emn e W =P

e|we|.

(62)

Configurações estáveis

Configurações estáveis: todos os nós estão satisfeitos.

Por que o nome ’estável’ ?

Se um nó está insatisfeito, ele pode mudar seu sinal, e ficará satisfeito!

Então numa configuração estável, nenhum nó quer mudar seu sinal. Note que, seu troca seu sinal,

então arestas boas incidentes au ficam ruins e arestas ruins tornam-se boas.

Teorema: Toda rede neural de Hopfield com n nós

tem uma configuração estável, e tal configuração pode ser encontrada em tempo polinomial emn e W =P

e|we|.

(63)

Configurações estáveis

Configurações estáveis: todos os nós estão satisfeitos.

Por que o nome ’estável’ ?

Se um nó está insatisfeito, ele pode mudar seu sinal, e ficará satisfeito!

Então numa configuração estável, nenhum nó quer mudar seu sinal.

Note que, seu troca seu sinal,

então arestas boas incidentes au ficam ruins e arestas ruins tornam-se boas.

Teorema: Toda rede neural de Hopfield com n nós

tem uma configuração estável, e tal configuração pode ser encontrada em tempo polinomial emn e W =P

e|we|.

(64)

Configurações estáveis

Configurações estáveis: todos os nós estão satisfeitos.

Por que o nome ’estável’ ?

Se um nó está insatisfeito, ele pode mudar seu sinal, e ficará satisfeito!

Então numa configuração estável, nenhum nó quer mudar seu sinal.

Note que, seu troca seu sinal,

então arestas boas incidentes au ficam ruins e arestas ruins tornam-se boas.

Teorema: Toda rede neural de Hopfield com n nós

tem uma configuração estável, e tal configuração pode ser encontrada em tempo polinomial emn e W =P

e|we|.

(65)

Configurações estáveis

Configurações estáveis: todos os nós estão satisfeitos.

Por que o nome ’estável’ ?

Se um nó está insatisfeito, ele pode mudar seu sinal, e ficará satisfeito!

Então numa configuração estável, nenhum nó quer mudar seu sinal.

Note que, seu troca seu sinal,

então arestas boas incidentes au ficam ruins e arestas ruins tornam-se boas.

Teorema: Toda rede neural de Hopfield com n nós

tem uma configuração estável, e tal configuração pode ser encontrada em tempo polinomial emn e W =P

e|we|.

(66)

Aula que vem: dois exemplos

I Redes neurais de Hopfield:

Prova do teorema anterior usando busca local.

I Problema do corte máximo:

Um algoritmo de aproximação que usa busca local.

Referências

Documentos relacionados

Com o intuito de aperfeic¸oar a realizac¸˜ao da pesquisa O/D, o objetivo do presente trabalho ´e criar um aplicativo para que os usu´arios do transporte p´ublico informem sua origem

A proposta desta pesquisa objetivou desenvolver o estudante para realizar a percepção sobre o estudo da complexidade do corpo humano, onde o educando teve oportunidade

O trabalho tem como objetivo elucidar a importância do brincar para as crianças, do contato delas com a natureza, de sua ação de ocupar espaços públicos na cidade, como praças e

Raichelis 1997 apresenta cinco categorias que na sua concepção devem orientar a análise de uma esfera pública tal como são os conselhos: a visibilidade social, na qual, as ações e

Neste capítulo, será apresentada a Gestão Pública no município de Telêmaco Borba e a Instituição Privada de Ensino, onde será descrito como ocorre à relação entre

Derivaram de ações capazes de interferir no dimensionamento desta unidade, especialmente que atuassem sobre as vazões e qualidades de água a demandar e

Para preparar a pimenta branca, as espigas são colhidas quando os frutos apresentam a coloração amarelada ou vermelha. As espigas são colocadas em sacos de plástico trançado sem

O lúdico tem sido utilizado como instrumento educacional desde a pré-história onde o homem primitivo se utilizava de rituais, que muito se assemelham as brincadeiras de