Forum.Gomoku.pl Strona Główna Forum.Gomoku.pl
Forum Polskiego Stowarzyszenia Gomoku, Renju i Pente

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
Inteligentny program do gomoku?
Autor Wiadomość
dobrychemik 


Dołączył: 20 Cze 2007
Posty: 640
Skąd: Europa
Wysłany: 2009-11-11, 22:53   Inteligentny program do gomoku?

Chciałbym podzielić się z Wami pewnym pomysłem.

Jest już sporo programów grających w gomoku, lepszych i gorszych. Niektóre z nich są na tyle mocne, że gracz o moich umiejętnościach ma poważne problemy, aby wygrać. Niemniej jeśli odpowiednio długo z nimi pograć, to okazuje się, że każdy jest do ogrania. Po prostu zawsze znajdziesz takie otwarcie, z którym dany program sobie nie poradzi. I nie ważne ile razy z nim zagrasz, to zawsze popełni ten sam błąd. I tu właśnie kryje się największa słabość wszystkich obecnie dostępnych programów: nie uczą się.

Mój pomysł to stworzenie pierwszego programu, który nie będzie kretynem powielającym swoje błędy. Chodzi o program, który korzystałby i jednocześnie budował sobie bazę danych typu RenLiba i aktywnie zeń korzystał w trakcie rozgrywki. Byłby to program, który nigdy nie przegrałby dwa razy w ten sam sposób. Gdyby zdolny programista się postarał, to możnaby nawet pozwolić programowi na samodzielny trening - grę z samym sobą, w celu rozbudowy swojej bazy danych, czyli innymi słowy doskonalenia swoich umiejętności.

Jak się za to wziąć? Nie jestem programistą i nie poczuwam się kompetentny do podawania jakichkolwiek konkretnych rozwiązań. Wydaje mi się jednak, że dobrym punktem wyjścia byłby sam RenLib. Po pierwsze jego kod jest dostępny. Po drugie ma gotowe podprogramy do wyszukiwania vct i vcf. To oczywiście nie wystarczy, aby stworzyć program grający, ale stanowi mocną podstawę. No i mamy gotowy, sprawdzony i popularny format zapisu danych. Nic tylko skorzystać.

Co Wy na to? Może jacyś informatycy się wypowiedzą?
_________________
Mgławica Heliks - jedna z najładniejszych mgławic planetarnych (nazwa "planetarna" pochodzi stąd, że w małych teleskopach wyglądem przypomina tarczę planety).
 
 
truskawek 

Dołączył: 29 Wrz 2007
Posty: 679
Skąd: Lubliniec
Wysłany: 2009-11-12, 00:05   

Cytat:

Mój pomysł to stworzenie pierwszego programu, który nie będzie kretynem powielającym swoje błędy. Chodzi o program, który korzystałby i jednocześnie budował sobie bazę danych typu RenLiba i aktywnie zeń korzystał w trakcie rozgrywki. Byłby to program, który nigdy nie przegrałby dwa razy w ten sam sposób. Gdyby zdolny programista się postarał, to możnaby nawet pozwolić programowi na samodzielny trening - grę z samym sobą, w celu rozbudowy swojej bazy danych, czyli innymi słowy doskonalenia swoich umiejętności.


Taka drobna uwaga techniczna. Skąd program ma wiedzieć, gdzie popełnił błąd? Nie raz efektem błędnego ruchu jest przegrana dopiero za 10-12 kamieni. Czy da się zaprogramować intuicyjne czucie siły zagrania?
 
 
 
dobrychemik 


Dołączył: 20 Cze 2007
Posty: 640
Skąd: Europa
Wysłany: 2009-11-12, 00:10   

Każdy program widzi swoją przegraną na kilka(naście) ruchów przed końcem. Przed każdym swoim ruchem program może sprawdzić czy przeciwnik ma vct lub vcf. Jeśli tak, to nanosi poprawkę w swojej bazie, że poprzedni jego ruch był zły i go nie będzie powielał. Jeśli tenże poprzedni ruch był jedynym sensownym ruchem, to nanosi poprawkę na jeszcze wcześniejszy swój ruch itd.
_________________
Mgławica Heliks - jedna z najładniejszych mgławic planetarnych (nazwa "planetarna" pochodzi stąd, że w małych teleskopach wyglądem przypomina tarczę planety).
 
 
zukole 

Dołączył: 04 Paź 2004
Posty: 4379
Skąd: Polska
Wysłany: 2009-11-12, 00:16   

Nie wiem czy każdy, fiver np gra za każdym razem ten sam wariant - oczywiście przy pewnych ruchach przeciwnika i za każdym razem gra się kończy po 10-12 ruchach, więc jeśli to jest ruch optymalny to widocznie wariant/open jest sw. Może jeszcze program, który sam wybiera kolor ? :P

Jak dla mnie to renlib w zupełności wystarcza, jakoś nie jestem fanem opcji powstania programu, który każdego rozwali. Taka sytuacja jest np na szachach.
 
 
bad_mojo 
recenzent ludzkości


Dołączył: 10 Lip 2004
Posty: 1569
Skąd: Konstancin-Jez.
Wysłany: 2009-11-12, 02:53   

Miło byłoby wiedzieć, jak się ta gra kończy, zwłaszcza w opcji swap 2. Tylko nie wiem przypadkiem czy konkretna odpowiedź istnieje w tym przypadku dla całego swap 2, czy tylko dla danego otwarcia. Jak dla otwarcie, to trochę gorzej.

