Department of Computer Science
CMPT 317
Introduction to Artifificial Intelligence
代写计算机作业 Note: These methods will probably run out of time for most larger problem instances, and you should not worry about solving all problems.
Assignment 2
Question 1 (12 points):
Purpose: To apply uninformed search algorithms to simple problem instances.
AIMA Chapter(s): 3.1-3.4
You have been provided with several Python les. These include a state representation of the Kessel Run problem, as well as generalized, object-oriented implementations of the basic search algorithms below:
- Breadth-rst (BFS)
- Depth-rst (DFS)
- Depth-limited (DLS)
- Iterative-deepening (IDS)
Your job is to run each of these algorithms on the Kessel Run data les and record their performance. 代写计算机作业
The only programming you will have to do yourself for this question is to write a top-level script that will read a data le, use it to create problem instances, run each of the algorithms above on the problem,and display the results in a format that is helpful for you. A very basic template script is provided as well:solver_template.py. Understanding the provided code-base sufficiently to write a useful solver script is part of the question!
For each of the ve data les, calculate the entries for the following table, using a time limit of 10 seconds per instance. For DLS you can use a depth limit of 3 for the “easy” data-set, 4 for the “moderate”, and 8 for everything else.

Your table should be neat and readable (use tabs in plain text, or a table in Word, etc). For maximum readability, your table should round or truncate the oating point values to 4 digits or so. Digits after the 4th are not really meaningful. Your script could do the rounding, of course, but it’s not required.
Note: These methods will probably run out of time for most larger problem instances, and you should not worry about solving all problems.
What to Hand In
- Five tables of data, as described above. You can use a plain text le, or you can submit a MSWord document, or PDF. Name your document a2q1_TABLES with an appropriate extension (e.g., txt, pdf,docx, etc).
- A le named a2q1.py containing your implementation of the solver script. You may submit multiple-les, provided that the lenames begin with a2q1_
Be sure to include your name, NSID, student number, and course number at the top of all scripts, programs,and any other documents.
Evaluation 代写计算机作业
- 10 marks: Your le named a2q1_TABLES contains the ve tables of summary data. Each table is neat,and easily readable, and contains plausible results. Marks will be deducted for messy tables, or for missing tables.
- 2 marks: Your script(s) are useful and well-documented. Specically:
– Your solver script correctly creates problem instances and produces useful output.
– Every function or method has at least a brief description of its purpose.
– Your name, NSID, and student number are in the file.

Question 2 (10 points): 代写计算机作业
Purpose: To explore the eect of state representation on search
AIMA Chapter(s): 3.1-3.4
One of the code les you were given is KesselRun.py. This file contains the implementation of the state rep-resentation for the Kessel Run problem. Storing the data for a state, generating legal actions and creating new states by applying actions all happen here.
For this question, your job is to make one change to the state representation that you think might improve performance. “One change” doesn’t mean changing just one line of code; it means taking a single, coherent idea that can be described in at most one or two sentences and changing the code where appropriate to implement your idea. Make sure to clearly document in the KesselRun.py code anything that you change. 代写计算机作业
Once you have made your change, create the same tables of performance data as in the previous question,again using a time limit of 10 seconds. In the same document as your tables, include a short, english-language description of your change and why you thought it might help.
It doesn’t matter if your change ends up NOT helping with the data you submit in your new tables.
What to Hand In 代写计算机作业
- Your document that includes a description of your change to the state representation, as well as your data tables for the results. You can use a plain text le, or you can submit a MSWord document, or PDF. Name your document a2q2_TABLES with an appropriate extension (e.g., txt, pdf, docx, etc).
- A le named a2q2_KesselRun.py containing your modied version of the Kessel Run state represen-tation code.
Be sure to include your name, NSID, student number, and course number at the top of all scripts, programs,and any other documents.
Evaluation
- 4 marks: Your description of your change is coherent and well-motivated.
- 3 marks: Your implementation of your change matches your written description and is well-documented
- 3 marks: You included the ve tables in a readable format.
