Notes on Cog356

Formalities

Role in the Curriculum

Cog356 was introduced into the curriculum as a result of our 2012 self-study. It was from years of learning outcomes analysis that our students were embarassingly weak with respect to knowledge of formal systems and skills associated with formal systems. So we introduced a course expressly dedicated to formal systems, we required it for the BS major, and encouraged BA students to take it.

  1. In this course, we consider a formal system to be a computational system that can be used to model some natural phenomenon, with the intent of gaining insights into the phenomenon, or perhaps to serve as a framework for writing a computer program that relates to the phenomenon. Think phrase structure grammars, or predicate calculus, or Lindenmayer systems.
  2. Roughly one-third of Doug Hofstadter's "Godel, Escher, Bach: The Eternal Golden Braid" is featured in this course, focussing largely on his presentation of a number of Post production systems. This provides accessible treatment of Emile Posts formalism, while at the same time, an opportunity to tune into the words of one of the great contemporary cognitive scientists.
  3. L-systems are defined, and their evolution is discussed. The standard graphical rendering of L-system generations in terms of Turgle graphics is explored. Various musical renderings of L-system generations are also explored. Finally, since L-systems are a manifestation of fractals, the value of factals to cognitive science is discussed, including the fractal nature of consciousness, and various scientific/technological applications of fractals.
  4. The propositional calculus is introduced in two different forms. The first, Hofstadter's Post production system for the propositional calculus. The second, a presentation that features Horn clauses and Robinson's resolution principle This latter approach serves as a very basic introduction to the Prolog inference engine. To make the theortetical Prolog experience a bit more interesting, I augment the propositional calculus variables so that examples of unifiation can be a bit more satisfying. (Interestingly, both takes of the propositional calculus leave students wondering. "Where are the truth tables that I have been lead to believe are central to all of this?")
  5. A very brief introduction to Alonzo Church's lambda calculus is presented. The structure of ambda expressions are defined formally by means of a context free grammars, and students are asked to derive a number of simple forms, just to get a feel for the structure of lambda expressions. The concept of abstraction is emphasized as one of great significance, and the notions of generalization (replacing values by a names) and specialization (replacing names with values) is discussed. The evaluation of lambda expressions is discussed and normal order evaluation is practiced. The fact that lambda calculus can be viewed as a machine language for functional languages, and as an aid to understanding certain semantic issued in other languages is considered in passing.
  6. Basic Markov processes are discussed. Sequences of events are analyzed for the purpose of generating state transition probabilities. State transition graphs, state transition matrices, and probability distribution matrices are introduced. Students execute pseudocode to generate sequences of whatever (e.g., musical notes) in the context of a distribution matrix.