Genetic Algorithm

BitStringRules
BitStringRules

+ toString
+ convert example to rule
+ random generate rule
+ init population
Recover the ignored Dbg.java
BitStringRules constructer

* change BitStringRules constructer
select by probability

+ select one individual by probability distribution of individuals
Delete useless mOutofnwithprob
Part of ex two point cross over
Use long to express continuous value in rule

+ BSAttrs as the attribute list for BitStringRules, stores all
information BSR needed.
* Use long to express continuous value in rule instead of using double,
but BSAttrs keeps the exponent (10 based), so the long can be converted
to double conveniently
Offspring producer
Check if a BitString is valid

+ Check if a BitString is valid
Map Long value to full Long range & Mutate

* Map Long type value (with no exponent) range to full Long range (from
Long.MIN_VALUE to Long.MAX_VALUE), so the probability of invalid
individual after cross over or mutation will be much less.
+ Mutator
Add another 2 ways to select

add tourment and rank to select
at lest flip one bit
Record both two individuals.
Calculate fitness = accur - (0.001 * Math.pow(rules.numOfRules, 2));
Menu and cancel record both two individuals
Make mOutofN faster
default predict
Test update graph
Change generation step in test