Snake AI Extreme Edition: wąż, którym nie kieruje przypadek
Nowy agent Antigravity napisał dla mnie prostą, autonomiczną grę w 16 sekund za pierwszym podejściem. Wygląda jak neonowa sieć neuronowa z retro przyszłości, ale pod maską kryją się uczciwe algorytmy: BFS, Tail Chasing i Flood Fill.

Testuję nowy środek antygrawitacyjny. Za pierwszym razem napisał mi prostą grę w 16 sekund.
To nie jest takie złe.
Rezultat wygląda trochę jak neonowa sieć neuronowa z retro przyszłości: terminal przebrany za wyświetlacz mobilny, zielony wąż, jabłko, cząstki, drgania ekranu i 8-bitowe dźwięki generowane bezpośrednio w Pythonie.
Ale najciekawszą rzeczą nie jest wygląd. Najciekawsze jest to, co dzieje się pod maską.

Wąż nie jest przypadkowy
Ten wąż nie podąża za nim przez przypadek. Każdy krok jest obliczany przy użyciu klasycznych algorytmów.
BFS, Breadth-First Search, szuka najkrótszej bezpiecznej ścieżki do jabłka. Kiedy ścieżka jest wolna, wąż podąża prosto do celu.
Pogoń za ogonem zaczyna się, gdy droga do jabłka byłaby ryzykowna. Wąż woli podążać za własnym ogonem i czekać na lepszą pozycję. To zaskakująco elegancki trik: zamiast gonić za nagrodą, utrzymuje przestrzeń do życia.
Wypełnienie zalewowe stosuje się w trudniejszych sytuacjach. Agent oblicza, w którym kierunku ma najwięcej wolnego miejsca, aby nie wpaść w pułapkę.
To wszystko są stare, dobre algorytmy. Żadnej magii. Brak sieci neuronowej. A jednak wynikające z tego zachowanie wygląda niemal inteligentnie.
Czy to zatem sztuczna inteligencja?
To zależy od tego, jak rygorystyczni chcemy być.
To nie jest sieć neuronowa. Nazwa NEURAL NETWORK HAD-2000 to czysto biznesowa naklejka/arcade, ponieważ brzmi znacznie lepiej niż BFS + Flood Fill.
Ale jednocześnie jest agentem, który dostrzega stan otoczenia, ocenia opcje, optymalizuje ryzyko i działa autonomicznie. Zatem w sensie praktycznym robi dokładnie to, czego oczekujemy od małego agenta gier.
Tylko zamiast coś „zgadywać”, po prostu to oblicza.
Co mi się w tym podoba
To mała rzecz. Ćwiczenia. Gra słów.
Ale jednocześnie pięknie jest widzieć, jak zmienia się programowanie. Wcześniej można było siedzieć wieczorem przy takim prototypie i poprawiać renderowanie, zapętlanie gry, kolizje, wyniki i zachowanie węża. Dziś wystarczy dobry wkład, kilka iteracji i w ciągu kilku minut powstaje coś, co będzie można wykorzystać jako podstawę.
Nie dlatego, że sztuczna inteligencja zastąpi myślenie. Raczej dlatego, że usuwa tarcie między ideą a pierwszą formą funkcjonalną.
A potem przychodzi zabawna część: decyzja, co z tym zrobić.
Mała gra terminalowa? Poradnik algorytmu? Mobilny salon gier w stylu retro? A może po prostu przypomnienie, że programowanie może znów być zabawą?
Dla mnie to ostatni.
To, że agent zbuduje autonomicznego węża w 16 sekund, nie oznacza, że gra się skończyła. Oznacza to, że start jest nagle prawie darmowy.
A to dobra wiadomość dla wszystkich, którzy mają więcej pomysłów niż czasu.