11
Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University, Sweden Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal ICINCO’06 - Setúbal, Portugal September, 2005 August, 2006

Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Embed Size (px)

Citation preview

Page 1: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Modelling Adaptive Controllers withEvolving Logic Programs

Pierangelo Dell’Acqua

Anna Lombardi

Dept. of Science and Technology - ITN

Linköping University, Sweden

Luís Moniz Pereira

Centro de Inteligência Artificial - CENTRIA

Universidade Nova de Lisboa, Portugal

ICINCO’06 - Setúbal, PortugalSeptember, 2005August, 2006

Page 2: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Adaptive controllers

An adaptive controller is a controller that is able to change its behaviour in response to changes in the dynamics of the environment.

• Several approaches have been proposed for adaptive control:

e.g., gain scheduling, model-reference adaptive control, self-tuning

regulators, and logic-based switching.

• Classical approaches to deterministic adaptive control have limitations when

unknown parameters enter the process model.

Fuzzy logic controllers have been proposed to control systems with

a high degree of uncertainty.

Page 3: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Evolving Logic Programs (Evolp)

Evolp is a simple, powerful, language to reason about knowledge base evolution.

• It enjoys a well-defined declarative and procedural semantics.

• It provides a firm formal basis in which to express, implement, and reason about dynamic knowledge bases.

Page 4: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Aim of the work

We propose the use of Evolp to model adaptive, dynamic, controllers

operating in complex and uncertain environments.

The use of well-defined, evolving logic-based controllers allows us:

• to model dynamic, complex environments, and

• to formally validate system’s requirements.

Page 5: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Evolp programs

Evolp rules are generalized logic programming rules (possibly with not’s in their heads) plus the special predicate assert, in bodies as well as heads.

The argument of assert is an Evolp rule, e.g.:

assert( a ← not b) ← d, not e

not h ← not assert( assert(a ← b)← not b), c

Evolp programs are sets of Evolp rules.

Page 6: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Evolp

The predicate assert allows one to incorporate new information, and therefore make the program evolve.

In the following, let P0 be an initial Evolp program,

and SM = stable model.

P0 gives rise to a sequence of Evolp programs P0 , P1 , P2 ,… as follows:

if assert(Rule) SM(P0) then RuleP1

if assert(Rule) SM(P0 P1) then RuleP2

if assert(Rule) SM(P0 … Pn) then RulePn+1

Note the not’s in heads allow newer rules to supervene older rules, e.g.:

assert( not a ← c ) ← f, g

Page 7: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Meaning of Evolp programs

The meaning of P0 is determined by sequences of sets I of literals:

• Each sequence < I0 ,…,In > represents a possible evolution

• The first set in a sequence is a stable model of the initial program:

I0 = SM(P0)

• The nth set in a sequence represents what holds after n steps in that evolution:

I0 = SM(P0)

I1 = SM(P0 P1)

In = SM(P0 … Pn)

Page 8: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Events

Program evolution may me influenced from the outside.

• Observations of facts and rules.

Influence from outside is represented in Evolp via the notion of events.

• Events do not persist by inertia.

Semantic account:

Let E0, E1, …, En be the sets of events received at steps 0, 1, …, n.

The meaning of P0 wrt. E0, E1, …, En is a sequence < I0 ,…,In > such that:

I0 = SM(P0 E0)

I1 = SM(P0 ( P1 E1) )

In = SM(P0 … ( Pn En ) )

Page 9: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Modelling adaptive controllers

P0 = controller’s specification

Cycle with:

E0, P0 I0 = SM(P0 E0)

do(Action) I0

assert(Rule) I0 P1

E1, P1 I1 = SM(P0 ( P1 E1) )

do(Action) I1

assert(Rule) I1 P2

. . .

E Controller

assert(.)

do(.)

EVOLP

Process

Page 10: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Modelling supervisory control

E Supervisor

assert(.)

EVOLP

Controller

Process

U

add(.)remove(.)

P0 = supervisor’s specification

0 = controller’s specification

Supervisor

P0, E0, U0 I0 = SM(P0 E0 U0)

add() I0

remove() I0

assert(Rule) I0 P1

Controller

E0, add(), remove() 0 ( E0) = U1

1 = 0 + - . . .

Page 11: Modelling Adaptive Controllers with Evolving Logic Programs Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,

Conclusions

We have addressed the problem of modelling adaptive controllers via Evolp:

• Evolp allows one to express them in a concise, natural, and elegant way.

• Furthermore, employing a well-defined, logic-based approach makes it possible to validate properties of controllers.

Various forms of logic reasoning can be incorporated to enhance performance:

• Abductive reasoning: e.g., to diagnose erroneous controller behaviours

• Preference reasoning: to prefer among plausible alternatives in case of uncertainty.

• Prospective reasoning: to simulate possible futures with the aim to avoid undesirable ones (model predictive control with look-ahead).