• Nie Znaleziono Wyników

2013-12-17 MajaCzoków,JarosławPiersa Wstępdosiecineuronowych,wykład12Wykorzystaniesiecirekurencyjnychwoptymalizacjigrafowej

N/A
N/A
Protected

Academic year: 2021

Share "2013-12-17 MajaCzoków,JarosławPiersa Wstępdosiecineuronowych,wykład12Wykorzystaniesiecirekurencyjnychwoptymalizacjigrafowej"

Copied!
61
0
0

Pełen tekst

(1)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji

grafowej

Maja Czoków, Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2013-12-17

Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”

realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki

(2)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

1 Przypomnienie Sieci Hopfielda

2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu

Kolorowanie wierzchołkowe Cykl Hammiltona

Przydział zadań

3 Uwagi

Złożoność pamięciowa Dynamika stochastyczna

(3)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Sieci Hopfielda

1 Przypomnienie Sieci Hopfielda

2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu

Kolorowanie wierzchołkowe Cykl Hammiltona

Przydział zadań

3 Uwagi

Złożoność pamięciowa Dynamika stochastyczna

(4)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Sieci Hopfielda

Model sieci rekurencyjnej

każda jednostka ma przypisany swój spin σi ∈ {−1, +1} — jest to aktualna aktywacja neuronu i , która może się zmieniać podczas dynamiki,

połączenia synaptyczne mają przypisane wagi wij = wji ∈ R, przyjmujemy wii = 0,

jeżeli krawędzi nie ma w grafie, to przyjmujemy w = 0,

ponadto neurony otrzymują swoje pole zewnętrzne hi ∈ R —

(5)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Sieci Hopfielda

Energia sieci

Określmy energię sieci zależną od bieżącej konfiguracji spinów neuronów:

energia

E (¯σ) = −1 2

X

i 6=j

wijσiσj −X

i

hiσi

(6)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Sieci Hopfielda

Dynamika Glaubera

Losujemy neuron σi, Przypisujemy

σi = sign(X

j

wijσj + hi )

Powtarzamy 1 i 2 aż do ustabilizowania się sytuacji.

(7)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Sieci Hopfielda

Dynamika Little’a

Rozpoczynamy z losowego ¯σ0 Powtarzamy wielokrotnie:

Przypisujemy

¯

σt+1:= sign(W · ¯σt+ ¯h)

gdzie W = [wij]i ,j =1..N — macierz wag,

¯h — wektor pól zewnętrznych,

¯

σt — wektor spinów w t-tym kroku.

(8)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

1 Przypomnienie Sieci Hopfielda

2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu

Kolorowanie wierzchołkowe Cykl Hammiltona

Przydział zadań

3 Uwagi

Złożoność pamięciowa Dynamika stochastyczna

(9)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Dwupodział Grafu

Problem:

Dany jest graf ważony G = (V, E ), v : E → R≥0. Cel:

Podzielić V na dwa podzbiory V = U1∪ U2, takie że sumaryczna waga krawędzi pomiędzy U1 a U2 będzie minimalna.

Krawędzie w obrębie jednej klasy (z U1 do U1 oraz z U2 do U2) są darmowe.

X

(u,v )∈E:u∈U1,v ∈U2

v ((u, v )) → min

(10)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Dwupodział Grafu

(11)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Konfiguracja sieci

Oznaczenia:

spin neuronu σi = +1:

przynależność do zbioru U1, vi ∈ U1,

spin σi = −1: vi ∈ U2. konfiguracjasigma¯ jednoznacznie odpowiada podziałowi V na dwa podzbiory.

(12)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący:

E1(¯σ) = −X

i 6=j

σiσjv (ij )

Składnik penalizujący:

E2σ) = (|U1| − |U2|)2 = X

i

σi

!2

Pomiń obliczenia

(13)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący:

E1(¯σ) = −X

i 6=j

σiσjv (ij )

Składnik penalizujący:

E2σ) = (|U1| − |U2|)2 = X

i

σi

!2

Pomiń obliczenia

(14)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić: c1E1 ' c2E2.

W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj+X

i

σ2i

ponieważ P

iσi2=P

i1 = const E (¯σ) = −1

2 X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(15)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:

c1E1 ' c2E2. W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj+X

i

σ2i

ponieważ P

iσi2=P

i1 = const E (¯σ) = −1

2 X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(16)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:

c1E1 ' c2E2. W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj +X

i

σ2i

ponieważ P

iσi2=P

