[Genetics Based Machine Learning and NKS] - A New Kind of Science: The NKS ForumA New Kind of Science: The NKS Forum
Pages:1
Genetics Based Machine Learning and NKS
(Click here to view the original thread with full colors/images)
Posted by: Ed Meier
I have continued my futile pursuit of finding the winning lotto numbers with NKS! I have written David Goldberg's Genetic Based Machine Learning (GBML) system as the application framework (superstructure) for my NKS generator. This system learns which NKS rules to use to predict lotto numbers.
The GBML by David Goldberg is from his seminal work "Genetic Algorithms in Search, Optimization, and Machine Learning" (1987). As part of the GBML system he includes a "bucket brigade flag" algorithm which allows one rule to be rewarded from the next rule that was used. In other words, it rewards previous rules so as to build a chain of rules to get the desired solution.
Unfortunately there was no application for this idea. It was a piece of technology with no real need. Still it was fascinating enough to remember.
Then when I met with partial success in my lotto number search project (See the "Beating the Lotto" thread.) I realized that what I needed to do with this NKS search was to linearly connect the cellular automata rules to find the right sequence to predict the lotto numbers. Goldberg's GBML bucket brigade system was exactly what I needed.
This system is entirely written in Java (J2SE). If allowed, I will share the source code with those interested.
Posted by: Ed Meier
Here it is! While it is not completed yet, I am sharing this because I did make an NKS "discovery". To make this work I had to broaden the NKS patterns of 1s and 0s to match as many other bit strings as possible. I needed to use don't-care bits. But I did not want to just create random bit strings with randomly placed don't-care bits. That would have led to a random search for random numbers, a waste of electricity.
Instead I mated a random string of 1s and 0s to a specific rule. Then I flipped each bit in the string one at a time and re-applied the NKS rule to the string. If the output was the same, then that bit that was flipped was a don't-care bit. It's value, 1 or 0, did not affect the outcome of the NKS rule. The bit could be 1 or 0. The NKS rule would generate the same output bits.
The special situation of side-by-side don't-care bits is also handled gracefully. This includes handling of three or more don't-care bits in a row. Which suprisingly is handled perfectly by creating only two different output strings. As long as the don't-care bits are separated by at least one defined bit, everything works fine. This is explained in more detail in the source code documentation and the readme file.
Have fun with this. Let me know if your experiments have any good results. I will be continuing to pursue this also. It's fun.
Posted by: Da80th
hi Ed Meier,
I am interest in testing your lotto program but I am not familiar with Java. Is there a GUI base program that I can run on my pc?
Please help!
Thanks in advance
Forum Sponsored by Wolfram Research
© 2004-2008 Wolfram Research, Inc. | Powered by vBulletin 2.3.0 © 2000-2002 Jelsoft Enterprises, Ltd. |
Disclaimer
vB Easy Archive Final - Created by Xenon and modified/released by SkuZZy from the Job Openings