Zastosowanie sieci rekurencyjnych w optymalizacji grafowej

Transkrypt

Zastosowanie sieci rekurencyjnych w optymalizacji grafowej
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Wstęp do sieci neuronowych, wykład 11
Wykorzystanie sieci rekurencyjnych w optymalizacji
grafowej
Maja Czoków, Jarosław Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2011-12-20
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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 —
podobnie jak wagi są to wartości
ustalone w trakcie procesu
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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:
E (σ̄) = −
X
1X
wij σi σj −
hi σi
2
i6=j
M. Czoków, J. Piersa
i
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Sieci Hopfielda
Dynamika Glaubera
Losujemy neuron σi ,
Przypisujemy
σi = sign(
X
wij σj + hi )
j
Powtarzamy 1 i 2 aż do ustabilizowania się sytuacji.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Sieci Hopfielda
Dynamika Little’a
Alternatywne sformułowanie:
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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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:
Chcemy podzielić V na dwa rozłączne podzbiory i równoliczne
V = U1 ∪ U2 , takie że sumaryczna waga krawędzi pomiędzy U1 a U2
będzie jak najmniejsza.
Krawędzie w obrębie jednej klasy (tj. z U1 do U1 oraz z U2 do U2 )
traktujemy jako darmowe.
X
v ((u, v )) → min
(u,v )∈E:u∈U1 ,v ∈U2
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Dwupodział Grafu
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Konfiguracja sieci
Oznaczmy:
spin neuronu σi = +1 —
przynależność do zbioru U1 ,
spin σi = −1 — do U2 .
Taka konfiguracja spinów
jednoznacznie odpowiada
podziałowi V na dwa rozłączne
podzbiory.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik optymalizujący energii:
E1 (σ̄) = −
X
σi σj v (ij)
i6=j
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik optymalizujący energii:
E1 (σ̄) = −
X
σi σj v (ij)
i6=j
Składnik penalizujący energii:
!2
2
E2 (σ̄) = (|U1 | − |U2 |) =
X
σi
i
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Energia
E (σ̄) = c1 E1 + c2 E2
Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić:
c1 E1 ' c2 E2 .
W efekcie:
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Energia
E (σ̄) = c1 E1 + c2 E2
Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić:
c1 E1 ' c2 E2 .
W efekcie:




X
X
X
E (σ̄) = −c1 
σi σj v ((i, j)) + c2 
σi σj +
σi2 
i6=j
M. Czoków, J. Piersa
i6=j
WSN 2011/2012 Wykład 11
i
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Energia
E (σ̄) = c1 E1 + c2 E2
Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić:
c1 E1 ' c2 E2 .
W efekcie:




X
X
X
E (σ̄) = −c1 
σi σj v ((i, j)) + c2 
σi σj +
σi2 
i6=j
M. Czoków, J. Piersa
i6=j
WSN 2011/2012 Wykład 11
i
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Energia
E (σ̄) = c1 E1 + c2 E2
Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić:
c1 E1 ' c2 E2 .
W efekcie:




X
X
X
E (σ̄) = −c1 
σi σj v ((i, j)) + c2 
σi σj +
σi2 
i6=j
E (σ̄) = −
i6=j
1X
σi σj 2 (c1 · v (i, j) − c2 )
2
i6=j
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
i
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Kolorowanie wierzchołkowe
Problem:
Dany jest graf G = (V, E) oraz k kolorów {1, .., k}. Zakładamy, że
graf jest planarny, co za tym idzie k ≤ 4.
Cel:
Chcemy każdemu z wierzchołków v ∈ V przypisać jeden z k kolorów,
tj. znaleźć funkcję F : V → {1, .., k}, tak aby sąsiadujące wierzchołki
otrzymały różny kolor.
∀(u,v )∈E F (u) 6= F (v )
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Konfiguracja sieci
sieć liczy N = k|V| neuronów indeksowanych podwójnym
oznaczeniem σiα ,
i — numere wierzchołka w grafie, α — numer koloru,
Niech σiα ∈ {0, +1},
σiα = +1 — wierzchołek i ma przypisany kolor α,
σiα = 0 — wierzchołek i nie ma przypisanego koloru α,
konfiguracja dopuszcza przypisanie wierzchołkom więcej niż
jednego koloru jednocześnie.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Konfiguracja sieci
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Oznaczmy
vij =
+1 (i, j) ∈ E
0
wpw
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Oznaczmy
vij =
δαβ
+1 (i, j) ∈ E
0
wpw
+1 α = β
=
0
wpw
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Oznaczmy
vij =
δαβ
+1 (i, j) ∈ E
0
wpw
+1 α = β
=
0
wpw
Składnik optymalizujący energii:
XX
E1 (σ̄) = c1
vij · σiα · σjβ · δαβ
i6=j α,β
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Oznaczmy
vij =
δαβ
+1 (i, j) ∈ E
0
wpw
+1 α = β
=
0
wpw
Składnik optymalizujący energii:
XX
E1 (σ̄) = c1
vij · σiα · σjβ · δαβ
i6=j α,β
E1 (σ̄) = −
1 X
−2c1 vij · δαβ · σiα · σjβ
2
i,j,α,β
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X
i
M. Czoków, J. Piersa
−1 +
X
σiα
α
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X
−1 +
X
σiα
α
i