i1 = const E (¯σ) = −1

2 X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(17)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:

c1E1 ' c2E2. W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj+X

i

σ2i

ponieważ P

iσi2=P

i1 = const E (¯σ) = −1

2 X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(18)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:

c1E1 ' c2E2. W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj+X

i

σ2i

ponieważ P

iσi2=P

i1 = const

E (¯σ) = −1 2

X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(19)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Energia

E (¯σ) = c1E1+ c2E2

Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:

c1E1 ' c2E2. W efekcie:

E (¯σ) = −c1

 X

i 6=j

σiσjv (i , j )

+ c2

 X

i 6=j

σiσj+X

i

σ2i

ponieważ P

iσi2=P

i1 = const E (¯σ) = −1

2 X

i 6=j

σiσj 2 (c1· v (i , j) − c2)

(20)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Wagi

Otrzymujemy zależności na:

wagi

wij = 2 (c1· v (i , j) − c2)

oraz

pola zewnętrzne

hi = 0

(21)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Kolorowanie wierzchołkowe

Problem:

Dany graf G = (V, E ) oraz k kolorów {1, .., k}.

Cel:

Chcemy każdemu z wierzchołków v ∈ V przypisać jeden z k kolorów, tak aby sąsiadujące wierzchołki otrzymały różne kolorowania. Tzn.

znaleźć funkcję F : V → {1, .., k} spełniającą:

(u,v )∈EF (u) 6= F (v ) Jeżeli graf jest planarny, to k ≤ 4.

(22)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Konfiguracja sieci

N = k|V| neuronów, indeksowanych podwójnym oznaczeniem σi α,

i — numer wierzchołka w grafie, α — numer koloru, σi α ∈ {0, +1},

σi α = +1 — wierzchołek i ma przypisany kolor α, σi α = 0 — wierzchołek i nie ma przypisanego koloru α, konfiguracja dopuszcza przypisanie więcej niż jednego koloru jednocześnie.

(23)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Konfiguracja sieci

(24)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Pomiń obliczenia

Oznaczmy

vij =

 +1 (i , j ) ∈ E

0 wpw

δαβ =

 +1 α = β

0 wpw

Składnik optymalizujący energii: E1σ) = c1

X

i 6=j

X

α,β

vij · σi α· σj β· δαβ

E1(¯σ) = −1 2

X

i ,j ,α,β

−2c1vij · δαβ· σi α· σj β

(25)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Pomiń obliczenia

Oznaczmy

vij =

 +1 (i , j ) ∈ E

0 wpw

δαβ =

 +1 α = β

0 wpw

Składnik optymalizujący energii: E1σ) = c1

X

i 6=j

X

α,β

vij · σi α· σj β· δαβ

E1(¯σ) = −1 2

X

i ,j ,α,β

−2c1vij · δαβ· σi α· σj β

(26)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Pomiń obliczenia

Oznaczmy

vij =

 +1 (i , j ) ∈ E

0 wpw

δαβ =

 +1 α = β

0 wpw

Składnik optymalizujący energii: E1σ) = c1

X

i 6=j

X

α,β

vij · σi α· σj β· δαβ

E1(¯σ) = −1 2

X

i ,j ,α,β

−2c1vij · δαβ· σi α· σj β

(27)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Pomiń obliczenia

Oznaczmy

vij =

 +1 (i , j ) ∈ E

0 wpw

δαβ =

 +1 α = β

0 wpw

Składnik optymalizujący energii:

E1σ) = c1

X

i 6=j

X

α,β

vij · σi α· σj β· δαβ

E1(¯σ) = −1 2

X

i ,j ,α,β

−2c1vij · δαβ· σi α· σj β

(28)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Pomiń obliczenia

Oznaczmy

vij =

 +1 (i , j ) ∈ E

0 wpw

δαβ =

 +1 α = β

0 wpw

Składnik optymalizujący energii:

E1σ) = c1

X

i 6=j

X

α,β

vij · σi α· σj β· δαβ

E (¯σ) = −1 X

−2c v · δ · σ · σ

(29)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2σ) = c2X

i

−1 +X

α

σi α

!2

E2σ) = c2

X

i

1 − 2X

α

σi α+X

α6=β

σi ασi β+ X

α

σ2i α

= c2

N −X

i

X

α

σi α+X

i

X

α6=β

σi ασi β

= c2

N−X

i α

σi α+ X

j

δij

X

i

X

α6=β

σi ασi β

