Prohlídka rytířů - Knights tour - Wikipedia
A rytířské turné je sled tahů a rytíř na šachovnice tak, že rytíř navštíví každé náměstí přesně jednou. Pokud rytíř končí na čtverci, který je jedním rytířským tahem od počátečního čtverce (aby mohl okamžitě projít po desce po stejné cestě), je prohlídka uzavřena; jinak je otevřený.[1][2]
The problém s rytířským turné je matematický problém najít rytířské turné. Vytváření a program najít rytířské turné je běžným problémem počítačová věda studenti.[3] Variace rytířské cesty zahrnují šachovnice různých velikostí, než je obvyklé 8 × 8, stejně jako nepravidelné (ne obdélníkové) desky.
Teorie
Rytířský problém s prohlídkou je příkladem obecnějšího Problém hamiltonovské cesty v teorie grafů. Problém nalezení uzavřené rytířské cesty je obdobou případu Hamiltoniánský cyklus. Na rozdíl od obecného problému s hamiltoniánskou cestou lze problém rytířské cesty vyřešit v lineární čas.[4]
Dějiny
Nejdříve známá zmínka o rytířském turné se datuje do 9. století našeho letopočtu. v Rudraṭa Kavyalankara[5] (5.15), sanskrtské dílo Poetika, vzor rytířské cesty na polopenzi byl představen jako komplikovaná poetická postava (citra-alaṅkāra) volal turagapadabandha nebo „uspořádání v krocích koně“. Stejný verš ve čtyřech řadách po osmi slabikách lze číst zleva doprava nebo sledováním cesty rytíře na cestě. Protože Indické systémy psaní používané pro sanskrt jsou slabičné, každou slabiku lze považovat za představující čtverec na šachovnici. Příklad Rudraty je následující:
.े | .ा | ली | ली | ली | .ा | .ा | ली |
ली | .ा | .ा | .ा | .ा | ली | ली | ली |
न | ली | .ा | ली | .े | .ा | ली | .ा |
ली | ली | ली | .ा | .ा | .ा | .ा | ली |
přepsáno:
se | na | já | já | já | na | na | já |
já | na | na | na | na | já | já | já |
na | já | na | já | le | na | já | na |
já | já | já | na | na | na | na | já |
Například první řádek lze číst zleva doprava nebo přesunutím z prvního čtverce do druhého řádku, třetí slabiky (2.3) a poté na 1,5 až 2,7 až 4,8 až 3,6 až 4,4 až 3,2.
The Sri Vaishnava básník a filozof Vedanta Desika během 14. století ve svém 10000 veršovém díle magnum chválil Pána Ranganatha božské sandály z Srirangam, tj. Paduka Sahasram (v kapitole 30: Chitra Paddhati) složil dva po sobě jdoucí Sanskrt verše obsahující každý 32 písmen (v Anushtubh metr), kde lze druhý verš odvodit z prvního verše provedením Rytířské prohlídky na a 4 × 8 deska, počínaje levým horním rohem.[6] Přepsaný 19. verš je následující:
sThi (1) | rA (30) | ga (9) | sAm (20) | sa (3) | dhA (24) | rA (11) | dhyA (26) |
vi (16) | ha (19) | thA (2) | ka (29) | tha (10) | thA (27) | ma (4) | thA (23) |
sa (31) | thpA (8) | dhu (17) | kE (14) | sa (21) | rA (6) | sA (25) | mA (12) |
běžel (18) | ga (15) | rA (32) | ja (7) | pa (28) | dha (13) | nna (22) | ya (5) |
20. verš, který lze získat provedením Rytířského turné ve výše uvedeném verši, je následující:
sThi thA sa ma ya rA ja thpA
ga tha rA mA dha kE ga vi |
dhu běžel ha sAm sa nna thA dhA
sA dhyA thA pa ka rA sa rA ||
Předpokládá se, že Desika složila všech 1008 veršů (včetně speciálních Chaturanga Turanga Padabandham výše) za jedinou noc jako výzvu.[7]
Prohlídka popsaná v páté knize Bhagavantabaskaraby od Bhata Nilakantha, cyklopedické dílo v sanskrtu o rituálu, právu a politice, napsané buď kolem roku 1600, nebo kolem roku 1700, popisuje tři rytířské cesty. Prohlídky jsou nejen opakované, ale také symetrické a verše jsou založeny na stejné prohlídce, počínaje různými čtverci.[8] Dílo Bhata Nilakantha je mimořádným počinem, protože je plně symetrickým uzavřeným turné, které předcházelo Eulerovu práci (1759) nejméně o 60 let.
Jeden z prvních matematiků, kteří zkoumali rytířskou cestu, byl Leonhard Euler. Prvním postupem dokončení rytířské cesty bylo Warnsdorffovo pravidlo, poprvé popsané v roce 1823 H. C. von Warnsdorffem.
Ve 20. století se Oulipo skupina spisovatelů to mimo jiné používala. Nejpozoruhodnějším příkladem je 10 × 10 rytířská prohlídka, která určuje pořadí kapitol Georges Perec román Life a User's Manual.
Šestá hra Mistrovství světa v šachu 2010 mezi Viswanathan Anand a Veselin Topalov viděl Ananda dělat 13 po sobě jdoucích rytířských tahů (i když s použitím obou rytířů); online komentátoři žertovali, že se Anand během hry pokoušel vyřešit problém s rytířským turné.
Existence
Schwenk[9] dokázal, že pro všechny m × n nastoupit s m ≤ n, uzavřená rytířská prohlídka je vždy možná pokud je splněna jedna nebo více z těchto tří podmínek:
- m a n jsou oba zvláštní
- m = 1, 2 nebo 4
- m = 3 a n = 4, 6 nebo 8.
Vyřazeno et al. a Conrad et al. dokázal, že na každé obdélníkové desce, jejíž menší rozměr je alespoň 5, je (možná otevřená) rytířská prohlídka.[4][10]
Počet prohlídek
Na 8 × 8 na palubě je přesně 26 534 728 821 064 režie uzavřené prohlídky (tj. dvě prohlídky po stejné cestě, které cestují v opačných směrech, se počítají zvlášť, stejně jako rotace a odrazy ).[11][12][13] Počet neorientovaný uzavřených prohlídek je polovina tohoto počtu, protože každou prohlídku lze vysledovat obráceně. Existuje 9 862 neřízených uzavřených prohlídek na a 6 × 6 prkno.[14]
n | Počet cílených prohlídek (otevřených a uzavřených) na n × n prkno (sekvence A165134 v OEIS ) |
---|---|
1 | 1 |
2 | 0 |
3 | 0 |
4 | 0 |
5 | 1,728 |
6 | 6,637,920 |
7 | 165,575,218,320 |
8 | 19,591,828,170,979,904 |
Hledání prohlídek s počítači
Existuje několik způsobů, jak najít rytířskou prohlídku na dané desce s počítačem. Některé z těchto metod jsou algoritmy zatímco ostatní jsou heuristika.
Algoritmy hrubé síly
A vyhledávání hrubou silou pro rytíře je nepraktické na všech, kromě nejmenších desek.[15] Například existuje přibližně 4 × 1051 možné sekvence pohybu na 8 × 8 prkno,[16] a je daleko nad kapacitu moderních počítačů (nebo počítačových sítí) provádět operace na takové velké sadě. Velikost tohoto čísla však nenaznačuje obtížnost problému, který lze vyřešit „pomocí lidského vhledu a vynalézavosti ... bez větších obtíží“.[15]
Algoritmy rozděl a panuj
Rozdělením desky na menší kousky, vytvořením zájezdů na každém kusu a opravením kousků dohromady můžete vytvořit zájezdy na většině obdélníkových desek v lineární čas - to znamená v čase úměrném počtu čtverců na desce.[10][17]
Warnsdorffovo pravidlo
A | b | C | d | E | F | G | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
A | b | C | d | E | F | G | h |
Warnsdorffovo pravidlo je a heuristický za nalezení turné jediného rytíře. Rytíř se pohybuje tak, aby vždy postupoval na pole, ze kterého bude mít rytíř nejméně další pohyby. Při výpočtu počtu dalších tahů pro každý kandidátský čtverec nepočítáme tahy, které se vracejí k již navštívenému čtverci. Je možné mít dvě nebo více možností, u nichž je počet dalších tahů stejný; existují různé metody prolomení takových vazeb, včetně metody navržené Pohlem[18] a další Veverka a Cull.[19]
Toto pravidlo lze také obecněji použít na jakýkoli graf. Z graficko-teoretického hlediska je každý pohyb proveden do sousedního vrcholu s nejmenším stupeň.[20] Ačkoliv Problém hamiltonovské cesty je NP-tvrdé obecně je na mnoha grafech, které se v praxi vyskytují, tato heuristika schopna úspěšně najít řešení v lineární čas.[18] Rytířská cesta je takovým zvláštním případem.[21]
The heuristický byl poprvé popsán v „Des Rösselsprungs einfachste und allgemeinste Lösung“ H. C. von Warnsdorffem v roce 1823.[21]
Počítačový program, který najde rytířskou cestu pro jakoukoli výchozí pozici pomocí Warnsdorffova pravidla, napsal Gordon Horsington a byl publikován v roce 1984 v knize Uživatelská kniha počítačových hádanek Century / Acorn.[22]
Řešení neuronových sítí
Rytířský problém s cestováním se také dá vyřešit pomocí a nervová síť implementace.[23] Síť je nastavena tak, že každý legální rytířský tah je reprezentován a neuron, a každý neuron je inicializován náhodně buď jako „aktivní“ nebo „neaktivní“ (výstup 1 nebo 0), přičemž 1 znamená, že neuron je součástí řešení. Každý neuron má také stavovou funkci (popsanou níže), která je inicializována na 0.
Když je síť povolena, může každý neuron změnit svůj stav a výstup na základě stavů a výstupů svých sousedů (těch, které se přesně vzdálí jednoho rytíře) podle následujících přechodových pravidel:
kde představuje diskrétní časové intervaly, je stav neuronového spojovacího čtverce na čtverec , je výstup neuronu z na , a je množina sousedů neuronu.
Ačkoli jsou možné odlišné případy, síť by se měla nakonec sblížit, což nastane, když žádný neuron časem nezmění svůj stav na . Když se síť sblíží, buď zakóduje rytířskou prohlídku, nebo sérii dvou nebo více nezávislých obvodů na stejné desce.
Varianty
A | b | C | d | E | F | G | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
A | b | C | d | E | F | G | h |
A | b | C | d | E | F | G | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
A | b | C | d | E | F | G | h |
Klání
Klání je hráč pro dva hráče abstraktní strategie desková hra což lze považovat za variantu rytířského turné pro dva hráče. Lze jej také považovat za šachovou variantu.[24][25] Používá kostkovanou desku 8 x 8 a dvě Šachoví rytíři jako jediné herní kousky. Každý hráč má jednoho rytíře jiné barvy než ten druhý. Rytíři se pohybují jako ve hře Šachy, ale pole, které opustí (po provedení tahu) se stane „spáleno“, to znamená, že na něj již nelze pohnout. Jak hra postupuje, je k dispozici k přesunutí méně čtverců. Cílem je zabránit tomu, aby rytíř soupeře provedl tah na svém tahu.
Gerry Quinn vytvořil freewarovou verzi hry a hru nazval Joust. Quinn to založil na starém Amiga Počítačová hra ve veřejné doméně (PD), i když si není jisté, zda se jedná o konečný původ hry, a jestli ji tak Amiga nazvala. Podle Quinna ve variantě Amiga začínají rytíři každého hráče ve středu hrací desky. V Quinnově variantě rytíři začínají na náhodném čtverci na opačných stranách desky.
Klání by nemělo být zaměňováno s 1982 videohra stejného jména.
Hra rytířů
Hra s názvem Amiga Hra rytířů vytvořený Charlesem N. Jacobem mohla být hra, na kterou Quinn odkazoval.[26] Byla to sharewarová hra hraná na Amigově Workbench. Tato hra uvádí, že „Hra rytířů funguje na všech Amigách s Pracovní stůl 1.3 nebo vyšší ". Hra bohužel nezmiňuje, kdy byla vytvořena nebo vydána, proto není známo, zda předchází Quinnově verzi. Rytíři však začínají na opačných stranách desky, a ne ve středu desky, jak je výslovně uvedeno Quinn. K dispozici je také možnost, aby se rytíři navzájem zajali, a tak zvítězili alternativním způsobem. Hra je také částečně vyprávěna ve francouzštině a možná pochází z kanadského Quebecu, jak naznačují kontaktní údaje autora na kartě O aplikaci.
Existuje několik dalších variant, jako je misere verze, kde pokud váš rytíř nemůže provést legální tah, pak vyhrajete.[24] Počáteční pozice může být také v jiné části desky, jako jsou rohy. Lze použít různé velikosti desek. Místo rytířů mohou být použity další šachové figurky, jako je král, královna, věž nebo biskup. Může být také přidán granát, to znamená, že se hráč může rozhodnout „vypálit“ další pole, které ještě nebylo spáleno a není aktuálně obsazeno. Granátování může být omezeno na typ šachové figurky použitý ve hře, například při hře s rytíři může hráč granovat pouze nespálený čtverec, což je rytířský krok pryč. Nebo se hráči mohou dohodnout na granátování jakéhokoli nespáleného čtverce, který není obsazen nikde na desce. Hráči se také mohou rozhodnout, zda by mělo být povoleno granátování před nebo po dokončení tahu.
Viz také
Poznámky
- ^ Brown, Alfred James (2017). „Rytířské prohlídky a funkce Zeta“ (PDF). Státní univerzita v San José. str. 3. Citováno 2019-04-13.
- ^ Hooper, Davide; Whyld, Kenneth (1996) [First pub. 1992]. "rytířské turné". Oxfordský společník šachu (2. vyd.). Oxford University Press. str. 204. ISBN 0-19-280049-3.
- ^ Deitel, H. M .; Deitel, P. J. (2003). Java Jak programovat páté vydání (5. vydání). Prentice Hall. str.326–328. ISBN 978-0131016217.
- ^ A b Conrad, A .; Hindrichs, T .; Morsy, H. & Wegener, I. (1994). „Řešení problému rytířské hamiltonovské cesty na šachovnicích“. Diskrétní aplikovaná matematika. 50 (2): 125–134. doi:10.1016 / 0166-218X (92) 00170-Q.
- ^ Satyadev, Chaudhary. Kavyalankara z Rudraty (sanskrtský text s překladem do hindštiny);. Delhitraversal: Parimal Sanskrit Series No. 30.
- ^ „Indický institut informačních technologií, Bangalore“. www.iiitb.ac.in. Citováno 2019-10-11.
- ^ Most-Indie (08.08.2011). „Bridge-India: Paduka Sahasram od Vedanta Desika“. Most-Indie. Citováno 2019-10-16.
- ^ Historie šachu Murray
- ^ Allen J. Schwenk (1991). „Které obdélníkové šachovnice mají rytířské turné?“ (PDF). Matematický časopis: 325–332.
- ^ A b Cull, P .; De Curtins, J. (1978). „Rytířská prohlídka znovu navštívena“ (PDF). Fibonacci čtvrtletně. 16: 276–285.
- ^ Martin Loebbing; Ingo Wegener (1996). „Počet rytířských prohlídek se rovná 33 439 123 484 294 - počítání s binárními rozhodovacími diagramy“. Electronic Journal of Combinatorics. 3 (1): R5. doi:10.37236/1229. Poznámka: Autoři později připustil že oznámené číslo není správné. Podle McKayovy zprávy je správné číslo 13 267 364 410 532 a toto číslo se opakuje ve Wegenerově knize z roku 2000.
- ^ Brendan McKay (1997). „Rytířské zájezdy na 8 × 8 Šachovnice". Technická zpráva TR-CS-97-03. Katedra informatiky, Australská národní univerzita. Archivovány od originál dne 2013-09-28. Citováno 2013-09-22.
- ^ Wegener, I. (2000). Rozvětvovací programy a binární rozhodovací diagramy. Společnost pro průmyslovou a aplikovanou matematiku. ISBN 978-0-89871-458-6.
- ^ Weisstein, Eric W. "Rytířský graf". MathWorld.
- ^ A b Simon, Dan (2013), Evoluční optimalizační algoritmy, John Wiley & Sons, str. 449–450, ISBN 9781118659502,
Rytířský cestovní problém je klasický kombinatorický optimalizační problém. ... mohutnost NX z X (velikost vyhledávacího prostoru) je větší než 3,3 × 1013 (Löbbing a Wegener, 1995). Nechtěli bychom se pokusit vyřešit tento problém hrubou silou, ale pomocí lidského vhledu a vynalézavosti můžeme rytířskou cestu vyřešit bez větších obtíží. Vidíme, že mohutnost problému kombinatorické optimalizace nemusí nutně svědčit o jeho obtížnosti.
- ^ "Výčet Rytířského turné". Archivovány od originál dne 15. 6. 2019.
- ^ Parberry, Ian (1997). „Efektivní algoritmus pro problém s rytířským turné“ (PDF). Diskrétní aplikovaná matematika. 73 (3): 251–260. doi:10.1016 / S0166-218X (96) 00010-8.
- ^ A b Pohl, Ira (červenec 1967). "Metoda pro nalezení Hamiltonových cest a Rytířských túr". Komunikace ACM. 10 (7): 446–449. CiteSeerX 10.1.1.412.8410. doi:10.1145/363427.363463.
- ^ Veverka, Douglas; Cull, P. (1996). „Algoritmus Warnsdorffova pravidla pro rytířské zájezdy na čtvercové desky“ (PDF). Citováno 2011-08-21.
- ^ Van Horn, Gijs; Olij, Richard; Sleegers, Joeri; Van den Berg, Daan (2018). Prediktivní analýza dat pro tvrdost problémových případů Hamiltonovského cyklu (PDF). DATA ANALYTICS 2018: Sedmá mezinárodní konference o analýze dat. Atény, Řecko: XPS. str. 91–96. ISBN 978-1-61208-681-1. Citováno 2018-11-27.
- ^ A b Alwan, Karla; Waters, K. (1992). Hledání re-entrantských rytířských prohlídek na palubách N-by-M. Jihovýchodní regionální konference ACM. New York, New York: ACM. 377–382. doi:10.1145/503720.503806.
- ^ Dally, Simon, ed. (1984). Uživatelská kniha počítačových hádanek Century / Acorn. ISBN 978-0712605410.
- ^ Y. Takefuji, K. C. Lee. „Výpočet neurální sítě pro problémy s rytířským turné.“ Neuropočítání, 4(5):249–254, 1992.
- ^ A b Greenbride, Isaac; Jurka, Mike; Le, Dave. „Klání“. GameCrafters. Citováno 12. ledna 2020.
- ^ „Klání“. Stránky šachových variant. Citováno 12. ledna 2020.
- ^ „AMIGA HRA RYTÍŘŮ Charles N Jacob Pohybujte se na více dlaždicích než váš protivník S POHYBY Z CHESS HO“. Youtube. Citováno 13. ledna 2020.
externí odkazy
- OEIS sekvence A001230 (počet neorientovaných uzavřených rytířských prohlídek na šachovnici 2 x X 2 n)
- H. C. von Warnsdorf 1823 v Knihách Google
- Úvod do rytířských zájezdů od George Jellissa
- Rytířské zájezdy doplňují poznámky George Jellissa
- Philip, Anish (2013). "Zobecněný pseudo-rytířský cestovní algoritmus pro šifrování obrazu". Potenciály IEEE. 32 (6): 10–16. doi:10.1109 / MPOT.2012.2219651.