D* - може відноситись до одного з трьох наступних алгоритмів пошуку:
- Оригінальний D*, написаний Ентоні Стенцом, який є евристичним алгоритмом.
- Цілеспрямований D* (en. Focused D*) - евристичний алгоритм розроблений Ентоні Стенцом. Він поєднує ідеї A* і оригінального D*. Алгоритм з'явився як результат подальшого розвитку оригінального D*.
- Легкий D* (en. D* Lite) - розроблений Свеном Кьонігом та Максимом Ліхачовим евристичний алгоритм, який побудований на основі LPA* - алгоритмі, який поєднує ідеї А* та динамічного пошуку найкоротшого шляху з однієї вершини(en. Dynamic SWSF-FP).
Призначення
Всі три алгоритми вирішують те ж саме завдання - планування шляху на основі припущення, включно з задачею, де роботу необхідно дістатися, до цілі з заданими координатами по невідомому ландшафту.
Принцип роботи
Алгоритм виконує припущення щодо невідомої частини ландшафту (наприклад, що на ній не міститься жодних перешкод і знаходить найкоротший шлях від поточного місцезнаходження до цільових координат на основі цих припущень. Тоді робот слідує шляху. Коли він отримує нову інформацію про ландшафт(як наприклад про попередньо невідому перешкоду), то додає нову інформацію до карти і, якщо необхідно, прокладає новий шлях від поточного місцезнаходження до цілі. Він повторює даний процес поки не досягає цілі або поки не визначить, що добратись до неї неможливо. Оскільки при переміщенні по ландшафту, виявлення нових перешкод - доволі часте явище, то прокладання нового шляху мусить відбуватися швидко. Евристичний алгоритм пришвидшує пошук для послідовності подібних завдань, використовуючи досвід з попередніх для пришвидшення виконання даного. Припустимо координати пункту призначення не змінюються, тоді всі три вищезгадані алгоритми працюватимуть швидше ніж повторний А*.
Використання
D* і його варіанти широко використовуються для мобільних ботів і автономної навігації в автомобілях. Поточні системи зазвичай засновані на легкому D*. Насправді, навіть у лабораторії Стенца для деяких завдань частіше використовують легкий D*, ніж оригінальну версію алгоритму. Для прикладу навігаційні системи прототипів марсоходів і Spirit використовують даний алгоритм.
Операції
Опис операцій виконуваних алгоритмом описаний нижче.
Як алгоритм Дейкстри чи A*, D* зберігає список вузлів, які слід оцінити (так званий відкритий список (en. Open list)). Кожен вузол може перебувати в одному з наступних станів:
- Новий, тобто він ніколи не був вписаний у відкритий список.
- Відкритий, тобто він зараз перебуває у відкритому списку.
- Закритий, тобто він більше не перебуває у відкритому списку.
- Підвищений, тобто його ціна(вага) більша ніж останній раз, коли він перебував у відкритому списку.
- Понижений, тобто його ціна(вага) менша ніж останній раз, коли він перебував у відкритому списку.
Розширення
Алгоритм працює шляхом ітеративного вибору вузла з відкритого списку та його оцінки. Потім він поширює зміни елементи вузла для всіх сусідніх вузлів і поміщає їх у відкритий список. Цей процес поширення називається "розширення". На відміну від A*, який йде по шляху від початку до кінця, D* починається з пошуку в зворотному напрямку від цільового(кінцевого) вузла. Кожен розширений вузол має зворотний вказівник, який посилається на наступний вузол, веде до мети, і кожен вузол знає точну вартість до мети. Коли початковий вузол є наступним вузлом, який буде розширено, тоді алгоритм виконав своє завдання і шлях до мети можна знайти просто дотримуючись зворотних вказівників.
Обробка перешкод
Коли уздовж наміченого шляху виявляється перешкода, всі вузли, на які це впливає знову поміщаються у відкритому списку, проте позначаються як підвищені. Перед підняттям вузол збільшується у вартості, однак, алгоритм перевіряє сусідні вузли і розглядає, чи може він знизити вартість вузла. Якщо ні, то стан підйом поширюється на всі нащадки вузла, тобто вузли, які мають зворотних вказівник на нього. Ці вузли потім оцінюються, і стан ПІДЙОМ передається, формуючи хвилю. Коли піднятий вузол може бути зменшено, його зворотний вказівник оновлюється, і передає стан понижений для своїх сусідів. Ці хвилі підйому та опускання стану є основою D*.
Цілеспрямований D*
Цей алгоритм є розширенням D*, яке використовує евристику для поширення хвиль підвищення і пониження станів у сторону робота(поточного положення). Проте у цьому випадку оновлюються лише ті вузли, які мають значення для знаходження шляху, аналогічно до того, як при виконанні А* обраховується ціна лише деяких вузлів.
Легкий D*
Даний алгоритм не ґрунтується на оригінальному чи цілеспрямованому D*, але при виконанні має подібну поведінку. Легкий D* легше зрозуміти, алгоритм можна запрограмувати у мешній кількості коду, звідси і назва. Стосовно продуктивності, то він такий самий або кращий(залежно від конкретної задачі) за Цілеспрямований D*. Легкий D* ґрунтується на алгоритмі LPA* [ 18 травня 2014 у Wayback Machine.](Lifelong Planning A*), котрий був запропонований Кьонігом та Ліхачовим декілька років раніше.
Див. також
Джерела
- Stentz, Anthony (1994), "Optimal and Efficient Path Planning for Partially-Known Environments" [ 18 травня 2014 у Wayback Machine.]
- Stentz, Anthony (1995), "The Focussed D* Algorithm for Real-Time Replanning [ 18 травня 2014 у Wayback Machine.]
- P. Hart, N. Nilsson and B. Raphael, A Formal Basis for the Heuristic Determination of Minimum Cost Paths, IEEE Trans. Syst. Science and Cybernetics, SSC-4(2), 100–107, 1968.
- S. Koenig and M. Likhachev. Fast Replanning for Navigation in Unknown Terrain. Transactions on Robotics, 21, (3), 354–363, 2005.
- S. Koenig, M. Likhachev and D. Furcy. Lifelong Planning A*. Artificial Intelligence Journal, 155, (1–2), 93–146, 2004.
- G. Ramalingam, T. Reps, An incremental algorithm for a generalization of the shortest-path problem, Journal of Algorithms 21 (1996) 267–305.
- S. Koenig, Y. Smirnov and C. Tovey. Performance Bounds for Planning in Unknown Terrain. Artificial Intelligence Journal, 147, (1–2), 253–279, 2003.
- D. Wooden, Graph-based Path Planning for Mobile Robots, Dissertation, Georgia Institute of Technology, 2006.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
D mozhe vidnositis do odnogo z troh nastupnih algoritmiv poshuku Originalnij D napisanij Entoni Stencom yakij ye evristichnim algoritmom Cilespryamovanij D en Focused D evristichnij algoritm rozroblenij Entoni Stencom Vin poyednuye ideyi A i originalnogo D Algoritm z yavivsya yak rezultat podalshogo rozvitku originalnogo D Legkij D en D Lite rozroblenij Svenom Konigom ta Maksimom Lihachovim evristichnij algoritm yakij pobudovanij na osnovi LPA algoritmi yakij poyednuye ideyi A ta dinamichnogo poshuku najkorotshogo shlyahu z odniyeyi vershini en Dynamic SWSF FP D pathfinding algorithm demo DstarPriznachennyaVsi tri algoritmi virishuyut te zh same zavdannya planuvannya shlyahu na osnovi pripushennya vklyuchno z zadacheyu de robotu neobhidno distatisya do cili z zadanimi koordinatami po nevidomomu landshaftu Princip roboti Algoritm vikonuye pripushennya shodo nevidomoyi chastini landshaftu napriklad sho na nij ne mistitsya zhodnih pereshkod i znahodit najkorotshij shlyah vid potochnogo misceznahodzhennya do cilovih koordinat na osnovi cih pripushen Todi robot sliduye shlyahu Koli vin otrimuye novu informaciyu pro landshaft yak napriklad pro poperedno nevidomu pereshkodu to dodaye novu informaciyu do karti i yaksho neobhidno prokladaye novij shlyah vid potochnogo misceznahodzhennya do cili Vin povtoryuye danij proces poki ne dosyagaye cili abo poki ne viznachit sho dobratis do neyi nemozhlivo Oskilki pri peremishenni po landshaftu viyavlennya novih pereshkod dovoli chaste yavishe to prokladannya novogo shlyahu musit vidbuvatisya shvidko Evristichnij algoritm prishvidshuye poshuk dlya poslidovnosti podibnih zavdan vikoristovuyuchi dosvid z poperednih dlya prishvidshennya vikonannya danogo Pripustimo koordinati punktu priznachennya ne zminyuyutsya todi vsi tri vishezgadani algoritmi pracyuvatimut shvidshe nizh povtornij A Vikoristannya D i jogo varianti shiroko vikoristovuyutsya dlya mobilnih botiv i avtonomnoyi navigaciyi v avtomobilyah Potochni sistemi zazvichaj zasnovani na legkomu D Naspravdi navit u laboratoriyi Stenca dlya deyakih zavdan chastishe vikoristovuyut legkij D nizh originalnu versiyu algoritmu Dlya prikladu navigacijni sistemi prototipiv marsohodiv Opportunity i Spirit vikoristovuyut danij algoritm OperaciyiOpis operacij vikonuvanih algoritmom opisanij nizhche Yak algoritm Dejkstri chi A D zberigaye spisok vuzliv yaki slid ociniti tak zvanij vidkritij spisok en Open list Kozhen vuzol mozhe perebuvati v odnomu z nastupnih staniv Novij tobto vin nikoli ne buv vpisanij u vidkritij spisok Vidkritij tobto vin zaraz perebuvaye u vidkritomu spisku Zakritij tobto vin bilshe ne perebuvaye u vidkritomu spisku Pidvishenij tobto jogo cina vaga bilsha nizh ostannij raz koli vin perebuvav u vidkritomu spisku Ponizhenij tobto jogo cina vaga mensha nizh ostannij raz koli vin perebuvav u vidkritomu spisku Rozshirennya Algoritm pracyuye shlyahom iterativnogo viboru vuzla z vidkritogo spisku ta jogo ocinki Potim vin poshiryuye zmini elementi vuzla dlya vsih susidnih vuzliv i pomishaye yih u vidkritij spisok Cej proces poshirennya nazivayetsya rozshirennya Na vidminu vid A yakij jde po shlyahu vid pochatku do kincya D pochinayetsya z poshuku v zvorotnomu napryamku vid cilovogo kincevogo vuzla Kozhen rozshirenij vuzol maye zvorotnij vkazivnik yakij posilayetsya na nastupnij vuzol vede do meti i kozhen vuzol znaye tochnu vartist do meti Koli pochatkovij vuzol ye nastupnim vuzlom yakij bude rozshireno todi algoritm vikonav svoye zavdannya i shlyah do meti mozhna znajti prosto dotrimuyuchis zvorotnih vkazivnikiv Obrobka pereshkod Koli uzdovzh namichenogo shlyahu viyavlyayetsya pereshkoda vsi vuzli na yaki ce vplivaye znovu pomishayutsya u vidkritomu spisku prote poznachayutsya yak pidvisheni Pered pidnyattyam vuzol zbilshuyetsya u vartosti odnak algoritm pereviryaye susidni vuzli i rozglyadaye chi mozhe vin zniziti vartist vuzla Yaksho ni to stan pidjom poshiryuyetsya na vsi nashadki vuzla tobto vuzli yaki mayut zvorotnih vkazivnik na nogo Ci vuzli potim ocinyuyutsya i stan PIDJOM peredayetsya formuyuchi hvilyu Koli pidnyatij vuzol mozhe buti zmensheno jogo zvorotnij vkazivnik onovlyuyetsya i peredaye stan ponizhenij dlya svoyih susidiv Ci hvili pidjomu ta opuskannya stanu ye osnovoyu D Cilespryamovanij D Cej algoritm ye rozshirennyam D yake vikoristovuye evristiku dlya poshirennya hvil pidvishennya i ponizhennya staniv u storonu robota potochnogo polozhennya Prote u comu vipadku onovlyuyutsya lishe ti vuzli yaki mayut znachennya dlya znahodzhennya shlyahu analogichno do togo yak pri vikonanni A obrahovuyetsya cina lishe deyakih vuzliv Legkij D Danij algoritm ne gruntuyetsya na originalnomu chi cilespryamovanomu D ale pri vikonanni maye podibnu povedinku Legkij D legshe zrozumiti algoritm mozhna zaprogramuvati u meshnij kilkosti kodu zvidsi i nazva Stosovno produktivnosti to vin takij samij abo krashij zalezhno vid konkretnoyi zadachi za Cilespryamovanij D Legkij D gruntuyetsya na algoritmi LPA 18 travnya 2014 u Wayback Machine Lifelong Planning A kotrij buv zaproponovanij Konigom ta Lihachovim dekilka rokiv ranishe Div takozhLogichne programuvannya Algoritm poshuku A Evristichnij algoritm EvristikaDzherelaStentz Anthony 1994 Optimal and Efficient Path Planning for Partially Known Environments 18 travnya 2014 u Wayback Machine Stentz Anthony 1995 The Focussed D Algorithm for Real Time Replanning 18 travnya 2014 u Wayback Machine P Hart N Nilsson and B Raphael A Formal Basis for the Heuristic Determination of Minimum Cost Paths IEEE Trans Syst Science and Cybernetics SSC 4 2 100 107 1968 S Koenig and M Likhachev Fast Replanning for Navigation in Unknown Terrain Transactions on Robotics 21 3 354 363 2005 S Koenig M Likhachev and D Furcy Lifelong Planning A Artificial Intelligence Journal 155 1 2 93 146 2004 G Ramalingam T Reps An incremental algorithm for a generalization of the shortest path problem Journal of Algorithms 21 1996 267 305 S Koenig Y Smirnov and C Tovey Performance Bounds for Planning in Unknown Terrain Artificial Intelligence Journal 147 1 2 253 279 2003 D Wooden Graph based Path Planning for Mobile Robots Dissertation Georgia Institute of Technology 2006