(30)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2σ) = c2X

i

−1 +X

α

σi α

!2

E2σ) = c2

X

i

1 −2X

α

σi α+X

α6=β

σi ασi β+ X

α

σ2i α

= c2

N −X

i

X

α

σi α+X

i

X

α6=β

σi ασi β

= c2

N−X

i α

σi α+ X

j

δij

X

i

X

α6=β

σi ασi β

(31)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2σ) = c2X

i

−1 +X

α

σi α

!2

E2σ) = c2

X

i

1 − 2X

α

σi α+X

α6=β

σi ασi β+ X

α

σ2i α

= c2

N −X

i

X

α

σi α+X

i

X

α6=β

σi ασi β

= c2

N−X

i α

σi α+ X

j

δij

X

i

X

α6=β

σi ασi β

(32)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2σ) = c2X

i

−1 +X

α

σi α

!2

E2σ) = c2

X

i

1 − 2X

α

σi α+X

α6=β

σi ασi β+ X

α

σ2i α

= c2

N −X

i

X

α

σi α+X

i

X

α6=β

σi ασi β

X X XX

(33)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2(¯σ) = −c2

2

−2X

i α

σi α+ 2X

ij αβ

δij(1 − δαβi ασi β

E = E1+ E2

E (¯σ) = −1 2

X

i ,j ,α,β

(−2c1vijδαβ − 2c2δij(1 − δαβ))σi ασj β+X

i α

σi αc2

(34)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2(¯σ) = −c2

2

−2X

i α

σi α+ 2X

ij αβ

δij(1 − δαβi ασi β

E = E1+ E2

E (¯σ) = −1 2

X

i ,j ,α,β

(−2c1vijδαβ − 2c2δij(1 − δαβ))σi ασj β+X

i α

σi αc2

(35)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik penalizujący energii:

E2(¯σ) = −c2

2

−2X

i α

σi α+ 2X

ij αβ

δij(1 − δαβi ασi β

E = E1+ E2

E (¯σ) = −1 2

X

i ,j ,α,β

(−2c1vijδαβ− 2c2δij(1 − δαβ))σi ασj β+X

i α

σi αc2

(36)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Wagi

Otrzymujemy zależności na:

wagi

wij αβ = −2c1vijδαβ − 2c2δij(1 − δαβ)

oraz

pola zewnętrzne

hi α= c2

(37)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Cykl Hammiltona

Problem:

Dany jest graf ważony G = (V, E ) oraz wagi krawędzi v : V × V → R.

Jeżeli (u1u2) /∈ E, to jej waga jest duża v ((u1u2))  N · maxe∈Ev (e).

Cel:

Chcemy znaleźć kolejność wierzchołków (permutację τ ∈ SN), taką by odwiedzenie wierzchołków w jej kolejności, dało minimalny koszt.

N−1

X

i =1

v ((uτ (i )uτ (i +1))) + v (uτNuτ1) → min

(38)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Konfiguracja sieci

sieć składa się z N2= |V|2 neuronów indeksowanych podwójnym oznaczeniem σi µ,

σi µ= +1 — µ-tym elementem cyklu jest wierzchołek vi, σi µ= 0 — że wierzchołek vi nie został odwiedzony w kroku µ-tym cyklu,

konfiguracja ¯σ dopuszcza sytuacje, w których jakiś wierzchołek może być odwiedzony więcej niż raz,

dopuszamy też odwiedzenie dwóch lub więcej wierzchołków na raz.

(39)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Cykl Hammiltona

(40)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący energii:

E1σ) = c1

X

i µ

X

j ν

vij · (δµ,ν−1+ δµ−1,ν) · σi µσj ν

Składnik penalizujący energii:

E2σ) = c2

X

µ

X

i

σi µ− 1

!2

+ c2

X

i

X

µ

σi µ− 1

!2

Pomiń obliczenia

(41)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący energii:

E1σ) = c1

X

i µ

X

j ν

vij · (δµ,ν−1+ δµ−1,ν) · σi µσj ν

Składnik penalizujący energii:

E2σ) = c2

X

µ

X

i

σi µ− 1

!2

+ c2

X

i

X

µ

σi µ− 1

!2

Pomiń obliczenia

(42)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

E2(¯σ) = c2P

µ

P

iσi µ2 +P

i 6=jσi µσj µ− 2P

iσi µ+1 + c2P

i

P

µσi µ2 +P

µ6=νσi µσi ν − 2P

µσi µ+1



