Wyszukiwanie drzewa w Monte Carlo: Jakie ruchy można łatwo znaleźć i jakie powodują problemy?


10

Chcę zacząć od scenariusza, który zmusił mnie do zastanowienia się nad tym, jak dobrze może działać MCTS: Załóżmy, że istnieje ruch, który nie został jeszcze dodany do drzewa wyszukiwania. Niektóre warstwy / ruchy są zbyt głębokie. Ale jeśli zagramy w ten ruch, gra jest po prostu wygrana. Załóżmy jednak, że wszystkie ruchy, które można wykonać zamiast tego w danym stanie gry, są bardzo złe. Dla argumentu powiedzmy, że jest 1000 możliwych ruchów i tylko jeden z nich jest dobry (ale bardzo dobry), a reszta jest bardzo zła. Czy MCTS nie rozpoznałby tego i nierośnie drzewo wyszukiwania w kierunku tego ruchu, a także bardzo źle oceniasz to drzewo? Wiem, że MCTS ostatecznie zbiega się do minimax (i ostatecznie zbuduje całe drzewo, jeśli będzie wystarczającej ilości pamięci). Następnie powinien wiedzieć, że ruch jest dobry, mimo że istnieje wiele złych możliwości. Ale wydaje mi się, że w praktyce nie można na tym polegać. Może ktoś może mi powiedzieć, czy jest to poprawna ocena z mojej strony.

Oprócz tego specjalnego scenariusza chciałbym również wiedzieć, czy istnieją inne takie scenariusze, w których MCTS będzie działał źle (lub wyjątkowo dobrze).


MCTS jest probabilistyczny. Jako taki potrzebuje wskazówek, bo inaczej niczego nie znajdzie. Na przykład: szukanie igły w stogu siana. Spróbuj tego, a ci się nie uda. Byłoby dobrze, gdybyś mógł podać bardziej realistyczny przykład i zapytać, jaka byłaby optymalna strategia dla tego przykładu. To może dać wskazówkę, jak lepiej znaleźć igły w stogu siana.
Trilarion

Odpowiedzi:


2

To, czy ruch zostanie znaleziony i jak szybko zostanie znaleziony, zależy od kilku rzeczy. Jeśli dobrze rozumiem, istnieje sekwencja wielu „złych” ruchów, które prowadzą do ruchu „wielkiej wygranej” i obawiasz się, że algorytm MCTS nie dostanie się do ruchu „wielkiej wygranej”, ponieważ wybierze bardziej obiecujące przesuwa się w górę drzewa. Kilka rzeczy do przemyślenia (przeczytaj także artykuł MCTS Wikipedii ):

  • wykonując rozgrywki, możesz grać w tę grę tylko dla kilku dalszych ruchów lub do końca gry. Rozegranie zaledwie kilku ruchów jest oczywiście szybsze, ale w ekstremalnym przypadku, który opisałeś, nie byłby najlepszym wyborem. Jeśli wiesz o istnieniu takich scenariuszy, upewnij się, że grasz do końca w rozgrywkach.

  • podczas rozgrywek możesz wybierać ruchy / akcje losowo lub w oparciu o proste, zachłanne (szybkie) heurystyki dostosowane do twojego problemu. Czy są jakieś zachłanne heurystyki zaprojektowane, aby znaleźć lub wziąć pod uwagę takie scenariusze dla twojej gry / problemu? Jeśli tak, zastosuj je. Nazywa się to wtedy „ciężką rozgrywką”. Porównaj wyniki z rozgrywkami za pomocą losowych ruchów.

  • Jeśli wybierzesz akcje za pomocą UCT (górna granica zaufania zastosowana do drzew), wówczas pierwsza część wyrażenia jest odpowiedzialna za wykorzystanie. Preferowane są ruchy o wysokim średnim współczynniku wygranych. Druga część odpowiada jednak eksploracji. Jeśli parametr eksploracji jest wystarczająco wysoki (przetestuj empirycznie pod kątem swojego problemu), preferowane będą ruchy z kilkoma symulacjami. Wysoka eksploracja byłaby kolejnym sposobem na znalezienie twojego złotego posunięcia, ze szkodą dla eksploatacji (przeczytaj o dylemacie eksploracji / eksploatacji).

Jeśli opisujesz realistyczną scenariusz gry lub problemu, możemy pomóc Ci opracować odpowiednią strategię.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.