Slajdy prezentowane na ćwiczeniach

Transkrypt

Slajdy prezentowane na ćwiczeniach
Obliczenia z wykorzystaniem metod
sztucznej inteligencji
River Formation Dynamics
Bartosz Rejman, 2016
Geneza - idea
●
●
Alternatywa do algorytmu mrówkowego (ACO).
Bazuje na idei erozji ziemi oraz gromadzenia
osadu poprzez które tworzą się rzeki.
Geneza - autorzy
●
Using River Formation Dynamics to Design
Heuristic Algorithms (2007)
●
Pablo Rabanal
●
Ismael Rodriguez
●
Fernando Rubio
●
Uniwersytet Madrycki (UCM)
Algorytm - sposób działania
●
●
Krople 'spływają' w kierunku rozwiązania,
modyfikując ukształtowanie terenu.
Im bardziej stromy (średni) spadek w kierunku
rozwiązania, tym lepsza ścieżka.
Algorytm - pseudokod
initializeDrops()
initializeNodes()
while (not allDropsFollowTheSamePath()) and
(not otherEndingCondition())
moveDrops()
erodePaths()
depositSediments()
analyzePaths()
end while
Algorytm - pseudokod
moveDrops()
{
decreasingGradient (i , j)
if j∈V k (i )
P k (i , j)= ∑ decreasingGradient (i , l)
l ∈V k (i )
0
decreasingGradient (i , j )=
if j∉V k (i )
altitude ( j)−altitude (i)
distance(i , j)
Algorytm - pseudokod
moveDrops()
P (d )=
1
notClimbingFactor
{
decreasingGradient (i , j )
if j ∈V k (i )
total
P k (i , j)= ω ⋅ ∣decreasingGradient (i , j )∣ if j ∈U k (i)
total
δ
if j ∈ F k (i)
total
∑
total =(
∑
l∈V k (i)
decreasingGradient (i , l ))+(
ω
l ∈U k (i)
∣decreasingGradient (i , l )∣
)+
∑
l ∈F k (i )
δ
Algorytm - pseudokod
erodePaths()
altitude ( A):=altitude( A)−erosion( A , B)
erosion( A , B)=
paramErosion
⋅decreasingGradient ( A , B)
( numNodes−1) ⋅numDrops
Algorytm - pseudokod
erodePaths()
{
ϵV ⋅decreasingGradient (i , j )
if j ∈V k (i)
scaledPathLength
ϵU
erosion(i , j )=
if j ∈U k (i )
∣decreasingGradient (i , j)∣ ⋅scaledPathLength
ϵF
if j ∈ F k (i )
scaledPathLength
scaledPathLength=(numNodes−1) ⋅ numDrops ⋅ pathLength k
Algorytm - pseudokod
depositSediments()
altitude (N ):=altitude (N ) +
erosionProduced
numNodes−1
altitude (N ):=altitude (N )+ paramBlockedDrop ⋅ cumulatedSediment
Algorytm - pseudokod
analyzePaths()
●
W celu zapisania najlepszego
dotychczasowego roziwązania
Algorytm - współczynniki
●
●
●
●
●
notClimbingFactor - na początku 1, wzrasta z
określoną prędkością w miarę trwania
algorytmu.
ω - wpływa na prawdopodobieństwo wybrania
węzła o wysokości większej.
δ - wpływa na prawdopodobieństwo wybrania
węzła o tej samej wysokości.
paramBlockedDrop - kara dla 'ślepych zaułków'.
numDrops - ilość kropel biorących udział w
algorytmie.
Algorytm - zmienne
●
●
●
altitude - związana z każdym węzłem,
odpowiadająca 'wysokości' węzła.
notClimbingFactor - odwrotność
prawdopodobieństwa umożliwienia kropli
podróży do węzła o większej wysokości
bestPath - najlepsza ścieżka dotychczas
Zastosowania
●
Problemy NP-zupełne:
–
Problem komiwojażera (TSP)
–
Minimalne drzewo rozpinające ze zmiennym
kosztem (MSV)
–
Najkrótsza ścieżka w grafie o zmiennym koszcie
węzłów (MDV)
Porównanie z innymi metodami
●
TSP
źródło: Afaq, H., Saini, S.: On the Solutions to the Travelling Salesman Problem using Nature Inspired Computing Techniques,
2011
Porównanie z
innymi
metodami
●
Dynamic TSP z
algorytmem
mrówkowym
(ACO)
źródło: Rabanal, P., Rodríguez, I., Rubio, F.:
Sovling Dynamic TSP by using River Formation
Dynamics, 2008
Porównanie z
innymi
metodami
źródło: Rabanal, P., Rodríguez, I., Rubio, F.:
Sovling Dynamic TSP by using River Formation
Dynamics, 2008
Porównanie z innymi metodami
●
SPT z algorytmem Dijkstry
źr. Redlarski, G., Pałkowski, A., Dąbkowski, M.: Using River Formation Dynamics Algorithm in Mobile Robot Navigation, 2013
Literatura
1) Rabanal, P., Rodríguez, I., Rubio, F.: Using River Formation
Dynamics to Design Herustic Algorithms, 2007
2) Rabanal, P., Rodríguez, I., Rubio, F.: Applying River Formation
Dynamics to Solve NP-Complete Problems, 2009
3) Rabanal, P., Rodríguez, I., Rubio, F.: Sovling Dynamic TSP by
using River Formation Dynamics, 2008
4) Kalayci, C.: Algorithms for Sequence-Dependent Disassembly
Line Balancing Problem, p. 97-105, 2012
5) Redlarski, G., Pałkowski, A., Dąbkowski, M.: Using River
Formation Dynamics Algorithm in Mobile Robot Navigation,
2013
6) Afaq, H., Saini, S.: On the Solutions to the Travelling Salesman
Problem using Nature Inspired Computing Techniques, 2011