Você está na página 1de 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/242291198

A Framework for an Intelligent Problem Solver

Article

CITATIONS READS

4 41

1 author:

Magdy Mohamed Aboul-Ela


Sadat Academy for Management Sciences
34 PUBLICATIONS   119 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Arabic Sign language translator View project

Uncertainty weighted of support vector machine View project

All content following this page was uploaded by Magdy Mohamed Aboul-Ela on 01 August 2015.

The user has requested enhancement of the downloaded file.


A Framework for an Intelligent Problem Solver
Magdy Aboul-Ela
Computer & Information Systems Department
Sadat Academy for Management Sciences
P.O. Box 2222, Kournich-ElNile, El-Maadi, Cairo, Egypt

ABSTRACT: - This paper presents a proposed Framework for an Intelligent Problem Solver (IPS). This
framework is based on representing the problem state using a proposed representation, with a representation
language to represent the operators or rules that can be used to move from one state to another until reaching the
goal state. The system can solve the problem dynamically, by constructing a plan for solution. IPS can be
integrated with a complete intelligent environment for prediction, diagnosis, or Intelligent Tutoring System (ITS).
Some Examples of different Applications show how this framework is applied.

KEYWORDS: - Artificial Intelligence, Intelligent Tutoring Systems, Expert Systems, Problem Solver.

1. Introduction which it can be applied, is required. The word


"operator" refers to some representation of an
action. An operator usually includes
The process of problem solving is described as information about what must be true in the
a search through a state space in which each world before the action can take place, and
point corresponded to a situation that might how the world is changed by the action. The
arise. The search started with an initial operator, which is an action representation is
situation and performed a sequence of represented as a procedure or function or
allowable operations until a situation production rules, and used as tools or
corresponding to a goal was reached. constructors of a system. This paper presents a
However, for more complicated problem framework for problem solver [9].
domains, it becomes important to be able to
work on small pieces of a problem separately
and then to combine the partial solutions at the
end into a complete problem solution. The use 2. Problem State and
of methods that focuses on ways of Operators Representation
decomposing the original problem into
appropriate subparts and on ways of recording The following grammar is designed for a
and handling interactions among the subparts language to represent different aspects of
as they are detected during the problem- problem states. The grammar of this language
solving process is called planning. The word is based on the concepts of object oriented.
planning refers to the process of computing Each statement, or sentence, of this language
several steps of a problem-solving procedure according to the grammar is a description of
before executing any of them. The search problem state.
strategy that would make it possible to solve
the major parts of a problem first, then go <State> :: <Object> .
back, and solve the small problems that arises < Object > ::
in gluing the big pieces together, is known as <Object-Name>
means-ends analysis. The means-ends analysis [:<Class-Name>]
process centers around the detection of [(<Attribute-List>)]
differences between the current state and the [<Object-Link>].
goal state. Once such a difference is isolated, <Class-Link > :: <Link> < Object >
an operator that can reduce the difference must [& <Object-Link>] .
be found. However, perhaps that operator <Link> :: isa | has.
cannot be applied to the current state. So a set <Attribute-List> :: <Attribute-Name>
up of a sub-problem of getting to a state in

1
(<Attribute-Values>) | There are also a list of temporary area such as:
<Object> ObjectReg(i) , where ‘i’ is the index of the
[; <Attribute-List>] . area, and the Current-Index register, which
<Attribute-Values> :: { [<Mode>] <Value> contains the index of the current object
[ , <Attribute-Values>] } | register. The built-in functions such as
{<Relation-To> GetNextObject return the next object of the list
<Object >}|<Operator>. of object of the relevant class to the next object
<Relation-To> :: over | below | next-to | register, but GotoFirstObject return the pointer
behind | to the first object of the list. The function
front | include | greater | GetNextRelevantOperator search the
smaller | in | Like | same-as operator/rules list for the next relevant one and
<Mode> :: Except | Not . put it in the register OperatorReg. The function
<Value> :: String of Characters ApplyRule applies the operator/rule on the
<Attribute-Name :: String of Characters current state of the problem or situation.
<Class-Name> :: String of Characters Return True/False means the conditions of the
rules are applied true/false. A programming
The operators or rules are written according to function for a specific task can be integrated
the following grammar: and called for execution.

