Witaj Gościu ( Zaloguj | Rejestruj )

 
Reply to this topicStart new topic
[Delphi] Warcaby, ogólna dyskusja
Marek M
post sob, 30 sty 2010 - 22:10
Post #1


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



Cześć
Chciałem napisać program do gry w warcaby (dokładnie to w amerykańskie Checkers) z komputerem i oczywiście mam problem z AI. Nie mogę się też zdecydować co do niektórych rozwiązań, ale o tym za chwilę.

Przede wszystkim, jak powinna Waszym zdaniem działać sztuczna inteligencja? No na pewno musi wiedzieć, czym jest poprawny ruch - można iść do przodu, a czasami nawet trzeba bić itp. Ale jeżeli to ma być inteligencja, to powinna jakoś rozróżniać niezłe i idiotyczne ruchy. Do tego sprowadza się moje pytanie - jak to zrobić? wink.gif Zastanawiałem się nad kilkoma wariantami, w tym do czegoś na wzór min-max, ale mam pewną wątpliwość: to nie jest gra tak prosta jak kółko i krzyżyk, gdzie można przewidzieć wszystkie ruchy. Uczenie się też raczej byłoby powolne, a prawdopodobieństwo trafienia w podobnie rozgrywaną partię - moim zdaniem nieduże. Liczba możliwości jest ogromna, struktura przechowująca dane o ruchach rosła by strasznie szybko.. No i główna wątpliwość: czy przewidywanie ruchów bez dobrego szacowania stanu gry (na które nie mam pomysłu..) jest w ogóle sensowne.. bo najłatwiej to kazać komputerowi robić tak: jak masz bicie - bij, jak nie masz - rusz się tak, aby nie wejść na cudze bicie. Ale czy symulacja n takich zagrań do przodu w ogóle by coś dała?

O resztę dopytam, o ile dyskusja się rozwinie.

Pozdrawiam,
Marek
Go to the top of the page
 
+Quote Post
Force
post nie, 31 sty 2010 - 01:17
Post #2


Nowy na forum


Grupa: Super użytkownicy
Postów: 1,205
Dołączył: pią, 01 wrz 06
Nr użytkownika: 380



do warcab już powstały strategie wygrywające, a raczej nie dające przegranej, minmax chyba robi się do iluś ruchów do przodu


--------------------
Wszystko co kochasz i potrzebujesz znajdziesz na serwisach randkowych i http://fp.unit1.pl
Baza tysięcy lotnisk: http://airportsbase.com
Go to the top of the page
 
+Quote Post
Marek M
post nie, 31 sty 2010 - 09:23
Post #3


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



no i pytanie sprowadza się do tego jak ma grać komputer (również symulując) ..

Czy ktoś ma jakieś podobne doświadczenia? Bo mogę napisać ruch opisany wyżej - unikający bicia i ciekawe, czy już to by zapewniło odpowiedni poziom dla niedzielnych graczy ...
Go to the top of the page
 
+Quote Post
KaYou
post nie, 31 sty 2010 - 11:24
Post #4


Pomocna dłoń


Grupa: Super użytkownicy
Postów: 263
Dołączył: nie, 19 mar 06
Skąd: Szczecin
Nr użytkownika: 195
Gadu-Gadu: 1438618



ja proponuje-> sieci neuronowe: gra samemu ze soba, nauka ze wzmocnieniem. w grze z przeciwnikiem przeszukiwanie drzewa gry-> obcinanie wezlów.


--------------------
"(2b || !(2b)) == question" W. Shakespeare
Go to the top of the page
 
+Quote Post
Marek M
post nie, 31 sty 2010 - 12:30
Post #5


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



Ja lubię takie podejście, pisanie programów bez analizy problemów, a rozwiązanie jakoś ewolucyjnie wyjdzie smile.gifsmile.gif
Ale na serio - jak sobie wyobrażasz to drzewo?
Go to the top of the page
 
+Quote Post
KaYou
post nie, 31 sty 2010 - 12:42
Post #6


Pomocna dłoń


Grupa: Super użytkownicy
Postów: 263
Dołączył: nie, 19 mar 06
Skąd: Szczecin
Nr użytkownika: 195
Gadu-Gadu: 1438618



http://pl.wikipedia.org/wiki/Drzewo_gry


--------------------
"(2b || !(2b)) == question" W. Shakespeare
Go to the top of the page
 
+Quote Post
Marek M
post nie, 31 sty 2010 - 15:03
Post #7


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



O i właśnie o to mi chodziło, że o ile dla gry "kółko i krzyżyk" pełne drzewo będzie miało 9! węzłów, to w warcabach nie umiem nawet tego oszacować.. Jak to usprawnić?
Obrazek
Go to the top of the page
 
+Quote Post
KaYou
post nie, 31 sty 2010 - 15:37
Post #8


Pomocna dłoń


Grupa: Super użytkownicy
Postów: 263
Dołączył: nie, 19 mar 06
Skąd: Szczecin
Nr użytkownika: 195
Gadu-Gadu: 1438618



poczytaj o algorytmie alfa-beta


--------------------
"(2b || !(2b)) == question" W. Shakespeare
Go to the top of the page
 
+Quote Post
Marek M
post pon, 01 lut 2010 - 21:39
Post #9


Nowy na forum


Grupa: Użytkownicy
Postów: 12
Dołączył: sob, 30 sty 10
Nr użytkownika: 2,031



OK, dzieki. Muszę to przemyśleć smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: środa, 08 wrzesień 2010 - 13:42