Based on the preceding considerations we have defined a first fitness function tttfit2() in scilab program LCS_v0.13.sce which gives the following results:
-->W4=W3
W4 =
!_ _ _ !
! !
!_ _ _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
FLAG =
0. 0. 0. 0.
W =
!_ _ _ !
! !
!_ _ _ !
! !
!_ _ _ !
-->W4(2,2)='X'
W4 =
!_ _ _ !
! !
!_ X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
4.
FLAG =
0. 1. 1. 1. 1.
W =
!_ _ _ !
! !
!_ X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
0.
FLAG =
0. 0. 0. 0. 0.
W =
!_ _ _ !
! !
!_ X _ !
! !
!_ _ _ !
-->W4(1,2)='O'
W4 =
!_ O _ !
! !
!_ X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
1.
FLAG =
0. 1. 0. 0. 0.
W =
!_ O _ !
! !
!_ X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
3.
FLAG =
0. 1. 0. 1. 1.
W =
!_ O _ !
! !
!_ X _ !
! !
!_ _ _ !
-->W4(2,1)='X'
W4 =
!_ O _ !
! !
!X X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
15.
FLAG =
2. 2. 1. 1. 1.
W =
!_ O _ !
! !
!X X _ !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
1.
FLAG =
0. 1. 0. 0. 0.
W =
!_ O _ !
! !
!X X _ !
! !
!_ _ _ !
-->W4(2,3)='O'
W4 =
!_ O _ !
! !
!X X O !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
2.
FLAG =
0. 1. 1. 0. 0.
W =
!_ O _ !
! !
!X X O !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
3.
FLAG =
0. 0. 1. 1. 1.
W =
!_ O _ !
! !
!X X O !
! !
!_ _ _ !
-->W4(1,1)='X'
W4 =
!X O _ !
! !
!X X O !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
25.
FLAG =
4. 0. 2. 2. 1.
W =
!X O _ !
! !
!X X O !
! !
!_ _ _ !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
1.
FLAG =
0. 0. 1. 0. 0.
W =
!X O _ !
! !
!X X O !
! !
!_ _ _ !
-->W4(3,3)='O'
W4 =
!X O _ !
! !
!X X O !
! !
!_ _ O !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
13.
FLAG =
2. 1. 2. 0. 0.
W =
!X O _ !
! !
!X X O !
! !
!_ _ O !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
13.
FLAG =
2. 0. 2. 0. 1.
W =
!X O _ !
! !
!X X O !
! !
!_ _ O !
-->W4(3,1)='X'
W4 =
!X O _ !
! !
!X X O !
! !
!X _ O !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'X',BON,show)
F =
30.
FLAG =
5. 0. 3. 0. 2.
W =
!X O _ !
! !
!X X O !
! !
!X _ O !
-->BON=5, show=0,[W,FLAG,F]=tttfit2(W4,'O',BON,show)
F =
12.
FLAG =
2. 0. 2. 0. 0.
W =
!X O _ !
! !
!X X O !
! !
!X _ O !
Thus for every state of the game one can apply this fitness function tttfit2() and map certain properties of the state (how many free cells are available to generate a goal state) into an ordered set of fitness values. It is an open question, whether this kind of fitness function is really helpful. Tis has to be explored by experiments.