artificial intelligence: a theoretical approach

2
Book reviews Introduction to switching theory and logical design F.J. Hill and G.R. Peterson Wiley, 1981, 3rd edn, 617pp., £16.30 ISBN: 0-471-04273-0 In 1968, Wiley published the first edition of Hill and Peterson's book on switching theory and logical design. The year happened to be the one that I decided to learn more about these subjects and the book became one of the two main books that I used to acquire a basic understanding (the other was Lewin's book on logic design). It is with some affection, therefore, that I looked at the 1981 (3rd) edition. Undoubtedly, the subject has matured since 1968 and this is reflected in the content of the book. What has gone is most of the 1968 material on threshold logic, and on codes and linear sequential circuits. What has come in, is new material on designs based on MSI and LSI devices (chapter 12) and further discussion on flip-flops and their timing relationships (chapter 15). Chaper 12 makes use of the hardware description language AHPL to link formal design techniques to realisations based on devices more complex than basic gates and flip-flops. The language is introduced in chapter 11, but has been described more fully in the authors' companion book 'Digital systems: hardware organisation and design' published by Wiley in 1978. The chapter is well-written and is the authors' counter to those who claim that switching theory has no place in modern design. My only comment is that the examples throughout this chapter illustrate quite clearly the value and mechanisms of a synthesis approach supported by a hardware description language. If anything, the value is undersold. For example, although the chapter contains a brief (3-page) section on testing, there is no comment on the value to a test-progammer of a concise and accurate description of the behaviour of a sequential circuit. Overall, the material in the book covers the subject of switching theory in a traditional sequence. Chapters 2 to 5 introduce the topics of number systems, truth functions, Boolean algebra and switching devices. The next four chapters apply these concepts to the design of combinational logic circuits, including implementation by ROM and PLA devices. Chapters 9 to 15 describe the specification and design of various types of sequential circuits (clock mode, pulse mode and level mode), and the main text concludes with a chapter on combinational functions with special properties. There are then two appendixes - the first describing the Grasselli and Luccio procedure for reducing the number of states in a state table, and the second discussing the design of relay circuits. As with earlier editions of the book, there is a liberal selection of realistic problems and worked solutions through- out the text and, in many cases, the reader is encouraged to pursue certain design problems further. The book does not describe the design of logical systems based on a microprocessor device. The authors, quite rightly, have resisted the temptation to add yet another new chapter, pointing out (in the preface) that the topic is sufficiently comprehensive to form the subject of a separate book. My only question here is when? To conclude, therefore, the book is still one of the main authoritative books on switching theory and deserves a place on the bookshelf of any serious student of the subject. It may not be up-to-date in some of the more esoteric areas of the subject (for example, there have been considerable exten- sions to the Grasselli-Luccio work cited earlier), but, as an introduction to the theoretical basis for logic design, it is to be recommended. R.G.BENNETTS JEEPROCVol. 128, Ft.- E, No, 6, NOVEMBER 1981 Artificial intelligence: a theoretical approach Ranan B. Banerji Elsevier, 1980, 254 pp., $24.95 ISBN: 0-444-00334-7 Most books with the words 'artificial intelligence' in the title could be expected to contain an undergraduate-level broad survey of this vast and ill-defined field of study. This book, on the other hand, is an in-depth (i.e. mathematically rigorous) study of a very small area of this field the solution of certain restricted classes of games and puzzles. The research can be said to be the direct descendant of Samuel's checker playing program. The author explains in the preface that this is a reworking of his first book entitled 'Theory of problem solving'. He appears to have reluctantly changed the style of presentation from a mathematical one to a more informal one. (In this book, the mathematical work is confined to the appendix which occupies the last, approximately 55 pages, out of 249 pages.) He explains that, in his previous book, he assumed a great deal of 'mathematical maturity', but this book is aimed at 'the reader who only has had exposure to the discrete mathematics of an undergraduate in computer science'. Actually, because of the new style, the book was readable although it would have been preferable if the previous book's titled had been used to adequately describe the contents. Chapter 1 introduces, by means of examples, the games and puzzles analysed in the book. It also offers a justification for studying these in view of their remoteness from real problems. Chapter 2 discusses how a puzzle (i.e. 1-person games) can be formulated as a discrete state graph and sets out to evolve the search strategies to find the solution. The chapter introduces the class of additive puzzles which have homo- morphic images that are simpler puzzles. Thus, by solving this simpler puzzle, one also solves the original more complex one. The technique of going from the goal state backwards by taking differences (GPS approach) is discussed and applied to additive games. Chapter 3 is on the analysis of 2-person games. There are essentially two classes of games analysed here: positional games which are complex variants of tic-tac-toe (noughts and crosses) and 'piles of stones' games that are variants of Nim. A graph technique is described for choosing winning strategies in positional games. A class of games called reducible games is defined. All positional games belong to this class and it is shown that the graph technique can be applied to all reducible games. Nim-type games, on the other hand, can be analysed by an evaluation technique similar to that used in 1-person games. This leads to the study of decomposable games, which is a class that contains Nim-type games. Almost half of chapter 3 is on the analysis of decomposable games. Like chapter 2, there are many examples to illustrate the analysis. Chapter 4 discusses how the GPS-type approach can be used for the learning of heuristics (i.e. problem-dependent information about a particular game) in all the games so far discussed. An interesting curiosity is the last section of this chapter (about 6 pages), in which the author describes a particular computer program for solving discrete optimisation problems. An example of its use in integer programming is given. Here, is the application to 'real life' problems. The implication is that the program can be used in game playing, but this connection is unfortunately not examined explicitly. Chapter 5 is on the need for a flexible description language for game type problem solving. The chapter turns out to be a study of AI languages based on lst-order predicate calculus. Such programs are offered as a means of discovering problem- 261

