CS2710/ISSP2610: TA Home
Welcome to CS2710/ISSP2610: Foundations of Artificial Intelligence!
- (2014-12-2) Solutions to the assignments and midterm are available on CourseWeb.
- (2014-12-1) Assignment 4 has been graded. Grades and comments are available on CourseWeb (no hard copy is returned).
- (2014-10-29) Assignment 4 is out (due: Nov 17).
- (2014-10-27) Assignment 3 has been graded. Please pickup your graded homework in a box outside 5406. The grades are also available on CourseWeb.
- (2014-10-27) Midterm grades are available on CourseWeb;
the solutions are available here.
- (2014-10-27) Assignment 2 has been graded. Grades and comments are available on CourseWeb (no hard copy is returned).
- (2014-10-13) The midterm exam is on Wednesday, Oct 14 during regular class time.
Assignment 3 solutions are available here.
- (2014-10-7) The Checkers Tournament is in progress. Stay tuned to the tournament home for the latest updates.
- (2014-10-4) Assignment 1 has been graded. Please pickup your graded homework in a box outside 5406. The grades are also available on CourseWeb.
- Submission due: Dec 3 by 4:30PM (No late submission will be accepted)
- Submission due: Nov 17 by 11:59PM
- Download code
- Q: Do we need to match the plan numbers as in the sample output?
A: For the correctness, you will need to make sure the resultant plans are optimal and topologically valid. However, the plan numbers are assigned by your implementation of successors() and can be different from the sample output. Hence, you do not need to match them.
- Q: For the later section of the assignment, can I just use the blocks world example that is present in the code, or do I have to develop a new problem that does not exist in the code.
A: You will need to come up with a new problem, which we expect to be slightly more complex and lengthier than the blocks world problem.
- Submission due: Oct 14 by 4:30PM (No late submission will be accepted)
- Submission due: Oct 6 by 11:59PM
- Download codes
- Code Tutorial
Further instructions on what kind of statistics you will need to collect and analyze for the report will be posted on this page.
- In order to collect statistics for the report, use PlayerAlpha and PlayerBeta, which are available on here.
- These checkers are in .pyc, which are precompiled Python files. How to load them is the same as you load your own checkers:
-bash-3.2$ python3 driver.py <your_checker> PlayerAlpha32
- The ending numbers on each filename represent the version of Python with which it is compiled (e.g., PlayerAlpha32.pyc is compiled on Python 3.2). Make sure it is matching with your Python, otherwise it will not work.
- PlayerCharlie is optional and you can play against it. But, you do not need to report the results.
- There will be a tournament among your AIs: Tournament Home
- To participate in the tournament, your code should be written in Python 3.
- Submission due: September 22 by 11:59PM (Extended)
September 17 by 11:59PM
- Download codes
- Interface requirement specification: in order to get graded by the automated grader, please follow the requirements specified below.
- State representation: please use a nested tuple to represent a state
goal_state = ((1,2,3), (8,0,4), (7,6,5))
- Basic function interfaces
- def goalp(node): returns true if node.state is equal to the goal state; otherwise, returns false.
- def successors(node): returns a list of all possible states after one move from node.state.
- def edgecost(state1, state2): returns the cost (number) of moving from state1 to state2.
- Heuristic function interfaces
- def hMisplaced(node): returns the heuristic score (number) of the current state (node.state).
- def hManhattan(node): returns the heuristic score (number) of the current state (node.state).
- def hPatternDB(node): returns the heuristic score (number) of the current state (node.state).
- Running your script
- Your script should be able to run by itself by giving the following command in console:
python <your script> <search_algorithm> <init_state> <core_algorithm>
python eightPuzzle.py breadthfirst "((1,2,3),(4,5,6),(7,8,0))" treesearch
- You may use ast.literal_eval() to convert a state string into a tuple.
- A sample grading scripts (available; last update: Sep-14-2014 22:55)
will be available before Sep 13 (please check back).
- This package includes:
- testP2.py (for Python 2.x)
- testP3.py (for Python 3.x)
- Usage: python (testP2.py | testP3.py) <your script name (without .py)>
python testP3.py myPuzzle
- This is a sample grading script and simply shows you how the automatic grading works.
Make sure your code can be called by this script and passes all the sample tests.
Feel free to modify this script so that you can test your code against different scenarios.
The actual grading will be done in a similar but more thorough manner.
- The scripts will test your goalp(), successors(), edgecost(), three heuristic functions, and script running.
On each test, you will see a GO or NO GO means that you have passed or failed the test.
- edgecost() only needs to estimate the cost between two neighboring states. The grading script WILL NOT test your function on two random states.
- For hMisplaced() and hManhattan(), the script will check if your heuristic function returns exact number of misplaced tiles and Manhattan distance, respectively.
- For hPatternDB(), the script will check if your heuristic returns admissible estimations.
- Pleases note that it is our first attempt to grade this assignment using a "semi"-automatic approach.
Please report any bug you find.
- Q: For the report, are we supposed to use the four sample initial states provided in the assignment? Or do we need to generate our own (maybe much more than four)?
A: You just need to report and analyze the results on the four initial states given in the assignment.
- Q: It seems that hMisplaced(((1,3,4),(8,6,2),(7,0,5))) should be 5 (Out of place:3,4,6,2,0) not 4.
A: Please do not count the blank (0).
- Please archive your work in a .zip or .tar file and name it with your last name followed by your first name.
- Upload your submission to AFS (../public/incoming/CS2710).
- In case of any issues, you can email your submission directly to TA.
TA Contact: Charmgil Hong
- Office: 5406 Sennott Square
- Phone: x4-9182
- Email: chh91 at pitt dot edu
- Office Hours: TBA