You are on page 1of 13


The world of Artificial Intelligence (AI) Overview AI endeavors to make machines such as computers capable of displaying intelligent behavior. AI research topics: a. Natural language processing b. Reasoning c. Automatic programming d. Learning e. Knowledge representation f. Pattern recognition g. Robotics 1. Natural Language system - Allows humans to interact with computers in a natural language rather than a computer language. - no rigid syntax requirements - conversational interaction with user - can be customized -Automatic error detection/recognition - Interpretation based on context - Used for information retrieval, data modification, numeric computation, statistical analyses, graphics generation, expert system consultation, etc. 2. Reasoning Systems: Four Components A. Knowledge System (does not mean a database) Holds facts and assertions about a problem area. Knowledge Representation: Array structures, semantic networks, property hierarchies, list structures, predicate calculus expressions sets, rules. B. Language System Often rudimentary, user provides values to set interface behaviors C. Problem Processing System Uses knowledge in the knowledge system to solve problem stated with language system. -What knowledge is relevant? -in what sequence should it be examined?

D. Presentation System - provides visual output that the user can understand

Two Kinds of Reasoning: A. Forward reasoning - begins with basic knowledge about problem area. Examines knowledge in a sequence and keeps track of implications until they are discovered to provide a solution. B. Reverse Reasoning - begins with original problem statement. Decomposes problem into smaller and smaller subproblems. Solves subproblems in an attempt to solve original problem. Types of Problem Processors: A. General - all application specific knowledge stored in knowledge system B. Specific - application specific reasoning knowledge incorporated into problem processor. 3. Automatic Programming: Concerned with mechanisms for automatically generating a program to carry out a prescribe task. - user describes desired characteristics and behavior only. - No need to specify how to build the program - Automatic programming software builds the program. - A reasoning system might have program generation as its objective. 4. Learning: Deals with the ability of a software system to learn. - Issues include learning from experience, learning by examples, learning by analogy, behavior modification, fact accumulation. - Expert systems could allow a program to become an expert learner. - Automatic programming may involve programs that learn by changing themselves.
Supervised learning - Learning through Rote Unsupervised Systems - the system learns through experience

5. Knowledge representation: How knowledge is stored in the knowledge system (How do you represent knowledge?) - Prevalent method for storing expert system reasoning knowledge is productions or rules - Other representations include array structures, semantic networks, predicate calculus expression sets, etc. - Knowledge is not monolithic (not just one type of knowledge) 6. Pattern Recognition: The ability of a system to recognize visual and audio patterns. - Goes beyond sensing keystrokes or mouse movements - Considerable impact on robotics

Chapter 2. Business Computing Developments in business computing. 1. Record keeping (50s, 60s - MIS, Electronic Data Processing System (EDP)) - Computers have automatic record keeping - A management information System (MIS) is the software implementation to perform record keeping. - Record Keeping tools: a. File management systems - used where only a few types of records exist b. Database management systems (DBMS) which implement one of the major data models: Hierarchical Shallow-network CODASYL-network Relational Postrelational -Focus on descriptive knowledge (about some environment) and transaction processing. 2. Decision Support Systems: Software that helps a decision maker draw on environmental knowledge and analyze, evaluate and reason with this knowledge. - Carries out analyses by fitting environmental knowledge to models (procedural knowledge). - Provides powerful, convenient languages for problem solving. - Can support comparatively unstructured activities. Generic Structure of a DSS: Consists of four subsystems: Language system- the collection of all linguistic facilities provided by a DSS. Representation system- the features by which the DSS represents knowledge to the user. Knowledge system- consists of environmental knowledge, some procedural knowledge and some derived knowledge. Problem processing system (PPS) - understands user request, accesses knowledge system contents in effort to satisfy requests. The problem processor could be general or specific.

Generalized Problem Processor: - a generalized problem processing system (GPPS) must have a broad range of knowledge processing capabilities for working with several knowledge representation methods. - Its capabilities must be able to operate independently - Its ability must be blended together into a single program so that multiple capabilities can be used together in one operation.