Upload: eh

Post on 20-Sep-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Artificial Intelligence: a Theoretical Approach

Book reviewsIntroduction to switching theory and logical designF.J. Hill and G.R. PetersonWiley, 1981, 3rd edn, 617pp., £16.30ISBN: 0-471-04273-0

In 1968, Wiley published the first edition of Hill and Peterson'sbook on switching theory and logical design. The yearhappened to be the one that I decided to learn more aboutthese subjects and the book became one of the two mainbooks that I used to acquire a basic understanding (the otherwas Lewin's book on logic design). It is with some affection,therefore, that I looked at the 1981 (3rd) edition.

Undoubtedly, the subject has matured since 1968 and thisis reflected in the content of the book. What has gone is mostof the 1968 material on threshold logic, and on codes andlinear sequential circuits. What has come in, is new materialon designs based on MSI and LSI devices (chapter 12) andfurther discussion on flip-flops and their timing relationships(chapter 15). Chaper 12 makes use of the hardware descriptionlanguage AHPL to link formal design techniques to realisationsbased on devices more complex than basic gates and flip-flops.The language is introduced in chapter 11, but has beendescribed more fully in the authors' companion book 'Digitalsystems: hardware organisation and design' published by Wileyin 1978.

The chapter is well-written and is the authors' counter tothose who claim that switching theory has no place in moderndesign. My only comment is that the examples throughout thischapter illustrate quite clearly the value and mechanisms of asynthesis approach supported by a hardware descriptionlanguage. If anything, the value is undersold. For example,although the chapter contains a brief (3-page) section ontesting, there is no comment on the value to a test-progammerof a concise and accurate description of the behaviour of asequential circuit.

Overall, the material in the book covers the subject ofswitching theory in a traditional sequence. Chapters 2 to 5introduce the topics of number systems, truth functions,Boolean algebra and switching devices. The next four chaptersapply these concepts to the design of combinational logiccircuits, including implementation by ROM and PLA devices.Chapters 9 to 15 describe the specification and design ofvarious types of sequential circuits (clock mode, pulse modeand level mode), and the main text concludes with a chapteron combinational functions with special properties. There arethen two appendixes - the first describing the Grasselli andLuccio procedure for reducing the number of states in astate table, and the second discussing the design of relaycircuits. As with earlier editions of the book, there is a liberalselection of realistic problems and worked solutions through-out the text and, in many cases, the reader is encouraged topursue certain design problems further.

The book does not describe the design of logical systemsbased on a microprocessor device. The authors, quite rightly,have resisted the temptation to add yet another new chapter,pointing out (in the preface) that the topic is sufficientlycomprehensive to form the subject of a separate book. Myonly question here is — when?

To conclude, therefore, the book is still one of the mainauthoritative books on switching theory and deserves a placeon the bookshelf of any serious student of the subject. It maynot be up-to-date in some of the more esoteric areas of thesubject (for example, there have been considerable exten-sions to the Grasselli-Luccio work cited earlier), but, as anintroduction to the theoretical basis for logic design, it is to berecommended.

R.G.BENNETTS

JEEPROCVol. 128, Ft.- E, No, 6, NOVEMBER 1981

Artificial intelligence: a theoretical approachRanan B. BanerjiElsevier, 1980, 254 pp., $24.95ISBN: 0-444-00334-7

