MOSES for Noobs - Logic Gates
This page will attempt to explain how to use MOSES in an even simpler way than described on the MOSES Tutorial page. If you feel this tutorial is too simple for you, please check that page.
This page has the following prerequisites:
This tutorial expands on the previous MOSES for Noobs tutorial by letting MOSES learn logic gates (AND, OR, XOR, etc.).
The files you can use are available below
To let MOSES process a file, put the file somewhere you can let MOSES find it, and then include it in the command line. Assuming you put it in a subfolder called Logic, it would be
moses -i Logic/AND.txt -w1
The w1 parameter tells MOSES to use the column names found in the file in the generation of output, rather than just assigning indexes to all the input and output variables.
Understanding the output
The output should be something like
0 and($foo $bar) -1 $foo -1 $bar -2 and(!$foo !$bar) -2 and(!$foo $bar) -2 and($foo !$bar) -2 or(!$foo $bar) -2 or($foo !$bar) -2 or($foo $bar) -3 true
Each line first gives a score for how well the generated program approximates the target feature (0 is perfect, anything lower is worse). Behind the score it will output the COMBO program it used to achieve the score.
The highest scoring program is on the first line. The 0 indicates there is 0 distance between the target feature we wanted the program to approximate and the actual output of this program. As we can see it takes both input parameters, applies the AND operator, and achieves a perfect score for every case in our input file.
Feel free to run MOSES on all the files provided above to see how smart it is. When you're done with that, you could move on to MOSES for Noobs - Flowers.
- Then please leave them here.