Vasantha Kalyani David and Sundaramoorthy Rajasekaran Pattern Recognition Using Neural and Functional Networks
Studies in Computational Intelligence, Volume 160 Editor-in-Chief Prof. Janusz Kacprzyk Systems Research Institute Polish Academy of Sciences ul. Newelska 6 01-447 Warsaw Poland E-mail:
[email protected] Further volumes of this series can be found on our homepage: springer.com Vol. 138. Bruno Apolloni, Witold Pedrycz, Simone Bassis and Dario Malchiodi The Puzzle of Granular Computing, 2008 ISBN 978-3-540-79863-7 Vol. 139. Jan Drugowitsch Design and Analysis of Learning Classifier Systems, 2008 ISBN 978-3-540-79865-1 Vol. 140. Nadia Magnenat-Thalmann, Lakhmi C. Jain and N. Ichalkaranje (Eds.) New Advances in Virtual Humans, 2008 ISBN 978-3-540-79867-5 Vol. 141. Christa Sommerer, Lakhmi C. Jain and Laurent Mignonneau (Eds.) The Art and Science of Interface and Interaction Design (Vol. 1), 2008 ISBN 978-3-540-79869-9 Vol. 142. George A. Tsihrintzis, Maria Virvou, Robert J. Howlett and Lakhmi C. Jain (Eds.) New Directions in Intelligent Interactive Multimedia, 2008 ISBN 978-3-540-68126-7
Vol. 149. Roger Lee (Ed.) Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, 2008 ISBN 978-3-540-70559-8 Vol. 150. Roger Lee (Ed.) Software Engineering Research, Management and Applications, 2008 ISBN 978-3-540-70774-5 Vol. 151. Tomasz G. Smolinski, Mariofanna G. Milanova and Aboul-Ella Hassanien (Eds.) Computational Intelligence in Biomedicine and Bioinformatics, 2008 ISBN 978-3-540-70776-9 Vol. 152. Jaroslaw Stepaniuk Rough – Granular Computing in Knowledge Discovery and Data Mining, 2008 ISBN 978-3-540-70800-1 Vol. 153. Carlos Cotta and Jano van Hemert (Eds.) Recent Advances in Evolutionary Computation for Combinatorial Optimization, 2008 ISBN 978-3-540-70806-3 Vol. 154. Oscar Castillo, Patricia Melin, Janusz Kacprzyk and Witold Pedrycz (Eds.) Soft Computing for Hybrid Intelligent Systems, 2008 ISBN 978-3-540-70811-7
Vol. 143. Uday K. Chakraborty (Ed.) Advances in Differential Evolution, 2008 ISBN 978-3-540-68827-3
Vol. 155. Hamid R. Tizhoosh and M. Ventresca (Eds.) Oppositional Concepts in Computational Intelligence, 2008 ISBN 978-3-540-70826-1
Vol. 144. Andreas Fink and Franz Rothlauf (Eds.) Advances in Computational Intelligence in Transport, Logistics, and Supply Chain Management, 2008 ISBN 978-3-540-69024-5
Vol. 156. Dawn E. Holmes and Lakhmi C. Jain (Eds.) Innovations in Bayesian Networks, 2008 ISBN 978-3-540-85065-6
Vol. 145. Mikhail Ju. Moshkov, Marcin Piliszczuk and Beata Zielosko Partial Covers, Reducts and Decision Rules in Rough Sets, 2008 ISBN 978-3-540-69027-6 Vol. 146. Fatos Xhafa and Ajith Abraham (Eds.) Metaheuristics for Scheduling in Distributed Computing Environments, 2008 ISBN 978-3-540-69260-7 Vol. 147. Oliver Kramer Self-Adaptive Heuristics for Evolutionary Computation, 2008 ISBN 978-3-540-69280-5 Vol. 148. Philipp Limbourg Dependability Modelling under Uncertainty, 2008 ISBN 978-3-540-69286-7
Vol. 157. Ying-ping Chen and Meng-Hiot Lim (Eds.) Linkage in Evolutionary Computation, 2008 ISBN 978-3-540-85067-0 Vol. 158. Marina Gavrilova (Ed.) Generalized Voronoi Diagram: A Geometry-Based Approach to Computational Intelligence, 2009 ISBN 978-3-540-85125-7 Vol. 159. Dimitri Plemenos and Georgios Miaoulis (Eds.) Generalized Voronoi Diagram: A Geometry-Based Approach to Computational Intelligence, 2009 ISBN 978-3-540-85125-7 Vol. 160. Vasantha Kalyani David and Sundaramoorthy Rajasekaran Pattern Recognition Using Neural and Functional Networks, 2009 ISBN 978-3-540-85129-5
Vasantha Kalyani David Sundaramoorthy Rajasekaran
Pattern Recognition Using Neural and Functional Networks
123
Professor Dr. Vasantha Kalyani David Department of Computer Science Avinashilingam University for Women Coimbatore - 641 043, Tamil Nadu India
Professor Dr. Sundaramoorthy Rajasekaran Infrastructure Engineering PSG College of Technology Coimbatore - 641 004, TamilNadu India Email:
[email protected] ISBN 978-3-540-85129-5
e-ISBN 978-3-540-85130-1
DOI 10.1007/978-3-540-85130-1 Studies in Computational Intelligence
ISSN 1860949X
Library of Congress Control Number: 2008931714 c 2009 Springer-Verlag Berlin Heidelberg This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typeset & Cover Design: Scientific Publishing Services Pvt. Ltd., Chennai, India. Printed in acid-free paper 987654321 springer.com
Authors
Vasantha Kalyani David and S. Rajasekaran About the Authors Vasantha Kalyani David, PhD., is a Selection Grade Lecturer in Computer Science in Avinashilingam University for Women, Coimbatore. Earlier a mathematician with a Master of Philosophy in Mathematics and later did research in Computer Science. Dr. Vasantha Kalyani David has published many papers in areas of Soft Computing, Her research interests include Neural Networks, Artificial Intelligence, Fuzzy Logic, Genetic Algorithms, Cellular Automata, Theoretical Computer Science and Automata Theory. S. Rajasekaran, DSc, (Civil Engineering) is Professor of Infrastructure Engineering., PSG College of Technology, Coimbatore. He has over 41 years of teaching and research experience and more than 300 research papers to his credit. His areas of special interest include Structural Engineering, Finite Element Analysis, and application of Soft Computing techniques in Structural Engineering.
Preface
Biologically inspired computing is different from conventional computing. It has a different feel; often the terminology does not sound like it’s talking about machines. The activities of this computing sound more human than mechanistic as people speak of machines that behave, react, self-organize, learn, generalize, remember and even to forget. Much of this technology tries to mimic nature’s approach in order to mimic some of nature’s capabilities. They have a rigorous, mathematical basis and neural networks for example have a statistically valid set on which the network is trained. Two outlines are suggested as the possible tracks for pattern recognition. They are neural networks and functional networks. Neural Networks (many interconnected elements operating in parallel) carry out tasks that are not only beyond the scope of conventional processing but also cannot be understood in the same terms. Imaging applications for neural networks seem to be a natural fit. Neural networks love to do pattern recognition. A new approach to pattern recognition using microARTMAP together with wavelet transforms in the context of hand written characters, gestures and signatures have been dealt. The Kohonen Network, Back Propagation Networks and Competitive Hopfield Neural Network have been considered for various applications. Functional networks, being a generalized form of Neural Networks where functions are learned rather than weights is compared with Multiple Regression Analysis for some applications and the results are seen to be coincident. New kinds of intelligence can be added to machines, and we will have the possibility of learning more about learning. Thus our imaginations and options are being stretched. These new machines will be fault-tolerant, intelligent and self-programming thus trying to make the machines smarter. So as to make those who use the techniques even smarter. Chapter 1 is a brief introduction to Neural and Functional networks in the context of Pattern recognition using these disciplines Chapter 2 gives a review of the architectures relevant to the investigation and the development of these technologies in the past few decades.
VIII
Preface
Chapter 3 begins with the look at the recognition of handwritten alphabets using the algorithm for ordered list of boundary pixels as well as the Kohonen Self-Organizing Map (SOM). Chapter 4 describes the architecture of the MicroARTMAP and its capability. Chapter 5 the MicroARTMAP is augmented with a moment based feature extractor and applied to character recognition in this chapter. Chapter 6 illustrates the use of wavelet transforms together with MicroARTMAP for character recognition. The microARTMAP gave solutions to problems in civil engineering like classification of soil problem, finding the load from yield pattern of a plate and finding earthquake parameters from a given response spectrum. Chapter 7 MicroARTMAP and Back Propagation Network have been compared and presented for gesture recognition and signature verification. Solving scheduling problem by means of a Competitive Hopfield Neural Network are discussed in Chapter 8 Multiple Regression methods considered as a recognizer is compared with functional networks in solving certain problems as shown in Chapter 9. Conclusion and further applications are suggested in Chapter 10.
Contents
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Recognition through Algorithm and Kohonen’s Self Organizing Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Wavelet Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Gesture Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Competitive Hopfield Neural Network . . . . . . . . . . . . . . . . . . . . . . . 1.7 Neural and Functional Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 Objectives and Scope of the Investigation . . . . . . . . . . . . . . . . . . . . 1.9 Organization of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 1 2 2 3 4 5 5 6 6 7
2
Review of Architectures Relevant to the Investigation . . . . . . 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Recognition through Self Organizing Map . . . . . . . . . . . . . . . . . . . 2.3 The μARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Wavelet Transforms and MicroARTMAP . . . . . . . . . . . . . . . . . . . . 2.5 MicroARTMAP and Gesture Recognition . . . . . . . . . . . . . . . . . . . . 2.6 Competitive Hopfield Neural Network . . . . . . . . . . . . . . . . . . . . . . . 2.7 Functional Networks and Multiple Regression Analysis . . . . . . . . 2.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 9 10 10 11 11 11 12 12
3
Recognition of English and Tamil Alphabets Using Kohonen’s Self-organizing Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Recognition of Handwritten Characters Using Ordered List of Image Pixels on Its Boundary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 The Kohonen Feature Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Normalization of a Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Training Law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Neighbourhood Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 15 15 18 19 19 19
X
Contents
3.7 3.8 3.9 3.10 4
The Kohonen Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Representation of Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Weight Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 19 20 26
Adaptive Resonance Theory Networks . . . . . . . . . . . . . . . . . . . . . . 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 ART Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Resonant State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 The STM and LTM Traces . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 The Structure of the ART Model . . . . . . . . . . . . . . . . . . . . . 4.2.4 Pattern-Matching Cycle in an ART Network . . . . . . . . . . . 4.2.5 The 2/3 Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.6 Gain Control Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Fuzzy ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Analogy between ART1 and Fuzzy ART . . . . . . . . . . . . . . 4.3.2 Fast-Learn, Slow-Recode and Complement Coding . . . . . . 4.3.3 Complement Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Weight Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.6 Category Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.7 Resonance or Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.8 Learning Law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.9 Normalization of Fuzzy ART Inputs . . . . . . . . . . . . . . . . . . 4.3.10 Geometric Interpretation of Fuzzy ART . . . . . . . . . . . . . . . 4.3.11 Fuzzy ART Category Boxes in Fuzzy Cubes . . . . . . . . . . . 4.3.12 Fuzzy ART Stable Category Learning . . . . . . . . . . . . . . . . . 4.4 Fuzzy ARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Fuzzy ARTMAP and MicroARTMAP . . . . . . . . . . . . . . . . . 4.4.2 MicroARTMAP Algorithm (Supervised Neural Network Architecture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Map Field Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 Match Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.5 Map Field Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.6 Defining H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.7 Training of μARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.8 Inter ART Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.9 Offline Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.10 μARTMAP Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.11 Fast Learning in μARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.12 Refining a Hyper Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.13 μARTMAP Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27 27 28 28 28 30 31 31 32 33 33 34 34 36 36 36 37 37 38 39 39 42 43 43 44 45 45 46 46 47 47 48 48 48 49 49 49
Contents
5
6
XI
Applications of MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Recognition of Handwritten Alphabets by μARTMAP . . . . . . . . 5.3 Recognition of Handwritten Words by μARTMAP . . . . . . . . . . . . 5.4 Recognition of Handwritten Alphabets by μARTMAP Augmented with Moment-Based Feature Extractor . . . . . . . . . . . 5.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Steps Involved in Obtaining Moment Invariants . . . . . . . . 5.5 Recognition of Handwritten Numbers by μARTMAP Using Hamming Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Recognition of Alphabets and Numbers Using μARTMAP with Only One Exemplar for Training . . . . . . . . . . . . . . . . . . . . . . . 5.7 Recognition of Alphabets by μARTMAP with Increased Sample Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 BIS Classification of Soil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Plastification of Clamped Isotropic Plate . . . . . . . . . . . . . . . . . . . . 5.10 Application to Earthquake Engineering . . . . . . . . . . . . . . . . . . . . . . 5.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51 51 51 53
Wavelet Transforms and MicroARTMAP . . . . . . . . . . . . . . . . . . . 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 The Need for Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Transforms Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Wavelet Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Continuous Wavelet Transforms (CWT) . . . . . . . . . . . . . . . . . . . . . 6.7 Discrete Wavelet Transforms (DWT) . . . . . . . . . . . . . . . . . . . . . . . . 6.8 Wavelet Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 Wavelet Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10 Schematic Representation of the Working of a Wavelet . . . . . . . . 6.11 Handwritten Characters Recognition Using Wavelet Transforms and MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12 Wavelet Transforms in Two Dimensions . . . . . . . . . . . . . . . . . . . . . 6.13 The Two-Dimensional DWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14 Recognition of Handwritten Alphabets Using Wavelet Packets and MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.1 The Decomposition Space Tree . . . . . . . . . . . . . . . . . . . . . . . 6.14.2 Analysis Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.3 Finding Optimal Decomposition . . . . . . . . . . . . . . . . . . . . . . 6.14.4 Efficient Algorithm for Minimal Entropy Solutions . . . . . . 6.14.5 Denoising Using MATLAB for Handwritten Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.6 MicroARTMAP and Wavelet Packets . . . . . . . . . . . . . . . . . 6.15 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73 73 73 73 74 74 75 75 77 77 78
53 53 55 59 60 61 61 64 65 71
82 82 84 85 85 85 86 87 87 88 91
XII
7
8
9
Contents
Gesture and Signature Recognition Using MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Gestures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Gesture Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Voice Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Hand Writing Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Hand Gestures in HCI (Human – Computer Interaction) . . . . . . 7.7 Gesture Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.1 Gesture Acquisition – Requirements . . . . . . . . . . . . . . . . . . 7.7.2 Gesture Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.3 Feature Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.4 Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.5 Block Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8 Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8.1 DWT Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.9 Neural Network for Gesture Recognition . . . . . . . . . . . . . . . . . . . . . 7.9.1 Application- Robotics – Robotic Arm Model . . . . . . . . . . . 7.10 Interface Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.11 Back Propagation Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.12 Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.13 Block Processing: For 16 Features . . . . . . . . . . . . . . . . . . . . . . . . . . 7.14 Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.15 MicroARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.16 Signature Recognition Using MicroARTMAP and Block Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.17 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93 93 93 93 94 95 96 98 98 99 99 99 101 101 103 103 104 106 107 107 107 110 111 112 113
Solving Scheduling Problems with Competitive Hopfield Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 The Energy Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Simulation Example Case (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Example Case (ii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
115 115 115 117 117 119 122
Functional Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Functional Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Procedure to Work with Functional Networks . . . . . . . . . . . . . . . . 9.4 The Associativity Functional Network . . . . . . . . . . . . . . . . . . . . . . . 9.5 Multiple Regression Methods and Functional Networks . . . . . . . . 9.6 Rock Identification by Functional Networks . . . . . . . . . . . . . . . . . . 9.7 Hot Extrusion of Steel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123 123 123 124 125 127 128 131 134
Contents
XIII
10 Conclusions and Suggestions for Future Work . . . . . . . . . . . . . . 135 10.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 10.2 Suggestions for Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 A
MicroARTMAP MATLAB Implementation . . . . . . . . . . . . . . . . . 143
B
DWT on db1 Wavelets – number.m . . . . . . . . . . . . . . . . . . . . . . . . . 155
C
Inputs to ARTMAP for Signatures . . . . . . . . . . . . . . . . . . . . . . . . . 159
D
The Competitive Hopfield Neural Network . . . . . . . . . . . . . . . . . 163
E
Moment Invariants for Handwritten Characters . . . . . . . . . . . . 169
F
Pattern.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
F
handpgm2.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
List of Figures
1.1
Architecture for Gestural Control of Memory and Display . . . . . .
4
3.1 3.2 3.3 3.4 3.5 3.6
Recognition of Alphabet P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition of Alphabet Close to R . . . . . . . . . . . . . . . . . . . . . . . . . . Nearest Recognition of U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alphabet A Taught to the System . . . . . . . . . . . . . . . . . . . . . . . . . . . Kohonen Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Semi-log Plot Between Average Distance and Cycle Number . . . .
16 16 17 17 18 25
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
ART Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Pattern-Matching Cycle in an ART Network . . . . . . . . . . . . . . . . The Fuzzy ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy ART Category Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fast Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Weight Vector WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fuzzy ARTMAP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MicroARTMAP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29 30 35 40 40 42 43 44
Sample of Handwritten Characters . . . . . . . . . . . . . . . . . . . . . . . . . . The Character “Z” and Quarters . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soil Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isotropic plate (Clamped) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Response spectra for M = 6, S = 0, H = 1, R = 30 . . . . . . . . . . . Response Spectra for M = 8, S = 0, H = 30, R = 50 . . . . . . . . . . . Response spectra for M = 7.5, S = 2, H = 8, R = 45 . . . . . . . . . . Black and white figure of Fig. 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure (Fig. 5.8) divided into eight parts Number of black counts in each part is c1 = 4731, c2 = 4881, c3 = 4977, c4 = 4982, c5 = 4732, c6 = 4882, c7 = 4978, c8 = 4983 . . . . . . . 5.10 Comparison of MICROARTMAP with BPN . . . . . . . . . . . . . . . . . .
52 54 54 63 68 68 69 69
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9
70 71
XVI
List of Figures
6.1 6.2 6.3 6.4 6.5 6.6 6.7
Decomposition of a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The DWT and CWT of a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tree Mode Analysis of a Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shifting and Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DWT of a signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wavelet transform applied to an image . . . . . . . . . . . . . . . . . . . . . . . Multiresolution scheme after one and two levels of decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 The Decomposition Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 The Best Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10 Analysed and Denoised Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11 2-D Wavelet Selection Upto Level 5 . . . . . . . . . . . . . . . . . . . . . . . . . .
75 76 79 80 81 84 84 86 87 88 89
7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15
Gestural Taxonomy for HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overall Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acquired Gestures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gesture Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block Processing - 16 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Images After Wavelet Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . Neural Net block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Robotic Arm Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scope of the Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interface Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin Configuration of ULN 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPN - Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPN - Block Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPN - Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPN - Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96 97 98 99 100 101 103 104 105 106 107 108 109 110 113
8.1 8.2 8.3
3-D Hopfield Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Simulation results Case (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Simulation results obtained Case (ii) . . . . . . . . . . . . . . . . . . . . . . . . . 120
9.1 9.2 9.3
Functional Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Associativity Functional network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Comparison of actual vs functional networks . . . . . . . . . . . . . . . . . . 133
List of Tables
3.1 3.2 3.3 3.3 3.4 5.1 5.2 5.3 5.4 5.5 5.6 5.7 6.1
Recognition run for English Alphabets (Two inputs given at the same time) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition run for both English and Tamil Alphabets (Two inputs given together) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recognition run for Tamil Alphabets (Two inputs given at the same time) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (continued) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparison of the Recognition of Alphabets . . . . . . . . . . . . . . . . . . Moment-Based Invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moment Invariants for Alphabets given to μARTMAP . . . . . . . . . Recognition of numerals with varying Hamming Distance . . . . . . . IS Classification of Soil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moment Invariants for Yield Pattern for Clamped Isotropic Plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M, S, H and R for Different Response Spectra . . . . . . . . . . . . . . . . . Black Pixel Count in the Split Response Spectra . . . . . . . . . . . . . .
21 22 23 24 25 56 57 60 62 64 66 67
Statistical Measures for the Image given as Input to μARTMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
7.1 7.2 7.3 7.4 7.5 7.6
Data Set - Block Processing With 16 Features . . . . . . . . . . . . . . . . BPN-Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPN-Block Processing with 16 features . . . . . . . . . . . . . . . . . . . . . . BPN-Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MicroARTMAP - Block Processing with 16 features . . . . . . . . . . . MicroARTMAP - Wavelet Approach . . . . . . . . . . . . . . . . . . . . . . . . .
102 108 109 110 111 111
8.1a 8.1b 8.1c 8.1d 8.2
Resource requested Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timing Constraints Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initial States for CHNN Case (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Weighting Factor of CHNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initial states for CHNN Case (ii) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
118 118 119 119 121
XVIII
9.1 9.2 9.3 9.4
List of Tables
Normalized Input and Output for Rock Classification Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Undetermined Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalized Inputs and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Undetermined Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
129 130 132 133
List of Notations
ε ∀ |.| ∧ ∨ ⇒ ∫ ⊕ ∩ ||
-
belongs to strain either less than or equal to or greater than for all fuzzy count fuzzy intersection fuzzy union implies integral includes operator intersection operator modulus operator
|p|
- norm of p given by
n
τ σ Σ ∪ ∫∫ [0, 1] [0, 1]n a ac A A′ ARTa ARTb BLU C CWT
∑ pi
i =1
-
where p = (p1,p2, ...,pn)
shear strength normal stress summation union vector double integral closed interval between 0 and 1 fuzzy n-cube approximate signal fuzzy complement of a, i.e., a = 1-a vector normalized vector of A fuzzy ART module fuzzy ART module basic length unit Lead screw pitch / number of revolutions Cohesion intercept continuous wavelet transforms
XX
List of Notations
C1, C2, C3, C4, C5, C6
-
refer to weighting factors
+∞
C (a, b) =
∫ f (x) ψ a, b (x) dx
-∞
gives wavelet co-efficients +∞
C AN (k) =
∫ f (x) ψ N, k (x) dx
-∞
gives approximate co-efficients +∞
C DN (k) =
∫ f (x) ψ N , k (x) dx
-∞
d d DWT ej E E E E
gives detailed co-efficients detailed version Euclidean distance discrete wavelet transforms error in the jth data ej = fi(xij) + f2(x2j) – f3(x3j) Young’s modulus Number of times stepper motor has to be energized Energy function Euclidean norm of error function 2
n
E = 1 / 2∑ (O i − F(i )) i =1
E
-
sum of the squares of the error for all data n data
E=
∑ e Tj e j j=1
Ep Ep EA, EH, EV, ED
-
E(f)
-
plastic modulus entropy of parent node entropy of four offsprings. Approximation, horizontal, vertical and diagonal details additive cost function approximate neural function m
fi(x) = Fab F1 → F2 fn g(n) h hj hmax
-
∑ a ijφ ij (X ) j=1
map field mapping from F1 to F2 cyclic frequency high pass filter hamming distance contribution to H of set Aj upper bound on hj
List of Notations
h(n) H Hmax H(Gijk) H(B/A) mpq, p, q = 0, 1, 2, . .. , n M M M M, R, S, H
-
m N Netijk n Pi R R
-
Ris t T Tj Tn Vijk
-
Wnew Wold Wxyzijk Wϕ, WψH, WψV and WψD x(n)
-
XXI
low pass filter conditional entropy upper bound on H heavside function conditional entropy moment transformation mass earthquake magnitude minimum step angle total number of machines Magnitude, Site condition, Focal depth, Epicentral distance from response spectrum strain rate sensitivity index total number of processes total input to the neuron (i, j, k) strain hardening exponent total execution time required by a process required angle augmented function R = E + < a > [φ0] {λ} - < λ > {α} R = < a > [A] {a} + < a > [φ0] {λ} - < λ > {α} process i requires resource s thickness of the plate maximum time quantum of a process choice function natural vibration period state variable representing whether or not a job i is executed on a machine j at a certain time k updated weight vector old weight vector synaptic interconnection strength quarter size output subimages original signal
+∞
x(n)* h(n) =
∑ x(k) * h(n - k)
k = -∞
yhigh (k) ylow (k) α β δ(a,b) φ
convolution operation output of high pass filter outputs of low pass filter choice parameter material thermal constant learning rate parameter Kronecker delta function shape functions (1, x, x2, . . . , xn) or (1, sin(x), cos(x), sin(2x), cos(2x), sin(3x), cos(3x)………) angle of internal friction
XXII
List of Notations
φ1, φ2, φ3, φ4, φ5, φ6, φ7 ηpq ϕ (x, y) ϕj, m, n (x, y) μpq μARTMAP ν θijk ρ σ0 ψ(x) ψ(u) ψa, b (x) ψD (x, y) ψH (x, y) ψV (x, y) ψij, m, n (x, y) ωn
∂( ) ∂( )
2/3 rule
-
invariant functions normalized central moments two dimensional scaling function scaled basis function central moments microARTMAP Poisson ratio bias input vigilance parameters yield stress wavelet function Fourier transform mother wavelet generates basis functions variations along diagonals variations along columns (horizontal) variations along rows (vertical) translated basis function circular frequency
-
partial derivative
-
two out of possible three inputs are active
1 Introduction
1.1 Introduction For the past several years, pattern recognition has been used in a number of areas such as medicine, weather forecasting, automated industrial inspection, geology and agriculture. Pattern recognition is concerned with the automatic detection or classification of objects or events. Most pattern recognition tasks are first done by human beings and automated later. Automating the classification of objects using the features as those used by people can be a very difficult task. The features used by machines are not precisely the same as those used by human beings. Features that would be impossible or difficult for humans to estimate are useful in automated systems. For example some systems classify objects in satellite images using the wavelengths of light that are invisible to human beings. We live in a world where events never repeat exactly. Even though events are never exactly the same, they are also not completely different. There is some sort of continuity, similarity and predictability that allows one to generalize correctly from past experience to future events. Neural networks is based on the idea that one can reproduce the power of the human brain by artificial means. The problems where artificial neural networks are very promising include signal processing, speech recognition, visual perception, control and robotics. The neural networks help to solve these problems with natural mechanisms of generalization. Suppose one represents an object in a network as a pattern of activation of several units. If a unit or two responds incorrectly, the overall pattern anyhow remains the same and the neural network responds correctly to the stimuli. When neural networks operate, similar inputs naturally produce similar outputs. Most real-world perceptual problems have this structure of input-output continuity. Neural networks are model free estimators. Neural networks do classification by similarity and hence are not suitable in situations where we cannot trust similarity. Neural networks recognize patterns we cannot even define. This property is called recognition without definition. This characterizes much of intelligent behaviour and enables systems to generalize. Neural networks store pattern or function information with distributed encoding. They superimpose pattern information on the many synaptic connections between neurons. This enables the neural networks to complete partial patterns and ‘clean V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 1–7. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
2
Introduction
up’ noisy patterns. Distributed encoding produces interference between stored patterns. Similar patterns may clump together and new patterns may crowd out older learned patterns. Older patterns may distort newer patterns. On the whole, the neural network behaves as an adaptive function estimator. Functional Networks on the other hand are extensions of neural networks and are useful in problems where both domain knowledge and data are available. Pattern recognition using the above disciplines have been studied.
1.2 Recognition through Algorithm and Kohonen’s Self Organizing Map Recognition of alphabets through the algorithm for ordered list of boundary pixels was carried out, but the algorithm proved inconsistent in its treatment of corner-connected regions. This inconsistency would not matter in image where corner-neighbouring regions do not appear. The Kohonen’s self organizing map [59], [60], [62] was used to recognize alphabetic characters. By its self-organizing properties and winner-take-all strategy, the Kohonen’s feature map was able to recognize English as well as Tamil alphabets and their garbled versions.
1.3 MicroARTMAP [35] A new neural architecture called μARTMAP or (MicroARTMAP) [35] is considered as a solution to the category proliferation problem which are present in Fuzzy ARTMAP – based architecture capable of performing fast, stable learning in supervised settings. This reduces the number of committed categories, while preserving generalization performance, without changing the geometry of category representation. A compact set of IF – THEN rules are easily extracted. This favours the use of neural networks in problems where comprehensibility of decisions are required, or where it is important to gain insight into the problem through the data. μARTMAP intelligently position hyper boxes in the input space and optimize their size to achieve category reduction. Two different learning stages are considered. In the first stage an inter – ART reset mechanism is fired if selected ARTa category has an entropic prediction. The ARTa vigilance is not raised. The total prediction entropy is evaluated in the second stage, and if need be some patterns are presented again with increased ARTa vigilance values. The μARTMAP allows some training error, avoiding committing categories with small relevance for generalization and also permits placing hyper boxes inside other hyper boxes to describe efficiently populated exceptions. These are problems where many patterns associated to one class label are surrounded by many others associated with a different one. Experimental results obtained show that an inter – ART reset mechanism is necessary for treating correctly the populated exceptions. In the first learning stage in the μARTMAP the vigilance in ARTa is not raised after inter ART reset and so this does not cause category proliferation, while during the second stage of learning, accuracy is guaranteed. The μARTMAP allows a small error on the training set, it finds more compact rule sets when there is an overlap between concept
Wavelet Transforms
3
classes and therefore has no exact solution. Thus this result generalizes μARTMAP as being more robust to noise compared to FUZZY ARTMAP. μARTMAP may be modified to control category growth on each input feature independently. μARTMAP is favoured as compared to other rule pruning or extraction methods. The μARTMAP network has a compact set of rules and also preserves the on-line features. By accepting a small training error, the μARTMAP is able to generate a compact rule set. These rules reflect more reliability on the underlying distribution of the data and hence are more efficient. “Wavelet Theory” is the result of multidisciplinary effort that brought together mathematicians, physicists and engineers . . . . . this connection has created a flow of ideas that goes well beyond the construction of new bases or transforms. - Stephane Mallat.
1.4 Wavelet Transforms The Fourier transforms has been the mainstay of transform – based image processing since 1950s. The word wavelet is due to Morlet and Grossman in the early 1980’s. Wavelet transform makes it easier to compress, transmit and analyze many images [25], [26]. The basis function of Fourier transform are sinusoids, whereas wavelet transforms are based on small waves called wavelets of varying frequency and limited duration. Temporal information is not lost in the wavelet transformation process. In 1987 wavelets were first shown to be the foundation of a powerful new approach to signal processing and analysis called multiresolution theory. Multiresolution theory incorporates and unifies techniques from a variety of disciplines, including subband coding from signal processing, quadratic mirror filtering from digital speech recognition and pyramidal image processing. Multiresolution theory is concerned with the representation and analysis of signals (or images) at more than one resolution, thus enabling one to note those features that might go undetected at one resolution but may be easy to spot at another one. The simplest of wavelets is the Haar wavelet. In discrete form Haar wavelets are related to a mathematical operation called the Haar transform. They are used to compress audio signals and for removing noise. A large collection of wavelet transforms were discovered by Daubechies [30]. The Daubechies Wavelet transforms are defined in the same way as the Haar Wavelet transform – by computing running averages and differences via scalar products with scaling signals and wavelets. For the Daubechies wavelet transforms, the scaling signals and wavelets produce averages and differences using just a few more values from the signal as when compared to the Haar wavelet transform. The simplest of Daubechies transforms is Daub4 wavelet transform. This is defined the same way as the Haar wavelet transform. The DaubJ transforms for J = 6, 8, . . . . . . 20 and Coif I transforms for I = 6, 12, 18, 24, 30 are all quite similar to the Daub4 transform. CoifI wavelets are designed for maintaining a close match between the trend values and original signal values. There are many other wavelet transforms such as Spline wavelet transforms and various types
4
Introduction
of Biorthogonal wavelet transforms. The DaubJ transforms for J = 6, 8, . . . . . 20 are just treated as a simple generalization of Daub4 transform. The most obvious difference between them is the length of the supports of their scaling signals and wavelets. Wavelets provide a powerful and remarkably flexible set of tools for handling fundamental problems in science and engineering. A wide range of problems that are being solved by wavelets include audio denoising, signal compression, object detection, fingerprint compression, Image denoising, Image enhancement, Image recognition, diagnosing heart trouble and speech recognition. Wavelet Transforms have been used to recognize hand written alphabets.
1.5 Gesture Recognition Gesture recognition [66] is an interface with computers using gestures of the human body. A camera reads the movements of the human body and communicates the data to a computer that uses the gestures as input to control devices or applications. This will help the physically impaired to interact with computers using sign language. The technology will eliminate input devices and allow gestures as inputs. Gesture recognition does not require the user to wear any special equipment or attach any devices to the body. The gestures of the body are read by a camera ‘instead of sensors attached to a device’. In addition to hand and body movement, gesture recognition can be used to read facial and speech expressions (ie. lip reading) and eye movements. A number of systems have been designed to use gestural input devices to control computer memory and display. These systems perceive gestures through variety of methods and devices. While all the systems presented identify gestures, only some systems transform gestures into appropriate system specific commands.
Display
Human created
Gesture input device
CPU
Memory
Fig. 1.1. Architecture for Gestural Control of Memory and Display
Murakami’s system inputs the gesture data via a data glove. Instead of geometric modeling a neural network identifies gestures based on a finger alphabet containing 42 symbols. Several hours were required to train the neural network. Darell’s monocular vision processing system accurately identifies a wide variance of yes / no hand gestures [102]. Gestures are represented by a view-based approach and stored patterns are matched to perceived gestures using dynamic fine warping. Through the use of specialized hardware and a parallel architecture, processing time is reduced.
Neural and Functional Networks [22]
5
Baudel’s system [101] uses symbolic gestures to control a Machintosh hypertext program. Baudel’s system identifies natural hand gestures and hence is more intuitive to use than a standard mouse or stylus control system. The ALIVE II system [82] identifies full body gestures opposed to hand gestures, through basic image processing techniques. Here the user can use gestures to point at or grab object in the virtual environment.
1.6 Competitive Hopfield Neural Network The Hopfield neural network is commonly applied to obtain an optimal solution in various scheduling applications. A competitive learning rule provides a highly effective solution that reduces the network complexity. This feature is applied to the Hopfield neural network to derive a new technique called the Competitive Hopfield Neural Network technique (CHNN) [93]. A competitive learning rule reduces the time consumed in obtaining the coefficients and also provides an effective and sound solution. The CHNN has been applied to various fields such as image clustering processes, medical image segmentation and color image segmentation and also for polygonal approximation. The CHNN was used in the study to resolve a multiprocessor scheduling problem with time constraints (execution time and deadline), no process migration and limited resources. The CHNN ensured an appropriate approach to solving scheduling problems, when imposed on the energy function proposed in [93]. The CHNN was considered on a multiprocess in a multiprocessor system and attempted to obtain a set of schedules.
1.7 Neural and Functional Networks [22] Artificial neural networks have been recognized as a powerful tool to learn and reproduce systems in various fields of application. Neural Networks are inspired by brain behaviour and consist of one or several layers of neurons connected by links. Artificial neurons are concatenated or assembled to build a neural network with the aim of reproducing a multi dimensional function giving a set of output values as a function of the corresponding set of input values. The neural network has the ability to learn from data. The learning process is achieved by changing the networks’ architecture (links) and the connection weights according to the given information. When selecting the topology of the network and its associated weights, the required information can be derived either from data, or from domain knowledge, or from different combinations of the two. Earlier research tended to be on the data end of the spectrum, but subsequent research gradually has introduced the domain knowledge, either as general information about the required function or as specific domain knowledge such as that derived from dimensional theory, to supplement information available in the data. Several of the extensive application of artificial standard neural networks in several domains, are treated as black boxes. This may be an advantage if the user does not care about the functional structure of the function being modeled but will be a great disadvantage if considered otherwise.
6
Introduction
Functional networks [22] is an alternate to artificial neural networks that can bring together information from both ends of the spectrum. They can use domain knowledge to determine the structure of the network and the data to determine the unknown functions, which can be assumed to belong to a given family to be estimated during the learning process. Functional networks require domain knowledge for deriving the functional equations and make assumptions about the form the unknown functions should take. The class of problems where functional networks are most convenient is the class where the two sources of knowledge are available namely domain and data. The main extensions of functional networks as a powerful alternative to standard neural networks are based on (1) the multivariate and multiargument character of neural functions, (2) the possibility of using different neural functions, (3) the possibility of connecting neuron inputs and (4) the fact that neural functions are learned instead of weights when different neuron outputs are connected to the same intermediate or output unit. Functional equations appear that substantially reduce the degrees of freedom of the initial neural functions thus leading to important simplifications. Some applications namely rock identification and hot extrusion of steel using functional networks have been investigated.
1.8 Objectives and Scope of the Investigation This book deals with the following architectures and how they are implemented and their application to pattern recognition problems. 1. to investigate the application of Kohonen Self Organising Map (SOM) in recognition of both Tamil and English alphabets. 2. to apply MicroARTMAP for recognizing hand written characters and numbers. 3. to apply Hu’s method of moments for extracting certain features which are invariant to rotation, scaling and translation transformations. 4. to carry out character recognition using MicroARTMAP with the extracted features. 5. to investigate the application of wavelet transforms in data compression and to recognize characters using MicroARTMAP with these compressed coefficients. 6. to study the application of MicroARTMAP for pattern recognition in civil engineering problems. 7. to make comparison of the efficiency of MicroARTMAP with BPN in gesture recognition. 8. to solve scheduling problem with Competitive Hopfield Neural Networks.(CHNN). 9. to apply Functional Networks and Multiple Regression methods to rock identification problem and hot extrusion of steel.
1.9 Organization of the Book Chapter 2 discusses the architectures chosen relevant to the investigation. Recognition of handwritten alphabets using Kohonen Self Organizing Map has been described in Chapter 3.
Summary
7
Chapter 4 describes the architecture of the MicroARTMAP and its capability. The MicroARTMAP is augmented with a moment based feature extractor and applied to character recognition in Chapter 5. Chapter 6 illustrates the use of wavelet transforms together with MicroARTMAP for character recognition. Gesture Recognition and signature verification using MicroARTMAP and Back Propagation Network have been compared and presented in Chapter 7. Solving scheduling problem by means of a Competitive Hopfield Neural Network is discussed in Chapter 8. Multiple Regression methods considered as a recognizer is compared with functional networks in solving certain problems as shown in Chapter 9. Conclusion and further applications are suggested in Chapter 10.
1.10 Summary In this chapter the various neural network architectures and other domains taken for study have been introduced briefly. They are the Kohonen Self Organizing Map, MicroARTMAP, Wavelet Transforms, Competitive Hopfield Neural Networks, Multiple Regression and Functional Networks. The survey of the literature relevant to the study has been referred to in the places appropriately. The scope and objectives of the study are mentioned clearly.
2 Review of Architectures Relevant to the Investigation
2.1 Introduction Humans recognize the faces of friends in a crowd, characters and words on the printed page, the voices of acquaintances, favourite melodies, the scent of fresh lime, textures of tree bark, patterns of weave in cloth, the shape of leaves and the contextual meaning in word phrases. The senses preprocess signals such as sound or light waves that have been modulated. The preprocessed modulated signals are then mapped into a decision that equates to recognition of the object. Such processing discriminates subtle differences in the modulation of the signals to perform pattern recognition. When it is determined that an object from a population P belongs to a known subpopulation S, then pattern recognition is done. Recognizing a single object is identification, whereas classification is the process of grouping objects together into classes (subpopulations) according to their perceived similarities. Pattern recognition includes both classification and recognition [4], [9]. Reasoning is a process of applying general rules, equations or relationships to an initial collection of data to deduce a result. Learning is done by a system when it records its experience into internal system changes that cause its behaviour to be changed. Classification is a form of learning whereas recognition is a form of reasoning. Automated pattern recognition systems use computers that execute programs of instructions to implement mathematical algorithms. Applications exist in every field like optical character recognition, recognition of printed characters, recognition of spoken words, recognition of biochemicals from samples of blood, hair and tissue and recognition of patterns in physiological signals like ECG (Electrocardiogram) and EMG (Electromyogram). On attempting to understand the human computational power, two new fields emerged, fuzzy logic and artificial neural networks [55], [88]. Though developed independently, merging them gets us closer to understanding the human computational power. Approximate human reasoning in knowledge - based systems resulted in fuzzy logic [111]. The quest for mimicking the biological sensory systems in pattern recognition resulted in neural networks [78], [9]. Though pattern recognition is still at the heart of neural networks applications, they have also been proven useful in many other applications such as V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 9–13. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
10
Review of Architectures Relevant to the Investigation
optimization, computations and decision making. Neural networks have the advantage of learning, adaptation and fault tolerance [106]. The crucial steps in using functional networks to solve a problem requires the understanding of the problem, the topology of the initial functional network to be selected based on the knowledge of the problem, simplification using functional equations, obtaining the data required to train the functional network and estimating the functions to be learned. Both linear method and non linear methods are used in learning the functions. Both neural networks and functional networks have been used for pattern recognition and results are fruitful.
2.2 Recognition through Self Organizing Map The Kohonen’s feature map or the Self-Organizing Map (SOM) is used to categorize alphabetic characters. The self-organizing map is an unsupervised network [59], [60], [62] and hence the network is not fed with the desired outputs. It is able to infer relationship and learn more by its self-organizing properties. The strategy used in SOM is winner-take-all strategy. The process adopted tends to support the competitive learning thereby singling out a winner neuron for a given pattern. The SOM (Self Organizing Map) recognized both Tamil and English alphabets in our study. [103]
2.3 The μARTMAP [35] Artificial neural networks [35] have been applied successfully to a wide variety of realworld problems and are capable of performing far better than some of the common symbolic learning algorithms. They are applied in tasks which need a human supervisor to confirm and have confidence in the way the network makes its predictions or detection of salient features hidden in the data which went previously unnoticed. Neural networks are used for knowledge refinement provided their concepts were easily interpretable. Though the Back Propagation type neural networks and Adaptive Resonance Theory networks were advanced in nature, the IF – THEN rules were derived more readily from a Fuzzy ARTMAP [10] architecture only. The fuzzy ARTMAP inherently represents acquired knowledge in the form of IFTHEN rules and large or noisy data sets cause them to generate too many rules [17]. This is known as category proliferation. A new architecture called μARTMAP (MicroARTMAP) has been proposed by Sanchez et al. in [35] which combines probabilistic information in order to reduce the number of categories by optimizing their sizes and the use of an inter-ART reset mechanism which allows the correct treatment of exceptions. Under a probabilistic setting, the μARTMAP seeks a partition of the input space that optimizes the mutual information with the output. The μARTMAP is similar to fuzzy ARTMAP in several ways but is more robust to noise than the Fuzzy ARTMAP and less degrading as dimensionality increases. This network has been applied to the recognition of handwritten characters and performs comparably to fuzzy ARTMAP while generating a much more compact rule set.
Competitive Hopfield Neural Network
11
2.4 Wavelet Transforms and MicroARTMAP Wavelet transforms are used to evaluate and process signals. The field includes work by Ingrid Daubechies, Y. Meyer, Ronald Coifman and Victor Wickerhauser [25], [26]. Wavelet transforms are capable of providing the time and frequency information simultaneously, thus giving a time-frequency representation of a given signal. The wavelet coefficients that have to be calculated at every possible scale involves a lot of data being generated. The dyadic scales and positions are chosen and they are obtained from the discrete wavelet transform (DWT). The Mallat algorithm [70] yields a fast wavelet transform, which allows wavelet coefficients to emerge quickly. The wavelet db1 is used to obtain the coefficients from the handwritten character which are further given as compressed inputs to a MicroARTMAP to recognize handwritten characters.
2.5 MicroARTMAP and Gesture Recognition The primary goal of gesture recognition [66] is to create a system which can identify specific human gestures and use them for device control or to convey information. Vision based user friendly interfaces like hand gestures are used for man-machine interaction. The hand gesture image is transformed to the wavelet domain and features are extracted. These features are fed as inputs to MicroARTMAP which are trained to recognize them. Signatures were recognized using MicroARTMAP and Block Processing [6].
2.6 Competitive Hopfield Neural Network Various schemes have been developed for solving scheduling problems. Generally linear programming was used to determine the cost function based on a specific scheduling problem. Willems and Rooda [110] translated the job shop scheduling problem into a linear format and then mapped it into an appropriate neural network structure to obtain a solution. Hopfield and Tank [48] led the way in using the neural network to solve optimization problems. The basic operation of the Hopfield neural network co-operatively decides neuron output state information based on the state input information from a community of neurons. The neurons apply this information to drive the network to achieve convergence. Each neuron exchanges information with other neurons in the network. They allow the energy function to reach an optimum solution with less computation. The energy function [49], [93] used in the Hopfield Neural Network is an appropriate Lyapunov function. A job schedule problem of a multiprocess on a multi processor that includes timing as well as resource constraints has been investigated via a competitive Hopfield neural network (CHNN). The energy function as proposed in [93] is used to illustrate the timing and resource constraint and is according to the intrinsic constraints of the scheduling problem. The energy functions are translated to the CHNN algorithm. The energy function converges as seen through the simulation examples. The problem is focussed on resource utilization. Each job would require different resources in a specific
12
Review of Architectures Relevant to the Investigation
order at different times. The energy function can be modified by adding additional terms to satisfy additional requirements. ⎛ ⎞2 N M T T N M T M C2 C3 ⎝ E= Vijk Vij1 k1 + Vijk − Pi ⎠ 2 i=1 j=1 2 i=1 j=1 j =1 k=1
+
1 j=j1
k1 =1
k=1
N M T C5 Vijk G2ijk H(Gijk ) 2 i=1 j=1 k=1
+
N M T M F N C6 Vijk Ris Vi1 j1 k Ri1 s 2 i =1 j =1 s=1 i=1 j=1 k=1
1 j=j1
(2.1)
1 j=j1
The synaptic interconnection strength, Wxyzijk and bias input θijk are given as Wxyzijk = −C2 δ(x, i)(1 − δ(y, j)) − C3 δ(x, j) −C6 (1 − δ(x, i))(1 − δ(y, j)) δ(z, k)
Rxs Ris
(2.2)
s
and θxyz = −C3 Pi +
C5 2 G H(G) 2
(2.3)
1 if a = b 0 if a = b The term θxyz in the energy equation 2.1 has been modified from [93] by removing the term Ckt when the program was terminated for E = 0.
where δ(a, b) =
2.7 Functional Networks and Multiple Regression Analysis Functional networks were introduced by Castillo [21], [22] as a powerful alternative to neural networks. Functional networks use domain knowledge in addition to data knowledge. They conveniently deal with the class where both the sources of knowledge are available. Regression approximately maps a set of given example input points into a given set of output points and this is equivalent to recognition. Functional networks control a system by recognizing the state of the system and hence are tools for non-linear regression analysis. The results obtained for two applications by both multiple regression method as well as functional network method agree well.
2.8 Summary Neural networks can be used for problems that cannot be solved with a known formula and for problems with incomplete or noisy data. They have the capacity to recognize
Summary
13
patterns in the data presented to them and are thus useful in many types of pattern recognition problems. Functional networks is a generalization of neural networks bringing together knowledge and data. They are more efficient and powerful taking less computer time when compared with neural networks. The functional network uses two types of learning. They are structural learning and parametric learning. In some functional networks, the learning method leads to a global minimum in a single step, thus reducing the learning time and also the problems associated with local and global optima.
3 Recognition of English and Tamil Alphabets Using Kohonen’s Self-organizing Map
3.1 Introduction The Kohonen feature map or the Self-Organizing Map (SOM) is used to recognize or categorize alphabetic characters [47], [59], [60], [61], [62]. The SOM is an unsupervised network and hence no expected outputs are presented to the neural network. By its self-organizing properties, it is able to infer relationships and learn more, as more inputs are presented to it. The network is able to recognize all the English and certain Tamil alphabets and also garbled versions of the same.
3.2 Recognition of Handwritten Characters Using Ordered List of Image Pixels on Its Boundary Handwritten characters (alphabets, numbers and signs) are recognized using the algorithm for computing an ordered list of the boundary pixels [9]. The handwritten characters are compared with the stored pattern of the characters and recognized when it matches to about 70 per cent and above. When the percentage is less while matching, the nearest matching alphabet is given along with the percentage of match. Provision is made to teach the handwritten pattern of Tamil and English alphabets in the program in visual basic with Aishwarya Tamil font and the newly taught handwritten character is stored in memory. Every drawn character is first passed and the software changes the image into lower resolution. The user may teach the character into the system. This will be encoded and stored in a database for recognition. During recognition process the best match for the drawn character will be retrieved. Figs. 3.1, 3.2, 3.3 and 3.4 show the various characters recognized by the program. About 70% match was obtained by the program for the example patterns that were considered. Algorithm (Ordered List of Boundary Pixels) [9] 1. Scan the image (left to right, top to bottom) until a pixel in the desired region is entered. 2. If the current pixel is in the object, turn left (compared to the direction from which the current pixel was entered) and step one pixel in that direction. V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 15–26. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
16
Recognition of English and Tamil Alphabets Using Kohonen’s Self-organizing Map
Fig. 3.1. Recognition of Alphabet P
Fig. 3.2. Recognition of Alphabet Close to R
Recognition of Handwritten Characters Using Ordered List of Image Pixels
Fig. 3.3. Nearest Recognition of U
Fig. 3.4. Alphabet A Taught to the System
17
18
Recognition of English and Tamil Alphabets Using Kohonen’s Self-organizing Map
3. Else if the current pixel is outside the object turn right and step one pixel in that direction. 4. Repeat steps 2 and 3 until the first pixel is entered a second time from the same direction, then stop. Each time a region pixel is entered, its location is placed on an ordered list, with the restriction that a pixel is never placed on the list twice in succession and the starting pixel is not listed the first time it is entered. Inconsistency of the Algorithm This algorithm is inconsistent in its treatment of corner-connected regions. The one pixel region at the upper right is as if it were a part of the main object, while the region on the lower right is not. But this inconsistency would not matter in images where corner-neighbouring regions do not appear [9].
3.3 The Kohonen Feature Map The Kohonen SOM (Fig. 3.5) is a case of using winner-take-all strategy and is found to recognize alphabets. Inputs xj with weights wij are fed into each of the neurons in the Kohonen layer (from the input layer). Each neuron determines its output according to the general weighted sum formula. Output = wij xj (3.1)
Input layer
Kohonen layer W
1 0 0 0 0 0
Fig. 3.5. Kohonen Network
Representation of Characters
19
The weights and inputs are usually normalized. The winning neuron is the one with the largest output and this has a final output of 1.
3.4 Normalization of a Vector If A = ax + by + cz is a vector, then A’the normalized vector is obtained by multiplying 1 each component of A by √a2 +b . Both the weight vector and the input vector are 2 +c2 normalized during the operation of the SOM. The reason for this is that the training law (3.2) uses subtraction of the weight vector from the input vector.
3.5 Training Law The training law used is Wnew = Wold + alpha ∗ (Input − Wold )
(3.2)
alpha is a gain constant between 0 and 1. The old weight vector and the input vector are normalized to unit length.
3.6 Neighbourhood Size The neurons that are within the distance specified by the neighbourhood size participate in training and the weight vector changes. Those outside this distance do not participate in the learning. The neighbourhood size is started as an initial value and is decreased as the input pattern cycles continue. The process tends to support the winner-take-all strategy by eventually singling out a winner neuron for a given pattern.
3.7 The Kohonen Network The Kohonen network [3], [14], [18], [103], [107], has two layers, an input layer and a Kohonen output layer. The input layer size is determined by the user and must match the size of each row (pattern) in the input data file. The lateral inhibition and excitation is modeled by looking at the maximum output for the output neurons and making that output belong to a winner neuron. Other outputs are set to zero. Training or weight update is performed on all outputs that are within a neighbourhood size distance from the winner neuron. The criterion for ending the program pattern.cpp is the average winner distance (see Appendix – F). This is the Euclidean distance between the input vector and the winner’s weight vector. This is the square root of the sum of the squares of the differences between individual vector components between the two vectors.
3.8 Representation of Characters Each character (English, Tamil alphabet or mathematical sign) is represented by a 5 × 7 grid of pixels. The graphical printing characters of the IBM extended ASCII character is done using grayscale output for each pixel. The blackened boxes represent value one and empty boxes are represented by a zero.
20
Recognition of English and Tamil Alphabets Using Kohonen’s Self-organizing Map
The alphabet A
Tamil alphabet Pa
00100 01010 10001 10001 11111 10001 10001
10001 10001 10001 10001 10001 10001 11111
The letter A is put in the input file. The input is in serialized rows so that all entries appear on one line. Letter A 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 Letter Pa 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 Many characters (including Tamil alphabets) are presented to the Kohonen map and the output response is noted. The Kohonen map goes through the cycles and learns the input patterns. The weight vectors develop a pattern. The weight vectors tend to become aligned with the input vectors. So after a while the weight vector for the input will resemble the input pattern that is being categorized.
3.9 Weight Vector The weight vector is quantized into four bins. Each of these is represented by a different ASCII graphic character so that the grayscale values for each weight vector can be seen. Quantizing the Weight Vector Hmax , then mapping defined by μARTMAP is too entropic. The ARTa node J that has maximal contribution to the total entropy. J = arg max hj , j = 1, . . . Na is searched and removed (ie wJa = 1, wJa = 0). The baseline vigilance is set to
ρa =
| wJ | RJ = 1 − a + ρ Ma M
This is done so that RJ ≤ M(1 − ρa ) (the category size is bounded) All the patterns that previously selected the Jth ARTa category are presented and the rest are not presented. This process continues till H < Hmax . 4.4.10
μARTMAP Prediction
th
The J ARTa node is selected so that TJ (I) value is highest and then the node correb sponding to the Kth J ART category is predicted. ab , k = 1, . . . ..Nb }. KJ = arg maxh {wjk
KJ has the most frequent association to node J. 4.4.11
Fast Learning in μARTMAP a
When ρ = 0, hmax = 0, fast learning is assumed [104], [109]. All patterns associated with a given class label will be inside the same ARTa hyper box, which is arbitrarily large. The off-line evaluation will measure the probabilistic overlapping of the created hyper boxes. This is related to the number of patterns that select a different category when inter-ART reset is enabled and when it is disabled. This happens as the inter-ART reset does not raise ARTa vigilance. Overlapping of patterns will be large if H > Hmax . Learning is stopped when H = 0 that is when there is no overlapping in the input space.
Summary
4.4.12
49
Refining a Hyper Box
The hyper box to be refined is deleted and all patterns that previously selected that particular hyper box are presented again. Smaller hyper boxes are forced to cover the same region. Through this batch learning process, large hyper boxes are placed in regions where all patterns have the same class label, while small hyper boxes are placed in the boundaries between classes. Populated exceptions are handled with one large hyper box which is a general rule and a specific rule is represented by one smaller hyper box. 4.4.13
μARTMAP Rules
The μARTMAP rules are extracted from the weights in the form [11], [12], [63]. IF a is cj THEN output is LK (priority Pi )
(4.35)
this means that pattern a selects the jth category and LK is the predicted label. The most general rule that is the category with largest hyper box is evaluated. If the just rule is impure, then μARTMAP dynamically finds some category that augments the mutual information between input and output partitions. When entropy has been reduced sufficiently μARTMAP training algorithms stop [65]. The rules of μARTMAP are constructed to be as general as possible. These general rules are refined with increased specifications.
4.5 Summary The Fuzzy ARTMAP unites two fuzzy ART networks to solve problems of supervised learning and prediction. A minimax learning rule controls ARTMAP category structure. It both minimizes predictive error and maximizes code compression. ARTMAP automatically constructs a minimal number of recognition categories to meet accuracy criteria. An ARTMAP voting strategy improves prediction by training the system several times using different orderings of the input set. Voting assigns confidence estimates to competing predictions given small, noisy or incomplete training sets. The MicroARTMAP is a modification of Fuzzy ARTMAP that includes an inter – ART reset mechanism. This reset mechanism does not cause category proliferation, while the predictive accuracy is guaranteed by an off-line learning stage.
5 Applications of MicroARTMAP
5.1 Introduction The microARTMAP was operated in two modes, both in the training mode and in the testing mode. It was trained to recognize hand written alphabets. The microARTMAP was also augmented with a moment-based feature extractor to recognize hand written characters and was found to perform well for slight variations with increased sample size. The microARTMAP gives promising solutions to practical problems in civil engineering like classification of soil problem, finding the load from yield pattern of a plate and finding earthquake parameters from a given response spectrum.
5.2 Recognition of Handwritten Alphabets by μARTMAP μARTMAP has been tested to recognize hand written upper case letters (in English and Tamil) given in a 7 x 5 matrix form. The input space has 30 patterns in 7 x 5 matrix with each pattern having 10 noisy data. Noise was applied randomly. Handwritten characters were taught first and then noisy data entered. Some of the handwritten characters are given in Fig. 5.1. A total of 300 x 35 input and 300 x 5 outputs are given to the network and the network is trained using program handpgm1.m (see Appendix – A). Data = 30 ( 26 English + 4 Tamil alphabets ) Training is done in 27 steps SIZE (INPUT) = 300 x 35 SIZE (OUT) = 300 x 5 The details of the recognition of alphabets is given below:
Input Alphabet A (exact pattern) O (noisy pattern) R (noisy) Pa (noisy)
Output Step Recognition 00001
23rd
Correct
01111
th
Correct
24
th
Correct
14
th
Correct
00100 11101
15
V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 51–71. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
52
Applications of MicroARTMAP
Fig. 5.1. Sample of Handwritten Characters
Recognition of Handwritten Alphabets by μARTMAP Augmented
53
5.3 Recognition of Handwritten Words by μARTMAP Each handwritten alphabet (26 in English and 4 in Tamil) is given in a 7 x 5 matrix form as input. The input space has 30 patterns totally. There are 10 noisy data for each pattern and the number of samples are 30 x 10 = 300 in 7 x 5 matrix form. The program handpgm2.m (see Appendix – G) has been written to train and to recognize any word input to the network. After training the network, any word given as input (though noisy) is easily recognized by the network. Data = 30 ( 26 English + 4 Tamil alphabets ) Training is done in 27 steps SIZE (INPUT) = 300 x 35 SIZE (OUT) = 300x 5 Total time for training and recognition of word (WORD =0.5313 sec). The word WORD consists of four characters W, O, R, D. The details of the recognition of the word (WORD) is given below:
Input Alphabet W (exact pattern) O (noisy pattern) R (noisy) D (noisy)
Output Step Recognition 10111
23rd
Correct
01111
th
Correct
00100 00100
15 4
th
Correct
4
th
Correct
5.4 Recognition of Handwritten Alphabets by μARTMAP Augmented with Moment-Based Feature Extractor 5.4.1
Introduction
Optical character recognition of hand printed characters is widespread nowadays. Images of pages in text are converted to ASCII character files for editing and combining with other files. Generally these systems operate on typed fonts. The problem of recognition becomes more difficult for hand-printed alphanumeric characters. There are many different styles of hand printing for any given person, and within a given style there are also many variations. Any given person prints rather differently at different times, depending on pen or pencil, the width of the lines, the slight rotation of the paper, the type of paper or digitized pad, and the mood and stress level of the person. For example, there may be a deep loop in a character at one time and not at another time. Moreover the line endings may have unintentional serifs. There are similarities between certain characters. A “2” may appear to be a “Z” or vice versa (Fig. 5.2). An “a” may appear as “9”, or a “h” may appear as “n”. If the recognition features are invariant under rotation then a “d” and “p” will have the same features. Hence some features that are not rotation-invariant would distinguish these characters. Each character is thus treated as a texture and the texture features are
54
Applications of MicroARTMAP
Quarter 1
Quarter 2
c.m. Quarter 3
Quarter 4
Soil Classification
Fig. 5.2. The Character “Z” and Quarters
0.8 0.6 0.4 0.2 0 0
5
10
15
Data No SLNN (Eq)
MICRO ARTMAP
Fig. 5.3. Soil Classification
20
Recognition of Handwritten Alphabets by μARTMAP Augmented
55
extracted. Moment invariants are used as the features for recognition of handwritten alphabets [39], [51]. Images are generally subjected to various geometric disturbances or pattern perturbations. Hence it is very essential that features that are invariant to orientations be used for purposes of recognition or classification. For 2D images, moments have been used to achieve Rotation (R), Dilation (D) and Translation (T) invariants and are shown in the Table 5.1. Herein we use Hu’s moments [51]. The normalized moments η are defined as ((p+q)/2+1)
ηpq = μpq /(μ00
(5.1)
where p + q ⎪ a22 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ a 23 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ .. ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ a31 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩a ⎪ ⎭ 32
(9.7)
or ej =< bj > {a}
(9.8)
The sum of the squares of the error for all the data is given by E=
ndata
ndata
eT j ej =< a > (
j=1
{bj } < bj >){a} =< a > [A]{a}
(9.9)
j=1
To have uniqueness of solution assuming initial values {xk0 } and the function αk , the following must be satisfied. fk (xk0 ) =
mk
aki φki (xk0 ) = αk
(9.10)
i=1
and writing it in matrix form ⎡ ⎤ {φ10 } {0} {0} ⎢ ⎥ < a > ⎣ {0} {φ20 } {0} ⎦ − < α1 α2 α3 >= 0 {0} {0} {φ30 }
(9.11)
Multiple Regression Methods and Functional Networks
127
or (9.12)
< a > [Φ0 ]− < α >= 0 Using the Lagrangian multiplier technique, an augmented function is defined as R = E+ < a > [Φ0 ]{λ}− < λ > {α}
(9.13)
R =< a > [A]{a}+ < a > [Φ0 ]{λ}− < λ > {α}
(9.14)
or R is minimized by considering ∂R = 2[A]{a} + [Φ0 ]{λ} = 0 ∂{a} ∂R = [Φ0 ]T {a} = {α} ∂λ or
2[A] [Φ0 ] [Φ0 ]T [0]
{a} {λ}
=
{0} {α}
(9.15)
(9.16)
or [G]{u} = {v}
(9.17)
It is noted that [G] matrix is symmetric. Once unknowns {u} are solved for any given x1i , x2i one can write ˆf3 (x3i ) = f1 (x1i ) + f2 (x2i ) = a31 + a32 x3i
(9.18)
x3i = (ˆf3 (x3i ) − a31 )/a32
(9.19)
or If higher order functions are assumed for f3 (x3i ), then non-linear equations have to be solved for x3i using the bisection or Newton-Raphson method. This is time consuming and hence for all the problems considered only a first order function has been assumed for f3 (x3i ).
9.5 Multiple Regression Methods and Functional Networks Multiple regression is a method for using data to sort out the predictive value of the competing predictors. Multiple regression uses many independent variables to predict or explain variation in a quantitative dependent variable. It is an extremely useful way to assess the explanatory value of any different, plausible predictors. In many management situations, there are several possible predictors of a result [54]. Multiple regression is used to sort out these plausible predictors to explain variation in the dependent variable [79], [96]. Two examples are considered and the results obtained by both multiple regression method as well as functional network method coincide. Functional networks are used for prediction.
128
Functional Networks
9.6 Rock Identification by Functional Networks Example 1 Rock Parameters The properties of rock mass is influenced either directly or indirectly by a large number of parameters like a) their chemical composition b) the inter - granular structure i.e relative properties of the grain and matrix elements c) the size and shape of the grains d) the nature of the existing deformation in the rock mass which depends on existing geological conditions under the rock mass during formation. The exact dependence of the rock mass property on these various parameters is very difficult to be exactly and explicitly formulated and are more of the site-specific nature and they vary from place to place. Chakravarty and Misra [23] predicted rock strength based on micro properties of rock mass and fractal dimension. In this work nine rock properties for each rock type have been considered. Physical Property a) Specific gravity:- This is the relationship, which the weight of all other substances bears to the weight of same volume of pure cold water. b) Porosity:- The shape, size and the nature of packing of grains of a rock give rise to the property of porosity or development of the pore spacing within a rock. Numerically it is expressed as the ratio between the total volume of pore spaces and the total volume of rock sample. Porosity is an important engineering property in the sense that it accounts for the adsorption value of the stones. In most cases, and also that a high porosity signifies a lesser density, which generally means lesser compressive strength. Strength Property a) Compressive strength:- The compressive strength of a rock depends on a number of factors such as its mode of formation, its composition, texture and structure, its moisture content and extent of weathering it has already suffered. Igneous rocks being crystalline in character, compact and interlocks in texture and uniform in structure possesses very high compressive strength compared to sedimentary and metamorphic rocks. b) Tensile strength:- Rocks are rarely subjected to direct tensile load. In the laboratory transverse tensile strength is determined by performing the bending test. When a stone is intended for use as a beam or a lintel, its transverse tensile strength is determined as modulus of rupture. Generally transverse tensile strength is 1/20 to 1/10 of the compressive strength. c) Cohesion:- Cohesion is the resistance to shear when the rock or stone is not subjected any normal stress and the shear resistance of the rock is given by τ = C + σ tan(φ)
(9.20)
where τ, C, σ and φ denote shear strength, cohesion intercept, normal stress and the angle of internal friction. d) Angle of internal friction:- φ in the above equation.
Rock Identification by Functional Networks
129
Elastic Properties Young’s modulus:- As with other solid materials, modulus of elasticity of rocks indicates their deformation under loads. The deformation is recovered when loads are removed. It is determined in accordance with Hook’s law which states that in elastic substances stress is directly proportional to strain and it is expressed as σ E= (9.21) ε where σ and ε denote stress and strain. The slope of the line drawn from the point of origin or zero load as a tangent to the curve is taken initial tangent modulus and it is commonly referred to as Modulus of Elasticity of the material. Index Properties a) Protodyakonov b) Fractal dimension:- The rock properties, which are the characteristics of the nature of formation, are mostly found to be dependent on the nature of the surface that Table 9.1. Normalized Input and Output for Rock Classification Problem Rock Type
specific porosity compress gravity strength
tensile cohesion internal strength friction
youngs modulus
index Protodyakonov
Fractal dimension
quartz-0.1
2.658
0.2
188.89
8.69
34.5
63
102
20
2.054
granite-0.2
2.76
0.77
169.81
9
32
56
92
20
2.238
sandstone-0.3
2.06
16.87
44.96
4.99
18
42
41.6
3.4
2.48
lime stone(HG)-0.4
2.65
11.23
59.92
6.35
14
46
47.5
8.24
2.564
lime stone(LG)-0.5
2.04
15.52
47.2
5.2
6
40
35
6.3
2.434
shale-0.6
2.15
18.5
48.53
4.64
4
42
12.5
5.54
2.217
Max
2.8
20
200
10
40
70
120
25
2.6
Min
2
0
40
4
0
30
0
0
2
Output
NORMALISED VALUES
(input)
0.1
0.8225
0.01
0.930563
0.781667
0.8625
0.825
0.85
0.80
0.09
0.2
0.95
0.0385
0.811313
0.833333
0.8
0.65
0.766667
0.80
0.396667
0.3
0.075
0.8435
0.031
0.165
0.45
0.3
0.346667
0.136
0.8
0.4
0.8125
0.5615
0.1245
0.391667
0.35
0.4
0.395833
0.3296
0.94
0.5
0.05
0.776
0.045
0.2
0.15
0.25
0.291667
0.252
0.723333
0.6
0.1875
0.925
0.053313
0.106667
0.1
0.3
0.104167
0.2216
0.361667
130
Functional Networks
are produced after rock failure. They were studied by Chakravarty and Misra [23] by Scanning Electron Microscope. The scale invariance affine transformed based statistic namely fractal dimension was calculated for the surfaces of rocks by various methods and in this work fractal dimension calculated using Box counting method is considered. Rock Determination Using Functional Networks Six different rock types considered are a) quartz b) sand stone c) lime stone (High grade) d) lime stone (Low grade) e) granite and f) shale. Experimental results were given by Chakravarty and Misra [23] and are given in Table 9.1. Inputs and outputs are normalized with respect to maximum and minimum values. Functional network (FN) of first order for both input and output data is applied assuming initial parameters as 0.5 and α as 0.2. The rocks are classified as 0.1 - Quartz, 0.2Granite, 0.3- Sand Stone, 0.4- Lime Stone with High Grade, 0.5- Lime Stone with Low Grade, 0.6- Shale. The undetermined parameters are given in Table 9.2. The equation for rock classification obtained from FN is given by rc = 0.05926 I1 + 0.0516 I2 − 0.8008 I3 + 0.0433 I4 − 0.2197 I5 −0.23093 I6 − 0.18087 I7 + 0.9329 I8 − 0.24778 I9 + 0.57197 (9.22) where rc denotes the classification of rock and Ii are the normalized values of inputs. Table 9.2. Undetermined Parameters
a n0
a n1
I1: specific gravity
0.4638
-0.5276
I2: porosity
0.4298
-0.4596
I3: compressive strength
-3.3656
7.130
I4: tensile strength
0.3928
-0.3857
I5:cohesion
-0.778
1.9568
I6:internal friction
-0.8281
2.056
I7:youngs modulus
-0.6051
1.6103
I8:Protodyakonov
4.353
-8.306
I9:fractal dimension
-0.9032
2.206
O1: output - rock type 0.1 - 0.6
4.2517
-8.903
Input/Output
Hot Extrusion of Steel
131
Rock classification is also carried out using multiple linear regression with excel package and the equation obtained is rc = 0.178517 I1 + 0.4988 I2 − 0.4966 I3 + 0.28655 I4 − 0.31427 I5 −0.36344 I6 + 0.202859 I7 + 1.22335 I8 − 0.15413 I9 + 0.066171 (9.23) The correlation co-efficient between values from FN and actual value is 0.972457 and FN and multiple regression is 0.978.
9.7 Hot Extrusion of Steel Example 2 Finite Element Simulation A number of finite element simulations are performed for forward hot extrusion of a preform for transmission shaft with various die angles and punch velocities using the automatic remeshing scheme and using six noded triangular elements. A solid steel cylinder at 1050 deg centigrade is with Dies that are kept at 100 deg centigrade. The material parameters chosen are m = 0.02; n = 0.01; α = 0.2Sp−m . mm−p where m,n and α denote strain rate sensitivity index, strain hardening exponent and material thermal constant [46]. The geometry is axi-symmetric in nature and hence only one half of the part is idealized. The variation of forging force with different die angles and punch velocities along with equivalent strain, equivalent stress and equivalent strain rate are obtained. Simulation The simulated data obtained with Finite Element Analysis are used in Functional Networks. It consists of two inputs namely die angle (x1 ) and punch velocity (x2 ) and the output being forging load (x3 ). All the inputs and outputs are normalized with respect to their maximum values viz: 100, 1400 and 400 respectively and the normalized inputs and outputs are shown in Table 9.3. The initial values (x1 )0 , (x2 )0 , (x3 )0 can be chosen as 0.5 and α1 , α2 , α3 as 0.2. Second order function is applied for inputs and first order function is applied for the output. The undetermined parameters are given in Table 9.4. Using the undetermined parameters, the equation Eq. can be written as (1.53078 − 3.46517 x3 ) = (0.11179 + 1.2938 x1 − 2.2349 x21 −3.4129 + 10.303 x2 − 6.5149 x22 where xi are the normalized values of input and output.
(9.24)
132
Functional Networks Table 9.3. Normalized Inputs and Output
S. No. Die angle/100
Velocity/1400
Forging load/400
Functional
1
9.00E-01
2.86E-01
8.75E-01
8.77E-01
2
9.00E-01
4.29E-01
6.18E-01
6.33E-01
3
9.00E-01
5.71E-01
4.50E-01
4.62E-01
4
9.00E-01
7.14E-01
3.25E-01
3.64E-01
5
9.00E-01
8.57E-01
3.00E-01
3.37E-01
6
7.50E-01
2.86E-01
8.38E-01
7.73E-01
7
7.50E-01
4.29E-01
5.50E-01
5.30E-01
8
7.50E-01
5.71E-01
4.30E-01
3.58E-01
9
7.50E-01
7.14E-01
2.80E-01
2.60E-01
10
7.50E-01
8.57E-01
2.50E-01
2.34E-01
11
6.00E-01
5.71E-01
3.75E-01
2.84E-01
12
4.50E-01
2.86E-01
6.83E-01
6.53E-01
13
4.50E-01
4.29E-01
4.55E-01
4.09E-01
14
4.50E-01
5.71E-01
3.25E-01
2.38E-01
15
4.50E-01
7.14E-01
1.95E-01
1.40E-01
16
4.50E-01
8.57E-01
1.25E-01
1.13E-01
17
3.00E-01
2.86E-01
6.50E-01
6.37E-01
18
3.00E-01
4.29E-01
2.75E-01
3.93E-01
19
3.00E-01
5.71E-01
3.18E-01
2.22E-01
20
3.00E-01
7.14E-01
8.40E-02
1.23E-01
21
3.00E-01
8.57E-01
6.60E-02
9.69E-02
22
1.50E-01
2.86E-01
6.20E-01
6.49E-01
23
1.50E-01
4.29E-01
4.30E-01
4.05E-01
24
1.50E-01
5.71E-01
2.93E-01
2.34E-01
(Correlation co-efficient between functional and actual values = 0.972457).
Hot Extrusion of Steel Table 9.4. Undetermined Parameters
Input/output
a s0
a s1
as2
I1
0.11179
1.2938
-2.2349
I2
-3.4129
10.303
-6.5149
O1
1.53078
-3.46157
1.00 0.90 0.80 0.70 forging load/400 0.60 0.50 0.40 0.30 0.20 0.10 0.00 0
5
10
15
20
data no actual
functional
Fig. 9.3. Comparison of actual vs functional networks
25
133
134
Functional Networks
Eq.(9.23) may be rewritten in a such a way to get the forging load in normalized form (x3 ) in terms of normalized inputs as x3 = 1.3935 − (10.3737 x1 + 2.976 x2 ) + (0.6456 x21 + 1.882 x22 )
(9.25)
Converting the above equation from normalized values to actual values the forging load FL (x3 ) can be given as FL = 558.32 − (1.495 x1 + 0.8502 x2 ) + (0.025824 x22 + 0.000362 x22 )
(9.26)
The prediction of forging load by neural network is compared with actual values in Fig. 9.3 and the accuracy is quite good with a correlation coefficient of 0.972676. To determine the optimum value (minimum) for forging load, the Expression given in Eq. (9.25) has to be differentiated with respect to input parameters as ∂(FL) = −1.4952 + 0.05164 x1 = 0; x1 = 28.945 deg ∂x1 ∂(F L) = −0.8502 + 0.000724 x2 = 0; x2 = 1174.3 mm/sec ∂x2
(9.27)
With the above values the minimum forging load is given by 37.4 tonnes as against 26.4 obtained for 30 deg die angle and 1200mm/sec punch velocity given in Table 9.3. This may be due to error in the data in Table 9.3 i.e. forging load for 30 deg die angle and 800 velocity is given as 127 but it should be less than 110. Similarly functional network may be applied to determine the equivalent strain, stress and strain rate with respect to die angle and velocity.
9.8 Summary Functional Networks introduced by Castillo et al. [21], [22] proved to be a powerful alternative to standard Neural Networks. Neural Functions are learned in Functional networks rather than weights. Regression approximately maps a set of given exemplar input points into a given set of output points. This association process is equivalent to recognition. When a neural network is trained and tested on a good set of exemplar data that is sufficiently large to determine a solution set of weights then it becomes a valid nonlinear model of a system that maps the given inputs to the desired outputs.
10 Conclusions and Suggestions for Future Work
10.1 Conclusions In this work, four specific Neural Network architectures viz., (i) Kohonen’s Self Organizing Map (SOM), (ii) MicroARTMAP and (iii) Competitive Hopfield Neural Network (CHNN), (iv) The Back Propagation Network (BPN) and Functional Networks (FN) have been applied to different problems. Compared to BPN , functional networks are easy to apply to practical problems such as rock identification and hot extrusion of steel. Classification of soil is done with the help of MicroARTMAP and the results are compared with those obtained by SLNN. For response spectrum MicroARTMAP is applied to obtain M,S,H,R and MicroARTMAP takes less time for computation when compared with BPN. Wavelet transforms have also been used to compress data. 1. SOM is found to be useful in recognizing English as well as Tamil alphabets. 2. MicroARTMAP performs fast, stable learning in supervised settings when it is used to solve category proliferation problems. 3. It is also seen that the MicroARTMAP recognizes hand written alphabets (English and Tamil) and also words. 4. When MicroARTMAP is augmented with Hu’s moment based feature extractor, hand written alphabets and numbers are recognized even if the characters are translated, scaled or rotated. 5. It is also seen how wavelet transforms have been used for compression of data. Due to less number of inputs MicroARTMAP, takes less time for recognition. 6. MicroARTMAP can effectively be applied to area of civil engineering and is seen to perform effectively in soil classification, earthquake parameter identification and to obtain the ultimate load capacity of plates. 7. A simpler approach like “Block Processing” could be applied along with MicroARTMAP for signature recognition. 8. After training the MicroARTMAP network using 36 alpha numeric exemplar patterns, the network was able to achieve 100 per cent recognition rate. The same recognition rate was achieved with one pixel shifted in right directions (up, down, left, right, up left, up-right, down-right and down-left). An average recognition rate V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 135–136. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
136
Conclusions and Suggestions for Future Work
of about 92 per cent was achieved with two pixels shifted in eight directions. The recognition rate of the two pixels shift cases became about 98.6 per cent after training with 36 exemplar patterns and 360 distorted patterns. The one pixel shift case stayed at 100 per cent recognition rate. 9. Complement coding is an alternative normalization rule. This has the advantage of preserving amplitude information. This uses on cell and off-cell pairs to normalize input vectors. Inputs preprocessed into complement coding form are automatically normalized. Hence proliferation of categories are avoided in MicroARTMAP. 10. The CHNN was used to solve the scheduling problem. The energy function proposed converged and was negative. 11. The functional networks can replace regression analysis and are applied to specific problems 1) hot extrusion of steel 2) rock identification and the results are compared. The correlation between the actual values through multiple regression and the calculated values through functional network are very well correlated with correlation coefficient of 0.978 whereas the correlation co-efficient between values for FN and actual vales is 0.972457.
10.2 Suggestions for Future Work • Kohonen Networks can be modified using fuzzy concepts by considering fuzzy inputs. The Kohonen network may be given fuzzy inputs instead of crisp ones. Fuzzy competitive learning can be introduced. Instead of winner-take-all rule, a learn according to how-well-it-wins rule can be used. Instead of one dominating winning neuron, we can assign a degree of winning to each neuron depending on its distance to the current training pattern. • The μARTMAP can be made to learn each input as it is received on-line rather than performing off-line. The training size was from 100 to 8000 and this may be increased to 1,00,000 randomly chosen for better results. • The input patterns to MicroARTMAP may have imprecise or incomplete features (due to noise corruption). Extraction of features from a given pattern may become costly. So fuzzy inputs can be used instead of exact numerical values. • Neural networks maps inputs to outputs. It approximates a function or relation of cause and effect and acts as an universal approximator. Future systems may extend well beyond problems in control and machine intelligence and one has to model systems that one can control, shape or predict. One may have to deal with large-scale nonlinear systems with many variables. Users may not have experts or common sense to give rules nor neural networks possessing data or only sparse data to learn these rules. Hence neural like learning algorithms may frame these rules (automate framing rules). • The concepts of genetic algorithms [42], cellular automata and cellular genetic algorithms may be applied to the inputs given to MicroARTMAP to improve their performance. • Functional networks may be applied to predict values in other applications. The concept of equivalent functional networks may be studied and a universal functional network obtained.
References
1. Adeli, H., Hung, S.L.: Machine Learning Neural Networks, Genetic Algorithms and Fuzzy Systems. John Wiley and Sons, New York (1995) 2. Aleksander, I., Morton, H.: An Introduction to Neural Computing. Chapman and Hall, London (1990) 3. Amari, S.: Learning Patterns and Pattern Sequences by Self Organizing Nets of Threshold Elements. IEEE Transactions on Computers C-21, 1197–1206 (1972) 4. Anzai, Y.: Pattern Recognition and Machine Learning. Academic Press, Englewood Cliffs (1992) 5. Bajaj, R., Chaudhury, S.: Signature Verification Using Multiple Neural Classifiers. Pattern Recognition 30(1), 1–7 (1997) 6. Benedetto, J.J., Frazier, M.W. (eds.): Wavelets, Mathematics and Applications. CRC Press, Boca Raton (1994) 7. Brigham, E.O.: The Fast Fourier Transform. Prentice-Hall, Englewood Cliffs (1978) 8. Burrus, C.S., Gopinath, R.H., Guo, H.: Introduction to Wavelets and Wavelet Transforms. In: A Primer, Prentice-Hall, Englewood Cliffs (1998) 9. Looney, C.G.: Pattern Recognition Using Neural Networks: Theory and Algorithms for Engineers and Scientists (1997) 10. Carpenter, G.A., Grossberg, S., Markuzon, N., Reynolds, J., Rosen, D.B.: Fuzzy ARTMAP: A Neural-Network Architecture for Incremental Supervised Learning of Analog Multidimensional Maps. IEEE Trans. Neural Networks 3, 698–713 (1992) 11. Carpenter, A., Tan, H.A.: Rule Extraction: From Neural Architecture to Symbolic Representation. Connection Sci. 7(1), 3–27 (1995) 12. Carpenter, G.A., Milenova, B.L., Noeske, B.W.: Distributed ARTMAP: A Neural Network for Fast Distributed Supervised Learning. Neural Network 11(4), 793–813 (1998) 13. Carpenter, G.A., Gjaja, M.: Fuzzy ART Choice Functions, Technical Report CAS CNSTR-93-060, Boston University. In: Proceedings of the World Congress on Neural Networks (WCNN 1994) (1994) 14. Carpenter, G.A., Grossberg, S. (eds.): Pattern Recognition by Self Organizing Neural Networks. MIT Press, Cambridge (1991) 15. Carpenter, G.A., Grossberg, S., Reynolds, J.H.: ARTMAP: Supervised Real-Time Learning and Classification of Non-stationary Data by a Self organizing Neural Network. Neural Networks 4, 565–588 (1991) 16. Carpenter, G.A., Grossberg, S., Rosen, D.B.: Fuzzy ART: Fast Stable Learning and Categorization of Analog Patterns by an Adaptive Resonance System. Neural Networks 4, 759–771 (1991)
138
References
17. Carpenter, G.A., Grossberg, S., Rosen, D.B.: A Neural Network Realization of Fuzzy ART, Technical Report CAS CNS-TR-91-021, Boston University (1991) 18. Carpenter, G.A., Grossberg, S.: The Art of Adaptive Pattern Recognition by a Self Organizing Neural Network. IEEE Computer Magazine 21(3), 77–88 (1988) 19. Carpenter, G.A., Grossberg, S., Rosen, D.B.: ART 2A: An Adaptive Resonance Algorithm for Rapid Category Learning and Recognition. Neural Networks 4, 493–504 (1991) 20. Casagrande, A.: Classification and identification of soils. Trans. ASCE 113, 60–64 (1498) 21. Castillo, E., Ruiz–Cobo, R.: Functional Equations and Modeling in Science and Engineering. Marcel Dekker, New York (1992) 22. Castillo, E.: Functional Networks. Neural Processing Letters 7, 151–159 (1998) 23. Chakravarty, D., Misra, B.: Application of Neural Networks for the Rock Property Prediction. In: Proceedings of National Conference on Neural Networks and Fuzzy Systems, Anna University, Chennai, July 23-25, pp. 166–172 (1997) 24. Chen, R.M., Huang, Y.M.: Multiconstraint Task Scheduling in Multiprocessor System by Neural Network. In: Proceedings of the IEEE Tenth International Conference on Tools with Artificial Intelligence, pp. 288–294 (1998) 25. Christian, B.: Wavelets – a Primer. Universities Press Pvt. Ltd., Hyderabad (2003) 26. Coifman, R.R., Wickerhauser, M.V.: Wavelets and Adapted Waveform Analysis, A Toolkit for Signal Processing and Numerical Analysis. In: Proceedings of Symposia in Applied Mathematics, vol. 47, pp. 119–153 (1993) 27. Coifman, R.R., Wickerhauser, M.V.: Wavelets and Adapted Wave-form Analysis, pp. 399– 424 (1991) 28. Daubechies, I.: Orthonormal Bases of Compactly Supported Wavelets Communication on Pure and Applied Mathematics, vol. 41, pp. 909–996 (1988) 29. Daubechies, I. (ed.): Different Perspectives on Wavelets. AMS, Providence (1993) 30. Daubechies, I.: Ten Lectures on Wavelets. SIAM, Philadelphia (1992) 31. Dixon, M.X., Cole, G.R., Bellgard, M.I.: Using the Hopfield Network with Mean Field Annealing to Solve the Shortest Path Problem in a Communication Network. In: International Conference on Neural Networks, vol. 5, pp. 2652–2657 (1995) 32. Dubois, D., Prade, H.: Fuzzy Sets and Systems: Theory and Applications. Academic Press, Boston (1980) 33. Duric, Z., Li, F., Wechsler, H.: Recognition of Arm Movements. In: Fifth IEEE International conference on Automatic Face and Gesture Recognition, P 0348 (2002) 34. Gose, E., Johnsonbaugh, R., Jost, S.: Pattern Recognition and Image Analysis. Prentice Hall of India, New Delhi (2000) 35. Gomez-Sanchez, E., Dimitriadis, Y.A., Cano Izquierdo, J.M., Coronado, J.L.: μ ARTMAP Use of Mutual Information for Category Reduction in Fuzzy ARTMAP. IEEE Transactions on Neural Networks 13(1), 58–69 (2002) 36. Revuelta, F.F., Garc´ıa Chamizo, J.M., Pic´o, F.I.: Hand Gesture Recognition based on Morphologic Features. In: IX simposium Nacional de Reconoimiento de Formas Y Analisis de Imagenes, Benicassim Mayo (2001) 37. Freeman, J.A., Skapura, D.M.: Neural Networks Algorithms, Applications and Programming Techniques. Addison-Wesley, Reading (1991) 38. Limin, F.: Neural Networks in Computer Intelligence. McGraw Hill Inc., New York (1994) 39. Fukumi, M., Omatu, S., Takeda, F., Kosaka, T.: Rotation Invariant Neural Pattern Recognition System with Application to Coin Recognition. IEEE Transactions on Neural Networks 3(2), 241–251 (1992) 40. Gader, P., et al.: Fuzzy and Crisp Handwritten Character Recognition Using Neural Networks. In: Conference Proceedings of the 1992 Artificial Neural Networks in Engineering Conference, vol. 3, pp. 421–424 (1992)
References
139
41. Carpenter, G.A., Grossberg, S.: Fuzzy Adaptive Resonance Theory – Advanced Research Projects Agency ARPA, the office of Naval Research (ONR N00014-91-J-4100) 42. Goldberg, D.E.: Genetic Algorithms in Search: Optimization and Machine Learning. Addison-Wesley, Reading (1989) 43. Gomez-Sanchez, E., Gago-Gonzalez, Y.A., Dimitriadis, Y.A., Canolzquierdo, J.M., Coronado, J.I.: Experimental Study of a Novel Neuro Fuzzy System for On Line Handwritten Recognition. Pattern Recognition Lett. 19(3), 357–364 (1998) 44. Gupta, M.M., Rao, D.H. (eds.): Neuro-Control Systems: Theory and Applications. IEEE Press, NY (1994) 45. Guyon, I., Albrecht, P., Cun, Y.L., Denker, J., Hubbard, W.: Design of a Neural Network Character Recognizer for a Touch Terminal. Pattern Recognition 24(2), 105–117 (1991) 46. Hans Raj, K., Mangla, P., Srivatsav, S., Patvardhan, C.: A Neural Network Based Process Advisor for Hot Extrusion of Steel. In: Proceedings of International Conference on Cognitive Systems, ICCS 1997, New Delhi, pp. 767–777 ( December 1997) 47. Hecht-Neilsen, R.: Neuro Computing. Addison Wesley, Reading (1990) 48. Hopfield, J.J., Tank, D.W.: Computing with Neural Circuits: A Model. Science 233, 625– 633 (1986) 49. Hopfield, J.J.: Neural Networks and Physical Systems with Emergent Collective Computational Abilities. Proc. of the National Academy of Sciences 79, 2554–2558 (1982) 50. Hopfield, J.J., Tank, D.W.: Neural Computation of Decision in Optimization Problems. Biol. Cybernet 52, 141–152 (1985) 51. Hu, M.K.: Visual Pattern Recognition by Moment Invariants. IRE Trans. Inf. Theory 8, 179–187 (1962) 52. Ibarra Pico, F.: Memorias Associativas Ortogonales Y sus applicaciones en analisis de lectura. Institut de Cultura Juan Gil – Albert ISBN: 84-7784-258-2 (1997) (with English translation) 53. Walker, J.S.: A Primer on Wavelets and their Scientific Applications. Chapman and Hall, Boca Raton (1999) 54. Chandran, J.S.: Statistics for Business and Economics. Vikas Publishing House, New Delhi (2000) 55. Kartalopoulos, S.: Understanding Neural Networks and Fuzzy Logic. IEEE Press, NY (1996) 56. Tom, K.: Simplified Fuzzy ARTMAP, AI Expert, pp. 18–25 (November 1993) 57. Klir, J., Folger, T.A.: Fuzzy Sets, Uncertainty and Information. Prentice Hall, New York (1988) 58. Klir, G.J., Bo, Y.: Fuzzy Sets and Fuzzy Logic. Prentice Hall of India, New Delhi (1997) 59. Kohonen, T.: Self-organized Formation of Topologically Correct Feature Maps. Biol. Cybernet 43, 59–69 (1982) 60. Kohonen, T.: Self-organization and Associative Memory, 3rd edn. Springer, Berlin (1989) 61. Kohonen, T.: Correlation Matrix Memories. IEEE Transactions on Computers 21, 353–359 (1972) 62. Kohonen, T.: The Self Organizing Map. Proc. IEEE 78(9), 1464–1480 (1990) 63. Bart, K.: Fuzzy Engineering. Prentice Hall International, Englewood Cliffs (1997) 64. Bart, K.: Neural Networks and Fuzzy Systems: A Dynamical Systems Approach to Machine Intelligence. Prentice-Hall, New York (1992) 65. Kosko, B.: Fuzzy Entropy and Conditioning. Information Sciences 40(2), 165–174 (1986) 66. Murakami, K., Taguchi, H.: Gesture Recognition Using Recurrent Neural Networks. Journal of the ACM 1(1), 237–242 (1991) 67. Lee, K., Takefuji, Y., Funabiki, N.: A Parallel Improvement Algorithm for the Bipartite Subgraphy Problem. Case Western Reserve University, CAISR Technical Report TR91-105 (1991)
140
References
68. Lee, J.S., Sun, Y.N., Chen, C.H.: Multi-scale Corner Detection by Using Wavelet Transforms. IEEE Trans. Image Processing 4(1), 100–104 (1995) 69. Liang, K.C., Kuo, C.C.J.: Waveguide: A Joint Wavelet-Based Image Representation and Description System. IEEE Trans. Image Processing 8(11), 1619–1629 (1991) 70. Mallat, S.: A Wavelet Tour of Signal Processing. Academic Press, New York (1998) 71. Mallat, S.: A theory for multiresolution signal decomposition, the wavelet representation. IEEE Pattern Analysis and Machine Intelligence 11, 674–693 (1989) 72. Martin, G.L., Pittman, J.A.: Recognizing Hand Printed Letters and Digits Using Back Propagation Learning. Neural Computation 3(2), 258–267 (1991) 73. Merino, E.P., Dimitriadis, Y.A., Garefa, R.G., Lopez, J.C.: A Dictionary Based Neural network Scheme for On-Line Handwriting Recognition. In: Simner, M., Leedham, C., Thomassen, A. (eds.) Handwriting and Drawing Research: Basic and Applied, pp. 343– 358. IOS Press, Amsterdam (1996) 74. Meyer, Y.: Wavelets and Operators. Cambridge University Press, Cambridge (1992) 75. Meyer, Y.: Wavelets: Algorithms and Applications. SIAM, Philadelphia (1993) 76. Moore, B.: ART 1 and Pattern Clustering. In: Touretzky, D., Hinton, G., Sejnowski, T. (eds.) Proceedings of the 1988 Connectionist Models Summer School, pp. 174–185. Morgan Kaufmann Publishers, San Francisco (1989) 77. Nellis, J., Stonham, T.J.: A Neural Network Character Recognition System that Dynamically Adapts to an Author’s Writing Style. In: Conference Proceedings of the 1992 Artificial Neural Networks in Engineering Conference, vol. 3, pp. 975–979 (1992) 78. Pal, S.K., Majumdar, D.K.D.: Fuzzy Mathematical Approach to Pattern Recognition. Wiley Eastern Ltd., New Delhi (1986) 79. Papoulis, A.: Probability, Random Variables and Stochastic Processes, 3rd edn. McGraw Hill, New York (1991) 80. Parado-Hernandez, E., Gomez-Sanehez, E., Dimitriadis, Y.A.: Study of Distributed Learning as a Solution to Category Proliferation in Fuzzy ARTMAP Based Neural Systems. Neural Networks 16(7), 1039–1057 (2003) 81. Patterson, D.W.: Artificial Neural Networks: Theory and Applications. Prentice Hall, Englewood Cliffs (1996) 82. Maes, P., Darell, T., Blumberg, B., Penland, A.: The Alive System: Full-Body Interaction with Autonomous Agents. In: Computer Animation 1995 Conference. IEEE Press, Geneva (1995) 83. Punmia, B.C., Jain, A.K.: Soil Mechanics and Foundations. Laxmi Publications (2005) 84. Gonzalez, R.C., Woods, R.E.: Digital Image Processing, 2nd edn. Pearson Education, London (2004) 85. Rajasekaran, S., Suresh, D., Vijayalakshmi Pai, G.A.: Application of Sequential Learning Neural Networks to Civil Engineering Problems. Engineering with Computers 18, 138–147 (2002) 86. Rajasekaran, S., Vijayalakshmi Pai, G.A.: Simplified fuzzy ARTMAP as pattern recognizer. Comput. Civil Engg., ASCE 14(2), 92–99 (2000) 87. Rajasekaran, S., Vijayalakshmi Pai, G.A.: Image Recognition Using Simplified Fuzzy Artmap Augmented With a Moment Based Feature Extractor. Pattern Recognition, Artif. Intell. 14(8), 1081–1094 (2000) 88. Rajasekaran, S., Vijayalakshmi Pai, G.A.: Neural Networks, Fuzzy Logic and Genetic Algorithms. Prentice Hall India Pvt. Ltd., New Delhi (2004) 89. Sharma, R., Vladimir, L.P., Huang, T.S., et al.: Speech / Gesture Interface to a Visual Computing Environment. IEEE Computer Graphics and Applications 20(2), 29–37 (2000) 90. Raghuveer, R.M., Ajit, B.S.: Wavelet Transforms – Introduction to Theory and Applications. Pearson Education Limited, Singapore (1998)
References
141
91. Watson, R.: A Survey of Gesture Recognition Techniques., Technical Report TCD – CS – 93 – 11, Department of Computer Science, Trinity College, Dublin, Ireland (1993) 92. Rosenblatt, F.: Principles of Neurodynamics. Spartan Books (1962) 93. Chen, R.M., Huang, Y.-M.: Competitive Neural Network to Solve Scheduling Problems. Neuro Computing 37, 177–196 (2001) 94. Salzberg, S.L.: Learning with Nested Generalized Exemplars. Kluwer Academic Publishers, Dordrecht (1990) 95. Robert, S.: Digital Image Processing and Computer Vision. John Wiley and Sons Inc., Chichester (1989) 96. Robert, S.: Pattern Recognition – Statistical Structural and Neural Approaches. John Wiley and Sons Inc., Chichester (1992) 97. Simpson, P.: Fuzzy Min-Max Classification with Neural Networks. Heuristics: The Journal of Knowledge Engineering 4, 1–9 (1991) 98. Soman, K.P., Ramachandran, K.I.: Insight Into Wavelets From Theory To Practice. Prentice Hall of India, New Delhi (2004) 99. Takagi, H., Konda, T., Kojima, Y.: Neural Network Design on Approximate Reasoning and its Applications to Pattern Recognition. In: Proc. of the Intl. Conf. of Fuzzy Logic and Neural Networks, Iizuka, Japan, pp. 671–674 (July 1990) 100. Takeda, M., Goodman, J.W.: Neural Networks for Computation: Number Representation and Programming Complexity. Appl. Opt. 25, 3033–3046 (1986) 101. Baudel, T., Beaudounin, M.: Lafon CHARADE: Remote control of Objects using Free Hand Gestures. Communications of the ACM 36(7), 28–35 (1993) 102. Darell, T.J., Penland, A.P.: Space – time gestures. In: IEEE Conference on Vision and Pattern Recognition, New York (June 1993) 103. Rao, V., Rao, H.: C++ Neural Networks and Fuzzy Logic. MIS Press, New York (2000) 104. Verzi, S.J., Heileman, G.L., Georgiopaulos, M., Healy, M.J.: Boosted ARTMAP. In: Proc. IEEE World Congr. Comput. Intell., WCCI 1998, Anchorage, AK, pp. 395–400 (May 1998) 105. Pavlovis, V.L., Sharma, R., Huang, T.S.: Visual Interpretation of Hand Gestures For Human Computer Interaction: A Review. IEEE Transactions on Pattern Analysis and Machine Intelligence 19(7), 677–695 (1997) 106. Wasserman, Philip, D.: Advanced Methods in Neural Computing. Van Nostrand Reinhold, New York (1993) 107. Wasserman, Philip, D.: Neural Computing. Van Nostrand Reinhold, New York (1989) 108. Whang, B.: Elasto Plastic Orthotropic Plates and Shells. In: Proceedings of the Symposium on Application for Finite Element Methods in Civil Engineering, ASCE, pp. 481–515 (November 1969) 109. Williamson, J.: Gaussian ARTMAP: A Neural Network for Fast Incremental Learning of Noisy Multidimensional Maps. Neural Network 9(5), 881–897 (1996) 110. Willems, T.M., Rooda, T.E.: Neural networks for job-shop scheduling. Control Eng. Practice 2(1), 31–39 (1994) 111. Yager, R. (ed.): Fuzzy Sets and Applications: Selected Papers by L.Z. Zadeh. WileyInterscience, New York (1987) 112. Yager, R.R.: Modeling and Formulating Fuzzy Knowledge Bases using Neural Networks. Neural Networks 7(8), 1273–1283 (1994) 113. Yamakawa, T., Tomoda, S.: A Fuzzy Neuron and its Application to Pattern Recognition. In: Proc. Third Intl. Fuzzy System Association Congress, Japan, pp. 30–38 (1989) 114. You, J., Bhattacharya, P.: A Wavelet-Based Course-to-Fine Image Matching Scheme in a Parallel Virtual Machine Environment. IEEE Trans. Image Processing 9(9), 1547–1559 (2000)
142
References
115. Huang, Y.-M., Chen, R.-M.: Scheduling Multiprocessor Job with Resource and Timing Constraints using Neural Network. IEEE Trans. System Man Cybernet, Part B 29(4), 490– 502 (1999) 116. Zadeh, L.: Fuzzy Sets. Information and Control 8, 338–353 (1965) 117. Zadeh, L.A.: The Role of Fuzzy Logic in the Management of Uncertainty in Expert Systems. In: Gupta, Kandel, Bandler, Kiszka (eds.) Approximate Reasoning in Expert System. Elsevier, NY (1985) 118. Zhang, J., Morris, A.J.: A Sequential Learning approach for single hidden layer neural networks. Neural Networks 11(1), 65–80 (1998) 119. Zimmermann, H.J.: Fuzzy Sets: Decision Making and Expert Systems. Kluwer Academic Publishers, Boston (1987)
Websites ftp : //wuarchive.wustl.edu:/doc/techreports/wustl.edu/math/wawa.ps.Z http : //en.wikipedia.org/wiki/Wavelet http : //wavelet tutorial/rabipolikar/rowan(tutorials) http : //www.amara.com/IEEE Wave/IEEEWavelet.html. http : //www.amara.com/current/wavelet.html. http : //www.amara.com/concurrent/wavelet.html http : //perso.wanadoo.fr/polyvalens/clemens/wavelets/wavelets(tutorials) http : //www.wavelet.org.
Appendix A: MicroARTMAP MATLAB Implementation
MicroARTMAP has two modes of operation: TRAINING: input/output pairs are provided to learn the relation between them, and this knowledge is stored in weight matrices. TEST: input is provided, together with weight matrices, and the output is estimated. Parameters of MicroARTMAP beta rho beta rho 1 2 rho ----A--- ----B--- entropy step parameter mic=[1.0 0.0 1.0 1.0 0 0.08 0.02]’; MicroARTMAP admits the following commands: MAINTENANCE MicroARTMAP(‘create’, TAG, PAR, WA, WB, WAB) MicroARTMAP(‘destroy’, TAG) LIST=MicroARTMAP(‘list’) MicroARTMAP(‘set parameters’, TAG, PAR) PAR=MicroARTMAP(‘get parameters’, PAR) MicroARTMAP(‘set weights’, TAG, WA, WB, WAB) [WA WB WAB]= MicroARTMAP(‘get weights’, TAG) USED=MicroARTMAP(’get used’, TAG) OPERATION MicroARTMAP(’train’, TAG, C, INP, OUT) OUT=MicroARTMAP(’test’, TAG, INP) DOCUMENTATION MicroARTMAP(’ver’) Parameters are as follows: TAG is a string of at most 10 characters. PAR is the parameters vector. V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 143–154. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
144
MicroARTMAP MATLAB Implementation
WA, WB and WAB are weights matrices. INP is a matrix with input data, each row a pattern. OUT is a matrix with the output data, each row a pattern. LIST is a character array USED is [Na Nb], the number of units used in ARTa and ARTb The input matrix INP and the output matrix OUT contain a pattern in each row, and therefore have the same number of rows. Also all input and output elements are normalised to [0,1]. If NaN are present in matrix INP in either test or incremental learning modes, corresponding entry in matrix OUT will be NaN. Also unpredicted samples will be a row of NaN in matrix OUT. WA contains weights of input module, and it is an M by N matrix where N must be two times the number of columns of INP, and M is the maximum number of memory units. WB contains weights of output module, and it is an M by N matrix where N must be two times the number of columns of OUT, and M is the maximum number of memory units. WAB contains weights of inter-ART map, and it is matrix of Ma, the number of rows in WA, by Mb, the number of rows in WB. It contains frequencies of associations between ARTa and ARTb categories. All weights are initialised to 1 before first learning. PAR is a column vector containing the following eight parameters: input module: output module: control or error:
BETA : learning rate (w,v weights) RHO : vigilance factor BETA : learning rate (w,v weights) RHO : vigilance factor h max : maximum contribution to entropy H max : maximum entropy RHOstep: step for incrementing RHO
TAG can have any values, only ‘all’ is reserved. MICRO(‘destroy’, ‘all’) clears all networks from memory. MICRO(‘ver’) prints MEX file version MICRO is case sensitive to commands and tags. EXAMPLE INP=[...]; OUT=[...]; PAR=[1.0 0.0 1.0 0.9 0.0 0.1 0.02]’; [Mi Ni]=size(INP); [Mo No]=size(OUT); UnitsA=501; UnitsB=501;
[0,1] [0,1] [0,1] [0,1] [0,infty] [0,infty] [0,1]
MicroARTMAP MATLAB Implementation
145
WA=ones(UnitsA, 2*Ni); WB=ones(UnitsB, 2*No); WAB=ones(UnitsA,1); Create NET MICRO(‘create’, ‘net1’, WA, WB, WAB); List existing networks list=MICRO(‘list’) Train network MICRO(‘train’, ‘net1’, INP, SUP) Get weights [WA WB WAB]=MICRO(‘get weights’, ‘net1’); Test on some input INP=[...]; OUT=MICRO(‘test’, ‘net1’, INP); Destroy network MICRO(‘destroy’, ‘net1’) Clear MEX file clear micro handpgm1.m A = [0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1; 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1]; B = [1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0]; C = [0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0; 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0; 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0;
146
0 0 0 0 0 0
1 1 1 1 1 1
MicroARTMAP MATLAB Implementation
1 1 1 1 1 1
0 1 1 1 1 1
0 1 0 0 0 0
1 1 0 1 1 1
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 0 0 1
1 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 0 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
0; 0; 0; 0; 0; 0];
D = [1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0; 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0]; E = [1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1]; F = [1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0 0];
G = [0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0; 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0; 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0; 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0;
MicroARTMAP MATLAB Implementation
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 0 0 0 0
1 0 1 1 1
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
147
0; 0; 0; 0; 0];
H = [1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1]; I = [1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1
1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0
0 1 1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1; 1; 1; 1; 1; 1; 1; 1; 1; 1];
J = [1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1
1 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1 0 0
0 1 1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
1 0 0; 0; 0; 0; 0; 0; 0; 0; 0; 0];
K = [1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0;
148
MicroARTMAP MATLAB Implementation
1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0]; L = [1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1]; M = [1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1; 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1]; N = [0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 1 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0]; O = [0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0;
MicroARTMAP MATLAB Implementation
149
0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0]; P = [1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0; 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0];
Q = [0 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1; 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1]; R = [1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0; 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0]; S = [0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1
1 0 0 0 0 0 0 1 0 0
1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0; 0 0 0 1 1 1 1 1 0];
150
MicroARTMAP MATLAB Implementation
T = [1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0]; U = [1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0; 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0]; V = [0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0; 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0]; W = [1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1; 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1];
MicroARTMAP MATLAB Implementation
151
X = [1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1; 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1]; Y = [1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0]; Z = [1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0; 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]; PA = [1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1];
152
MicroARTMAP MATLAB Implementation
MA = [1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1; 1; 1; 1; 1; 1; 1; 1; 1; 1];
YA = [1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 0 1 1 1
0 0 0 0 0 0 0 1 0 0
1 1 1 1 1 1 1 1 0 1
1 0 0 0 0 0 0 0 0 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1; 1; 1; 1; 1; 1; 1; 1; 1; 1];
LA = [1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 0 1 1 1
0 0 0 0 0 0 0 1 0 0
1 1 1 1 1 1 1 1 0 1
1 0 0 0 0 0 0 0 0 1
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1; 1; 1; 1; 1; 1; 1; 1; 1; 1];
INP = [A’ B’ C’ D’ E’ F’ G’ H’ I’ J’ W’ X’ Y’ Z’ PA’ MA’ YA’ LA’]’; a1 = [0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1; 0 1; 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1]; a2 = [0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0; 1 0; 0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0]; a3 = [0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1; 1 1; 0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1]; a4 = [0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0]; a5 = [0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1; 0 1; 0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1];
K’ L’ M’ N’ O’ P’ Q’ R’ S’ T’ U’ V’ 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0; 0 0 0 0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1; 0 0 0 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1; 0 0 1
MicroARTMAP MATLAB Implementation
a6 = [0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 1 0; 0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0]; a7 = [0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1 1; 0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1]; a8 = [0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0]; a9 = [0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 0 1; 0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1]; a10 = [0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 1 0; 0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0]; a11 = [0 1 0 1 1; 0 1 0 1 1; 0 1 0 1 1; 0 1 0 1 1; 0 1 0 1 1 1; 0 1 0 1 1; 0 1 0 1 1; 0 1 0 1 1]; a12 = [0 1 1 0 0; 0 1 1 0 0; 0 1 1 0 0; 0 1 1 0 0; 0 1 1 0 0 0; 0 1 1 0 0; 0 1 1 0 0; 0 1 1 0 0]; a13 = [0 1 1 0 1; 0 1 1 0 1; 0 1 1 0 1; 0 1 1 0 1; 0 1 1 0 0 1; 0 1 1 0 1; 0 1 1 0 1; 0 1 1 0 1]; a14 = [0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0]; a15 = [0 1 1 1 1; 0 1 1 1 1; 0 1 1 1 1; 0 1 1 1 1; 0 1 1 1 1 1; 0 1 1 1 1; 0 1 1 1 1; 0 1 1 1 1]; a16 = [1 0 0 0 0; 1 0 0 0 0; 1 0 0 0 0; 1 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0; 1 0 0 0 0; 1 0 0 0 0]; a17 = [1 0 0 0 1; 1 0 0 0 1; 1 0 0 0 1; 1 0 0 0 1; 1 0 0 0 0 1; 1 0 0 0 1; 1 0 0 0 1; 1 0 0 0 1]; a18 = [1 0 0 1 0; 1 0 0 1 0; 1 0 0 1 0; 1 0 0 1 0; 1 0 0 1 1 0; 1 0 0 1 0; 1 0 0 1 0; 1 0 0 1 0]; a19 = [1 0 0 1 1; 1 0 0 1 1; 1 0 0 1 1; 1 0 0 1 1; 1 0 0 1 1 1; 1 0 0 1 1; 1 0 0 1 1; 1 0 0 1 1]; a20 = [1 0 1 0 0; 1 0 1 0 0; 1 0 1 0 0; 1 0 1 0 0; 1 0 1 0 0 0; 1 0 1 0 0; 1 0 1 0 0; 1 0 1 0 0]; a21 = [1 0 1 0 1; 1 0 1 0 1; 1 0 1 0 1; 1 0 1 0 1; 1 0 1 0 0 1; 1 0 1 0 1; 1 0 1 0 1; 1 0 1 0 1]; a22 = [1 0 1 1 0; 1 0 1 1 0; 1 0 1 1 0; 1 0 1 1 0; 1 0 1 1 1 0; 1 0 1 1 0; 1 0 1 1 0; 1 0 1 1 0]; a23 = [1 0 1 1 1; 1 0 1 1 1; 1 0 1 1 1; 1 0 1 1 1; 1 0 1 1 1 1; 1 0 1 1 1; 1 0 1 1 1; 1 0 1 1 1]; a24 = [1 1 0 0 0; 1 1 0 0 0; 1 1 0 0 0; 1 1 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0; 1 1 0 0 0; 1 1 0 0 0]; a25 = [1 1 0 0 1; 1 1 0 0 1; 1 1 0 0 1; 1 1 0 0 1; 1 1 0 0 0 1; 1 1 0 0 1; 1 1 0 0 1; 1 1 0 0 1]; a26 = [1 1 0 1 0; 1 1 0 1 0; 1 1 0 1 0; 1 1 0 1 0; 1 1 0 1 1 0; 1 1 0 1 0; 1 1 0 1 0; 1 1 0 1 0]; a27 = [1 1 0 1 1; 1 1 0 1 1; 1 1 0 1 1; 1 1 0 1 1; 1 1 0 1 1 1; 1 1 0 1 1; 1 1 0 1 1; 1 1 0 1 1];
153
0; 0 0 1 1 0; 0 0 1 1; 0 0 1 1 1; 0 0 1 0; 0 1 0 0 0; 0 1 0 1; 0 1 0 0 1; 0 1 0 0; 0 1 0 1 0; 0 1 0 1; 0 1 0 1 1; 0 1 0 0; 0 1 1 0 0; 0 1 1 1; 0 1 1 0 1; 0 1 1 0; 0 1 1 1 0; 0 1 1 1; 0 1 1 1 1; 0 1 1 0; 1 0 0 0 0; 1 0 0 1; 1 0 0 0 1; 1 0 0 0; 1 0 0 1 0; 1 0 0 1; 1 0 0 1 1; 1 0 0 0; 1 0 1 0 0; 1 0 1 1; 1 0 1 0 1; 1 0 1 0; 1 0 1 1 0; 1 0 1 1; 1 0 1 1 1; 1 0 1 0; 1 1 0 0 0; 1 1 0 1; 1 1 0 0 1; 1 1 0 0; 1 1 0 1 0; 1 1 0 1; 1 1 0 1 1; 1 1 0
154
MicroARTMAP MATLAB Implementation
a28 = [1 1 1 0 0; 1 1 1 0 0; 1 1 1 0 0; 0 0; 1 1 1 0 0; 1 1 1 0 0; 1 1 1 0 0]; a29 = [1 1 1 0 1; 1 1 1 0 1; 1 1 1 0 1; 0 1; 1 1 1 0 1; 1 1 1 0 1; 1 1 1 0 1]; a30 = [1 1 1 1 0; 1 1 1 1 0; 1 1 1 1 0; 1 0; 1 1 1 1 0; 1 1 1 1 0; 1 1 1 1 0]; OUT = [a1’ a2’ a3’ a4’ a5’ a6’ a7’ a8’ a17’ a18’ a19’ a20’ a21’ a22’ a23’ a24’
1 1 1 0 0; 1 1 1 0 0; 1 1 1 0 0; 1 1 1 1 1 1 0 1; 1 1 1 0 1; 1 1 1 0 1; 1 1 1 1 1 1 1 0; 1 1 1 1 0; 1 1 1 1 0; 1 1 1 a9’ a10’ a11’ a12’ a13’ a14’ a15’ a16’ a25’ a26’ a27’ a28’ a29’ a30’]’
tic TAG=(‘SALO1’); PAR=[1.0 0.0 1.0 1.0 0 0.08 0.002]’; [Mi Ni]=size(INP); [Mo No]=size(OUT); UnitsA=3; UnitsB=3; WA=ones(UnitsA, 2*Ni); WB=ones(UnitsB, 2*No); WAB=(ones(UnitsA,UnitsB)); MICRO(‘create’, TAG, PAR, WA, WB, WAB) LIST=MICRO(‘list’) MICRO(‘train’, TAG, INP, OUT) OUT=MICRO(‘test’, TAG , INP); for i=1:4 INP1=input(‘enter the leter code’); OUT1=MICRO(‘test’, TAG , INP1) end toc
Appendix B: DWT on db1 Wavelets - number.m
Inputs to MicroArtMap using DWT on db1 wavelet on handwritten numbers zer=[1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0; 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0; 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0; 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0; 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0];
0 0 0 0 1 0 1 0 0 0
one=[0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0; 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0; 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0; 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0;]
0 1 0 0 0 0 0 0 0 1
two=[ 0 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 1 1 0
0 1 1 0 1 0 1
1 0 1 0 1 0 1
1 0 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 0 1 0 1
1 0 1 1 1 1 1
1 1 0 1 0 1 0
0 1 1 0 1 0 1
1 0 1 0 1 0 1
1 0 0 0 0 0 0
0 0 0 1 0 1 0
0 1 0 1 0 1 0
0 1 0 1 0 1 0
0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0
0 0 0 0 1 1 0 0; 0 0 0 1 1 0 0; 0 0 0 1 1 0 0; 0 0 0 1
1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 155–158. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
156
DWT on db1 Wavelets - number.m
1 1 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0; 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0;] thr=[0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0];
0 1 1 1 1 0 0 0 0 0
fou=[ 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0; 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0];
0 1 1 1 1 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0
fiv=[0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1; 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1; 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1; 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1; 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1];
0 0 0 1 1 0 0 1 1 1
six=[0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0; 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0; 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0; 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0;
1 1 1 1 1 0 0 1 1 0
0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1
1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0
DWT on db1 Wavelets - number.m
157
0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0]; sev=[0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0; 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0; 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0];
0 0 1 1 0 0 0 0 0 0
eig=[0 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0; 0 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0; 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0; 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0; 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0];
1 1 1 1 0 0 0 0 1 1
nin=[0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0; 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0; 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0; 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0; 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0];
1 1 1 1 0 0 0 1 1 0
INP=[zer’ one’ two’ thr’ fou’ fiv’ six’ sev’ eig’ nin’]’ for i=1:50 Y=INP(i,1:64); [ca1 cd]=dwt(Y,‘db1’); [ca2 cd]=dwt(ca1,‘db1’); [ca3 cd]=dwt(ca2,‘db1’); INP1(i,1:8)=ca3; end
0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1
1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1
1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1
158
DWT on db1 Wavelets - number.m
zer1=[0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1; 0 0 0 0 1]; one1=[0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0; 0 0 0 1 0]; two1=[0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1; 0 0 0 1 1]; thr1=[0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0]; fou1=[0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1; 0 0 1 0 1]; fiv1=[0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0; 0 0 1 1 0]; six1=[0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1; 0 0 1 1 1]; sev1=[0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0; 0 1 0 0 0]; eig1=[0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1; 0 1 0 0 1]; nin1=[0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0; 0 1 0 1 0]; OUT=[zer1’ one1’ two1’ thr1’ fou1’ fiv1’ six1’ sev1’ eig1’ nin1’]’ tic TAG=(‘SALO1’); PAR=[1.0 0.0 1.0 1.0 0 0.08 0.002]’; [Mi Ni]=size(INP1); [Mo No]=size(OUT); UnitsA=3; UnitsB=3; WA=ones(UnitsA, 2*Ni); WB=ones(UnitsB, 2*No); WAB=(ones(UnitsA,UnitsB)); MICRO(‘create’, TAG, PAR, WA, WB, WAB) LIST=MICRO(‘list’) MICRO(‘train’, TAG, INP1, OUT) OUT=MICRO(‘test’, TAG , INP1) INP2=[1.7678 1.7678 1.0607 0.7071 0.7071 1.0607 1.4142 1.3]; OUT1=MICRO(‘test’, TAG , INP2) toc
Appendix C: Inputs to ARTMAP for Signatures
Eight features obtained for each sample signature by Block Processing I=imread(‘E:\sample of vasantha(wavwmenu)\sample n\n1’); a=imresize(I,[200,200],’nearest’); imshow(I); figure; imshow(a); BW = im2bw(I,0.8); imshow(BW); i1=BW(1:100,1:50); i2=BW(1:100,51:100); i3=BW(1:100,101:150); i4=BW(1:100,151:200); i5=BW(101:200,1:50); i6=BW(101:200,51:100); i7=BW(101:200,101:150); i8=BW(101:200,151:200); figure; imshow(i1); figure; imshow(i2); figure; imshow(i3); figure; imshow(i4); figure; imshow(i5); figure; imshow(i6); figure; imshow(i7); figure; imshow(i8); c1=0;c2=0;c3=0;c4=0;c5=0;c6=0;c7=0;c8=0; V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 159–162. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
160
Inputs to ARTMAP for Signatures
for i=1:100 for j=1:50 if i1(i,j)==0 c1=c1+1; end end end for i=1:100 for j=1:50 if i2(i,j)==0 c2=c2+1; end end end for i=1:100 for j=1:50 if i3(i,j)==0 c3=c3+1; end end end for i=1:100 for j=1:50 if i4(i,j)==0 c4=c4+1; end end end for i=1:100 for j=1:50 if i5(i,j)==0 c5=c1+1; end end end for i=1:100 for j=1:50 if i6(i,j)==0 c6=c2+1; end end end for i=1:100 for j=1:50 if i7(i,j)==0
Inputs to ARTMAP for Signatures
c7=c3+1; end end end for i=1:100 for j=1:50 if i8(i,j)==0 c8=c4+1; end end end c1 c2 c3 c4 c5 c6 c7 c8 Inputs to MicroARTMAP by Block Processing for Signatures a = [151 200 601 628 152 201 602 629]; b = [ 0 0 469 518 1 1 470 0 ]; c = [3 3 511 764 4 4 512 768]; d = [ 0 0 402 450 1 1 403 451]; e = [150 187 717 578 151 188 718 579]; f = [0 18 590 517 1 19 591 0]; g = [ 82 52 621 893 83 53 622 894]; h = [ 1 108 668 611 2 109 669 612]; INP = [a’ b’ c’ d’ e’ f’ g’ h’]’; a1 = [0 0 0 0 1]; b1 = [0 0 0 1 0]; c1 = [0 0 0 1 1]; d1 = [0 0 1 0 0]; e1 = [0 0 1 0 1]; f1 = [0 0 1 1 0]; g1 = [0 0 1 1 1]; h1 = [0 1 0 0 0]; OUT = [a1’ b1’ c1’ d1’ e1’ f1’ g1’ h1’]’; tic TAG=(‘SALO1’); PAR=[1.0 0.0 1.0 1.0 0 0.08 0.002]’;
161
162
Inputs to ARTMAP for Signatures
[Mi Ni]=size(INP); [Mo No]=size(OUT); UnitsA=3; UnitsB=3; WA=ones(UnitsA, 2*Ni); WB=ones(UnitsB, 2*No); WAB=(ones(UnitsA,UnitsB)); MICRO(‘create’, TAG, PAR, WA, WB, WAB) LIST=MICRO(‘list’) MICRO(‘train’, TAG, INP, OUT) OUT=MICRO(‘test’, TAG , INP); INP1=[1 108 668 611 2 109 669 612]; OUT1=MICRO(‘test’, TAG , INP1) toc
Appendix D: The Competitive Hopfield Neural Network
# include <stdio.h> # include <math.h> # include # include # include <stdlib.h> # include <dos.h> # include <string.h>
/* STEP 1 - INITIAL VALUE SETTING*/ int c2 = 4, c3 = 1, c5 = 3, c6 = 1; /*resource request matrix (Table 6)*/ int r[5][4] = {{1, 0, 0, 0},{0, 1, 0, 0},{0, 0, 1, 0},{0, 0, 0, 1},{1, 0, 0, 1}}; /* timing constraint matrix (Table 7)*/ int T1[5][2]= {{2, 3},{5, 8},{3, 4},{4, 8},{2, 5}}; /*initial state matrix (Table 8)*/ /*int V[2][5][8] ={{ {1, 1, 1, 0, 1, 0, 0, 0, 1, 0}, {1, 2, 0, 1, 0, 1, 0, 1, 0, 0}, {1, 3, 1, 0, 0, 0, 1, 1, 1, 1}, {1, 4, 0, 1, 1, 0, 1, 0, 0, 0}, {1, 5, 0, 1, 0, 1, 0, 1, 0, 1}, {2, 1, 1, 0, 1, 0, 1, 0, 1, 1}, {2, 2, 1, 0, 1, 0, 0, 1, 0, 0}, {2, 3, 0, 1, 0, 1, 0, 1, 0, 1}, {2, 4, 1, 0, 0, 0, 0, 0, 1, 0}, {2, 5, 0, 0, 0, 0, 1, 1, 1, 1} }}; */ V.K. David and S. Rajasekaran: Pattern Recog. Using Neural & Funct. Net., SCI 160, pp. 163–168. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com
164
The Competitive Hopfield Neural Network
int V[2][10][8] ={ { {1, 0, 1, 0, 0, 0, 1, 0} {0, 1, 0, 1, 0, 1, 0, 0} {1, 0, 0, 0, 1, 1, 1, 1} {0, 1, 1, 0, 1, 0, 0, 0} {0, 1, 0, 1, 0, 1, 0, 1} {1, 0, 1, 0, 1, 0, 1, 1} {1, 0, 1, 0, 0, 1, 0, 0} {0, 1, 0, 1, 0, 1, 0, 1} {1, 0, 0, 0, 0, 0, 1, 0} {0, 0, 0, 0, 1, 1, 1, 1} }}; int RxRi[10][10], Wxyzijl[5][5][5][5][5][5]; /*N - Jobs, M - Machines, T - Time, F - resource*/ int N, M, T, F; int x, i, s, y, z, j, k, l, yy, zz, i1, j1, k1,S; int resource, sum; float ec2, ec5, ec6, ec3, EA,Theta[5][5][5]; int result[5][5][5], G[5][5][5]; int deltax , deltax y , deltax z ; int Net[5][5][5], Netxyz[5][5][5], Max; /* ENERGY*/ int energy() { ec2=0; ec5=0; ec6=0; ec3=0; /* ec2 calculation*/ for(i=1;i