E2 (σ̄) = c2
X
i
1 − 2

X
α
M. Czoków, J. Piersa
σiα +
X
σiα σiβ +
X
α6=β
WSN 2011/2012 Wykład 11
α
2 
σiα
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X
−1 +
X
σiα
α
i

E2 (σ̄) = c2
X

1 − 2
X
σiα +
α
i
X
σiα σiβ +
X
α
α6=β

= c 2 N −

XX
i
α
M. Czoków, J. Piersa
σiα +
XX
i
σiα σiβ 
α6=β
WSN 2011/2012 Wykład 11
2 
σiα
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Energia sieci
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X
X
−1 +
σiα
α
i

E2 (σ̄) = c2
X

1 − 2
X
σiα +
α
i
X
σiα σiβ +
X
α
α6=β


= c 2 N −
XX
i
σiα +
XX
α
i
σiα σiβ 
α6=β


= c2 N −
X
σiα +
iα
M. Czoków, J. Piersa
X
j
δij
XX
i
σiα σiβ 
α6=β
WSN 2011/2012 Wykład 11
2 
σiα
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:


X
X
c2
σiα + 2
δij (1 − δαβ )σiα σiβ 
E2 (σ̄) = − −2
2
iα
M. Czoków, J. Piersa
ijαβ
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:


X
X
c2
σiα + 2
δij (1 − δαβ )σiα σiβ 
E2 (σ̄) = − −2
2
iα
ijαβ
E = E1 + E2
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik penalizujący energii:


