Tonio2 / Gomoku

The goal of this project is to make an AI capable of beating human players at Gomoku
1 stars 1 forks source link

Heuristic: double open 2 with gap is weaker than gap open3 #74

Open Tonio2 opened 3 months ago

Tonio2 commented 3 months ago

99 79 98 78 96 
  0 1 2 3 4 5 6 7 8 9 A B C D E F G H I
0 . . . . . . . . . . . . . . . . . . .
1 . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . .
4 . . . . . * * . * * . * * . . . . . .
5 . . . . . . * * * * * * . . . . . . .
6 . . . * . * * * * * * * * . . . . . .
7 . . . . * * * * O O * * * . . . . . .
8 . . . . . * * * * * * . . . . . . . .
9 . . . * * * X * X X * * * . . . . . .
A . . . . . * * * * * * * * . . . . . .
B . . . . * . * * * * * * . . . . . . .
C . . . * . * * . * * . * * . . . . . .
D . . . . . . . . . . . . . . . . . . .
E . . . . . . . . . . . . . . . . . . .
F . . . . . . . . . . . . . . . . . . .
G . . . . . . . . . . . . . . . . . . .
H . . . . . . . . . . . . . . . . . . .
I . . . . . . . . . . . . . . . . . . .
Played bounds:row[7-9]col[6-9]
Is game over: 0
Winner: .
Scores: X:0 O:0
Pattern(X):
 Tagged:
 Cached: {NONE:0,FIVE_OR_MORE:0,OPEN_ONE:9,ONE:0,OPEN_TWO:0,TWO:0,OPEN_THREE:1,THREE:0,OPEN_FOUR:0,FOUR:0}
Pattern(O):
 Tagged:
 Cached: {NONE:0,FIVE_OR_MORE:0,OPEN_ONE:6,ONE:0,OPEN_TWO:1,TWO:0,OPEN_THREE:0,THREE:0,OPEN_FOUR:0,FOUR:0}
Next move to: O
Board evaluation for O: -930
Relevant moves (39): [(5,6),(5,7),(5,8),(5,9),(5,10),(5,11),(6,7),(6,8),(6,9),(6,10),(7,4),(7,6),(7,7),(7,10),(7,11),(8,5),(8,6),(8,7),(8,8),(8,9),(8,10),(9,4),(9,5),(9,7),(9,10),(9,11),(10,5),(10,6),(10,7),(10,8),(10,9),(10,10),(11,4),(11,6),(11,7),(11,8),(11,9),(11,10),(11,11),]
Suggested move: 9,7

(venv) ➜  GomokuEngine git:(feat/deepen_ai) ✗ ./gktool eval 99,79,98,78,96,76,95
99 79 98 78 96 76 95 
  0 1 2 3 4 5 6 7 8 9 A B C D E F G H I
0 . . . . . . . . . . . . . . . . . . .
1 . . . . . . . . . . . . . . . . . . .
2 . . . . . . . . . . . . . . . . . . .
3 . . . . . . . . . . . . . . . . . . .
4 . . . * . * * . * * . * * . . . . . .
5 . . . . * . * * * * * * . . . . . . .
6 . . * * . * * * * * * * * . . . . . .
7 . . . * * * O * O O * * * . . . . . .
8 . . . . * * * * * * * . . . . . . . .
9 . . * * * X X * X X * * * . . . . . .
A . . . * * * * * * * * * * . . . . . .
B . . . * * * * * * * * * . . . . . . .
C . . * * . * * . * * . * * . . . . . .
D . . . . . . . . . . . . . . . . . . .
E . . . . . . . . . . . . . . . . . . .
F . . . . . . . . . . . . . . . . . . .
G . . . . . . . . . . . . . . . . . . .
H . . . . . . . . . . . . . . . . . . .
I . . . . . . . . . . . . . . . . . . .
Played bounds:row[7-9]col[5-9]
Is game over: 0
Winner: .
Scores: X:0 O:0
Pattern(X):
 Tagged:
 Cached: {NONE:0,FIVE_OR_MORE:0,OPEN_ONE:12,ONE:0,OPEN_TWO:2,TWO:0,OPEN_THREE:0,THREE:0,OPEN_FOUR:0,FOUR:0}
Pattern(O):
 Tagged:
 Cached: {NONE:0,FIVE_OR_MORE:0,OPEN_ONE:9,ONE:0,OPEN_TWO:0,TWO:0,OPEN_THREE:1,THREE:0,OPEN_FOUR:0,FOUR:0}
Next move to: O
Board evaluation for O: 770
Relevant moves (47): [(5,4),(5,6),(5,7),(5,8),(5,9),(5,10),(5,11),(6,5),(6,6),(6,7),(6,8),(6,9),(6,10),(7,3),(7,4),(7,5),(7,7),(7,10),(7,11),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(8,10),(9,3),(9,4),(9,7),(9,10),(9,11),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9),(10,10),(11,3),(11,4),(11,5),(11,6),(11,7),(11,8),(11,9),(11,10),(11,11),]
Suggested move: 9,7```

In the first board, X is winning but losing in the second ?

This creates situation where a move can be good but is evaluated very weak and therefore tested last by minimax