elementary computability, formal languages and automata

1
Elementary computability, formal languages and automata R. McNaughton Prentice Hall, 1982, 400pp., £18.70 ISBN: 0-13-253500-9 This book aims to give to the student or programmer not familiar with such issues an informal introduction to certain branches of theoretical computer science, and to a large extent succeeds in the endeavour. The first half of the book is concerned with the notion of computability and effectiveness. Essentially two models of computing machines are taken, namely Turing machines and register machines, the latter however not being described in full detail. The role of the Turing machine is played down, arguing, I think correctly, that the idea of a register machine would be more agreeable to the intended reader. These two notions of computable are shown to be equivalent as well as showing that they coincide with the purely mathematical definition of computable given in terms of function schemes. Chapter 5 is concerned with representing data structures as numbers, i.e. GOdel numbering, and also contains a good discussion and argument in support of Church's thesis. The final chapter in this half introduces the concept of undecidable 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 by automata, parsing, and a fairly lengthy section on ambiguity. It should be noted that the push down automaton used for parsing in Chapter 8 is not the standard one. After the main text, there are six appendixes which, in all, take 45 pages. They include proofs given in detail, of some results presented in the earlier part of the book. There is also a chapter which introduces the idea of complexity of algorithms, a topic not mentioned before, and to have not discussed it at all would have been a mistake. As an introduction to the subject, this book is quite adequate. It covers most of the topics one would expect, without being too formal, and should place the reader in a position to go onto more advanced texts. P.W.GRANT Digital control using microprocessors Paul Katz Prentice-Hall International, 1982, 293 pp., £16.95 ISBN: 0-13-212191-3 The title of this book is misleading. Any reader hoping for a 'cookery book' guide to the application of a microprocessor to 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 examples borrowed from (and very honestly credited to) different authors. 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. It contains a very useful overview of all aspects of sampled data and discrete-time control systems. Discrete state equations rub shoulders with z-transforms, and Nicholls charts, root loci, pole assignment and observer design are all well represented; even the matrix Riccati equation makes an appearance in the text, and is pursued in an appendix. The author has been careful to include a large number of exercises for the reader, and the book would doubtless be a useful accompaniment to an advanced control course. The approach to the subject may be rather fragmented for some tastes. The first chapter introduces discrete equa- tions in matrix and transform form, and packs in a glimpse of the relationship between s- and z-planes, for good measure. The second chapter is concerned with discretisa- tion and its influence on the use of continuous design techniques, and the third is devoted to the use of z- and w-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 of control algorithms on 'microcontrollers'; it mainly covers the representation of transversal filters as interconnections of delay elements. There are three pages of microcomputer 'definitions' which serve little purpose. An example is quoted of a monitor command 'aabbcc 001122' without explanation. The chapter is concluded with a design by Nachum Nechemia of an antenna dish stabiliser with an annotated but otherwise unexplained listing of a Z80 program. Chapter 6 covers quantisation and rounding errors. Dither is mentioned, but is dismissed out of hand: 'it is impractical to use numerical dither in a real-time digital controller'. Another design example is given, this time by Baruch Glick. Sampling rate is discussed in Chapter 7, and two more design samples are cited in the final chapters. It is clear that the author has encapsulated many of the concepts of sampled-data control theory which relate to the analysis of on-line computer control. It is equally clear that the author's personal engineering experience of microcomputer-based controllers is minimal. It is possible that because of the choice of a catchy title, the book will fail to appeal to its true readership of control theoreticians, and it will also be passed over by those seeking a far less theoretical solution to their digital control problems. J. BILLINGSLEY 48 IEEPROC, Vol. 130, Pt. E, No. 2, MARCH 1983

Upload: pw

Post on 20-Sep-2016

214 views

Category:

Documents


2 download

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