X
X
c2
σiα + 2
δij (1 − δαβ )σiα σiβ 
E2 (σ̄) = − −2
2
iα
ijαβ
E = E1 + E2
E (σ̄) = −
X
1 X
(−2c1 vij δαβ − 2c2 δij (1 − δαβ ))σiα σjβ +
σiα c2
2
iα
i,j,α,β
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Wagi
Otrzymujemy zależności na wagi
wijαβ = −2c1 vij δαβ − 2c2 δij (1−δαβ )
oraz pola zewnętrzne
hiα = c2
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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 (uw ) ∈
/ E, to jej waga jest duża v ((uw )) N · maxe∈E v (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
X
v ((uτ (i) uτ (i+1) )) + v (uτN uτ1 ) → min
i=1
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Konfiguracja sieci
sieć składa się z N 2 = |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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Cykl Hammiltona
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
Składnik optymalizujący energii:
XX
vij · (δµ,ν−1 + δµ−1,ν ) · σiµ σjν
E1 (σ̄) = c1
iµ
jν
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Energia sieci
Składnik optymalizujący energii:
XX
vij · (δµ,ν−1 + δµ−1,ν ) · σiµ σjν
E1 (σ̄) = c1
iµ
jν
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X X
µ
σiµ − 1
i
M. Czoków, J. Piersa
!2
+ c2
X X
i
σiµ − 1
µ
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
P P 2
P
P
c2 µ
σ
+
σ
σ
−
2
σ
+
1
iµ
jµ
iµ
i iµ
i6=j
i
P
P
P P 2
σ
+
σ
σ
−
2
σ
+
1
+ c2 i
iµ
iν
iµ
µ iµ
µ6=ν
µ
E2 (σ̄) =
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
P P 2
P
P
c2 µ
σ
+
σ
σ
−
2
σ
+
1
iµ
jµ
iµ
i iµ
i6=j
i
P
P
P P 2
σ
+
σ
σ
−
2
σ
+
1
+ c2 i
iµ
iν
iµ
µ iµ
µ6=ν
µ
E2 (σ̄) =
P
P
P
E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ
P
P
P
+ c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
P P 2
P
P
c2 µ
σ
+
σ
σ
−
2
σ
+
1
iµ
jµ
iµ
i iµ
i6=j
i
P
P
P P 2
σ
+
σ
σ
−
2
σ
+
1
+ c2 i
iµ
iν
iµ
µ iµ
µ6=ν
µ
E2 (σ̄) =
P
P
P
E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ
P
P
P
+ c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
P P 2
P
P
c2 µ
σ
+
σ
σ
−
2
σ
+
1
iµ
jµ
iµ
i iµ
i6=j
i
P
P
P P 2
σ
+
σ
σ
−
2
σ
+
1
+ c2 i
iµ
iν
iµ
µ iµ
µ6=ν
µ
E2 (σ̄) =
P
P
P
E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ
P
P
P
+ c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ
E2 (σ̄) = c2
X
(δµν (1 − δij ) + δij (1 − δµν )) σiµ σjν − 2c2
ijµν
X
iµ
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
σiµ
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Energia sieci
E (σ̄) = −
1X
σiµ σjν · (−c2 (δµν (1 − δij ) + δij (1 − δµν ))−
2
ijµν
−c1 vij (δµ,ν−1 + δµ−1,ν )) − c2
X
σiµ
iµ
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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 − δµν )) − c1 vij (δµ,ν−1 + δµ−1,ν ))
oraz na pola zewnętrzne
hiµ = c2
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
vi,τi → min
i
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Konfiguracja sieci
sieć liczy N 2 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 α,
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
viα σiα
iα
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Dwupodział grafu
Kolorowanie wierzchołkowe
Cykl Hammiltona
Przydział zadań
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Energia sieci
Składnik optymalizujący energii:
E1 (σ̄) = c1
X
viα σiα
iα
Składnik penalizujący energii:
!2
E2 (σ̄) = c2
X X
α
σiα − 1
i
M. Czoków, J. Piersa
!2
+ c2
X X
i
σiα − 1
α
WSN 2011/2012 Wykład 11
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):
X
X
E2 (σ̄) = c2
(δαβ (1 − δij ) + δij (1 − δαβ )) σiα σjβ − 2c2
σiα
iα
ijαβ
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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 − c1 viα
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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 N 2 = 104 neuronów,
Ilość krawędzi synaptycznych (N 2 )2 = 108 ,
Tablica float-ów (4B) — 400MB na sieć...
Wagi są symetryczne wijαβ = wjiβα , więc tablice dynamiczne
redukują o połowę.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowa
Dynamika stochastyczna
Jak oszczędzić?
Wagi w autoasocjatorze Hopfielda:
P
1 X µ µ
wij = −
ξi ξj ,
N
µ=1
µ µ
µ=1 ξi ξj ∈ −P, ..., +P,
N 2 , więc 1B wystarczy
PP
P
na 127 wzorców,
zamiast tablicy wag przetrzymujemy P N 2 tablic z wzorcami
uczącymi,
wymaga to PN 2 = 100 · 10000(·4B) = 4MB (za cenę liczenia
wag za każdym razem).
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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αβ = −2c1 vij δαβ − 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 N 2 · 4B = 40kB
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
Przypomnienie
Sieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowa
Dynamika stochastyczna
Dynamika stochastyczna
1
2
Rozpoczynamy ze startowego lub losowego układu spinów σ̄,
Powtarzamy wielokrotnie:
1
2
3
Próbujemy zmienić spin losowo wybranej jednostki,
Jeżeli redukuje to energię, to przyjmujemy tą zmianę,
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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11
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.
M. Czoków, J. Piersa
WSN 2011/2012 Wykład 11