Introduction to AI Knowledge Representation and Reasoning
Introduction to AI
Some applicationsof KRR
Francesca Toni
(thanks to Fariba Sadri)
Outline
Logical agents
Logic-based Production System
(Rule-based robotics)
Ontologies
2
Section 7.1
Section 12.5
Section 2.4
Section 14.3
Logical agents
3
Perceive
Reason and
choose action(s)
Execute action(s)
inference engine
knowledge base Domain-dependent, dynamic e.g. logic program
Domain-independent/static e.g. SLDNF/(XSB)Prolog
goal(s) Domain-dependent, dynamic
LPS (Logic-based Production System)
http://lpsdemo.interprolog.com/
maxTime( ).
fluents .
actions .
events .
Declarations
Inputs
Reactive rules
Causal theory
Clauses
4
initially .
observe .
if then .
if .
:- .
initiates if .
terminates if .
false .
% Fire example
% Declarations
maxTime(5).
fluents fire.
actions eliminate, escape.
events deal_with_fire.
% Initial state: Inputs
initially fire.
% Goals: Reactive Rules
if fire at T1 then deal-with-fire from T1 to T2.
% Beliefs: Clauses
deal-with-fire from T1 to T2 if eliminate from T1 to T2.
deal-with-fire from T1 to T2 if escape from T1 to T2.
% Causal theory
eliminate terminates fire.
5
% Fire example extended with recurrent fires
% Declarations
maxTime(10).
fluents fire, water.
actions eliminate,escape, ignite(_), refill.
events deal_with_fire.
% Initial state: Inputs
initially water.
% Observations: Inputs
observe ignite(sofa) from 1 to 2.
observe ignite(bed) from 4 to 5.
observe refill from 7 to 8.
% Goals: Reactive Rules
if fire at T1 then deal-with-fire from T2 to T3.
6
% Beliefs: Clauses
deal-with-fire from T1 to T2
if eliminate from T1 to T2.
deal-with-fire from T1 to T2
if escape from T1 to T2.
% Time-independent information: Clauses
flammable(sofa).
flammable(bed).
% Causal theory
ignite(Object) initiates fire
if flammable(Object).
eliminate terminates fire.
eliminate terminates water.
refill initiates water.
false eliminate, fire, not water.
% Planning in the blocks world
maxTime(10).
fluents location(_,_).
actions move(_,_).
initially location(f,floor), location(b,f),location(e,b),
location(a,floor), location(d,a),location(c,d).
% Goals
if true
then make_tower([a,b,c,floor]) from T1 to T2.
if true
then make_tower([f,e,d,floor]) from T1 to T2.
clear(Block) at T if Block = floor,
not location(_,Block) at T.
clear(floor) at _.
7
make_tower([Block,floor]) from T1 to T2 if
make_on(Block,floor) from T1 to T2.
make_tower([Block,Place|Places]) from T1 to T3 if
Place = floor,
make_tower([Place|Places]) from T1 to T2,
make_on(Block,Place) from T2 to T3.
make_on(Block,Place) from T1 to T4 if
not location(Block,Place) at T1,
make_clear(Place) from T1 to T2,
make_clear(Block) from T2 to T3,
move(Block,Place) from T3 to T4.
make_on(Block,Place) from T to T if
location(Block,Place) at T.
make_clear(Place) from T to T if clear(Place) at T.
make_clear(Block) from T1 to T2if
location(Block1,Block) at T1,
make_on(Block1,floor) from T1 to T2.
move(Block,Place)initiates location(Block,Place).
move(Block,_)terminates location(Block,Place).
Rule-based systems for robotics (1)
-non-examinable-
8
A Framework for Integrating Symbolic
and Sub-symbolic Representations
a robot building towers of blocks, subject to human interference, using
1) a concurrent multi-tasking teleo-reactive program,
2) a physics simulator to provide spatial knowledge,
3) sensor processing and robot control.
http://www.ijcai.org/Proceedings/16/Papers/354.pdf
http://www.ijcai.org/Proceedings/16/Papers/354.pdf
Rule-based systems for robotics (2)
-non-examinable-
9
Representations for robot knowledge
in the KnowRob framework
https://ac.els-cdn.com/S0004370215000843/1-s2.0-S0004370215000843-main.pdf?_tid=2dbd26aa-0bfe-11e8-8bb8-00000aacb35e&acdnat=1518004875_34e79120b90c95bdca71b117509c1c8a
Rule-based systems for robotics (2)
Semantic environment maps
11
Map of akitchen including trajectories
for opening the different cupboards.
Ontology: representation of composed objects and
kinematic structures with prismatic and rotational joints
Ontologies
Explicit and formal specification of a conceptualization the
kind of things that exist in a given domain
Typical Components of Ontologies
Concepts of the domain
e.g. classes of objects
professors, students, courses
Relationships between these terms:
e.g. class hierarchies: a class C to be a subclass of another
class C if every object in C is also included in C
all professors are staff members
On the web: ontologies provide a shared understanding of a
domain: semantic interoperability
overcome differences in terminology
map between ontologies
12
RDF (Resource Description Framework):
Universal language for describing resources:
Statements of the form object-attribute-value assert
properties of objects (resources):
they consist of an object (resource), a property, and a value
e.g. (http://www.x.y/~ft, http://www.k.z/site-owner, #ft)
Can be also seen as
a (piece of a) graph (known in AI as a semantic net)
a piece of XML code
an atom: site-owner(http://www.x.y/~ft, #ft)
13
http://www.x.y/~ft #ft
site-owner
RDF schema
Classes (and properties)
type(a,C) states that a is instance of class C
Class Hierarchies (and Inheritance)
subClassOf(C,D) states that class C is a subclass of
class D
Property Hierarchies
subPropertyOf(P,Q) states that property Q is true
whenever property P is true
14
RDF and RDF Schema in positive logic programming
(description logic programming)
A triple of the form (a,P,b) in RDF can be expressed as a
fact P(a,b)
E.g. isTaughtBy(introAI,ft).
An instance declaration of the form type(a,C) (stating a
is instance of class C) can be expressed as C(a)
E.g. professor(ft)
The fact that A is a subclass (or subproperty) of B can
be expressed as A(X) B(X)
E.g. academicStaffMember(X)<-professor(X)(involves(X,Y) <- isTaughtBy(X,Y) )15Summary Knowledge representation (and automated reasoning) for Logical agents (and rule-based robots) Ontologies in RDF and RDF schema – for robots and the web16
Reviews
There are no reviews yet.