Assignment 4: Problem Formulation |
CSE 415: Introduction to Artificial Intelligence The University of Washington, Seattle, Spring 2017 |
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 A 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 problems from any of the three
categories:
wicked problems,
uncommon puzzles,
or
common puzzles.
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
common puzzles, you will need to create three formulations and come up with more heuristics and/or 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
A and B, but not C; 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. |
Questionnaire Response due April 21:
Every student (i.e., both members of each partnership) should fill out the online questionnaire about your team and chosen option and problem(s) by Friday night at 11:45 PM. The 5 points of credit allocated to this questionnaire will only be awarded for on-time submissions. |
Option A: Wicked Problems:
(We expect most students to choose this option.) 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 14 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 21). Before formulating your problem, explain why it fits the criteria of Rittel and Webber for being a wicked problem (at least criteria 1 and 6). Here are a few sample wicked problems to help you come up with your own.
|
Option B: Uncommon Puzzles:
|
Option C: Common Puzzles:
Do either suboption C.3 (implement formulations of three of the following puzzles), or suboption C.2+ (implement formulations of two of the following puzzles plus do an in-depth analysis of heuristics for both of them).
Option C.2+: Implement 2 problem formulations and two admissible heuristic per formulation. For each formulation, do a three-way comparison in which you show the number of state expansions for heuristic 1, heuristic 2, and no heuristic (Uniform-Cost Search). |
Guidelines for All Three Options A, B, and C:
For each puzzle that you implement, create a formulation file, using the same format as used for Assignment 3. It should include the following (except that in Option A you don't need a goal test):
|
Testing Requirements:
No matter whether you are doing Option A, B, or C, 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. For Option B or C, provide a transcript of a test run that shows a solution found by either BreadthFS.py or AStar.py using your formulation. Make this an appendix of your pdf report. This will be especially helpful to the human graders if something goes wrong between your code and the autograder. If you are doing Option C.2+, develop tests that show the relative performance of Breadth-First Search, A* with heuristic 1, and A* with heuristic 2. Your two 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 or Option C.3, then you only need to compare Breadth-First Search with A* using one heuristic function (for each of your problem formulations).
|
Extra Credit:
Depending on which option you are doing, you may be eligible for extra credit:
|
What to Turn In:
A Python File called A skeleton version of this file called
Portions of this assignment will be evaluated by an autograder. The autograder will first look for this file and then take additional actions based on the information you put in this file. Once you have filled in the missing information, you can run the file as a program, and its output will help you make sure all the data about you and your partner is correct. Be sure to complete the file and turn it 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. |
Grading Considerations
This assignment is worth 100 points per student. In a partnership, the instructional staff will assume that both partners contributed equally to the assignment results, unless we have some important reason to believe differently. We hope that each student will work to the benefit of the partnership and to providing complementary knowledge, skills, and efforts. Ideally, both parters will learn new things and improve their skills during the assignment. The planning questionnaire responses are due Friday, April 21. Each student should respond separately, even though you are in partnerships. Each student who responds by the deadline will earn 5 points towards the 100 points available in the assignment. If your file Your report is worth 25 points. It includes basic documentation that
includes the facts you put in If you are doing Option B or Option C, then you should have a section on TESTING OF HEURISTICS that gives the statistics you were asked for in the option's description. Finally, you should have your Retrospective section as described earlier. The remaining 65 points are for your problem formulations, heuristics, and code for testing. |
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 |