* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 1. Introduction to Intelligent Systems
Survey
Document related concepts
Transcript
MITM 613
Intelligent System
Chapter 1: Introduction To
Intelligent Systems
Abdul Rahim Ahmad
2
Contents
Intelligent systems
Knowledge-based systems
The knowledge base
Deduction, abduction, and induction
The inference engine
Declarative and procedural programming
Expert systems
Knowledge acquisition
Search
Computational intelligence
Integration with other software
Abdul
Rahim
Ahmad
3
Intelligent System
Intelligence – A system’s comparative level of
performance in reaching its objectives i.e: having
experiences where the system learned which actions best
let it reach its objectives. (Likewise: a person is not
intelligent in all areas of knowledge, only in areas where
they had experiences).
System - Part of the universe, with a limited extension in
space and time. Outside the system, is the environment.
Intelligent System - A system that learns how to act so
that it can reach its objectives.
Abdul
Rahim
Ahmad
4
Definition of Intelligent System
A system that learns during its existence. (In
other words, it senses its environment and
learns, for each situation, which action permits it
to reach its objectives.) and it continually acts,
mentally and externally, and by acting reaches
its objectives more often than pure chance
indicates (normally much oftener). It consumes
energy and uses it for its internal processes, and
in order to act.
Abdul
Rahim
Ahmad
5
Intelligent System
A broad term, covering a range of computing
techniques within artificial intelligence.
Includes
symbolic approaches in which knowledge is explicitly
expressed in words and symbols (explicit knowledgebased Models)
numerical approaches such as neural networks,
genetic algorithms, and fuzzy logic (implicit numerical
or computational Models).
Abdul
Rahim
Ahmad
Can also be a hybrid of different approaches.
6
Focus of this Course
Discuss issues encountered in the development
of applied systems.
Describe a wide range of intelligent systems
techniques with realistic problems in engineering
and science.
Will look at:
Techniques of intelligent systems.
A few categories of applications and the design and
implementation issues.
Abdul
Rahim
Ahmad
7
Knowledge-based Systems
A system can be built in a conventional manner
Where domain knowledge is intimately intertwined
with software for controlling the application of that
knowledge.
But, in a knowledge-based system, the
knowledge module and the the control module
are explicitly separated.
The knowledge module is called the knowledge base
The control module is called the inference engine (IR)
Abdul
Rahim
Ahmad
IR may also be a knowledge-based system containing
metaknowledge (how to apply the domain knowledge).
8
Knowledge-based Systems
Abdul
Rahim
Ahmad
9
Conventional vs Knowledge-based
Separating knowledge from control allows easier
addition of new knowledge (during program
development or from experience)
To change a program behavior;
In conventional approach, program control structures
needs to be changed resulting in changing some other
aspect of the program’s behavior.
In knowledge-based approach, knowledge is
represented explicitly in the knowledge base, not
implicitly within the structure of a program
Abdul
Rahim
Ahmad
10
Knowledge-based Systems
Knowledge can be altered with ease.
The inference engine uses the knowledge base
to solve a problem similar to using a
conventional program a data file.
Abdul
Rahim
Ahmad
11
The knowledge base
Contains rules and facts.
Facts may include
Sequences
Structured entities
Attributes of entities
Relationships between entities
Representation of rules and facts vary from
system to system
Abdul
Rahim
Ahmad
12
Example - a payroll system
Consider the facts :
/* Fact 1.1 */ Joe Bloggs works for ACME
/* Rule 1.1 */ IF ?x works for ACME THEN ?x earns a large salary
In conventional program
The fact and the rule are “hard-wired,” so that they
become an intrinsic part of the program.
In knowledge-based system
The rule and the fact are represented explicitly and
can be changed at will.
Abdul
Rahim
Ahmad
13
Rules and Facts
Rules can be uncertain.
Uncertainty can arise from three distinct sources
uncertain evidence
uncertain link between evidence and conclusion
vague rule
Facts can be
Static (facts that change sufficiently infrequently)
Transient (apply at a specific instance only while the
system is running)
Abdul
Rahim
Ahmad
Default (to be used in the absence of transient fact)
14
Examples
Facts about my car
Fact can be
attribute (properties of objects or classes)
relationship
Abdul
Rahim
Ahmad
15
Attributes and relationships
Can be represented as a network
(associative or semantic network)
Abdul
Rahim
Ahmad
Here, attributes = relationships.
16
Facts
Facts are made available to the knowledge-based system
statically or in transient. Both are given facts.
Derived fact is generated fact:
One or more given facts may satisfy the condition of a rule
generating derived fact.
/* Fact 1.1 */ Joe Bloggs works for ACME
/* Rule 1.1 */ IF ?x works for ACME THEN ?x earns a large salary
Applying Rule 1.1 to Fact 1.1, we can derive:
/* (Derived) Fact 1.2 */ Joe Bloggs earns a large salary
The derived fact may satisfy, or partially satisfy, another
rule, such as:
Abdul
Rahim
Ahmad
/* Derived Rule 1.2 */
IF ?x earns a large salary OR ?x has job satisfaction THEN ?x is
professionally content
17
Inference Network
The derived fact may satisfy, or partially satisfy,
another rule , such as:
/* Rule 1.1 */ IF ?x works for ACME THEN ?x earns a large salary
/* Derived Rule 1.2 */
IF ?x earns a large salary OR ?x has job satisfaction THEN ?x is
professionally content
Rules 1.1 and 1.2 are interdependent, since the
conclusion of one can satisfy the condition of the
other.
Abdul
Rahim
Ahmad
The interdependencies amongst the rules define
the inference network
18
Inference Network
The interdependencies amongst the rules define
the inference network
Abdul
Rahim
Ahmad
/* Rule 1.1 */ IF ?x works for ACME THEN ?x earns a large salary
/* Derived Rule 1.2 */
IF ?x earns a large salary OR ?x has job satisfaction THEN ?x is professionally
content
19
Cause and Effect
Inference network are used to link cause and
effect.
IF <cause> THEN <effect>
Using the inference network we can make:
Deduction.
Abduction.
Induction
Abdul
Rahim
Ahmad
if Joe Bloggs works for ACME and is in a stable relationship
(the causes) then he is happy (the effect).
Reasoning in the reverse direction, i.e., we wish to ascertain a
cause, given an effect.
If Joe Bloggs is happy, we can infer by abduction that Joe
Bloggs enjoys domestic bliss and professional contentment.
Inferring a rule from a set of example cases of cause and
effect
20
Inference Network
The inference network represents a closed world
Each node represents a possible state of some aspect
of the world
A model of the current overall state of the world
is maintained.
Can determine the extent of the relationships between
the nodes.
Abdul
Rahim
Ahmad
21
Inference Engines
Two types of inference engines
forward-chaining (data-driven )
A knowledge based system working in data-driven
mode takes the available information (the “given”
facts) and generates as many derived facts as it can.
backward-chaining (goal-driven)
Abdul
Rahim
Ahmad
For tightly focused solution. It is also a lazy kind of inference.
It does no work until absolutely necessary, in distinction to
forward chaining, where the system eagerly awaits new facts
and tries applying conditions as soon as they arrive.
22
Declarative Programming
In knowledge-based system
knowledge is separated from reasoning.
programmer expresses information about the problem
to be solved.
Often this information is declarative, i.e., the programmer
states some facts, rules, or relationships without having to be
concerned with the detail of how and when that information
is applied.
Abdul
Rahim
Ahmad
23
Declarative Programming
Examples of declarative programming:
/* Rule 1.3 */
IF pressure is above threshold THEN close valve
/* Fact 1.3 */
valve A is shut /* a simple fact */
/* Fact 1.4 */
valve B is connected to tank 3 /* a relation */
Each is a part of a knowledge base.
Inference engine is procedural — obeying a set
of sequential commands (extract and use
information from the knowledge base).
The how, when, and if the knowledge should be
used are implicit in the inference engine.
Abdul
Rahim
Ahmad
24
Procedural Programming
C is a procedural language - contains explicit step-bystep instructions telling the computer to perform actions:
Abdul
Rahim
Ahmad
/* A program in C to read 10 integers from a file and */
/* print them out */
#include <stdio.h>
FILE *openfile;
main()
{ int j, mynumber;
openfile = fopen("myfile.dat", "r");
if (openfile == NULL)
printf("error opening file");
else
{
for (j=1; j<=10; j=j+1)
{
fscanf(openfile,"%d",&mynumber);
printf("Number %d is %d\n", j, mynumber);
}
fclose(openfile);
}
}
25
Expert System
A knowledge-based system
Mirror a human consultant - offers advice,
suggestions, or recommendations.
Capable of justifying its line of inquiry and
explaining its reasoning in a conclusion.
Abdul
Rahim
Ahmad
26
Knowledge acquisition
3 approaches to acquire knowledge for a
particular domain:
Teased out of a domain expert by someone else.
Build by a domain expert him/her self.
Knowledge learned automatically from examples.
Abdul
Rahim
Ahmad
27
Search
Most AI applications involve searching through
the possible solutions (search space) to find one
or more that are optimal or satisfactory.
In knowledge-based system, inference engine
search the rules and facts to apply.
Search can be : exhaustive search or systematic
search (depth first and breadth-first) using
search tree.
Abdul
Rahim
Ahmad
28
Search Tree
Search Tree
Abdul
Rahim
Ahmad
Depth-first Search
Breadth-first Search
29
Heuristic Search
Search can be improved by pruning – using
heuristic search.
Ensure that the most likely alternatives are
tested before less likely ones.
Abdul
Rahim
Ahmad
30
Computational intelligence
Knowledge-based system used symbols to
explicitly build knowledge that form rules, facts,
relations, or other forms of knowledge
representation.
Computational intelligence (CI) or soft
computing method represents knowledge by
numbers which are adjusted as the system
improves its accuracy (knowledge is not explicitly
stated).
Abdul
Rahim
Ahmad
31
Examples of Computational
intelligence
Neural networks.
Genetic algorithms or, more generally,
evolutionary algorithms.
Probabilistic methods such as Bayesian updating
and certainty factors.
Fuzzy logic.
Combinations of these techniques with each
other and with KBSs.
Abdul
Rahim
Ahmad
32
Categories of Intelligent Systems
Abdul
Rahim
Ahmad
33
Abdul
Rahim
Ahmad
Computational Intelligence Techniques
34
END
Abdul
Rahim
Ahmad