Professional Documents
Culture Documents
Esreview PDF
Esreview PDF
Chapters 1-5
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
B. Language System
Often rudimentary, user provides values to set interface behaviors
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.
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
1. Record keeping (50s, 60s - MIS, Electronic Data Processing System (EDP))
2. Decision Support Systems: Software that helps a decision maker draw on environmental
knowledge and analyze, evaluate and reason with this knowledge.
Approaches to integration.
4. Business Expert Systems: Expert system technology, in the form of business expert systems,
must be absorbed into this climate of business computing.
1. Sample Applications:
Establishing sales quotas
Conducting trainee orientations
Determining credit limits
Performance evaluation
B. Inference Engine: The (problem processor) software that carries out the reasoning
needed for problem solving.
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
Rule Set or
USER Inference Integrated
Interface Engine Knowledge
Sytem
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.
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:
1. Expressing Rules: Rules tell the inference engine what to do if a certain situation exists.
PREMISE CONCLUSION
B. Examples:
-simple Rule (single condition single action)
Rule R1
IF: sales > 1.15*Quota
THEN: Base = Quota + (Sales-1.15*Quota)
-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:
1. Overview:
A. Reasoning involves:
B. Until the inference engine determines otherwise, all KNOWN function values are as
yet unknown (not false).
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.
2. 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:
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:
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.
a. Tables
b. Procedural Models - Guru’s 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
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.
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 it’s 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
of 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) 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 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
the necessary expertise to solve the problem.