1. Introduction to CS and Programming in Python (Intro to CS & Python)
2. Computation Structures (Structures)
3. Artificial Intelligence (AI)
4. Mathematics for CS (Math for CS)
5. Programming for the Puzzled (Puzzled)
6. Introduction to Electrical Engineering and CS 1 (EECS1)
1. 4/12 (1/3!) Dr. Ana Bell
3. 2/30 Dr. Patrick Winston
4. 0/4 units. Units: 0/11, 0/11, 0/5, 0/8.
6. ? In remedial reading, I’m 3/19 (about 1/6).
Introduction and Scope; AI #1
Algorithms enabled by constraints exposed by representations that support models targeted at looping through thinking, perception, and action.
Generate and test. [Much like Dr. Ana Bell’s bisection.]
If your representation is right, you’re almost done.
Simple ≠ trivial. Simple can be powerful; trivial implies useless.
Rumpelstiltskin Principle – if you know the name of a concept, you have power over that concept. The thing that binds the ends of your shoelaces is an aglet. Likewise, know the concepts of programming.
A brief history of computing.
♠♠ Age of Speculation
♦ Ada Lovelace in 1842 was answering questions regarding a computation machine. As she is the first to recognize applications for Charles Babbage’s machine (Analytical Engine) beyond computation and to write a program for it, she is considered the first programmer.
♦ Alan Turing came up with his Turing machine and helped win World War II. He also came up with the Turing test and wrote a paper in 1950 “Computing Machinery and Intelligence”. The British government drove him to suicide because he was gay.
♠♠ Dawn Age
♦ Marvin Minsky in 1962 published a (7, 4) Turing machine and proved it universal.
♦ James R. Slagle in 1961 programmed an IBM 7090 to solve freshman integration problems. Slagle worked under Minsky at MIT. Slagle was blind. Link to his paper: https://dspace.mit.edu/bitstream/handle/1721.1/11997/31225400-MIT.pdf?sequence=2.
♦ Joseph Weizenbaum in 1964 finished the Eliza program, an attempt at replicating a Rogerian psychotherapist. Weizenbaum’s own secretary ascribed human-like emotions to the program, despite Weizenbaum’s objections.
♦ Computers are programmed to analyze visual input. This included visual analogies and properties of more complex input.
♦ Computers are taught basic learning.
♦ Expert systems. A program was written that diagnosed infections in the blood better than most doctors. It was never used because they used broad-spectrum antibiotics. Delta uses a program to park airplanes to save on fuel.
♠♠ Bulldozer Age
♦ People used computers in brute force fashion.
♦ Deep blue beats the champions at Jeopardy.
♠♠ Imagination Age
♦ Dr. Winston guesses the current age is going to be about solving problems in a more concise form.
MIT is about skill-building and big ideas.
• Lectures to introduce materials and powerful ideas.
• Recitations for accuracy(?) and have a venue small enough for discussion.
• Mega recitations to have graduate students showing how to work prior quiz problems.
• Tutorials help with the homework.
• Each portion of the subject matter is covered by a quiz and the final, except for a portion taught at the end which will not have a quiz. Each student’s score is the max(quiz score, final score). Some people have passed with only taking the final, but it’s not recommended because most people would run out of time. Students that have done well on quizzes can skip the portions of the final that they’re already satisfied with their corresponding quiz score.
Reasoning: Goal Trees and Problem Solving; AI #2
• Modeling Problem Solving
• Generate & Test
• Problem Reduction
• Problem Reduction Tree (And/Or Tree, Goal Tree)
• Transforms & Example
Knowledge about knowledge is power
Catechism to ask when designing an expert system.
• What kind? What kind of knowledge is needed?
• How represented? How is that represented?
• How used? How is it used?
• How much? How much knowledge is needed?
• What exactly? What exactly is the next step?
Skill – In order to build a skill you need to
Understand. In order to understand,
Witness a specific example and abstract up.
Dr. Winston seeks to teach the basics of AI through a manual demonstration of how Slagle’s integration program works.
Apply all safe transforms → Check table for matches
Apply heuristics → Some transforms that might help, such as trigonometric form to polynomial form or vice versa.
Slagle’s program answered 54 of 56 problems. It was missing two transforms to solve the two it failed to solve. Its max depth was 7 and its average depth was 3. Its unused branches is 1. Slagle needed about 12 safe transforms, about 12 heuristics, and 26 identities in the table. His program’s successors went on to be able to beat the best mathematicians in the world at integration and became MatLab.