<Operator> :: Where:
<Operator-Name>: :: means defined by
[<Class-Name> <...> for non-terminal,
(<Built-in-Function>) | […] for option,
<Object-Register> {…} must be included,
(<Built-in-Function>)] | for OR
{if {<Operator> | <Expression-List>
}
then { <Operator> | <Action>} |
{While <Expression-List> do (
3. Meta Knowledge
{<Operator> | <Action>}}) |
<Action> }. Meta knowledge component is responsible of
<Action> :: <Action-Name> all data, information, and rules, which describe
( <Expression-List>) | the state, the operators and the interrelation
Return(<BooleanValue>) | between them. As examples, check the data
<Operator> | types, and the matching between them, the
<Programming Function> difference table for means-ends analysis, and
<Expression-List> :: {<Object-Name> | the relation between the classes, objects, and
<Object-Register> | their attributes. The knowledge of text
<Class-Name)} generation from the problem states and the
(Attribute-Name ) applied operators can be included for interface.
<Expression-Operator>
<Attribute-values>
[& <Expression-List>] }| 4. Internal Structure
<Class-Name>
(<Built-in-Function>). The internal representation of the system is
<Expression-Operator> :: based on object-oriented paradigm according
!= | = | < | > | has | + | - | * | / to the description of the problem state and the
<Operator-Name> :: String of Characters operators using the representation language.
<Action-Name> :: String of Characters
<Built-in-Function> :: GetNextObject | An object index associated with their relevant
SaveObject | RemoveObject | classes and attributes, in addition to the
GotoFirstObject
<Programming Function> :: Operator index. A stack of the solution path,
Call of Programming Function which include all used operators, which must
<Object-Register> :: be run in sequence to reach from initial state to
ObjectReg(<index>). goal state, associated to a list of all problem
<index> :: number states from initial state to goal state for
<BooleanValue> :: True | False evaluation and explanation.

