程序代写代做代考 prolog AI Introduction to AI Knowledge Representation and Reasoning

Introduction to AI Knowledge Representation and Reasoning

Introduction to AI
Some applications of 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 a kitchen 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) ) 15 Summary • Knowledge representation (and automated reasoning) for – Logical agents (and rule-based robots) – Ontologies in RDF and RDF schema - for robots and the web 16