elementary computability, formal languages and automata
TRANSCRIPT
Elementary computability, formal languages and automataR. McNaughtonPrentice Hall, 1982, 400pp., £18.70ISBN: 0-13-253500-9
This book aims to give to the student or programmer notfamiliar with such issues an informal introduction to certainbranches of theoretical computer science, and to a largeextent succeeds in the endeavour.
The first half of the book is concerned with the notionof computability and effectiveness. Essentially two modelsof computing machines are taken, namely Turing machinesand register machines, the latter however not beingdescribed in full detail. The role of the Turing machine isplayed down, arguing, I think correctly, that the idea of aregister machine would be more agreeable to the intendedreader. These two notions of computable are shown to beequivalent as well as showing that they coincide with thepurely mathematical definition of computable given interms of function schemes.
Chapter 5 is concerned with representing data structuresas numbers, i.e. GOdel numbering, and also contains a gooddiscussion and argument in support of Church's thesis.
The final chapter in this half introduces the concept ofundecidable problem and proves several well known prob-lems are undecidable. I consider an explicit definition of'reducibility' might have been helpful here.
The last half introduces formal languages and automata.Among the topics discussed are context-free languages,regular languages, the recognition of such languages byautomata, parsing, and a fairly lengthy section onambiguity. It should be noted that the push downautomaton used for parsing in Chapter 8 is not the standardone.
After the main text, there are six appendixes which, inall, take 45 pages. They include proofs given in detail, ofsome results presented in the earlier part of the book. Thereis also a chapter which introduces the idea of complexity ofalgorithms, a topic not mentioned before, and to have notdiscussed it at all would have been a mistake.
As an introduction to the subject, this book is quiteadequate. It covers most of the topics one would expect,without being too formal, and should place the reader in aposition to go onto more advanced texts.
P.W.GRANT
Digital control using microprocessorsPaul KatzPrentice-Hall International, 1982, 293 pp., £16.95ISBN: 0-13-212191-3
The title of this book is misleading. Any reader hoping for a'cookery book' guide to the application of a microprocessorto his particular control problem will be sadly disappointed.
The book can only claim to be concerned with micro-processors, as such, on the grounds of a few examplesborrowed from (and very honestly credited to) differentauthors. These mainly take the form of assembly listings,which although carefully annotated have very little instruc-tional value.
This by no means implies that the book is worthless. Itcontains a very useful overview of all aspects of sampleddata and discrete-time control systems. Discrete stateequations rub shoulders with z-transforms, and Nichollscharts, root loci, pole assignment and observer design are allwell represented; even the matrix Riccati equation makesan appearance in the text, and is pursued in an appendix.The author has been careful to include a large number ofexercises for the reader, and the book would doubtless bea useful accompaniment to an advanced control course.
The approach to the subject may be rather fragmentedfor some tastes. The first chapter introduces discrete equa-tions in matrix and transform form, and packs in a glimpseof the relationship between s- and z-planes, for goodmeasure. The second chapter is concerned with discretisa-tion and its influence on the use of continuous designtechniques, and the third is devoted to the use of z- andw-plane techniques.
The state-approach is dashed off in a single chapter,30 pp. covering pole placement, integral control, controlla-bility, observers, and optimisation in the presence of noise.
Chapter 5 purports to show the mechanisation ofcontrol algorithms on 'microcontrollers'; it mainly coversthe representation of transversal filters as interconnectionsof delay elements. There are three pages of microcomputer'definitions' which serve little purpose. An example isquoted of a monitor command 'aabbcc 001122' — withoutexplanation. The chapter is concluded with a design byNachum Nechemia of an antenna dish stabiliser with anannotated but otherwise unexplained listing of a Z80program.
Chapter 6 covers quantisation and rounding errors.Dither is mentioned, but is dismissed out of hand: 'it isimpractical to use numerical dither in a real-time digitalcontroller'. Another design example is given, this time byBaruch Glick.
Sampling rate is discussed in Chapter 7, and two moredesign samples are cited in the final chapters.
It is clear that the author has encapsulated many of theconcepts of sampled-data control theory which relate tothe analysis of on-line computer control. It is equally clearthat the author's personal engineering experience ofmicrocomputer-based controllers is minimal. It is possiblethat because of the choice of a catchy title, the book willfail to appeal to its true readership of control theoreticians,and it will also be passed over by those seeking a far lesstheoretical solution to their digital control problems.
J. BILLINGSLEY
48 IEEPROC, Vol. 130, Pt. E, No. 2, MARCH 1983