Assignment 4: Problem Formulation |
CSE 415: Introduction to Artificial Intelligence The University of Washington, Seattle, Spring 2016 |
The reading for this assignment is
Applying AI Methodology in Problem Solving.
|
Due Friday, April 28 through
Catalyst CollectIt
at 11:59 PM.
|
Partnership Policy.
This assignment should be done in partnerships. Most partnerships will be teams of two students. In a few cases, teams of three will be permitted (and only in Option C on wicked problems). If necessary, you may work individually, but your requirements will be essentially the same as those for partnerships. |
What to Do.
Your team will formulate a problem and demonstrate problem solving with that formulation.
You may choose a problem from any of the three categories: common puzzles, uncommon puzzles, or wicked
problems. The requirements vary from one category to another, due to the relative simplicity of
formulating the common puzzles and difficulty of formulating a wicked problem. Thus if you select
a common puzzle, you will need to come up with more heuristics and a deeper analysis of them than
if you select an uncommon puzzle. If you formulate a wicked problem, however, you don't have to
actually solve your problem, but simply demonstrate that the formulation works and captures some
essential features of the (wicked) problem. Note also that extra credit is available in options
B and C, but not A; this is explained later.
The formulation must be in the same format as in Assignment 3, and must be compatible with the A3 starter code. Further details are given further down in this page. Fill out the online questionnaire about your team and chosen option and problem by Friday night at 11:45 PM. |
Option A: Common Puzzles. One of the following:
|
Option B: Uncommon Puzzles.
Choose a type of puzzle from the collection at ... http://www2.stetson.edu/~efriedma/rubik/index.html. You may also consider puzzles from the websites linked from that page (under "Other Puzzle Collections"). Do NOT use any of the above-mentioned common puzzles or puzzles that you have already studied. (And no 15 Puzzles -- they are almost the same as the 8 puzzle.) If in doubt, get an OK from the instructor. |
Guidelines for Options A and B.
Create a formulation file. It should include:
|
Testing Requirements for Options A and B.
If you are doing either Option A or B, your main file should
not immediately crash when imported by the Assignment 3 starter code
program ItrDFS.py. However, you do not need to turn in anything to
demonstrate that compatibility.
Provide a test run that shows a solution found by either BreadthFS.py or AStar.py using your formulation. If you are doing Option A, develop tests that show the relative performance of Breadth-First Search, A* with heuristic 1, and A* with heuristic 2. If you wish, you can use two separate graphs, one comparing Breadth-First Search and A* with one heuristic, and another comparing just the two versions of A*. Each graph should be created with examples that help the reader understand the differences in performance from the heuristics. Your heuristics themselves should use different insights about the problem, and they should not be closely related, such as one being some constant multiple of the other. If you are doing Option B, then you only need to compare Breadth-First Search with A* using one heuristic function. In your report file, describe your approach to formulating the problem. Describe the intuition behind each heuristic function for A*, and finally explain, as best you can, why one of the heuristics is performing better than the other (if that is true). |
Option C: Wicked Problems.
Identify some wicked problem that your team will "tame" by creating a formulation of it. Your formulation should involve each of the steps shown on Slide 25 (and Slides 26, 27, and 28) of the April 15-18 lecture slides. You may select some problem you feel is a wicked problem and use that, but if in any doubt, get clearance from the instructor, either via email or through the web questionnaire on Friday (April 24). Before formulating your problem, explain why it fits the criteria of Rittel and Webber for being a wicked problem. Here are a few sample wicked problems to help you come up with your own.
|
Extra Credit: Depending on which option you are doing, you may be eligible for extra credit: Option A: no extra credit; Option B: 5 points of extra credit for a clean and thorough job done on an uncommon puzzle or problem; Option C: 10 points of extra credit for a clean and thoughtful working formulation of one of the wicked problems. Awarding of this extra credit will be at the discretion of the instructional team. |
What to Turn In
Python Files:
Your Python files should begin with a multiline string that gives, on the first line,
your names, and on the next lines: the problem being formulated,
and the status of the program represented by the file.
Include in your report a section called "Retrospective" that explains (a) what each team member contributed to the partnership's work, and (b) in each team member's own words, what he or she learned by doing this assignment. |
Updates and Corrections
If necessary, updates and corrections will be posted here and/or mentioned in class or on GoPost. |
Feedback Survey
After submitting your solution, please answer this survey |