E2(¯σ) = c2P

µνδµνP

ij(1 − δiji µσj ν− c2P

i µσi µ + c2P

i ,jδijP

µν(1 − δµνi µσj ν− c2P

i µσi µ

E2σ) = c2

X

ij µν

µν(1 − δij) + δij(1 − δµν)) σi µσj ν− 2c2X

i µ

σi µ

(43)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

E2(¯σ) = c2P

µ

P

iσi µ2 +P

i 6=jσi µσj µ− 2P

iσi µ+1 + c2P

i

P

µσi µ2 +P

µ6=νσi µσi ν − 2P

µσi µ+1



E2(¯σ) = c2P

µνδµνP

ij(1 − δiji µσj ν− c2P

i µσi µ + c2P

i ,jδijP

µν(1 − δµνi µσj ν− c2P

i µσi µ

E2σ) = c2

X

ij µν

µν(1 − δij) + δij(1 − δµν)) σi µσj ν− 2c2X

i µ

σi µ

(44)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

E2(¯σ) = c2P

µ

P

iσi µ2 +P

i 6=jσi µσj µ− 2P

iσi µ+1 + c2P

i

P

µσi µ2 +P

µ6=νσi µσi ν − 2P

µσi µ+1



E2(¯σ) = c2P

µνδµνP

ij(1 − δiji µσj ν− c2P

i µσi µ + c2P

i ,jδijP

µν(1 − δµνi µσj ν− c2P

i µσi µ

E2σ) = c2

X

ij µν

µν(1 − δij) + δij(1 − δµν)) σi µσj ν− 2c2X

i µ

σi µ

(45)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

E2(¯σ) = c2P

µ

P

iσi µ2 +P

i 6=jσi µσj µ− 2P

iσi µ+1 + c2P

i

P

µσi µ2 +P

µ6=νσi µσi ν − 2P

µσi µ+1



E2(¯σ) = c2P

µνδµνP

ij(1 − δiji µσj ν− c2P

i µσi µ + c2P

i ,jδijP

µν(1 − δµνi µσj ν− c2P

i µσi µ

E2σ) = c2

X

ij µν

µν(1 − δij) + δij(1 − δµν)) σi µσj ν− 2c2X

i µ

σi µ

(46)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

E (¯σ) = −1 2

X

ij µν

σi µσj ν· (−c2µν(1 − δij) + δij(1 − δµν))−

−c1vijµ,ν−1+ δµ−1,ν)) − c2X

i µ

σi µ

(47)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Wagi

Otrzymujemy zależności na:

wagi

wij µν = −c2µν(1 − δij) + δij(1 − δµν)) − c1vijµ,ν−1+ δµ−1,ν))

oraz na

pola zewnętrzne

hi µ= c2

(48)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Przydział zadań

Problem:

Danych jest N zadań oraz N wykonawców. Koszt wykonania zadania α przez wykonawcę i wynosi vi α, gdzie i , α = 1..N.

Cel:

Chcemy przyporządkować zadania wykonawcom tak, aby każde zadanie zostało wykonane oraz każdy wykonawca wykonał zadanie.

Szukamy najtańszego przydziału (permutacji τ ∈ SN):

X

i

vi ,τi → min

(49)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Konfiguracja sieci

sieć liczy N2 neuronów indeksowanych podwójnym oznaczeniem σi α,

i — numer pracy, α — numer wykonawcy, Niech σi α ∈ {0, +1},

σi α = +1 — zadanie i wykonuje pracownik α, σi α = 0 — zadania i nie wykonuje pracownik α,

(50)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący energii:

E1σ) = c1X

i α

vi ασi α

Składnik penalizujący energii:

E2σ) = c2

X

α

X

i

σi α− 1

!2

+ c2

X

i

X

α

σi α− 1

!2

(51)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Składnik optymalizujący energii:

E1σ) = c1X

i α

vi ασi α

Składnik penalizujący energii:

E2σ) = c2

X

α

X

i

σi α− 1

!2

+ c2

X

i

X

α

σi α− 1

!2

(52)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Energia sieci

Po przeliczeniach (analogicznie jak przy cyklu Hammiltona):

E2σ) = c2X

ij αβ

αβ(1 − δij) + δij(1 − δαβ)) σi ασj β− 2c2X

i α

σi α

(53)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań

Wagi

Zależności na:

wagi

wij αβ = −2c2αβ(1 − δij) + δij(1 − δαβ))

oraz na

pola zewnętrzne

