Intelligent Systems for Engineers and Scientists: 3rd Edition (Hardback) book cover

Intelligent Systems for Engineers and Scientists

3rd Edition

By Adrian A. Hopgood

CRC Press

451 pages | 180 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781439821206
pub: 2011-12-12
$140.00
x
eBook (VitalSource) : 9781498783798
pub: 2016-02-23
from $28.98


FREE Standard Shipping!

Description

The third edition of this bestseller examines the principles of artificial intelligence and their application to engineering and science, as well as techniques for developing intelligent systems to solve practical problems. Covering the full spectrum of intelligent systems techniques, it incorporates knowledge-based systems, computational intelligence, and their hybrids.

Using clear and concise language, Intelligent Systems for Engineers and Scientists, Third Edition features updates and improvements throughout all chapters. It includes expanded and separated chapters on genetic algorithms and single-candidate optimization techniques, while the chapter on neural networks now covers spiking networks and a range of recurrent networks. The book also provides extended coverage of fuzzy logic, including type-2 and fuzzy control systems. Example programs using rules and uncertainty are presented in an industry-standard format, so that you can run them yourself.

The first part of the book describes key techniques of artificial intelligence—including rule-based systems, Bayesian updating, certainty theory, fuzzy logic (types 1 and 2), frames, objects, agents, symbolic learning, case-based reasoning, genetic algorithms, optimization algorithms, neural networks, hybrids, and the Lisp and Prolog languages. The second part describes a wide range of practical applications in interpretation and diagnosis, design and selection, planning, and control.

The author provides sufficient detail to help you develop your own intelligent systems for real applications. Whether you are building intelligent systems or you simply want to know more about them, this book provides you with detailed and up-to-date guidance.

Check out the significantly expanded set of free web-based resources that support the book at: http://www.adrianhopgood.com/aitoolkit/

Table of Contents

Introduction

Intelligent Systems

A Spectrum of Intelligent Behavior

Knowledge-Based Systems

The Knowledge Base

Rules and Facts

Inference Networks

Semantic Networks

Deduction, Abduction, and Induction

The Inference Engine

Declarative and Procedural Programming

Expert Systems

Knowledge Acquisition

Search

Computational Intelligence

Integration with Other Software

Further Reading

Rule-Based Systems

Rules and Facts

A Rule-Based System for Boiler Control

Rule Examination and Rule Firing

Maintaining Consistency

The Closed-World Assumption

Use of Local Variables within Rules

Forward Chaining (a Data-Driven Strategy)

Single and Multiple Instantiation of Local Variables

Rete Algorithm

Conflict Resolution

First Come, First Served

Priority Values

Metarules

Backward Chaining (a Goal-Driven Strategy)

The Backward-Chaining Mechanism

Implementation of Backward Chaining

Variations of Backward Chaining

Format of Backward-Chaining Rules

A Hybrid Strategy

Explanation Facilities

Summary

Further Reading

Handling Uncertainty: Probability and Fuzzy Logic

Sources of Uncertainty

Bayesian Updating

Representing Uncertainty by Probability

Direct Application of Bayes’ Theorem

Likelihood Ratios

Using the Likelihood Ratios

Dealing with Uncertain Evidence

Combining Evidence

Combining Bayesian Rules with Production Rules

A Worked Example of Bayesian Updating

Discussion of the Worked Example

Advantages and Disadvantages of Bayesian Updating

Certainty Theory

Introduction

Making Uncertain Hypotheses

Logical Combinations of Evidence

Conjunction

Disjunction

Negation

A Worked Example of Certainty Theory

Discussion of the Worked Example

Relating Certainty Factors to Probabilities

Fuzzy Logic: Type-1

Crisp Sets and Fuzzy Sets

Fuzzy Rules

Defuzzification

Stage 1: Scaling the Membership Functions

Stage 2: Finding the Centroid

Defuzzifying at the Extremes

Sugeno Defuzzification

A Defuzzification Anomaly

Fuzzy Control Systems

Crisp and Fuzzy Control

Fuzzy Control Rules

Defuzzification in Control Systems

Fuzzy Logic: Type-2

Other Techniques

Dempster–Shafer Theory of Evidence

Inferno

Summary

Further Reading

Agents, Objects, and Frames

Birds of a Feather: Agents, Objects, and Frames

Intelligent Agents

Agent Architectures

Logic-Based Architectures

Emergent Behavior Architectures

Knowledge-Level Architectures

Layered Architectures

