Try one or both of the following for variable extra-credit.
  1. Research the maximum cut problem problem and find some that are considered difficult to solve. Try your favorite GA program on them.

  2. See if you can get your favorite GA program to converge on the ``hitchhiking'' problem that we discussed in class.

    Consider these 8 schemas:

        11111111********************************************************
        ********11111111************************************************
        ****************11111111****************************************
        ************************11111111********************************
        ********************************11111111************************
        ****************************************11111111****************
        ************************************************11111111********
        ********************************************************11111111
    
    Define a fitness function f(x), where x is a 64-bit string, to be 8 times the number of these schemas it contains, and 0 otherwise. So f(x) = 64 if x is all 64 bits 1, and f(x) = 0 if x is all 0 bits.

This extra credit assignment is due by 5pm Monday, May 27, 1996. Oops, that's Memorial Day. How about the next class.

There are three things to turn in electronically using the submit command:

  1. A listing of your objective (fitness) function from the SGA-C, aGA.java, simple_ga_prog.c or simple_ga_prog.java source code, plus any other procedures or code you change.
  2. A listing of your best runs of SGA-C, aGA.java, or simple_ga_prog. DO NOT include all generations! Use the script command and then edit out all but the first few, a middle few, and the last few generations.
  3. A write-up answering these questions describing how you optimized the function using genetic algorithms and what you learned (about one or two single-spaced page), and what problems you encountered while designing, implementing, and debugging your program and how you solved those problems.
  4. Your write-up should clearly describe your encoding scheme, fitness function, crossover operators tried, mutation operators tried, and parameters that led to successful runs (population size, crossover and mutation probabilities).

Use the submit command to turn in file copies of all of the above. Place them in the Pr8 (pea are eight) directory of MCS770.