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.