Multiagent Systems

Benefits of a Multiagent System

Building a Multiagent System

Contract Nets

Cooperative Problem-Solving (CPS)

Shifting Matrix Management (SMM)

Comparison of Cooperative Models

Communication between Agents

Swarm Intelligence

Object-Oriented Systems

Introducing OOP

An Illustrative Example

Data Abstraction

Classes

Instances

Attributes (or Data Members)

Operations (or Methods or Member Functions)

Creation and Deletion of Instances

Inheritance

Single Inheritance

Multiple and Repeated Inheritance

Specialization of Methods

Class Browsers

Encapsulation

Unified Modeling Language (UML)

Dynamic (or Late) Binding

Message Passing and Function Calls

Metaclasses

Type Checking

Persistence

Concurrency

Active Values and Daemons

OOP Summary

Objects and Agents

Frame-Based Systems

Summary: Agents, Objects, and Frames

Further Reading

Symbolic Learning

Introduction

Learning by Induction

Overview

Learning Viewed as a Search Problem

Techniques for Generalization and Specialization

Universalization

Replacing Constants with Variables

Using Conjunctions and Disjunctions

Moving up or down a Hierarchy

Chunking

Case-Based Reasoning (CBR)

Storing Cases

Abstraction Links and Index Links

Instance-of Links

Exemplar Links

Failure Links

Retrieving Cases

Adapting Case Histories

Null Adaptation

Parameterization

Reasoning by Analogy

Critics

Reinstantiation

Dealing with Mistaken Conclusions

Summary

Further Reading

Single-Candidate Optimization Algorithms

Optimization

The Search Space

Searching the Parameter Space

Hill-Climbing and Gradient Descent Algorithms

Hill-Climbing

Steepest Gradient Descent or Ascent

Gradient-Proportional Descent or Ascent

Conjugate Gradient Descent or Ascent

Tabu Search

Simulated Annealing

Summary

Further Reading

Genetic Algorithms for Optimization

Introduction

The Basic GA

Chromosomes

Algorithm Outline

Crossover

Mutation

Validity Check

Selection

Selection Pitfalls

Fitness-Proportionate Selection

Fitness Scaling for Improved Selection

Linear Fitness Scaling

Sigma Scaling

Linear Rank Scaling

Nonlinear Rank Scaling

Probabilistic Nonlinear Rank Scaling

Truncation Selection

Transform Ranking

Tournament Selection

Comparison of Selection Methods

Elitism

Multiobjective Optimization

Gray Code

Building Block Hypothesis

Schema Theorem

Inversion

Selecting GA Parameters

Monitoring Evolution

Genetic Programming

Other Forms of Population-Based Optimization

Summary

Further Reading

Neural Networks

Introduction

Neural Network Applications

Classification

Nonlinear Estimation

Clustering

Content-Addressable Memory

Nodes and Interconnections

Single and Multilayer Perceptrons

Network Topology

Perceptrons as Classifiers

Training a Perceptron

Buffered Perceptrons

Some Practical Considerations

Recurrent Networks

Simple Recurrent Network (SRN)

Hopfield Network

MAXNET

The Hamming Network

Unsupervised Networks

Adaptive Resonance Theory (ART) Networks

Kohonen Self-Organizing Networks

Radial Basis Function Networks

Spiking Neural Networks

Summary

Further Reading

Hybrid Systems

Convergence of Techniques

Blackboard Systems for Multifaceted Problems

Parameter Setting

Genetic–Neural Systems

Genetic–Fuzzy Systems

Capability Enhancement

Neuro–Fuzzy Systems

Baldwinian and Lamarckian Inheritance in Genetic Algorithms

Learning Classifier Systems

Clarification and Verification of Neural Network Outputs

Summary

Further Reading

Artificial Intelligence Programming Languages

A Range of Intelligent Systems Tools

Features of AI Languages

Lists

Other Data Types

Programming Environments

Lisp

Background

Lisp Functions

A Worked Example

Prolog

Background

Backtracking in Prolog

Comparison of AI Languages

Summary

Further Reading

Systems for Interpretation and Diagnosis

Introduction

Deduction and Abduction for Diagnosis

Exhaustive Testing

Explicit Modeling of Uncertainty

Hypothesize-and-Test

Depth of Knowledge

Shallow Knowledge

Deep Knowledge

Shallow and Deep Knowledge

Model-Based Reasoning

The Limitations of Rules

Modeling Function, Structure, and State

Function

Structure

