## REVIEW - C++ Neural Networks and Fuzzy Logic

Title:

C++ Neural Networks and Fuzzy Logic

Author:

Valluru Rao, Hayagriva V. Rao

ISBN:

Publisher:

M & T Books (1995)

Pages:

551pp

Reviewer:

Francis Glassborow

Reviewed:

December 1998

Rating:

★☆☆☆☆

This is a reasonable book on writing software emulators of neural networks and programming fuzzy logic. I assume that most readers have some idea as to what a neural network is (a self-adjusting system that can be trained by providing it with inputs and required outputs. If the actual output does not meet the target, it adjusts itself to bring it closer. These have a wide range of uses including such things as face recognition. Fuzzy logic is probably rather less well known. In classic logic we have just two values; true and false. The rules for combining statements are easy to explain and to program. The problem is that the real world doesn't quite work that way. Sometimes we only have partial knowledge, at other times we cannot know things with certainty (quantum physics is an example of some profound levels of necessary ignorance). Fuzzy logic is a relatively new mathematics aimed at trying to compute results in such situations of uncertainty. One problem is that we are unsure as how these calculations should be done. For example, suppose someone whose track record as an 80% accurate weather forecaster says that there is a ninety percent chance of rain before evening; what is the probability that it will rain?

What I am far from happy with is the general standard of the C++ source code in this book. To start with far too much of it has been printed. No practical purpose is served by printing pages of output messages. Much of the code is poor C masquerading as C++. In places, dangerous code lurks inside deeply nested structures. The page I am looking at while I write this contains part of an eight-page

`main()`
. Among other complexity we have an
`if`
, nested inside a
`for`
nested inside a
`while`
nested inside a
`while`
. The controlling expression of the outer while includes five boolean
`and`
s and two
`or`
s.

This book would be greatly improved by the authors finding a competent C++ programmer to do the design and implementation. A good editor would then have insisted that the only code printed was that necessary to understand the task. Reams of output text fuzzes understanding and wastes paper. Source code does not make good pseudo code. I only hope that all concerned do something about these issues before producing a third edition. The subject matter is tough enough without making things worse with bad code obfuscated by bad presentation.

Book cover image courtesy of Open Library.