ALP agent model that combines
reflective and intuitive thinking
•
Consciousness as awareness
•
Levels of consciousness can be compiled and
sometimes decompiled from one to another
•
Compiling conscious into subconscious thought
by reasoning in advance
•
Logic and neural networks
•
The meaning of life
Dual Process Theory of Human Thinking
Intuitive thinking, which is “tacit”, opaque and automatic, extends
perceptual processing to subconscious levels of thought.
Reflective thinking, which is self-aware and controlled, can be used
to improve conscious thought and communication.
Reflective thinking can migrate to the intuitive level, e.g. learning
to use a keyboard, play a musical instrument or drive a car.
Intuitive knowledge can sometimes be made conscious and explicit,
e.g. constructing a formal grammar for a natural language, coaching
sports or developing an expert system.
Consciousness in computational logic
An agent is conscious
when it is aware of what it is doing and why it is doing it.
Computationally, when an agent is conscious,
its behaviour is controlled by a high level program, which manipulates
symbols that have meaningful interpretations in the environment.
When the agent is not conscious,
its behaviour is controlled by a lower level program or physical device,
whose structure is ultimately determined by the agent’s interactions with
the environment.
Logically, when an agent is conscious,
its behaviour is generated proactively by goals and beliefs.
When the agent is not conscious,
its behaviour is determined reactively by (condition-action rules (or inputoutput associations).
These rules and associations can be represented at different levels in turn,
including both a logical, symbolic level and the lower, physical level of the
agent’s body itself.
Consciousness on the London underground
Goal:
Beliefs:
If there is an emergency then I get help.
A person gets help if the person alerts the driver.
A person alerts the driver
if the person presses the alarm signal button.
There is an emergency if there is a fire.
There is an emergency if one person attacks another.
There is an emergency if someone becomes seriously ill.
There is an emergency if there is an accident.
There is a fire if there are flames.
There is a fire if there is smoke.
Compiling by reasoning in advance
Use unfolding to reduce the conclusion of the top-level goal:
Goal:
Beliefs:
If there is an emergency then I get help.
A person gets help if the person alerts the driver.
A person alerts the driver
if the person presses the alarm signal button.
New goal:
If there is an emergency
then I press the alarm signal button.
Unfolding replaces a predicate by its definition, doing
backward reasoning in advance of the need to solve goals.
Compiling by reasoning in advance
Use unfolding to reduce the conditions of the new goal
(doing forward reasoning in advance):
Goal:
Beliefs:
If there is an emergency then I press the alarm signal button.
There is a fire if there are flames.
There is a fire if there is smoke.
There is an emergency if there is a fire.
There is an emergency if one person attacks another.
There is an emergency if someone becomes seriously ill.
There is an emergency if there is an accident.
New input-output associations (reactive condition-action rules):
If there are flames then I press the alarm signal button.
If there is smoke then I press the alarm signal button.
If one person attacks another then I press the alarm signal button.
If someone becomes seriously ill then I press the alarm signal button.
If there is an accident then I press the alarm signal button.
Higher-level compared with
lower-level representation
The higher-level representation is aware that
the goal of pressing the alarm signal button is to get help.
The lower-level representation is not aware of the goal.
If something goes wrong,
for example if the button doesn’t work
or the driver doesn’t get help,
then the passenger might not realise there is a problem.
Also, if the environment changes,
and there are better ways of dealing with emergencies,
then it would be harder to modify the lower level representation
to adapt to the change.
In Computing
Lower-level representations are more efficient.
Higher-level representations are more flexible,
easier to develop, and easier to change.
Typically, the higher-level representation is developed first,
and then transformed or compiled into a lower-level representation.
Low-level programs can sometimes be decompiled into equivalent higherlevel programs.
The higher-level representation can then be modified and recompiled
into a new, improved, lower-level form.
Legacy systems, developed directly in low-level languages,
may not have enough structure to decompile them.
But even then it may be possible to approximate them
with higher-level programs.
Feed-forward neural networks can be decompiled into logic
programming form (from Computational Intelligence, Poole,
Mackworth, Goebel, 1998)
inputs
hidden units
output
known
new
reads
short
home
reads with strength W
if
arguably reads with strength W1
and arguably doesn’t read with strength W2
and W = f(2.98 + 6.88W1 – 2.1W2)
arguably reads with strength W1
if
known with strength W4
and new with strength W5
and short with strength W6
and home with strength W7
and W1 = f(– 5.25 + 1.98W4 + 1.86W5 + 4.71W6 – .389W7)
arguably doesn’t read with strength W2
if
known with strength W4
and new with strength W5
and short with strength W6
and home with strength W7
and W2 = f(.493 - 1.03W4 - 1.06W5 - .749W6 + .126W7)
In English
A person will read a paper
if there is strong reason to read the paper and
there is no sufficiently strong reason not to read the paper.
There is a reason to read the paper
if the author is known to the person, the topic is new,
the paper is short and the person is at home.
There is a reason not to read the paper
if the author is not known to the person, the topic is old, the
paper is long and the person is not at home.
The meaning of life (for a wood louse)
A wood louse’s life is without meaning:
If it’s clear ahead, then I move forward.
If there’s an obstacle ahead, then I turn right.
If I am tired, then I stop.
But a wood louse’s life
may have hidden meaning
Top-level goals:
Beliefs:
The louse stays alive for as long as possible and
the louse has as many children as possible.
The louse stays alive for as long as possible,
if whenever it is hungry then it looks for food
and when there is food ahead it eats it, and
whenever it is tired then it rests, and
whenever it is threatened with attack then it defends itself.
The louse has as many children as possible,
if whenever it desires a mate then it looks for a mate
and when there is a mate ahead it tries to make babies.
The louse looks for an object,
if whenever it is clear ahead then it moves forward, and
whenever there is an obstacle ahead and it isn’t the object then it turns right and
when the object is ahead then it stops.
The louse defends itself if it makes a pre-emptive attack.
Food is an object.
A mate is an object.
Deriving an input-output specification
by reasoning in advance
Unfolding the louse’s top-level goals generates subgoals:
whenever the louse is hungry then it looks for food
and when there is food ahead
it eats it, and
whenever the louse is tired then it rests, and
whenever the louse is threatened with attack then it defends itself and
whenever the louse desires a mate then it looks for a mate
and when there is a mate ahead
it tries to make babies.
The first subgoal can be written as two subgoals in the simpler form:
If the louse is hungry then it looks for food and
If the louse is hungry and there is food ahead then it eats it
Sub-goals in simplified form
If the louse is hungry
then it looks for food, and
If the louse is hungry and there is food ahead
then it eats it, and
If the louse is tired
then it rests, and
If the louse is threatened with attack
then it defends itself, and
If the louse desires a mate
then it looks for a mate, and
If the louse desires a mate and there is a mate ahead
then it tries to make babies.
Sub-goals in simplified form
If the louse is hungry
then it looks for food, and
If the louse is hungry and there is food ahead
then it eats it, and
If the louse is tired
then it rests, and
If the louse is threatened with attack
then it defends itself, and
If the louse desires a mate
then it looks for a mate, and
If the louse desires a mate and there is a mate ahead
then it tries to make babies.
An input-output specification in reactive, condition-action rule form
(which requires conflict resolution)
If the louse is hungry and it is clear ahead
then the louse moves forward.
If the louse is hungry and there is an obstacle ahead and it isn’t food
then the louse turns right.
If the louse is hungry and there is food ahead
then the louse stops and the louse eats the food.
If the louse is tired
then the louse rests.
If the louse is threatened with attack
then the louse makes a pre-emptive attack.
If the louse desires a mate and it is clear ahead
then the louse moves forward.
If the louse desires a mate and there is an obstacle ahead and it isn’t a mate
then the louse turns right.
If the louse desires a mate and there is a mate ahead
then the louse stops and the louse tries to make babies.
A input-output specification with conflict resolution compiled into the rules
If the louse is threatened with attack
then the louse makes a pre-emptive attack.
If the louse is hungry and the louse is not threatened with attack and it is clear ahead
then the louse moves forward.
If the louse is hungry and the louse is not threatened with attack and there is an obstacle ahead
and it isn’t food then the louse turns right.
If the louse is hungry and the louse is not threatened with attack and there is food ahead
then the louse stops and the louse eats the food.
If the louse is tired and the louse is not threatened with attack and the louse is not hungry
then the louse rests.
If the louse desires a mate and it is clear ahead and the louse is not threatened with attack and
the louse is not hungry and the louse is not tired
then the louse moves forward.
If the louse desires a mate and there is an obstacle ahead and it isn’t a mate and the louse is not
threatened with attack and the louse is not hungry and the louse is not tired
then the louse turns right.
If the louse desires a mate and there is a mate ahead and the louse is not threatened with
attack and the louse is not hungry and the louse is not tired
then the louse stops and the louse tries to make babies.
ALP agent that combines
conscious and subconscous thinking and
that is aware of the meaning of its life
Achievement goal
Maintenance goal
Forward
reasoning
Backward
Reasoning
Consequences
Consequences
Forward
reasoning
Observe
Consequences
Input-output associations
The World
Judge
probabilities
and utilities
Decide
Act
Epilog
Modeling Physical Skill Discovery and Diagnosis by Abduction
Ikuo Kobayashi1) and Koichi Furukawa2)1) SFC Research Institute, Keio University
2) Graduate School of Media and Governance, Keio University(Received: August 25,
2007)
Abstract:
We investigate an Abductive Logic Programming (ALP) framework to find
appropriate hypotheses to explain both professional and amateur skill performance,
and to distinguish and diagnose amateur faulty performance. In our approach, we
provide two kinds of rules: motion integrity constraints and performance rules.
Motion integrity constraints are essential to formulate skillful performance, as they
prevent the generation of hypotheses that contradict the constraints. Performance
rules formulate the problem of achieving difficult physical tasks in terms of
preferred body movements as well as preferred muscles usage and preferred
posture. We also formulate the development of skills in terms of default logic by
considering the basic skills as defaults, and advanced skills as exceptions. In this
case, we introduce preferences in integrity constraints: either hard integrity
constraints to be always satisfied or soft integrity constraints which can be ignored
if necessary. Finally we apply this framework to realize skill diagnosis.
Descargar

The Louse and the Mars Explorer