3. Software Integration: Deals with coordinating functionalities that traditionally exist in separate, stand-alone programs. Approaches to integration. A. Confederation of components in an operating environment: Is software that can be used to coordinate a group of stand-alone, compatible programs. - user directly interacts with only one program at a time. - user can switch between programs. - user can transfer data between programs -- intermediate data transfer files or cut and paste process B. Nested (inclusive) integration: Nests one or more secondary components within a dominant component. - All processing accomplished through dominant component. - Capabilities and capacities of secondary components restricted by the dominant C. Synergistic Integration: No component restricts any other. Total effect of system greater than the sum of individual effects. - components can be used independently of each other. - One or more components can be invoked from within another component and vice versa. - Multiple components can be referenced in a single operation. 4. Business Expert Systems: Expert system technology, in the form of business expert systems, must be absorbed into this climate of business computing.

Chapter 3. Getting acquainted with expert systems 1. Sample Applications: Establishing sales quotas Conducting trainee orientations Determining credit limits Performance evaluation 2. Expert System Structure

Three Primary Aspects A. User Interface: When consulting expert systems -user states problem -user interacts with system - during reasoning - after conclusion B. Inference Engine: The (problem processor) software that carries out the reasoning needed for problem solving. -draws on stored reasoning expertise about problem area - (may) interact with user for additional information - reports solution and explains line of reasoning C. Stored Exertise: -consists of a rule set (i.e., a collection of rules, each of which captures some knowledge aout reasoning in the problem area under consideration). -could also be an integrated knowledge system which also embodies other types of knowledge representation, like: *Databases *Spreadsheets *Procedural trainers *Forms *Text *Graphics *Others
USER USER Interface Inference Engine

Rule Set or Integrated Knowledge Sytem

SCHEMATIC DIAGRAM 3. Tools for Developing an Expert System A. Types of Tools

-Programming languages -Shells - rule set manager - inference engine -Integrated environments - shells capablities integrated with other computing capabilities into a single tool. (Business Expert Systems differ from ES by providing business computing capabilities)

B. The Rule Set Manager: (software for building, maintaining, and compiling rule sets) -Building: Specifying rules and specifying knowledge about usage. -Maintenance: Changing specifications as new reasoning expertise becomes known. -Compiling: As a consequence of building and maintenance -check validity and report errors - if specification is valid, generate new version of rule set that saves memory space and solution time -this is optional C. The Inference Engine: - Reasons with any rule constructed via rule set manager - Some inference engines support a single rigid user interface -gives developer little control over nature of user interfaces. All systems created have essentially the same interface. -Others integrate inference engine with familiar I/O capabilities, such as: -control over prompt positionings -use of form oriented interaction -color and intensity selection -customized menus -Power: Related to kinds of rules that can be processed -Lower power handles rudimentary rules only. (5 yr old level) -High power handles sophisticated and rudimentary rules. (10 yr old) -Kind of Reasoning: -forward reasoning chaining -reverse reasoning chaining -both (more versatile) -Ability to deal with uncertainty: -kinds of uncertainties handled -control over how these are factored into a reasoning process -Environment: -stand-alone shell: the inference engine is an isolated program executed from the operating system -integrated environment: the inference engine can be involed wherever desired -within a spreadsheet computation -within a procedural model -in the midst of text processing -etc. 4. Potential Benefits: - Timely Advice - Replication - Frees human expert - Consistent, uniform advice - Explains itself - Handles uncertainties - ES have formalized approaches

- Evolution - Formalization of Expertise 5. Competitive Implications: - Enhanced internal productivity - Enhanced Services - New services - New industries

Chapter 4. Rules for Reasoning 1. Expressing Rules: Rules tell the inference engine what to do if a certain situation exists. A. Two essential components: - Premise: one or more conditions -Conclusion: one or more actions



IF premise is true THEN conclusion is valid B. Examples:

