Predstavitev pozicij: Razlika med redakcijama
(9 vmesnih redakcij 2 uporabnikov ni prikazanih) | |||
Vrstica 1: | Vrstica 1: | ||
− | + | ==Bitna predstavitev pozicij== | |
− | + | Najbolj učinkovito predstavitev pozicij predstavlja '''Bitboard'''. Njena učinkovitost izvira iz učinkovitosti bitnih operacij. Ta predstavitev vsebuje množico 64 bitnih celih števil. Oba igralca imata 6 števil za vsak tip figure. Npr. spodnja pozicija ima naslednjo bitno predstavitev kmetov: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Najbolj učinkovito predstavitev predstavlja '''Bitboard'''. Ta predstavitev vsebuje množico 64 bitnih celih števil. Oba igralca imata 6 števil za vsak tip figure. Npr. spodnja pozicija ima naslednjo bitno predstavitev kmetov: | ||
<center> | <center> | ||
Vrstica 53: | Vrstica 37: | ||
== Rotacija bitne predstavitve == | == Rotacija bitne predstavitve == | ||
− | + | Predstavljena bitna predstavitev je nekoliko počasnejša v primeru drsečih figur (lovec, trdnjava in dama). | |
− | + | Pohitritev bitne predstavitve v primeru drsečih figur, omogoča rotiranj bitne predstavitve. Bitno predstavitev rotiramo za 45, 90 in 135 stopinj. Rotacija za 45 in 135 stopinj se uporablja za izračun diagonalnih potez in rotacija za 90 stopinj za izračun vertikalnih potez. Pohitritev bitne predstavitve glede na druge predstavitve je v ustvarjanju potez in odkrivanju napadenih polj brez uporabe programskih zank. | |
== Povezave == | == Povezave == | ||
Vrstica 65: | Vrstica 49: | ||
* [http://www.frayn.net/beowulf/theory.html#bitboards Bitboards] | * [http://www.frayn.net/beowulf/theory.html#bitboards Bitboards] | ||
+ | [[Category:Borko Bošković]] | ||
+ | [[Category:Raziskovalna dejavnost]] | ||
[[Category:Šahovski program BBChess]] | [[Category:Šahovski program BBChess]] | ||
− | [[Category: | + | [[Category:Predstavitev šahovske igre]] |
− | [[en: | + | |
+ | [[en:Position Representation]] |
Trenutna redakcija s časom 11:52, 20. oktober 2006
Bitna predstavitev pozicij
Najbolj učinkovito predstavitev pozicij predstavlja Bitboard. Njena učinkovitost izvira iz učinkovitosti bitnih operacij. Ta predstavitev vsebuje množico 64 bitnih celih števil. Oba igralca imata 6 števil za vsak tip figure. Npr. spodnja pozicija ima naslednjo bitno predstavitev kmetov:
0 0 0 0 0 0 0 0 |
64-bitna predstavitev omogoča zelo hiter generator potez in ocenitveno funkcijo. Npr. izraz (BeliKmeti << 8) & ~VsaFigure se uporablja za izračun vseh ciljnih polj belih kmetov, katere lahko premaknemo za eno polje naprej. Poglejmo ta izraz podrobneje. Najprej predstavitev belih kmetov premaknemo za 8 bitov oz. premaknemo kmete za eno polje naprej. Nato z negacijo predstavitve vseh figur dobimo predstavitev praznih polj. Na koncu z bitno operacijo IN med dobljenima predstavitvama dobimo predstavitev polj na katera lahko postavimo bele kmete, če jih premikamo za eno polje naprej. Podobno lahko izračunamo vse možne poteze za kmete, skakače, in kralja. Za drseče figure, pa moramo uporabiti še dodatno tehniko, ki je predstavljena v naslednjem poglavju.
Rotacija bitne predstavitve
Predstavljena bitna predstavitev je nekoliko počasnejša v primeru drsečih figur (lovec, trdnjava in dama). Pohitritev bitne predstavitve v primeru drsečih figur, omogoča rotiranj bitne predstavitve. Bitno predstavitev rotiramo za 45, 90 in 135 stopinj. Rotacija za 45 in 135 stopinj se uporablja za izračun diagonalnih potez in rotacija za 90 stopinj za izračun vertikalnih potez. Pohitritev bitne predstavitve glede na druge predstavitve je v ustvarjanju potez in odkrivanju napadenih polj brez uporabe programskih zank.