Гамильтонов цикл
Гамильтонов граф — граф, содержащий гамильтонов цикл. При этом гамильтоновым циклом является такой цикл (замкнутый путь), который проходит через каждую вершину данного графа ровно по одному разу; то есть простой цикл, в который входят все вершины графа.


Также с гамильтоновым графом тесно связано понятие гамильтонова пути, который является простым путём (путём без петель), проходящим через каждую вершину графа ровно один раз. Гамильтонов путь отличается от цикла тем, что у пути начальные и конечные точки могут не совпадать, в отличие от цикла. Гамильтонов цикл является гамильтоновым путём.
Гамильтоновы путь, цикл и граф названы в честь ирландского математика У. Гамильтона, который впервые определил эти классы, исследовав задачу «кругосветного путешествия» по додекаэдру. В этой задаче вершины додекаэдра символизировали известные города, такие как Брюссель, Амстердам, Эдинбург, Пекин, Прага, Дели, Франкфурт и др., а рёбра — соединяющие их дороги. Путешествующий должен пройти «вокруг света», найдя путь, который проходит через все вершины ровно один раз. Чтобы сделать задачу более интересной, порядок прохождения городов устанавливался заранее. А чтобы было легче запомнить, какие города уже соединены, в каждую вершину додекаэдра был вбит гвоздь, и проложенный путь отмечался небольшой верёвкой, которая могла обматываться вокруг гвоздя. Однако такая конструкция оказалась слишком громоздкой, и Гамильтон предложил новый вариант игры, заменив додекаэдр плоским графом, изоморфным графу, построенному на рёбрах додекаэдра.
Условия существования
Простое необходимое и достаточное условие существования гамильтонова цикла неизвестно.
Необходимое условие существования гамильтонова цикла в неориентированном графе: если неориентированный граф G содержит гамильтонов цикл, тогда в нём не существует ни одной вершины с локальной степенью
. Доказательство следует из определения.
Условие Поша: Пусть граф G имеет вершин. Если для всякого
,
, число вершин со степенями меньшими или равными n меньше, чем n, и для нечетного
число вершин со степенью
не превосходит
, то G — гамильтонов граф. Это достаточное условие не является необходимым.
Как следствие теоремы Поша, получаем более простые и менее сильные достаточные условия, найденные Дираком и Оре.
В 1952 году было сформулировано условие Дирака существования гамильтонова цикла: пусть — число вершин в данном графе и
; если степень каждой вершины не меньше, чем
, то данный граф — гамильтонов.
Условие Оре: пусть — количество вершин в данном графе и
. Если для любой пары несмежных вершин
выполнено неравенство
, то данный граф — гамильтонов (другими словами: сумма степеней любых двух несмежных вершин не меньше общего числа вершин в графе).
Теорема [англ.] — Хватала обобщает утверждения Дирака и Оре. Граф является гамильтоновым тогда и только тогда, когда его замыкание — гамильтонов граф. Для графа G с n вершинами замыкание строится добавлением в G ребра (u,v) для каждой пары несмежных вершин u и v, сумма степеней которых не меньше n.
Алгоритм поиска гамильтонова пути
Эвристические оптимизации
При прямом переборе вариантов вершин возможно значительное увеличение средней сложности поиска гамильтонова пути на случайных графах (если гарантируется наличие гамильтонова пути в графе). Для улучшения данного способа можно на каждом шаге перебора при некоторой построенной части цепи проверять, образуют ли оставшиеся вершины связный граф (если не образуют, то цепь не может являться началом гамильтоновой цепи); на каждом шаге перебора при выборе следующей вершины пробовать сначала вершины с наименьшей остаточной степенью (количеством рёбер, ведущих в ещё не посещённые вершины). Кроме того, если это дерево является цепью, то гамильтонов цикл в нём возможен. Иначе (если в дереве есть вершины со степенью не меньше, чем 3) построение гамильтонова цикла невозможно.
Примеры использования
Криптография
Гамильтонов цикл используется в системе так называемых протоколов с нулевым разглашением.
Пусть Пегги и Виктор знают один и тот же гамильтонов граф G, причём Пегги знает в нём гамильтонов цикл. Она хочет доказать это Виктору, не раскрывая ему самого цикла. Существует алгоритм того, как она должна действовать:
1. Пегги случайным образом преобразовывает граф G. Передвигая точки и изменяя их метки, она создаёт новый граф H, топологически изоморфный G. Тогда, зная гамильтонов цикл в G, она легко найдет его в H. Если бы она не сама создавала H, то определение изоморфизма между графами было бы слишком сложной задачей, решение которой требует огромного количества времени. Затем она шифрует H и получает граф H'.
2. Пегги передаёт Виктору H'.
3. Виктор просит Пегги либо:
- Доказать, что H' — зашифрованная изоморфная копия G, либо
- Показать гамильтонов цикл для H.
4. Пегги выполняет его просьбу. Она либо:
- Доказывает, что H' — зашифрованная изоморфная копия G, раскрывая преобразования и всё расшифровывая, не показывая гамильтонов цикл для G или H, либо
- Показывает гамильтонов цикл для H, расшифровывая только то, что образует гамильтонов цикл, не доказывая, что H и G топологически изоморфны.
5. Пегги и Виктор повторяют этапы 1 — 4 n раз.
Если Пегги не обманывает, то она сможет рассказать Виктору любое из доказательств на этапе 3. Однако если гамильтонов цикл для G ей самой неизвестен, она не сможет создать H', удовлетворяющий обоим доказательствам. Правда, Пегги может создать или граф, изоморфный G, или граф с таким же числом вершин и рёбер и правильным гамильтоновым циклом. И, хотя с вероятностью 50 % она может угадать, какое доказательство попросит Виктор на этапе 3, Виктор может повторить протокол достаточное число раз, пока не убедится, что Пегги знает гамильтонов цикл в G.
Экстремальные задачи теории графов: Задача коммивояжёра
Коммивояжёру необходимо посетить каждый город в пределах некоторой территории и возвратиться в пункт отправления. Требуется, чтобы путь был как можно короче. Таким образом, исходная задача преобразуется в задачу поиска минимальной протяженности (длительности или стоимости).
Задачу можно переформировать в терминах теории графов — построить такой граф G(X, A), вершины которого соответствуют городам, а ребра — коммуникации между городами. Решение этой задачи ищут среди гамильтоновых циклов построенного графа.
Известно много способов решения этой задачи. Можно выделить методы, разработанные Беллмором и Немхаузером, Гарфинкелем и Немхаузером, Хелдом и Карпом, Стекханом. Также известными решениями задачи коммивояжёра являются метод ветвей и границ и метод последовательного улучшения решения.
Связанные термины
Полугамильтоновым графом называется граф, содержащий простую цепь, проходящую через каждую его вершину ровно один раз. При этом, всякий гамильтонов граф является полугамильтоновым. Гамильтонов цикл является простым остовным циклом.
Суть задачи о гамильтоновом цикле — выяснить, имеет ли заданный граф G гамильтонов цикл. Данная задача является NP-полной.
Гамильтонова орцепь орграфа — простая цепь, проходящая через каждую вершину орграфа ровно один раз.
Гамильтоновым орциклом называется орцикл орграфа, который проходит через каждую его вершину.
Орграф называется полугамильтоновым, если он имеет гамильтонову орцепь, и гамильтоновым, если обладает гамильтоновым орциклом.
См. также
- Эйлеров цикл
- Задача о ходе коня
- Проблема семи мостов Кёнигсберга
- Китайская стена (головоломка)
- Турнир (теория графов)
- Жадный алгоритм
Примечания
- М. О. Асанов, В. А. Баранский, В. В. Расин. Дискретная математика: графы, матроиды, алгоритмы. — Ижевск: Регулярная и хаотическая динамика, 2001. — С. 41. — ISBN 5-93972-076-5.
- Свами, Тхуласираман, 1984, с. 55.
- Харари, 2003, с. 16—17.
- О. Оре. Графы и их применение. — Москва: Мир, 1965. — С. 40—41.
- Дмитрий Максимов. Пути и маршруты // Наука и жизнь. — 2020. — № 2. — С. 81—86. Архивировано 27 октября 2020 года.
- Харари, 2003, с. 86.
- Харари, 2003, с. 87.
- Свами, Тхуласираман, 1984, с. 61.
- Графы и алгоритмы: Лекция 8: Эйлеровы и гамильтоновы циклы. НОУ Интуит. Дата обращения: 20 ноября 2014. Архивировано 29 ноября 2014 года.
- Шнайер, 2002, с. 89—90.
- Майника, 1981, с. 241—264.
- Bellmore M., Nemhuser G. L. The Travelling Salesman Problem: A. Survey. — ORSA vol. 16, 1968. — С. 538-558.
- Garfinkel R., Namhauser G. L. Integer Programming. — New York: John Wiley, Inc., 1972. — С. 354-360.
- Held M., Karp R. The Travelling-Salesman Problem and Minimum Spanning Trees, Part II // Math. Programming. — 1971. — Vol. 1. — P. 6-25. — doi:10.1007/BF01584070.
- Steckhan H. A. Theorem on Symmetric Travelling Salesman Problems. — ORSA, vol. 18, 1970. — С. 1163-1167.
- Майника, 1981, с. 255—264.
- Уилсон И. Р., Эддиман А. М. Практическое введение в Паскаль. — Москва: Радио и связь, 1983. — С. 143.
- Татт, 1988.
- Т. Кормен, Ч. Лейзерсон, Р. Ривест. Алгоритмы. Построение и анализ. — Москва: МЦНМО, 2002. — С. 845—846.
- Долгих, Петренко, 2007.
Литература
- Ф. Харари. Теория графов. — М.: УРСС, 2003. — ISBN 5-354-00301-6.
- Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке C. — Триумф, 2002.
- К. Берж. Теория графов и её применение. — Москва: Издательство иностранной литературы, 1962.
- Р. Уилсон. Введение в теорию графов. — Москва: Мир, 1977.
- У. Татт. Теория графов. — Москва: Мир, 1988. — ISBN 5-03-001001-7.
- Н. Кристофидес. Теория Графов. — Москва: Мир, 1978.
- Б. А. Долгих, А. А. Петренко. Дискретная математика. — Москва: МГИУ, 2007. — С. 126—127. — ISBN 978-5-276-01103-5.
- М. Свами, К. Тхуласираман. Графы, сети и алгоритмы. — Москва: Мир, 1984.
- Э. Майника. Алгоритмы оптимизации на сетях и графах. — Москва: Мир, 1981.
Ссылки
- Weisstein, Eric W. Hamiltonian Circuit (англ.) на сайте Wolfram MathWorld.
- Теория графов и комбинаторика
- Эйлеровы и Гамильтоновы граф
- Поиск гамильтонова пути с помощью мембранной системы за полиномиальное время
- Поиск гамильтонова цикла в большом графе (задача коммивояжёра)
Эта статья входит в число добротных статей русскоязычного раздела Википедии. |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Гамильтонов цикл, Что такое Гамильтонов цикл? Что означает Гамильтонов цикл?
Gamiltonov graf graf soderzhashij gamiltonov cikl Pri etom gamiltonovym ciklom yavlyaetsya takoj cikl zamknutyj put kotoryj prohodit cherez kazhduyu vershinu dannogo grafa rovno po odnomu razu to est prostoj cikl v kotoryj vhodyat vse vershiny grafa Gamiltonova liniya dlya dodekaedra predlozhennaya Gamiltonom dlya zameny ego igry vokrug sveta na dodekaedre na zadachu dlya ploskogo grafaTri primera gamiltonovyh ciklov na grafe kvadratnoj reshetki 8x8 Takzhe s gamiltonovym grafom tesno svyazano ponyatie gamiltonova puti kotoryj yavlyaetsya prostym putyom putyom bez petel prohodyashim cherez kazhduyu vershinu grafa rovno odin raz Gamiltonov put otlichaetsya ot cikla tem chto u puti nachalnye i konechnye tochki mogut ne sovpadat v otlichie ot cikla Gamiltonov cikl yavlyaetsya gamiltonovym putyom Gamiltonovy put cikl i graf nazvany v chest irlandskogo matematika U Gamiltona kotoryj vpervye opredelil eti klassy issledovav zadachu krugosvetnogo puteshestviya po dodekaedru V etoj zadache vershiny dodekaedra simvolizirovali izvestnye goroda takie kak Bryussel Amsterdam Edinburg Pekin Praga Deli Frankfurt i dr a ryobra soedinyayushie ih dorogi Puteshestvuyushij dolzhen projti vokrug sveta najdya put kotoryj prohodit cherez vse vershiny rovno odin raz Chtoby sdelat zadachu bolee interesnoj poryadok prohozhdeniya gorodov ustanavlivalsya zaranee A chtoby bylo legche zapomnit kakie goroda uzhe soedineny v kazhduyu vershinu dodekaedra byl vbit gvozd i prolozhennyj put otmechalsya nebolshoj veryovkoj kotoraya mogla obmatyvatsya vokrug gvozdya Odnako takaya konstrukciya okazalas slishkom gromozdkoj i Gamilton predlozhil novyj variant igry zameniv dodekaedr ploskim grafom izomorfnym grafu postroennomu na ryobrah dodekaedra Usloviya sushestvovaniyaProstoe neobhodimoe i dostatochnoe uslovie sushestvovaniya gamiltonova cikla neizvestno Neobhodimoe uslovie sushestvovaniya gamiltonova cikla v neorientirovannom grafe esli neorientirovannyj graf G soderzhit gamiltonov cikl togda v nyom ne sushestvuet ni odnoj vershiny x i displaystyle x i s lokalnoj stepenyu p x i lt 2 displaystyle p x i lt 2 Dokazatelstvo sleduet iz opredeleniya Uslovie Posha Pust graf G imeet p gt 2 displaystyle p gt 2 vershin Esli dlya vsyakogo n displaystyle n 0 lt n lt p 1 2 displaystyle 0 lt n lt p 1 2 chislo vershin so stepenyami menshimi ili ravnymi n menshe chem n i dlya nechetnogo p displaystyle p chislo vershin so stepenyu p 1 2 displaystyle p 1 2 ne prevoshodit p 1 2 displaystyle p 1 2 to G gamiltonov graf Eto dostatochnoe uslovie ne yavlyaetsya neobhodimym Kak sledstvie teoremy Posha poluchaem bolee prostye i menee silnye dostatochnye usloviya najdennye Dirakom i Ore V 1952 godu bylo sformulirovano uslovie Diraka sushestvovaniya gamiltonova cikla pust p displaystyle p chislo vershin v dannom grafe i p gt 3 displaystyle p gt 3 esli stepen kazhdoj vershiny ne menshe chem p2 displaystyle frac p 2 to dannyj graf gamiltonov Osnovnaya statya Teorema Ore Uslovie Ore pust p displaystyle p kolichestvo vershin v dannom grafe i p gt 2 displaystyle p gt 2 Esli dlya lyuboj pary nesmezhnyh vershin x y displaystyle x y vypolneno neravenstvo deg x deg y p displaystyle deg x deg y geqslant p to dannyj graf gamiltonov drugimi slovami summa stepenej lyubyh dvuh nesmezhnyh vershin ne menshe obshego chisla vershin v grafe Teorema angl Hvatala obobshaet utverzhdeniya Diraka i Ore Graf yavlyaetsya gamiltonovym togda i tolko togda kogda ego zamykanie gamiltonov graf Dlya grafa G s n vershinami zamykanie stroitsya dobavleniem v G rebra u v dlya kazhdoj pary nesmezhnyh vershin u i v summa stepenej kotoryh ne menshe n Algoritm poiska gamiltonova putiEvristicheskie optimizacii Pri pryamom perebore variantov vershin vozmozhno znachitelnoe uvelichenie srednej slozhnosti poiska gamiltonova puti na sluchajnyh grafah esli garantiruetsya nalichie gamiltonova puti v grafe Dlya uluchsheniya dannogo sposoba mozhno na kazhdom shage perebora pri nekotoroj postroennoj chasti cepi proveryat obrazuyut li ostavshiesya vershiny svyaznyj graf esli ne obrazuyut to cep ne mozhet yavlyatsya nachalom gamiltonovoj cepi na kazhdom shage perebora pri vybore sleduyushej vershiny probovat snachala vershiny s naimenshej ostatochnoj stepenyu kolichestvom ryober vedushih v eshyo ne poseshyonnye vershiny Krome togo esli eto derevo yavlyaetsya cepyu to gamiltonov cikl v nyom vozmozhen Inache esli v dereve est vershiny so stepenyu ne menshe chem 3 postroenie gamiltonova cikla nevozmozhno Primery ispolzovaniyaKriptografiya Gamiltonov cikl ispolzuetsya v sisteme tak nazyvaemyh protokolov s nulevym razglasheniem Pust Peggi i Viktor znayut odin i tot zhe gamiltonov graf G prichyom Peggi znaet v nyom gamiltonov cikl Ona hochet dokazat eto Viktoru ne raskryvaya emu samogo cikla Sushestvuet algoritm togo kak ona dolzhna dejstvovat 1 Peggi sluchajnym obrazom preobrazovyvaet graf G Peredvigaya tochki i izmenyaya ih metki ona sozdayot novyj graf H topologicheski izomorfnyj G Togda znaya gamiltonov cikl v G ona legko najdet ego v H Esli by ona ne sama sozdavala H to opredelenie izomorfizma mezhdu grafami bylo by slishkom slozhnoj zadachej reshenie kotoroj trebuet ogromnogo kolichestva vremeni Zatem ona shifruet H i poluchaet graf H 2 Peggi peredayot Viktoru H 3 Viktor prosit Peggi libo Dokazat chto H zashifrovannaya izomorfnaya kopiya G libo Pokazat gamiltonov cikl dlya H 4 Peggi vypolnyaet ego prosbu Ona libo Dokazyvaet chto H zashifrovannaya izomorfnaya kopiya G raskryvaya preobrazovaniya i vsyo rasshifrovyvaya ne pokazyvaya gamiltonov cikl dlya G ili H libo Pokazyvaet gamiltonov cikl dlya H rasshifrovyvaya tolko to chto obrazuet gamiltonov cikl ne dokazyvaya chto H i G topologicheski izomorfny 5 Peggi i Viktor povtoryayut etapy 1 4 n raz Esli Peggi ne obmanyvaet to ona smozhet rasskazat Viktoru lyuboe iz dokazatelstv na etape 3 Odnako esli gamiltonov cikl dlya G ej samoj neizvesten ona ne smozhet sozdat H udovletvoryayushij oboim dokazatelstvam Pravda Peggi mozhet sozdat ili graf izomorfnyj G ili graf s takim zhe chislom vershin i ryober i pravilnym gamiltonovym ciklom I hotya s veroyatnostyu 50 ona mozhet ugadat kakoe dokazatelstvo poprosit Viktor na etape 3 Viktor mozhet povtorit protokol dostatochnoe chislo raz poka ne ubeditsya chto Peggi znaet gamiltonov cikl v G Ekstremalnye zadachi teorii grafov Zadacha kommivoyazhyora Osnovnaya statya Zadacha kommivoyazhyora Kommivoyazhyoru neobhodimo posetit kazhdyj gorod v predelah nekotoroj territorii i vozvratitsya v punkt otpravleniya Trebuetsya chtoby put byl kak mozhno koroche Takim obrazom ishodnaya zadacha preobrazuetsya v zadachu poiska minimalnoj protyazhennosti dlitelnosti ili stoimosti Zadachu mozhno pereformirovat v terminah teorii grafov postroit takoj graf G X A vershiny kotorogo sootvetstvuyut gorodam a rebra kommunikacii mezhdu gorodami Reshenie etoj zadachi ishut sredi gamiltonovyh ciklov postroennogo grafa Izvestno mnogo sposobov resheniya etoj zadachi Mozhno vydelit metody razrabotannye Bellmorom i Nemhauzerom Garfinkelem i Nemhauzerom Heldom i Karpom Stekhanom Takzhe izvestnymi resheniyami zadachi kommivoyazhyora yavlyayutsya metod vetvej i granic i metod posledovatelnogo uluchsheniya resheniya Svyazannye terminyPolugamiltonovym grafom nazyvaetsya graf soderzhashij prostuyu cep prohodyashuyu cherez kazhduyu ego vershinu rovno odin raz Pri etom vsyakij gamiltonov graf yavlyaetsya polugamiltonovym Gamiltonov cikl yavlyaetsya prostym ostovnym ciklom Sut zadachi o gamiltonovom cikle vyyasnit imeet li zadannyj graf G gamiltonov cikl Dannaya zadacha yavlyaetsya NP polnoj Gamiltonova orcep orgrafa prostaya cep prohodyashaya cherez kazhduyu vershinu orgrafa rovno odin raz Gamiltonovym orciklom nazyvaetsya orcikl orgrafa kotoryj prohodit cherez kazhduyu ego vershinu Orgraf nazyvaetsya polugamiltonovym esli on imeet gamiltonovu orcep i gamiltonovym esli obladaet gamiltonovym orciklom Sm takzheEjlerov cikl Zadacha o hode konya Problema semi mostov Kyonigsberga Kitajskaya stena golovolomka Turnir teoriya grafov Zhadnyj algoritmPrimechaniyaM O Asanov V A Baranskij V V Rasin Diskretnaya matematika grafy matroidy algoritmy Izhevsk Regulyarnaya i haoticheskaya dinamika 2001 S 41 ISBN 5 93972 076 5 Svami Thulasiraman 1984 s 55 Harari 2003 s 16 17 O Ore Grafy i ih primenenie Moskva Mir 1965 S 40 41 Dmitrij Maksimov Puti i marshruty Nauka i zhizn 2020 2 S 81 86 Arhivirovano 27 oktyabrya 2020 goda Harari 2003 s 86 Harari 2003 s 87 Svami Thulasiraman 1984 s 61 Grafy i algoritmy Lekciya 8 Ejlerovy i gamiltonovy cikly neopr NOU Intuit Data obrasheniya 20 noyabrya 2014 Arhivirovano 29 noyabrya 2014 goda Shnajer 2002 s 89 90 Majnika 1981 s 241 264 Bellmore M Nemhuser G L The Travelling Salesman Problem A Survey ORSA vol 16 1968 S 538 558 Garfinkel R Namhauser G L Integer Programming New York John Wiley Inc 1972 S 354 360 Held M Karp R The Travelling Salesman Problem and Minimum Spanning Trees Part II Math Programming 1971 Vol 1 P 6 25 doi 10 1007 BF01584070 Steckhan H A Theorem on Symmetric Travelling Salesman Problems ORSA vol 18 1970 S 1163 1167 Majnika 1981 s 255 264 Uilson I R Eddiman A M Prakticheskoe vvedenie v Paskal Moskva Radio i svyaz 1983 S 143 Tatt 1988 T Kormen Ch Lejzerson R Rivest Algoritmy Postroenie i analiz Moskva MCNMO 2002 S 845 846 Dolgih Petrenko 2007 LiteraturaF Harari Teoriya grafov M URSS 2003 ISBN 5 354 00301 6 B Shnajer Prikladnaya kriptografiya Protokoly algoritmy i ishodnye teksty na yazyke C Triumf 2002 K Berzh Teoriya grafov i eyo primenenie Moskva Izdatelstvo inostrannoj literatury 1962 R Uilson Vvedenie v teoriyu grafov Moskva Mir 1977 U Tatt Teoriya grafov Moskva Mir 1988 ISBN 5 03 001001 7 N Kristofides Teoriya Grafov Moskva Mir 1978 B A Dolgih A A Petrenko Diskretnaya matematika Moskva MGIU 2007 S 126 127 ISBN 978 5 276 01103 5 M Svami K Thulasiraman Grafy seti i algoritmy Moskva Mir 1984 E Majnika Algoritmy optimizacii na setyah i grafah Moskva Mir 1981 SsylkiWeisstein Eric W Hamiltonian Circuit angl na sajte Wolfram MathWorld Teoriya grafov i kombinatorika Ejlerovy i Gamiltonovy graf Poisk gamiltonova puti s pomoshyu membrannoj sistemy za polinomialnoe vremya Poisk gamiltonova cikla v bolshom grafe zadacha kommivoyazhyora Eta statya vhodit v chislo dobrotnyh statej russkoyazychnogo razdela Vikipedii