State

Using the Model

Monitoring

Tentative Diagnosis

The Shotgun Approach

Structural Isolation

The Heuristic Approach

Fault Simulation

Fault Repair

Using Problem Trees

Summary of Model-Based Reasoning

Case Study: A Blackboard System for Interpreting Ultrasonic Images

Ultrasonic Imaging

Agents in DARBS

Rules in DARBS

The Stages of Image Interpretation

Arc Detection Using the Hough Transform

Gathering the Evidence

Defect Classification

The Use of Neural Networks

Defect Classification Using a Neural Network

Echodynamic Classification Using a Neural Network

Combining the Two Applications of Neural Networks

Rules for Verifying Neural Networks

Summary

Further Reading

Systems for Design and Selection

The Design Process

Design as a Search Problem

Computer-Aided Design

The Product Design Specification (PDS): A Telecommunications Case Study

Background

Alternative Views of a Network

The Classes

Network

Link

Site

Information Stream

Equipment

Summary of PDS Case Study

Conceptual Design

Constraint Propagation and Truth Maintenance

Case Study: Design of a Lightweight Beam

Conceptual Design

Optimization and Evaluation

Detailed Design

Design as a Selection Exercise

Overview

Merit Indices

The Polymer Selection Example

Two-Stage Selection

Constraint Relaxation

A Naive Approach to Scoring

A Better Approach to Scoring

Case Study: Design of a Kettle

Reducing the Search Space by Classification

Failure Mode and Effects Analysis (FMEA)

Summary

Further Reading

Systems for Planning

Introduction

Classical Planning Systems

STRIPS

General Description

An Example Problem

A Simple Planning System in Prolog

Considering the Side Effects of Actions

Maintaining a World Model

Deductive Rules

Hierarchical Planning

Description

Benefits of Hierarchical Planning

Hierarchical Planning with ABSTRIPS

Postponement of Commitment

Partial Ordering of Plans

The Use of Planning Variables

Job-Shop Scheduling

The Problem

Some Approaches to Scheduling

Constraint-Based Analysis

Constraints and Preferences

Formalizing the Constraints

Identifying the Critical Sets of Operations

Sequencing in Disjunctive Case

Sequencing in Nondisjunctive Case

Updating Earliest Start Times and Latest Finish Times

Using Constraints and Preferences

Replanning and Reactive Planning

Summary

Further Reading

Systems for Control

Introduction

Low-Level Control

Open-Loop Control

Feedforward Control

Feedback Control

First- and Second-Order Models

Algorithmic Control: The PID Controller

Bang-Bang Control

Requirements of High-Level (Supervisory) Control

Blackboard Maintenance

Time-Constrained Reasoning

Prioritization of Processes

Approximation

Approximate Search

Data Approximations

Knowledge Approximations

Single and Multiple Instantiation

Fuzzy Control

The BOXES Controller

The Conventional BOXES Algorithm

Fuzzy BOXES

Neural Network Controllers

Direct Association of State Variables with Action Variables

Estimation of Critical State Variables

Statistical Process Control (SPC)

Applications

Collecting the Data

Using the Data

Summary

Further Reading

The Future of Intelligent Systems

Benefits

Trends in Implementation

Intelligent Systems and the Internet

Ubiquitous Intelligent Systems

Conclusion

References

Index

About the Author

Adrian Hopgood earned his BSc from the University of Bristol, PhD from the University of Oxford, and MBA from the Open University. After completing his PhD in 1984, he spent 2 years developing applied intelligent systems for Systems Designers PLC. That experience set the direction of his career toward the investigation of intelligent systems and their practical applications. After leaving Systems Designers, he spent 14 years at the Open University and remains attached as a visiting professor.

During that period, he also spent 2 years at Telstra Research Laboratories in Australia, investigating the role of intelligent systems in telecommunications. He has subsequently worked for Nottingham Trent University, De Montfort University, and Sheffield Hallam University. Despite assuming senior management positions, he has not lost his passion for intelligent systems. He has recently led the development of an open-source blackboard system, DARBS. His Website is www.adrianhopgood.com.

Subject Categories

BISAC Subject Codes/Headings:
COM000000
COMPUTERS / General
COM051240
COMPUTERS / Software Development & Engineering / Systems Analysis & Design
COM059000
COMPUTERS / Computer Engineering
TEC007000
TECHNOLOGY & ENGINEERING / Electrical
TEC008000
TECHNOLOGY & ENGINEERING / Electronics / General