CS 470 - Spring 2020.


[Home]

Welcome to CS 470!

Lecture 2: Introductory Lecture II. 1/15/2020

Administrivia

  • I have office hours Wednesdays from 4-6 pm, Room 014 AKW. Also, I invite students to join me for lunch in a residential college after class on Wednesdays. Today at 11:45am in Franklin.

  • The course assumes proficiency in python programming. We will spend a few lectures on python, but generally expect you to accomplish that on your own, if you are not already an adept. If you would like some help, as well as course credit, in learning python, we recommend CS 200, which meets MW 2:30pm in WLH 120. We hear that the instructor is quite charming. You can drop by this afternoon.

    If you're thinking of taking CPSC 470, please do the following.

  • Complete this online Student Information form.
  • Get a course account for CPSC 470 on the Zoo. When you register for this class, your course account should be created within one hour or so of signing up.
  • Confirm your piazza account. Yesterday, I created piazza accounts for the class. You should have received an email requesting that you validate your account. The guys at Canvas have alerted the Yale community that Piazza now automatically shares your information with potential employers and their ilk. ( how to turn this feature off.)
  • Start the homework assignment: [Assignments]. It is a python refresher.

    Lecture: Introduction to AI

    AI has a yin yang duality. Most modern AI programs comprise focussed applications to specific domains, or collections of such focused applications. They are often based on quantitative, statistical techniques. Terms such as big data, machine learning, or deep learning generally refer to this flavor of AI.

    By contrast, classic AI, or what we will, with minimum vanity, call classic Yale AI, tries to replicate human cognitive behavior with the twin goals of creating smart programs and also gaining an understanding of how humans think.

    One of the early tasks for AI was chess playing. Smart people play chess. If a computer could play chess and beat a smart person, the computer would be intelligent. Right? Simon and Newell, early AI researchers at Carnegie Mellon, tried creating computer programs based on verbal protocols of expert chess players. That is, the programs tried to replicate the stated mental processes of people. These programs were OK, but not great. The dominant approach to game playing (which we will explore in this course) involves searching the game tree to the greatest depth possible. This algorithm is not what humans do, but it proved successful in defeating humans. Search is a cornerstone of modern AI, and computer science in general. Think Google.

    Most of the techniques in the textbook and course are of the latter variety. How can we get a computer to accomplish a task, even if there is no evidence that people use that method?

    Modern AI
  • 2019 Intro Slides These slides are from Professor Scassellati. (slide 30) Note: the current syllabus is more accurate than the slides regarding schedule, grading, assignments and such.
  • Ford home delivery robot What could go wrong?
  • Hitchhiking robot
    Classic Yale AI
    The second approach is how can we get computers to replicate human cognitive behavior. That is, we assume that human cognition comprises a vast number of processes and algorithms. What are those processes and can we embody those in a computer?

    The goal is not only to create smart programs, but also to provide insights into how people think. This is a cognitive science approach, which has a variety of benefits. Classic Yale AI began in 1974 with the arrival of Roger Schank at the Yale Computer Science Department, who collaborated with Robert Abelson in psychology. Here are the players. You are familiar with the Turing Test for AI, which is often dismissed these days. The Turing Test was largely replaced in the academic community by Searle's Chinese Room, which was inspired by a 1979 visit by Searle to the Yale Artificial Intelligence Lab.

    Modern AI and Classic Yale AI are two perspectives. You may view them in Hegelian terms and thesis and antithesis. In this course, we argue for the synthesis. Other dimensions of the duality include

  • CS 470 Thought Experiment Please complete. The purpose of this is to get you thinking about the topics, not to find the correct answer.

    Python and Jupyter Notebooks

  • Google Python Class
  • Notes on Google Python Class
  • recursion
  • list comprehensions
  • object oriented programming
  • stacks / data structures

    Other topics: exceptions, iterators, generators, decorators, networking, python virtual machine.

  • hw0a.ipynb This is a jupyter notebook. You need to open it in jupyter.
    [Home]