Fitness Function Example 1

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.



Gerd Doeben-Henisch 2012-03-31