## Fall 2006

[9/5] [9/27] [10/10] [11/1] [11/7] [11/14] [11/28]

**11/28: Evolution, Learning and the Baldwin Effect: An Exploration in Artificial Life
**Grant Braught

Dickinson College

Evolution? Learning? Baldwin? Wasn't he an 19th century biologist? Isn't this 2006 and isn't this supposed to be a Math/CS chat? Rest assured that it is! Researchers in the field of Artificial LIfe use computers to model and study systems that exhibit properties typically associated with living organisms, for example evolution and learning. In this talk, I will introduce techniques that researchers have used to model evolution and learning and I will also show howthese techniques have been used to gain insights into the interaction between learning and evolution that has come to be known as the Baldwin Effect.

**11/14: The Science of Search Engines
**John MacCormick

Microsoft Research

The rise of web search engines like Google has completely changed the way ordinary people use computers---arguably, more than any other single phenomenon in the last decade. But most users of web search are blissfully unaware of the remarkable array of ingenious ideas and algorithms from computer science they are using every time they submit a query to a search engine. In this talk I'll mention a few of these nuggets (including Google's PageRank algorithm, and similarity detection via "shingling") and describe one in detail (location-based indexing). I may also have time to mention one of my own theoretical results, which gives a bound on the cost of maintaining an index of dynamically-changing data.

**11/7: Neural Networks that Model Attention Investigating Cognitive Control Using Parallel Distributed Processing Models
**Ritwik Niyogi ('09)

Dickinson College and Clinical Cognitive Neuroscience Laboratory, University of Pittsburgh Medical Center

The human brain’s ability to simultaneously process myriad complex information surpasses that of the fastest computers. Computational Neuroscience takes an interdisciplinary approach in explaining what makes people much smarter than machines. Neural Network Models are used to investigate Cognitive Control, specifically the recruitment, modulation and withdrawal of attention while performing a task or switching between different tasks.

**11/1: Recursion and Some Useful Examples
**Marvin Brubaker

Messiah College

Problems involving dominoes and triominoes of different types will be presented. Some of the possible solutions will involve the use of recursion. We will also consider the problem of finding a formula for dividing the plane by n lines drawn at random and k additional parallel lines.

**10/10: Visualizaton of algorithms from computational geometry using Quicktime movies
**Jay Martin Anderson

Richard S. and Ann B. Barshinger Professor of Computer Science

Franklin & Marshall College

Over the past five years, students and I have constructed QuickTime® movies to help illustrate algorithms from computational geometry. QuickTime movies have several advantages: a text track, or subtitle, to explain what's going on; easy rewind, fast-forward; easy stepping forwards and backwards; cross-platform availability. There are also disadvantages: the student-user cannot choose the parameters, initial conditions or dataset for an algorithm; consequently, we make many movies to span the parameter space.

Movie construction has been done with C, C++, Java, and now Objective-C; individual frames are drawn with OpenGL. The ease with which text can be added to a movie allows us to make bi- and trilingual movies relatively easily.

We chose to visualize algorithms from computational geometry because these are intrinsically graphical, and lend themselves easily to visualization; and because the subject is interesting in and of itself, providing insight into algorithm efficiency and amusing and valuable applications.

Needless to say, the lecture will be amply illustrated. Please bring your own popcorn.

**9/27: Symmetry of Iteration Graphs
**Walter Carlip

Franklin & Marshall College

One effective and fun way to study mathematical structures is to associate with them a nice picture, and use properties of the picture to describe the underlying mathematics and vice-versa. As part of an independent study project on number theory, my student Martina Mincheva and I decided to read some papers on certain graphs (“iteration graphs”) associated with the integers. We soon discovered that there are many interesting open questions about these delicate and beautiful graphs. By combining methods drawn from algebra and graph theory we were able to answer several open questions, and in particular to completely classify the mathematical structures that produce symmetric iteration graphs. I will try to describe the some of the mathematics behind our work and the fun we had discovering the properties of iteration graphs.

**9/5: jmle: A Tool for Executing JML Specifications via Constraint Programming
**Tim Wahls

Department of Mathematics and Computer Science

Dickinson College

Formal specifications are more useful and easier to develop if they are executable. In this work, we describe a system for executing specifications written in the Java Modeling Language (JML) by translating them to constraint programs, which are then executed via the Java Constraint Kit (JCK). Our system can execute specifications written at a high level of abstraction, and the generated constraint programs are Java implementations of the translated specifications. Hence, they can be called directly from ordinary Java code.