Поиск
Партнеры

Fuzzy expert systems and fuzzy reasoning Siler W., Buckley J.J.

Краткое описание

Siler W., Buckley J.J.
ISBN: 0-471-38859-9
Год: 2005
Издательство: John Wiley & Sons
Количество страниц: 424
Язык: Английский
Формат: DJVU / RAR

Формат файла: RAR

Полное описание

In this book, we will explore the emulation of human thought, capable of dealing with uncertainties, ambiguities, and contradictions.
We agree with Anderson (1993) that much human thought can be expressed in rules (Anderson, 1993). To handle uncertainties, ambiguities, and contradictions, we will use fuzzy systems techniques, implemented by a fuzzy expert system. We supply the fuzzy expert system language FLOPS with this book, so that the readers can actually use our supplied example programs and write their own programs.
An overwhelmingly important fact about human reasoning is that it is not a static process. Data are gathered; some preliminary hypotheses are advanced and tested; some of these may be rejected, and new hypotheses advanced; more data may be required, until finally some conclusion is reached. A computer program to emulate reasoning must proceed similarly. Unfortunately, in much mathematical description of the thought process the dynamic nature is lost. We cannot afford to make this error.
Expert systems are computer programs, designed to make available some of the skills of an expert to nonexperts. Since such programs attempt to emulate in some way an expert's thinking patterns, it is natural that the first work here was done in Artificial Intelligence (AI) circles. Among the first expert systems were the 1965 Dendral programs (Feigenbaum and Buchanan, 1993), which determined molecular structure from mass spectrometer data; Rl (McDermott, 1980) used to configure computer systems; and MYCIN (Shortliffe, 1976) for medical diagnosis. Since the middle 1960s there have been many expert systems created for fields ranging from space shuttle operations through intensive-care-unit patient alarm systems to financial decision making.
There is a variety of ways in which the problem of creating computer programs to act like an expert has been approached; a valuable reference is Jackson (1999). One of the earliest methods employs rule-based systems, which use "If. Then. " rules to represent the expert's reasoning process (if the data meet certain specified conditions, then take appropriate actions). Other approaches include semantic or associative nets (Quillian, 1968), frames (Minsky, 1975) and neural nets (Haykin, 1994), currently very popular in a wide variety of fields. Of these, clearly dominant are the complementary rule-based systems and neural net approaches.
Neural nets do not require that the thinking patterns of an expert be explicitly specified. Instead, two sets of data are required from the real world. These data include all the inputs to the system, and the correct outputs corresponding to these input values. The first data set or training set is used to train the neural network so that, as nearly as possible, the correct outputs are produced for each set of input values. The second data set or validation set is used after the neural net has been trained to make sure that correct answers are produced on different input data. An advantage of neural nets is that it is not necessary to extract the thinking patterns of the expert and to render these explicit. Disadvantages are that a substantial training set is required, and that while the neural net may produce reasonably correct answers, in general, we have little or no idea how it does this. Considerable work has been done on extracting rules from a trained neural net, but this work is not yet advanced to a very satisfactory state.
Rule-based systems require that the expert's knowledge and thinking patterns be explicitly specified. Usually two persons (or groups) develop a system. These are the domain expert, who knows how to solve the problem at hand but who is seldom acquainted with computer programming; and the knowledge engineer, who is thoroughly familiar with the computer technology involved and expert systems but who has little or no knowledge of the problem at hand. Obtaining this knowledge and writing proper rules is called the knowledge acquisition phase (Scott et al., 1991). After the system has been written, it must be tuned for accuracy using a tuning data set similar to the training set of a neural net, but usually much smaller. After tuning, a rule-based system must be validated in the same way as a neural net. Rule-based systems have two advantages. A large training set is usually not required, and since the expert's thinking is explicitly spelled out we now know how he thinks about the problem. They have the disadvantage that the knowledge acquisition phase may be difficult. A great advantage of fuzzy expert systems is that most rules can be written in language that the expert can directly understand, rather than in computer jargon; communication between domain expert and knowledge engineer is greatly eased.
Another advantage of rule-based expert systems is the potential ability of rule-based expert systems to learn by creation of new rules and addition of new data to the expert knowledge data base. Probably the first example of a rule-based expert system to rival human experts was DENDRAL, which deduced the molecular structure of organic compounds from knowledge about fragments into which the compound had been broken (Jackson, 1999, pp. 383 ff). One set of DENDRAL's programs worked directly with the data to produce candidate structures. An additional program, Meta-DENDRAL, worked directly with the DENDRAL rules to improve them and discover new rules, thus discovering new concepts about the data. Meta-DENDRAL was not itself written as a rule-based expert system, but the ability of a rule to generate new rules and new expert factual knowledge opens the possibility for writing expert systems that can create new rules and store new expert factual knowledge. This exciting possibility has not as yet been well explored, perhaps due to the common (and, we think, quite incorrect) assumption among conventional AI practitioners that expert systems are no longer to be considered as artificial intelligence.
Rules, called production rules or simply productions have a long history in computer science, ranging from the simple "if. then. " statements employed in such computer languages as BASIC, FORTRAN, and С to complex systems especially designed for processing rules such as the OPS family of languages by Charles Forgy (Brownston et al., 1985) and the AI language Prolog and its fuzzy version Fril (Baldwin et al., 1995). Their use in AI for psychological modeling was pioneered by Newell and Simon (1972), and in expert systems by a number of AI pioneers (Buchanan and Shortliffe, 1984). Certainly rule-based expert systems are capable of emulating human thought patterns that are well defined; they are also capable of emulating human learning, as we shall show. An appreciable body of thought, especially among cognitive psychologists, agrees (Anderson, 1993). Since the authors are deeply interested in the emulation of human thought, this book is concerned with rule-based expert systems.
The systems we describe require that the knowledge engineer/programmer learn three important new concepts: non-procedural data-driven languages; fuzzy systems theory (fuzzy logic, fuzzy sets, and fuzzy numbers); and a parallel language, rather than the conventional one-statement-at-a-time languages that dominate programming at the present.
Most of the systems we shall describe are data-driven and nonprocedural. Common computer languages (C, Fortran, Basic) are procedural; that is, program statements are executed in the order in which they appear, unless explicit transfers of control are executed. In data-driven rule-based programs, rules may be fired (executed), whenever the data permit and the rules are enabled; the sequence in which the rules appear in the program has little or nothing to do with the order in which they are executed.
The systems are based on fuzzy systems theory, and include data types new to most programmers: fuzzy sets, fuzzy numbers, and truth values. The use of discrete fuzzy sets permits convenient handling of ambiguities and contradictions. All data and rules are associated with truth values or confidences.
Finally, rules may be fired either sequentially, one rule at a time, or may be fired effectively in parallel. (Few programmers have any experience with parallel languages.)
The effect of these new concepts is a considerable increase in both power and speed of conventional expert systems, at the expense of some mind stretching.
The FTP site that accompanies this book has a complete demonstration version of a fuzzy expert system Integrated Development Environment (IDE) and run-time package, and a number of example programs. Whenever possible, we use extremely simple examples to illustrate the techniques involved. We hope the reader will not confuse simple with trivial. For example, in illustrating a blackboard system example programs will exchange one word of information; if we can exchange one word, we can exchange a dozen or a thousand. Our examples of programs that learn are equally simple.
Most books written for academic use concentrate on presenting didactic knowledge. This book, while presenting a fair amount of didactic knowledge, concentrates on teaching a skill: actually writing and debugging a fuzzy expert system. This is by no means an easy task. Learning how to construct a fuzzy expert system by reading a book is much like learning how to play tennis by reading a book; you have to play the game, hit keys, write and debug programs on the computer. The theory of fuzzy mathematics is highly advanced; with the exception of fuzzy control systems, the theory behind fuzzy expert systems for other than numeric outputs is quite ill developed. Much of the fuzzy expert systems theory in this book is original, and sometimes differs substantially from existing theory. For fuzzy reasoning, as distinct from fuzzy control (in which there are several excellent books), there is little literature to which we can refer, except for the work of William Combs, Earl Cox, James Baldwin and his colleagues and Nikola Kasabov; consequently, there are far fewer references listed than is usual in a technical book. We hope that the theory in this book will stimulate others to develop the theory of multistep fuzzy reasoning further.
The debt that those of us in the fuzzy field owe to Professor Lotfi Zadeh is incalculable; see Klir and Yuan (1996) for a selection of his most important papers, and Klir and Yuan (1995) for an exposition of the most important concepts in fuzzy systems theory. Not only did he originate the entire field and define its basic concepts many years ago, but also he continues through the years to challenge and inspire us with new ideas. We can only thank him and wish him many more productive years.