2
Position (X(5),Y(15),Z (3) ),
Cell21: Cell (Depth(7), Color(2),Type(10),
Position (X(5),Y(15),Z (8) ) ,
List of Problem States Cell31:Cell (Depth(6),Color(1),Type(15) ),
Position (X(5),Y(15),Z (15) ),
Cell19:Cell (Depth(7),Color(1),Type(15),
Position (X(13),Y(17),Z (5) ) ,
Initial Current Goal Cell29:Cell (Depth(13), Color(2),Type(10),
State State State Position( X(13),Y(17),Z (12) ),
(Vector1: Vector (
Operators Object Vector1Depth(18),
Stack Index Cell11, Cell21, Cell31 ),
(Vector2:Vector (
Vector2Depth(20),
Operators & Cell19, Cell29 ),
Rules Meta Plane1:Plane ( Cell11, Cell19, C ell31 )
base Knowledge ).

Difference As example of the operators and rules that are


Table Registers associated with this problem, consider the
List situation of filling the cells between two
matching types of cells at different vectors,
Fig. 1. Internal Structure of the and the following sample of the scenario of
System solving the problem:

Connect-Vectors:
Vector(GetNextObject)
5. Examples Vector(GetNextObject)
Connect-Cells:
In the following examples, we will see how While ( ObjectReg(1) (GetNextObject) != null
this framework can be applied for different &
applications. Each of this application is ObjectReg(2) (GotoFirstObject))
developed before using a specific and different do
framework for the relevant domain. All (
While ( ObjectReg(2) (GetNextObject) != null)
do
5.1. Soil Characteristics Prediction (
Match-Cell:
One of the most important components of geo- If ObjectReg(3) (Color) = ObjectReg(4)
technical design is the prediction of site (Color) &
characteristics from site investigation ObjectReg(3) (Type) = ObjectReg(4) (Type)
information in the form of borehole logs and Then
correlation of this information. The Problem Fill-Cells-On-Plane:
State represented as 3D Array, which if (Get-Cells-On-Plane:
corresponds to the site or region of ground. (Call mathematical programming
function to determine the
Each cells of the Array, representing a associated
predefined scale, hold the features of soil of cells on the relevant plane ) )
the represented part of site. The borehole is then
represented as vector, where each layer of the temp-reg = Current-Index
While(ObjectReg(temp-reg)
borehole corresponding to number of elements (GetNextObject) != null )
of the vector [5]. do
(
The Problem State represents Element or Cell ObjectReg((current-index) (Color) =
of Array, grouping them in Vectors, Polygons, ObjectReg(3) (Color),
ObjectReg((current-index) (Type) =
Planes, and a list of each group. Consider the
ObjectReg(3) (Type)
following initial state of the problem:
)
)).
Site1: Site (
Area (4000) ,
Cell11 :Cell (Depth (5),Color(1),Type(20),

3
agriculture, and must be far from city with a
distance greater than 30 km.

The representation structure of this article in


the knowledge base is:

Article52:
If Factory (Far-From-City) < 30KM
& Factory (Pollutant-drainage) = Sea &
Factory(Pollutant-Type) = Gas,
Liquid & Factory (Has-Permission) = No
Fig. 2. Cross Section of the Site
Object in X direction Then
Factory (Violate-Environment-Law) = Yes.

When matching Object-name with class-name,


5.2. Automated Legal Reasoning it will be accepted if the object is an instance
of this class. When applying the rule, the
Legal Reasoning is the thinking process attribute Violate-Environment-Law will be
adopted by lawyers when they apply legal changed to yes.
rules to a new case and draw legal conclusion.
When it has been determined whether, or not, The next step “ while loop” will search on
the problematic set of facts fall under the another article for this situation. To fix this
applicable law, and the legal interpretative situation, the system will search on the
process is completed, then the legal conclusion possible operators, which can improve or solve
is reasoned automatically [6]. the problem. Make advice operator will collect
the violated conditions and check the
Consider the following example for a factory possibility of changes.
has the following state representation, and we
want to see if this factory violate the
environment law or not, and if yes what are the 5.3. IPS for ITS
procedures which must be followed to fix the
situation.
As a component of ITS [1], [2], IPS can
Factory1: Factory ( evaluate student answer or provide answer
Location (near-sea), answers or explanation and can help in the
Far-from-City (25KM), different components of ITS. For the case of
Pollutant-type(Liquid, Gas, Not Solid), Algebra Problems [4], [8]; The problems state
Pollutant-Drainage (Sea), representation can be as following:
Has-permission (No),
Violate-Environment-Law(No) ). SecondOrderEquation: Equation (
SecondeOrderVar(X),
The relevant article of law for this situation is: SecondOrderCoeff(3),
FirstOrderVar(X),
Check-Law-Violation: FirstOrderCoeff(2),
Factory(GetNextObject) Constant(-7)
While (ObjectReg(1) (Violate- EquationForm(3X^2+2X-7=0),
Environment-Law) = Yes ) Root1(X1),
Do ( Root1(X2),
GetNextRelevantOperator Goal(Find(Root)).
ApplyRule)
Make-advice). The operators and rules, which are applied to
solve this problem:
After the execution of this operator, the
operator register will contain the article of the Solve-Second-Order-Equation:
law, which has the following meaning: if
Equation(SecondOrderCoeff)*
It is forbidden for any factory to drain the Equation(SecondeOrderVar)^2+
liquid or gas pollutant in the sea without Equation(FirstOrderCoeff)*
having permission from ministry of Equation(FirstOrderVar)+
Equation(Constant)
Then

4
Equation(Root1)= Education and Information Systems:
(- Equation(FirstOrderCoeff)+ Technologies and Applications EISTA’03,
(Equation(FirstOrderCoeff)^2- Orlando, Florida, USA, July 31 - August
4*Equation(SecondOrderCoeff) 1-2, 2003.
* Equation(Constant))^0.5)/ [3] Abdel-Wahab, Sayed and Aboul-Ela,
(2*Equation(SecondOrderCoeff)), Magdy. "Intelligent Tutoring System:
Root2= Representation, Modeling, and Planning".
(- Equation(FirstOrderCoeff)- Work Shop for using Information
(Equation(FirstOrderCoeff)^2- Technology in higher Education, April 10-
4*Equation(SecondOrderCoeff) 11, Amman, Jordan, 1999.
* Equation(Constant))^0.5)/ [4] Aboul-Ela, Magdy. "Plan recognition and
(2*Equation(SecondOrderCoeff)). solution Evaluation for Algebra
Problems", 7th International Conference on
The operators’ list at the stack will be: Artificial Intelligence Applications,
February 3-7, 1999.
Find(Root) [5] Aboul-Ela, M.; Derbalah, K.; El-Gohary,
ApplyRule(Solve-Second-Order-Equation) M.; and Fathey, Y. "Knowledge-Based
System for Site Characteristics
Prediction". The 4th International
Geotechnical Engineering Conference,
6. Conclusions Faculty of Engineering, Cairo University,
Cairo, Egypt, 24-27 Jan. 2000.
This paper shows a description of a framework [6] Aboul-Ela, M.; Tamer M.; and Yasser M.
for an intelligent problem solver (IPS). The "Knowledge Representation for
proposed IPS is generic and independent of the Environment Law" 5th International
domain, i.e. it can be applied for different Conference On Artificial Intelligence,
applications and domain such as problem ICAIA, Feb. 27 - March 3, 1997.
solving, prediction, diagnosis, and ITS. The [7] Burton, R. R. "The environment module
meta-knowledge is used to describe the of intelligent tutoring systems". In M. C.
meaning of the attributes and the relation Polson & J. J. Richardson (Eds.),
between the objects, in addition to the meaning Foundations of intelligent tutoring
of the operator and when it can be used. systems. Hillsdale, NJ: Erlbaum. 1988.
[8] Gheith, Mervat and Aboul-Ela, Magdy
In the next step, this IPS will be applied on "Problem Generation and Problem Solver
different applications for enhancement, and to For Algebra". Work Shop for using
be integrated with a complete intelligent Information Technology in higher
environment. The planning technique is used Education, April 10-11, Amman, Jordan,
to solve the problems using the proposed state 1999.
representation and the operators/rules, which [9] Rich, E. & Knight, K. "Artificial
are written in the proposed representation Intelligence". McGraw-Hill, Inc, 1991.
language, and then converted to the internal
representation of the system. An easy
interface can be added to support interaction
with the user to define the different
knowledge.

References:

[1] Aboul-Ela, Magdy; Khamis, AbdelAziz;


and ElLeathy, Tamer;“Teaching Arabic for
Non- Arabic Speakers: Framework for
ITS”, International Conference on
Education and Information Systems:
Technologies and Applications
EISTA’03, Orlando, Florida, USA, July
31 - August 1-2, 2003.
[2] Abdel-Wahab, Sayed; and Aboul-Ela,
Magdy; “Intelligent Tutoring System for
Geography”, International Conference on

View publication stats

Você também pode gostar