intelligent systems programming right from the start with visual basic.net 1/e 15
TRANSCRIPT
IntelligentSystems
Programming Right from the Start with Visual Basic .NET 1/e
15
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 2
Objectives
• Describe the basic concepts of an intelligent system
• Give examples of how intelligent systems have been used in business
• Explain how heuristics can be used to represent problem-solving knowledge
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 3
Objectives (cont.)
• Explain how machine learning can occur through feedback
• Develop applications that exhibit multiple types of intelligence behavior
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 4
15-1 Living in theInformation Age
• The information age has its challenges, not the least of which is information overload.
• Computing technology plays a key role in the information age.
• Computing technology can support intelligent systems (or knowledge systems) that focus on the processing and production of knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 5
15-2 Intelligent Systems
• From a computing perspective, data refers to numbers, characters, or images without context.
• When data is processed in a context, it becomes information.
• As information is collected, it also can be processed for patterns and insights, creating knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 6
15-2 Intelligent Systems (cont.)
• An intelligent system extends the traditional computing function to include the acquisition and application of knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 7
15-3 The Role of Knowledge
• A computer program is a solution to a problem.
• A computer program may be considered intelligent if its problem-solving activity involves the identification and application of appropriate knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 8
Mutilated CheckerboardProblem
• Problem solving requires relevant knowledge, but what knowledge is relevant can change from problem to problem.
• The simple fact that the wood area is greater than the checkerboard area is the relevant knowledge that makes it easy to solve this problem.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 9
The Revised Mutilated Checkerboard Problem
• You cannot cover the mutilated checkerboard with 31 dominoes.
• Proving that it cannot be done requires the correct use of essential knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 10
15-4 Heuristics
• One approach to capturing and using knowledge is through heuristics.
• A heuristic is a knowledge rule based on experience.
• Heuristics can be used by intelligent systems to guide the discovery process.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 11
15-4 Heuristics (cont.)
• Heuristics may be general-purpose or domain-specific.
• General-purpose heuristics often sound like common sense.
• Domain-specific heuristics sound like rules or strategies that are problem-specific.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 12
Using Heuristics toSolve Problems
• Heuristics can be used to guide problem-solving behavior and are most applicable to problems that can be viewed in terms of actions and states.
• The well-defined nature of games makes them a natural testing ground for intelligent systems.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 13
Using Heuristics toSolve Problems (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 14
Using Heuristics toSolve Problems (cont.)
• One example of how heuristics can be used to support problem solving is a heuristic function.
• A heuristic function returns a value based on heuristic knowledge.
• The value returned is a measure of the goodness of a state during problem solving.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 15
Solution for HeuristicTic-Tac-Toe
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 16
How the HeuristicProgram Works
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 17
How the HeuristicProgram Works (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 18
How the HeuristicProgram Works (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 19
How the HeuristicProgram Works (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 20
15-5 Learning
• Learning involves a modification of behavior based on experience.
• Systems that learn are commonly classified as intelligent systems.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 21
Menace
• B. F. Skinner was instrumental in establishing theories of positive and negative reinforcements and their effects on learning complex actions.
• A Skinner Box is a self-contained device that typically has one or more levers that an animal can press and one or more means of positive and negative reinforcement.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 22
Menace (cont.)
• Positive and negative reinforcement learning can be applied to nonliving systems.
• In 1960 Donald Michie designed MENACE, the Matchbox Educable Noughts and Crosses Engine, a collection of matchboxes that learned to play a skilled game of tic-tac-toe.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 23
Menace (cont.)
• MENACE was a pioneering experiment in machine learning, demonstrating that a nonliving system could modify its behavior based on positive and negative reinforcement.
• MENACE did not involve a computer.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 24
Design for MLearning Program
• Michie’s experiment can be repeated in software by using variables and arrays in place of beads and matchboxes.
• The MLearning Program involves increasing or decreasing token values.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 25
Implementation of MLearning
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 26
How the MLearningProgram Works
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 27
How the MLearningProgram Works (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 28
How the MLearningProgram Works (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 29
How the MLearningProgram Works (cont.)
• Based only on positive and negative feedback, the MLearning program will develop behavior that includes blocking its opponent and avoiding moves that would later result in the opponent having simultaneous winning moves.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 30
Chapter Summary
• Information overload refers to the overwhelming amount of information available to individuals in the modern information age.
• Computing technology has added to the problem of information overload, but it can also help address the problem through intelligent systems.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 31
Chapter Summary (cont.)
• Knowledge is essential to intelligence.
• One approach to capturing and using knowledge is through heuristics.
• A heuristic function returns a value based on heuristic knowledge.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 32
Chapter Summary (cont.)
• Learning is a modification of behavior based on experience and is another element of intelligent systems.
• A computing system can be constructed that performs trial-and-error learning based on positive and negative reinforcement.
IntelligentSystems
Programming Right from the Start with Visual Basic .NET 1/e
15