Midterm Exam: Spring 2002

CS376 Androids: Design and Practice

Answer three questions below as indicated. Answer in paragraph form, using sophisticated jargon from the field where appropriate. Give concise, well thought-out and organized answers. Make sure you indicate which question you have answered.

You have 1.5 hours. Good luck!


1. Answer 1 of the following 2 questions.

1a. Brooks made a few radical claims in his classic paper Intelligence without Representation. Explain one of these claims. Do you think that he was right or wrong? Explain your opinion.

1b. Blank attempted to elevate the ideas of the Turing Test to the level of a formal definition of "intelligence." In his argument, he gave two options:

After exploring the first option, he rejected it in favor of the second. Do you believe him, or is there a way to save option #1? Explain. Which, in your opinion, is the way to go? Give a good argment for it.


2. Answer 1 of the following 2 questions. Consider the following code:

void crossover() {
    int i, j, p, g;
    int p1, p2, p3;
    for (i = 0; (float)i < CROSSOVERRATE * (float) POPSIZE; i++) {
        p1 = random_bias_good(POPSIZE);
        p2 = random_bias_good(POPSIZE);
        p3 = random_bias_bad(POPSIZE);
        g = random(GENESIZE);
        p = p1;
        for (j = 0; j < GENESIZE; j++) {
            if (j > g)
              p = p2;
            pop[p3][j] = pop[p][j];
        }
    }
}
2a. Rewrite the code so that it only does selection but not crossover. Could evolution work after such a change (assuming that the rest of the gahb.c program remains unchanged)? Explain.

2b. Rewrite the code so that it has two crossover points rather than just one. For example, if two parents looked like:

111111111111111111111111111111111111
000000000000000000000000000000000000
Selecting two points (the spots marked with ^) gives:
111111110000000000001111111111111111
000000001111111111110000000000000000
        ^           ^
Notice that this method produces more thoroughly mixed-up offspring. How will this effect evolution? Explain.


3. Answer 1 of the following 2 questions.

3a. Describe "the law of uphill analysis and downhill invention". What did he mean? Explain.

3b. John Holland claims that genetic algorithms work via an "implicit parallelism." What did he mean? Explain.


D.S. Blank