AmoriaxTaktická římská deskovka

Jak se programuje symetrie

Publikováno 04.03.2025 v 22:32 v kategorii Blog, přečteno: 39x

Jak se programuje symetrie? Obecně dost špatně. Málokdo by asi věřil, že vytvořit algoritmus, který rozpozná symetrii, respektive míru symetrie, není něco až tak samozřejmého a už vůbec ne triviálního.


Člověk – oko člověka – vidí, dá se říci, na první pohled i v relativně složitých obrazcích a strukturách, zda se tam nějaká symetrie vyskytuje nebo jak je silná. Algoritmus se ale nemá možnost podívat na strukturu jako na celek, ale prochází lokace jeho jednotlivých bodů. A najít strukturu jen pomocí vztahů mezi těmito body je obvykle značně komplikované.


V Amoriaxu je kontrolování symetrie poměrně zásadní strategický prvek. Není to ale samozřejmě prvek kruciální. To znamená, že neplatí úměra, že když hráč drží více symetrických vazeb, musí nutně vyhrát oproti tomu, kdo je nedrží. Nicméně vzhledem k tomu, že ke korunovaci dochází ze všech čtyř ortogonálních stran, vytváří si symetrií hráč určité strategické výhody kontroly a útoku, protože má rozmístěné kameny ve všech kvadrantech hrací desky.


To podobné platí o tzv. utahování. Pokud hráč symetricky utahuje hracími kameny všechny strany, dochází ke zrychlujícímu útoku a současně k možnostem kontroly nad útokem soupeře. Nicméně fakt, že hráč kameny utahuje kolem středového pole a soupeř nikoliv, nezaručuje jeho výhru. Už jen proto, že utahování - byť je účinné, je také relativně riskantní, neboť může vytvořit podmínky pro rychlou protireakci soupeře. I "schovaný" kamen na okraji desky může být strategicky zajímavý, záleží na konkrétní pozici.


Symetrii jsem se pokusil naprogramovat také v aplikaci. Algoritmus AI nyní kontroluje, zda se někde „zbytečně“ neshlukují kameny a nedochází tak k nerovnoměrnému rozložení na hrací desce. Kameny, které si navzájem brání v pohybech, jsou obecně velmi nepružné a špatně rozmístěné.


Snad se to alespoň částečně podařilo. Zda to povede k více výhrám a silnější inteligenci, to se teprve ukáže.

Komentáře

Celkem 0 komentářů

  • Neregistrovaný uživatel

    Jméno: Přihlásit se

    Blog:

    Obsah zprávy*:

    Kontrolní kód*:
    Odpovězte na otázku: Co je dnes za den?