hi α = 2c2− c1vi α

(54)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

1 Przypomnienie Sieci Hopfielda

2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu

Kolorowanie wierzchołkowe Cykl Hammiltona

Przydział zadań

3 Uwagi

Złożoność pamięciowa Dynamika stochastyczna

(55)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Reprezentacja naiwna

int N=100;

float wagi[N][N][N][N];

Niech |V| = N = 100,

Sieć liczy N2 = 104 neuronów,

Ilość krawędzi synaptycznych (N2)2 = 108, Tablica float-ów (4B) — 400MB na sieć...

Wagi są symetryczne wij αβ= wji βα, więc tablice dynamiczne redukują o połowę.

(56)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Jak oszczędzić?

Wagi w autoasocjatorze Hopfielda:

wij = −1 N

P

X

µ=1

ξiµξjµ,

PP

µ=1ξµi ξjµ∈ −P, ..., +P,

P  N2, więc 1B wystarczy na 127 wzorców,

zamiast tablicy wag przetrzymujemy P  N2 tablic z wzorcami uczącymi,

wymaga to PN2= 100 · 10000(·4B) = 4MB (za cenę liczenia

(57)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Jak oszczędzić?

Wagi w problemie kolorowania wierzchołków:

wij αβ= −2c1vijδαβ − 2c2δij(1 − δαβ) c1 i c2 są stałe,

δαβ, δij ∈ {0, 1} i można je policzyć w czasie stałym, vij jest jedyną informacją, którą trzeba przechować, tablica (symetryczna) v zajmie N2· 4B = 40kB

(58)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Dynamika stochastyczna

1 Rozpoczynamy ze startowego lub losowego układu spinów ¯σ,

2 Powtarzamy wielokrotnie:

1 Próbujemy zmienić spin losowo wybranej jednostki,

2 Jeżeli redukuje to energię, to przyjmujemy tą zmianę,

3 Jeżeli zwiększa to energię o ∆E , to przyjmujemy zmianę z prawdopodobieństwem

P = exp(−β∆E )

i odrzucamy z komplementarnym. β > 0 jest temperaturą odwrotną i rośnie w trakcie dynamiki.

(59)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Ewolucja sieci Hopfielda w wysokiej temperaturze

Uwaga. Animacja jest znacznie przyśpieszona i może powodować zmęczenie wzroku!

click

(60)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Ewolucja sieci Hopfielda w niskiej temperaturze

Uwaga. Animacja jest znacznie przyśpieszona i może powodować zmęczenie wzroku!

click

(61)

Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi

Złożoność pamięciowa Dynamika stochastyczna

Zadania

Przedstaw sposób kodowania problemu grafowego (dwupodział, kolorowanie, cykl Hammiltona) na konfigurację sieci neuronowej.

Zaimplementuj sieć neuronową do rozwiązywania problemu grafowego (jeden z powyższych).

Przemodeluj reprezentację, aby sieć mogła pracować na większych danych.

Zapoznaj się z zagadnieniem symulowanego wyżarzania (simmulated annealing). Dodaj ten mechanizm do implementacji.

Cytaty

Powiązane dokumenty

To zadanie może być bardzo łatwe, jeżeli jest rozwiązywane na poziomie reprezentacji za pomocą liczmanów, poprzez zastosowa- nie odpowiedniej manipulacji.. Wystarczy

X Możliwe jest zaproponowanie ciągłego kodowania problemu (dynamicznej) marszrutyzacji, umożliwiającego zastosowanie dowolnych populacyjnych algorytmów optymalizacji ciągłej

Opracowana metoda odwrotna zastosowana została do odtworzenia nieustalo- nego pola temperatury w przekroju kolektora na podstawie zmierzonych prze- biegów temperatury

2 Algorytmy konstrukcyjne Algorytm wieżowy Algorytm piramidalny Algorytm kafelkowy Algorytm upstart.. 3 Podsumowanie wykładu Zadania

Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi

2 Algorytmy konstrukcyjne Algorytm wieżowy Algorytm piramidalny Algorytm kafelkowy Algorytm upstart.. 3 Podsumowanie wykładu Zadania

Generalizacja jest zdolnością sieci do porawnej klasyfikacji danych, na których sieć nie była uczona....

(Egz) Przedstaw sposób kodowania problemu optymalizacyjnego (dwupodział, kolorowanie, cykl Hammiltona, przydział zadań) na konfigurację sieci neuronowej.. Przemodeluj reprezentację,