James K. Peckol

Introduction to Fuzzy Logic


Скачать книгу

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.

      Doing the Work

      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.

      Introducing Threshold Logic

      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.

      Moving to Perceptron Logic

      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.

      Appendix A 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.

      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