Download On-line Error Analysis Using AI techniques A first sight

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Time series wikipedia , lookup

Neural modeling fields wikipedia , lookup

Catastrophic interference wikipedia , lookup

Convolutional neural network wikipedia , lookup

Soar (cognitive architecture) wikipedia , lookup

Agent-based model in biology wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Type-2 fuzzy sets and systems wikipedia , lookup

Incomplete Nature wikipedia , lookup

Ecological interface design wikipedia , lookup

Fuzzy concept wikipedia , lookup

Personal knowledge base wikipedia , lookup

AI winter wikipedia , lookup

Agent-based model wikipedia , lookup

Fuzzy logic wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Agent (The Matrix) wikipedia , lookup

Cognitive model wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Transcript
Grid Enabled Remote Instrumentation with
Distributed Control and Computation
On-line Error Analysis
Using AI techniques
A first sight
Version 0.1
10/14/2005
Version:
Date:
Authors:
CI identifier
.
0.1
10/14/2005
F. Lelli
Revision History
Date
29, 07 2005
Version
0.1
Description
Document creation
Author
F. Lelli
CI Record
Field
Description
CI Identifier
None
Description
Present a small result-oriented overview about some Artificial
Intelligence techniques available to solve a specific problem.
Submission Date
14 October 2005
Submitted By
Francesco Lelli
Components
None
Dependencies/Related
None
External Identifier
None
Point of Contact
[email protected]
Comments
None
Physical Location
None
Table of Contents
1
Scope of the Document
2
Current Technologies Overview
2.1
Expert Systems
2.2
Fuzzy Logic
2.3
Neural Networks
2.4
Intelligent Agents
2.4.1 Events-Conditions-Actions
2.4.2 Taxonomies of Agents
2.4.3 Agency, Intelligence, and Mobility
2.4.4 Processing Strategies
2.4.5 Multiagent Systems (MAS)
2.4.6 Stream filtering agents
6
7
9
12
14
15
15
15
16
17
19
3
Comparisons
3.1
Expert Systems
3.1.1 Disadvantages of Expert Systems
3.2
Fuzzy Logic
3.2.1 Disavantages of Fuzzy Logic
3.3
Neural Networks
3.3.1 Disadvantages of Neural Networks
3.4
Intelligent Agents
20
20
20
21
21
21
22
22
4
Conclusion
24
5
Bibliography
24
6
Appendix A: WWW links
25
This is a note, e.g.: If you want run an example of Sentinel Integration we need the XDaq
Sentinel example up and running!
This is a help item, e.g: If you want add your custom Listener remember to insert the Listener
Name in the Handler configuration.
This is an orientation item,e g.: You have the choice between using a Brain in a separate
thread or no. The advantage of the first is bla bla, the advantage of the second is bla bla.
6
This is a tip,e.g.: if you need to perform an action you need to retrieve the interface to your
function manager using the method…..
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
On-line Error Analysis Using AI techniques
1 Scope of the Document
Goal of this document is to present a small result-oriented overview about some Artificial
Intelligence techniques available to solve a specific problem. This problem comes from the
needs of high energy physics computational environments, but it's the general problem of
analyzing online distributed sources of information and trying to give hints about the things
that could be happening, like peripheral system failures.
This document is related to the Instrument Element of the GridCC project [22]. The specific
problem to be addressed is to choose the right technology for the construction of the
“Supervisor Subsystem” of each project subsystem (Instrument Manager).
From a more architectural point of view, this problem can be formalized as a series of devices
which produce information about their state. This information feeds in to a “Subsystem
Supervisor”, in order to get advices useful to detect and resolve potential problems about the
good functioning of the whole Instrument Element system.
This work address the task of proposing a whole project only in part, since this task will be
pursued in a more advanced phase of the overall project. What we want to achieve here is an
overview of 'what can be reached' using particular techniques, in order, as a first step, to
prune the approaches that are obviously not suitable for the purpose.
After a brief introduction about the technologies that can be used, we will discuss some
advantages and disadvantages of each approach.
In the Appendices will be presented a list of links of few organizations that operate in the
context of Artificial Intelligence.
2 Current Technologies Overview
To be useful, a system has to be able to do more than just correctly perform some task.
- John McDermott
What follows is a short overview of methods and technologies useful for the construction of a
“Subsystem Supervisor” using AI techniques. Given the high number of data sources and the
huge amount of data to be processed, the problem's solution is not trivial, since even a small
percentage of wrong alerts given to an operator can lead the whole system's administration to
confusion.
Another point of view in this overview regards the data analysis scheme: centralized or
distributed? A centralized approach would need to centralize all the log files in one place in
order to process them, while a distributed approach could analyze the data where it is
produced and forward to the appropriate places only the relevant information.
Page 6 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2.1 Expert Systems
An Expert System is a class of computer program that can advise, analyse, categorise,
communicate, consult, design, diagnose, explain, explore, forecast, form concepts, identify,
interpret, justify, learn, manage, monitor, plan, present, retrieve, schedule, test or tutor.
They address problems normally thought to require human specialist for their solution.
- Edward Feigenbaum
There is no exact definition of an expert system, but it's generally agreed that expert systems:
• Represent their knowledge symbolically. In practice, most systems used IF-THEN
rules.
• After giving an answer, can justify or explain it by showing which knowledge they
used to come to that conclusion.
• Ιn a similar way can explain why they have asked their user a particular question.
• Can imitate the performance of a human expert in a narrow domain of expertise, such
as mortgage tax advice, interpreting mass spectra, or planning computer systems.
Expert systems, like human experts, are experts only in their field and as such are highly
domain specific. In general, expert systems are not intended as cognitive models. It helps (in
some cases), if a system reasons in a way that a human can understand. However, we're not
usually aiming to produce a detailed model of the expert, merely a tool which can solve the
same problems.
A simple rule-based expert system can easily be programmed to generate automatic
explanations of how it has reached a conclusion, or why it is asking a question. However,
these explanations leave a lot to be desired, being too detailed and low-level. These defects
stimulated work on systems which give a more structured overview of their reasoning, and
even ones which tried to adapt to their user's level of skill.
Expert Systems are computer programs that are derived from a branch of computer science
research called Artificial Intelligence (AI). AI's scientific goal is to understand intelligence by
building computer programs that exhibit intelligent behaviour. It is concerned with the
concepts and methods of symbolic inference, or reasoning, by a computer, and how the
knowledge used to make those inferences will be represented inside the machine.
AI programs that achieve expert-level competence in solving problems in task areas by bringing to
bear a body of knowledge about specific tasks are called knowledge-based or expert systems.
Often, the term expert systems is reserved for programs whose knowledge base contains the
knowledge used by human experts, in contrast to knowledge gathered from textbooks or nonexperts.
Page 7 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
The area of human intellectual endeavour to be captured in an expert system is called the task domain.
Task refers to some goal-oriented, problem-solving activity. Domain refers to the area within which
the task is being performed. Typical tasks are diagnosis, planning, scheduling, configuration and
design.
Every expert system consists of two principal parts:
•
•
The knowledge base;
The reasoning, or inference, engine.
The knowledge base of expert systems contains both factual and heuristic knowledge.
Factual knowledge is that knowledge of the task domain that is widely shared, typically
found in textbooks or journals, and commonly agreed upon by those knowledgeable in the
particular field.
Heuristic knowledge is the less rigorous, more experiential, more judgmental knowledge of
performance. In contrast to factual knowledge, heuristic knowledge is rarely discussed, and is
largely individualistic. It is the knowledge of good practice, good judgment, and plausible
reasoning in the field. It is the knowledge that underlies the "art of good guessing."
Knowledge representation formalizes and organizes the knowledge. One widely used
representation is the production rule, or simply rule. A rule consists of an IF part and a
THEN part (also called a condition and an action). The IF part lists a set of conditions in
some logical combination. The piece of knowledge represented by the production rule is
relevant to the line of reasoning being developed if the IF part of the rule is satisfied;
consequently, the THEN part can be concluded, or its problem-solving action taken. Expert
systems whose knowledge is represented in rule form are called rule-based systems.
Another widely used representation, called the unit (also known as frame, schema, or list
structure) is based upon a more passive view of knowledge. The unit is an assemblage of
associated symbolic knowledge about an entity to be represented. Typically, a unit consists of
a list of properties of the entity and associated values for those properties.
Since every task domain consists of many entities that stand in various relations, the
properties can also be used to specify relations, and the values of these properties are the
names of other units that are linked according to the relations. One unit can also represent
knowledge that is a "special case" of another unit, or some units can be "parts of" another
unit.
The problem-solving model, or paradigm, organizes and controls the steps taken to solve the
problem. One common but powerful paradigm involves chaining of IF-THEN rules to form a
line of reasoning. If the chaining starts from a set of conditions and moves toward some
conclusion, the method is called forward chaining. If the conclusion is known (for example, a
goal to be achieved) but the path to that conclusion is not known, then reasoning backwards
is called for, and the method is backward chaining. These problem-solving methods are built
into program modules called inference engines or inference procedures that manipulate and
use knowledge in the knowledge base to form a line of reasoning.
Knowledge is almost always incomplete and uncertain. To deal with uncertain knowledge, a
rule may have associated with it a confidence factor or a weight. The set of methods for using
uncertain knowledge in combination with uncertain data in the reasoning process is called
reasoning with uncertainty. An important subclass of methods for reasoning with uncertainty
is called fuzzy logic, and the systems that use them are known as fuzzy systems.
Page 8 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Because an expert system uses uncertain or heuristic knowledge (as we humans do) its
credibility is often in question (as is the case with humans). When an answer to a problem is
questionable, we tend to want to know the rationale. If the rationale seems plausible, we tend
to believe the answer. So it is with expert systems. Most expert systems have the ability to
answer questions of the form: "Why is the answer X?" Explanations can be generated by
tracing the line of reasoning used by the inference engine (Feigenbaum, McCorduck et al.
1988).
The most important ingredient in any expert system is knowledge. The power of expert
systems resides in the specific, high-quality knowledge they contain about task domains. AI
researchers will continue to explore and add to the current repertoire of knowledge
representation and reasoning methods. But in knowledge resides the power. Because of the
importance of knowledge in expert systems and because the current knowledge acquisition
method is slow and tedious, much of the future of expert systems depends on breaking the
knowledge acquisition bottleneck and in codifying and representing a large knowledge
infrastructure.
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2.2 Fuzzy Logic
34
35
36
37
38
39
40
41
42
Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle
the concept of partial truth -- truth values between "completely true" and "completely false".
- Dr. Lotfi Zadeh of UC/Berkeley
The classical logic relies on something being either “True” or “False”. A True element is
usually assigned a value of 1, while False has a value of 0. Thus, something either completely
belongs to a set or it is completely excluded from it. The fuzzy logic broadens this definition
of membership.
The bases of the logic are fuzzy sets. Unlike in "crisp" sets, where membership is full or
none, an object is allowed to belong only partly to one set. The membership of an object to a
particular set is described by a real value from the range between 0 and 1. Thus, for instance,
an element can have a membership value 0.5, which describes a 50% membership in a given
set.
Such logic allows a much easier application of many problems that cannot be easily
implemented using classical approach.
In classical set theory, a subset U of a set S can be defined as a mapping from the elements of
S to the elements of the set {0, 1},
U: S --> {0, 1}
Similarly, a fuzzy subset F of a set S can be defined as a set of ordered pairs, each with the
Page 9 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
first element from S, and the second element from the interval [0,1], with exactly one ordered
pair present for each element of S. This defines a mapping between elements of the set S and
values in the interval [0,1]. The value zero is used to represent complete non-membership, the
value one is used to represent complete membership, and values in between are used to
represent intermediate degrees of membership. The set S is referred to as the universe of
discourse for the fuzzy subset F. Frequently, the mapping is described as a function, the
membership function of F. The degree to which the statement
x is in F
Is true is determined by finding the ordered pair whose first element is x. The degree of truth
of the statement is the second element of the ordered pair.
Because of the above alterations, some logical operations had to be also modified.
In fuzzy logic we could give a meaning to statements like "X is LOW".
In the same way, we can interpret a statement like:
X is LOW and Y is HIGH or (not Z is MEDIUM)
Using the standard fuzzy logic definitions:
truth (not x) = 1.0 - truth (x)
truth (x and y) = minimum (truth(x), truth(y))
truth (x or y) = maximum (truth(x), truth(y))
Some researchers in fuzzy logic have explored the use of other interpretations of the AND
and OR operations, but the definition for the NOT operation seems to be safe.
If you plug just the values 0 and 1 into these definitions, you get the same truth tables as you
would expect from conventional Boolean logic. This is known as the extension principle,
which states that the classical results of Boolean logic are recovered from fuzzy logic
operations when all fuzzy membership grades are restricted to the traditional set {0,1}. This
effectively establishes fuzzy subsets and logic as a true generalization of classical set theory
and logic. In fact, by this reasoning all crisp (traditional) subsets are fuzzy subsets of this
very special type; and there is no conflict between fuzzy and crisp methods.
Generally the fuzzy logic is recommended for the implementation of very complex processes,
where a simple mathematical model cannot be obtained. Fuzzy logic can also be successfully
applied to highly nonlinear processes, where it is observed to greatly simplify the modelling.
It is not recommended to employ fuzzy logic into systems where a simple and adequate
mathematical model already exists or where the conventional control theory yields a
satisfying result. Fuzzy logic seems to be a general case for the classical logic and as such it
does not present any better solutions for problems that might be easily solved using the
"crisp" sets.
The most obvious implementation for the fuzzy logic is the field of artificial intelligence.
Although, fuzzy logic not only brings logic closer to natural language, but also closer to
human or "natural" reasoning. Many times knowledge engineers have to deal with very vague
and common sense descriptions of the reasoning leading to a desired solution. The power of
fuzzy logic is to perform reasonable and meaningful operations on concepts that cannot be
easily codified using a classical approach. Implementing the logic will not only make the
knowledge systems more user friendly, but it also will allow programs to justify better the
obtained results.
Page 10 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
In a fuzzy system, a human expert has to define a set of rules like the following:
IF cond(1)=A1 and cond(2)=A2 THEN conclusion(1)=B1
...
IF cond(n)=An and cond(m)=Am THEN conclusion(n)=Bn
Given this, the system is able to get the conclusions by evaluating the conditions using the
standard fuzzy logic definitions.
Fuzzy logic seems to be a general case for the classical logic. It modifies the rules for a set
membership and defines operations on modified sets. It allows an element to belong only
partly to a given set. Such modification allows for a much more flexible and wide spread use
of reliable and consistent logic in a variety of applications. So far, the most common use of
the fuzzy logic was encountered in the field of control systems, although the theory seems to
have a big potential in the different fields of artificial intelligence. The logic stirred a lot of
controversy since its introduction, but as it is successfully implemented into more and more
applications, it becomes a more accepted way of modelling reality.
Such a classification certainly allows a single object to be a member of two mutually
exclusive in the "crisp" sense sets. For example a person 5 feet and 5 inches tall can be
classified as 0.5 tall and also 0.3 short, thus it could be described as "rather tall" and at the
same time "sort of short". A single element membership to different sets does not have to add
up to any particular value.
Although, a membership to a negative set (ex. a set of not tall people) has to equal to 1 minus
membership to the positive set (a set of tall people).
For the union of two sets, it was found, the result is the higher membership value out of the
two.
For example if an element is a person that is 0.6 member of a set of smart people and 0.7
member of a set of pretty people, it makes logical sense to state that such person has 0.7
membership in a set of smart or pretty people. The intersection of the two sets is the minimal
element of the operators. Thus, referring to the above example, the person would be only 0.6
member of a set of smart and pretty people.
It is worth noting that such a representation operates on different principles than probabilistic
theory, which relies on the same set of values, and is often confused with the fuzzy set
manipulation. Unlike as in the fuzzy sets, where an element is partly a member of a set, the
probability value describes a chance of the whole element belonging to a particular set. The
union and the intersection are the most obvious differences between these two
representations. In the case of the fuzzy logic adding memberships for the union of sets or
multiplying memberships for the intersection makes no logical sense (ex. a person from the
example being 1.3 member of a set of smart or pretty people or 0.42 member of a set of smart
and pretty people).
Page 11 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2.3 Neural Networks
Neural models of intelligence emphasize the brain's ability to adapt to the world in which it is
situated by modifying the relationships between individual neurons. Rather than representing
knowledge in explicit logical sentences, they capture it implicitly, as a property of patterns of
relationships.
- George F. Luger
Networks that mimic the way the brain works; computer programs that actually learn
patterns; forecasting without having to know statistics. These are just some of the many
claims and attractions of artificial neural networks.
Neural networks have been successfully used for many different applications including
robotics, chemical process control, speech recognition, optical character recognition, credit
card fraud detection, interpretation of chemical spectra and vision for autonomous navigation
of vehicles.
Neural network methods share a loose inspiration from biology in that they are represented as
networks of simple neuron like processors. A typical ``neuron'' takes in a set of inputs, sums
them together, takes some function of them, and passes the output through a weighted
connection to another neuron. At first glance, this is not very revealing to a statistician. But as
we will show, many familiar statistical techniques can be represented in this framework.
Each neuron may be viewed simply as a predictor variable, or a function of a combination
(linear or non-linear) of predictor variables. The connection weights are the unknown (or
adjustable) parameters which are set by a ``training method''. That is, they are estimated.
Artificial neural networks retain only a small amount of this complexity and use simpler
neurons and connections, but keep the idea of local computation. Many different network
architectures are used, typically with hundreds or thousands of adjustable parameters.
Neural networks process information in interconnecting processing elements (often termed
neurons, units or nodes—we will use “nodes”). These nodes are organized into groups termed
layers. There are three distinct types of layers in a backpropagation neural network: the input
layer, the hidden layer(s) and the output layer. A network consists of one input layer, one or
more hidden layers and one output layer. Connections exist between the nodes of adjacent
layers to relay the output signals from one layer to the next. Backpropagation related
paradigms require supervised training. This means they must be taught using a set of training
data where known solutions are supplied.
Fully connected networks occur when all nodes in each layer receive connections from all
nodes in each preceding layer. Information enters a network through the nodes of the input
layer. The input layer nodes are unique in that their sole purpose is to distribute the input
information to the next processing layer (i.e., the first hidden layer). The hidden and output
layer nodes process all incoming signals by applying factors to them (termed weights). Each
layer also has an additional element called a bias node. Bias nodes simply output a bias signal
to the nodes of the current layer. All inputs to a node are weighted, combined and then
processed through a transfer function that controls the strength of the signal relayed through
the node’s output connections. A nodes operation is shown in Figure 3. The transfer function
serves to normalize a node’s output signal strength between 0 and 1.
Page 12 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
When a network is used in recall mode, processing ends at the output layer. During training,
the network’s response at the output layer is compared to a supplied set of known answers
(training targets). The errors are determined and backpropagated though the network in an
attempt to improve the network’s response. The nodal weight factors are adjusted by amounts
determined by the training algorithm. The iterative procedure of processing inputs through
the network, determining the errors and backpropagating the errors through the network to
adjust the weights constitutes the learning process. One training iteration is complete when
all supplied training cases have been processed through the network. The training algorithms
adjust the weights in an attempt to drive the network’s response error to a minimum. Two
factors are used to control the training algorithm’s adjustment of the weights. They are the
“learning rate coefficient”, eta, and the “momentum factor”, alpha. If the learning rate is too
fast (i.e., eta is too large), network training can become unstable. If eta is too small, the
network will learn at a very slow pace. The momentum factor has a smaller influence on
learning speeds, but it can influence training stability and promote faster learning for most
networks.
Page 13 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
The dot product is computed between the inputs and the weight vector. That result is passed
through the transfer function to obtain the node’s output signal strength. The output is passed
through to the next layer until the output layer is reached.
2.4 Intelligent Agents
We want to build intelligent actors, not just intelligent thinkers. Indeed, it is not even clear
how one could assess intelligence in a system that never acted -- or, put otherwise, how a
system could exhibit intelligence in the absence of action.
-Martha Pollack, from Computers and Thought Lecture, IJCAI-91.
"Agents" are autonomous, computational entities that can be viewed as perceiving their
environment through sensors and acting upon their environment through effectors.
To say that agents are computational entities simply means that they physically exist in the
form of programs that run on computing devices.
To say that they are autonomous means that to some extent they have control over their
behaviour and Call act without the intervention of humans and other systems.
Agents pursue goals or carry out tasks in order to meet their design objectives, and in general
these goals and tasks can be supplementary as well as conflicting. "Intelligent" indicates that
the agents pursue their goals and execute their tasks such that they optimize some given
performance measures.
To say that agents are intelligent does not mean that they are omniscient or omnipotent, nor
does it mean that they never fail. Rather, it means that they operate flexibly and rationally in
a variety of environmental circumstances, given the information they have and their
perceptual and effectual capabilities. A major focus of Distributed Artificial Intelligence
therefore is on processes such as problem solving, planning, search, decision making, and
learning that make it possible for agents to show flexibility and rationality in their behaviour,
and on the realization of such processes in multiagent scenarios.
Page 14 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
As is often the case when a technical field provokes commercial interest, there has been a
large movement and change of focus in the AI research community to apply the basic
artificial intelligence techniques to distributed computer systems, companywide intranets, the
Internet, and the World Wide Web.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2.4.1 Events-Conditions-Actions
This is where we have to deal with events, recognize conditions, and take actions.
An event is anything that happens to change the environment or anything of which the agent
should be aware. Short of having our agent constantly running and checking or polling all the
devices and computer systems we want it to monitor, having events signal important
occurrences is the next best thing.
When an event does occur, the agent has to recognize and evaluate what the event means and
then respond to it.
Events-conditions-actions define the workings of an agent. Some authors feel that an agent
must also be proactive. It must not only react to events, but must be able to plan and initiate
actions on its own.
An intelligent agent must be able to initiate transactions with other agents on our behalf,
using all of the intelligence and domain knowledge they can bring to bear. But this is just an
extension of the event-condition-action paradigm.
26
27
28
29
30
31
32
33
2.4.2 Taxonomies of Agents
Intelligent agents have been the focus of researchers for years. In that time, many different
ways of classifying or categorizing agents have been proposed.
One way is to place the agent in the context of intelligence, agency, and mobility. Another
approach is to focus on the primary processing strategy of the agent. A third is to categorize
the agent by the function it performs.
34
35
36
37
2.4.3
Agency, Intelligence, and Mobility
When we talk about software agents, there are three dimensions or axes which we use to
measure the capabilities: agency, intelligence, and mobility.
Page 15 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
Agency deals with the degree of autonomy the software agent has in representing the user to
other agents, applications, and computer systems.
Intelligence refers to the ability of the agent to capture and apply application domain-specific
knowledge and processing to solve problems. Thus our agents can be relatively dumb, using
simple coded logic, or they can be relatively sophisticated, using complex AI-based methods
such as inferencing and learning.
An agent is mobile if it can move between systems in a network. Mobility introduces
additional complexity to an intelligent agent, because it raises concerns about security (the
agent’s and the target systems) and cost. Intranets are a particularly ripe environment for
mobile intelligent agents to roam because they require less security than in the wide-open
Internet.
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2.4.4 Processing Strategies
One of the simplest types of agents are reactive or reflex agents, which respond in the
eventcondition- action mode. Reflex agents do not have internal models of the world. They
respond solely to external stimuli and the information available from their sensing of the
environment (Brooks 1986).
Like neural networks, reactive agents exhibit emergent behavior, which is the result of the
interactions of these simple individual agents. When reactive agents interact, they share low
level data, not high-level symbolic knowledge. One of the fundamental tenets of reactive
agents is that they are grounded in physical sensor data and are not operating in the artificial
symbol space.
Deliberative or goal-directed agents have domain knowledge and the planning capability
necessary to take a sequence of actions in the hope of reaching or achieving a specific goal.
Deliberative agents may proactively cooperate with other agents to achieve a task. They may
use any and all of the symbolic artificial intelligence reasoning techniques which have been
developed over the past forty years.
Collaborative agents work together to solve problems. Communication between agents is an
important element, and while each individual agent is autonomous, it is the synergy resulting
from their cooperation that makes collaborative agents interesting and useful. Collaborative
agents can solve large problems which are beyond the scope of any single agent and they
allow a modular approach based on specialization of agent functions or domain knowledge.
In a collaborative agent system, the agents must be able to exchange information about
beliefs, desires, and intentions, and possibly even share their knowledge.
As mentioned earlier, a mobile agent is a software process (a running program’s code and its
state) which can travel across computer systems in a network doing work for its owner. An
advantage of mobile agents is that the communications between the home system and the
remote systems are reduced.
By allowing the agent to go to the remote system and access data locally on that system, we
enable a whole new class of applications. For example, mobile agents could provide an easy
way to do load balancing in distributed systems.
Page 16 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2.4.5
Multiagent Systems (MAS)
What are the fundamental aspects that characterize a MAS and distinguish it from a singleagent system?
One can think along the following dimensions:
Agent design It is often the case that the various agents that comprise a MAS are designed in
different ways. A typical example is software agents, also called softbots, that have been
implemented by different people. In general, the design differences may involve the hardware
(for example soccer robots based on different mechanical platforms), or the software (for
example software agents running different operating systems).
We often say that such agents are heterogeneous in contrast to homogeneous agents that are
designed in an identical way and have a priori the same capabilities. However, this distinction
is not clear-cut; agents that are based on the same hardware/software but implement different
behaviours can also be called heterogeneous.
Agent heterogeneity can affect all functional aspects of an agent from perception to decision
making, while in single-agent systems the issue is simply nonexistent.
Environment Agents have to deal with environments that can be either static (timeinvariant)
or dynamic (nonstationary). Most existing AI techniques for single agents have been
developed for static environments because these are easier to handle and allow for a more
rigorous mathematical treatment.
In a MAS, the mere presence of multiple agents makes the environment appear dynamic from
the point of view of each agent. This can often be problematic, for instance in the case of
concurrently learning agents where non-stable behaviour can be observed. There is also the
issue which parts of a dynamic environment an agent should treat as other agents and which
not.
Characteristics of Multiagent systems are:
Perception The collective information that reaches the sensors of the agents in a MAS is
typically distributed: the agents may observe data that di er spatially (appear at di erent
locations), temporally (arrive at di erent times), or even semantically (require di erent
interpretations). This automatically makes the world state partially observable to each agent,
which has various consequences in the decision making of the agents. An additional issue is
sensor fusion, that is, how the agents can optimally combine their perceptions in order to
increase their collective knowledge about the current state.
Control Contrary to single-agent systems, the control in a MAS is typically distributed
decentralized). This means that there is no central process that collects information from each
agent and then decides what action each agent should take. The decision making of each
agent lies to a large extent within the agent itself. In a cooperative or team MAS, distributed
decision-making results in asynchronous computation and certain speedups, but it also has
the downside that appropriate coordination mechanisms need to be additionally developed.
Coordination ensures that the individual decisions of the agents result in good joint decisions
for the group.
Knowledge In single-agent systems we typically assume that the agent knows its own actions
but not necessarily how the world is affected by its actions. In a MAS, the levels of
knowledge of each agent about the current world state can differ substantially. For example,
in a team MAS involving two homogeneous agents, each agent may know the available
action set of the other agent, both agents may know (by communication) their current
perceptions, or they can infer the intentions of each other based on some shared prior
knowledge. On the other hand, an agent that observes an adversarial team of agents will
Page 17 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
typically be unaware of their action sets and their current perceptions, and might also be
unable to infer their plans. In general, in a MAS each agent must also consider the knowledge
of each other agent in its decision making.
Typically we view communication in a MAS as a two-way process, where all agents can
potentially be senders and receivers of messages. Communication can be used in several
cases, for instance, for coordination among cooperative agents or for negotiation among selfinterested agents.
10
11
12
13
14
15
16
17
18
19
20
21
2.4.5.1
22
23
24
25
26
27
28
29
30
31
32
33
34
2.4.5.2
35
36
37
38
39
40
41
42
43
2.4.5.3
44
45
46
47
48
2.4.5.4
Communication
When our agents need to talk to each other, they can do this in a variety of ways. They can
talk directly to each other, provided they speak the same language. Or they can talk through
an interpreter or facilitator, providing they know how to talk to the interpreter, and the
interpreter can talk to the other agent.
There is a level of basic language—the syntax and format of the messages, and there is a
deeper level— the meaning or semantics. While the syntax is often easily understood, the
semantics are not. For example, two English-speaking agents may get confused if one talks
about the boot and bonnet, and the other about the hood and trunk of an automobile. They
need to have a shared vocabulary of words and their meaning. This shared vocabulary is
called ontology.
Blackboards
The blackboard architecture was first introduced in the Hearsay II speech recognition project
(Erman et al. 1980). It featured a system with multiple knowledge sources or independent
agents, each with a specific domain of expertise related to speech analysis. The blackboard is
a data structure that is used as the general communication mechanism for the multiple
knowledge sources and is managed and arbitrated by a controller (Jagannathan, et al. 1989).
As each agent works on its part of the problem, it looks to the blackboard to pick up new
information posted by other agents, and they, in turn, post their results to the blackboard. So
the blackboard is an information-sharing device, with multiple writers and multiple readers.
Thus, the blackboard architecture allows multiple agents to work independently and
cooperate to solve a problem.
KQML
The Knowledge Query and Manipulation Language (KQML) provides a framework for
programs and agents to exchange information and knowledge. KQML focuses on message
formats and message-handling protocols between running agents, but only the message
protocols are specified. The content or language used to represent the content is not. KQML
defines the operations that agents may attempt on each other’s knowledge bases, and
provides a basic architecture for agents to share knowledge and information through special
agents called facilitators.
Cooperating Agents
With agents, the advantages of the small, independent knowledge sources must be weighted
against the considerable disadvantages of introducing a language barrier between them. But
in several domains, the benefits have far outweighed the costs.
An important aspect of multiagent design systems is that each intelligent agent has its own
Page 18 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
perspective on what a “good” or “optimal” design is, depending on its area of expertise. This
is not very different from cross-functional development teams. Thus, each agent must be
willing to compromise in order to achieve a better overall or global design. This also means
that somewhere there is an agent that can provide some measure of the quality of the overall
design and can arbitrate conflicts between the more specialized agents.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2.4.6 Stream filtering agents
One formal approach to coordination was developed by Singh. This approach represents each
agent as a small skeleton, which includes only the events or transitions made by the agent that
are significant for coordination.
Coordination requirements are stated as temporal logic formulas involving the events.
Formulas have been obtained that can capture the coordination requirements that arise in the
literature.
The figure shows a skeleton that is suited for agents who filter a stream, monitor a database,
or perform any activity iteratively.
Its significant events are start (accept an input, if necessary, and begin), error, end of stream,
accept (accept an input, if necessary), respond (produce an answer), more (loop back to
expecting more input).
Here, too, the application-specific computation takes place in the node labelled "Executing."
The events error, end of stream, and respond are immediate, and all other events are flexible,
and start is in addition triggerable.
27
28
29
30
31
32
33
34
Page 19 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
3 Comparisons
In this section a brief overview of the chosen approaches is outlined. The overview is
intended to have the purpose of collecting the information in a problem-oriented way, with
respect to the CMS Subsystem Supervisor. Following this direction, for each approach the
main advantages and disadvantages are listed.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
3.1 Expert Systems
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
3.1.1 Disadvantages of Expert Systems
In some form, Expert Systems can be seen as “intelligent”, but are reactive and not proactive
and not fully autonomous. In fact they need instructions and intervention, especially in the
case of a continuous training coming from their use.
The Expert Systems approach was the very first attempt, dated around the '80s, to define
systems giving answers to a set of possible questions. So, for construction, they have the
advantage of modelling series of conditional choices, and some form of correlation between
available data in the query and the steps needed to get an answer.
Since the Expert Systems paradigm is based upon the concept of Decision Tree, they can
model uncertainty in some way, at least by considering from the queries the information that
they were built upon.
This kind of behaviour might be good to produce quantitative results, being very near to
heuristic criteria applied to the information used to build them.
Some real-world applications of Expert Systems are related to providing advice to
professionals in information intensive environments, e.g.
•
•
Advice for physicians in analyzing symptoms
Advice for car mechanics in repair.
They also do not interact with the environment or with other entities except for the user and
the trainer, hence they are usually not adaptive. There is also the problem of the size of the
database and of using it efficiently. If the system consists of several millions rules, it takes a
very powerful control program to produce any conclusions in a reasonable amount of time. If
the system also has a large quantity of information in the working memory, this will also
slow things down unless a very good indexing and search system is available.
Another problem that comes from a large database is that as the number of rules increases the
conflict set also becomes large so a good conflict resolving algorithm is needed if the system
is to be usable.
One more problem is that of gathering the rules. Human experts are expensive and are not
extremely likely to want to sit down and write out a large number of rules as to how they
come to their conclusions. More to the point, they may not be able to. Although they will
usually follow a logical path to their conclusions, putting these into a set of IF ... THEN rules
may actually be very difficult and maybe impossible.
What may be a way round this problem is to enable Expert Systems to learn as they go,
starting off with a smaller number of rules but given the ability to deduce new rules from
what they know and what they 'experience', given some feedback from their activity.
Page 20 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3.2 Fuzzy Logic
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
3.2.1 Disavantages of Fuzzy Logic
Fuzzy logic has been proven successful in solving problems in which conventional,
mathematical model based approaches are either difficult to develop or inefficient and costly.
Although easy to design, fuzzy logic brings with it some critical problems.
As the system complexity increases, it becomes more challenging to determine the correct set
of rules and membership functions to describe system behaviour.
A significant time investment is needed to correctly tune membership functions and adjust
rules to obtain a good solution.
For complex systems, more rules are needed, and it becomes increasingly difficult to relate
these rules. A hierarchical rule base can be used but even then the problem remains, as
relating rules at different hierarchies is difficult.
45
46
47
48
49
3.3 Neural Networks
Fuzzy logic converts complex problems into simpler problems using approximate reasoning.
The system is described by fuzzy rules and membership functions using human type language
and linguistic variables. Thus, one of its best advantages is that one can effectively use
his/her knowledge to design the system’s behaviour.
A fuzzy logic description can effectively model the uncertainty and nonlinearity of a system.
It is extremely difficult, if not impossible, to develop a mathematical model of a complex
system to reflect nonlinearity, uncertainty, and variation over time. Fuzzy logic avoids the
complex mathematical modelling.
Another advantage point in this approach is that all the fuzzy variables of the system are
uniformly treated. Doing so the model becomes structure free, meaning that any variable of
the model can be accessed with the same flexibility.
Fuzzy logic is generally easy to implement using both software on existing microprocessors
or dedicated hardware.
Hence, for many systems, it is impossible to find a sufficient working set of rules and
membership functions.
In addition, the use of fixed geometric-shaped membership functions in fuzzy logic limits
system knowledge more in the rule base than in the membership function base.
Fuzzy logic uses heuristic algorithms for defuzzification, rule evaluation, and antecedent
processing. Heuristic algorithms can cause problems mainly because heuristics do not
guarantee satisfactory solutions that operate under all possible conditions.
Moreover, the generalization capability of fuzzy logic is poor compared to neural nets. The
generalization capability is important in order to handle unforeseen circumstances.
Once the rules are determined, they remain fixed in the fuzzy logic controller, which is
unable to learn (except in adaptive fuzzy systems, which allow some limited flexibility).
Conventional fuzzy logic cannot generate rules (users cannot write rules) that will meet a
prespecified accuracy. Accuracy is improved only by trial and error.
Conventional fuzzy logic does not incorporate previous state information (very important for
pattern recognition, like speech) in the rule base.
One advantage of the network representation is that it can be implemented in massively
parallel computers with each neuron simultaneously doing its calculations. Several
commercial neural network chips and boards are available, but most people still use neural
network ``simulators'' on standard serial machines. This paper will not discuss parallel
Page 21 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
hardware implementation, but it is important to remember that parallel processing was one of
the motivations behind the development of artificial neural networks.
Neural nets try to mimic the human brain’s learning mechanism. Like fuzzy logic, neural net
based solutions do not use mathematical modelling of the system, but learn system behaviour
by using system input-output data.
Neural nets have good generalization capabilities. The learning and generalization
capabilities of neural nets enable it to more effectively address nonlinear, time variant
problems, even under noisy conditions. Thus, neural nets-can solve many problems that are
either unsolved or inefficiently solved by existing techniques, including fuzzy logic.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
3.3.1 Disadvantages of Neural Networks
A major problem with neural nets is their “Black Box” nature, or rather, the relationships of
the weight changes with the input-output behaviour during training and use of trained system
to generate correct outputs using the weights.
Our understanding of the “Black Box” is incomplete compared to a fuzzy rule based system
description.
From an implementation point of view, neural nets may not provide the most cost effective
solution. Neural net implementation is typically more costly than other technologies; in
particular fuzzy logic (embedded control is a good example). A software solution generally
takes a long time to process and a dedicated hardware implementation is more common for
fuzzy logic than neural nets, due to cost.
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
3.4 Intelligent Agents
It is also difficult, if not impossible, to determine the proper size and structure of a neural net
to solve a given problem. Also, neural nets do not scale well. Manipulating learning
parameters for learning and convergence becomes increasingly difficult.
Between the advantages of using Intelligent Agents, one could argue that this paradigm might
couple well with the needs of a distributed system for log analysis. This is indeed the
desirable scenario in which the bulk of the information is processed near the remote sources
of data, while some form of centralized gathering can be done on the outputs of the agents'
multitude.
This scenario falls inside the Multiple Agent Systems scheme, in which
•
•
Single agent or groups are designed separately (modular)
The approach itself is flexible and fault tolerant.
At this point, while the processing structure might be adequate for a distributed
triggering/filtering task, the main question which arises is about the simplicity of
reconfiguring and making the single agents evolve in order to make better their (local) job. If
an organization is too much spread across multiple hosts, that of reaching, modifying and
enhancing multiple independent agents can be a serious issue in the real world.
Hence, an interesting idea is to consider a centrally designed architecture. The main
advantage of such an approach is its relative simplicity and predictability, since
• components are known
• interaction language and protocols are agreed upon
• Agents can be (and usually are) cooperative
• Agents share architecture - software reuse.
Page 22 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
In this case, the drawbacks are:
• Costly maintenance (adding new agents may necessitate the single system re-design)
• The system may be less fault tolerant.
• Difficult to inter-operate with others
• Not reflecting real-world requirements (not realistic), especially in the case of a not
centrally represent able environment.
While the idea of an Open Multiple Agent System is somewhat interesting, its disadvantages
come directly from its points of force, i.e.:
• The overall behaviour of the system might be unpredictable
• A stronger effort is needed on the communication protocols side, since languages and
ontology may vary across agent types. A truly open and expandable architecture could
be designed only on the top of open and expandable protocols. The more obvious idea
may be that of using XML and SOAP.
• Self-interest and malicious behaviours are in general difficult to avoid
• A more careful agent and interaction protocols design is needed.
One key advantage of this ability for social interaction is that the agents can form a domain
agent society. Basically, this acts like a user group for programmers - if the agent doesn't
have the answer itself, it will ask other members of the domain agent society. Security would
have to be factored into any society such as this, since a company wouldn't necessarily want
its agents answering all the queries they get. If our mobile agents had a way to describe their
capabilities to other agents, there would be no need for the potentially costly process of the
agent trying to work out which other agents to trust. A convenient way of doing this is to use
WSDL.
In addition to the above seen choices about the overall structure of an agent-based system
doing distributed data analysis, another design decision to consider is about the internal
structure of the agents taking part in the computations.
In this perspective, we may distinguee between reactive and deliberative agents. Reactive
agents act mainly as triggers: upon input from the environment, they react with action
execution.
Deliberative agents invoke a reasoning process upon input, and any action is based on the
results of the reasoning.
Obviously, agents may populate the whole spectrum between purely reactive and maximally
deliberative. This decision, however, has to meet with the goals which have to be reached
through the MAS, keeping in mind the main vantages and advantages of the minimalistic
reactive behaviour of the single agent. In fact, their internal complexity is computationally
tractable, mechanisms dealing with fault tolerance can be deployed, and what is more
important is that overall complex behaviour emerges from component interaction, not from
the single unit sophistication.
Some drawbacks of the reactive approach are that, without a model of the environment,
agents need sufficient information to determine the actions to be taken, the fact that agents
are “shortsighted” may limit decision quality, and, although an overall complex behavior can
emerge from the multitudes of components, the relationship between components is not
clear., i.e. It's difficult (if not impossible) to formalize.
Perhaps the biggest inhibitor to widespread use of mobile agents is security. The common
name for software that comes unbidden onto systems and starts executing is viruses.
Page 23 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
4 Conclusion
This document wants to be a preliminary study about the applicability of various techniques
to a particular problem. What can be said at this point is that the whole purpose of the project
will probably be addressed not by a single technique by itself, but by a careful design of a
system containing subparts implementing various approaches.
What can be suggested is to evaluate on the field the different technologies and approaches,
in order to be able to study their applicability first from the theoretic point of view, then
considering also the organizational aspects of a real deployment.
This proposal starts from the consideration that there probably is not an approach better than
another, but each can be used to gain a different perspective of the problem and, in particular,
some approaches can be mixed.
Other suggestion is that: more the solution is simple much will be the possibilities that the
final system will works; so we recommend to not follow attractive technologies just because
are “sexy” but to keep your Subsystem Supervisor as simple as possible and to have a “rapid
prototype” approach in order to understand how much the adopted solutions fill in your
requirement and are flexible.
5 Bibliography
1. The CMS Project: http://cmsdoc.cern.ch/cms/TDR/DAQ/daq.html
2. M. P. Singh. A customizable coordination service for autonomous agents. In Proceedings
of the 4th International Workshop on Agent Theories, Architectures, and Languages
(ATAL), July 1997.
3. L. D. Erman, F. Hayes-Roth, V. R. Lesser, D. Raj Reddy. The Hearsay-II Speech
Understanding System: Integrating Knowledge to Resolve Uncertainty, ACM Computing
Surveys (CSUR), Volume 12, Issue 2, Pages: 213 – 253, 1980
4. V. Jagannathan, R. Dodhiawala, L.S. Baum, eds. Blackboard Architectures and
Applications. San Diego: Academic Press. 1989
5. R.A. Brooks, A robust layered control system for a mobile robot. IEEE Journal of Robotics
and Automation, 2:14-23, 1986
6. G. Weiss et al. Multiagent Systems: A Modern Approach to Distributed Artificial
Intelligence. MIT Press, 2000.
7. J. P. Bigus, J. Bigus, Constructing Intelligent Agents Using Java: Professional Developer's
Guide. ISBN: 0-471-39601-X, Wiley, 2001
8. Alberto Martelli, BISS 2004: “Intelligent agents: modeling and reasoning techniques”
9. S. M. Brown, R. A. Harrington, E. Santos Jr., S. B. Banks, User Models, Intelligent
Interface Agents, and Expert Systems UM 97 Workshop: Embedding User Models in
Intelligent Applications, Ed. Vadim Stefanuk, Chia Laguna, Sardinia , Italy, June 2-5 1997.
10.J. Dix, Th. Eiter, Heterogenous Agent Systems, ESSLLI 02, Trento, August 2002
11.R. D. De Veaux, L. H. Ungar, A Brief Introduction to Neural Networks, American
Statistician,1995
12.E. H. Durfee, V. R. Lesser, D. D. Corkill, Trends in Cooperative Distributed Problem
Solving,IEEE Transactions on Knowledge and Data Engineering, Volume 1, Issue 1,
Pages: 63 - 83, March 1989
13.R.Fullér, Neural Fuzzy Systems, Åbo Akademis tryckeri, Åbo, ESF Series A:443, 1995
14.Fuzzy Logic Primer - A Brief Intoduction to Fuzzy Logic, Togai InfraLogic Inc., 1992
15.D. Haverkamp, S. Gauch, Intelligent Information Agents: Review and Challenges for
Distributed Information Sources, Journal of the American Society for Information Science
49:4(April): 304-311, 1998
Page 24 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
16.E. Khan, Neural fuzzy based intelligent systems and applications, In ( Jain, L.C and N.
M.Martin eds.) Fusion of neural networks, fuzzy sets and genetic algorithms: industrial
Applications, CRC Press, Washington, D.C. p. 331, 1999
17.J. J. Pomykalski, W. F. Truszkowski, D. E. Brown, EXPERT SYSTEMS Wiley
Encyclopedia for Electrical and Electronics Engineering, J. Webster (Editor), February
1999
18.N. Vlassis, A concise introduction to multiagent systems and distributed AI, Informatics
Institute, University of Amsterdam, September 2003. (Unpublished)
19.M. Wooldridge, N. R. Jennings, Intelligent Agents: Theory and Practice, Knowledge
Engineering Review, 1995
20.Subrahmanian,Bonatti,Dix,Eiter,Kraus,Özcan,Ross, Heterogenous Agent Systems MIT
Press, August 2000
21.E.A. Feigenbaum, P. McCorduck, and H. P. Nii. 1988. The Rise of the Expert Company:
How Visionary Companies are Using Artificial Intelligence to Achieve Higher Productivity
and Profits. New York: Times Books.
22. The GridCC project www.gridcc.org
6 Appendix A: WWW links
BotSpot
http://www.botspot.com
The best overall source of information on intelligent agent systems. BotSpot maintains an
outstanding site which lists agent systems by category, with numerous links to both research
and commercial product sites. A few of the most outstanding other products and sites are
listed below, but this is an area of intense research and development. If you are interested in
further reading, start with BotSpot.
MIT Media Laboratory’s Software Agents Group
http://agents.www.media.mit.edu/groups/agents/
Investigates computer systems that can delegate tasks. The group develops techniques and
builds prototype agent systems for testing.
IBM’s Intelligent Miner
http://www.software.ibm.com/data/iminer
Enables users to mine structured data stored in conventional databases or flat files.
Intelligent Miner for Text extracts patterns from text, organizes documents by subject, finds
predominant themes in a collection of documents, and searches for relevant documents.
Intelligent Miner uses traditional statistical analysis, neural methods, and optimization to
categorize data, and then stores the document profile and statistical information in a DB 2
database while the document content is stored in a full-text index.
Microsoft Research’s Decision Theory & Adaptive Systems Group
http://www.research.microsoft.com/msbn/default.htm
Actively develops and uses belief networks. Microsoft is also known for its earlier forays into
agent-based systems, such as Microsoft Bob, or the interface agents in Microsoft Office.
Autonomy
http://www.autonomy.com/
Automatically categorizes text in order to organize collections of materials into directories, as
well as to index the materials based on meaning rather than keyword matching. Profiles of
users are also created, based on the text they write or read. Users and documents are
matched to route materials to appropriate members of an organization automatically.
Page 25 of 26
On-line Error Analysis Using AI techniques
Date: 10/14/2005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
General Magic
http://www.genmagic.com/MCW
Magic Cap creates voice-enabled, rules based agents, including myTalk
[http://www.mytalk.com].
TextWise
http://www.textwise.com
Creates adaptive information agent systems such as EVA and EMMA.
Open Sesame
http://www.opensesame.com/
This application is based on work by Alper Caglayan, author of the Agent Sourcebook. Open
Sesame customizes content, user interface, advertising, and product recommendations for
each user at a Web site. The software builds a dynamic interest profile of each user based
on their individual preferences and actions.
Alexa Internet
http://www.alexa.com
Makes recommendations on related sites. Alexa stores the behavioral patterns of Web
travellers and information about content on the Web. Links are generated using data mining
techniques and intelligent technologies, which identify usage patterns and the relationships
between the pages, based on common hypertext links and similarities in content.
DataBots
http://www.imagination-engines.com/databots.htm
Imagination Engines Incorporated (IEI) uses ordinary Microsoft Excel spreadsheets to create
neural networks for adaptive artificial organisms and knowledge agents.
BullsEye from IntelliSeek
http://www.intelliseek.com
Uses a collection of custom intelligent agents, tapping over 300 search engines and 600
plus databases on the Internet, to find, analyze, filter, report, manage, and track information.
Mata Hari
http://www.thewebtools.com/
A rule-based agent non-adaptive filtering agent that searches 140 Web search engines
simultaneously.
Verity, Inc.
http://www.verity.com
Uses “Topic Agents” for automatic categorization of documents.
Page 26 of 26