Файлы по теме
  • Algorithms Sedgewick R.
    This book is intended to survey the most important algorithms in use on computers today and to teach fundamental techniques to the growing number of people who are interested in becoming serious computer users It is appropriate for use as a textbook for a second, third or fourth course in computer science: after students have acquired some programming skills and familiarity with computer systems, but before they have specialized courses in advanced areas of computer science or computer applications
  • Структура и интерпретация компьютерных программ Абельсон Х.
    Программированием занимаются учителя, генералы, диетологи, психологи и родители Программированию подвергаются армии, ученики и некоторые виды обществ
  • Introduction to error-correcting codes Purser M.
    This book aims to be an introduction to the topic of error-correcting codes, a topic of major importance in digital communication whenever accuracy is critical There are several excellent specialist textbooks (and one or two almost unreadable ones) on the subject, in addition to innumerable articles and papers in the journals
  • Алгоритмический язык АЛГОЛ-60 Ершова А.П., Лаврова С.С., Шура-Бура М.Р.
    Брошюра содержит русский перевод новейших материалов, посвященных международному алгоритмическому языку АЛГОЛ-60 Це основу составляет официальное описание этого языка, составленное группой ученых и утвержденное советом Международной федерации по обработке информации (IFIP) в 1962 г
Файл скачан 1 раз
Голосовать за файл
 
 
Скачивание файлов доступно только зарегистрированным пользователям.
Комментарии к файлу

Написать ответ
Ваше имя

Ваш e-mail

Сообщение

Введите текст, который вы видите на картинке слева.

Регистр не важен. Нажмите, если не можете прочитать

Предварительный просмотр