Computational Intelligence

A course proposed for the Scholarly and Creative Inquiry (SCI) Core

CogSci 101

Computational Intelligence


Enabling legislation for this course can be found here.


Last modified 5/29/03


Introduction

Catalog Description:  

One of the enduring questions that has been asked well before the development of the modern computer is: Can a computer think? Is intelligence something that is unique to humans (or, perhaps more broadly, to living creatures), or can it be simulated in wire and semiconductors? In this course, we will explore this question in two ways: by reading and commenting on the written comments of thoughtful individuals on both sides of the question, and by introductory explorations using the programming language Lisp.

Prerequisites:  

Math 111, two years of high school algebra, or equivalent. Experience with programming would be a plus but is not required.

Note: This proposed course has a considerable overlap with my solo version of SCXT 350 in that it expands on my part of the jointly taught SCXT course (in fact, I took on the solo version of SCXT 350 with the idea of developing this course). There should be no conflict, since as soon as this course is taught as a Freshman Seminar I will not teach SCXT 350 except as a member of a team (the usual way that course is offered).

Proposal for the scholarly and creative inquiry core 

This course meets the guidelines for a course meeting the SCI core requirement in that it 

  1. Examines the question "Is Intelligence Computational" through a variety of original works.   Students will explore the notion of computational intelligence through the writings of explorers and commentators in the field.  They will study the notion of "computational" by learning a bit of the programming language LISP and by readings (in preparation).  The course will call upon the student to read material ranging from Descartes "Discourse on Method" to the definition of the physical symbol system hypothesis in Newell and Simon's "Computer Science as Empirical Inquiry," and to respond to these writings in written form
  2. While not an easy course, this course should be accessible to a student who has completed a course in high school algebra (preferably two years) and has some experience with the computer.
  3. Students will be asked to respond in writing briefly to the readings and, at greater length, to the ideas expressed in those writings.  A significant amount of writing and participation in discussion will be expected.

Evaluation: 

Students will read a number of papers, chapters, and excerpts, and will be asked to respond to them in writing. Additional short writing assignments may also be given. Students will be asked to write programs in the programming language Lisp, possibly using other tools as well (SNePS and Clips). Finally, students will be asked to take two one-hour examinations and a comprehensive final examination, and will be asked to write a term paper.  The term paper will incorporate milestones for topic, annotated reading list, outline, and first and final draft with a portion of the points allocated to the paper (20%) allocated to each milestone.

Total: 100% 


Term Paper:

A term paper will account for 20% of your overall grade in this course.  Details of the dates for the paper will be part of the syllabus.  You will be asked to submit, at fixed times, a proposal and a thesis statement, an annotated bibliography, a draft, and a final paper.  The thesis statements, annotated bibliography, and draft will be open documents in that they will be read and commented upon by your colleagues.  You will also be responsible for commenting on classmates' thesis statements, bibliographies, and drafts, and the quality of your response will be part of your grade on the term paper.

In your term paper you will be asked to take a position and to justify that position by careful argument and the use of supporting references.  Issues can be very broad (Does the computational model fit the idea of intelligence, a critique of the Turing Test, etc.) or can be more narrowly defined.  Readers will be asked to judge the quality of your argument, your use of supporting references, the clarity of your presentation of the problem and your position on it, and the clarity and organization of your paper.  There will be significant penalties for late submission of these milestones or for tardiness in the reviews for which you are responsible.  More details will be available as the semester progresses.


Syllabus:  

A draft syllabus for the course can be found here.


Course Outline: 

