Thanks so much! But this is most curious. If TB evaluated its position as below 0 on the first move, why didn’t it swap?
On
2020-02-02 at 01:02,
BonyJordan
said:
A fair question! Quite possibly it should, but instead there is a special bit of code that overrides all the neural net smartness for specifically the first move and the swap move.
On
2020-02-02 at 12:51,
twixter
said:
Well it’s your code, you are welcome to do whatever you want, but IMO the stronger the bot is, the more value it has as a teaching tool. Other players might prefer you go the other way, and offer a dumbed down version. I suggest, for a TwixtBotSlow version which will take a few hours per move, that you adjust its initial moves and swap choices to match its evaluations? Maybe you could build up a swap map for the top left quadrant, spending hours on each initial move. I’m always finding more work for you, sorry.
On
2020-02-03 at 01:27,
BonyJordan
said:
I don't really trust the evaluations to be on the right side of 0, so it's not obvious to me that using the evaluation to decide swap is a win. I mean, it might be, but it might not, you know? Anyway, the swap rules I have now are a result of having the bot self-play itself a few dozen times with each possible start point.
On
2020-04-01 at 22:51,
dushoff
said:
I'm obviously way out of touch with recent developments. Did we never used to understand anything about openings? Do we understand now? Do people think that the Twixt Bot openings are good, or that TwixtBot is so good that it can overcome them?
On
2020-04-03 at 18:56,
Alan Hensel
said:
TwixtBot is feeling out positions, tracing all the way to the end, until it is satisfied a move is strong. Its only sense of intuition is pattern recognition from a neural net, recognizing patterns of links and pegs. It lacks the capacity for abstract thinking, so it has no opening move theory, like humans do. I think the consensus is that its opening moves are generally weak, but its play gets stronger very quickly, so your window to gain the upper hand is very short, and maintaining the upper hand is difficult.
I am not sure what we can learn from TwixtBot about opening moves. One thing it often does is tactical moves right from the start, which has traditionally been considered a rookie mistake. However, if its position is strengthened in the battle, maybe it is a valid approach. You just have to be insanely good at tactical moves to feel confident starting that way.
I think there is an opportunity to develop an opening move AI competition. The task is to program an AI that handles Twixt opening moves, but can hand the game over to TwixtBot at any time. The default opponent is a null AI that just hands it over to TwixtBot right away. Any AI that can beat the null AI more than 50% of the time in a statistically significant number of games will have proven TwixtBot's AI to be deficient in opening move theory.
-0.470 |2.g4 3.f11 4.f6 5.f7 6.g8 7.g9 8.c4 9.c3 10.d2 11.b5 12.b3 13.h7 14.k4 15.m5
-0.522 |4.m17 5.h16 6.m8 7.q12 8.h19 9.g18 10.g21
-0.507 |6.r20 7.o19 8.l8 9.p9 10.p6 11.t7 12.q12 13.u13
-0.533 |8.l8 9.p9 10.p6 11.t7 12.q12 13.r10 14.o4 15.s5
-0.553 |10.h21 11.p17 12.m21 13.p21 14.g8 15.p9 16.p14 17.p13 18.p6 19.e8
-0.601 |12.h13 13.d14 14.c10 15.b9 16.e11 17.f11 18.p19 19.f15 20.g12
-0.638 |14.l4 15.h6 16.j20 17.m20 18.k18 19.r12 20.p10 21.p11
-0.657 |16.d3 17.i4 18.j5 19.f5 20.e10 21.h10 22.g11 23.f9 24.c11
-0.603 |18.e10 19.h10 20.g11 21.f9 22.c11 23.j11 24.p19 25.l15 26.k18 27.k19 28.l20
-0.626 |20.f17 21.h16 22.j20 23.m20 24.l19 25.r12 26.p14 27.q14
-0.682 |22.j20 23.m20 24.k18 25.r12 26.m23 27.n22 28.o22 29.l23
-0.683 |24.l19 25.o13 26.m21 27.n22 28.p16 29.p17 30.k10 31.k13 32.j12 33.p7
-0.685 |26.m21 27.n22 28.q6 29.k13 30.q14 31.q13 32.p16 33.p17
-0.682 |28.o21 29.m24 30.q6 31.k13 32.c11 33.h10 34.q14
-0.721 |30.p16 31.p17 32.q6 33.k13 34.i11 35.e12 36.q14
-0.742 |32.q10 33.q9 34.q4 35.k13 36.p12 37.o15
-0.781 |34.g9 35.q9 36.p12 37.r11 38.q6 39.q5 40.p4 41.p3 42.s7
-0.838 |36.j7 37.q9 38.p12 39.r11 40.r13 41.q14
-0.903 |38.h9 39.h10 40.o14 41.r12 42.o11 43.o13
I am not sure what we can learn from TwixtBot about opening moves. One thing it often does is tactical moves right from the start, which has traditionally been considered a rookie mistake. However, if its position is strengthened in the battle, maybe it is a valid approach. You just have to be insanely good at tactical moves to feel confident starting that way.
I think there is an opportunity to develop an opening move AI competition. The task is to program an AI that handles Twixt opening moves, but can hand the game over to TwixtBot at any time. The default opponent is a null AI that just hands it over to TwixtBot right away. Any AI that can beat the null AI more than 50% of the time in a statistically significant number of games will have proven TwixtBot's AI to be deficient in opening move theory.