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