Na warcabach wiedzą przynajmniej, że gra kończy się remisem :)
_________________
Think for yourself. Question authority. / People tell me what to say, what to think and what to play.
 
 
 
ermijo 


Dołączył: 07 Maj 2005
Posty: 1950
Skąd: N49°37`E20°42`
Wysłany: 2009-11-12, 08:45   

zukole napisał/a:
Nie wiem czy każdy, fiver np gra za każdym razem ten sam wariant

Ostatnio sprawdzałem i nie zawsze wykonuje te same ruchy - chodzi o poziom "przednajwyższy".

CO do pomysłu chemika zamilknę, gdyż nie potrafię napisac takiego programu.
_________________
Always: "Homo ludens"
Never: "Homo faber"
 
 
dobrychemik 


Dołączył: 20 Cze 2007
Posty: 640
Skąd: Europa
Wysłany: 2009-11-12, 13:15   

zukole napisał/a:

Jak dla mnie to renlib w zupełności wystarcza, jakoś nie jestem fanem opcji powstania programu, który każdego rozwali. Taka sytuacja jest np na szachach.


Obecnie w szachach komputery są mocniejsze od ludzi. Czy to jakiś problem? Szachom jakoś to nie zaszkodziło. Wręcz przeciwnie, ponoć poziom gry prezentowany przez ludzi jest obecnie wyższy niż kiedykolwiek. Po prostu komputer to znakomity przeciwnik i trener zmuszający do maksymalnego wysiłku.
Dlaczego zatem stworzenie programu do gomoku mocniejszego od ludzi miałoby być czymś złym? Skutek byłby taki, że nawet najlepsi gracze mieliby się od kogo uczyć.
_________________
Mgławica Heliks - jedna z najładniejszych mgławic planetarnych (nazwa "planetarna" pochodzi stąd, że w małych teleskopach wyglądem przypomina tarczę planety).
 
 
truskawek 

Dołączył: 29 Wrz 2007
Posty: 679
Skąd: Lubliniec
Wysłany: 2009-11-12, 13:29   

Cytat:
Obecnie w szachach komputery są mocniejsze od ludzi. Czy to jakiś problem? Szachom jakoś to nie zaszkodziło. Wręcz przeciwnie, ponoć poziom gry prezentowany przez ludzi jest obecnie wyższy niż kiedykolwiek.



Nie bierz tego za czepialstwo, ale komputery od dawna mają większą moc obliczeniową, co nie oznacza, że są "inteligentniejsze". Po prostu bazy danych ruchów i coraz to lepsze algorytmy pozwalają lepiej wykorzystywać moc obliczeniową :) (czy jakoś tak). Poziom prezentowany przez ludzi jest wyższy? Ano fakt, jest coraz to więcej publikacji dotyczących "debiutów" oraz książek z problematycznymi sytuacjami. Do tego, obecnie, młodzi szachiści nie muszą przejmować się niczym, prócz szkołą i szachami. Ze sto lat temu, ludzie nie mogli aż tak pozwolić sobie na rozwijanie tej pasji. Zresztą, trudno ocenić kto widzi ile ruchów do przodu. Wielu szachistów jest w stanie rozegrać partię przez telefon, widząc szachownicę tylko oczyma wyobraźni (w warcabach też tak jest). W gomoku było by o wiele ciężej z powodu większej ilości pól oraz większej, możliwej ilości "pionków".
 
 
 
zukole 

Dołączył: 04 Paź 2004
Posty: 4379
Skąd: Polska
Wysłany: 2009-11-12, 18:30   

Chemiku, tylko że renlib + program do gry + wiedza/umiejętności człowieka tworzą połączenie, które mogą być wspomnianym przez Ciebie programem ( wcześniej pisałem o samym renlibie, bo mimo wszystko możliwość prześledzenia bibliotek gry moim zdaniem jest najlepszym "wynalazkiem" w tej grze ).
 
 
vilumisiek 


Dołączył: 04 Gru 2005
Posty: 1604
Skąd: Rzeszów
Wysłany: 2009-11-15, 00:22   

I już wiemy co się podziało z wyzwaniem :lol: Chemikowi wszyscy gramy tak samo ruchu z tymże jedni szybciej i nie chce przegrać tak samo :lol:
 
 
 
trampek86 

Dołączył: 13 Paź 2012
Posty: 93
Skąd: Kielce
Wysłany: 2012-10-14, 12:15   

dobrychemik to o czym mówisz to się nazywa książka otwarć i rzeczywiście trochę dziwne, że do większości programów grających w gomoku nie ma opcji książki otwarć i uczenia się, właśnie nie wiem dlaczego, znam raptem dwa programy które posiadają książki otwarć, jeden z nich to Blackstone a drugi to jakiś stary sprzed wielu lat którego nazwy nie pamiętam, i właśnie z braku książki otwarć większość programów do gomoku przegrywa na schematach. Zrobienie takiej książki do Piskvork to betka dla autora Piskvork, nie wiem dlaczego dotychczas jej nie zrobił, najlepiej powiadomić autora aby dorobił tą opcję do swojego programu, w sumie Pisvkork jest dostępny z otwartym kodem źródłowym więc każdy chętny programista może dorobić opcję książki otwarć i uczenia się, najlepiej jednak byłoby gdyby sam autor P. Lastovicka to uczynił.
Kontakt z autorem petr.lastovicka@seznam.cz,
strona www autora http://petr.lastovicka.sweb.cz/.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group