Pracuje nad projektem, w którym buduje model, który ma za zadanie nauczyć się grać w warcaby. Do tego zadania będę właśnie korzystał z sieci neuronowych (tensorflow, keras etc...). Na input będę dawał po prostu całą plansze z pionkami czyli powiedzmy (32) input'y. Natomiast nie mam, pomysłu na output, na początku myślałem że 32x4 starczy, czyli po 4 możliwe ruchy na każde pole w grze, potem pomyślałem, że przecież poza ruchami i biciem pionka przeciwnika, można robić podwójny skok z biciem, a jakby tego było mało, gdy dojdziemy pionkiem na ostatnie pola to zmienia się w królówkę i możliwości ruchu jest wtedy dużo więcej.
Teoretycznie zamiast do pola w grze mógłbym podpiąć ruchy do pionka czyli zamiast początkowych 32x4, byłoby 8x4, ale minus jest taki, że wtedy sieć neuronowa nie uczyłaby się tak jak ja chce. Przy takim outpucie powiedzmy, że sieć dla jakiejś pozycji nauczyła by się, że trzeba ruszyć pionkiem(5) i gdy w przyszłości pojawi się ta pozycja, ale z innym ustawieniem pionków, to się nadal będzie myślała że pionek(5) to jest dobry ruch mimo, że znajduje się w innym miejscu. Dlatego właśnie wole przypisywać poszczególne ruchy do danego pola. Tylko właśnie mam problem bo czasem możliwych output'ów jest nie więcej niż 32x4 (po 4 ruchy na każde pole) a czasem dla danego pola może być i 8 różnych ruchów. Teoretycznie mógłbym zrobić to tak, że wziąć pod uwagę wszystkie możliwe ruchy, ale gdy dodamy podwójne bicie, potrójne bicie itd.. to takich potencjalnych ruchów jest za dużo. Spowodowałoby to, że sieć uczyła by się wolno, ponieważ brałaby pod uwagę zawsze wszystkie możliwe ruchy, nawet wtedy gdy królówek nie ma na planszy.
Mam jeden pomysł, ale nie wiem czy on by wypalił. Stworzyć 2 modele sieci neuronowych, jedną do wyboru pionka, czyli tylko 32 output'y, drugi model do wyboru ruchu i tu powiedzmy mogłyby być wszystkie możliwe ruchy dla danego pionka/królówki.
Nie jestem pewny czy efektywnie takie 2 sieci by działały. Dlatego właśnie pisze na forum, szczerze wątpię, że ktoś będzie w stanie mi pomóc, ale nie zaszkodzi spróbować.
Tak więc jak macie jakieś pomysły to piszcie śmiało.