Homework accounts for 35% of the final grade. Homeworks are due every other Thursday (unless otherwise) and there will be 7 homeworks. All homeworks should be done individually unless otherwise mentioned. You are allowed to discuss and exchange ideas but should refrain from exchanging exact solutions. Rule of thumb is when you're sitting down to write/code, you should do it by yourself.
Late policy: Homeworks are either due the start of class or the end of day. The exact time will be specified per homework. Make sure you pay close attention to the deadline! For in class submissions, if you cannot make it to the class, you must make alternate arrangements to have someone submit it on your behalf. You get a grace period of 10 mins after which late penalty will apply. Late penalty is 40% as long as you turn it in by the start of the subsequent class. After this, your submission will not be graded.
Submission maybe paper or electronic and depends on the homework. Every homework will have the submission method mentioned at the start.
Submit system
For electronic submissions, we will use the umbc submit system. The submission method will be specified for each homework (sometimes individual questions!)
The class name is cs471_abhay1
THINGS TO REMEMBER
- All files will be
.txt
files unless otherwise mentioned.- Filenames should simply be the question number from the homework with the
.txt
extension as shown below.- The submit system allows submission until midnight of the due date but THE DEADLINE IS BEFORE CLASS ON THE DUE DATE. The scripts that will pull the homework files will check against the time stamp. Late penalties will apply if it is not submitted by the specified deadline in the hw description.
Use submitproj
to look at the homeworks and the deadlines
linux2[32]% submitproj cs471_abhay1 The following projects are defined for abhay1's cs471_abhay1 class: hw1 Homework 1. This should be submitted by 09/15/2016 1.10pm EST.
You can then use submit
to submit your files to the specific homework/project
linux2[114]% cd myhw1/ linux2[115]% ls 1.txt 2.txt 3.txt linux2[116]% submit cs471_abhay1 hw1 1.txt 2.txt 3.txt Submitting 1.txt...OK Submitting 2.txt...OK Submitting 3.txt...OK
Total points: 5 (5% of the final grade)
Due Date: 11:59pm EST, 15th September 2016
Submission method: Electronic
Submission hw name:hw1
Note - For question 2, feel free to watch the video in groups and discuss ideas. Especially if you have already formed your project group and are searching for ideas. However, when you're writing your essay, you must do it individually.
But first!
(2.5 points)
Lets chat with a bot!
The Turing test is a behavioral approach to determining whether or not a system is intelligent.
It was originally proposed by mathematician Alan Turing, one of the founding figures in computing.
Turing argued in a 1950 paper that conversation was the key to judging intelligence.
In the Turing test, a judge has conversations (via teletype) with two systems, one human, the other a machine.
The conversations can be about anything, and proceed for a set period of time (e.g., an hour).
If, at the end of this time, the judge cannot distinguish the machine from the human on the basis of the conversation, then Turing argued that we would have to say that the machine was intelligent.
1.txt
and paste your conversation with Clever bot.
2.txt
and answer the following questions (50 words or less);
(2.5 points)
What can AI do right now?
Watch this fascinating TED talk from Jeremy Howard about the state of the art in AI & machine learning.
Watch it on TED
or Watch it here on YouTube
3.txt
and;p.s - The goal of this exercise is to help you think about ways to apply AI to domains you are really passionate about. This is also a good way for you to brainstorm potential ideas for your final project. Following submission, I will do some basic text analysis to get a sense of different topics the class is interested in and cluster students with similar ideas! (potential projectmates maybe?)
(0 points)
Watch Big Hero 6! :)
Total points: 100 (5% of the final grade)
Due Date: 11:59:59pm EST, 29th September 2016
Late submission: 11:59:59pm EST, 4th October 2016 (40% penalty)
Submission method: Electronic
Submission hw name:hw2
Click to download the test cases and the OPTIONAL starter code!
(100 points)
We will use Python to implement the following search algorithms: breadth first search, depth first search, uniform cost search, best first search and A* search.
Some useful links to bootstrap yourself with python
Things to turn in - You will create a python file called search.py
that should be run as shown
python search.py algorithm_name node_file.txt edge_file.txt heuristics_file.txt start_node end_node output_file.txt
node_file.txt
- This is the set of nodes where each line represents a single node.
A
B
C
D
E
F
G
edge_file.txt
- Each edge in the graph is represented in a single line as shown in the edge_file
A B 5Note that
A C 20
B E 2
C F 3
C G 10
C D 10
E C 3
F E 1
F G 2
A B 5
means that there is an edge from A to B that has a cost 5. It DOES NOT mean there is an edge from B to A.
heuristic_file.txt
- This is the value of the heuristic function for each node to the goal node. This is only used for best first and A* search.
A 2The value indicates how close the heuristic function thinks the current node is from the goal node (i.e the cost from the goal node). Infinity is replaced by a large number.
B 3
C 1
D 10000
E 2
F 1
G 0
algorithm
- This argument specifies what algorithm has to be used and takes one of the following values.
breadth
- Breadth First Searchdepth
- Depth First Searchuniform
- Uniform Cost Searchgreedy
- Greedy Best First Searchastar
- A* SearchstartNodeName
- The name of the start node e.g A
goalNodeName
- The name of the goal node e.g G
output_file.txt
- This is the output file you will have to write the results in. It must follow the following format. For example, BFS on the above graph from A to G will return
AThe file must start with the start node on the first line followed by the subsequent nodes in the path in each line and terminate with the goal node. The last line should be the cost of the path.
C
G
30
NOTE - Nodes should be added to your stack or queue alphabetically, as we did in class. You should adhere to the specified output format since grading will be automated and incorrect format might mean you lose points!
You are free to discuss approaches with your friends but you must code by yourself! Plagiarism detection software will be used so think twice before sharing/exchanging code
You will submit using submit cs471_abhay1 hw2 search.py
Total points: 100 (5% of the final grade)
Due Date: 1.10pm EST, 13th October 2016
Late submission: 1.10pm EST, 18th October 2016
Submission method: Paper (in class)/ Electronic (submit system - PDF FILES ONLY!)
Submission hw name:hw3
Answer each of the following questions in no more than a single sentence!
(3 points each * 5 = 15)
f(x,y)= x^2 + y^2
have?Consider the minimax tree shown below
(5 points) Use the minimax algorithm to fill in values for each of the nodes. Indicate the optimal path taken from the root node to the leaf node (using arrows)
(20 points) Use the alpha-beta pruning with minimax algorithm on the same tree.
Consider the following CSP
Answer the following questions
Hint: Each ordered pair of constrained variables is added into the queue.
Eg: [(X1,X2), (X2,X1), (X1, X3), (X3, X1)]
Hint: After each pair of variables from the queue is processed, their corresponding domains are reduced to ensure arc consistency
Consider the following scenario: Your partner finds several inappropriate text messages on your phone and gets suspicious that you are cheating. You try to convince him/her that it is some random person but he/she asks you to prove it by taking a lie detector test!
You get an at-home lie detector that has the following information on the box. It boasts a true positive accuracy of 97% i.e. the probability of you failing the lie detector test if you did indeed cheat is 0.97 . In tiny font, it also lists its false positive rate of 2.5% i.e. the probability of you failing the test even if you didn't actually cheat is 0.025 .
He/she quotes a tabloid magazine that says "3 out of 10 people cheat on their partners" and vows to break up if the probability that you cheated after taking the test is more than 0.1 . The test is administered and behold, you fail!
(10 points)
Failing the lie detector test makes you start to panic! You start to search online and find a credible research study that concludes "Only 1 in 1000 CS students actually cheat on their partners because they tend to have no life outside of coding". You get excited because you are a CS student!
(10 points)
Your partner is still not convinced! He/she asks you to take the test again and behold, you fail again!
(10 points)
Total points: 100 (5% of the final grade)
Due Date: 11.40am EST, 3rd November 2016
Late submission: 11.40am EST, 7th November 2016
Submission method: Paper (in class)/ Electronic (submit system - PDF FILES ONLY!)
Submission hw name:hw4
Consider the Bayes network below where all the variables are binary. '-' represents negative or False & '+' represents positive or True. The tables are corresponding conditional probability distributions.
age (month) | length (inches) |
---|---|
1 | 4 |
2 | 5.5 |
3 | 7 |
length = 3 * age + 1
.length = 2 * age + 2
.X1 | X2 | Y |
---|---|---|
T | T | T |
T | F | F |
T | F | T |
F | T | F |
T | F | T |
F | F | T |
T | T | T |
d1=(1,1), d2=(2,4), d3=(3,2), d4=(6,4)
cluster1 center = (0,8), cluster2 center = (9,7)
Total points: 100 (5% of the final grade)
Total points possible: 140 (40 points extra credit)
Due Date: 11.59pm EST, 18th November 2016
Late submission: 11.59pm EST, 22nd November 2016
Submission method: Electronic only(PDF only)
Submission hw name:hw5
Link: https://docs.google.com/document/d/1bDHVMGu-N5alKpiA79gsidM7bnpVSPG18X7GX2Tgs5A/edit?usp=sharing
Total points: 100 (5% of the final grade)
Total points possible: 120 (20 points extra credit)
Due Date: 11.40pm EST, 1st Dec 2016
Late submission: 11.40pm EST, 6th Dec 2015 (electronic only)
Submission method: Paper (in class)/ Electronic (submit system - PDF FILES ONLY!)
Submission hw name:hw6
For each of the following expressions in propositional logic, state if they are syntactically correct or not. (Yes/No)
(2 points each * 5 = 10)
Use the following atomic propositions and express the given English sentences into well formed propositions of propositional logic
(2 points each * 5 = 10)
For the following statements, state if it is valid, satisfiable or a contradiction
(2 points each * 5 = 10)
Translate the following English sentences into First order Logic
(3 points each * 10 = 30)
Convert the following FOL sentences to english
(2 points each * 5 = 10)
Represent the following knowledge base in first-order logic. Use the predicates
attend(x)
,
fair(t)
,
pass(x, t)
,
prepared(x)
,
smart(x)
,
study(x)
,
umbc-student(x)
,
where arguments x have the domain of all students and arguments t have the domain of all tests
study(Coco) => pass(Coco, 471-exam)using resolution refutation. Show your proof as a series of sentences added to the KB. Clearly show which sentences were resolve to product each new sentence and what the unifier was for each resolution step. (Similar to the one on the slides)
Total points: 100 (5% of the final grade)
Total points possible: 120 (20 points extra credit)
Due Date: 1.10pm EST, 13th Dec 2016
Late submission: NO LATE SUBMISSION ALLOWED
Submission method: Paper (in class)/ Electronic (submit system - PDF FILES ONLY!)
Submission hw name:hw7
STRIPS Planning
In the monkey-and-bananas problem, a monkey is in a laboratory with some bananas hanging out of reach from the ceiling. The monkey’s goal is to get the bananas. A box is available that will enable the monkey to reach the bananas if he climbs on it. Assume that your domain predicates are:
Initially, the monkey is at location A, the bananas at B, and the box at C. The monkey and box have height Low, but if the monkey climbs onto the box, he will have height High, the same as the bananas. The actions available to the monkey include Go from one place to another, Push a box from one place to another, ClimbUp onto or ClimbDown from a box, and Grasp or Ungrasp an object.
(20 points) Consider the inconsistent partially ordered plan below. Identify the conflicts in this plan and show all ways of resolving them that follow the principle of least commitment. For each solution, draw the new partially ordered plan, and list all of its linearizations
Partially solve 2015 Final exam
Exam link: 2https://docs.google.com/document/d/1C5Q8YHd1es-A26yTQkVPb3oWJxOA8fn-1BamkR4QIio/edit?usp=sharing
Answer the following questions from the last year's final (the solutions have been removed)