-simple Rule (single condition single action) Rule R1 IF: sales > 1.15*Quota THEN: Base = Quota + (Sales-1.15*Quota) -Use of Boolean Operators: -Two conditions single action Rule R10 IF: ECONOMY=good AND LOCALADS > 2000 THEN: LAFACTOR = LOCALADS/100000 (Conjunction: both conditions must be true for the premise to be considered valid) -Three conditions two actions Rule R4 IF: ECONOMY=fair AND KNOWN (LOCALADS) AND KNOWN (GROWTH) THEN: EFACTOR=GROWTH/3 LFACTOR=LOCALADS/1200 (KNOWN function: true if variables value is known) -one or more conditions one action Rule R9 IF: GROWTH<0.02 OR UNEMPLOYMENT>=0.082 THEN: ECONOMY = poor (Disjunction: if either condition is true then the conclusion is valid) -One of many conditions action Rule R IF: GROWTH<0.02 XOR UNEMPLOYMENT>=0.082 THEN: ......... (Exclusive or: conclusion valid if one, but not both, conditions is true)

-Negation Rule: R17 IF: NOT (WEAK OR STRONG) AND KNOWN (BASE) AND KNOWN (EFACTOR) THEN: NEWQUOTA=BASE*(1+EFACTOR) -Use of input actions: All of the above examples had only one type of action (assignment actions). Another thpe of action involves input. Rule: R15 IF: STRONG AND KNOWN (BASE) AND KNOWN (EFACTOR) THEN: INPUT RISE NUM WITH Enter percentage increase due to\

interest increase + PROD NEWQUOTA=BASE*\ (1+EFACTOR+RISE/100) (The string in quotes is concatonated with the product of interest to form a prompt) 2. Managing Rules A. Text Processor - Source rule set TEXT ADVISOR.RSS - Compiled rule set COMPILE ADVISOR B. Menu Guidance - BUILD ADVISOR (BUILD has an option that lets you compile) C. Rule Induction - Examples that yield a rule or decision tree - Limitations 3. Summary: A. Rules are a modular way of representing reasoning knowledge. - Unlike embedding knowledge as a sequence of statements within a traditional control structure. - A modular collection of fragments of reasoning knowledge B. Knowledge integration permits much more powerful/flexible specifications.

