Задача (китайського) листоноші (англ. Chinese postman problem або англ. Route inspection problem) — задача пошуку найкоротшого циклу в графі, що включає всі ребра. Існують варіанти задачі для орієнтованих та неорієнтованих графів та для графів, частина ребер яких орієнтована, а частина — ні.
Задача отримала назву завдяки Алану Голдману (англ. Alan Goldman) з NIST, оскільки першим дослідником цієї задачі був китайський математик (англ. Mei-Ku Kuan, 1962).
Методи розв'язання задачі
Для орієнтованого графу: Необхідно розглянути окремо два випадки:
Випадок А. Граф симетричний.
Випадок Б. Граф несиметричний.
Випадок А. Якщо граф симетричний, то листоноша може пройти свій маршрут без повторного обходу якої-небудь із дуг, тобто оптимальне рішення задачі листоноші є Ейлерів маршрут.
Випадок Б. Нехай ,позначає число повторних обходів дуги . Листоноші необхідно обрати такі невід’ємні значення змінних , які мінімізують загальну довжину повторно обхідних дуг
(1)
При умові, що в кожну вершину він входить стільки разів, скільки виходить із неї, тобто
(2)
Перетворивши рівняння (2), отримуємо
(3)
Таким чином, листоноша бажає мінімізувати вираз (1) при умові, що для всіх вершин графу G задовольняється рівність (3). Ця задача представляє одну із модифікацій задачі про потік мінімальної вартості. Вершини, для яких , є стоками з граничним значенням сумарного вхідного потоку, рівним – . Вершини, де , являють собою джерело з граничним значенням сумарного вихідного потоку, рівне . Вершини, для яких , є проміжковими вершинами. Значення пропускних здібностей всіх дуг безлімітні. Сформульована задача про потік мінімальної вартості може бути вирішена шляхом введення в граф додаткового джерела і стоку. Додаткове джерело пов'язаний дугами зі усіма іншими джерелами, і всі стоки пов'язані дугами з додатковим стоком. Значення пропускної здатності кожної дуги, що виходить з додаткового джерела, рівно граничному значенню сумарного потоку джерела, яке інцидентне цій дузі. Так як праві частини всіх рівностей, (3) - цілі числа, то можна стверджувати, що за допомогою описаного алгоритму визначення потоку мінімальної вартості будуть отримані невід'ємні цілі значення . Визначивши цілочисельні оптимальні значення змінних побудуємо граф , В якому дуга , що з'єднує вершини і для всіх , повторюється раз. З рівністю (3) такий граф є симетричним. Тепер для графу за допомогою методу, описаного для випадку А, може бути знайдений Ейлером маршрут. Останній на графі відповідає маршруту листоноші па графі , в якому дуга обходиться разів. Так як оптимального значення мінімізують вираз (1), одержуваний на графі Ейлерів маршрут повинен відповідати оптимальному маршрутом листоноші на графі .
Для змішаного графу: Необхідно розглянути окремо два випадки: Випадок А. Граф симетричний.
Випадок Б. Граф несиметричний.
Випадок А.Нехай – будь-який парний змішаний граф. Оптимальний маршрут листоноші (якщо він існує) може бути знайдено наступним чином. Позначимо через множину всіх неорієнтованих дуг, а через – множину всіх орієнтованих дуг в графі . Для кожної дуги в U виберемо вихідний напрямок. Назвемо отриманий орієнтований граф графом . Для кожної вершини і графу обрахуємо
(4)
Якщо , то вершина і є стоком з граничною величиною сумарного вхідного потоку, рівному . Якщо , то вершина і є джерелом з граничною величиною сумарного виходить потоку - Якщо , то вершина є проміжною. Якщо в графі всі вершини є проміжними, то граф-парний симетричний орієнтований граф. Для отримання оптимального маршруту листоноші на такому графі треба знайти Ейлерів маршрут, який відповідає оптимальному маршруту листоноші на графі . В іншому випадку необхідно побудувати граф , в якому: (а) Кожна дуга заміщується дугою з необмеженою величиною пропускної здатності і вартістю, рівної довжині дуги (i, j). (б) Кожній дузі і відповідає пара дуг і в . Кожна з цих дуг має необмежену величину пропускної здатності і вартість, рівну довжині дуги . (в) Кожній дузі відповідає також орієнтована дуга , напрямок якої протилежно напрямку дуги, прийнятому в . Ця дуга називається фіктивною дугою. Припишемо фіктивної дузі вартість, рівну нулю, і величину пропускної здатності, рівну 2. З урахуванням визначених вище для графу граничних значень потоків, що виходять із джерел і входять до стоки, скористаємося алгоритмом побудови потоку мінімальної вартості для пошуку на графі потоку мінімальної вартості, що задовольняє потреби всіх стоків. Якщо такого потоку не існує, то не існує і маршруту листоноші. В іншому випадку нехай через позначається величина потоку, який протікає по дузі графу , отриманого в результаті рішення задачі про потік мінімальної вартості. Нагадаємо, що потік, отриманий за допомогою описаного вище алгоритму побудови потоку мінімальної вартості, є невід'ємним і цілочисловим. У ході докази того, що алгоритм забезпечує отримання рішення задачі листоноші, буде показано, що але кожної фіктивної дузі протікає потік, рівний 0 або 2. Побудуємо далі граф G*, В якому:
(a) Кожна не-фіктивного дуга графу замінюється дугами графу .
(б) Кожна не-фіктивна дуга графу замінюється дугами графу .
(в) Якщо потік у фіктивній дузі дорівнює двом одиницям, то в граф включається одна така дуга.
(г) Якщо потік у фіктивній дузі дорівнює нулю, то в граф включається одна така дуга з протилежного орієнтацією. Таким чином, якщо у фіктивній дузі потік дорівнює нулю, то вибраний вихідний напрямок дуги графу зберігається і в графі , якщо ж потік у фіктивній дузі дорівнює двом одиницям, то напрямок орієнтації відповідної дуги графу в графі змінюється на протилежне.
Граф є парним симетричним орієнтованим графом. Для отримання оптимального маршруту листоноші на такому графі треба знайти Ейлерів цикл.
Випадок Б. Алгоритму розв'язання даної задачі не існує
Див. також
Посилання
- . Архів оригіналу за 17 жовтня 2008. Процитовано 13 січня 2010.
Література
- Майника Э. (1981). Алгоритмы оптимизации на сетях и графах. М.: Мир. с. 323.
Ця стаття потребує додаткових для поліпшення її . (грудень 2015) |
Це незавершена стаття про алгоритми. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zadacha kitajskogo listonoshi angl Chinese postman problem abo angl Route inspection problem zadacha poshuku najkorotshogo ciklu v grafi sho vklyuchaye vsi rebra Isnuyut varianti zadachi dlya oriyentovanih ta neoriyentovanih grafiv ta dlya grafiv chastina reber yakih oriyentovana a chastina ni Zadacha otrimala nazvu zavdyaki Alanu Goldmanu angl Alan Goldman z NIST oskilki pershim doslidnikom ciyeyi zadachi buv kitajskij matematik angl Mei Ku Kuan 1962 Metodi rozv yazannya zadachiDlya oriyentovanogo grafu Neobhidno rozglyanuti okremo dva vipadki Vipadok A Graf G displaystyle G simetrichnij Vipadok B Graf G displaystyle G nesimetrichnij Vipadok A Yaksho graf simetrichnij to listonosha mozhe projti svij marshrut bez povtornogo obhodu yakoyi nebud iz dug tobto optimalne rishennya zadachi listonoshi ye Ejleriv marshrut Vipadok B Nehaj f i j displaystyle f i j poznachaye chislo povtornih obhodiv dugi i j displaystyle i j Listonoshi neobhidno obrati taki nevid yemni znachennya zminnih f i j displaystyle f i j yaki minimizuyut zagalnu dovzhinu povtorno obhidnih dug a i j f i j displaystyle sum a i j f i j 1 Pri umovi sho v kozhnu vershinu vin vhodit stilki raziv skilki vihodit iz neyi tobto d i f j i d i i f i j displaystyle d i sum f j i d i i sum f i j 2 Peretvorivshi rivnyannya 2 otrimuyemo f i j f j i d i d i D i displaystyle sum f i j f j i d i d i D i 3 Takim chinom listonosha bazhaye minimizuvati viraz 1 pri umovi sho dlya vsih vershin grafu G zadovolnyayetsya rivnist 3 Cya zadacha predstavlyaye odnu iz modifikacij zadachi pro potik minimalnoyi vartosti Vershini dlya yakih D i lt 0 displaystyle D i lt 0 ye stokami z granichnim znachennyam sumarnogo vhidnogo potoku rivnim D i displaystyle D i Vershini de D i gt 0 displaystyle D i gt 0 yavlyayut soboyu dzherelo z granichnim znachennyam sumarnogo vihidnogo potoku rivne D i displaystyle D i Vershini dlya yakih D i 0 displaystyle D i 0 ye promizhkovimi vershinami Znachennya propusknih zdibnostej vsih dug bezlimitni Sformulovana zadacha pro potik minimalnoyi vartosti mozhe buti virishena shlyahom vvedennya v graf dodatkovogo dzherela i stoku Dodatkove dzherelo pov yazanij dugami zi usima inshimi dzherelami i vsi stoki pov yazani dugami z dodatkovim stokom Znachennya propusknoyi zdatnosti kozhnoyi dugi sho vihodit z dodatkovogo dzherela rivno granichnomu znachennyu sumarnogo potoku dzherela yake incidentne cij duzi Tak yak pravi chastini vsih rivnostej 3 cili chisla to mozhna stverdzhuvati sho za dopomogoyu opisanogo algoritmu viznachennya potoku minimalnoyi vartosti budut otrimani nevid yemni cili znachennya f i j displaystyle f i j Viznachivshi cilochiselni optimalni znachennya zminnih f i j displaystyle f i j pobuduyemo graf G displaystyle G V yakomu duga i j displaystyle i j sho z yednuye vershini i displaystyle i i j displaystyle j dlya vsih i j displaystyle i j 2 displaystyle mathcal 2 A displaystyle A povtoryuyetsya f i j 1 displaystyle f i j 1 raz Z rivnistyu 3 takij graf G displaystyle G ye simetrichnim Teper dlya grafu G displaystyle G za dopomogoyu metodu opisanogo dlya vipadku A mozhe buti znajdenij Ejlerom marshrut Ostannij na grafi G displaystyle G vidpovidaye marshrutu listonoshi pa grafi G displaystyle G v yakomu duga i j displaystyle i j obhoditsya f i j 1 displaystyle f i j 1 raziv Tak yak optimalnogo znachennya f i j displaystyle f i j minimizuyut viraz 1 oderzhuvanij na grafi G displaystyle G Ejleriv marshrut povinen vidpovidati optimalnomu marshrutom listonoshi na grafi G displaystyle G Dlya zmishanogo grafu Neobhidno rozglyanuti okremo dva vipadki Vipadok A Graf G displaystyle G simetrichnij Vipadok B Graf G displaystyle G nesimetrichnij Vipadok A Nehaj G X A displaystyle G X A bud yakij parnij zmishanij graf Optimalnij marshrut listonoshi yaksho vin isnuye mozhe buti znajdeno nastupnim chinom Poznachimo cherez U displaystyle U mnozhinu vsih neoriyentovanih dug a cherez V displaystyle V mnozhinu vsih oriyentovanih dug v grafi G displaystyle G Dlya kozhnoyi dugi v U viberemo vihidnij napryamok Nazvemo otrimanij oriyentovanij graf grafom Gd displaystyle G mathrm d Dlya kozhnoyi vershini i grafu G d displaystyle G mathrm d obrahuyemo D i d i d i displaystyle D i d i d i 4 Yaksho D i lt 0 displaystyle D i lt 0 to vershina i ye stokom z granichnoyu velichinoyu sumarnogo vhidnogo potoku rivnomu D i displaystyle D i Yaksho D i gt 0 displaystyle D i gt 0 to vershina i ye dzherelom z granichnoyu velichinoyu sumarnogo vihodit potoku D i displaystyle D i Yaksho D i 0 displaystyle D i 0 to vershina i displaystyle i ye promizhnoyu Yaksho v grafi vsi vershini ye promizhnimi to graf parnij simetrichnij oriyentovanij graf Dlya otrimannya optimalnogo marshrutu listonoshi na takomu grafi treba znajti Ejleriv marshrut yakij vidpovidaye optimalnomu marshrutu listonoshi na grafi G displaystyle G V inshomu vipadku neobhidno pobuduvati graf G X A displaystyle G X A v yakomu a Kozhna duga i j displaystyle i j 2 displaystyle mathcal 2 V displaystyle V zamishuyetsya dugoyu i j displaystyle i j 2 displaystyle mathcal 2 A displaystyle A z neobmezhenoyu velichinoyu propusknoyi zdatnosti i vartistyu rivnoyi dovzhini dugi i j b Kozhnij duzi i j displaystyle i j 2 displaystyle mathcal 2 U displaystyle U i vidpovidaye para dug i j displaystyle i j i j i displaystyle j i v A displaystyle A Kozhna z cih dug maye neobmezhenu velichinu propusknoyi zdatnosti i vartist rivnu dovzhini dugi i j displaystyle i j 2 displaystyle mathcal 2 A displaystyle A v Kozhnij duzi i j displaystyle i j 2 displaystyle mathcal 2 U displaystyle U vidpovidaye takozh oriyentovana duga i j displaystyle i j 2 displaystyle mathcal 2 A displaystyle A napryamok yakoyi protilezhno napryamku dugi prijnyatomu v G d displaystyle G mathrm d Cya duga nazivayetsya fiktivnoyu dugoyu Pripishemo fiktivnoyi duzi vartist rivnu nulyu i velichinu propusknoyi zdatnosti rivnu 2 Z urahuvannyam viznachenih vishe dlya grafu G d displaystyle G mathrm d granichnih znachen potokiv sho vihodyat iz dzherel i vhodyat do stoki skoristayemosya algoritmom pobudovi potoku minimalnoyi vartosti dlya poshuku na grafi G displaystyle G potoku minimalnoyi vartosti sho zadovolnyaye potrebi vsih stokiv Yaksho takogo potoku ne isnuye to ne isnuye i marshrutu listonoshi V inshomu vipadku nehaj cherez f i j displaystyle f i j poznachayetsya velichina potoku yakij protikaye po duzi i j displaystyle i j grafu G displaystyle G otrimanogo v rezultati rishennya zadachi pro potik minimalnoyi vartosti Nagadayemo sho potik otrimanij za dopomogoyu opisanogo vishe algoritmu pobudovi potoku minimalnoyi vartosti ye nevid yemnim i cilochislovim U hodi dokazi togo sho algoritm zabezpechuye otrimannya rishennya zadachi listonoshi bude pokazano sho ale kozhnoyi fiktivnoyi duzi protikaye potik rivnij 0 abo 2 Pobuduyemo dali graf G V yakomu a Kozhna ne fiktivnogo duga i j displaystyle i j 2 displaystyle mathcal 2 V displaystyle V grafu G displaystyle G zaminyuyetsya f i j 1 displaystyle f i j 1 dugami i j displaystyle i j grafu G displaystyle G b Kozhna ne fiktivna duga i j displaystyle i j 2 displaystyle mathcal 2 U displaystyle U grafu G displaystyle G zaminyuyetsya f i j displaystyle f i j dugami i j displaystyle i j grafu G displaystyle G v Yaksho potik u fiktivnij duzi dorivnyuye dvom odinicyam to v graf G displaystyle G vklyuchayetsya odna taka duga g Yaksho potik u fiktivnij duzi dorivnyuye nulyu to v graf G displaystyle G vklyuchayetsya odna taka duga z protilezhnogo oriyentaciyeyu Takim chinom yaksho u fiktivnij duzi potik dorivnyuye nulyu to vibranij vihidnij napryamok dugi grafu G d displaystyle G mathrm d zberigayetsya i v grafi G displaystyle G yaksho zh potik u fiktivnij duzi dorivnyuye dvom odinicyam to napryamok oriyentaciyi vidpovidnoyi dugi grafu G d displaystyle G mathrm d v grafi G displaystyle G zminyuyetsya na protilezhne Graf G displaystyle G ye parnim simetrichnim oriyentovanim grafom Dlya otrimannya optimalnogo marshrutu listonoshi na takomu grafi treba znajti Ejleriv cikl Vipadok B Algoritmu rozv yazannya danoyi zadachi ne isnuyeDiv takozhZadacha komivoyazhera Ejleriv ciklPosilannya Arhiv originalu za 17 zhovtnya 2008 Procitovano 13 sichnya 2010 LiteraturaMajnika E 1981 Algoritmy optimizacii na setyah i grafah M Mir s 323 Portal Matematika Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2015 Ce nezavershena stattya pro algoritmi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi