Rozwiązywanie gry logicznej za pomocą sztucznej inteligencji

Zrobiłem łamigłówkę, w której gracz przesuwa bloki do celu - zasady są dość proste:

Tylko jeden blok suwaka może się poruszać jednocześnieCelem jest przesunięcie bloków suwaka w węzły bramkowe - wystarczy wypełnić węzły bramkowe, niekoniecznie wszystkie bloki suwaków w węzły bramkowe.Jeśli suwak zablokuje się na lodzie, będzie się poruszał w tym kierunku, dopóki nie zostanie zatrzymany lub przeniesionyJeśli blok suwaka uderza w coś solidnego (beton, inny blok), zatrzymuje się i można go ponownie przesunąć (oczywiście nie w beton)Jeśli suwak zablokuje się na drewnie, zatrzymuje się na drewnie i można go przesunąćJeśli blok suwaka przesunie się do węzła celu, nie będzie można go już przenieśćBlok może być przenoszony przez pewne bloki, na przykład blok strzałki przesuwa blok w tym kierunkuSą bloki przełączników, które umożliwiają „drzwi”, do których można przejść, aby otworzyć i zamknąć te „drzwi”Są bloki przycisków, które działają podobnie do przełączników, z wyjątkiem tego, że muszą mieć na nich blok, aby aktywować „drzwi”Gdy drzwi są zamknięte, działają jak beton. Kiedy drzwi są otwarte, działają jak lód.

Myślę, że to są objęte zasadami. Oto kilka zrzutów ekranu:

Tutaj gracz musi przesunąć bloki, aby musiały uderzać się nawzajem, aby rozwiązać zagadkę.

Układanka w stanie prawie rozwiązanym. Zauważ, jak blok uderzył w inny blok i zatrzymał się

Oto kolejna łamigłówka, która zawiera mechanikę blokowania wypychania:

Jeśli przesuniemy prawy górny blok w dół, dzieje się tak:

Jak widać, blok został przesunięty w lewo, gdy uderzył w blok strzałki i zatrzymał się na szczycie drewnianego bloku.

Chciałbym napisać rozwiązanie sztucznej inteligencji, które rozwiązuje te łamigłówki - myślałem, że będzie to pewnego rodzaju wyszukiwanie w głębi, ale nie mam pojęcia, od czego zacząć. Wszelkie wskazówki na ten temat byłyby świetną rzeczą!

questionAnswers(1)

yourAnswerToTheQuestion