Lecture1
5 Pages

Lecture1

Course Number: CS 221, Winter 2008

College/University: Stanford

Word Count: 1650

Rating:

Document Preview

CS221 Lecture notes Introduction and history What is AI? We begin with an almost content-free denition: AI is the endeavor of building intelligent artifacts or systems. Its very hard to make this more precise. People (even within AI) sometimes disagree about precisely what falls within the borderlines of AI. 1 History AI was born in 1956, at a workshop in Dartmouth organized by John McCarthy. Those gathered...

Unformatted Document Excerpt
Coursehero >> California >> Stanford >> CS 221

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Lecture CS221 notes Introduction and history What is AI? We begin with an almost content-free denition: AI is the endeavor of building intelligent artifacts or systems. Its very hard to make this more precise. People (even within AI) sometimes disagree about precisely what falls within the borderlines of AI. 1 History AI was born in 1956, at a workshop in Dartmouth organized by John McCarthy. Those gathered agreed to adopt McCarthys name for the new eld: Articial Intelligence. At that point, was there lots of enthusiasm. Things seemed to work out really well. Only a few years before, computers were viewed as large calculators, and now truly intelligent systems seemed within reach. Early programs did amazing things by simply representing knowledge about a domain and searching for a solution. For example, Newell & Simons Logic Theorist proved qualitative mathematical theorems, and even found a shorter proof for one of the theorems in Russell and Whiteheads Principia Mathemat

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Stanford - CS - 221
CS221 Lecture notesRobotics and motion planningIn the previous lecture, we saw two examples of intelligent systemsFlakey the robot, that could move around an oce environment and talk to people, and Stanley, Stanfords autonomous car. An intelligent syste
Stanford - CS - 221
CS221 Lecture notesBasic searchRecall that, in the last lecture, we showed how discretization techniques, such as grids, visibility graphs, and probabilistic roadmaps, could be used to convert a continuous motion planning problem into one on a discrete
Stanford - CS - 221
CS221 Lecture notesHeuristic search, local searchIn the last lecture, we introduced uninformed search, and then showed how, if we know something about the particular problem, we can achieve better performance using heuristic search. In particular, we in
Stanford - CS - 221
CS221 Lecture notesConstraint satisfaction problems (CSP)In last lecture, we discussed the application of local search algorithms to problems such TSP, 8-queens and SAT. In those problems, we were interested in nding a solution, but we didnt care how we
Stanford - CS - 221
CS221 Lecture notesSupervised learningSo far in this course, we have only considered problems where the entire state of the world is known in advance. Rarely, however, can we completely specify the state of the world a priori, so often the agent must be
Stanford - CS - 221
CS221 Lecture notesDecision treesLast time, we discussed two supervised learning algorithms: linear regression and logistic regression. These algorithms worked well when our inputs x were continuous. Now we will discuss another classication algorithm, c
Stanford - CS - 221
CS221 Lecture notesSupervised learning summaryIn the previous two lectures, we discussed many specic algorithms for supervised learning. Now, were going to take a step back and discuss some of the principles of how to use these learning algorithms to ac
Stanford - CS - 221
CS221 Lecture notesReinforcement learning IIn supervised learning, we assumed we had a training set cfw_(x(1) , y (1) ), . . . , (x(m) , y (m) ) in which we had the right answer y (i) for every instace x(i) . For example, supervised learning algorithms
Stanford - CS - 221
CS221 Lecture notesReinforcement learning IIIn the last lecture, we talked about reinforcement learning using the framework of discrete MDPs. In particular, we assumed a nite state space. Today we discuss ways to handle problems where the state space is
Stanford - CS - 221
CS221 Lecture notesGeometric visionIn the last lecture, we discussed how to compute various visual features, such as edges, corners, and lines, which are useful for tasks such as face recognition or object recognition. Now, we are going to take a step b
Stanford - CS - 221
CS221 Challenge Problem: Robot Dog1CS 221, Autumn 2007 Robot DogYou should work in teams of 2-3 for this project. Some important dates: You must form a team by Sunday, October 14. Send us an email with your team details, as described in Section 3. You
Stanford - CS - 221
CS221: LittleDog Robot ProjectZico Kolter, Honglak LeeLittleDog RobotLittleDog RobotLittleDog Robot SimulatorGetting the Simulator LittleDog simulator and code available at: /afs/ir/class/cs221/code/LittleDog Get latest version! (10/12/07) Ignore co
Stanford - CS - 221
CS221 Problem Set #1 Programming Assignment1CS 221, Autumn 2007 Problem Set #1 Programming AssignmentDue: 11:59pm Tuesday, October 16Programming part (35 points)In this programming assignment, we will be working with a simulated robotic arm in variou
Stanford - CS - 221
CS221 Problem Set #2 Programming Part1CS 221, Autumn 2007 Problem Set #2 Programming Part ClassiersDue: 11:59pm, Tuesday October 30.1OverviewFor this problem, your programming team (1 to 3 people) will use an ensemble of decision trees to build a ha
Stanford - CS - 221
CS221 Problem Set #3 Programming Part1CS 221, Autumn 2007 Problem Set #3 Programming Part MDPsDue: 11:59pm, Thursday November 15.1OverviewIn this programming assignment, youll use the value iteration algorithm to nd a policy for driving a car on a l
Stanford - CS - 221
CS221 Problem Set #4 Programming Part1CS 221, Autumn 2007 Problem Set #4 Programming Part | Robot LocalizationDue 11:59 pm, Tuesday December 4.1 OverviewFor the programming part of this assignment, your programming team (1 to 3 people) will use Marko
Stanford - CS - 221
Stanford - CS - 221
CS221 Midterm Solutions1CS 221, Autumn 2007 Practice Midterm SolutionsSTANFORD UNIVERSITY CS 221 Practice Midterm, Fall 2007Question Points 1 Short Answers /32 2 Motion Planning /12 3 Search Space Formulation /16 4 A* /12 5 Supervised Learning /20 6 R
Stanford - CS - 221
CS221 Problem Set #11CS 221, Autumn 2007 Problem Set #1: Search, Motion Planning, CSPsDue by 9:30am on Tuesday, October 16. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fa
Stanford - CS - 221
CS221 Problem Set #21CS 221, Autumn 2007 Problem Set #2: Machine LearningDue by 9:30am on Tuesday, October 30. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fax their solut
Stanford - CS - 221
CS221 Problem Set #31CS 221, Autumn 2007 Problem Set #3: Vision and Bayes NetsDue by 9:30am on Thursday, November 15. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fax thei
Stanford - CS - 221
CS221 Problem Set #41CS 221, Autumn 2007 Problem Set #4 Bayes Nets and PerceptionDue by 9:30am on Tuesday, December 4. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fax the
Stanford - CS - 221
CS221 Challenge Problem: Object Recognition and Tracking1CS 221, Autumn 2007 Object Recognition and TrackingYou should work in teams of 2-3 for this project. Some important dates: You must form a team by Sunday, October 14. Send us an email with your t
Stanford - CS - 221
CS221ArtificialIntelligence: Principles&TechniquesChallengeProblem2 ObjectRecognitionandTrackingStephenGould<sgould@stanford.edu> IanGoodfellow<ia3n@stanford.edu> October,2007 OverviewChallengeproblem Problemstatement Sourcecodeoverview Haarfeature
Le Moyne - BIO - 321
Wildlife Refuges The ManagementOf and Consequential Budget By: Will Schwartz Biodiversity Dr. D. Smith-Le Moyne CollegeWhy Wildlife Refuges? Ongoing reduction of natural habitatshas occurred as a result of the negative interactions humans have upo
UNC - COMP - 110
/**/ public class Averager cfw_ / Private fields to hold the current state. private int nNum = 0; private double sum = 0.0, sumOfSquares = 0.0; /* * This method adds a new datum into the average. */ public void addDatum(double x) cfw_ nNum+; sum += x; su
UNC - COMP - 110
/ / / / / / /*This example is from _Java Examples in a Nutshell_. (http:/www.oreilly.com) Copyright (c) 1997 by David Flanagan This example is provided WITHOUT ANY WARRANTY either expressed or implied. You may study, use, modify, and distribute it for no
UNC - COMP - 110
import java.io.*; / Import all classes in java.io package. Saves typing. / the BufferedReaderClass we will use for keyboard / input is in this package public class NotryBubbles cfw_ public static void main(String[] args) throws IOException cfw_ String lin
UNC - COMP - 110
import java.util.*; import java.io.*; / Import all classes in java.io package. Saves typing. / the BufferedReaderClass we will use for keyboard / input is in this package public class RandomNotryBubbles cfw_ public static void main(String[] args)cfw_ Stri
UNC - COMP - 110
class Card cfw_ / class variables static int IDcounter =0; / fields int cnum; / constructors Card () cfw_ cnum = IDcounter; IDcounter+; / other methods public int getCnum() cfw_ return cnum;
UNC - COMP - 110
class CardGame cfw_ public static void main (String[] args) cfw_ int NP = 4; Player[] peep = new Player[NP]; for (int i=0; i<peep.length; i+) cfw_ peep[i] = new Player(); peep[i].setName("Bob", "Smith"); Deck deck = new Deck(); deck.showCards();
UNC - COMP - 110
class Deck cfw_ / fields protected int numCards = 52; Card[] cards; / constructors Deck () cfw_ cards = new Card[numCards]; for (int c=0; c<cards.length; c+) cfw_ cards[c] = new Card(); Deck (int size) cfw_ cards = new Card[size]; numCards = size; / ot
UNC - COMP - 110
class Person cfw_ String fName; String lName; int age; int SSN; Person () cfw_ / System.out.println("doing Person constructor"); lName = "name"; fName = "no"; age = 18; / accessors public void setName(String fn, String ln) cfw_ lName = ln; fName = fn; p
UNC - COMP - 110
class Player extends Person cfw_ / class variables static int IDCounter = 0; / shared / fields int ID; / each Player has its own / constructors Player () cfw_ /System.out.println("doing Player constructor"); ID = IDCounter; IDCounter+; public int getID(
UNC - COMP - 110
class Cardcfw_ static int count = 0; p protected int cnum; Card() cfw_ cnum = count+; p public int getCNum() cfw_ return cnum; public String getName() cfw_ return "noName";
UNC - COMP - 110
class CardGame cfw_ public static void main (String[] args) cfw_ final int gameSize = 4; Deck dk = new Deck(); Player[] game = new Player[gameSize]; for (int p=0; p<gameSize; p+) cfw_ game[p] = new Player(); System.out.println(game[p].getID(); System.out.
UNC - COMP - 110
import java.util.*; c class Deck cfw_ static final int SIZE = 52; / static final for a constant Card[] cards; Deck()cfw_ / make the deck array cards = new Card[SIZE]; / make cards to put into the deck for (int i=0; i<SIZE; i+) cfw_ cards[i] = new Card();
UNC - COMP - 110
class Hand cfw_
UNC - COMP - 110
UNC - COMP - 110
class Player extends Person cfw_ protected static int count = 0; p protected int uniqueID; H Hand hand = new Hand(); Player () cfw_ uniqueID = count+; p public int getID() cfw_ return uniqueID;
UNC - COMP - 110
public class Rectangle cfw_ double length = 5.0; double width = 2.0; public void setLength(double val) cfw_ length = val; public double area ( ) cfw_ double result; result = length * width; return result; public double perimeter () cfw_ return (length+w
UNC - COMP - 110
public class RectMaker cfw_ public static void main (String[] args) cfw_ System.out.println("making Rectangle rec1; rec1 = new Rectangle rec2; rec2 = new Rectangle rec3; rec3 = new int val; rectangles"); Rectangle(); Rectangle(); Rectangle();rec2.setLeng
UNC - COMP - 110
class ExtArgs cfw_ / this program will take command line arguments that look / like numbers and print the square of each one public static void main (String[] args) cfw_ double num; double sqr; int i; for (i=0; i<args.length; i+) cfw_ num = Double.parseDo
UNC - COMP - 110
public class FirstProg cfw_ / class wraps up a bunch of functions and variables / / in Java parlance, we call them methods and fields public static void main (String[] args) cfw_ /* this method must be present with this signature in order for the Java Vir
UNC - COMP - 110
public class Rectangle cfw_ / fields protected double length; protected double width; / constructors Rectangle ( ) cfw_ length = 5.0; width = 2.0; Rectangle ( double len, double wid ) cfw_ length = len; width = wid; Rectangle ( Rectangle rec ) cfw_ leng
UNC - COMP - 110
public class Square extends Rectangle cfw_ / fields int ID; / construcors Square () cfw_ length = 5.0; width = 5.0; Square (double val) cfw_ length = val; width = val; / accessors public void setLength(double len) cfw_ length = len; width = len; public
UNC - COMP - 110
/*A "driver" class to test the Averager class */ public class Driver cfw_ public static void main(String args[]) cfw_ Rectangle rec1 = new Rectangle(); /System.out.println(sq1.getLength(); System.out.println(rec1.getLength(); System.out.println(rec1.getW
UNC - COMP - 110
public class Rectangle cfw_ / fields protected double length; protected double width; protected int demo; / constructors Rectangle ( ) cfw_ System.out.println("doing Rectangle constructor"); length = 5.0; width = 2.0; demo = 101; Rectangle ( double len,
UNC - COMP - 110
public class Square extends Rectangle cfw_ / fields int ID; / construcors Square () cfw_ System.out.println("doing Square constructor"); length = 8.0; width = 8.0; Square (double val) cfw_ length = val; width = val; / accessors public void setLength(dou
UNC - COMP - 110
/* * This program displays factorials as the user enters values interactively */ import java.io.*; / Import all classes in java.io package. Saves typing. / the BufferedReaderClass we will use for keyboard / input is in this package public class FactKeyInp
UNC - COMP - 110
public class Rectangle cfw_ / fields private double length; private double width; / constructors Rectangle ( ) cfw_ / override the default constructor length = 5.0; width = 2.0; Rectangle ( double len, double wid ) cfw_ / alternate construtor / you can s
UNC - COMP - 110
public class RectMaker cfw_ p public static void main (String[] args) cfw_ System.out.println("About Rectangle rec1; rec1 = Rectangle rec2; rec2 = Rectangle rec3; rec3 = Rectangle rec4; rec4 = i int val = 12; to make rectangles"); new Rectangle(); / defau
UNC - COMP - 110
public class ScopeDriver cfw_ public static void main(String args[]) cfw_ ScopeThing sc = new ScopeThing(); sc.munch();
UNC - COMP - 110
public class ScopeThing cfw_ int sneezy = 5; public void munch () cfw_ double grumpy = 12.5; int sneezy = 8; System.out.println("munch: "+sneezy); System.out.println("munch: "+grumpy); crunch(grumpy); System.out.println("munch, grumpy: "+grumpy); public
UNC - COMP - 110
class UseArrays cfw_ / this program will take command line arguments that look / like numbers and print the square of each one public static void main (String[] args) cfw_ int i; i = 12; /* double vals[]; / array declaration / just information for the com
UNC - COMP - 110
class CardGame cfw_ public static void main (String[] args) cfw_ Player p1 = new Player(); Player p2 = new Player(); / have each Player show its unique ID System.out.println(p1.getID(); System.out.println(p2.getID();
UNC - COMP - 110
class Person cfw_ String fName; String lName; int age; int SSN; Person () cfw_ lName = "name"; fName = "no"; age = 18; / accessors public void setName(String fn, String ln) cfw_ lName = ln; fName = fn; public String getName() cfw_ return fName+" "+lName
UNC - COMP - 110
class Player extends Person cfw_ static int IDCounter = 0; / shared field, a class variable int ID; / each Player has its own ID field Player () cfw_ ID = IDCounter; IDCounter+; public int getID() cfw_ return ID; / get the current value of the shared c
UNC - COMP - 110
/* * This program handles student grades * * However, it does it in a non-Object-Oriented way * it uses coordinated arrays, like you did in your last * JavaScript assignment * * We will develop an OO version, the right way, with classes * specifically a c
UNC - COMP - 110
/* * This program handles student grades */ import java.io.*; / Import all classes in java.io package. Saves typing. / the BufferedReaderClass we will use for keyboard / input is in this package public class GradeHandlerOO cfw_ public static void main(Str
UNC - COMP - 110
public class Student cfw_ / fields private String name; private double exam1; private double exam2; private double exam3; / constructors Student () cfw_ name = "noname"; exam1 = 0.0; exam2 = 0.0; exam3 = 0.0; Student (String n, double e1, double e2, doub