Алгори́тм Бо́га — термін, який з'явився у зв'язку з обговоренням способів вирішення кубика Рубіка. Термін може також бути використаний у відношенні до інших перестановочних головоломок. Під алгоритмом Бога головоломки розуміється будь-який алгоритм, котрий дозволяє отримати рішення головоломки, яке містить мінімально можливе число ходів (оптимальне рішення), починаючи з будь-якої заданої конфігурації.
Один із піонерів математичної теорії кубика Рубіка Девід Сінгмастер описує появу терміну таким чином:
Джон Конвей, один з найбільших спеціалістів по теорії груп у світі, відмітив, що Кубик Рубіка підпорядковується так званим законам збереження (або парності), а це означає, що деякі рухи просто неможливі. Конвей або один із його колег в Кембриджі визначив найкоротший шлях з будь-якого даного стану назад до початкового стану як «Алгоритм Бога».
Оригінальний текст (англ.)John Conway, one of the world's greatest group theorists, observed that the Cube obeys what are known as conservation (or parity) laws, meaning that some moves are simply not possible. Either Conway or one of his colleagues at Cambridge defined the shortest route from any given position back to the starting position as «God's Algorithm».
Визначення
Алгоритм Бога може існувати для головоломок зі скінченним числом можливих конфігурацій і з скінченним набором «ходів», які допускаються у кожній конфігурації і які переводять поточну конфігурацію в іншу. Термін «розв'язати головоломку» означає — вказати послідовність ходів, що переводять деяку початкову конфігурацію в деяку кінцеву конфігурацію. Оптимально вирішити головоломку — вказати найкоротшу послідовність ходів для вирішення головоломки. Оптимальних рішень може бути декілька.
До відомих головоломок, які підпадають під це визначення, належать кубик Рубіка, Ханойська вежа, П'ятнашки, [en], різні завдання про переливання та перевезення («Вовк, коза і капуста»). Спільним для всіх цих головоломок є те, що вони можуть бути описані у вигляді графу, вершинами якого є всілякі конфігурації головоломки, а ребрами — допустимі переходи між ними («ходи»).
У багатьох подібних головоломках кінцева конфігурація негласно передбачається, наприклад, в «п'ятнашках» — впорядковане розташування кісточок, для кубика Рубіка — однокольоровість граней. У цих випадках «зібрати головоломку» означає, що потрібно для довільної початковій конфігурації вказати послідовність ходів, що приводять у фіксовану кінцеву конфігурацію.
Алгоритм вирішує головоломку, якщо він приймає як вихідні дані довільну пару початкової та кінцевої конфігурацій (або тільки початкову конфігурацію, якщо кінцева конфігурація зафіксована) і повертає як результат послідовність ходів, що переводять початкову конфігурацію в кінцеву (якщо така послідовність існує, в іншому випадку, алгоритм повідомляє про неможливість рішення). Оптимальне рішення містить мінімально можливу кількість ходів.
Тоді алгоритм Бога (для даної головоломки) — це алгоритм, який вирішує головоломку і знаходить для довільної пари конфігурацій хоча б одне оптимальне рішення.
Деякі автори вважають, що алгоритм Бога повинен також бути практичним, тобто використовувати розумний обсяг пам'яті і завершуватися в розумний час.
Нехай G — група (із заданою породжуючою множиною), v — вершина графу Келі групи G. Знайти (ефектнивний), практичний алгоритм для визначення шляху із v до вершини v0, пов'язану з нейтральним елементом, довжина якого дорівнює відстані від v до v0. […] Цей алгоритм називається алгоритмом Бога.
Оригінальний текст (англ.)Let G be the group of a permutation puzzle (with a fixed generating set) and let v be a vertex in the Cayley graph of G. Find an effective, practical algorithm for determining a path from v to the vertex v0 associated to the identity having a length equal to the distance from v to v0. [...] This algorithm is called God’s algorithm.— Девід Джойнер
Практичність можна розуміти по-різному. Так, існують комп'ютерні програми, які дозволяють за прийнятний час знайти оптимальне рішення для довільної конфігурації кубика Рубіка. Водночас аналогічна задача для кубика 4 × 4 × 4 на даний момент залишається практично нездійсненною. Для деяких головоломок існує стратегія, що дозволяє відповідно до простих правил визначити оптимальне рішення вручну, без допомоги комп'ютера.
Альтернативне визначення алгоритму Бога: від алгоритму не потрібно знаходження всієї послідовності ходів; замість цього достатньо знайти перший хід оптимального рішення, що наближує до мети і переводить в нову конфігурацію. Два визначення є еквівалентними: повторне застосування алгоритму до нової пари конфігурацій знову знаходить хід оптимального рішення, що дозволяє отримати всю послідовність ходів оптимального рішення.
Число Бога
Числом Бога даної головоломки називається число n, таке, що існує хоча б одна конфігурація головоломки, оптимальне рішення якої складається з n ходів, і не існує жодної конфігурації, довжина оптимального вирішення якої перевищує n. Іншими словами, число Бога — це точна верхня грань множини довжин оптимальних рішень конфігурацій головоломки.
Число Бога для кубика Рубіка дорівнює 20 — це діаметр графу Келі (групи кубика Рубіка).
У загальному випадку (для довільної перестановної головоломки), число Бога дорівнює не діаметру графу Келі групи головоломки, а (ексцентриситету вершини), що відповідає «зібраному» стану головоломки.
Приклади
- Кубик Рубіка 3×3×3 завжди може бути вирішене не більше ніж в 20 ходів ([en]), вимагають для збірки не менше 20 ходів. Таким чином, «число Бога» кубика Рубіка дорівнює 20.
- Число Бога кубика Рубіка 2 × 2 × 2 дорівнює 11 ходам, якщо поворот грані на 180° вважається за 1 хід, або 14 ходам, якщо поворот грані на 180° вважається за 2 ходи. Невелика (3674160) кількість конфігурацій кубика Рубіка 2 × 2 × 2 дозволило обчислити алгоритм Бога (у вигляді оптимального рішення для кожної конфігурації) ще в 80-х роках.
- Число Бога пірамідки Мефферта дорівнює 11.
- Триколірний кубик — кубик Рубіка, протилежні грані якого пофарбовані однаково. Число конфігурацій триколірного кубика дорівнює
- У березні-квітні 2012 року було встановлено, що число Бога триколірного кубика дорівнює 15 (FTM), 17 QTM або 14 STM (згідно (метриці) STM, поворот будь-якого середнього шару також вважається за 1 хід).
- П'ятнашки можуть бути вирішені в 80 «коротких» або 43 «довгих» ходів в гіршому випадку (під «короткими» ходами маються на увазі переміщення окремих кісточок, а під «довгими» — переміщення цілих рядів з 1, 2 або 3 кісточок). Для узагальнених пятнашек (з більшим, ніж 15, кількістю кісточок) завдання пошуку найкоротшого рішення є NP-повної.
- Для Ханойської вежі алгоритм Бога існує при будь-якій кількості дисків, але з додаванням дисків число ходів зростає експоненціально.
Див. також
Примітки
- История кубика Рубика. Архів оригіналу за 4 вересня 2013. Процитовано 20 липня 2013.
- Joyner, David (2002). Adventures in group theory: Rubik's Cube, Merlin's machine, and Other Mathematical Toys. Baltimore: Johns Hopkins University Press. ISBN .
- Herbert Kociemba. Cube Explorer. Архів оригіналу за 4 вересня 2013. Процитовано 27 липня 2013.
- . Архів оригіналу за 29 травня 2014. Процитовано 28 травня 2014.
- . Архів оригіналу за 29 травня 2014. Процитовано 28 травня 2014.
- . Архів оригіналу за 29 травня 2014. Процитовано 28 травня 2014.
- Weisstein, Eric W. . Архів оригіналу за 28 березня 2014. Процитовано 28 травня 2014.
- Rokicki, T.; Kociemba, H.; Davidson, M.; and Dethridge, J. God's Number is 20 (англ.). Архів оригіналу за 26 липня 2013. Процитовано 19 липня 2013.
- Jaap Scherphuis. Mini Cube, the 2×2×2 Rubik's Cube (англ.). Архів оригіналу за 4 вересня 2013. Процитовано 21 липня 2013.
- Jaap Scherphuis. Pyraminx (англ.). Архів оригіналу за 29 серпня 2013. Процитовано 21 липня 2013.
- Some 3-color cube results. Domain of the Cube Forum. Архів оригіналу за 4 вересня 2013. Процитовано 29 липня 2013.
- A. Brüngger, A. Marzetta, K. Fukuda and J. Nievergelt, The parallel search bench ZRAM and its applications [ 11 листопада 2017 у Wayback Machine.], Annals of Operations Research 90 (1999), pp. 45-63.
- Bruce Norskog (Wed, 12/08/2010 - 16:43). The Fifteen Puzzle can be solved in 43 "moves" (англ.). Архів оригіналу за 4 вересня 2013. Процитовано 20 липня 2013.
- Daniel Ratner, Manfred K. Warmuth (1986). «Finding a shortest solution for the N × N extension of the 15-puzzle is intractable» [ 9 березня 2012 у Wayback Machine.]. in Proceedings AAAI-86. National Conference on Artificial Intelligence, 1986. pp. 168–172.
- Carlos Rueda, .
Посилання
- (Костянтин Кноп)
- Алгоритм Бога і число Бога [ 30 травня 2014 у Wayback Machine.] (Sliding Tile Puzzle Corner)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algori tm Bo ga termin yakij z yavivsya u zv yazku z obgovorennyam sposobiv virishennya kubika Rubika Termin mozhe takozh buti vikoristanij u vidnoshenni do inshih perestanovochnih golovolomok Pid algoritmom Boga golovolomki rozumiyetsya bud yakij algoritm kotrij dozvolyaye otrimati rishennya golovolomki yake mistit minimalno mozhlive chislo hodiv optimalne rishennya pochinayuchi z bud yakoyi zadanoyi konfiguraciyi Odin iz pioneriv matematichnoyi teoriyi kubika Rubika Devid Singmaster opisuye poyavu terminu takim chinom Dzhon Konvej odin z najbilshih specialistiv po teoriyi grup u sviti vidmitiv sho Kubik Rubika pidporyadkovuyetsya tak zvanim zakonam zberezhennya abo parnosti a ce oznachaye sho deyaki ruhi prosto nemozhlivi Konvej abo odin iz jogo koleg v Kembridzhi viznachiv najkorotshij shlyah z bud yakogo danogo stanu nazad do pochatkovogo stanu yak Algoritm Boga Originalnij tekst angl John Conway one of the world s greatest group theorists observed that the Cube obeys what are known as conservation or parity laws meaning that some moves are simply not possible Either Conway or one of his colleagues at Cambridge defined the shortest route from any given position back to the starting position as God s Algorithm Devid SingmasterViznachennyaAlgoritm Boga mozhe isnuvati dlya golovolomok zi skinchennim chislom mozhlivih konfiguracij i z skinchennim naborom hodiv yaki dopuskayutsya u kozhnij konfiguraciyi i yaki perevodyat potochnu konfiguraciyu v inshu Termin rozv yazati golovolomku oznachaye vkazati poslidovnist hodiv sho perevodyat deyaku pochatkovu konfiguraciyu v deyaku kincevu konfiguraciyu Optimalno virishiti golovolomku vkazati najkorotshu poslidovnist hodiv dlya virishennya golovolomki Optimalnih rishen mozhe buti dekilka Do vidomih golovolomok yaki pidpadayut pid ce viznachennya nalezhat kubik Rubika Hanojska vezha P yatnashki en rizni zavdannya pro perelivannya ta perevezennya Vovk koza i kapusta Spilnim dlya vsih cih golovolomok ye te sho voni mozhut buti opisani u viglyadi grafu vershinami yakogo ye vsilyaki konfiguraciyi golovolomki a rebrami dopustimi perehodi mizh nimi hodi U bagatoh podibnih golovolomkah kinceva konfiguraciya neglasno peredbachayetsya napriklad v p yatnashkah vporyadkovane roztashuvannya kistochok dlya kubika Rubika odnokolorovist granej U cih vipadkah zibrati golovolomku oznachaye sho potribno dlya dovilnoyi pochatkovij konfiguraciyi vkazati poslidovnist hodiv sho privodyat u fiksovanu kincevu konfiguraciyu Algoritm virishuye golovolomku yaksho vin prijmaye yak vihidni dani dovilnu paru pochatkovoyi ta kincevoyi konfiguracij abo tilki pochatkovu konfiguraciyu yaksho kinceva konfiguraciya zafiksovana i povertaye yak rezultat poslidovnist hodiv sho perevodyat pochatkovu konfiguraciyu v kincevu yaksho taka poslidovnist isnuye v inshomu vipadku algoritm povidomlyaye pro nemozhlivist rishennya Optimalne rishennya mistit minimalno mozhlivu kilkist hodiv Todi algoritm Boga dlya danoyi golovolomki ce algoritm yakij virishuye golovolomku i znahodit dlya dovilnoyi pari konfiguracij hocha b odne optimalne rishennya Deyaki avtori vvazhayut sho algoritm Boga povinen takozh buti praktichnim tobto vikoristovuvati rozumnij obsyag pam yati i zavershuvatisya v rozumnij chas Nehaj G grupa iz zadanoyu porodzhuyuchoyu mnozhinoyu v vershina grafu Keli grupi G Znajti efektnivnij praktichnij algoritm dlya viznachennya shlyahu iz v do vershini v0 pov yazanu z nejtralnim elementom dovzhina yakogo dorivnyuye vidstani vid v do v0 Cej algoritm nazivayetsya algoritmom Boga Originalnij tekst angl Let G be the group of a permutation puzzle with a fixed generating set and let v be a vertex in the Cayley graph of G Find an effective practical algorithm for determining a path from v to the vertex v0 associated to the identity having a length equal to the distance from v to v0 This algorithm is called God s algorithm Devid Dzhojner Praktichnist mozhna rozumiti po riznomu Tak isnuyut komp yuterni programi yaki dozvolyayut za prijnyatnij chas znajti optimalne rishennya dlya dovilnoyi konfiguraciyi kubika Rubika Vodnochas analogichna zadacha dlya kubika 4 4 4 na danij moment zalishayetsya praktichno nezdijsnennoyu Dlya deyakih golovolomok isnuye strategiya sho dozvolyaye vidpovidno do prostih pravil viznachiti optimalne rishennya vruchnu bez dopomogi komp yutera Alternativne viznachennya algoritmu Boga vid algoritmu ne potribno znahodzhennya vsiyeyi poslidovnosti hodiv zamist cogo dostatno znajti pershij hid optimalnogo rishennya sho nablizhuye do meti i perevodit v novu konfiguraciyu Dva viznachennya ye ekvivalentnimi povtorne zastosuvannya algoritmu do novoyi pari konfiguracij znovu znahodit hid optimalnogo rishennya sho dozvolyaye otrimati vsyu poslidovnist hodiv optimalnogo rishennya Chislo BogaChislom Boga danoyi golovolomki nazivayetsya chislo n take sho isnuye hocha b odna konfiguraciya golovolomki optimalne rishennya yakoyi skladayetsya zn hodiv i ne isnuye zhodnoyikonfiguraciyi dovzhina optimalnogo virishennya yakoyi perevishuye n Inshimi slovami chislo Boga ce tochna verhnya gran mnozhini dovzhin optimalnih rishen konfiguracij golovolomki Chislo Boga dlya kubika Rubika dorivnyuye 20 ce diametr grafu Keli grupi kubika Rubika U zagalnomu vipadku dlya dovilnoyi perestanovnoyi golovolomki chislo Boga dorivnyuye ne diametru grafu Keli grupi golovolomki a ekscentrisitetu vershini sho vidpovidaye zibranomu stanu golovolomki PrikladiKubik Rubika 3 3 3 zavzhdi mozhe buti virishene ne bilshe nizh v 20 hodiv en vimagayut dlya zbirki ne menshe 20 hodiv Takim chinom chislo Boga kubika Rubika dorivnyuye 20 Chislo Boga kubika Rubika 2 2 2 dorivnyuye 11 hodam yaksho povorot grani na 180 vvazhayetsya za 1 hid abo 14 hodam yaksho povorot grani na 180 vvazhayetsya za 2 hodi Nevelika 3674160 kilkist konfiguracij kubika Rubika 2 2 2 dozvolilo obchisliti algoritm Boga u viglyadi optimalnogo rishennya dlya kozhnoyi konfiguraciyi she v 80 h rokah Chislo Boga piramidki Mefferta dorivnyuye 11 Trikolirnij kubik kubik Rubika protilezhni grani yakogo pofarbovani odnakovo Chislo konfiguracij trikolirnogo kubika dorivnyuye 2 11 3 7 C 12 4 C 8 4 2 10 863 756 288 000 displaystyle 2 11 cdot 3 7 cdot C 12 4 cdot C 8 4 2 10 863 756 288 000 U berezni kvitni 2012 roku bulo vstanovleno sho chislo Boga trikolirnogo kubika dorivnyuye 15 FTM 17 QTM abo 14 STM zgidno metrici STM povorot bud yakogo serednogo sharu takozh vvazhayetsya za 1 hid P yatnashki mozhut buti virisheni v 80 korotkih abo 43 dovgih hodiv v girshomu vipadku pid korotkimi hodami mayutsya na uvazi peremishennya okremih kistochok a pid dovgimi peremishennya cilih ryadiv z 1 2 abo 3 kistochok Dlya uzagalnenih pyatnashek z bilshim nizh 15 kilkistyu kistochok zavdannya poshuku najkorotshogo rishennya ye NP povnoyi Dlya Hanojskoyi vezhi algoritm Boga isnuye pri bud yakij kilkosti diskiv ale z dodavannyam diskiv chislo hodiv zrostaye eksponencialno Div takozhKubik Rubika Piramidka MeffertaPrimitkiIstoriya kubika Rubika Arhiv originalu za 4 veresnya 2013 Procitovano 20 lipnya 2013 Joyner David 2002 Adventures in group theory Rubik s Cube Merlin s machine and Other Mathematical Toys Baltimore Johns Hopkins University Press ISBN 0 8018 6947 1 Herbert Kociemba Cube Explorer Arhiv originalu za 4 veresnya 2013 Procitovano 27 lipnya 2013 Arhiv originalu za 29 travnya 2014 Procitovano 28 travnya 2014 Arhiv originalu za 29 travnya 2014 Procitovano 28 travnya 2014 Arhiv originalu za 29 travnya 2014 Procitovano 28 travnya 2014 Weisstein Eric W Arhiv originalu za 28 bereznya 2014 Procitovano 28 travnya 2014 Rokicki T Kociemba H Davidson M and Dethridge J God s Number is 20 angl Arhiv originalu za 26 lipnya 2013 Procitovano 19 lipnya 2013 Jaap Scherphuis Mini Cube the 2 2 2 Rubik s Cube angl Arhiv originalu za 4 veresnya 2013 Procitovano 21 lipnya 2013 Jaap Scherphuis Pyraminx angl Arhiv originalu za 29 serpnya 2013 Procitovano 21 lipnya 2013 Some 3 color cube results Domain of the Cube Forum Arhiv originalu za 4 veresnya 2013 Procitovano 29 lipnya 2013 A Brungger A Marzetta K Fukuda and J Nievergelt The parallel search bench ZRAM and its applications 11 listopada 2017 u Wayback Machine Annals of Operations Research 90 1999 pp 45 63 Bruce Norskog Wed 12 08 2010 16 43 The Fifteen Puzzle can be solved in 43 moves angl Arhiv originalu za 4 veresnya 2013 Procitovano 20 lipnya 2013 Daniel Ratner Manfred K Warmuth 1986 Finding a shortest solution for the N N extension of the 15 puzzle is intractable 9 bereznya 2012 u Wayback Machine in Proceedings AAAI 86 National Conference on Artificial Intelligence 1986 pp 168 172 Carlos Rueda Posilannya Kostyantin Knop Algoritm Boga i chislo Boga 30 travnya 2014 u Wayback Machine Sliding Tile Puzzle Corner