The following presents topics and sample assignments in (roughly) the order proposed. Writings on computational intelligence are interspersed with practical work in the programming language Lisp and with several AI systems. 

  1. Descartes (selections), and an introduction to the question.

    The "Discourse on Method" raises several of the fundamental questions to which the field of computational intelligence must respond. In particular, Descartes asked how it might be possible that a mechanical device would be able to respond appropriately to common statements "as the dullest of men do".

    Assignment: Written (one page) response to the excerpt.

  2. An introduction to the programming language Lisp

    The programming language Lisp was developed by John McCarthy in the 1950's (making it one of the oldest computing languages around). It has since become one of the premier languages for work in artificial intelligence.

    Assignment: A first programming exercise in Lisp.

  3. Alan Turing: "Computing Machines and Intelligence", Mind, Vol. LIX, #236, 1950

    In this 1950 paper the British mathematician Alan Turing argued that machine intelligence is a possibility, and defined a test, now called the "Turing Test" as a test for machine intelligence. I may incorporate part of the play "Breaking the Code" by Hugh Whitemore.

    Assignment: Written (one page) response to the paper

  4. More on Lisp:

    More on recursion, and an introduction to matching/unification. An examination of Eliza (a pattern-matching program which appears to be able to converse with the user - up to a point).

    Assignment: A second programming exercise in Lisp

  5. Formal Models for Computation

    This will either be a chapter from a textbook in development (i.e., something that I am currently writing), or a chapter from an existing textbook.

    Assignment: An exercise in finite state automata, and an exercise in interpreting a basic Turing Machine program (cf. Copeland).

    Note for reviewers: In an earlier draft of this proposal, the notion of introducing the Turing machine at the freshman level was appropriately questioned. I intend to pursue Turing machines at the level of the Scientific American article on Turing machines (see below), which should be accessible at this level. That is, no proofs, no hard problems, probably only simulation of simple programs

  6. A brief look at knowledge representation.

    Assignment: Either a short exercise in KR using SNePS (a computer system for semantic propositional networks), or in Clips (an expert system shell).

  7. Newell, Allen, and Simon, Herbert A. The Physical Symbol System Hypothesis ("Computer Science as Empirical Inquiry", 1975 ACM Turing Award Lecture).

    This paper introduces the physical symbol system as a formal model for computation and introduces the "Physical Symbol System Hypothesis." We will combine this with the Turing-Church Hypothesis to gain an understanding of the hopes of strong AI.

    Assignment: A written (one page) response to the paper.

  8. A brief look at search in AI

    Assignment: A simple search program.

  9. John Searle and the Chinese Room experiment (Searle, John R. "Minds, Brains, and Programs" from The Behavioral and Brain Sciences, Vol. 3)

    Searle proposes a test to counter both the Turing Test and the Physical Symbol Hypothesis. Does he succeed?

    Assignment: A written (one page) response to the paper.

  10. Natural Language Understanding.

    Grammars and scripts, and an answer for Descartes.

    Assignment: Work with simple grammars

     

Bibliography (under development)

Major Sources:

 

  1. Copeland, Jack: Artificial Intelligence: A Philosophical Introduction;  Blackwell 1993
  2. Descartes Discourse on Method (any publisher)
  3. Hopcroft, John E., Turing Machines: Scientific American v. 250 (May '84) p. 86-9+
  4. Matthews, Bob: Material (in development, unless I find a good source) on
    1. Basic theory of computation (though I may use the Scientific American article cited above on Turing machines, if I can get the per-copy cost down)
    2. Basic material on natural language understanding
    3. Marr, David:  Vision:  A Computational Investigation into the Human Representation and Processing of Visual Information (W.H. Freeman & Co, 1982)
  5. Marr, David:  Vision:  A Computational Investigation into the Human Representation and Processing of Visual Information (W.H. Freeman & Co, 1982)
  6. Newell, Allen, and Simon, Herbert A. The Physical Symbol System Hypothesis ("Computer Science as Empirical Inquiry", 1975 ACM Turing Award Lecture).
  7. Searle, John R. "Minds, Brains, and Programs" from The Behavioral and Brain Sciences, Vol. 3
  8. Turing, Alan: "Computing Machines and Intelligence", Mind, Vol. LIX, #236, 1950

 

Additional material

 

  1. Asimov, Issac: I, Robot
  2. Hofstadter, Douglas: The Mind's I
  3. Hofstadter, Douglas: Goedel, Escher Bach
  4. Other science fiction (to be collected)
  5. Films? Episodes of Star Trek (some examples might be the Sherlock Holmes series in STNG, Data episodes, Demak and Picard at El-Adril for an example of just how hard NLP can be)