Most books with the words 'artificial intelligence' in the titlecould be expected to contain an undergraduate-level broadsurvey of this vast and ill-defined field of study. This book,on the other hand, is an in-depth (i.e. mathematicallyrigorous) study of a very small area of this field — the solutionof certain restricted classes of games and puzzles. The researchcan be said to be the direct descendant of Samuel's checkerplaying program. The author explains in the preface that thisis a reworking of his first book entitled 'Theory of problemsolving'. He appears to have reluctantly changed the styleof presentation from a mathematical one to a more informalone. (In this book, the mathematical work is confined tothe appendix which occupies the last, approximately 55 pages,out of 249 pages.) He explains that, in his previous book, heassumed a great deal of 'mathematical maturity', but thisbook is aimed at 'the reader who only has had exposure to thediscrete mathematics of an undergraduate in computerscience'. Actually, because of the new style, the book wasreadable although it would have been preferable if theprevious book's titled had been used to adequately describethe contents.

Chapter 1 introduces, by means of examples, the gamesand puzzles analysed in the book. It also offers a justificationfor studying these in view of their remoteness from realproblems.

Chapter 2 discusses how a puzzle (i.e. 1-person games) canbe formulated as a discrete state graph and sets out to evolvethe search strategies to find the solution. The chapterintroduces the class of additive puzzles which have homo-morphic images that are simpler puzzles. Thus, by solving thissimpler puzzle, one also solves the original more complex one.The technique of going from the goal state backwards bytaking differences (GPS approach) is discussed and applied toadditive games.

Chapter 3 is on the analysis of 2-person games. There areessentially two classes of games analysed here: positionalgames which are complex variants of tic-tac-toe (noughts andcrosses) and 'piles of stones' games that are variants of Nim.A graph technique is described for choosing winningstrategies in positional games. A class of games called reduciblegames is defined. All positional games belong to this class andit is shown that the graph technique can be applied to allreducible games. Nim-type games, on the other hand, can beanalysed by an evaluation technique similar to that used in1-person games. This leads to the study of decomposablegames, which is a class that contains Nim-type games. Almosthalf of chapter 3 is on the analysis of decomposable games.Like chapter 2, there are many examples to illustrate theanalysis.

Chapter 4 discusses how the GPS-type approach can beused for the learning of heuristics (i.e. problem-dependentinformation about a particular game) in all the games so fardiscussed. An interesting curiosity is the last section of thischapter (about 6 pages), in which the author describes aparticular computer program for solving discrete optimisationproblems. An example of its use in integer programming isgiven. Here, is the application to 'real life' problems. Theimplication is that the program can be used in game playing,but this connection is unfortunately not examinedexplicitly.

Chapter 5 is on the need for a flexible description languagefor game type problem solving. The chapter turns out to bea study of AI languages based on lst-order predicate calculus.Such programs are offered as a means of discovering problem-

261

Page 2: Artificial Intelligence: a Theoretical Approach

dependent heuristics which can be used for evaluating thequality of a state in a game. This evaluation can then be usedto help select the moves.

The remaining parts of the book are the appendixes and agood list of references. The appendixes are on basic mathemat-ics; basic theorems on problems, their graphs and the propertiesof search trees; games, their search trees, reducible anddecomposable games; and finally, on heuristic discovery.

Now, all this work is quite obviously about search andoptimisation in discrete problems. To apply this work to'real life' problems, it is far most useful to establish its linkswith the world of operations research. I wish there had beenmore in here of the kind that appeared fleetingly at the end ofchapter 4. The mystery that surrounds the label of 'artificialintelligence' has, I believe, been a handicap to the results beingapplied to real problems. It is for this reason that I muchprefer the title of the author's previous book. In any case,there are bound to be those who will argue that the fact

that the book is about games does not make it part of'artificial intelligence'! To be fair, however, the present trendin AI research is towards the handling of 'real life' problems.The only game that can be said still to preoccupy AI research,is chess. The reader of this book will only find a passingremark that chess is a positional game, but presumably itscomplexity puts it beyond the scope of this book.

My main complaint about this book, however, is that it isbadly edited. It simply abounds with errors, especially in thefirst three chapters. Many of the examples are inadequatelyexplained, and often the figures do not tally with theexplanation given in the text. If the readers found his firstbook heavy going because of its turgid mathematics, they willfind this one slow going because of the need to work out theerrors.

E.H. MAMDANI

262 IEEPROC, Vol. 128, Pt. E, No. 6, NOVEMBER 1981