361 likes | 621 Views
MITM 613 Intelligent System. Chapter 1: Introduction To Intelligent Systems. Intelligent systems Knowledge-based systems The knowledge base Deduction, abduction, and induction The inference engine Declarative and procedural programming Expert systems Knowledge acquisition Search
E N D
MITM 613Intelligent System Chapter 1: Introduction To Intelligent Systems
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 Contents Abdul Rahim Ahmad
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. Intelligent System Abdul Rahim Ahmad
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. Definition of Intelligent System Abdul Rahim Ahmad
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 knowledge-based Models) • numerical approaches such as neural networks, genetic algorithms, and fuzzy logic (implicit numerical or computational Models). • Can also be a hybrid of different approaches. Intelligent System Abdul Rahim Ahmad
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. Focus of this Course Abdul Rahim Ahmad
A system can be built in a conventionalmanner • 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) • IR may also be a knowledge-based system containing metaknowledge (how to apply the domain knowledge). Knowledge-based Systems Abdul Rahim Ahmad
Knowledge-based Systems Abdul Rahim Ahmad
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 Conventional vs Knowledge-based Abdul Rahim Ahmad
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. Knowledge-based Systems Abdul Rahim Ahmad
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 The knowledge base Abdul Rahim Ahmad
Consider the facts : • 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. Example - a payroll system /* Fact 1.1 */ Joe Bloggs works for ACME /* Rule 1.1 */ IF ?x works for ACME THEN ?x earns a large salary Abdul Rahim Ahmad
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) • Default (to be used in the absence of transient fact) Rules and Facts Abdul Rahim Ahmad
Facts about my car • Fact can be • attribute (properties of objects or classes) • relationship Examples Abdul Rahim Ahmad
Can be represented as a network (associative or semantic network) Here, attributes = relationships. Attributes and relationships Abdul Rahim Ahmad
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. • The derived fact may satisfy, or partially satisfy, another rule, such as: Facts /* 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 • /* Derived Rule 1.2 */ • IF ?x earns a large salary OR ?x has job satisfaction THEN ?x is professionally content Abdul Rahim Ahmad
The derived fact may satisfy, or partially satisfy, another rule , such as: Rules 1.1 and 1.2 are interdependent, since the conclusion of one can satisfy the condition of the other. The interdependencies amongst the rules define the inference network Inference Network /* 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 Abdul Rahim Ahmad
The interdependencies amongst the rules define the inference network Inference Network /* 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 Abdul Rahim Ahmad
Inference network are used to link cause and effect. • Using the inference network we can make: • Deduction. • Abduction. • Induction Cause and Effect IF <cause> THEN <effect> 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 Abdul Rahim Ahmad
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. Inference Network Abdul Rahim Ahmad
Two types of inference engines • forward-chaining (data-driven ) • backward-chaining (goal-driven) Inference Engines A knowledge basedsystem working in data-driven mode takes the available information (the “given” facts) and generates as many derived facts as it can. 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. Abdul Rahim Ahmad
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. Declarative Programming Abdul Rahim Ahmad
Examples of declarative programming: 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. 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 */ Abdul Rahim Ahmad
C is a procedural language - contains explicit step-by-step instructions telling the computer to perform actions: Procedural Programming /* 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); } } Abdul Rahim Ahmad
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. Expert System Abdul Rahim Ahmad
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. Knowledge acquisition Abdul Rahim Ahmad
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. Search Abdul Rahim Ahmad
Search Tree Search Tree Breadth-first Search Depth-first Search Abdul Rahim Ahmad
Search can be improved by pruning – using heuristic search. Ensure that the most likely alternatives are tested before less likely ones. Heuristic Search Abdul Rahim Ahmad
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). Computational intelligence Abdul Rahim Ahmad
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. Examples of Computational intelligence Abdul Rahim Ahmad
Categories of Intelligent Systems Abdul Rahim Ahmad
Computational Intelligence Techniques Abdul Rahim Ahmad
END Abdul Rahim Ahmad