Attention Geeky Comp Sci Profs: Write Gooder

I’ve been re-reading some AI texts lately and have been reminded that being smart does not necessarily imply that you can write clearly. This is a nearly disqualifying habit in teaching texts in computer science.

Consider the following explanation of the edge crossover algorithm from “Introduction To Evolutionary Computation”, by A. E. Eiben and J. E. Smith. Highlights are my own.

  1. Construct edge table
  2. Pick an initial element at random and put it in the offspring
  3. Set the variable current_element = entry
  4. Remove all references to current_element from the table
  5. Examine list for current_element
    • If there is a common edge, pick that to be the next element
    • Otherwise pick the entry in the list which itself has the shortest list
    • Ties are split at random
  6. In the case of reaching an empty list, the other end of the offspring is examined for extension; otherwise a new element is chosen at random.

I’ve highlighted the problems in yellow. First, the terms entry and list are not defined prior to, or within, the algorithm. Second, we started out picking elements for the variable current_element; in 6(a) we are now picking edges? Doesn’t make sense.

You can make the reasonable argument that I’m being a touch obtuse – yes, you can ferret out the meaning if you look at it hard enough, but my point is that writers of teaching texts should demonstrate extra care in their explanations. I don’t want to have to pick apart unimportant details of algorithms – I would like to focus on the meaning or relationships or contexts around the algorithm under discussion.


0 Responses to “Attention Geeky Comp Sci Profs: Write Gooder”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

TwitterCounter for @anthonyrstevens
Add to Technorati Favorites

RSS Feed

View Anthony Stevens's profile on LinkedIn

%d bloggers like this: