110,99 €
Learn more about the history, foundations, and applications of fuzzy logic in this comprehensive resource by an academic leader
Introduction to Fuzzy Logic delivers a high-level but accessible introduction to the rapidly growing and evolving field of fuzzy logic and its applications. Distinguished engineer, academic, and author James K. Peckol covers a wide variety of practical topics, including the differences between crisp and fuzzy logic, the people and professions who find fuzzy logic useful, and the advantages of using fuzzy logic.
While the book assumes a solid foundation in embedded systems, including basic logic design, and C/C++ programming, it is written in a practical and easy-to-read style that engages the reader and assists in learning and retention. The author includes introductions of threshold and perceptron logic to further enhance the applicability of the material contained within.
After introducing readers to the topic with a brief description of the history and development of the field, Introduction to Fuzzy Logic goes on to discuss a wide variety of foundational and advanced topics, like:
Perfect for mid-level and upper-level undergraduate and graduate students in electrical, mechanical, and computer engineering courses, Introduction to Fuzzy Logic covers topics included in many artificial intelligence, computational intelligence, and soft computing courses. Math students and professionals in a wide variety of fields will also significantly benefit from the material covered in this book.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 498
Veröffentlichungsjahr: 2021
Cover
Title Page
Copyright Page
Dedication Page
Preface
Starting to Think Fuzzy and Beyond
Organizing the Book
The Chapters
The Appendices
The Audience
Notes to the Instructor
Acknowledgments
About the Author
Introduction
I.1 Introducing Fuzzy Logic, Fuzzy Systems, and • • • • •
I.2 Philosophy
I.3 Starting to Think Fuzzy – Fuzzy Logic Q&A
I.4 Is Fuzzy Logic a Relatively New Technology?
I.5 Who Is Using Fuzzy Logic in the United States?
I.6 What Are Some Advantages of Fuzzy Logic?
I.7 Can I Use Fuzzy Logic to Solve All My Design Problems?
I.8 What's Wrong with the Tools I'm Using Now?
I.9 Should I Implement My Fuzzy System in Hardware or Software?
I.10 Introducing Threshold Logic
I.11 Moving to Perceptron Logic
I.12 Testing and Debugging
I.13 Summary
1 A Brief Introduction and History
1.1 Introduction
1.2 Models of Human Reasoning
1.3 Building on the Past – From Those Who Laid the Foundation
1.4 A Learning and Reasoning Taxonomy
1.5 Crisp and Fuzzy Logic
1.6 Starting to Think Fuzzy
1.7 History Revisited – Early Mathematics
1.8 Sets and Logic
1.9 Expert Systems
1.10 Summary
Review Questions
2 A Review of Boolean Algebra
2.1 Introduction to Crisp Logic and Boolean Algebra
2.2 Introduction to Algebra
2.3 Getting Some Practice
2.4 Getting to Work
2.5 Implementation
2.6 Logic Minimization
2.7 Summary
Review Questions
3 Crisp Sets and Sets and More Sets
3.1 Introducing the Basics
3.2 Introduction to Classic Sets and Set Membership
3.3 Classical Set Theory and Operations
3.4 Basic Crisp Applications – A First Step
3.5 Summary
Review Questions
4 Fuzzy Sets and Sets and More Sets
4.1 Introducing Fuzzy
4.2 Early Mathematics
4.3 Foundations of Fuzzy Logic
4.4 Introducing the Basics
4.5 Introduction to Fuzzy Sets and Set Membership
4.6 Fuzzy Membership Functions
4.7 Fuzzy Set Theory and Operations
4.8 Basic Fuzzy Applications – A First Step
4.9 Fuzzy Imprecision And Membership Functions
4.10 Summary
Review Questions
5 What Do You Mean By That?
5.1 Language, Linguistic Variables, Sets, and Hedges
5.2 Symbols and Sounds to Real‐World Objects
5.3 Hedges
5.4 Summary
Review Questions
6 If There Are Four Philosophers…
6.1 Fuzzy Inference and Approximate Reasoning
6.2 Equality
6.3 Containment and Entailment
6.4 Relations Between Fuzzy Subsets
6.5 Inference in Fuzzy Logic
6.6 Summary
Review Questions
7 So How Do I Use This Stuff?
7.1 Introduction
7.2 Fuzzification and Defuzzification
7.3 Fuzzy Inference Revisited
7.4 Fuzzy Inference – Single Premise
7.5 Fuzzy Inference – Multiple Premises
7.6 Getting to Work – Fuzzy Control and Fuzzy Expert Systems
7.7 Summary
Review Questions
8 I Can Do This Stuff!!!
8.1 Introduction
8.2 Applications
8.3 Design Methodology
8.4 Executing a Design Methodology
8.5 Summary
9 Moving to Threshold Logic!!!
9.1 Introduction
9.2 Threshold Logic
9.3 Executing a Threshold Logic Design
9.4 The Downfall of Threshold Logic Design
9.5 Summary
Review Questions
10 Moving to Perceptron Logic ! ! !
10.1 Introduction
10.2 The Biological Neuron
10.3 The Artificial Neuron – a First Step
10.4 The Perceptron – The Second Step
10.5 Learning with Perceptrons – First Step
10.6 Learning with Perceptrons – Second Step
10.7 Testing of the Perceptron
10.8 Summary
Review Questions
Appendix A Requirements and Design Specification
A.1 Introduction
A.2 Identifying the Requirements
A.3 Formulating the Requirements Specification
A.4 The System Design Specification
A.5 System Requirements Versus System Design Specifications
Appendix B Introduction to UML and Thinking Test
B.1 Introduction
B.2 Use Cases
B.3 Class Diagrams
B.4 Dynamic Modeling with UML
B.5 Interaction Diagrams
B.6 Sequence Diagrams
B.7 Fork and Join
B.8 Branch and Merge
B.9 Activity Diagram
B.10 State Chart Diagrams
B.11 Preparing for Test
B.12 Summary
Bibliography
Further Reading
Index
End User License Agreement
Chapter 4
Table 4.1 Activities and grades of membership.
Chapter 6
Table 6.1 Modus ponens fuzzy conclusions.
Table 6.2 Modus tollens fuzzy conclusions.
Chapter 7
Table 7.1 Fuzzy implication functions.
Table 7.2 Heater ON temperature and extent.
Table 7.3 System behavior.
Chapter 9
Table 9.1 AND gate
T
= 2.
Table 9.2 OR gate
T
= 1.
Table 9.3 Truth table.
Table 9.4 K‐map.
Table 9.5 K‐map.
Table 9.6 Truth table, weights,
WS
, output.
Table 9.7 K‐map.
Table 9.8 Truth table, weights,
W
S
,output.
Chapter 10
Table 10.1 NAND Gate
T
> −2
Table 10.2 NOR Gate
T
> −1
Table 10.3 NOT Gate
T
> 0
Appendix B
Table B.1 Common UML diagrams.
Chapter 1
Figure 1.1 Crisp and fuzzy circles.
Figure 1.2 Membership in subset
H
.
Figure 1.3 Membership functions for “close to 7.”
Figure 1.4 Bottles of liquids – front side.
Figure 1.5 Bottles of liquids – back side.
Chapter 2
Figure 2.1 Algebraic AND and OR operations.
Figure 2.2 Truth‐table proof.
Figure 2.3 Single‐variable truth table.
Figure 2.4 Two‐variable truth table.
Figure 2.5 Verifying De Morgan's Law.
Figure 2.6 De Morgan's tea vending machine.
Figure 2.7 Basic logic devices.
Figure 2.8 Logic gates.
Figure 2.9 Logic circuit.
Figure 2.10 Logic circuit.
Figure 2.11 Tea circuit.
Figure 2.12 Basic truth tables.
Figure 2.13 Basic truth table.
Figure 2.14 Four‐variable K‐Map.
Figure 2.15 Four‐variable K‐Map.
Figure 2.16 Four‐variable K‐Map.
Figure 2.17 Four‐variable K‐Map.
Figure 2.18 Three‐input system.
Figure 2.19 BCD to Excess 3 decoder.
Figure 2.20 BCD to Excess 3 encoder block diagrams.
Chapter 3
Figure 3.1 Three sets.
Figure 3.2 Crisp set and universe of discourse.
Figure 3.3 Two sets of light bulb states.
Figure 3.4 Four basic logical operations.
Figure 3.5 Motor control subsets.
Figure 3.6 Basic crisp set symbols.
Figure 3.7 Basic universe of discourse.
Figure 3.8 Viewing a movie.
Figure 3.9 Expressing an opinion‐0.
Chapter 4
Figure 4.1 Real‐world problems fuzzy logic solution.
Figure 4.2 Universe of discourse and three subsets.
Figure 4.3 Crisp and fuzzy membership values.
Figure 4.4 Membership functions for “
close to 7
.”
Figure 4.5 Fuzzy set membership vs. probability.
Figure 4.6 Information from the backs of the bottles.
Figure 4.7 Basic fuzzy set symbols.
Figure 4.8 Four basic logical operations.
Figure 4.9 Basic universe of discourse with two subsets.
Figure 4.10 Viewing a movie.
Figure 4.11 Expressing an opinion‐1, 2.
Figure 4.12 Expressing an opinion‐3.
Figure 4.13 Expressing an opinion‐4.
Figure 4.14 Simple crisp and fuzzy adult membership functions.
Figure 4.15 Linear increasing and decreasing fuzzy membership functions.
Figure 4.16 Degree of membership.
Figure 4.17 Linear increasing and decreasing fuzzy membership functions.
Figure 4.18 Increasing and decreasing fuzzy membership functions.
Figure 4.19 Basic linear and bell‐shaped fuzzy membership functions around 5...
Figure 4.20 Basic linear membership functions around and restricted domains....
Figure 4.21 Universe of discourse.
Figure 4.22 Set of support.
Figure 4.23 Sigmoid membership curves growth and decline.
Figure 4.24 PI membership curve.
Figure 4.25 Beta membership curve.
Figure 4.26 Gaussian membership curves.
Figure 4.27 Simple membership functions.
Figure 4.28 Using a membership function.
Figure 4.29 Using a membership function.
Figure 4.30 Using a membership function.
Figure 4.31 Using membership functions.
Chapter 5
Figure 5.1 Evolution of language.
Figure 5.2 Simple communication.
Figure 5.3 Complex communication.
Figure 5.4 No communication.
Figure 5.5 Set membership.
Figure 5.6 Subset membership.
Figure 5.7 Boolean union/OR.
Figure 5.8 Boolean intersection/AND.
Figure 5.9 The variable number.
Figure 5.10 Subsets of the set number.
Figure 5.11 Fuzzy set.
Figure 5.12 Graph of red color linguistic variable.
Figure 5.13 Tall membership function.
Figure 5.14 Tall and very tall membership functions.
Figure 5.15 Tall and more or less tall membership functions.
Chapter 6
Figure 6.1 Membership function graph for resistor size.
Figure 6.2 Membership function for wine Quality vs. Aging.
Figure 6.3 Entailment and containment.
Figure 6.4 Set, subset, member hierarchy.
Figure 6.5 Entailment and containment.
Figure 6.6 A union.
Figure 6.7 Not a union.
Figure 6.8 The union of two fuzzy subsets.
Figure 6.9 Intersection of two fuzzy subsets.
Figure 6.10 Universe of discourse S.
Figure 6.11 Basic universe of discourse S.
Figure 6.12 Membership function for transistor leakage.
Figure 6.13 Cartesian cross product A × B.
Figure 6.14 Conditioned fuzzy subsets.
Figure 6.15 Applying Relation R to Set X.
Figure 6.16 MAX‐MIN composition of a fuzzy subset and a fuzzy relation.
Figure 6.17 MAX‐MIN composition of two fuzzy subsets.
Figure 6.18 Max‐product composition of two fuzzy subsets.
Figure 6.19 Approximately Equal over a Set.
Chapter 7
Figure 7.1 A simplified fuzzy system.
Figure 7.2 Possible membership values in a crisp logic system.
Figure 7.3 Possible membership values in a fuzzy logic system.
Figure 7.4 Membership functions.
Figure 7.5 Velocity degree of membership.
Figure 7.6 Trapezoidal membership function.
Figure 7.7 Membership function features.
Figure 7.8 Fuzzy system – high‐level view
Figure 7.9 Mamdani's implication function.
Figure 7.10 Larsen's implication function.
Figure 7.11 Winter driving dilemma.
Figure 7.12 Winter driving dilemma continued.
Figure 7.13 Winter driving dilemma continued max criterion defuzzification....
Figure 7.14 Winter driving dilemma continued mean of maximum criterion defuz...
Figure 7.15 Winter driving dilemma continued center of gravity defuzzificati...
Figure 7.16 Grand prix driver dilemma.
Figure 7.17 A simplified controller system.
Figure 7.18 A temperature controller block diagram.
Figure 7.19 Traditional temperature control membership function.
Figure 7.20 A temperature controller block diagram.
Figure 7.21 Temperature control membership functions.
Figure 7.22 Temperature control membership functions.
Figure 7.23 Queuing and delay at a turnstile.
Figure 7.24 Membership functions.
Figure 7.25 Output distribution.
Figure 7.26 Block diagram – automatic transmission design.
Figure 7.27 Membership functions.
Figure 7.28 Gear selection.
Figure 7.29 Block diagram – automatic transmission design.
Chapter 8
Figure 8.1 System model – high level external view.
Figure 8.2 A simplified fuzzy system.
Chapter 9
Figure 9.1 Threshold logic gate.
Figure 9.2 Threshold gate disguised as an AND gate.
Figure 9.3 Threshold gate disguised as an OR gate.
Figure 9.4 Classic logic diagram.
Figure 9.5 Logical function.
Figure 9.6 Threshold gate final diagram.
Figure 9.7 Basic combinational logic circuits.
Chapter 10
Figure 10.1 Basic threshold device.
Figure 10.2 High‐level basic neuron schematic.
Figure 10.3 Basic artificial neuron schematic.
Figure 10.4 AND, OR, NOT, NOR, inhibit gate configurations.
Figure 10.5 AND, OR, NOT, NOR, INHIBIT weighted gate configurations.
Figure 10.6 Simple McCulloch–Pitts neuron network.
Figure 10.7 Basic perceptron schematic.
Figure 10.8 Single and multi‐layer perceptrons.
Figure 10.9 Basic perceptron models with and without bias.
Figure 10.10 Linear activation function effect of a threshold signal.
Figure 10.11 Linear.
Figure 10.12 Threshold.
Figure 10.13 Unit step.
Figure 10.14 Piecewise linear.
Figure 10.15 ReLU.
Figure 10.16 Single‐neuron system schematic.
Figure 10.17 Closed‐loop feedback control system.
Figure 10.18 Perceptron weight layer.
Figure 10.19 Summed input signals.
Figure 10.20 Activation function.
Figure 10.21 Feedback support.
Appendix A
Figure A.1 The system and its environment.
Figure A.2 The interface between the customer and the design process.
Figure A.3 The system and its environment – Step 0.
Figure A.4 The system and its environment – Step 1.
Figure A.5 Refining the system specification
Figure A.6 The system and Its environment – Step 2.
Figure A.7 The system as an aggregation of components
Figure A.8 The customer, the requirements, the design, and the engineer.
Appendix B
Figure B.1 The UML use case diagram.
Figure B.2 Use case diagram for a simple data acquisition system.
Figure B.3 Writing a use case description.
Figure B.4 Class diagram.
Figure B.5 UML inheritance diagram.
Figure B.6 Representing an interface.
Figure B.7 Representing the aggregation relationship.
Figure B.8 Representing the composition relationship.
Figure B.9 The call and return interaction diagram.
Figure B.10 The create and destroy interaction diagram.
Figure B.11 The send interaction diagram.
Figure B.12 Principal components of the UML sequence diagram.
Figure B.13 Sequence diagram for making a time interval measurement.
Figure B.14 UML fork and join diagram..
Figure B.15 UML branch and merge diagram.
Figure B.16 UML activity diagram.
Figure B.17 UML events.
Figure B.18 Possible transitions in an UML state chart.
Figure B.19 Transitions with guard conditions in a UML state chart.
Figure B.20 Composite states in a UML state chart
Figure B.21 Expressing a history substate in a UML state chart.
Figure B.22 Expressing concurrent substates in a UML state chart.
Figure B.23 Expressing a data source or sink.
Figure B.24 Expressing a data store.
Figure B.25 Capturing the data and control flow in an imaging system.
Figure B.26 A hierarchical data and control flow diagram in an input/output ...
Figure B.27 Building a basic eye diagram.
Figure B.28 A basic eye diagram.
Figure B.29 Signal aperture time.
Cover Page
Title Page
Copyright Page
Dedication Page
Preface
Acknowledgments
About the Author
Introduction
Table of Contents
Begin Reading
Appendix A Requirements and Design Specification
Appendix B Introduction to UML and Thinking Test
Bibliography
Index
Wiley End User License Agreement
iii
iv
v
xiii
xiv
xv
xvi
xvii
xviii
xix
xx
xxi
xxiii
xxv
xxvi
xxvii
xxviii
xxix
xxx
xxxi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
257
258
259
260
261
263
264
265
266
267
268
269
270
271
272
273
James K. Peckol
Principal Lecturer Emeritus, Department of Electrical and Computer Engineering, University of Washington, Seattle, WA, USA
and
President, Oxford Consulting, Ltd, Seattle, WA, USA
This edition first published 2021© 2021 John Wiley & Sons Ltd
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by law. Advice on how to obtain permission to reuse material from this title is available at http://www.wiley.com/go/permissions.
The right of James K. Peckol to be identified as the authors of this work has been asserted in accordance with law.
Registered Office(s)John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, USAJohn Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, UK
Editorial OfficeThe Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, UK
For details of our global editorial offices, customer services, and more information about Wiley products visit us at www.wiley.com.
Wiley also publishes its books in a variety of electronic formats and by print‐on‐demand. Some content that appears in standard print versions of this book may not be available in other formats.
Limit of Liability/Disclaimer of WarrantyIn view of ongoing research, equipment modifications, changes in governmental regulations, and the constant flow of information relating to the use of experimental reagents, equipment, and devices, the reader is urged to review and evaluate the information provided in the package insert or instructions for each chemical, piece of equipment, reagent, or device for, among other things, any changes in the instructions or indication of usage and for added warnings and precautions. While the publisher and authors have used their best efforts in preparing this work, they make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives, written sales materials or promotional statements for this work. The fact that an organization, website, or product is referred to in this work as a citation and/or potential source of further information does not mean that the publisher and authors endorse the information or services the organization, website, or product may provide or recommendations it may make. This work is sold with the understanding that the publisher is not engaged in rendering professional services. The advice and strategies contained herein may not be suitable for your situation. You should consult with a specialist where appropriate. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
Library of Congress Cataloging‐in‐Publication Data
Name: Peckol, James K., author. | John Wiley & Sons, publisher.Title: Introduction to fuzzy logic / James K. Peckol.Description: Hoboken, NJ : Wiley, 2021. | Includes bibliographical references and index.Identifiers: LCCN 2021011123 (print) | LCCN 2021011124 (ebook) | ISBN 9781119772613 (cloth) | ISBN 9781119772620 (adobe pdf) | ISBN 9781119772637 (epub)Subjects: LCSH: Fuzzy logic. | Fuzzy sets. | Logic, Symbolic and mathematical.Classification: LCC QA9.64 .P43 2021 (print) | LCC QA9.64 (ebook) | DDC 511.3/13–dc23LC record available at https://lccn.loc.gov/2021011123LC ebook record available at https://lccn.loc.gov/2021011124
Cover Design: WileyCover Image: © Rasi Bhadramani/iStock/Getty Images
To my family: Near and Extended, Close and Distant,Present and Departed, So Similar,So Different, So Known, So Surprising …especially to our youngest brother Karl,taken from us out of season during the last voyageof the Edmund Fitzgerald.
Let's begin with these questions: “Exactly what is fuzzy logic?” “Why is the logic called fuzzy?” “Who might use fuzzy logic?” These are very good questions. People may have heard something about fuzzy logic and other kinds of logic but may not be quite sure what these terms mean or quite understand the applications.
Does fuzzy logic mean that someone's comment in a discussion is very confused? Let's try to answer that question and several of the other more common ones over the course of this text by starting with some simple fuzzy examples.
Our daily language is often routinely fuzzy; yet most of the time we easily understand it. Let's start by looking at some familiar expressions from our everyday exchanges.
Where did you park the car?
I parked up close to the front door of the building.
Please put the box in the trunk of the car.
I can't lift it. It's very heavy.
Are we close to the city yet?
We're roughly about thirty minutes away.
Is that shower warm?
It's very, very hot.
Is he tall?
Yes, he's very, very tall.
Is she smart?
Trust me, she's incredibly smart.
Each of the responses to the questions above is somewhat vague and imprecise yet, for the most part, each provides a reasonable answer that is probably well understood. Each expression in italics is called a fuzzy
linguistic variable rather than a crisp real number or a simple “yes” or “no.” The expressions give a high‐level view of fuzzy logic or fuzzy reasoning. Accompanying such reasoning we also find threshold logic and perceptrons, which model the brain.
In daily life, we find that there are two kinds of imprecision: statistical and nonstatistical. Statistical imprecision is that which arises from such events as the outcome of a coin toss or card game. Nonstatistical imprecision, on the other hand, is that which we find in expressions such as “We're roughly about thirty minutes away.” This latter type of imprecision is what we call fuzzy.
Children learn to understand and to manipulate such instructions at an early age. They quite easily understand phrases such as “Be home by around 5:00.” Perhaps children understand too well. They are adept at turning such a fuzzy expression into one that is also fuzzy. When they arrive home shortly after 6:00, they argue that 6:00 is about 5:00.
As we note, humans are quite facile at understanding fuzzy expressions and linguistic variables. For a computer, however, the opposite is true. With fuzzy logic, threshold logic, and perceptrons, increasingly both computer hardware and software are evolving to more challenging and interesting areas of logic such as neural networks, machine learning, and artificial intelligence.
Despite its amusing and seemingly contradictory name, fuzzy logic is not a logic that is fuzzy. On the contrary, fuzzy logic is a way of capturing the vagueness and imprecision that are so common in everyday human language. This capturing of vagueness and imprecision is also found in threshold logic and has significant application in artificial neurons called perceptrons. Capturing and representing the vagueness and imprecision of everyday language in terms that a computer can understand and work with is one of the objectives of fuzzy logic.
The computers we are all so familiar with operate using classical or crisp logic. Classical logic, around since Aristotle, divides the world into precise, nonoverlapping groups such as: yes–no, up–down, true–false, black–white, etc. Like a light bulb that can only be on or off, a classical logic statement can only be true or false. Those of you who have just said, “Wait a minute, what if the light's on a dimmer?” have just taken the first step to understanding fuzzy logic, threshold logic, and perceptrons. Like the light on a dimmer, a fuzzy logic statement can also be completely true or completely false, but it can also be partially true or partially false.
Fuzzy logic is simply a flexible variation and extension of classical logic. Fuzzy logic can represent statements that are completely true or false, and it can also represent those that are partially true. Classical logic lives in a black‐and‐white world. Fuzzy logic, threshold logic, and perceptrons, like humans, admit shades of gray. This ability to represent degrees of truth makes such tools very powerful for representing vague or imprecise ideas. We can now say, for example, that the tolerance on one capacitor is tighter than that on another or one program runs faster than another and not be concerned about specific values.
It is often all too easy to hack together a one‐off crisp logic application that appears to work. Trying to replicate a million or more copies of such a design (with elastic timing constraints, variable path impedance, or flexible data values) very quickly runs into the real‐world gremlins that are waiting for us. A solid, secure, robust, reliable design must always be based on the proven underlying theory, a thorough problem analysis, and a disciplined development approach. Such methods are growing increasingly important as we continue to push the envelope of designs that are impacting the daily lives of an ever‐increasing number of people.
This book takes a developer's perspective to first refreshing the basics of classic or crisp logic, teaching the concept of fuzzy logic, then applying such concepts to approximate reasoning systems such as threshold logic and perceptrons. This book examines, in detail, each of the important theoretical and practical aspects that one must consider when designing today's applications.
These applications must include the following:
The formal hardware and software development process (stressing safety, security, and reliability)
The digital and software architecture of the system
The physical world interface to external analog and digital signals
The debug and test throughout the development cycle and finally
Improving the system performance
The Introduction gives an overview of the topics covered in the book. These topics include some of the vocabulary that is part of the fuzzy logic, threshold logic, and perceptron worlds. The Introduction also includes a bit of background and history, applications where such tools can be used, and a few contemporary examples.
With the preliminary background set, the next two chapters introduce some of the early work that provided the foundation for fuzzy logic, the reasoning process for solving problems, and a brief review of the essentials of classic or crisp logic.
Chapter 1 presents some of the early views on reality, learning, logic, and reasoning that founded the first classic laws of thought that ultimately laid the foundations for fuzzy logic. Working from these fundamentals, the chapter introduces and discusses the basic mathematics and set theory underlying crisp and fuzzy logic and examines the similarities and differences between the two forms of logic. The chapter concludes with the introduction and study of fuzzy membership functions.
Chapter 2 opens with an introduction of the fundamental concepts of crisp logic underlying a classic algebra or algebraic system. The study follows with a review of the basics of Boolean algebra. We then introduce the concept and purpose of a truth table and demonstrate algebraic proofs using such tables. We then learn that the entries in such a table are called minterms and that a minterm is a binary aggregate of logical 0s and 1s that sets the logical value, true or false, of single cell entries in truth tables.
Next the K‐Map is introduced and reviewed as a pictorial tool for grouping logical expressions with shared or common factors. Such sharing enables the elimination of unwanted variables thereby simplifying a logical expression. These studies introduce and teach the groundwork for relaxing the precision of classic logic and the concepts and tools similar to those that we'll apply and work with in the worlds of fuzzy logic, threshold logic, and perceptrons.
Building on the work of those who opened the path and set the trail for us, the next two chapters introduce and study the fundamental concepts, properties, and operations of sets and set membership first for classic sets and then for fuzzy sets.
Chapter 3 introduces the fundamental concept of sets, focusing on what are known as classical or crisp sets. The chapter begins with an introduction of some of the elementary vocabulary and terminology and then reviews the principle definitions and concepts of the theory of ordinary or classical sets. The concepts of subsets and set membership are then presented and explored. Set membership naturally leads to the concept of membership functions.
With the fundamentals of sets and set membership established, we study the basic theory of classic or crisp logic. We then move to the details of the properties and logical operations of using crisp sets and of developing crisp membership applications. Crisp sets and crisp membership applications are a prelude to the introduction of fuzzy logic, fuzzy sets, fuzzy set membership, and threshold logic.
Chapter 4 moves to the fuzzy world introducing and focusing on what are termed fuzzy sets. The chapter reviews some of the principle definitions and concepts of the theory of ordinary or classical sets and illustrates how these are identical to fuzzy subsets when the degree of membership in the subset is expanded to include all real numbers in the interval [0.0, 1.0]. We learned that vagueness and imprecision are common in everyday life. Very often, the kind of information we encounter may be placed into two major categories: statistical and nonstatistical.
The fundamental fuzzy terminology is presented and followed by the introduction of the basic fuzzy set properties and applications. With properties and applications understood, the focus shifts to membership functions and the grade of membership. Up to this point, data has been expressed in numerical form. Often a graphical presentation is a more effective and convenient tool. Such graphs can be expressed in both linear and curved graphical format.
Chapter 5, we begin this chapter with a look at early symbols and sounds and their evolution to language and knowledge. Building on such origins, we introduce the concept of sets and move into the worlds of formal set theory, Boolean algebra and introduce crisp variables.
From the crisp world, we migrate into the fuzzy world and introduce the concept and term linguistic variable as a variable whose values are words or phrases in a natural (or synthetic) language rather than real numbers. Such words are interpreted as representing labels on fuzzy subsets within a universe of discourse, which refers to a collection of entities that are currently being discussed, analyzed, or examined.
We learn that the values for a linguistic variable are generated from a set of primary terms, a collection of modifiers called hedges, and a collection of connectives. Hedges affect the value of a linguistic variable by either concentrating or diluting the membership distribution of the primary terms. We learn that concentrating or diluting a membership distribution can be very clearly represented graphically as discussed in Chapter 4.
We conclude with a discussion of the purpose, creation and use, and manipulation of hedges.
Chapter 6 introduces the concepts of fuzzy inference and approximate reasoning. As part of developing an effective reasoning methodology, we introduce and demonstrate the fundamental concepts and various relationships of equality, containment and entailment, conjunction and disjunction, and union and intersection among sets and subsets.
We stress that for engineers, reasoning is an essential and significant element of effective design and the successful solution to problems. We also introduce and demonstrate a variety of relationships between and among fuzzy sets and subsets as an important part of that whole process.
We conclude with the inference rules, modus ponens and modus tollens, which govern deduction and abduction, the forward and backward reasoning processes.
Chapter 7 introduces and extends the crisp world development process into the fuzzy world. The first step effectively applies the fuzzification process to extend crisp world data and basic knowledge of fuzzy world fundamentals into the domain of fuzzy system design and development. The fuzzy design process is then illustrated through its application in the design and development of several basic systems. The closing step, called defuzzification, is then applied to return crisp data to the real world.
Chapter 8, we open the chapter with a summary of the growing strengths and major attractions of fuzzy logic. We identify two of the major attractions. The first attraction is fuzzy logic's ability to facilitate expressing problems in linguistic terms. The second is its ability to support applications in the areas where a designer can encounter vagueness and where the numerical mathematical model of a system may be too complex or impossible to build using conventional techniques.
We then introduce and present a formal approach to fuzzy logic design. We point out that a fundamental and essential key to any successful design process is that knowing and understanding the problem and recognizing potential hazards that might occur during the design process. We stress that without such knowledge, one cannot and should not proceed with a design until such issues are rectified. In addition, we recommend periodic design reviews throughout the design process and stress the performance of failure modes, effects, and criticality analysis (FMECA) testing.
We then introduce and walk through the execution of the major steps in a formal design methodology. In particular, we refer to the requirements and design documentation in Appendix A and the Unified Modeling Language tools and touch on text in Appendix B.
Chapter 9, as we now move forward, we introduce and explore two tools that build on and extend the knowledge gained from crisp and fuzzy logic: threshold logic and perceptrons. The incorporated features ultimately make important contributions to the foundation of advanced tools called neural networks, machine learning, and artificial intelligence.
Threshold logic brings into the world of digital logic design the ability to alter the value of input signals using what are designated as weights. The logic also introduces the capability to set a threshold that the summed weighted inputs need to exceed to assert a true output. Although effective with most logical operations, the threshold devices fail at the implementation of the exclusive OR.
Chapter 10, we open the chapter with an introduction to the architecture of the threshold logic device, which is a basic building block at the heart of what is called a perceptron. The perceptron is also known as an artificial neuron. Starting with a high‐level model of the basic biological neuron, we introduce the vocabulary describing the elementary components of the device.
From there, we move to the McCulloch–Pitts (MCP) artificial neuron and illustrate possibilities of implementing the fundamental logic devices using the MCP model. We then bring in the concept of weights from threshold logic and discuss, develop, and implement an MCP neuron network. The next step is to introduce and present the basic perceptron. We walk through each of the major functional blocks from inputs to output in the basic perceptron and also point out potential implementation and operational concerns and possible solutions of which to be aware.
We then present and describe perceptron learning and develop the learning rule. The chapter concludes with a presentation of the essential steps for testing the perceptron.
Two supporting appendices are included. The first provides an introduction to the preparation of formal Requirements Specifications and Design Specifications. The second provides a tutorial of the Unified Modeling Language (UML) and associated tools and some important issues to consider in the testing process.
AppendixA introduces the traditional product development life cycle and stresses the need to thoroughly understand both the operating environment and the system being designed. Further stressed is the difference between a requirements specification and a design specification. Design is only one element of product development. Each design must also be thoroughly tested to confirm and ensure that it meets specified requirements and national and international standards within its operating environment.
AppendixB introduces and provides an overview of the Unified Modeling Language and associated diagrams. The major static diagrams and the utility of each are presented and discussed. Of particular importance are the class and use case diagrams. The need for dynamic modeling is also presented. In addition, important test considerations are introduced.
This appendix also restresses the need for serious system test and the test process. It also provides a brief outline and summary of the key elements and components of a design that potentially can cause (serious) problems during operation and therefore should be considered and closely and carefully examined during the test process.
The book is intended for students with a broad range of background and experience and also serves as a reference text for those working in the fields of electrical engineering and computer science. The core audience should have at least one quarter to one semester of study in Boolean algebra and crisp logic design, facility with a high‐level programming language such as C, C++, or Java, and some knowledge of logic devices and operating systems, and should be an upper‐level junior or senior or lower‐level graduate student. Some background in formal system design, test, embedded systems, and analog fields would also be helpful.
This book can be a valuable tool for students in the traditional undergraduate electrical engineering, computer engineering, or computer science programs as well as for practicing engineers who also wish to review the basic concepts in these programs. Here, students may study the essential aspects of the development of contemporary fuzzy, neural, and approximate reasoning systems.
Students are also given a solid presentation of hardware and software architecture fundamentals, a good introduction to the design process and the formal methods used therein (including safety, security, and reliability). They are also given a comprehensive presentation of the interface to local and distributed external world devices and guidance on how to debug and test their designs.
Key to the presentation is a substantial number of worked examples illustrating fundamental ideas as well as how some of the subtleties in application go beyond basic concepts. Each chapter opens with a list of Things to Look For that highlights the more important material in the chapter and concludes with review questions and thought questions.
The review questions are based directly on material covered in the chapter and mirror and expand on the Things to Look For list. The questions provide students a self‐assessment of their understanding and recall of the material covered. Though based on the material covered in the chapter, the thought questions extend the concepts as well as provide a forum in which students can explore, discuss, and synthesize new ideas based on those concepts with colleagues.
The text is written and organized much as one would develop a new system, i.e. from the top‐down, building on the basics. Ideas are introduced and then revisited throughout the text, each time to a greater depth or in a new context.
Safety, security, and reliability are absolutely essential components in the development of any kind of system and system design process today. Such material is not an integral component in this text but should be stressed as companion technology.
As we stated in the opening of this Preface, finding a good balance between depth and breadth in today's approximate reasoning systems is a challenge. To that end, a couple of decisions were made at the outset. First, the text is not written around a specific microprocessor or software language. Rather, the material is intended to be relevant to (and has been used to develop) a wide variety of applications running on many different kinds of processors. Second, the artificial intelligence field and approaches to approximate reasoning are rapidly changing even as this sentence is being typed and read. In lieu of trying to pursue and include today's latest technologies, the focus is on the basics that apply to any of the technologies. The underlying philosophy of this book is that the student is well‐grounded in the fundamentals will be comfortable working with and developing state‐of‐the‐art systems using the newest ideas. Ohm's law hasn't changed for many years; the fields of computer science and electrical and computer engineering have and are.
The core material has been taught as a one‐quarter, senior‐level course in fuzzy logic development in several universities around the world. Based on student background, the text is sufficiently rich to provide material for a two‐to‐three‐quarter or two‐semester course in fuzzy logic and approximate reasoning systems development at the junior to senior level in a traditional four‐year college or university engineering program.
Beyond the core audience, the sections covering the assumed foundation topics can provide a basis on which the student with a limited hardware or software background can progress through the remainder of the material. The logic and software sections are not sufficiently deep to replace the corresponding one‐ or two‐quarter courses in the topics. For those with adequate background in such areas, the material can either be skipped or serve as a brief refresher.
Over the years, as I've collected the knowledge and experiences to bring this book together, there have been many, many people with whom I have studied, worked, and interacted. Our discussions, debates, and collaborations have led to the ideas and approach to design presented on the pages that follow.
While there are far too many to whom I owe a debt of thanks to try to list each here, I do want to give particular thanks to David L. Johnson, Corrine Johnson, Greg Zick, Tom Anderson, David Wright, Gary Anderson, Patrick Donahoo, Dave Bezold, Steve Swift, Paul Lantz, Mary Kay Winter, Steve Jones, Kasi Bhaskar, Brigette Huang, Jean‐Paul Calvez, Gary Whittington, Olivier Pasquier, Charles Staloff, Gary Ball, John Davis, Patrick F. Kelly, Margaret Bustard, William and Betty Peckol, and Donna Karschney for all they've done over the years. William Hippe, Alex Talpalatskiy, and my brother William Peckol, who have all spent many hours proofreading, commenting, and making valuable suggestions to improve the early, working versions of the text, deserve a special thank you. From John Wiley, I want to thank Sandra Grayson who supported the original idea of publishing this text and especially Louis Manoharan (Project Editor) and Kanchana Kathirvelu (Production Editor), both of whom helped to guide the manuscript through the editing and production phases, and the unknown copyeditors, compositors, and others whose efforts on and contributions to this project have been invaluable.
In any project, design reviews are an essential part of producing a quality product. I wish to express my appreciation and thanks to this project's many reviewers for their evaluations and constructive comments, which helped guide its development.
I want to extend special thanks to my family William, Suzanne, Joe, Paulette, Karl, and Lori, and to my daughters Erin and Robyn, and grandchildren Kyleen, Jordan, and Tara.
Finally, I extend a thank you to my many teachers, friends, colleagues, and students who I've had the pleasure of knowing and working with over the years.
James K. Peckol, Ph.D., is a Principal Lecturer Emeritus in the Department of Electrical and Computer Engineering at the University of Washington, Seattle, USA, where he has been named Teacher of the Year three times and Outstanding Faculty twice. He is also the founder of Oxford Consulting, Ltd., a product design and development consulting firm. The author is a member of Tau Beta Pi, Who’s Who in the World, Who’s Who in Science and Engineering, and has been presented with the Marquis Who’sWho Lifetime Achievement Award.
His background spans over 50 years as an engineer and educator in the fields of software, digital, medical, and embedded systems design and development. Also, the author has published first and second editions of the book Embedded Systems: A Contemporary Design Tool.
As an engineer in the aerospace, commercial, and medical electronics industries, the author has worked on and contributed to the design and development of test systems for military aircraft navigation systems and radar systems, the Apollo color camera, various weather satellites, the Mars VikingLander, flight control systems for a number of commercial aircraft, production of high‐quality electronic test instruments and measurement systems, and several defibrillation systems. Academic experience spans more than 25 years of developing and teaching software, digital design, fuzzy logic, approximate reasoning, networking, and embedded systems design courses for students from academe and industry with experience ranging from limited hardware or software backgrounds to those at the junior, senior, graduate, and industrial levels.
The topics that will be covered in the book.
Important first steps when beginning a new design.
Some of the strengths, applications, and advantages of fuzzy logic.
The differences between crisp and fuzzy logic.
Is fuzzy logic a newly developed technology?
Who is using fuzzy logic?
Should fuzzy logic be used for all designs?
Should a fuzzy system be implemented in hardware or software?
Where might tools called perceptrons and threshold logic be used?
What should we do after we have designed and built the hardware and firmware for our system?
This section begins with some personal philosophy about fuzzy logic, fuzzy systems, and other devices. It begins with what fuzzy logic is and presents some introductory questions and answers about the field. It compares and contrasts fuzzy logic with the traditional classic or crisp logic and concludes with a high‐level view of the basic design and development process and potential applications for both approaches. In addition to fuzzy logic, this text provides a brief review of classical logic and presents and discusses the related areas of threshold logic and artificial neurons also termed perceptrons.
The chapters ahead bring us into the interesting world of threshold logic, fuzzy logic, and perceptrons. Welcome. The approach and views on solving engineering problems presented in this work reflect things that I have learned throughout my career. Yours will probably be a bit different, particularly as you learn and develop your skills and as the technology evolves. My approach has been augmented by the views and approaches of many very creative engineers, scientists, mathematicians, and philosophers dating back centuries.
We see here the two main themes that will be interwoven through each of the chapters ahead. With each new design, our first look should be from the outside. What are we designing? How will people use it – what is its behavior? What effect will it have on its operating environment – what are the outputs? What will be the effect of its operating environment on it – what are its inputs? How well do we have to do the job – what are the constraints?
We want to look at the high‐level details first and then go on to the lower. We can borrow the idea of the public interface (an outside view) to our system from our colleagues working on object‐centered designs. Our first view should be of the public interface to our system – we should view it from the outside and then move to the details inside.
We'll open this book by introducing fuzzy logic. Along our path, we use, design, and develop tools, techniques, and knowledge from just about every other discipline in electrical engineering and computing science.
OK, let's start. Other than an interesting name, exactly what is fuzzy logic? Many people have heard something about fuzzy logic but are not quite sure what it is, what it means, or what's fuzzy about it. Let's try to answer those questions and several of the other more common ones.
Despite its amusing and seemingly contradictory name, fuzzy logic is not a logic that is fuzzy. Exactly the opposite is true. It is a way of capturing the vagueness and imprecision that are so common in our everyday languages and thinking. Capturing and representing such vagueness and imprecision in terms that a computer or learning system can understand and work with becomes the challenge.
Fuzzy logic can represent statements that are completely true or false, and it can also represent those that are partially true and/or partially false. Classical crisp logic lives in a black‐and‐white, “yes” and “no” world. Fuzzy logic admits shades of gray. Such an ability to represent degrees of truth using what are called hedges and linguistic variables makes fuzzy logic very powerful for representing vague or imprecise ideas.
Not really. Although fuzzy logic has been generating a lot of interest in this country recently, it is far from new. Lotfi Zadeh (1965), of the University of California at Berkeley, proposed many of the original ideas when he published his first famous research paper on fuzzy sets in 1965. Japanese companies have been using fuzzy logic for over 50 years. They have been granted over 2000 patents and have designed fuzzy logic into hundreds of products ranging from elevator and traffic control systems to video cameras and refrigerators.
One frequently cited example is a one‐button washing machine. This machine senses the size of the load of clothes, the amount and type of dirt and then selects the proper quantity of soap, water level, water temperature, and washing time. Fuzzy logic has also been applied to the classic driverless truck‐backer‐upper problem and automatic flight control for helicopters.
Companies in the United States utilizing fuzzy logic in contemporary designs include Eaton Industrial Controls, Motorola, NCR, Intel, Rockwell, Togai InfraLogic, NASA, Gensym, Allen‐Bradley Co., General Electric, and General Motors. Some of the fields using fuzzy logic–related technologies include linear and nonlinear control, data analysis, pattern recognition, operations research, and financial systems.
The list of companies outside of the United States becoming involved in developing products that use fuzzy logic or in producing tools for designing fuzzy logic systems is growing at rapid rate.
Fuzzy logic works very well in conjunction with other technologies. In particular, it provides accurate responses to ambiguous, imprecise, or vague data. Because fuzzy logic allows ideas to be expressed in linguistic terms, it offers a formal mathematical system for representing problems using familiar words.
As a result, fuzzy logic has proven to be a powerful and effective tool for modeling systems with uncertainties in their inputs or outputs or for use when precise models of a system are either unknown or extremely complex.
Perhaps, however, you should not use fuzzy logic in those systems for which you already have a good or optimal solution using traditional methods. If there is a simple and clearly defined mathematical model for the system, use it. Fuzzy logic, like any other tool, must be used properly and carefully.
Fuzzy logic has been found to give excellent results in several general areas. The most common usage today is in systems for which complete or adequate models are difficult to define or develop and in systems or tasks that use human observations as input, control rules, or decision rules.
The Hitachi's control system for the Sendai subway near Tokyo and Matsushita's one‐button washing machine are very good examples. A fuzzy logic approach also works well in systems that are continuous and complex and that have a nonlinear transfer function or in which vagueness is common.
Nothing. Fuzzy logic does not replace your existing tools; it gives you an additional one. Fuzzy logic simplifies the task of representing and working with vague, imprecise, or ambiguous information often common in human speech, ideas, or reasoning. It provides a means for solving a set of problems that have been difficult or impossible to solve using traditional methods. Consider working examples such as automatic flight control for a helicopter, or the precise management of the freezing of fish in a home freezer.
Either one. Good tools and solutions are available for hardware and software. However, today fuzzy logic is essentially a “software type” technology and should probably be considered and evaluated that way. This is good news to us as designers. It means that we should be able to take advantage of all that we've learned about developing good software and hardware systems and apply it to developing good fuzzy logic solutions.
As with software, continuous technological improvements will ensure a migration of fuzzy logic into hardware. Hardware solutions may certainly run faster, but software solutions are more flexible and do offer a hedge against the possible unavailability of parts. Such systems, as we'll see, also have the ability to learn. Whichever approach is finally selected, one still needs to go through the rigorous process of analyzing the product under development, making the same trade‐offs we have always made, and thoroughly testing the resulting design and product for safety and reliability.
As we now move forward, we introduce and explore two tools that build on and extend the knowledge gained from crisp and fuzzy logic. These tools are called threshold logic and perceptrons. Threshold logic builds on and extends the capability of the traditional combinational logic gates. The incorporated features ultimately make important contributions to the foundation of advanced tools called neural networks, machine learning, and artificial intelligence.
We move next to a very fascinating device called a perceptron. This device is also known as an artificial neuron. The perceptron incorporates capabilities from both fuzzy logic and threshold logic and includes the capability to learn. Starting with a high‐level model, we introduce the vocabulary describing the elementary components and capabilities of the device. From there, we move to the McCulloch–Pitts (MCP) artificial neuron, which we will examine and then implement a basic model. We also illustrate implementing fundamental classic logic devices using the MCP model.
Once we design and build the hardware and firmware for our system, we move to confirming that it works. To support that process from its beginning, we include two appendices that introduce and present how to write solid Requirements and Design Specifications and to outline the fundamental functionality of your design.
We introduced the design and development tools called fuzzy logic, threshold logic, and perceptrons and presented a brief high‐level overview of how fuzzy logic compares with the traditional crisp logic and other possible sources of additional information. The topics discussed are contributing to and pushing the limits of several very interesting technologies.
The full book can provide a powerful tool for the student in the traditional undergraduate electrical engineering, computer engineering, or computing science programs as well as the practicing engineer.
Our goal in introducing the technologies and designing systems based upon those technologies covered in the book is to help people solve today's and tomorrow's interesting and challenging problems. We stress very strongly that the traditional design, test processes, and formal methods (particularly including safety and reliability) do not go away; rather they become more relevant as we move to ever‐increasingly complex systems.
As you work through the book, try to remember a couple of things. People use our products – our designs can affect people's lives. Once again, always do your best to make your designs as safe and as reliable as you can for each application. Remember too that the cost of a product isn't limited to the cost of the parts that make it up. We also have to consider costs of building, selling, supporting, and adding new features to your design.
Remember that good system designers and designs proceed using a minimum of six steps:
✓ Requirements Definition
✓ System Specification
✓ Functional Design
✓ Architectural Design
✓ Prototyping
✓ Testing
Finally, remember that our responsibility for a design doesn't end with design release. Also, we stress that a good, solid, and reliable design always begins with a firm foundation. Without that, everything we add later is fragile. Good luck, have fun, and learn from each design.
I.1
What is fuzzy logic and is it a new technology?
I.2
What are the differences between crisp or classic logic and fuzzy logic?
I.3
Can you site several applications where fuzzy logic is used?
I.4
What are some of the advantages of fuzzy logic?
I.5
What is a linguistic hedge and where would it be used?
I.6
What is threshold logic?
I.7
Where might threshold logic be used?
I.8
Can you explain what these applications are?
I.9
What are perceptrons?
I.10
It is claimed that a perceptron can learn. Can you propose what it should be learning and how that might be done?
I.1
Give two examples of systems that would benefit from fuzzy logic over crisp logic.
I.2
What are some of the more difficult problems that a fuzzy system might confront?
I.3
What criteria might you use to set values for a threshold in a threshold logic circuit?
I.4
Would the same criteria apply for setting a threshold in a perceptron‐based design?
I.5
What would be the advantage of a system that could learn?
I.6
What would some of your first steps be in starting a fuzzy logic design, a threshold logic design, or a perceptron logic design?
I.7
What do you think should be the criteria for specifying tests for a fuzzy logic design, a threshold logic design, or a perceptron logic design?
I.8
How would you propose debugging systems developed using such technologies?
I.9
What are the major categories of signals that the described systems would interface with in the external world?
I.10