Chapter 5. Reasoning with Rules 1. Overview: A. Reasoning involves: - Ability to select pertinent rules - Ability to determine whether premise is satisfied - Ability to carry out specific actions (also called firing the rule - Ability to acquire additional knowledge, if needed B. Rule Set: See figure 13.3 on page 429 2. Handling Unknown Variables: ** (KNOWN is UNKNOWN if the variables value is unknown, but could become known in the reasoning process)

A. Values of all variables are as yet unknown. B. Until the inference engine determines otherwise, all KNOWN function values are as yet unknown (not false). C. Thus, no rule can be fired, because all premises are unknown. D. The conventional solution is to ask the user to supply unknown information. (this is not always advisable-the user may not know the answer, or the answer he/she provides may be incorrect)

Asking the User for a value We could ask the user for the value of an unknown variable in the following manner: 1. Rule Conclusion RULE: VARPROD IF: NOT KNOWN (PROD) THEN: INPUT PROD STR WITH ENTER PRODUCT LINE:

Similar rules for other unknowns could be developed. A large number of variables implies a large number of additional rules in a rule set. The larger the number of rules, the slower the processing time, in general. This does not characterize the nature of the variable itself. The variable description tells the inference engine how to find a variable value at any stage of the reasoning process.


Variable Description VARIABLE: PROD FIND: INPUT PROD STR WITH Enter product line:

This exists as part of a rule set. It has the same prompting effect as rule conclusion. Since this is not a rule there is no additional cost of processing. 3. Inference Initialization:

An initialization sequence is a series of actions that an inference engine automatically carries out as soon as a user consults the system. This takes place even before any rule is considered for the reasoning process. All rule set variables needed for every consultation are initialized at this point. All rule set variables whose values are known to the user at the start of the consultation are initialized at this point.

3. Other Sources of Values for Unknown Variables Should an IE always have to consult the user whenever there is an impasse in the reasoning process? NO! As much as possible, the expert should aim at finding the answers himself, from other sources at his disposal. So also with the expert system. For a human such sources would include: -reading a textual passage -making a calculation -conducting an analysis with a procedural model -selective computation of a desired statistic -looking up values in a database -consulting other experts -etc. So also, conventional expert system tools support hooks to outside data files or programs. It has access to data that result from executing an external program or it can request the execution of the program. Such hooks vary from one tool to another, but do not match the effects achieved through true integration, as in the advanced tool. Some of the possible places that a program can hook to: a. Tables b. Procedural Models - Gurus structured programming language is used to build a program that embodies procedural knowledge. (can use databases and spreadsheets) e.g. PERFORM ECON c. Expert Systems Alternately, ECON could itself be another expert system invoked by e.g. CONSULT ECON d. Graphics

f. Integrated knowledge acquisition: - avoid user prompting -burdensome, error-prone, infeasable - avoid switching - avoid intermediate data files - imulate what human expert systems would do 4. FORWARD REASONING (aka FORWARD CHAINING) Each rule is examined in the forward direction -- premise is examined first. There are two possibilities here: a. If a rules premise is found true, the rule is fired. If not, another rule is considered. If the rules premise is false, it may be reconsidered later. perhaps the firing of other rules may change variables such that its premise becomes true.

b. A rules premise may be unknown (neither true or false) because variables in the premise are, as yet, unknown. Again, the rule is not fired, and another rule is considered. Perhaps the firing of other rules will cause its premise to become true. Initialization sequence - begins the execution of a program - (may set values to variables) completion sequence - After program has come to a conclusion, the result must be displayed to the user through the completion sequence. May use a conventional tool - reports value of goal variable to user. Offers little control over the form of this report. May use an advanced tool - more flexible, it can: - store findings in a data base - use results as input for further analysis - use them as a basis for graphics, or input to a spreadsheet - incorporate them into a textual description - communicate results to other sites - etc. This is accomplished by building a completion sequence into a rule set. 5. REVERSE CHAINING (aka GOAL-DIRECTED REASONING) each rule is examined in the reverse direction -- conclusion is examined first conclusion premise (this is much more focused than forward chaining) -Forward reasoning is a blind or brute force approach -Reverse reasoning is a more intricate or directed approach. FLOW OF REVERSE REASONING a. At the start, the current variable is the overall goal variable and its value is unknown. b. Engine looks at coclusions of rules in the rule set and detects those that could possibly establish a value for the current goal. These rules are called the candidate rules. c. Engine selects a rule from amongst the condidates and examines its premise. d. If premise is true, rule is fired and a value for current goal is established. e. Other candidate rules are considered in the same way (they may also affect the value the current goal). f. If premise is false, the candidate is ignored and the next one considered. g. If the premise is unknown, the engine attempts to make it known (by determining the value of the variables in the premise). There are two ways of doing this: i) carry out actions in a variable desciption, for example


ii) if no description exists, then that variable becomes the new current goal. h. Repeat steps b through g for the new current goal. Two possibilities now exist, i) If solving the goal does not result in the premise being established as true or false, then another unknown variable in the premise becomes the new current goal, and steps b through g are repeated. If none exists, abandon rule and revert to last unsolved goal. ii) If solving the former goal results in establishing the truth or falsity of the premise. - If premise is true, rule is fired and another candidate selected. -If premise is false, rule is not fired and another candidate is selected for current goal. -If no further candidates exist, no further reasoning is possible, for the current goal. -If this is the overall goal, then the engine proceeds with the completion sequence. If this is not the overall goal but a subproblem goal, then the engine focuses on another subproblem that is yet to be solved. -When all pertinent subproblems have been processed, the overall goal again becomes the current goal. If the overall goal variable ends up with an unknown value, the rule set lacks necessary expertise to solve the problem.