/* Learning illegal/6 - illegal chess endgame positions */ /* with minimal number of examples */ /* Negative examples are used to allow anonymous head variables */ background([adj/2]). propositional([]). /* Positive examples */ /* Complete lambda model for illegal(7,2,5,0,6,1) */ illegal(7,2,5,0,6,1). illegal(6,1,5,0,6,1). illegal(6,0,5,0,6,1). illegal(6,2,5,0,6,1). illegal(5,1,5,0,6,1). illegal(5,0,5,0,6,1). illegal(5,2,5,0,6,1). illegal(7,1,5,0,6,1). illegal(7,0,5,0,6,1). illegal(7,2,5,0,7,2). illegal(7,2,5,0,7,3). illegal(7,2,5,0,7,1). illegal(7,2,5,0,6,2). illegal(7,2,5,0,6,3). /* Other examples */ illegal(5,2,5,2,7,3). illegal(4,3,5,2,7,2). illegal(0,1,5,2,5,4). illegal(1,3,2,4,6,5). /* Negative examples */ neg(illegal(7,2,5,0,3,4)). /* 5 and 0 are don't care arguments */ neg(illegal(7,2,5,0,4,1)). neg(illegal(7,2,5,0,6,4)). neg(illegal(4,3,5,2,7,3)). neg(illegal(0,1,5,2,6,4)). neg(illegal(1,3,2,4,6,5)). /* Background knowledge */ adj(0,0). adj(1,1). adj(2,2). adj(3,3). adj(4,4). adj(5,5). adj(6,6). adj(7,7). adj(0,1). adj(1,2). adj(2,3). adj(3,4). adj(4,5). adj(5,6). adj(6,7). adj(7,6). adj(6,5). adj(5,4). adj(4,3). adj(3,2). adj(2,1). adj(1,0).