IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

9. diel - Minimax – Piškvorky proti užívateľovi – Úvod

V predchádzajúcom lekcii, Backtracking - Minimax - Úvod , sme si popísali princíp algoritmu minimax.

V dnešnom tutoriále o rekurzívnych algoritmoch využijeme naše znalosti algoritmu Minimax z lekcie Minimax - Úvod. Začneme vyvíjať program hrajúci piškvorky proti užívateľovi.

Úvod do hry Piškvorky

Hru piškvorky asi nemusíme príliš predstavovať. Dvaja hráči striedavo umiestňujú svoje symboly (obvykle znaky x a o) do štvorcovej mriežky. Vyhráva ten, komu sa podarí vytvoriť neprerušenú sériu svojich symbolov (či už vodorovne, zvisle alebo diagonálne) o vopred danej dĺžke.

Stavový priestor hry Piškvorky

Klasické piškvorky sa hrajú na ploche 15 x 15 a hráči musia pre výhru vytvoriť sériu piatich symbolov. Pre algoritmus Minimax je ale toto usporiadanie príliš náročné. Uvedomme si, že v prvom ťahu je na výber 225 pozícií, v druhom 224 atď. Pre iba tri ťahy dopredu má strom stavového priestoru viac ako 11 miliónov listov! Stupeň vetvenia tu je jednoducho obrovský a algoritmus takto rozsiahly stavový priestor nedokáže prehľadať do dostatočnej hĺbky v prijateľnom čase.

Tic-tac-toe

Skromnejší variant hry sa hrá na ploche 3 x 3 a na výhru sú potrebné práve tri znaky v sérii:


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 200 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 10 článkom (10 lekcií) tohoto kurzu.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V tutoriále o rekurzívnych algoritmoch využijeme znalosti algoritmu Minimax. Začneme programovať inteligentné piškvorky proti užívateľovi.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Jan Hnilica
Avatar
Autor se věnuje hlavně programování v C a v Pythonu
Aktivity