Darren Lewis


Using the GENESIS 5.0 code:

(Note that these instructions assume that you are working on a UNIX computer in the Leland system, e.g., the elaines, sagas, myths, etc., either at the console or remotely. The GENESIS software runs under DOS if you have a C compiler installed on your system, but for consistency, we are only discussing the UNIX implementation)
  1. Create a directory in your Leland user space called CS426 or whatever you desire:

    mkdir CS426

  2. Change to this directory:

    cd CS426

  3. Run the following command to copy the source code to your user space:

    cp –rf /afs/ir/class/cs426/genesis .

    This will create a directory in your CS426 directory called genesis.
  4. Change to this new directory:

    cd genesis

  5. Compile and build the code using the following command (Note: not just make):

    make install

  6. Create a file containing your evaluation function. Make sure your function matches the following prototype:

    double eval(char *str, int length, double vect[], int genes);

        where the different parameters are defined as the following:

    char *str; /* string representation */
    int length; /* length of bit string */
    double vect[]; /* floating point representation */
    int genes; /* number of elements in vect */

  7. Run setup and fill in the appropriate information. For more information about the available options, please see genesis.txt. Feel free to experiment with the different options as long as they don't affect the results.
  8. Run the command go f1 foo where f1.c is the name of the file containing the evaluation function (don't include the ".c" in the go command) and foo is the file suffix specified in the setup program. This will build your evaluation function, run the code, and generate the report. Your report will be in file rep.foo where foo is the file suffix specified in the setup program.
  9. The setup program should be run at least once for each new evaluation function, but if you want to tweak with individual parameters, it will be quicker to modify in.foo directly instead of re-running setup.
For more information about the software, please refer to the documentation: genesis.txt.