Automated reasoning homework 2015
Automated reasoning homework as a second part of a two-phase project
The goal of this homework is
- to learn about representing knowledge and rules in logic
- experimenting with an automated reasoner
The concrete task is to add some common sense rules to the rdf or multi-arity representation output of the first phase of the project and then ask and prove some example queries using an automated reasoner.
Administrative
Homework defence deadline: 24. November. Presentation afer this deadline will give half of the points. Absolute deadline is 8. December: no submissions will be accepted after that,.
Work should be submitted to git, latest one day before deadline.
The groups are same as for the first phase
What you have to do
First of all, by default we will use the otter prover. Download it and try out some example problems in the otter zip file. Have a look at the manual as well.
Suppose you have a triplet like
[http://en.wikipedia.org/wiki/Barack_Obama, http://en.wikipedia.org/wiki/china], id:type http://conceptnet5.media.mit.edu/web/c/en/person
where the list http://en.wikipedia.org/wiki/china means that we do not know which interpretation is the correct one (the original word was like he,this,she,it,...)
First, pick just one interpretation like
http://en.wikipedia.org/wiki/Barack_Obama, id:type http://conceptnet5.media.mit.edu/web/c/en/person
and then
- represent it in otter format
- add common sense rules about the domain of news and politics (ontology: like a taxonomy, can be a bit more complex)
- pose a question in otter format
- run otter to find answer
If you manage to do that, you will pass.
Next, a bit fancier task:
Run a loop where you try out different interpretations of he,this,she,it,... and for each interpretation in the list:
- represent it in otter format
- add common sense rules about the domain of news and politics (ontology: like a taxonomy, can be a bit more complex)
- check whether otter generates a contradiction: if yes, then this is probably a wrong interpretation, since it does not match common sense rules.
Partial example
Suppose we have a triplet
http://en.wikipedia.org/wiki/Barack_Obama, id:type, http://conceptnet5.media.mit.edu/web/c/en/person
then we encode it in the otter format like this:
rdf("http://en.wikipedia.org/wiki/Barack_Obama", "id:type", "http://conceptnet5.media.mit.edu/web/c/en/person").
and then we add some of our handmade common-sense rules:
-rdf(X,"id:type", "http://conceptnet5.media.mit.edu/web/c/en/person") | rdf(X,"id:type", "http://conceptnet5.media.mit.edu/web/c/en/animal"). -rdf(X,"id:type", "http://conceptnet5.media.mit.edu/web/c/en/animal") | rdf(X,"id:type", "mortal"). -rdf("http://en.wikipedia.org/wiki/Barack_Obama", "id:type", "mortal"). -rdf(X,"id:type", "http://conceptnet5.media.mit.edu/web/c/en/person") | rdf(X,"id:CapableOf", "id:eat").