Одређивање к-најкраћих путева
Одређивање K-најкраћих путева је проширени алгоритам алгоритма најкраћег пута у датој мрежи.
Понекад је од кључног значаја да имате више од једног пута између два чвора у мрежи. У случају додатних ограничења, други путеви који се разликују од најкраће путање се могу израчунати. За проналажење најкраћих путања се могу користити проблеми најкраћег пута , као што је Дајкстрин алгоритам или Беллман-Фордов алгоритам, а онда да их проширимо на проналажење више од једног пута. Одређивање к-најкраћих путева је генерализација проблема најкраћег пута . Алгоритам не само да проналази најкраћи пут, већ проналази и К-1 осталих путева у неопадајућем поретку њихових цена.
Проблем може бити ограничен на проналазак К најкраћих путева без петље (loopless) или са петљом.
Историја
уредиОд 1957. године било је доста чланака објављених на тему одређивање к-најкраћих путева. Већина радова, није била заснована на проблему налажења једног најкраћег пута између пара чворова, већ на налажење низа од К најкраћих путева, и ти радови су објављени од 1960. год до 2001. год. Од тада, већина новијих истраживања је у вези примене алгоритма и његових варијација. У 2010. години Мајкл Гинтер са сар. објавио је књигу о симболичком тражењу К-најкраћих путева .[1]
Важне радови о проблему одређивања к-најкраћих путева:
Година издања | Аутор | Име |
---|---|---|
1971 | Јин Јен | Проналажење К К-најкраћих путева у мрежи |
1972 | М. т. Ардон и сар. | Рекурзивни алгоритам за креирање шеме и повезани подграфови |
1973 | П. М. Камерини и др. | К-најкраћих путева у стаблу графа |
1975 | К. Аихара | Приступ проучавању основних путева |
1976 | Т. Д Ам ет сар. | Алгоритам за генерисање свих путева између два чвора у диграфу и његова примена |
1988 | Равиндра К. Ахуджа сар. | Брзи алгоритми за проблем најкражег пута |
1989 | С. Anily сар. | Ранг листи најбољих бинарних стабала[мртва веза] |
1990 | Равиндра К. | Бржи алгоритми за одређивање најкраћег пута |
1993 | Ел-Амин и сарадници | Експертски систем за проналажење лиеарног пута |
1997 | Дејвид Еппстеин | Проналажење К-најкраћих путева |
1997 | Инго Алтхофер | К-најбољи режим у компјутерском шаху |
1999 | Инго Алтхофер | „Системи За Подршку Одлучивању Са Неколико Структуре Избор”. |
2011 | Хусаин, Алјаззар, Стефан Леуе | „К*: алгоритам за претрагу К-најкраћих путева”. doi:10.1016/j.artint.2011.07.003. |
BibTeX база садржи више чланака.
Алгоритам
уредиДајкстрин алгоритам може бити генерализован како би се пронашло К-најкраћих путева.
Дефиниције:
Алгоритам:
|
Постоје у основи две опције алгоритма за тражење К-најкраћих путева:
Прва опција
уредиУ првој варијанти, путеви не морају бити безциклучни Давид Еппстеинов алгоритам обезбеђује најбоље време.[2]
Друга опција
уредиДруга опција приписује се Јин Ју Јену, путеви морају бити безциклучни.[3] (Ово ограничење уводи додатни ниво тежине.) Јенов алгоритам се користи када се у питању просте путање, док се Еппстеинов алгоритам користи за непросте путев (пример када је дозвољено путу да прође кроз исти чвор више пута).
Путеви не морају да буду безциклични
уредиЗа све што треба, м - грана, н - број чворова.
Еппстеинов алгоритам даје најбоље резултате.[2] Еппстеинов модел налази К најкраћих дужина (дозвољавајући циклусе), повезујући два чвора у диграфу, за време o(m+ nlogn + к).
Еппстеинов алгоритам користи технику трансформације графа.
Овај модел такође може наћи К најкраћих путева из почетног чвора s до сваког чвора у графу, за време o(m + nlogn + kn).
Безциклични алгоритам за проналажење К-најкраћих путева
уредиНајбоље време за овај модел се приписује Јин. Ј. Јену.[3] Јенов алгоритам проналази дужине свих најкраћих путева из фиксног чвора до свих осталих чворова у ненегативној н-чворовној мрежи.
Овај метод захтева само 2n2 додатака и n2 поређења- што је мање од других доступних алгоритама.
Тренутно време је сложености o(Kn(m + nlogn)). m представља број грана, n - број чворова.
Неки примери и опис
уредиПример #1
уредиУ следећем примеру се користи Јенов модел да се пронађе прве К најкраћих путања између чворава који су повезани. То јест, он проналази први, други, трећи, итд све до К.-ог најкраћег пута. Више информација можете наћи овде.
Код дат у овом примеру покушава да нађе К-најкраће путање мреже која има 15-чворова, који су повезани једносмерним и двосмерним гранама.
Пример #2
уредиДруги пример је употреба алгоритма према ком пратите неколико објеката.
Техника имплементира неколико објеката за праћење заснованих на алгоритму за К-најкраћих путања.
Све информације се могу наћи у "компјутерског вида лабораторији – CVLAB" .
Пример #3
уредиЈош једна примена алгоритама за најкраће путање је пројектовање транзитне мреже, што повећава удобност корисника у транспортном превозу. Такав пример транзитне мреже може бити конструисан, стављајући на разматрање време путовања. Поред времена путовања, могу се узети други услови у зависности од економских и географских ограничења. Без обзира на разлике у параметрима, алгоритам за одређивање К-најкраћих путовања проналази највише оптимална решења, задовољавајући готово све потребе корисника. Такве апликације за најкраћи пут алгоритми постају све чешће, у последње време Xu, He, Song and Chaudry (2012) проучавали су проблеме К-најкраћих путева у транзитној мрежи.[4]
Апликације
уредиОдређивање К-најкраћих путања је добра алтернатива за:
- Планирање географског пута
- Мрежно рутирање, посебно за оптичке мреже , где постоје и додатна ограничења, који не могу бити решена уз помоћ обичног алгоритма за најкраће путање.
- Формирање хипотеза у области рачунарске лингвистике
- Редослед поређења и тражење метаболичких путањи у биоинформатици
- Праћење неколико објеката
- Планирање географског пута
- Пут мреже: раскрснице су чворови и свака грана (линк) графа повезује два чвора (раскрснице).
Варијације
уредиПостоје две основне варијације на алгоритам за одређивање К-најкраћих путања као што смо горе поменули. Све остале варијације, спадају под ове две:
Сродни проблеми
уреди- Алгоритам дейкстры решава проблем налажења једног најкраћег пута
- Беллман–Фордов алгоритам решава проблем и када су гране негативни бројеви.
- У претрагу у ширину алгоритам се користи за претраживање ограничено са две операције.
- Флоид–Варсхаллов алгоритам решава најкраће путеве свих парова.
- Џонсонов алгоритам решава све парове најкраћих путева, и можда је бржи него Флоид–Варсхаллов када се примени на развијене графове
- Теорија поремећаја проналази (у најгорем случају) локално најкраћи пут.
Види још
уреди- Проблем најкраћег пута
- Ограничен најкраћи пут
Референце
уреди- ^ Michael Günther et al.: “Symbolic calculation of K-shortest paths and related measures with the stochastic process algebra tool CASPA”.
- ^ а б в Eppstein, D. (1998). „Finding the K shortest paths”. SIAM J. Comput. 28 (2): 652—673. doi:10.1137/S0097539795290477.
- ^ а б в Yen, J. Y (1971), „Finding the K-Shortest Loopless Paths in a Network”, Management Science, 17: 712—716
- ^ Xu, W., He, S., Song, R., & Chaudhry, S. (2012).
Спољашње везе
уреди- Имплементација алгоритма јен
- The K-Shortest Paths Algorithm in C++
- Неколико објеката праћење метод, помоћу к-најкраћи пут алгоритам
- Bibtex по основу: http://www.ics.uci.edu/~эпштайна расположе/портикле/kpath.биб
- Рачунарски вид лабораторије
- Разни начини налажења путања
- Схаред Риск Гроуп (СРГ) и Схаред Линк Риск (СРЛГ)