Otázka:
Jak vypočítat počet pozic v šachu?
shashank shekhar singh
2020-07-14 09:24:13 UTC
view on stackexchange narkive permalink

Může laik vysvětlit, jak spočítáte počet dostupných pozic v šachové hře a jak získáte obrovský počet 10 ^ 120 nebo 10 ^ 46?

Dva odpovědi:
user21820
2020-07-14 11:44:27 UTC
view on stackexchange narkive permalink

Můžeme snadno získat přiměřeně dobrou horní hranici počtu pozic. V každém okamžiku má každý hráč 16 figurek, z nichž 8 pěšců může být povýšeno na rytíře / biskupa / věž / královnu. Zvažte, že všechny zachycené figurky jsou mimo hrací plochu, ale část pozice (tím by se zvýšil počet pozic, ale to je v pořádku, protože chceme pouze horní hranici). Na každé pozici je tedy počet kombinací kusů, které má každý hráč, menší než 5 8 . Nejprve umístěte krále na hrací plochu. Existuje méně než 64 2 způsobů, jak toho dosáhnout. Seřaďte dalších 30 figurek v libovolném pořadí a pokládejte je jeden po druhém na hrací plochu nebo mimo hrací plochu (zajatou). Existuje maximálně 63 30 způsobů, jak toho dosáhnout. To dává celkem méně než (5 8 ) 2 × 64 ^ 2 × 63 ^ 30 < 6 × 10 68 pozic. Zdvojnásobte to a zahrňte, o koho jde. Ignoroval jsem práva rošády; pomocí podobných výpočtů můžete zkontrolovat, zda je zanedbatelný.

Tato hranice je mnohem menší než to, co jste uvedli ve své otázce, i když je to extrémně volná horní hranice, protože jste měli mylnou představu. Počet možných pozic není vůbec stejný jako počet možných her. Například existuje jen méně než 64 pozic 2 s pouhými 2 králi, ale alespoň 2 100 možných her začínajících od jakékoli takové pozice (podle pravidla 50 tahů, ale ignorování pravidla trojnásobného opakování pro snadný odhad). Odhad 10 120 navíc předpokládá, že hra vydrží 40 tahů (2 vrstvy) a každý tah má přibližně 1000 možností. Skutečný celkový počet možných her (včetně těch hloupých) je samozřejmě mnohem více než to, protože již máme 2 100 možných her KK samotných!

„Počet možných pozic není vůbec stejný jako počet možných her.“ to něco vědělo. to jsem nevěděl. Bylo by dobré dát počet možných pozic z jakéhokoli konkrétního otvoru, jako je sicilian nebo grunfeld. pak nebude problém spočítat počet her a byl by dobrým příkladem, kdyby se někdo snažil vypočítat nějaké jiné otevření. děkuji
@shashankshekharsingh: Chcete-li, aby vaše intuice fungovala lépe, zvažte jednoduchou „hru“, ve které máte tři buňky v řadě a jeden díl v jedné z buněk a při každém pohybu pouze přesunete díl do sousední buňky. Pak existují pouze 3 možné pozice, ale 2 ^ k možné hry, které vydrží 2k tahů.
„Seřaďte dalších 30 figur v libovolném pořadí a pokládejte je jeden po druhém na hrací plochu nebo mimo hrací plochu (zajatou).“ Díky tomu dává výpočet 63x62x ... x34 číslo, které je příliš malé (a nejedná se tedy o horní mez), protože „zachycená“ pozice může být zvolena několikrát, a tak nesnižuje počet možností pro další kus na výběr.
@StanleyF .: Bože, máš pravdu. Dovolte mi použít jednodušší zjevnou horní hranici 63 ...
Oscar Smith
2020-07-14 22:57:20 UTC
view on stackexchange narkive permalink

Jedním ze způsobů, jak to udělat, je přemýšlet o tom, jaké je nejmenší počítačové kódování šachové pozice (v bitech). Maximální velikost pro dané kódování poskytuje horní hranici počtu šachových pozic. Pro některé opravdu těsné horní hranice si přečtěte https://codegolf.stackexchange.com/questions/19397/smallest-chess-board-compression/19446#19446. To dává horní hranici 2 ^ 160 (10 ^ 48) pozic, která je trochu vysoká, ale ne o tolik vyšší než skutečná hodnota.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 4.0, pod kterou je distribuován.
Loading...