INTERNATIONAL CONFERENCE ON
m
COMPUTING AND
I
EXPLORING EMERGING TECHNOLOGIES
& * -
Editors
George Antoniou & Dorothy Deremer World Scientific
INTERNATIONAL CONFERENCE ON
COMPUTING AND INFORMATION TECHNOLOGIES EXPLORING EMERGING TECHNOLOGIES
INTERNATIONAL CONFERENCE ON
COMPUTING AND INFORMATION TECHNOLOGIES EXPLORING EMERGING TECHNOLOGIES Montclair State University, NJ, USA
12 Oct 2001
Editors
George Antoniou Dorothy Deremer Montdair State University
V|fe World Scientific wB
New Jersey • London • Singapore Sinqapore •• Hong Kong
Published by World Scientific Publishing Co. Pte. Ltd. P O Box 128, Farrer Road, Singapore 912805 USA office: Suite IB, 1060 Main Street, River Edge, NJ 07661 UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE
British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library.
COMPUTING AND INFORMATION TECHNOLOGIES Exploring Emerging Technologies Copyright © 2001 by World Scientific Publishing Co. Pte. Ltd. All rights reserved. This book, or parts thereof, may not be reproduced in any form or by any means, electronic or mechanical, including photocopying, recording or any information storage and retrieval system now known or to be invented, without written permission from the Publisher.
For photocopying of material in this volume, please pay a copying fee through the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to photocopy is not required from the publisher.
ISBN 981-02-4759-1
Printed in Singapore by World Scientific Printers (S) Pte Ltd
V
PREFACE Four hundred years ago movable type technology changed European literacy from the privileged minority to the general population. Fifty-five years ago, ENIAC, the world's first general-purpose computer, solved relatively few scientific problems in hours rather than days. Forty years ago integrated circuits became commercially available ushering in the miniaturization and accessibility of computing technology. Pioneers in software and hardware considered more interactive devices and additional problem solving roles for computing in building and studying models, and searching for patterns. Thirty years ago supercomputing sought the highest performance possible while personal computers provided access to even home environments. Ten years ago, networking initiated the definition of a computer as anytime and anyplace. Computing technology has become ubiquitous. Society has changed radically and rapidly not only because of computing technology itself but also because technology transforms the way people think and communicate. This volume samples emerging technologies of the twentyfirst century through the presentation of recent research. Rather than focusing on one domain, the volume illustrates a spectrum of research areas with works in network, internet, and parallel computing, theoretical computing including learning algorithms and fuzzy sets, human computer interaction and computing education, and computing applications in biology, imaging applications, IT, and linguistics. We wish to thank our ICCIT2001 keynote speaker, Dr. Lotfi Zadeh, himself a pioneer in Fuzzy Set technology and its broad applications. We extend our appreciation to the authors whose results are contained in this volume. We planned ICCIT2001 as a forum for academics, computer and information scientists, engineers and applied mathematicians to share ideas about computing and to present their work to the scientific and technical community. We believe this volume is an implementation of that objective. Dorothy Deremer George Antoniou
VII
CONTENTS Preface
v
INTERNET APPLICATIONS
1
Analyzing search engine bias Akira Kawaguchi and Abbe Mowshowitz
3
Autonomous agents for web pages Fldvia Coimbra Delicato, Luci Pirmez andLuiz Fernando Rust Da Costa Carmo
filtering
9
Public key encryption and transparency in internet casinos H.M. Hubey andP.B. Ivanov
15
A review of evaluation tools for web content accessibility Marta Prim
23
A sharable instructable agent for information filtering K.R.K. Murthy, S.S. Keerthi and M.N. Murty
31
COMPUTING IN BIOLOGY
39
Entropy versus information: Is a living cell a machine or a computer ? Jack A. Tuszynski
41
Coupling a tubuloglomerular feedback nephron model with a myogenic afferent arteriole model Roman M. Zaritski, E. Bruce Pitman, Harold E. Layton and Leon C. Moore
55
VIM
A mathematical model of the inner and outer renal medulla M.E. Rosar
63
A natural codon space and metric KM. Hubey
71
HUMAN COMPUTER INTERFACE
79
A case study of a disabled man using a mouthstick and accessibility options in windows to do E-commerce Bruce Davis, Eamon Doherty, Gary Stephenson and Joann Rizzo Usability issues concerning the cyberlink mental interface and persons with a disability Eamon Doherty, Chris Bloor, Gilbert Cockton, Joann Rizzo, Dennis Benigno and Bruce Davis Robotics for the brain injured: An interface for the brain injured person to operate a robotic arm Paul Gnanayutham, Chris Bloor and Gilbert Cockton A computer interface for the "blind" using dynamic patterns David Veal andStanislaw Paul Maj
81
87
93
99
Designing for dyslexia — The development of mathematics software for students with specific learning difficulties Walter Middleton, Emma Lejk and Chris Bloor
105
Using hands-free technology in programs for profoundly disabled children H. ToddEachus and Andrew M. Junker
111
PARALLEL COMPUTING/TECHNIQUES
119
Dynamic load balancing in the parallel continuous global optimization problem by using interval arithmetic A. Benyoub andE.M. Daoudi
121
IX
Investigation of a low-cost high-performance shared-memory multiprocessor system for real-time application Constantine N. Manikopoulos, Sotirios G. Ziavras and Charalambos Christou
127
A linear algorithm to find path among obstacles using reconfigurable mesh Dadjn Wang
137
Dense wavelength division multiplexing for optically interconnected linear array processors Haklin Kimm
143
A two-level optimal distributed monitoring scheme for mesh Dajin Wang Non-linear clustering scheduling with two clusters, one being linear, is NP-hard Wingning Li and John Jingfu Jenq Formal verification of microinstruction sequencing Lubomir Ivanov
151
157
165
Dynamic block data distribution for parallel sparse Gaussian elimination EM. Daoudi, P. Manneback andM. Zbakh
177
All pairs shortest paths computation using Java on PCs connected on local area network John Jingfu Jenq and Wingning Li
185
COMPUTING EDUCATION
193
Enhancing student learning in e-classrooms Jerome Eric Luczqj and Chia Y. Han
195
X
Building up a minimal subset of Java for a first programming course Angel Gutierrez and Alfredo Somolinos
201
Completing a minimal subset of Java for a first programming course Angel Gutierrez and Alfredo Somolinos
207
DEWDROP: Educating students for the future of web development John Beidler
213
Boolean function simplification on a palm-based environment Ledion Bitincka and George Antoniou
221
Internet-based Boolean function simplification using a modified Quine-McCluskey method Sebastian P. Tomaszewski, Ilgaz U. Celik and George E. Antoniou
229
LEARNING ALGORITHMS
237
Autoassociative neural networks and time series filtering Jose R. Dorronsoro, Vicente Lopez, Carlos Santa Cruz and Juan A. Siguenza
239
Neural network architectures: New strategies for real time problems U. Ugena,, F. De Arriaga and M. El Alami
247
Evolving scoring functions which satisfy predetermined user constraints Michael L. Gargano, Ying He and William Edelson
255
Genetic algorithms for mining multiple-level association rules Norhana Bt. Abdul Rahman Araby and Y. P. Singh
261
A clustering algorithm for selecting starting centers for iterative clustering Angel Gutierrez and Alfredo Somolinos
269
XI
Dimension reduction in datamining H.M. Hubey, I. Sigura, K. Kaneko and P.Zhang
275
Process control of a laboratory combustor using neural networks T. Slanvetpan, R.B. Barat and John G. Stevens
283
COMMUNICATION SYSTEMS/NETWORKS
291
Investigation of self-similarity of Internet round trip delay Jun Li, Constantine Manikopoulos and Jay Jorgenson
293
Modified high-efficiency carrier estimator for OFDM communications with antenna diversity Ufuk Tureli and Patrick J. Honan
303
A comparison between two error detection techniques using arithmetic coding Bin He and Constantine N. Manikopoulos
311
An optimal invalidation method for mobile databases Wen- Chi Hou, Hongyan Zhang, Meng Su and Hong Wang Comparison of wavelet compression algorithms in network intrusion detection Zheng Zhang, Constantine Manikopoulos, Jay Jorgenson and Jose Ucles
317
333
INFORMATION TECHNOLOGY/LINGUISTICS
343
The emerging challenge of retaining information technology human resources Rick Gibson
345
XII
Hard-science linguistics as a formalism to computerize models of commnication behavior Bernard Paul Sypniewski
353
B-Nodes: A proposed new method for modeling information systems technology Stanislaw Paul Maj and David Veal
359
The Montclair electronic language learner database Eileen Fitzpatrick and Steve Seegmiller
369
COMPUTING FORMALISM/ALGORITHMS
377
Improvement of synthesis of conversion rules by expanding knowledge representation H. Mabuchi, K. Akama, H. Koike and T. Ishikawa
379
A blocks-world planning system Bhanu Prasad and Vorapat Chavananikul
385
Multi-computation mechanism for set expressions H. Koike, K Akama andH. Mabuchi
391
Proving termination of to rewriting systems Y. Shigeta, K Akama, H. Koike and T. Ishikawa
399
Semantics for declarative descriptions with referential constraints K. Akama, H. Koike and T. Ishikawa
405
Solving logical problems by equivalent transformation K Akama, H. Koike, Y. Shigeta andH. Mabuchi
411
Deciding the halting problem and preliminary applications to evolutionary hardware, and hybrid technology A.A. Odusanya
419
A new algorithm for the computation of invariant curves using arc-length parameterization K.D. Edoh and J. Lorenz
423
ALTUZZY SETS APPLICATION AND THEORY
431
Comparison of interval-valued fuzzy sets, intuitionistic fuzzy sets, and bipolar-valued fuzzy sets Keon-Myung Lee, Kyung-Mi Lee and KrzysztofJ. Cios
433
Introducing user centered design into a hybrid intelligent information system methodology Kate Ashton and Simon L. Kendal
441
Towards hybrid knowledge and software engineering S. Kendal andX. Chen
449
Dynamical computing, communication, development and hierarchical interface H.M. Hubey andP.B. Ivanov
455
IMAGING APPLICATIONS
463
Catadioptric sensors for panoramic viewing R. Andrew Hicks, Ronald K. Perline and Meredith L. Coletta
465
High-performance computing for the study of earth and environmental science materials using synchrotron X-ray computed microtomography Huan Feng, Keith W. Jones, Michael McGuigan, Gordon J. Smith and John Spiletic Author Index
471
481
Internet Applications
3 ANALYZING SEARCH ENGINE BIAS AKIRA KAWAGUCHI AND ABBE MOWSHOWITZ Department of Computer Science, The City College of New York, Convent Avenue at 138* Street, New York, NY 10031, USA E-mail:
[email protected],
[email protected] This paper is concerned with quantitative measurement of bias in search engines. Bias is measured by comparing the performance of a given search engine to that of a collection of comparable engines. To investigate bias using this measure, a computer-based system that allows for applying the measure to popular search engines on the World Wide Web, has been implemented. The system is accessible at http://wwvi-cs.engr.ccny.cuny.edv/~project. Details of the definition of the measure, the measurement procedure, design of the system, and a discussion of preliminary applications of the measure are reported in [1, 2].
1 Introduction This paper is concerned with measuring bias in search engines. Bias is defined as the degree to which the distribution of URLs, retrieved by a search engine in response to a query, deviates from an ideal or fair distribution for that query. This ideal is approximated by the distribution produced by a collection of search engines. If the collection includes search engines comparable to the one under study, the distribution produced by the collection is a reasonable approximation to the ideal. Like traditional measures of retrieval performance (i.e., recall and precision), bias is a function of a system's response to a query, but it does not depend on a determination of relevance. Instead, the ideal distribution of items in a response set must be determined. Using a collection of search engines to define the ideal makes the measurement of bias computationally feasible in real time. Tests of search engine bias conducted thus far suggest the possibility that bias may be subject-sensitive, i.e., that a search engine exhibiting a high degree of bias on queries related to, say real estate, might be relatively unbiased on questions concerning travel. Results of preliminary experiments designed to test this hypothesis are presented here. 2 Search Engine Bias Bias is one aspect of the quality of the information provided to users by search engines. It is concerned with emphasis, i.e., the balance and representativeness of items in a collection retrieved from a database for a set of queries. Search engines present biased results when some items in the database are selected too frequently and others not frequently enough, or some items are presented too prominently and others not prominently enough. Clearly, "too frequently/prominently" and "not frequently/prominently enough" are relative terms, so it is necessary to establish a norm approximating the ideal or fair distribution. Then bias can be operationalized as the degree to which the distribution of items in a retrieved collection deviates
4
from the ideal. A family of comparable search engines can be used to establish such a norm. This approach is computationally feasible and yields a reasonable approximation to the ideal distribution. [1, 2] The distribution is obtained by computing the frequencies of occurrence of the URLs in the collection retrieved by several search engines for given queries. Two variant measures of bias, one that ignores the order in which the retrieved URLs are presented, and one that takes account of order, are computed by the system. For either variant, the measurement of bias is based on a procedure for obtaining the collection of URLs corresponding to a set of queries processed by a set of search engines. 3 Measurement Procedure Suppose t queries q± (l i-e., the response sets listed in row major form. The number of times each URL occurs among the /?k (1< k < nf) must be tabulated. This can be done by computing atnxK matrix whose kl-th element is 1 if Sk,i contains ai and 0 otherwise. Clearly, the sum Pi of the /-th column is the number of times URL at occurs among the response sets Rlt ... , Rtn. To facilitate comparison, assume the URLs of A are given in non-increasing order of frequency. The vector X=(Ph P2, ... , PK) is called the response vector for the collection of search engines. Similarly, a response vector x = (pi, p2,..., pN)fi>r (a particular engine) E is determined. The bias of an engine E with respect to a set of search engines and a collection of queries (representing a given subject) can be measured as the dissimilarity between the vectors x and X. For purposes of comparison, it is useful to normalize the measure. Bias should be 0 when the results produced by E are 'essentially' the same as those produced by the collection; and 1 when there is 'no agreement'. 9 The following formula for the similarity s(v,w) of vectors v = (v iv .., v„) and w = (w,,..., w„) representing, respectively, queries and documents, has long been used in information retrieval research. [3, 4, 5] s(v,w) =
where all the summations are from i-\ to i=n. {Z(v,)2 X(w;)2}* Taking v and w as vectors passing through the origin in an n-dimensional Euclidean space, this measure can be interpreted as the cosine of the angle between them. It can also be interpreted as the correlation coefficient of v and w, taken as random variables with 0 means. This measure is invariant under normalization, i.e., J(V,W) =
5
$(v/Ev(i),w/Ew(0), where; 5(v,w) = 1 when v = c w, for any real number c\ and .s(v,w) = 1 when.v and w are -orthogonal, i.e., when vt- w, =0 for all i. Thus, defining the bias of an engine E (relativeto'-a collection Q by b(E; q/,..., f,; £j,..., !?«) == 1 s(x,X) gives the extreme values 0 (when^X is a scalar-multiple of x% and 1 (when A} or Xj is -0 for each i). Since users of search engines -tend to- pay more attention 'to-: URLs appearing at the top of a response sequence than they do to those at the bottom, Mas measures should be able to take account -of the order in which URLs appear. A simple way to take account of position is to increment -the-count of a URL-'by- an amount dependent on the position in which it occurs. Possible schemes- include the: following, where m represents the'number-of-positions in a "-response-.sequence.. Increment the-count of a URL in position i-by(l) (m+14)/m (the ,URL in the -first position counts 1, and the URL in the iw-th position count 1/w), or (2) m/i (the URL in the first .position counts m, while the last one counts only 1). 4 The Measurement System A system acting as a meta-search engine [6]-that automatically computes bias- for a set of queries has been developed to facilitate empirical investigation. Currently* the system j is the potential in the ith tube. In the tubules it is usually assumed that the diffusive and mobility terms are negligible relative to convective flow. Electroneutrality requires that
X>Cifc=0
(5)
where Zk is the valence of the fcth solute. Implicit in the above equations is the assumption that radial variations of concentration within individual tubes are negligible. The medullar volume is discretized in terms of Cartesian coordinates x, y, and z. At any z level (representing medullary depth) the xy grid is indexed by I. The section of IVCS located in this volume of medulla is indexed by (I,z). A section of tube, at this z depth, will be contained (all or in part) in one or more volume grid spaces, again with index of the form (I, z), and can exchange solute and/or fluid with the section of interstitium located in the same (I,z) grid space(s). We let On represent the fraction of volume of tube i which is in interstitial volume element J. Since we are assuming axial symmetry along the length of each tube, the amount of exchange between the ith tube at depth z and the Jth interstitial element at this same depth will be proportional to the percentage of the ith tube contained in the i t h volume element, viz. On. Therefore, we can conclude that the transmural volume flux can be given by Jiv = 2_^l^iI^iI,v
(6)
where JuiV represents the flux between the ith tube and the 7th interstitial element. Similarly, the transmural flux for the fcth solute can be expressed as Jik = 2^,01/Jt/,k-
CO
66 Transmural volume flux is given by
Y^ BT(Cik - Cik)aik + ^ - pi)
(8)
L k
and transmural flux of the feth solute is given by Jik = Jiv(l-trik)Cavg+2*nhik
[(Cik - Cjk) + Cavg(ZkF/Rr)(*i
-
*i)]+J?k (9) where r j is the radius of the ith tube, &ik is the Staverman reflection coefficient of the wall of the ith tube for the fcth solute, hiV is its hydraulic permeability coefficient per unit length, hik is its passive permeability for the Arth solute per unit length, Jfk is the metabolically driven transport of the fcth solute, R is the gas constant, T is the absolute temperature, F is the Faraday constant, Cavg is the average transmural concentration,
cavg = £*+£«.
(10)
The metabolically driven transport is usually assumed to be J- + Oik/Uik
where ctik is the maximum rate of transport and bik is the Michaelis constant. In the CDs and loop of Henle urea transport is assumed to be carrier mediated [2], k = urea: Jik = 2-KrihikKm ( 7 ; — ^
7;
-^7- ) •
(12)
The equations for the IVCS are the key to incorporating morphometric data into the model. Let piv be the fraction of a particular volume element AVj defined by the selected coordinate system that is interstitium, ascending vasa recta, or capillaries. For each volume element AVj, let v j be the volume flow in the volume element averaged over a unit area. We define pjk = pivCjk. Then the equation of continuity for IVCS volume flow is (AV/)-|p =
-{AVi)V\pivwJ)A-YjAzieiIJihv+'YjeDvR,iAnDVRFDVRyV i
i
(13) where the first term on the right accounts for fluid entering the volume element AVi from contiguous volume elements of the IVCS, the second term accounts for fluid entering from transmural volume flux from tubules or DVR; the summation is taken over all tubules. The third term accounts for fluid from
67
DVR that terminate at level z to supply the IVCS. This summation is taken over all DVR, with AnovR equal to the fraction of the DVR tubule in the 7th volume element at z = length of the ith DVR. The equation of continuity for flow of the fcth solute is
i
i
(14) The equation of motion for the space is Vp, = - R / i ; - v , .
(15)
Solute flow in the space is determined by the Nernst Planck equation v/fc = v//9 /fc - D/ fe • Vp/fc - pikvt-ik • V*/ f c .
(16)
In Eq. 16 G ik and ujf. are tensors defining diffusion and mobility along the coordinate axes. The set of equations for the IVCS is completed by the equation of electroneutrality
J2 ZkPk = 0.
(17)
k
3
N u m e r i c a l solution
We take as our functional unit one vascular bundle and associated nephrons and interstitium. We treat the DLs and the ALs as separate tubes. Thus we have a total of 256 tubes, with 80 DL, 80 AL, 80 DVR and 16 CD. To guarantee that this functional unit will "fit" into the larger picture, we impose periodic boundary conditions on the sides adjacent to other functional units. Boundary conditions at the "top" will agree with conditions in the cortex; conditions at the "bottom" will agree with conditions at the papillary tip. We consider the region of interest to be a rectangular cube (note that in actuality, it will not matter very much to the computation if we deform the region into a "prismatic" shape). We impose Cartesian coordinates on this system with the z-direction being in the direction along the nephrons with the positive direction being toward the papillary tip, and z = 0 at the cortical-medullary boundary. The model is designed to accept any number of solutes. In this investigation, we consider only urea and salt (NaCl). Since each solute is electrically neutral, each has a valence of 0, and thus Eqs. 5 and 17 are satisfied identically and therefore may be ignored. Then for each tubule, there are four equations
68
involving the volume flow and four equations for solute flow for each solute. Similarly, there are four equations for the interstitium. The first equation that we solve is Eq. 1. We will assume that we have Poiseuille flow, thus the tube walls may be considered to be rigid (although permeable), thus the cross sectional area of any tube will remain a constant in time. Substituting Eq. 4 into Eq. 1, and using the observed fact that diffusion is negligible in the tubes and that we are treating all our solutes as electrically neutral, Eq. 1 becomes a flux-conservative equation which can be solved for the concentration by a semi-implicit method. For the ith tube and the kth solute this leads to a discretized equation where we use upwind differencing. A von Neumann stability analysis shows that this scheme will be numerically stable in time. Equations 2 and 3 are solved using the trapezoid rule. Equations 4, 8, 9, and 12 are solved directly. Any needed derivatives are computed by a centered differencing scheme, with appropriate modifications at the boundaries. To solve the interstitium equations, we assume in the first approximation that the flow is one-dimensional, in particular, flowing up through the outer layer of the outer medulla and to the cortex. For lateral flow in the interstitium, we will incorporate Fourier transform methods. For any given volume element AV}, pjv is the fraction of that volume element which is interstitium, ascending vasa recta or capillaries, which is assumed to be known. We will assume that this fraction is uniform throughout the outer medulla and remains constant in time. Then Eq. 13, can be integrated for vjz. Eq. rhok interstitium becomes a combined advective diffusion equation which we solve with an explicit scheme for the advective term and an implicit Crank-Nicholson scheme for the diffusive term. In the first approximation, the equation for the pressure, Eq. 15, becomes a linear, first order differential equation, which can be integrated. Finally, v*. can be calculated directly from Eq. 16 and the solute concentrations in the interstitium from Plk = PlvClk4
Results and Conclusion
The outer and inner medulla have been successfully modeled in the manner described herein. The results for the outer medulla are in good agreement, both qualitatively and quantitatively, with experimental data found in the literature. Figure 1 shows the osmolality in the outer and inner medulla, as a function of (normalized) medullary depth, where 0. represents the corticalmedullary boundary and 1. represents the papillary tip. The junction of the outer and inner regions of the medulla is represented by 0.5. In each case we
69 Osmolality l_
/ T ^ / ^**\'~'~
/' /
/''
//,
/' f • / I
/
•'
'' t'/
....
, 0.0
0.2
0.4
0.6
0.8
1.0^ePth
Figure 1. Osmolality in mosm/L as a function of normalized medullary depth for the outer and inner medulla
see a continuous, smooth, transition between the outer medulla and the inner medulla, indicating that the model has been successfully implemented and remains stable throughout the computation, allowing the numerical calculations to reach a steady solution. This medullary model incorporates more detail of medullary structure than is found in previous models. The passive transport mechanism, which successfully models the concentration mechanism of the outer medulla, has been extended to the inner medulla. This passive mechanism, however, is not sufficient for the inner medulla. Results show a relatively flat concentration profile in the inner medulla, Figure 1, reaching concentrations of approximately 600 mosm/L near the papillary tip. This is substantially less than the 6000 mosm/L achieved by dessert rodents. Further methods of concentration in the inner medulla remain to be explored. This work was supported in part by a grant from the William Paterson University, College of Science and Health, Center for Research. References 1. J.L. Stephenson, Handbook of Physiology — Section 8, Renal Physiology, Vol. 2., ed. E. Windhager, (Oxford Univ. Press, NY 1992), 1349. 2. J.L. Stephenson, H. Wang, and R.P. Tewarson, Am. J. Physiol, 1995.
71
A NATURAL CODON SPACE AND METRIC H.M. HUBEY Department of Computer Science, Montclair State University, Upper Montclair, NJ 07043 E-mail:
[email protected] The building blocks of life are the nucleutides adenine (A), cystosine (C), guanine (G) and thymine (T). These can be coded in binary and displayed in a table similar to the chemical table of elements. A particular form of coding, the Gray code, shows the relationship of these nucleotides in better ways than a simple binary code.
1
Introduction: the Nucleotides
Cells are the building blocks of life. Simple organisms like bacteria do not have cells with nuclei (prokaryotic cells). Most other cells have a nucleus distinct from the rest of the surrounding cytoplasm (eukarytic cells). DNA (the basis of life) is located in the nucleus (in eukoryates) and carries genetic material (genes) that determines the structures of proteins which are the building blocks of life. It is a an amazing fact that the DNA molecules (which are linear polymers) consist of only four types (bases of nucleotides): adenine (A), cystosine (C), guanine (G) and thymine (T). These are linked together by sugar-phosphates which form the 'backbone' [1]. The spatial structure of the DNA as is well-known is a double-helix of two complementary linear strands of nucleotides are held together by weak hydrogen bonds in which a G in one strand complements with a C in another and an A complements a T. DNA replication takes place via a process in which the two strands separate and then act as templates for new complementary strands. At this level DNA may be considered to be a language with four symbols in the alphabet. Enzymes, which are also proteins, are catalysts for cellular chemical reactions. 2
The Amino Acids
They are built up of only 20 different types of amino acids, linked to each other by peptide bonds. Such polypeptide molecules are not linear but have unique three-dimensional structures specific to their functions. The simplest part of the genetic code, then, is to map the four-letter alphabet code (the bases) of the linear DNA molecules into the 20 letter alphabet code (amino acids) of the threedimensional protein molecule. In the barest essentials, a triplet of bases (called a codon) codes for a distinct amino acid. In other words, one of the DNA strands read in a particular direction
72 (specified by its ends) three bases at a time, translates into a unique sequence of amino acids. A single strand of DNA can have many genes, each coding for a different protein (one gene for one protein). Because of the unique start and termination of the strands, there are codons which also code for start and termination of the amino acid sequence pertaining to a protein. This code was deciphered in 1966. A G C 11 00 01 GLY GLY GG 0000 GLY GA 0001 GLU GLU ASP GU 0010 VAL VAL VAL
U 10 GLY ASP VAL
GC 0011 ALA
ALA
ALA
AG 0100 ARG2 ARG2 SER2
SER2
AA0101 LYS
LYS
ASN
ASN
AU0110 MET
ILE
ILE1
AC 0111 THR
THR
G 00 GG0000 GLY GA 0001 GLU GC0011 ALA
A 01 GLY GLU ALA
U 10 GLY
C 11 GLY ASP
ASP
ALA
ALA
GU 0010 VAL AU0110 MET
VAL
VAL
VAL
ILE
ILE1
ILE1
AC 0111 THR AA 0101 LYS
THR
THR ASN
THR
ILE1
THR
THR
AG 0100 ARG2 ARG2 SER2 SER2
UG 1000 TRP STOP2 CYS
CYS
UG 1000 TRP STOP2 CYS
CYS
UA 100] STOP1 STOP1 TYR
TYR
UA 1001 STOP1 STOP1 TYR
TYR
UU 1010 LEU2 LEU2 PHE
PHE
UC 1011 SER1 SER1
SER1
ALA
UC 1011 SER1 SER1
SER1 SER1
CG 1100 ARG1 ARG1 ARG1 ARG1 HIS CA 1101 GLN GLN HIS CU 1110 LEU1 LEU1 LEU1 LEU1 CC 1111 PRO PRO PRO PRO Table 1 Plain Binary Coded Codon Table
LYS
SER1
ASN
UU1010 LEU2 LEU2 PHE
PHE
CU1110 LEU1 LEU1 LEU1
LEU1
cc mi
PRO PRO PRO PRO CA1101 GLN GLN HIS HIS CG1100 ARG1 ARG1 ARG1 ARG1 Table 2 KH-map Coded Codon Table
There are 64 possible codons; ( 4 x 4 x 4 ) . Of these three codons code for STOP or termination of the translation into amino acids. The mapping from the 61 codons to 20 amino acids determines the three-dimensional folding of the protein molecule. This process is called gene expression. A part of one strand of DNA is first transcribed into a molecule called messenger RNA or mRNA (ribonucleic acid). The mRNA is single-stranded and pos-
73 sesses bases complementary to the ones on the DNA with the exception that the adenine (A) in the DNA is paired with uracil (U) on the mRNA (instead of thymine, T). mRNA is an intermediary which carries the genetic information from the nucleus to the cytoplasm where the actual translation into protein occurs. The mRNA alphabet consists of A, C, G, and U, and it too can fold into distinctive three-dimensional structures along some of its parts via base pairing. Only a fraction of the DNA strand called exons actually code for proteins. The rest of it (called introns) are non-coding regions which are also called junk DNA, and which have to be removed. The edited version of the mRNA is the template that is translated into protein. This translation is carried out by two other types of RNA, ribosomes and tRNAs (transfer RNAs). The tRNA has a dual role; it is able to recognize both the amino acid and its corresponding codon. Because sometimes only the first two bases are read (the third base being irrelevant for tRNA selection), it is not necessary for there to be 61 types of tRNAs. 3
Binary Coding of Codons
These processes, DNA replication, DNA transcription into mRNA, and translation of mRNA into proteins is the basis of molecular biology and genetics. This article looks at the patterns not seen until now in the coding of the 64 codons into 20 amino acids. The genetic code can be said to be constructed from codons. It has been shown that the codon code is essentially a combination of a fixed-length and variable-length code [2], and the same authors have shown that there is a binary coding scheme for this. This code is a combination of fixed length code and a variable length code, and is given in Table 1. The coding is A=01, G=00, C = l l and U=10. The above authors' contribution is to determine the efficiency of the genetic code from an algorithmic complexity viewpoint. In this article, we look into remarkable patterns this code possesses. In Table 1 (Appendix), the binary code uses x as a 'don't care' condition of digital design. Therefore the first 8 amino acids use only a 4-bit code; the last two bits which represent one of {A,G,C,U} can be any of them. The second and third sets of amino acids in the table, are 5-bit codes. In the second set the third codon can be only one of {C,U}. In the third set, the third codon can be only A or G. Thererefore in the binary code, the last bit of the second set is always 1, and the last bit of the third set is always 0. The last set is a 6-bit code. Thus, using z as one of the four bases, and b as a bit, the codes are of the type zzbb, zzlb, zzOb, and zzz. We can put these in a table using this binary code as done in Table 1. Table 1 shows the various amino acids, at most one per row. In some cases there are two per row and in two cases, single occurrences are adjacent to doubles. The table shows the code graphically similar to a chemical table. However the relationships of the various amino acids are not clearly shown. An amino acid
74
that differs from another by a single nucleutide (such as the codons numbered 922) should somehow be shown next to each other.
MESD Figure 1: The Codon Torus: the KH-table can be wrapped on a torus as shown However the codon code exhibits other striking regularities. If we map out this binary code into a KH-map (which is a K-map of size greater than 4 x 4) [4] in a particular shape as shown in Table 2, we see a pattern in which every row is taken up by either a single codon, two codons or three codons. The coding scheme for this KH-map is created by ordering the binary codes in a specific way, called the Gray code, or the reflected code [2,3]. The binary codes are ordered in such a way that each cell differs from any of its neighbors by one bit. A neighbor is defined as a cell either vertically or horizontally adjacent. This map then is a very specific ordering of the codons. Because of its construction, the cells along the top are also neighbors of the cells along the bottom, and the cells along the left edge are neighbors of the cells along the right edge. Therefore, this planar map can be mapped onto a torus (as in Figure 1) in such a way that the cells are physically adjacent to the cells with which they are neighbors [2,3]. The number of nucleotides at each row can be expressed as 1211212322131121 (see Fig.2.) Other combinations could have also occured but there might be a reason why this particular pattern has evolved. We can shift the acids around on the table by reassigning the binary codes to G,A,C, and U, however it is best to think of the table as being wrapped on the surface of the torus shown in Figure 1. Then the row or column shifts will merely result in the rotation of the torus in different ways, one of them being rotating it so that the surface facing the inside circle is on the outside. The distance of the nucleotides to each other can then be read off the torus. From the table we can see that the 4 bit codes are the most robust in the sense that the last two bits can be anything and still represent the same nucleotide. The 6 bit codes are the most volatile in the sense that any change in any of the bits will result in turning the nucleotide into another one. Therefore the 'distance metric' is row dependent, along the length of the torus for all of them, and it is row and column dependent for the others.
75 G 00 GG 00Q0( GA 0001 (
A C u 01 11 10 GLY ) GLU " ) ( ASP )
GC 0011 (
ALA
)
GU OQio(
VAL
)
AU 0110(^(|LE)(JLEr) AC 0111 ( AA 0101 (
THR LYS ~ X
) ASN
)
AG 0100 ( ARG2^)( SER2 ) UG 1000(TRP)^TOP^( CYS )
UA 1001 (JTOP1_)(^JYR_J UC 1011 (
SER1 PHE
)
UU 1010 ( LEU2 X CU 1110 ( LEU1
) )
CC 1111 (
)
PRO
CA 1101 ( GLN ~X CG 1100 (
HIS )
ARG1
)
Figure 2: Another View of the Codons 4
Conclusion
In addition to the codon code being a combination of a fixed length code and a variable length code [4,5], the code also displays regularities in the form of Graycoding and thus can be displayed as a KH-map/table [2], and wrapped on a torus [3]. Thus the torus is the natural space for this code, and a metric can be constructed on this space.
76 References 1. Lewin, B, Genes V, (Oxford University Press, Oxford, 1995) 2. Hubey, H.M. A Complete Unified Method for Taming the Curse of Dimensionality in Datamining and Allowing Logical-ANDs in ANNs, submitted to Journal of Knowledge Discovery and Datamining, June 2001. 3. Hubey, H.M. Mathematical and Computational Linguistics, (Moscow, Mir Domu Tvoemu, 1994) 4. Naranan, S. and V.K. Balasubrahmanyan, Information Theory and Algorithmic Complexity: Application to Linguistics Discourses and DNA sequences as Complex Systems, Part I: Efficiency of the Genetic Code of DNA, Journal of Quantitative Linguistics, Vol 7 (2000), No 2, August, pp. 129-152. 5 Naranan, S. and V.K. Balasubrahmanyan, Information Theory and Algorithmic Complexity: Application to Linguistics Discourses and DNA sequences as Complex Systems, Part II: Complexity of DNA Sequences, Analogy with Linguistic Discourses, Journal of Quantitative Linguistics, Vol 7 (2000), No 2, August, pp. 153-183.
77
APPENDIX I Table 1: The Genetic Code #
Codo n Set
Legend Name
Abbrev
Binary Code
Threonine Proline Alanine Glycine Valine Arginine Leucine Serine
THR PRO ALA GLY VAL ARG1 LEU1 SER1
Ulllxx llllxx 001lxx OOOOxx 001lxx HOOxx lOllxx lOllxx
AA# CA# GA# UG# UU# AG# AU# UA#
Asparagine Histidine Aspartic Acid Cysteine Phenylalanine Serine Isoleucine Tyrosine
ASN HIS ASP CYS PHE SER2 ILE1 TYR
OlOllx HOllx 0001lx lOOOlx 10101X OlOOlx OllOlx lOOllx
17 18 19 20 21 22
AA? CA? GA? AG? UU? UA?
Lysine Glutamine Glutamic Acid Arginine Leucine Stop
LYS GLN GLU ARG2 LEU2 STOP1
OlOlOx HOlOx 0001Ox OlOOOx 10100X lOOlOx
23 24 25 26
AUG UGG AUA UGA
Methionine Tryptophan Isoleucine Stop
MET TRP ILE2 STOP2
011000 100000 011001 100001
1 2 3 4 5 6 7 8
AC* CC* GC* GG* GU* CG*
9 10 11 12 13 14 15 16
cu* uc*
A=01,G=00, C=ll, U=10 *=A,QC,or U #=C, or U (Pyrimidine) x= 0 or 1 ?=A or G (Purine)
Human Computer Interface
81 A CASE STUDY OF A DISABLED MAN USING A MOUTHSTICK AND ACCESSIBILITY OPTIONS IN WINDOWS TO DO E-COMMERCE BRUCE DAVIS B.A. (Former Chair of Advisory council on Disabilities in Morris County, N.J.) 9 Ridgedale Avenue, Cheshire Home, Florham Park,, New Jersey 07932, USA EAMON DOHERTY M.S., GARY STEPHENSON B.A. University of Sunderland, School of Computing, Info. Systems, and Engineering P.O. Box 299, Sunderland, SR6 OYN, England E-mail:
[email protected],
[email protected] JOANN RIZZO M.A. (Morris County Family Services, N.J.) 62 Elm Street, Morristown,
New Jersey 07960, USA
A quadriplegic man found that he was able to perform e-commerce using a mouthstick and the accessibility options in Windows 95/98/2000. The quadriplegic man took approximately 33% longer to perform an e-commerce task than a man with full use of his limbs who performed the same task with a mouse. The speed at which the motor impaired man's purchase was carried out was of less interest to the researcher than the fact that the man could now participate in the new economy from his home and independently purchase products he wanted. The disabled man, Bruce Davis, said it was his professional opinion that many quadriplegic institutionalized persons have transportation issues and cannot make timely purchases in person. Bruce Davis stated further that this population could become more empowered and independent by performing e-commerce with a mouthstick and the Windows accessibility options that are available in institutions. Bruce stated that the goal of this paper is to inform institutionalized persons, their caregivers, and family that there exists a feasible means of allowing some severely motor impaired persons a means to participating in the new economy by purchasing or selling items online.
1
Introduction
Bruce Davis has served many years as an advisor on disability issues for human services in Morris County, New Jersey. He has met numerous disabled people at meetings and found that almost all of the disabled people depended on others for transportation or making purchases for them. Another problem Bruce and many of the motor impaired people he met had was that their wheelchairs were not suitable for use in snow, ice, rain, or extremely cold weather. This meant that people could only independently buy
82
products during good weather if their health permitted outside travel or depend on others to make purchases for them. Bruce and many other institutionalized persons have obtained computers, Internet Service, and accessibility packages with Windows 95/98/2000. This is mostly due to a general decline in prices of computer hardware, software, and Internet Service Providers. Pu and Faltings [1] say that people with a PC, software, and Internet service have found that people can purchase competitively priced items and find the experience satisfying. E-commerce is the process that allows people select an online product and have it delivered in a timely manner to their place of residence. Bruce Davis said such a process was in his professional opinion very useful to people who need to purchase items but were unable to travel to a traditional store. 2
A Case Study of E-Commerce with a Severely Motor Impaired Person
There were numerous studies concerning e-commerce and quality of service [2] and issues concerning usability with people who had no disabilities. However, no literature was located on the e-commerce experience concerning a severely motor impaired (quadriplegic) person with some head movement. It was then decided that an investigation would be performed to investigate the length of time it would take to perform a purchase in an Internet environment by a severely motor impaired person and compare it against a person with a normal limb and hand. 3
The Study
The case study started and ended on November 10,2000. A personal computer was equipped with Windows 98 and a mouse. The accessibility functions were also enabled so that the numeric keypad could be used to navigate the cursor and perform a "clicking" function. A "sticky keys" function in the accessibility function was also enabled, so that chords - two keys pressed together - such as ALT-R could be performed by the motor impaired user. A Netscape browser was installed. Erols was the local Internet service provider. Bruce Davis is considered by his physical therapist to be a skilled user of a mouthstick and to be a good representative of a severely motor impaired quadriplegic user. Professor Doherty is considered by many in the academic community to be a skilled mouse user and a good representative of a person with functioning limbs.
83
Bruce Davis was fitted with his mouthstick and given the command to start. He used the mouse emulator and sticky keys in conjunction with the mouthstick to start a dialer, the browser, accept cookies, find the www.ebav.com auction site, find the third item in a list of US coins and place a bid. Professor Doherty performed the exact same steps using his hand to navigate a mouse. The results are available in Table 1 below. It can be seen that Bruce Davis performed the task in seven minutes and thirty-two seconds while Professor Doherty took four minutes and five seconds, which is 33% faster. Bruce Davis Dialed in to Erols on first try Started Netscape Typed in URL of Auction Answered three cookies Navigated 3 screens Typed in User Name and Password 7 Minutes, 32 seconds
Prof. Doherty .i.. it tt tt ti
«» it ti
Used Same User Password 4 Minutes, 5 seconds 33% faster
Name
and
3.1 - Table 1 4
Discussion
Bruce Davis was asked why it took 33% more time than Professor Doherty when no errors were made by either participant. Bruce pointed out that the mouse has been considered an optimum pointing device since first researched by Card, English and Burr in 1978 [3]. The mouse emulator is not as fast as the mouse nor is it intended to be. Its function is to be enabling and not optimal. Bruce said he was not aware that he could perform e-commerce before the experiment and felt intimidated by the whole process. Bruce said that it was easy to purchase items from the Internet and that private delivery companies such as FEDEX, UPS, and DHL EXPRESS offered him overnight express for high priority purchases. Bruce stated that three minutes either faster or slower to perform a purchase was not significant to people in an institutionalized setting who do not feel the same pressures as persons who are in the non-institutionalized world and involved in full time employment. Bruce also said that many institutions including his offer computer labs with a range of accessible input devices that allow severely motor impaired persons access to both the computer and the Internet. It was his opinion that
84
this method of commerce was feasible to cognitive persons with some head movement or ability to use a switch and scanning software. He stated further that e-commerce was convenient for those with severe transportation issues who cannot leave the institution to buy or sell items. 5
The Investigation of the Mouse Emulator
Professor Doherty performed an investigation with the mouse emulator and mouse that comes standard a PC and with Windows 95/98/2000. The purpose was to see the difference in performances when using a mouse and mouse emulator to choose icons and buttons when performing e-commerce. On November 10, 2000 an experiment was undertaken to understand the difference in time to acquire icons and buttons with both the mouse and the mouse emulator. Professor Doherty used a program called Clicktest [4] that presented eight targets, the size of a standard icon, in a serial fashion for acquisition. The targets appeared on forty-five degree azimuths seventy-five percent of the distance between the origin of the screen and the outer edge of the screen (Fig. 1). The results were that it took Prof. Doherty an average of 5.77 seconds to acquire each target with the mouse emulator while it took only .55 seconds to acquire with the mouse. Prof. Doherty then presented the results to Bruce who agreed that the mouse appeared over ten times faster to perform selections and clicks. He reiterated that the mouse emulator was about enabling a person, not about performing tasks in optimal times when compared to non-impaired persons. Bruce said his only other option to performing ecommerce was to use EZ-Keys [5], a program that allowed the scanning of the screen using a switch to indicate direction changes and clicks. Such a program was effective but required more vigilance to the task at hand and also required precise timing to push the switch. There was also the risk that performing the same action could lead to a repetitive stress injury. 6
Overall Conclusion
We have presented results here with one person performing one task. The results here can only be used as a suggestion of how e-commerce may be useful for a spinal chord injured intelligent man and may not apply to other cases of disability. The results and opinions in this paper should be encourage others to perform an in depth e-commerce study. Our limited results suggest that the mouse emulator and EZ Keys appear to be the only methods of computer control that allow severely motor impaired quadriplegic
85
persons like Bruce Davis an access method to performing e-commerce. Bruce's opinion is that EZ keys may provide an opportunity for a repetitive stress injury due to the repetition of hitting a switch with a mouth pointer. It also requires a high level of vigilance to the task at hand as well as precise timing with a switch to point and click. The mouse emulator on the other hand does not require precise timing. A motor impaired operator can touch a key, move the cursor, and rest if he or she is tired. Then he or she can resume the task. It does not require the same level of vigilance as EZ keys. The numeric keypad has over sixteen keys to provide navigation and selection tasks with the cursor. There is not the same level of repetition and from an ergonomic standpoint there is most likely less risk of a repetitive stress injury. The mouse emulator seems the most effective method for motor impaired persons such as Bruce to perform pointing and clicking to do e-commerce. The mouse may be an optimal device and ten times faster but is not an option to a severely motor impaired person to use in e-commerce. It was mentioned now many times that institutionalized people do not have the same time constraints as those living in a non-institutionalized world. The mouse emulator provides pointing and clicking ability for the motor impaired person in at least one representative's of that population's idea of an acceptable time. The number of keys needed for navigation and selection appears to make the task more interesting as well as reduce the risk of injury. The ability to rest the mouthstick and not fail the e-commerce task at hand seems a great asset. Lastly e-commerce offers the transportationally challenged person a viable means to participate in the new e-economy and purchase as well as obtain goods in a timely fashion.
Figure 1.0 - Clicktest and Target Simulating an Icon
86 References 1. 2.
3. 4.
5.
Pu, P., Faltings, B., "Enriching Buyers' Experiences: the SmartClient Approach" CHI 2000 (ACM), 1-6 April 2000, Amsterdam, Netherlands, p. 289-96 Bouch, A., Kuchinsky, A., Bhatti, N., "Quality is in the Eye of the Beholder: Meeting Users' Requirements for Internet Quality of Service, CHI 2000 (ACM), 1-6 April 2000, Amsterdam, Netherlands, p. 297-304 Douglas S., Mithal A., "The Ergonomics of Computer Pointing Devices", Springer - Verlag, Berlin Heidelberg New York, 1997, Page 65. Doherty, E., Bloor, C , Cockton, G.( Engel, W., Benigno, D., "Yes/No - A Mind Operated Device for Severely Motor Impaired Persons" (2000), Computers Helping People with Special Needs, ICCHP 2000, Proceedings of the 7th International Conference on computers Helping People with Special Needs, July 17-21, 2000 Karlsruhe, Germany Lawrence, P., "Ez Keys for Windows Uniquely Satisfies aac and other Assistive Technology Needs", Presented at CSUN 1998 Conference in Los Angeles, March 1998, available upon request from Phillip-Lawrence, Words+Inc.40015,SierraHighway, Building,B-145, Palmdale, CA 93550
87 USABILITY ISSUES CONCERNING THE CYBERLINK M E N T A L INTERFACE A N D PERSONS WITH A DISABILITY
EAMON DOHERTY M.S., CHRIS BLOOR PHD, GILBERT COCKTON PHD University of Sunderland, School of Computing, Info. Systems, and Engineering P.O. Box 299, Sunderland, SR6 OYN, England E-mail:
[email protected] and {firstname.lastnam}sunderland.ac.uk JOANN RIZZO M.A., R.P.S. 62 Elm Street, Morristown, New Jersey 07960, USA D E N N I S B E N I G N O B.A. (Trustee, Neurological Institute of N.J.) 270 Hazel Avenue, Clifton, New Jersey, 07011, USA E-mail:
[email protected] BRUCE DAVIS B.A. 9 Ridgedale Avenue.Cheshire Home, Florham Park,, New Jersey 07932, USA A mental interface device called the "Cyberlink" was tested with a group of persons with traumatic brain injury or cerebral palsy. All were able to play games but only some were able to perform rudimentary communication. The persons with cerebral palsy who also had a high level of spasticity experienced difficulty operating the Cyberlink because the headband containing the electrodes was often loosened or fell off during episodes of involuntary movements. Staff and parents were reluctant to leave such persons unsupervised with the device because such users would experience frustration if the headband became unsecured and they were unable to operate the device. A study was conducted to investigate some available methods to secure the headband and thus improve the ability of disabled persons to independently perform recreational and communicative tasks. Another Cyberlink usability issue was also examined. The institutional staff and parents reported that the configuration of settings of the Cyberlink were difficult to optimize. The parents and staff said further that settings often became invalid during the session as a person's physiological signals changed. The purpose of the paper is to report some of the shortcomings of the Cyberlink and postulate solutions that may be implemented and thus increase the usability for some disabled persons.
1
Introduction
The Cyberlink is an assistive technology device that uses signals collected from the forehead to operate a cursor. The signals are collected by the use of electrodes that are
88 placed upon the forehead and held in place with a headband. Signals from eye movements (EOG), muscle movements (EMG), and brain waves (EEG) are processed and drive the cursor around the screen [1]. The United States Congress has defined an assistive technology as any device that assists in allowing persons to perform activities of daily living such as communicating or operating appliances [2]. The definition was further expanded to devices that allow persons to recreate [3]. Research with a variety of brain-injured persons using the Cyberlink revealed that the device was some people's only means to communicate and recreate even if on an inconsistent basis due to medications, sustained injuries, or problems with either the Cyberlink software and/or hardware [4]. The device was also useful to persons with mental retardation and cerebral palsy for navigating a cursor through an onscreen maze and playing various video games [5].
2
Previous Studies
The results of previous studies using forty-four participants with the Cyberlink and interviewing approximately two hundred institutional staff, participants, guardians, and parents revealed that a "Yes / No" program (See Figure 1.) was needed to allow braininjured persons with total locked-in syndrome to communicate [6]. The program allowed some persons with total locked-in syndrome an opportunity to communicate some of the time.
1 NO
Yes
J
Figure 1. "Yes/No" Screen
89 3
A Parent's View
Dennis Benigno, a parent of a Cyberlink user with total locked-in syndrome, was happy to witness his son navigate the cursor four times to select yes and no responses. The son was instructed what four answers to select on June 12, 2000. The joy engendered by one deliberate yes or no response from his son is difficult for persons not in such a situation to comprehend [6]. Dennis wants to use the program independently with his son but finds the configuration of the Cyberlink confusing and time consuming. He says a settings agent is needed to simplify setting configuration. It was also established that settings need to change within a session because of physiological changes in the user [6]. Dennis feels a settings agent should regularly investigate the appropriateness of settings throughout a Cyberlink usage session. The agent should then make appropriate changes when necessary. Dennis would also like to see the Cyberlink rely more on brain power (EEG) and less on physically generated signals from eye movements because it might be easier for his son. On August 1,2000 it took 270 seconds for Dennis' son to answer a definite yes. The son had answered six out of seven yes and no answers correctly on June 26,2000 and averaged less than a minute on each response. The son's ability to control the device varies greatly due to technology limitations as well as his injuries. This frustrates the parents who would like to communicate regularly with their son. 4
A User's Viewpoint
Bruce Davis, a Cyberlink research participant, also agrees with Dennis that settings become inappropriate within a session and that a settings agent is required. Bruce also feels that a better method of fastening the electrodes to the head is needed because many disabled persons have varying degrees of involuntary movements that affect the placement of the Cyberlink headband. Such shifting of the headband has often made the Cyberlink unusable. Staff in group homes are often busy and cannot always attend to an assistive technology device as more serious care issues take precedence. Bruce says his head size is twenty-four inches and the headband should have more velcro to accommodate people with larger heads. Bruce knows of two other Cyberlink users with sixteen inch heads and lots of long hair who find the headband does not stay securely on their head. Bruce said a helmet with the electrodes inside would be a better solution.
90 5
Cyberlink Usability Issues
The above comments indicate the need for a 'settings agent', and that there may be a problem relating to the use of the headband. Dr. Junker, inventor of the Cyberlink, did attempt to address the former problem but it appeared to be very complex and was not solved before funding for the project ran out [1]. The headband moving did appear to be a problem at times with approximately twenty of the forty-four persons involved with the research. It was decided that three options could be pursued to secure electrodes to the forehead: • suction cup electrodes could be placed upon the forehead • the Cyberlink headband could be embedded within a bicycle helmet • The headband and electrodes could be fastened to the head with tape Conversations with health care professionals revealed that suction cups could leave unsightly marks and damage the self-esteem of the participants. Discomfort from the suction cups could also cause users to focus on the suction and not the task at hand. Health care professionals also indicated that tape could remove facial hair, cause pain, and irritate the skin of the participant. Neither participants, health care professionals, or guardians raised any objections to the option of having the Cyberlink headband embedded within a bicycle helmet. Consent was obtained and the helmet was tested with a group of disabled users with various impairments. 6
The Helmet Study
An investigation was undertaken into means of making the headband easier to fasten on the Cyberlink user's head and keep it secure. A standard cycle safety helmet was adapted by placing the three electrodes normally used with the Cyberlink on the internal surface of the helmet. The study started March 1,1999 and ended on March 4, 1999. A one-time twenty-minute session was performed with each participant. Participants were given instructions to place the helmet on their head if possible or let the helmet with embedded electrodes be fastened on their head. Each participant was to independently select and play as many games as possible from a hands-free menu. The participants' spastic movements and its effect on the headband were noted. An alpha wave in the range 8-10 Hz. was used for vertical control of the cursor while EOG signals in the 1-2 Hz. range was used to power horizontal movements of the cursor. A sign language interpreter was available for deaf participants. The participants included fifteen males and females with a variety of neurological and mental impairments including a high level of spasticity. Adequate electrical
91
connections were established for all participants. To achieve this, the quantity of foam block packing had to be adjusted as the head sizes of the participants varied from sixteen to twenty-four inches. It was necessary when fitting the helmet to pay careful attention so as not to disturb hearing aids and glasses. These measures considerably increased the time required to fit the helmet, although only the second point would need to be considered for an individually tailored system. Some participants who were prone to falling said the helmet provided a feeling of safety in case he or she fell. Participants all scored well on the Cyber-Pong but reported increased difficulty in performing a click in the hands-free menu. The helmet did keep the headband secure but at a cost of increasing the difficulty of clicking for a population with a history of problems using the Cyberlink to click. The participants reported at the end of the study that they liked the helmet and agreed it made them look like a racing car driver or bicycle enthusiast. However other institutional residents said that the users looked autistic wearing the helmet and therefore the users would not wear the helmet again. 6.1
Helmet Study Conclusion
It was concluded that the helmet further impeded clicking and also decreased the selfesteem of some of the participants. The helmet also did not save time because extra time had to be taken not to disturb hearing aids or eyeglasses. The helmet did provide a method of keeping the electrodes on the forehead and provided some with an initial feeling of security if he or she was prone to falling. Overall the helmet provided more negatives than positives and was discarded as a hardware improvement. 7
Overall Conclusion
The Cyberlink is a useful assistive technology for disabled persons but is difficult to configure and maintain relevant settings throughout a session. A settings agent is needed to quickly find usable settings and update them as the user's physiological signals change. A better method of fastening the electrodes to the forehead is needed for spastic individuals. Such changes could make the Cyberlink more usable and thus be more readily accepted by both institutions and private residences as an assistive technology.
Figure 2. Bruce Davis Operating a Laptop and Cyberlink and a Telephone I
References
1. Berg, C, Junker, A., Rothman, A., Leininger, R. (1998) The Cyberlink Interface: Development of A Hands-Free Continuous/Discrete Multi-Channel Computer Interface Small Business Innovation Research Program ( SBIR ) Phase II Final . Report Published by Brain Actuated Technologies, Incorporated- 139 East Davis Street, Yellow Springs, Ohio 45387., United States of America 2. Public Law 100-407" [S. 2561]; August 19, (1988a) Technology-Related Assistance For Individuals With Disabilities Act of 198.8,. Section 29 USC 2202, United States Congress 3. Public Law 100-407 [S. 2561]; August 19, (1988b) Technology-Related Assistance • For Individuals With Disabilities Act of 1988, Section 2, Findings and Purposes, USC 2202, United States Congress 4. Doherty, E, Bloor, G, Cockton,( 1999b) The "Cyberlink" Brain Body Interface as an Assistive Technology for Traumatically Brain Injured Persons: Longitudinal Results from a Group' of-Case Studies, CyberPsychology and Behavior, Liebert • Publications, Larchmont, New York,'USA, pages 249-259 • 5.- Doherty, E, Bloor, C, Cockton, - G., Engel, W., Rizzo, J., Berg, G,'(1999a) ' -Cyberlink - An Interface for Quadriplegic and Non --'Verbal People, Pages 237' 249, Conference Proceedings, GT99'3rd International Cognitive Technology,-: Aug 11-14,1999 •" in' - San Francisco, -Proceedings" Available at http://www.cogtech.org/CT99, Published by M.I.N.D. Lab, Michigan State University 6. Doherty, E, Bloor, C. and Cockton "YES/NO" A Mind Operated Application for Severely Motor Impaired Persons, Proc. ICCHP 2000, Karlsruhe, Germany, July 16-21
93 ROBOTICS FOR THE BRAIN INJURED: AN INTERFACE FOR THE BRAIN INJURED PERSON TO OPERATE A ROBOTIC ARM PAUL GNANAYUTHAM, CHRIS BLOOR AND GILBERT COCKTON University of Sunderland, School of Computing, Engineering and Technology, The Informatics Centre, St. Peter's Campus, St Peter's Way, Sunderland. SR6 ODD, UK E-mail:
[email protected],
[email protected],
[email protected] This paper discusses a pioneering area of research that is being carried out by Sunderland University that allows brain injured persons to do simple tasks using robotic arms. Although robotics have been used for helping disabled persons in various areas of disability, very little research has been done with the brain injured persons and robotics. This paper discusses the implementation of a simple model, which consists of brain body interface, a computer, an interface program, an electronic circuit to interface the computer to the robotic arm and a robotic arm. We hope to improve the lives of brain injured people once the pilot studies are completed
1
Introduction
This an extract from the statement presented to the 56th Session of the UN Commission on Human Rights in Geneva, in early April 2000, by Bengt Lindqvist. "Throughout the centuries we have designed and constructed our societies, as if persons with disabilities did not exist, as if all human beings can see, hear, walk about, understand and react quickly and adequately to signals from the world around them. This illusion, this misconception about human nature, this inability to take the needs of all citizens into account in the development of society, is the main reason for the isolation and exclusion of persons with disabilities, which we can observe in different forms and to different degrees all over the world. It will take a long time to change this pattern of behaviour, which is deeply rooted in prejudice, fear, shame and lack of understanding of what it really means to live with a disability". "World estimates show that there are more than 500 million people who are disabled as a consequence of mental, physical or sensory impairment. This makes people with disabilities one of the world's largest minorities" [1]. The statement by the Commissioner on Human Rights shows that it is a right for all human beings to live without any prejudice and the second statement by Dr. Agarwal shows that the disable community is one of the world's largest minorities, which certainly need to be addressed. Many researchers and careers keep contributing to the area of disability to lessen the prejudice as we reach the twenty first century. Computer technology, Artificial Intelligence and the Human Computer Interaction also contribute to the goal set by the United Nations to make user interfaces that can be used by any user including users with special needs.
94 University of Sunderland has been carrying out extensive research in brain body interfaces for brain injured and has created human machine systems, which gives hands free access to the computers. This facilitates simple communications between the brain injured and the outside word, which was not possible until few years ago. In this paper, we take the brain body interface communications a step further where the brain injured persons will not only communicate but will also be able to do simple tasks such as lifting a small item and having a closer look. Remember this is the only the beginning of research in the area of robotics for the brain injured. 2
Robotics for the brain injured
In this section we look at the communications devices used by the brain damaged users and the new device for carrying out simple tasks using a Robotic arm. 2.1 Brain Body Interfaces Not all users with special needs can use a mouse, trackball, and keyboard or have the ability to speak to a speech recognition system. So we need a device that provides communication capabilities for those who cannot use any of the regular input devices. There are many brain body interfaces; e.g. • HeadMouse™ - (using wireless optical sensor that transforms head movement into cursor movement on the screen [10]. • Tonguepoint™ - a system mounted on mouth piece [9]. • Cyberlink™ - a brain body actuated control technology that combines eyemovement, facial muscle and brain wave bio-potentials detected at the users forehead [8]. All the devices above have their advantages and disadvantages. A user with cerebral palsy will not have good motor abilities to operate the 'Tonguepoint™'. A user with spinal vertebrate fusion may not be able to turn his or head and the HeadMouse™ will be of no use to this user. At present only the cyberlink™ seems to be applicable to the brain injured because it uses a combination of signals. 2.11 Cyberlink™ 'Cyberlink™' can be used as a control technology that combines eye movement, eye blink, facial muscle and brain wave bio-potentials detected at the user's forehead to generate a mouse input that can be used for communicating. Cyberlink™ uses the forehead as noninvasive site, for convenience and also because it has a rich variety
95 of bio-potentials. The signals for communications are obtained by attaching probes on the forehead of the patients. Basically it is 3 silver/silver chloride contact electrodes (i.e. non-invasive), which are placed on a headband that picks up EEG (brain wave), EMG (muscle movement wave) and EOG (Eye ball movement) signals when applied on the forehead. These are then fed into an amplifier box and then to the mouse port, so the computer just sees the device as a mouse, which, is used to control the cursor. The main signals used are due to muscle movement, only about 10% is due to thought processes (Brain wave). We used the cyberlink to communicate with the brain injured persons to get basic yes/no answers this time we want to go a step further and make the brain injured user perform simple tasks using a robotic arm. University of Sunderland carried out extensive research in the area of brain body interface devices for communication instead of the regular devices for the brain injured persons. For many years brain injured patients were written off as vegetative patients but now there are some groups of brain injured who are able to communicate using the brain body interface devices [5,6,7]. There is still research being done in this area. 2.2 Modelfor operating the robotic arm using the brain body interface The Model consists of following components: 1. A cyberlink™ brain body actuated control technology system that connects to the computer via the serial port 2. A computer with a parallel port and serial port free. An Interface program written in Visual Basic™ to operate the functions of the robotic arm 3. An Electronic circuit to read the parallel port of the computer and operate the motors that manipulate the robotic arm [2] 4. A robotic arm (Super Armatron™) that is operated using a series of motors [2]
c Y B E R L I N K
E L E C T R O N I C
COMPUTER
& INTERFACE PROGRAM
Fig.l
c I R C
u I T
R O B O T I C
A R M
96
The diagram in figure 1 shows the model for operating the robotic arm using the brain body interface. The computer needed one serial port for the cyberlink™ and a parallel port for the electronic circuit that interfaced the computer with the robotic arm. The cyberlink probes were attached to the forehead of the user and the other end of the cyberlink was connected to the serial port of the computer. The computer had a program written in Microsoft Visual Basic 6.0™, which had six paths for controlling the robotic arm. The paths ended up in one of these functions, arm go up, arm down, arm left, arm right, open claw and close claw. When one of these six functions were triggered, the program sent a binary code to the parallel port, which drove one of the motors to carry out what was requested by the user. The Electronic circuit used in the above setup is shown below.
Decoder
Switches
Motors
Joints
Motor Power Supply
Fig.2 In the above diagram we see the block diagram of the electronic circuit that was used. The output from the parallel port was decoded and used for switching transistors. The transistors switched the motors on and off in either direction [2]. The mechanical side of the circuit included aligning shafts and making sure there were no vibrations.
Discussion The meaning of the word "Robot" is slave worker (from the 1923 play Rossum's Universal Robots). The early uses of robots were mechanical devices using gears and levers. The advent of computers and the fast and furious new technology has given the robots the capability to perform sophisticated tasks others than mundane routine jobs. Robots are in action in the Military, Health sector, Manufacturing, Space exploration, Mining etc.
97
This paper tackled the area of giving this sophisticated and powerful robot as a tool for the brain injured who perhaps need it more than any other category of people. The research carried out at the University of Sunderland gave the brain injured people the opportunity to communicate using brain body interface devices [5,6,7], this new area of robotics for the disable mainly the brain injured is going to open a vast area of research which will end up in very useful applications for all the people regardless they have special needs or not. Robots are being used in places such as Japan for caring for the physically handicapped people. These robots do the daily routine chaos thus taking the burden away from the careers and also saving a lot of money. The operators control these mobile robots through the Internet and mobile phones [12]. The new trend in robotics is to control robots remote using the Internet or mobile phone. Robots have been in science fiction for many years and but now there is some exciting new research going on at the moment which is going to change many a brain injured person's life. Blinking or moving forehead muscles are quite tedious process for a brain damaged person. One new approach taps into electrical noise generated by the brain. A probe on the scalp is used to measure tiny amounts of current as the nerve cells fire. These biofeedback signals (EEG) can be used to communicate. The users can control these biofeedback signals and create regular patterns in order to use it as a cursor in a computer or operate other devices [3]. In another approach, probes are planted directly into person's brain to detect neurons in the area that once carried out a physical function for example controlled an arm. The area of research is very useful to locked-in patients. The electrodes planted contains proteins which encourage nerve cells to grow near the electrode [11] The future of this research area covered in this article will only be successful if the government, commercial organisation, research personnel and care-givers work together to create robotic hands and feet for this group of handicapped people. There is whole world of applications to be created for the brain injured people.
4
Acknowledgements
We thank Professor Doherty for all the work he is doing in the area of brain injured people and all his encouragement in this new area of research "Robotics for the brain injured".
References 1. 2. 3. 4. 5.
6.
7.
8. 9. 10. 11. 12.
Agarwal V. Disability India Journal, January (2001) Banas J. Computer Controllled Robot Arm, Radio Electronics, pp50-53, (1995) Bradbury D. The cyber century, Computer Weekly 26 April 2001 (2001) Christensen D. Mind over Matter, Science News, Vol. 156, Issue 9, pl42, (1999) Doherty E. Bloor C. Cockton, G. Engel W. Rizz J. and Berg C, (1999) Cyberlink - An Interface for Quadriplegic and Non - Verbal People, Pages 237-249, Conference Proceedings, CT99 3rd International Cognitive Technology, (1999) in San Francisco, Doherty E. Bloor C. and Cockton The "Cyberlink" Brain Body Interface as an Assistive Technology for Traumatically Brain Injured Persons: Longitudinal Results from a Group of Case Studies, CyberPsychology and Behavior, Liebert Publications, Larchmont, New York, USA, pp 249-259 (1999) Doherty E. Bloor C. Cockton, G. Engel W. and Benigno D., "Yes/No - A Mind Operated device for Severely Motor Impaired Persons" (2000), Computers Helping People with Special Needs, ICCHP 2000, Proceedings of the 7th International Conference on computers Helping People with Special Needs, (2000) Junker A., United States Patent, 5,692,517, (1997) Origin Instruments. HeadMouse: Head-Controlled Pointing for Computer Access, http//www.orin.com/access/headmouse/index.tm (1998) Salem C. and Zhai S., An Isometric tongue pointing device, Proc. Of CHI 97 (1997) pp 22-27 Siuru B. A Brain Computer Interface, Electronics Now, Mar99, Vol. 70, Issue 3,pp55,(1999) Yoshiyuki T. Takashi K. Tateki U. Masao M. and Hiroyuki K., development of the Mobile Robot System to aid the daily life for Physically Handicapped, Proceedings of the 7th International Conference on Computers Helping People with Special Needs, (2000)
99 A COMPUTER INTERFACE FOR THE "BLIND" USING DYNAMIC PATTERNS DAVID VEAL and STANISLAW PAUL MAJ School of Computing, Edith Cowan University, Perth, Western Australia, Australia E-mail:
[email protected],
[email protected] It is increasingly important that the blind can make effective use of computers (Internet, word-processing, etc). Methods such as text to speech or text to Braille may help, but involve extra cost. Text to speech may not be effective if the student also has hearing difficulties. Likewise should the student have problems with touch sensation text to Braille conversion may present problems. Many people classified as blind have some residual vision. If they can simultaneously discern a small number of different colored areas on a computer screen then this may suffice for representation of textual symbols. Each pattern can represent a character. A word, sentence or book can be regarded as a dynamic sequence of such patterns. A program, Dynamic Pattern System (DPS), was developed as a prototype. It runs on a standard PC with no extra equipment. Text can be entered and displayed as both patterns and textual characters, which can be saved and redisplayed later. Sets of patterns can be adapted to an individual's visual capacity and stored and modified for future use.
1
Introduction
Most people classified as blind possess some residual vision. A survey by the Royal Blind Society of New South Wales stated that: "The general community assumes that 'blind' people have no vision at all. This assumption is false. 92% of respondents to the survey have some useful residual vision, even though their functioning is affected by vision loss". They go on to note that: "The definition of blindness used by medical professionals, support services and government agencies (most especially the Department of Social Security) is a visual acuity of 6/60 or less or field restriction of 10%, i.e. the person sees at 6 metres what a person with 'normal' vision would see at 60 metres, or can only see up to 10% of the normal visual field" [11]. If any residual vision is sufficient to enable people with vision impairment to read highly magnified text then enlarged print or text magnification via a video camera attached to a computer may be used. If these methods are inappropriate then text to speech [6], or text to Braille conversion [16] may help. Documents can be scanned into the computer and converted to text and then into Braille or speech. Speech to text conversion and Braille printers may also prove useful. However, Text to speech may not be effective if the student also has hearing difficulties and a UK report states that: "Disabilities other than vision is higher among visually impaired people than among the general population" [13]. Of those taking part in the Royal
100 Blind Society of New South Wales survey 30% noted that they also experienced a hearing loss. Furthermore, 2% of persons from this same survey reported a major hearing loss [11]. The authors propose a system Dynamic Pattern System (DPS) whereby each alphanumeric character can be represented by a pattern. If users can simultaneously discern a small number of different colored areas, or elements, on a computer screen then this may suffice for representation of textual symbols. 2
Dynamic Pattern System (DPS)
Each pattern can represent a character. A word, sentence or a book can be regarded as a dynamic sequence of such patterns. A computer program, DPS, was developed as a prototype. The patterns are displayed serially and in sequence. DPS runs on a standard PC with no extra equipment. Text can be entered and displayed as both patterns and textual characters, which can be saved and redisplayed later. The character representing the pattern being displayed can also be shown. The text box, on screen controls, and the individual character display can all be hidden if required so that a user can only see the patterns being displayed and the top menu bar. This feature is to avoid cluttering the screen with unnecessary detail during experiments. Each pattern can have up to 5 elements. Using only 4 elements and 4 colors enables 4 4 or 256 distinct patterns to be represented. However, it is important to incorporate some redundancy so that the actual patterns used are separated by more than only one distinct difference to avoid confusion between patterns of similar appearance. The size, shape and separation of the elements of patterns, background color, and the speed of delivery of patterns can also be adjusted. The time period between words can also be varied as a multiple of the time period between letters to enable this distinction to further define word boundaries. Furthermore, the ASCII space character is represented by its own pattern, which also helps this process. The DPS program allows the resulting sets of patterns that are adapted to an individual's visual capacity, to be both stored and modified for future use. This stored pattern set includes information on the speed at which the patterns are to be displayed when the user is reading, pattern element size, background color, and element shape. A particular user can have their preferred set of patterns. The program allows the user to read an entire file or select blocks of tests, which can then be automatically converted into patterns. This can be repeated continuously for training purposes. The DPS program enables a set of patterns used to represent the alphanumeric character set to be matched to an individual's remaining vision capabilities, unlike conventional English language text where its symbols are pre-ordained, although there can be some variation of size and shape. At present the DPS program does not distinguish between upper and lower case letters. This is to reduce the number of patterns that users need to recognize. All that needs to be transmitted or received by the users' computers are standard text files as each pattern corresponds to an ASCII character. Any conversions to and from the pattern sets are made via the DPS
101
program itself, hence aiding both the transcription as well as the transmission processes for a range common computer interfaces for the blind. The UK Royal National Institute for the Blind who notes that PDF files can now be converted into text or HTTP files for use in text to speech or text to Braille converters [14] . Whilst Paciello states: "The key to reading a Web document or displayed server messages is that the output stream is ASCII. Since many blind users rely on character cell browsers (LYNX, W3, Cern Line Mode Browser) that read ASCII text in conjunction with their synthesizers and Braille displays" [10]. The authors tested the DPS program on themselves and, with practice, learnt to recognize some basic words and phrases. Safety features were also added to avoid pattern presentation speeds that might induce fits in photosensitive epileptics [18]. Advice was also obtained from neurologists working in the field of epilepsy, from the Epilepsy Association of WA [1], medical practitioners and from the internal publications of local Blind Associations [15]. 3
The Experiments
Firstly volunteers were informed of the possible call on their time and any possible risks involved. Each session took a maximum time of 20 minutes for each individual per week. The tests were undertaken over a maximum period of three weeks using the same machine with the same settings. Volunteers were initially asked to attempt to recognize large single characters in various colors and then to recognize words composed of these characters to test their ability to read enlarged text. Volunteers then chose their own patterns. Drill and practice exercises were then given to the volunteers to help them recognize these patterns and to associate them with the characters, and then the words, represented. Previous work by the authors developed a method to represent a mathematically based relationship between patterns, via the pre-testing of volunteer's vision system, was not used due to time constraints [19]. There were 12 volunteers, one volunteer was deaf-blind and the others were blind. Although all had less than 10% vision none was unable to read highly enlarged text, in some cases a single letter covering most of the screen. The authors regard this as an essential requirement to prove the feasibility of the DPS. Yet, over the test period of 3 weeks, useful data still was obtained regarding some of the problems that blind users could experience when using this system. Some other potential volunteers were excluded, as they could see neither the computer nor the screen. The shape of the colored areas used in the patterns chosen did not have any significant effect on the ease of pattern recognition. Some volunteers had parts of their vision field missing, and this required the position of the pattern elements to be adjusted to accommodate this condition. Other volunteers could not distinguish between colors that a fully sighted person would have perceived as clearly different. This reinforced the authors' trust in their adopted method of allowing users to choose their own pattern sets. Although a lot of flexibility was built into the DPS test bed program,
102 this was insufficient, as some volunteers would have preferred to use more than 5 pattern elements. There was unexpected "interference" experienced by 2 volunteers who had previously learnt Braille even though they had only previously used Braille via touch. There was a large difference in the volunteers' success rates in discerning patterns and pattern sequences and also in relating these to the characters and words that they represented. One volunteer could recognize 14 patterns making up more than 10 words included in sentences after only one 10 minute and one 20 minute practice session, although this was exceptional. It has been noted that these skills are different [5], whilst Liu has investigated the connection between memory and display scanning [9].
4
Future Work
As this research is heading into the region of more severe deaf-blind impairment, so communication with volunteers, and finding them, is becoming more problematic. It be necessary for investigators to learn deaf-blind language whereby two people can converse by imprinting letters with their right hand onto the other's open left hand [3]. The DPS program is written in the computer programming language Microsoft Visual Basic. Visual Basic for Applications (VBA) is included in many common Microsoft Office programs and could be used to run DPS as a front end for these and many other programs. Thus the DPS program would merely enable the conversion the text to patterns or when using such packages.
5
Social Inclusion
"Participation in the broader community depends on the individual capacity to receive and use visually-based information. Limited access to visually-based information affects all aspects of the lives of people who are blind or vision impaired" [2]. DPS is intended as a potential aid to help to further promote the social and economic inclusion of the deaf-blind into the workplace and education systems. The importance of including people with disabilities into the modern computerized workplace has been noted by Ladner: "As pointed out to the author by Jay Brill, these two trends, growing numbers of workers with disabilities and growing demand for workers with the ability to use computers compound each other"; and further that: "Meeting the needs of computer users with disabilities is tantamount to meeting an important need of society as a whole" [8]. This message has been further reinforced in a call to make Information Systems (IS) accessible to people with disabilities [7, 17], and there also could be important implications in the US Disabilities Act with respect to the provision of aids for vision-impaired employees using computer equipment [12]. Computer usage can help to foster
103 independence amongst the disabled. In respect to their Internet usage "It is not the time spent on the Internet that increases independence but rather the number and variety of Internet services used. This variety is a source of richness that provides an opportunity to increase knowledge" [4]. 6
Conclusions
The only difference between a user working with a DPS or on a conventional word processing program is that with the DPS program only sequences of patterns are seen on the screen instead of text. DPS remains to be further proved by being successfully used by people who cannot see even enlarged text and needs to be tested using a full character representational set. So far a maximum of 14 characters have been tested on any one volunteer. More testing of deaf-blind volunteers needs to be undertaken using deaf-blind volunteers who cannot see even highly enlarged text. Learning a new character representational system is a major undertaking and only those volunteers who cannot read highly enlarged text are likely to be willing to sacrifice the time and effort required. 7
Acknowledgements
The authors wish to express their gratitude both to the Royal W.A. Institute for the Blind and their volunteers who participated in these experiments and also to the volunteers from Edith Cowan University for their time and assistance. References 1. 2. 3. 4.
5.
6. 7.
AEA, Epilepsy First Aid, Australian Epilepsy Associations (AEA), Epilepsy Association Services, Canberra, Australia.,, (1998) B. Fewtrell, Equitable access for the visually impaired.,, Incite (1998), pp. 10. J. Foley, The Guinness Book of Signs and Symbols, Guinness Publishing Ltd., London, (1993), pp. 68 - 77. C. Grimaldi and T. Goette, The Internet and the independence of individuals with disabilities., Internet Research: Electronic Networking Applications and Policy, 9 (1999). D. L. Hintzman and T. Curran, Comparing Retrieval Dynamics in Recognition Memory and Lexical Decision, Journal of Experimental Psychology, 126 (1997), pp. 228 - 247. I. J. Jacobs, These Keys were made for Talking; Turning Text into Spoken Words,, Mac WEEK, (1993), pp. 14. J. Kador, Drawing the Disabled into IS, Datamation, 39 (1993), pp. 86 - 89.
104
8.
R. E. Ladner, Computer Accessibility for Federal Workers with Disabilities: It's the Law., Communications of the ACM, 32 (1989), pp. 952 - 956. 9. Y. Liu, Interactions between Memory Scanning and Visual Scanning in Display Monitoring, Ergonomics, 39 (1993), pp. 1038 -1053. 10. M. Paciello, Making the Web Accessible for the Blind and Visually Impaired,, 4th international conference on the World Wide Web Consortium (W3C)., Boston MA, (1995). 11. RBS, "When Even Glasses Don't Help" A study of the needs of people who are blind or vision impaired,,, Royal Blind Society (RBS) of NSW, Sydney, NSW, Australia, (1996), pp. 43 - 52. 12. E. Reese, Managers and Employees Benefit from Disabilities Act.,, MacWEEK, (1993), pp. 20 - 2 2 . .13. RNIB, Blind and partially sighted adults in Britain: The RNIB survey,,, Royal National Institute for the Blind (RNIB), London UK., (1991). 14. RNIB, Web Accessibility Initiative. Royal National Institute for the Blind (RNIB) Report on the "Access Track",, 6th international conference on the World Wide Web Consortium (W3C)., Santa Clara USA., (1997). 15. RWAIB, Guidelines and Safety Procedures,,, Royal WA Institute for the Blind (RWAIB) Accommodation Services, Perth, Western Australia, Australia, (1998), pp. 42 - 48. 16. B. Schulz, Development of Computerized Working-aids for Visually Impaired Persons, in A. M. Tjoa, H. Reiterer and R. Wagner, eds., Proceedings of Computers for Handicapped Persons., Oldenbourg, Vienna, Austria, (1989), pp. 189-200. 17. N. Snell, Making IS accessible, Datamation, 38 (1992), pp. 79 - 82! 18. The West Australian Newspapers, Japanese probe sickening cartoon,, The West Australian, Perth, Western Australia, Australia, (1997), pp. 24. 19. D. Veal and S. P. Maj, Dynamic Patterns as an Alternative to Conventional Text for the Partially Sighted., Special Interest Group in Computers and the Physically Handicapped (SIGCAPH) (1998), pp. 11 - 15.
105 DESIGNING FOR DYSLEXIA - THE DEVELOPMENT OF MATHEMATICS SOFTWARE FOR STUDENTS WITH SPECIFIC LEARNING DIFFICULTIES WALTER MIDDLETON*, EMMA LEJK AND CHRIS BLOOR* University of Sunderland, School of Computing, Information Systems and Engineering, P.O. Box 299, Sunderland, SR6 OYN, England E-mail: (firsiname.secondnamej @sunderland.ac.uk Approximately 3% of students at the University of Sunderland have a Specific Learning Difficulty (SpLD) or Dyslexia, and a large proportion of these students also appear to struggle with mathematical concepts. In order to help tackle this problem we have developed a multimedia teaching program. An initial review of screen design guidelines for this class of user indicated that there were few general guidelines and that those which did exist were often conflicting. One issue which constantly arose was that the requirements for font type, case, and screen colour schemes were very much based on the specific requirements of individual users. Expert teachers and counsellors of students with SpLD were consulted and their methods for mathematics teaching adapted and used as the basis of our program. The guidelines we used, for both screen design and the actual teaching of mathematics, are presented and the results of our evaluation discussed.
1
Introduction
Dyslexia is a complex neurological syndrome which affects some 10% of children, 4% severely [1]. Most research [2] has focused on language difficulties and supports the hypothesis that dyslexia persists throughout life. The characteristics of dyslexia can appear in different combinations and different levels of severity. The following features [1,3,4,5] are common: •poor reading, spelling and written language; •problems with visual processing and phonology; •poor short-term memory and organisational skills; •poor motor, automatising and co-ordination skills; •the late achievement of developmental milestones; •problems with numeracy. The latter point may explain the recent increase in research focusing on the mathematical difficulties experienced by those with dyslexia [6-9].
106 2
Mathematics and Dyslexia
Mathematics is a sequential subject which builds on existing skills and knowledge to attain the new. The subject involves organisation, patterns, abstract ideas and concepts. The necessary skills for mathematics [10] are suggested as: flexible thinking; logical thought in quantitative relations, number and letter symbols; the ability to think using mathematical symbols; and the ability to rapidly and broadly generalise mathematical objects. Mathematics teaching should aim to maximise the development of these skills commensurate with the stage of cognitive development that is needed for conceptual understanding [6]. As mathematical skills are developed, different cognitive skills are required but there does not appear to be a single cognitive defect which causes failure in learning mathematics. Research [7] suggests that there may be several cognitive areas with the potential to be defective. Specific areas of the dyslexia syndrome associated with causing problems for learners of mathematics have been categorised as follows: Memory problems. Wrongly changing symbols in mid calculation [8]. Spatial awareness. Students may ignore zeros in numbers [9]. Language and symbols. The misinterpretation of familiar words is common [8]. Direction and sequencing. Counting backward is a common difficulty [9]. Visual perception. Differentiating x,-s-,+ and - can cause difficulties [9]. Fractions. The concept of equivalence causes particular difficulties [6,10]. Avoidance. Difficult questions are avoided or abandoned [12,13]. 3
Teaching mathematics to students with dyslexic using CAL
Hogg [16] identified a number of possible causes for poor mathematics performance amongst dyslexics. These can be summarized as 'intellectual' difficulties such as making associations and generalizations and a restricted ability to interpret abstractions; plus 'physical' difficulties such as a short attention span and impoverished sensory perception.: Research [2,5,14,15] suggests that effective approaches to overcome the above are those which incorporate multisensory learning; over-learning and automaticity; structured learning; sequential and cumulative approaches; sympathetic teaching, and real-world applications. Clark [17] also suggests the CAL based solutions below as an effective way of combating Hogg's identified set of problems: Flexibility of presentation to enable generalisation and association extension; Simulation and demonstrations to associate the concrete with the abstract; Interactivity and interest to can promote intellectual curiosity; Reinforcement by using graphics, sound and animation to revitalise interest.
107 4
The CAL program
We have established above the types of techniques which, the research suggests, should be effective in a CAL programme directed towards dyslexic students. One further issue is the actual screen design. Here we encountered difficulties. The guidelines we were able to identify [18,19] gave advice which was either conflicting or suggested that the choice of fonts and colour was very much an individual matter. One web site targeted towards a dyslexic audience actual allows users to vote on their preferences[19]. Whilst this is not a well-controlled survey, and we cannot guarantee that only people with dyslexia will vote, it is interested to note that opinions were divided on the choice of font (serif or sans serif) and background colour. Given this situation we consulted with expert teachers and counsellors and decided on a fairly neutral colour scheme. The actual program presents work in the areas of arithmetic operations, basic fractions, fraction arithmetic and conversions all involving interactivity. Feedback is provided but the learner is given a full solution after three unsuccessful attempts at a question. Money, measurement and time are used to explain decimals and equivalent fractions and the program appeals to the senses of the learner in the following ways. Visual features, colours, fonts and custom designed buttons with icons rather than written labels are used as are real-world metaphors. Aural features, a voice-over, activated by a button is offered on every page. Tactile/kinesthetic features, dragging objects ensures user interaction. Overlearning, to facilitate automaticity via worked examples and a test section. 5
Program Evaluation
The software was tested by four dyslexic students, and three non-dyslexics who acted as controls, in consequence the analysis given is qualitative. Each student was given a paper copy of relevant exercises and allowed one hour to complete them. They were then given one hour to use the program and asked to complete a similar set of questions on-screen. Finally a questionnaire was completed.
5.1
Comparison of CAL and paper tests
Table 1 shows that the control students (5,6,7) all performed better on the paper tests than computer tests. They also performed better than the dyslexic students on the paper test (with one exception) but made careless errors on-screen due a lack of attention to instructions. Two of the poorer students (3,4) performed better onscreen than on paper. It is suggested that these students gained the most from the program. Students 1 and 2 performed better on paper than on-screen, these students were apprehensive when using the computer. One dyslexic student had experience of
108 degree level mathematics, and scored marks on a par with non-dyslexic students on paper showing that it is wrong to generalise that all dyslexics are poor mathematicians.. Table 1. Results of paper and on-screen tests Paper tests % 89 50 59 10 100 97 86
Name Student 1 (SpLD) Student 2 (SpLD) Student 3 (SpLD) Student 4 (SpLD) Student 5 Student 6 Student 7
5.2
On-screen tests% 52 42 84 21 91 81 81
The questionnaire responses
General attitudes towards mathematics were obtained by asking the students to grade the four statements shown in table 2 below. Table 2. Student attitudes towards mathematics Control students
Dyslexic students I like to do mathematics I am worried about mathematics I try to avoid doing mathematics I feel I am good at mathematics
Disagree
Agree
Neutral
Disagree
Agree
Neutral
3 1
I 3
0 0
0 3
3 0
0 0
0
4
0
3
0
0
3
0
1
0
3
0
Three dyslexic students expressed negative feelings about mathematics and all four sought to avoid it. Interestingly, even the student with experience of degree level mathematics could only express neutral feeling when questioned about his ability. The preferred mode of working (Table 3) appears to be slightly biased towards the computer although student 1 preferred working with paper on the grounds of familiarity and student 2 liked both methods of working. Computer preference was based on the grounds of clarity, visual appeal and variety of approaches. Table 3. Preferred mode of working
j j Paper
Dyslexic students 1
Control students 0
j
109 I Computer | Liked both
::::::::::::z:::::::::::::i 1
2 1
All four features incorporated were appreciated by most users, dyslexic or not, particularly the voice-overs and animation as shown in Table 4. However, it is surprising that two dyslexic students expressed no particular preference for colour. Table 4. Student opinions on CAL features
Dyslexic students Colours Voice-overs Navigation, buttons Animations
Control students
Liked
Disliked
Neutral
Liked
Disliked
Neutral
2 4 3 4
0 0 0 0
2 0 1 0
3 3 3 3
0 0 0 0
0 0 0 0
The students were asked whether they thought that the brief exposure to the program may have improved their mathematics. Two dyslexic students and one control answered 'yes', one control answered 'no.' The responses of the two dyslexic students are encouraging, particularly as these students (3 and 4) had the most severe problems. Finally, the users suggested a reduction in the amount of text, an increase in the use of graphics, the use of a larger font size and a revision of the fractions section of the program. 6
Discussion
A results analysis showed that users often got a correct answer only at the second or third attempt, the feedback provided appearing effective at re-directing the thoughts of the users. Some students claimed that they were more inclined to enter speculative answers into a computer than on paper since they did not feel embarrassed if they were wrong. The variability of the results does not appear to indicate that this degraded performance.
7
Conclusions
Students with SpLD at the University of Sunderland now have access to a CAL program designed with them in mind. Experts who teach and counsel students with SpLD have seen their input realised in terms of a usable program which has undergone successful initial trials and evaluation. Suggestions from the testers for improvement should lead to further developments in the near future.
110
References 1. Crisfield J., The Dyslexia Handbook (1996), British Dyslexia Association. 2. McLoughlin D., Fitzgibbon G. & Young V., Adult Dyslexia: assessment, counselling and training, (1994), Whurr, London. 3. Miles T.R., Dyslexia: the Pattern of Difficulties, (1983), Blackwell. 4. Vellutino F.R., Dyslexia, Scientific American, 256(3), (1987), pp. 20-27. 5. Thomson M., Developmental Dyslexia (3E, 1990), Whurr, London. 6. Bley N. & Thornton C, Teaching Mathematics to the Learning Disabled, (1981), Aspen Systems Corporation, Maryland. 7. Ginsburg H.P., Mathematical learning disabilities: a view from transdevelopmental psychology, J. Learn. Dis. 30(1), (1997), pp. 20-33. 8. Henderson A., Math, and Dyslexics, St David's College, Llandudno, (1989). 9. Clayton P., Using computers for numeracy and mathematics with dyslexic students, (1994), Dyslexia Computer Resource Centre, University of Hull. 10. Krutetski V.A., In Kilpatric J. & Wirszup I., The Psychology of Math. Abilities in School Children, (1976), University of Chicago Press 11. Baumunk K. & Dowling C.E., Validity of spaces for assessing knowledge about fractions, J. Math. Psychology, 41, (1997), pp. 99-105. 12. Chinn S.J., A pilot study to compare aspects of arithmetic skills, Dyslexia Review 7(1), (1995), pp. 4-7. 13. Miles T.R. & Miles E. (eds.), Dyslexia and Mathematics, London, (1992), Routledge. 14. Dienes Z.P., Building Up Mathematics, Hutchinson Educational, (1960). 15. Aubrey C, Eaves J., Hicks C. & Newton M.J., The Aston Portfolio, Wisbech, (1982), Learning Development Aids. 16. Hogg B., Microcomputers and Special Educational Needs: a Guide to Good Practice, (1984), National Council for Special Education. 17. Clark M.M., Educational technology and children with moderate learning difficulties, The Exceptional Child, 33(1), (1986), pp. 28-34. 18. iANSYST Ltd, http://www.dyslexic.com/rational.htm accessed 5th March 2001 19. iANSYST Ltd, http://www.dyslexia.com/qaweb.htm accessed 5th March 2001
111
USING HANDS-FREE TECHNOLOGY IN PROGRAMS FOR PROFOUNDLY DISABLED CHILDREN H. TODD EACHUS Advocate Schools, 11980 South Mount Vernon Avenue, Grand Terrace, California E-mail:
[email protected] 92313
ANDREW M. JUNKER Brain Actuated Technologies, Inc., 1300 President Street, Yellow Springs, Ohio 45387 E-mail:
[email protected] Access to computer resources, the internet, interactive software and computer-based assistive devices by profoundly disabled and vegetative children and adults is extremely limited. This problem is particularly important when educational programs are being designed for profoundly disabled children who are technology dependent. The availability of technology that permits hands-free operation of a computer mouse permits more open access to edcuational services by such children. The present study explores the use of a hands-free device called Cyberlink in an educational program for children diagnosed as vegetative. Data are presented that demonstrate steady increases of independent use of a personal computer for educational purposes by these students.
1
Introduction
The use of the Persistent Vegetative State (PVS) diagnosis has been the subject of discussion in the literature concerning accurate assessment and certain ethical considerations. Effective use ofan assessment tool has beem re[prted in working with individuals in PVS [8]. Investigators were able to distinguish between those who emerged and who did not emerge from PVS on the basis of scores using the Sensory Modality Assessment and Rehabilitation Technique (SMART). In another study, an assessment methodology for use in studying response to instructions in minimally conscious patients has been reported [7]. The accuracy of assessment in treating minimally responsive patients goes beyond the technical aspects of the assessment. There is a lack of information about the effect of clinical setting, family involvement and instructional activities in the implementation of interventions with such patients [6]. The diagnosis may be taken as an absolute thus providing no further consideration of treatment for the individual. In a discussion of the use of neuropsychological assessment findings in a case involving a minimally functioning patient [5] consideration was being given for withdrawal of feeding. Evidence of communication and responsiveness from the neuropsychological testing resulted in withdrawal of a court petition to terminate feeding. The patient remained
112
dependent six years post injury, but was talking and eating by mouth and showing insight into her condition. There may be a spectrum of conditions involved in PVS which should be periodically assessed. Without some periodic review, there is no likelihood that treatment services will be resumed. This may present certain ethical issues as well. Questions of ethical concerns with the PVS diagnosis such as PVS being ". . . the paradigmatic neurologic syndrome for decisions to discontinue treatment." Have been raised [1]. Elsewhere [4] certain other ethical issues in the use of the PVS diagnosis are discussed concerning that the diagnosis may be inappropriately used to support end-oflife decisions that constitute non-voluntary euthanasia. Certainly efforts to evoke responsiveness in PVS patients are rare, if they occur at all. Only one reference to work with vegetative individuals was found in the psychological literature [2]. That study reported operant conditioning of right arm movements in an 18 year old male. The subject displayed no voluntary motor activity. It is unclear whether he required ventilator support of any kind, but he did take liquid food by mouth. Arm movement was conditioned and extinquished using a sugar-milk solution as the reinforcer. An extensive search of the literature produced no other reports of work with vegetative individuals since 1949. The improvements in medical care in recent years has had the effect of preserving life for individuals who suffer severe trauma, prolonged anoxic events and extremely premature gestation. Many of these individuals are diagnosed as PVS by attending neurologists or pediatricians. Children who are diagnosed as being PVS are considered incapable of benefiting from clinical treatment other than those necessary to maintain life. Attempts to evoke responses to environmental stimuli through occupational, physical or speech therapy are not made. PVS children are kept clean, warm and nourished. They are provided medications to reduce the risk of infection, prevent seizures, reduce respiratory problems and otherwise maintain the highest level of health possible. Ordinarily, few additional treatment services are offered 2
Method
2.1 Subjects Recently, an educational program for thirty-five children residing in a sub-acute care facility was structured. These children were victims of catastrophic illness or injury and some presented with severe birth defects. Thirteen of these children had been diagnosed as PVS. None of the thirteen was receiving any OT, PT or Speech. Medical reports indicated no voluntary or responsive movement.
113
Subjectively, the teacher and aides working with these children reported that "something was going on." They felt that they were able to distinguish mood changes in their students, that some of them responded to instructions and that they enjoyed such activities as hearing stories read or listening to music. However, monthly reviews by the attending neurologist and other physicians did not reveal any change in the status of these children. The thirteen PVS students ranged in age from 3 to 20. Eight are female and 5 are male. Three of the children had been victims of near drowning. Three had been struck by a motor vehicle. Two others had experienced hypoxic encephalopathy. At least one was born with the congenital disorder of microcephalus and one was born hydrocephalic. These children are particularly susceptible to respiratory infections. Each is easily fatigued. The findings for one of these students will be presented here. The subject is a 17 year old female who was struck by a motor vehicle at the age of 11. She suffered a traumatic brain injury, cerebral palsy, spastic quadriplegia and scoliosis. She was diagnosed as PVS following emergency treatment at the time of the accident. She has a tracheostomy and gastrostomy. Her chart notes that she tracks visually, uses eye-blink to indicate yes/no and that she can use switches with physical prompting but displayed no voluntary motor control. 2.2 Equipment The field of Augmentative and Alternative Communication (AAC), has provided a means for many individuals to express themselves that has not been available in the past. Alternative computer input devices are now available in a variety of options to support special needs communication and access to AAC (i. e., frontalis muscle switch, head and eye-tracking devices, chin switches, 'sip and puff,' voice activation, etc.) Use of this technology is, however, dependent on the user's ability to control their muscles. Children and adults who have no motor control of head movement and who have undergone tracheostomy cannot use much fo this technology. These individuals often have disabilities related to cerebral palsy (CP), amyotrophic lateral sclerosis, multiple sclerosis, muscular dystrophy, or traumatic brain injury. The subject was provided with a Cyberlink device to control a computer mouse. The Cyberlink is a hands-free controller that operates in a non-coherent phase detection mode. The Cyberlink consists of a headband, interface box, serial connection to a PC, and decoding software. Signal electrodes are held to the forehead in approximately the Fpl and Fp2 locations with the headband. A reference electrode is located between the two signal electrodes. The electrodes are fabricated from silver-silver chloride plated carbon filled plastic. The three electrodes operate in a common-mode rejection configuration. Low-noise preamplifiers and analog filters are used to separate the
114
sensor signals onto three bands or channels of data. Since these signals are derived from the forehead, the three channels each contain a mix of ElectroOcular Graphic (EOG), EEG and EMG generated bio-potentials. Within the PC various Cyberlink software programs, in the form of training games, are available to provide the user opportunities to learn to control the forehead-derived signals. 2.3 Procedure The subject had the headband with sensors put on during class time for from three to five sessions per week for a total of 160 training days. The teacher calibrated the Cyberlink device at the start of each training day and then started one of the training programs to develop control of vertical, horizontal or diagonal movement of a cursor on the computer monitor. These training sequences appeared as video games similar to Pong or various mazes. The degree to which the subject was able to complete the training program without assistance was charted on a simple scale ranging from 0 for no response to 100 for responses without verbal or physical prompting. A seven point scale indicated the amount of physical and verbal prompting provided to complete a response by the subject. As the subject demonstrated greater independence in completing simple training activities, her instructor presented slightly more difficult tasks using additional verbal prompting until mastery or near-mastery was observed. Textual material, concept formation tasks and maze solving were introduced during the training period. 3
Results
The subject acquired skill in moving the cursor in the vertical axis quickly with only verbal prompts . By training day 28, the attending neurologist observed the trials and removed the PVS diagnosis. Short story materials were introduced on day 43. The subject was able to use the click function to turn 'pages' in the on-screen book. By training day 155, the subject had demonstrated reliable control of the vertical, horizontal and diagonal movement of the cursor. This enabled her to utilize the computer mouse to operate several instructional software programs. She continues to need some verbal prompting to complete tasks, but has demonstrated more frequent independence. No reinforcers other than task completion and verbal praise from staff have been provided to this subject. Her medical condition has prevented her from using the device on a daily basis so the rate of acquisition has been slow. However, staff have reported that at approximately training day 150, the subject lifted her arm to place her hand on a switch to turn on a tape player. This response was not part of the training program.
115
VERT PONG 4/10 ~HOR PONG 8/10
PVS DIAGNOSIS REMOVED
\
/
/
USED CYBERLINK TO FOLLOW SHORT STORY
TWO AXIS DIAGONAL PX
L TWO AXIS PLUS CLICK
4 MAZE TRIALS
VOL USE OF RT HAND
TRAINING DAYS
Figure 1. Skill Acquisition
116
,,\
IDustration 1. Subject tracing :a maze using tie Cyberimk
4
Dlscusstoi
Children who suffer catastrophic illness or injury are left with severe deficits that result many times in a.diagnosis of Persistent Vegetati¥e State. When that diagnosis is made, typically no further efforts are made to stimulate motor or language responses. The absence of motor or language responses makes it difficult to determine whether any academic skills are present or not. The availability of assistive technology to permit such children-to display responses in such forms as switch closures and mouse cursor movement provides a means to shape progressively more complex repertoires in an academic setting. In addition^ the alteration of the PVS diagnosis can result in greater gains for an individual child with the resumption of clinical services such as physical therapy, occupational therapy and speech and language services. The availability of assistive technology that provides access to computer resources for individuals who do not have motor control of their extremities or facial muscles can open a wide range of resources for them. Individuals whose lives have been
117
dramatically altered by catastrophic injury or illness can now have the opportunity to regain some control over their environment and to restore communication with their fellows that otherwise would be lost.
References 1. 2. 3.
4. 5.
6.
7.
8.
Cranford, R. E. The vegetative and minimally conscious states: ethical implications. Geriatrics, 53 (1998) pp.70-73. Fuller, P. R. Operant conditioning of a vegetative organism. Amer. J. Psychol. 62, (1949) pp. 587-590. Junker, A. M. and Berg, C. R., The Cyberlink control system: A brain-body actuated computer interface and hands-free mouse replacement. Procd. IEEE Trans Rehab Eng. 8:1 (2000) McLean, S. A. Legal and ethical aspects of the vegetative state. J Clin Pathol. 52 1999, pp. 490-493. McMillan, T. M. and Herbert, C. M. Neuropsychological assessment of a potential "euthanasia" case; a 5 year follow up. Brain Inj. 14:2 (2000) pp. 197203. Piguet, O., King, A. C , and Harrison, D. P. Assessment of minimally responsive patients: clinical difficulties of single-case design. Brain Inj. 13:10 (1999) pp. 829-837. Whyte, J., DiPasquale, M. C , and Vaccaro, M. Assessment of commandfollowing in minimally conscious brain injured patients. Arch Phys Med Rehab, 80:6 (1999) pp. 653-660. Wilson, S. L., Gill Thwaites, H. Early indication of emergence from vegetative state derived from assessments with the SMART-A preliminary report. Brain Inj. 14:4 (2000) pp. 319-331.
Parallel Computing/Techniques
121
D Y N A M I C LOAD B A L A N C I N G IN T H E PARALLEL C O N T I N U O U S GLOBAL OPTIMIZATION P R O B L E M B Y U S I N G INTERVAL A R I T H M E T I C * A. BENYOUB AND E. M. DAOUDI Labo. Research in Computer Science, Faculty of Sciences, University of Mohamed First, 60 000 Oujda, Morocco, E-mail:{ benyoub, mdaoudi} ©sciences. univ- oujda. ac.ma In this work, we theoretically study, on a distributed memory architecture, the parallelization of the continuous global optimization problem with inequality constraints, using interval arithmetic, in particular we are interested by the load balancing problem which can decrease the performance of the parallel algorithm. We propose a parallel algorithm based on a dynamic and cyclic redistribution of the working list among the processors.
1
Introduction
The continuous global optimization problem with inequality constraints is well known and can be formulated as follows:
{
Minimize f(x), x 6 S C Mn. Subject to constraints: Ci(x) < 0, i = l, •••,jn, m € IN.
Where the objective function / and the constraints Ci, i = 1 • • -m, are continuously difFerentiable real functions defined over the domain S — [ai,&i] x ••• x [an,bn], (OJ,&i)i<j< n € H 2 . Let / * = m i n / ( x ) be the minimum of / on 5 and P* = {x* | f{x*) = / * } the set of feasible global minimizers x* of / on S. Solving the same problem by using interval arithmetic consists in finding subboxes X* which bound the feasible points a:* and a real interval [/,/] which bounds the global minimum /*. The main idea behind interval Branch-And-Bound methods consists in the definition of [4]: (i) an inclusion function F to compute bounds for / , (ii) an inclusion functions (Cj)i<j< m for the inequality constraints (cj)i.?4 O.USd-l 0.065 1 32 64 0.6492 0.3248 0.1624 0.0812 0.0157
—•—nl = 32 - • - n l = 64 —A— nl = 128 - X - n l = 256 - * - n l = 512
1
2
4
8
16
32
64
P
Figure 2: Execution time vs. number of Processors
Table 2: Speedup vs. Number of Processors for template matrix=3x3, when nl=32, 64, 128,256,512
p 1 2 4 8 16 32 64
Speedup vs. Number of Processors, template matrix = 3x3 S S S S S n/ = 512 nl = 256 nl = 32 nl = 64 n/=128 1.0000 i.0000 1.0000 1.001)0 1.0000 l.9W(V 1 .')999 1 .9W1 , 1 .9995 2.0000 3.9937 3.9971 3.X65* j ur7S6 3.0SXX7 "7,'>35l> 7.1)67S 7.X70 * O.XI.Sf, ""15.4241 15.6957"" " 12.2156 " 22.7975 2y.C312 "' 5.9W3 6.S150 "12.0293 12.2101 24.2^4 12.6293 3.9193 6.8156
S ideal 1.0000 2.0000 4.0000 8.1)000 15.7000 31.0000 (4.0000
134
Figure 3: Speedup vs. number of Processors
Table 3: Efficiency vs. Number of Processors for template matrix=3x3, when nl=32, 64, 128,256,512 Efficiency l>s. Number of Processors, template. matrix=3x3 E E E E E P n/=32 n/=64 n/=128 n/=256 n/=512 1 l.ddOd 1 iHJOO l.oddd 1.0000 1 .IMllIll 2 O.'UMfi 1) OOlJS 11. WW l.ddDI) " 4 IMtfrfi? n^in; ~ 0.WU7 ()')i)S4 "o.w: 8 D.S'fO . ()t)S-|S .i I.--: ( ) 1>1>I,M 16 II ' . : , n INiii D.7filS MWIo D'JSIM 32 0.1222 0.2130 0 'Odd 0.394 7 0.7124 64 0.0611 0.1065 (1 M l ) i 0.1973 0.3790
135
-nl = 32 -nl = 64 -nl = 128 -nl = 256 -nl = 512
8
16
32
64
Figure 4: Efficiency vs. Number of Processors
136
Figure 5: Speedup vs. Shared-bus-width (n/)
Table 4: Speedup Vs. Shared-bus-width («/)
SP1 1.0000 1.1470 1.2380 1.2891 1.3163
Speedup vs. Shared-bus-width, template matrix = 3 x 3 SP2 SP4 SP8 SP32 SP16 1.0000 1.0000 1.0000 1.0000 1.0000 1.1806 1.1472 1.9628 1.9982 1.9982 1.2390 1.2775 2.4942 3.8654 3.9963 1.3319 1.2896 5.0822 2.6168 7.5116 1.3584 1.3168 2.6828 5.2807 9.9693
SP64 1.0000 2.0028 3.9994 7.9988 14.2123
137
A L I N E A R A L G O R I T H M TO F I N D PATH A M O N G OBSTACLES U S I N G R E C O N F I G U R A B L E M E S H DAJIN WANG Department of Computer Science, Montclair State Upper Montclair, NJ 07043, USA E-mail: wang@pegasus. montclair. edu
University
The reconfigurable mesh (RMESH) is an array of mesh-connected processors equipped with a reconfigurable bus system, which can dynamically connect the processors in various patterns. A 2-D reconfigurable mesh can be used to solve motion planning problems in robotics research, in which the 2-D image of robot and obstacles are digitized and represented one pixel per processor. In this short paper, we present an algorithm to compute a collision-free path between two points in an environment containing obstacles. The time complexity of the algorithm is O(fc) for each pair of source/destination points, with 0(log 2 N) preprocessing time, where k is the number of obstacles in the working environment, and N is the size of the reconfigurable mesh.
1
Introduction
The general purpose of robot motion planning is to plan the movement of a robot in a known or unknown environment filled with obstacles. The planned movement is often subject to certain requirements. In a typical case, the robot will be commanded to navigate among a collection of static or time-dependent obstacles (i.e., moving obstacles). The shapes of those obstacles may range from very simple ones (such as a single segment) to arbitrarily complicated objects. The robot has to move from an initial position to a target position without colliding (but may be allowed to touch) with any of the obstacles. Moreover, there can be many different restrictions on the types of movement of the robot, and the robot's mechanical limitations have to be taken into account when planning its motion. For example, for a non circular robot whose workspace is 2-dimensional, its movement can be either translational or rotational. Thus one possible restriction is that only translational movements are allowed. To speed up path planning computation, parallel algorithms with different underlying architectures have been proposed. In the application of meshes for path planning, robot and obstacle images taken by the camera are represented in mesh processors, with each processor holding one pixel of the image. The image data can then be parallelly processed. This paper proposes an algorithm to compute a collision-free path using
138
the reconfigurable mesh multiprocessor computer [1,2] which is an array of mesh-connected processors with a reconfigurable bus system that can reconfigure the whole mesh into different substructures. In our problem, we assume a 2-dimensional working environment. The image of robot and obstacles are digitized, input and stored in the reconfigurable mesh, with one processor holding one pixel of the image. The obstacles we deal with are supposed to be disjoint convex or concave polygons (if two polygon images intersect, they are considered one polygon). With an 0(log 2 N) preprocessing time for the given obstacle image, the proposed algorithm uses O(k) time to compute a path for a pair of source/destination while avoiding all obstacles in the environment, where N is the total number of processors (pixels) and k is the number of disjoint obstacles. The rest of this paper is organized as follows. In Section 2, we describe in details the structure of RMESH, the reconfigurable mesh computer we use to carry out our algorithm. In Section 2, we introduce some operations on RMESH developed by other researchers. These operations will be made use of in our algorithm. Section 3 outlines the algorithm to compute a collision-free path using reconfigurable mesh and analyzes its complexity. Concluding remarks are given in Section 4. 2
Preliminaries and previous results
There are several different models of reconfigurable meshes. The particular reconfigurable mesh architecture we consider in this paper is called RMESH [1,2]. It employs a reconfigurable bus to interconnect all processors. Figure 1 shows the conceptual structure of a 4 x 4 RMESH, in which a square represents a processor, a circle represents a switch. The switches can be programmed to open/close in any specified manner. By doing so the interconnection bus may be reconfigured into smaller subbuses that connect a subset of processors. The extra-equipped bus system is the most important feature of RMESH. The major features of an RMESH are as follows. • A 2-D RMESH is a 2-dimensional mesh-connected, mxn array of processors. We define N = mxn to be the size of the RMESH. The id of each processor is a 2-tuple (i,j), where i is its row index, j its column index. We designate that the id of the lower left corner processor be (0,0). • Processors are connected to each other with bus switches. Each processor has up to four switches (see Figure 1), named E- (east), W- (west), S- (south), and N- (north) switches, respectively. These switches are software controlled and can be used to reconfigure the bus into subbuses.
139
3-G-
- & -
•
processor switch link
Figure 1. A 4 x 4 RMESH. By setting bus switches, t h e processors can be reconfigured into different substructures.
For example, row buses are formed if each and every processor disconnects its S- and N-switches, and connects its E- and W-switches. Column buses are formed by disconnecting all E- and W-switches, and connecting all S- and N-switches. An all-plane bus can be formed by connecting all switches. Once a subbus is formed, all data move is among processors connected to this subbus. • Only one processor can put data onto a given subbus at a time. • In unit time, data put on a subbus can be read in parallel by every processor connected to the subbus, i.e., data are transferred using only switches without stopping at intermediate processors. Mesh-connected parallel computers have been used to solve image processing problems [2,3], in which the images are digitized, input and stored in the mesh with one processor holding one image pixel. RMESH can be used to solve these problems much faster with its extra communication and reconfiguration power. The collision-free path computation algorithm we propose in this paper will make use of some operations introduced in [2]. These operations and their time complexities are stated below. The detailed description and analysis can be found in [2]. Performing
"OR" on a row/column of boolean values
140
A row/column of boolean values (1/0) can be ORed in 0(1) time on RMESH. Let processor Pitj at row i contain boolean value bj, 1 < j < n. After a fixed number of operations, the OR-result of all bj can be collected at Pifi (and can be broadcast to any other processor if wanted). Determining the maximum (or minimum) value of a row/column of data This useful operation can be done in O(l) time. Let a row of elements (xi,X2,...,xn) reside at the bottom row of a RMESH. Then after a fixed number of operations, the maximum (or minimum) value of (x±,X2, ••-,xn) can be found — the processor PQJ containing the maximum value Xj will be aware of this fact. The method uses n x n processors and the column-OR operation stated above. Determining the tangent lines from a point to a convex polygon Given a convex polygon G mapped on RMESH, and a point A outside of G. The two tangent lines from A to G can be determined in constant time on RMESH. Enumerating the extreme points of the convex hull of a polygon Given a polygon G mapped on RMESH, we want to identify the extreme points of the convex hull of G. The enumerated extreme points can completely represent a polygon on plane. An enumerated extreme point stores its own location and number, and the locations and numbers of its preceding and following extreme points. The enumeration can be done in 0(log 2 N) time on an RMESH, where N is the size of the RMESH. Finding the two tangent lines of two convex polygons Given two disjoint convex polygons G and H, mapped on RMESH. The two tangent lines of G and H can be determined in 0(1) time. The operation works out the convex hull of G and H. 3 3.1
Collision-free path computation Basic operations
Set handling We designate a certain number of processors to represent a set, with each processor representing an element of the set. The unique location id can be used as the element id. A membership flag indicates whether the element is in the set or not (1 or 0). The following operations will be employed by
141
our algorithm. They can all be implemented in O(l) time. The detailed description is omitted due to length limit. • Determining whether the set contains at least two elements • Adding a new element • Deleting an element Merge (convex hull) of two non-disjoint convex polygons In the proposed algorithm, we need to merge two convex polygons G, H into one. G and H are intersecting with a specific pattern, i.e., G intersects with exactly one known edge of H. This merge can be done in constant time. 3.2
Algorithm outline
Before algorithm starts, we assume the digitized obstacle image has been stored in the RMESH, one pixel per processor. The images are black and white. A processor has a 1/0 flag indicating whether it is a black/white pixel. In the following algorithm description, sd represents the line segment from point s to point d; SG represents a set of polygonal obstacles; CH(Gi,Gj) represents the convex hull of polygons Gi and Gj. The algorithm first draws a straight line sd from source s to destination d. If sd intersects with any obstacles, we merge these obstacles by computing their convex hulls. The tangent lines used to form convex hulls may intersect with more obstacles. The newly intersected obstacles are then merged again. The above process is repeated until the tangent lines are not intersecting with any obstacles, so that there is only one "big obstacle" Gf intersecting with sd. We then draw tangent lines from s to Gf and from d to Gf, respectively. The 4 tangent lines may intersect with more obstacles, which will be merged with Gf again. The merging process will be repeated until the 4 tangent lines do not intersect with any obstacles. By now there are two feasible collisionfree paths from s to d, and we can choose either one. We illustrate the idea of the algorithm in Figure 2. The formal description of the algorithm is omitted here due to length limit. A detailed time analysis cannot be conducted here because the algorithm is not presented formally. Roughly speaking, a while-loop is run for every original obstacle. Each round of while-loop executes a fixed number of steps, thus taking 0(1) time. Therefore the algorithm has 0(k) complexity, where k is the number of obstacles in the working environment.
142
Figure 2. Merges are repeatedly performed until the 4 tangent lines from s and d, respectively, do not intersect with any obstacles. As shown, there will be two feasible collision-free paths from s to d.
4
Conclusion
We have introduced an algorithm on reconfigurable mesh (RMESH) to compute a collision-free path between two points in an environment filled with obstacles, in which the 2-dimensional image of robot and obstacles are digitized and represented on RMESH one pixel per processor. The time complexity of the algorithm has been shown to be 0(k) for each pair of source/destination points, with C*(log N) preprocessing time, where k is the number of obstacles in the working environment, and N is the size of the reconfigurable mesh (i.e., the number of pixels in the image). We have used only 2-dimensional RMESH for polygonal obstacles considered in this paper. For obstacles of more complicated shapes, one plane of processors my not be enough to compute collision-free path in the "linear" O(k) time. If fast algorithms are still to be sought, we may need 3-dimensional RMESH so that the massive data can be parallelly transferred on different planes. References 1. R. Miller, V.K. Prasanna Kumar, D.I. Reisis, and Q.F. Stout, "Meshes with Reconfigurable Buses", Proc. MIT Conf. Advanced Research in VLSI, pp. 163-178, Apr. 1988. 2. R. Miller, V.K. Prasanna Kumar, D. Reisis, and Q.F. Stout, "Parallel Computations on Reconfigurable Meshes", IEEE Trans. Computers, vol. 42, no. 6, pp. 678-692, June 1993. 3. R. Miller and Q.F. Stout, "Geometric algorithms for digitized pictures on a mesh-connected computer", IEEE Trans. Pattern Analysis Mach. Intell, vol. PAMI-7 pp. 216-228, 1985.
143
DENSE WAVELENGTH DIVISION MULTIPLEXING FOR OPTICALLY INTERCONNECTED LINEAR ARRAY PROCESSORS HAKLIN KIMM Computer Science Department, East Stroudsburg University of Pennsylvania, East Stroudsburg PA 18301, USA E-mail:
[email protected] An optically interconnected linear array processors based on DWDM (Dense Wavelength Division Multiplexing) is presented, which exploits the high communication bandwidth of optical waveguides. The optical bus system includes two important properties: unidirectional propagation and predictable propagation delays per unit length. Furthermore, DWDM allows the optical system to transmit optical waveguides in multiple channels simultaneously. The proposed optical DWDM system requires far less number of switches compared to a reconfigurable optical bus system while providing the same time complexity to solve a computational complexity problem: the maximal elements problem on the two dimensional plane.
1
Introduction
With the advance in the optical amplifier and wavelength division multiplexing (WDM), optics is being used successfully in networking and is extending further to the boundary to the network. Optics also enhances opportunities for its use in the construction of parallel computers. The high bandwidth of optics in an interconnection network allows powerful microprocessors to transmit and receive signals with the speed of light [4,9,13,14]. Optically interconnected bus system uses optical waveguides instead of using electrical buses to transmit messages among electronic processors. The advantages of using waveguides are shown: unidirectional propagation and predictable propagation delay per unit length, in addition to the high propagation with speed of light. These properties enable synchronized concurrent access of an optical bus in a pipelined fashion [5,9,11,13,14]. In the Optically interconnected Linear Array Processors model (OLAP), messages can be transmitted concurrently on an optical bus in a pipelined fashion. The pipelined optical bus system can be used dynamically by introducing Dense Wavelength Division Multiplexing (DWDM). With DWDM, optics can transmit multiple signals on multiple channels simultaneously in a pipelined fashion. The communication time for the OLAP model is measured based on the number of bus cycles used. A bus cycle for this model is defined as the end-to-end propagation delay on the bus, which is the time taken for an optical signal to propagate through the entire bus.
144 In this paper, we present the OLAP-DWDM model, which is applying optical folded-bus system with DWDM. The optical folded-bus system is discussed first and followed by OLAP-DWDM model. A parallel algorithm for finding maximal elements set on the two dimensional space [3, 7, 8, 10, 15] is being developed based on the OLAP-DWDM model. Finally we describe and analyze the OLAP-DWDM model in comparison to the previous optically interconnected array of processors model.
delays
U> y-coord of Pcj)
3.3.2. global_max_set(i,j) = true 3.3.3. else global_max(ij) = false; 5
Discussion
In this paper, we have presented a parallel Max_Elements_Set algorithm finding a set of maximal elements from the points on the two dimensional space using the OLAP-DWDM model. As shown on the above, a parallel algorithm for solving a maximal elements set problem can be implemented in 0(log n) time using n number of processors on the OLAP-DWDM model, where n = number of data elements. We note that a sequential algorithm for finding a set of maximal elements of the xyplane takes 0(n log n) time and a parallel algorithm for the corresponding problem on the reconfigurable optical folded-bus system takes O(log n) time using O(n) processors [6]. In addition, a parallel algorithm for the corresponding problem on the CREW PRAM model takes 0(log n) time using O(n) processors [2]. Therefore, the parallel Max_Elements_Set algorithm based on the OLAP-DWDM model is said to be efficient since its total work is equivalent to 0(n log n). In comparison to the previous reconfigurable optical bus system, OLAPDWDM needs far less number of optical switches and much less overhead time to reconfigure the optical bus system to implement procedures in parallel because the proposed model can replace the optical switches, which is providing reconfigurable features, with DWDM. Consequently, this dismisses the need for reconfiguring
optical bus system each time to exchange data between processors. In the proposed OLAP-DWDM model, messages are transmitted simultaneously in a pipelined fashion and an optical bus with DWDM can be used at any time to satisfy communication demands. References 1.
2.
3. 4. 5.
6. 7. 8.
9.
10. 11.
12.
13.
R. Alferness, H. Kogelnik and T. Wood, "The Evolution of Optical Systems: Optics Everywhere," Bell Labs Technical Journal, January-March 2000, pp. 188-202. M. Atallah and M.T. Goodrich, "Efficient Plane Sweeping in Parallel," Proceedings of the 2 ACM Symposium on Computational Geometry, 1986, pp. 216-225. T. Cormen, C.E. Leiserson and R.L. Rivest, Introductions to Algorithms, MIT Press, 1990. A. Glass, et al., "Advances in Fiber Optics," Bell Labs Technical Journal, January-March 2000, pp. 168 - 187. Z. Guo, R. Melhem, R. Hall, D. Chiarulli and S. Levitan, "Array Processors with Pipelined Optical Busses," Journal of Parallel and Distributed Computing, 12, 3, pp. 269-282 (1991). H. Kimm, "Two Dimensional Maximal Problem on a Reconfigurable Optical Pipelined Bus System," Proceedings of the ACM-SAC, pp. 623-627 (1998). H.T. Kung, F. Luccio, and F. Preparata, "On Finding the Maxima of a Set of Vectors," Journal of ACM, 22(4), 1975, pp.469-476. F. Dehne, "O(Vn) algorithm for the Maximal elements and ECDF searching problem on a mesh-connected parallel computer", Information Processing Letter, 22 (1986) 303-306. R. Melhem, D. Chiarulli and S. Levitan, "Space Multiplexing of Waveguides in Optically Interconnected Multiprocessor Systems," The Computer Journal, 32, 4, pp. 362-269 (1989). F.P. Preparata and M.I. Shamos, Computational Geometry, Springer-Verlag, New York, 1985. S. Pavel and S.G. Akl, "On the arrays with Optical Pipelined Buses," Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, pp. 1443-1454 (August 1996). Y. Pan and K. Li, "Linear array with a reconfigurable pipelined bus system: Concepts and Applications," Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, pp. 14311442 (August 1996). C. Qiao, R. Melhem, D. Chiarulli, and S. Levitan, "Optical Multicasting in linear arrays," International Journal of Optical Computing, 2, 1, pp. 31-48 (1991).
149 14. C. Qiao and R. Melhem, 'Time-division optical communications in multiprocessor arrays," IEEE Transactions on Computers, 42, 5, pp. 577-590 (May 1993). 15. I. Stojmenovic and M. Miyakawa, "An Optimal Parallel Algorithm for Solving the Maximal Elements Problem in the Plane," Journal of Parallel Computing,7, pp. 249-251 (1988). 16. J. Yoo and S. Banerjee, "Design, Analysis and Implementation of WavelengthRouted All-Optical Networks: Routing and Wavelength Assignment Approach," Journal of Parallel Computing, 7, pp. 249-251 (1988).
151
A TWO-LEVEL O P T I M A L D I S T R I B U T E D M O N I T O R I N G S C H E M E FOR M E S H DAJIN WANG Department of Computer Science, Montclair State Upper Montclair, NJ 07043, USA E-mail: wang@pegasus. montclair. edu
University
In this paper, we propose a two-level hierarchical distributed monitoring scheme for mesh, one of the most popular networks for parallel computers. The proposed scheme is optimal in terms of total communication cost attributed to monitoring activities.
1
Introduction
A hierarchical distributed monitoring system for a network consists of a hierarchy of monitoring units, which are grouped and distributed onto the network. The purpose of hierarchical structuring of monitoring units is to reduce overall cost incurred by monitoring. The optimization problem in this context is concerned with finding an optimal hierarchical partition of the monitoring units so that the total processing cost is minimal. In this short paper, we propose a two-level hierarchical distributed monitoring scheme for mesh interconnection network. The proposed scheme is optimal in terms of total communication cost attributed to monitoring activities. Base on the analytical results, partitioning algorithm can be constructed that minimizes the communication cost. Although this work is targeted at distributed monitoring, we believe that the results can also be applied to other hierarchical control problems in distributed computing. 2 2.1
Two-level distributed monitoring scheme for mesh Minimum cost for one-level monitoring
Let the squared mesh contain TV2 processors, with dimensions N x N. If the whole mesh is viewed as one hierarchy (one-level), then choosing the center node as the monitor (i.e., the cluster leader with the entire mesh as the cluster) would obviously minimize the total communication cost. Depending on whether N is an odd or even number, the cost can be calculated as follows. See Figure 1.
N is odd
152
00000 QQQ00 0QIQ0 00000 00000
0 0 0 0 0 0 0| J| 000000 ^ 000000 0 0 1 0 0 0 raggi 0 0 0 0 0 0 raggl 0 0 0 0 0 0 HHHl
(a) N odd: N = 5
- dist. (N-1J/2
-dist. N-(N-1)/2
(c) Cost calculation
(b) N even: N = 6
Figure 1. (a) A 5 x 5 mesh. At center is the monitor node (dark). Numbers in all other nodes represent their communication costs, (b) A 6 X 6 mesh. The dark node at the "pseudo center" is the monitor, (c) Illustration for cost calculation.
When TV is odd, there exists a true central node, and it will be taken as the monitoring node (the dark node in Figure 1(a) and (c)). The number in a node represents its communication cost for monitoring, i.e., the Hamming distance from itself to the monitor. The total communication cost, denoted as C0(N), can be calculated as follows. Refer to Figure 1(c). nodes of dist. 1
C0(N)=
nodes of dist. ( N - l ) / 2
nodes of dist. 2
1 - 1 - 4 + 2 - 2 - 4 + • • • + ((TV - l)/2) • ((TV - l)/2) • 4 all white nodes in Figure 1(c)
nodes of dist. N - l
nodes of dist. N - ( N - l ) / 2
odes of dist. N-2
+ (TV - 1) -1 • 4 + (TV - 2) • 2 • 4 + • • • + (TV - (TV - l)/2) - ((TV - l)/2) • 4 V
^
,
all grey nodes in Figure 1(c)
2
N-l 2
3
= 4]T i + 4^2(N - i)i = 4TV]T i = N -N2 i=l
i=l
N is even Refer to Figure 1(b). When TV is even, there is no true central node. Any one of the four nodes in the central "area" can be picked as the monitor, as shown in Figure 1(b). The total cost, denoted as Ce(N), is C0(TV — 1) plus the cost of grey nodes. Ce(TV)
(TV - l ) 3 - (TV - 1) Co(JV-l)
N-l
+ 2-(TV/2)+4 J2 i + l-N i=f+i v
v
all grey nodes in Figure 1(b)
'
153 _ JV3 ~ 2 To summarize the preceding discussion, the total communication cost C(N) for an N x N mesh using a central monitor is N3-N , N odd
C(N) =
(1) *£-,
AT even
It can be shown that using any non-central monitor would cost more, with the monitor at corner costing most. In the following Section 2.2, we will obtain the optimal partition of processors assuming a two-level hierarchy. 2.2
Optimal two-level partitioning
In a two-level partitioning, the whole mesh is divided into several submeshes. Each submesh has a local monitor. A local monitor will collect data in the submesh it monitors, and then turn the data in to a monitor at the higher level. As stated before, the purpose of hierarchical monitoring is to reduce the overall system cost incurred by monitoring. Assuming two-level hierarchy, we need to find out the best way to divide the mesh so that the total communication cost is minimum.
nan ••o n a n ana lanaoaa • • • : • • • n• •a •n na a« an aaa • • • : • • • DDD n a n DDD dDSQnD • • • n an • • • I Q B D a n a DDD • ••jDDn an da a DDDIDDD n • • • a«n • • • ! • • • DDD a n a
! • ! ! • , • • • n• •a •n Monitor of levle-two
-N/x levle-onenaa'DD D monitors
Figure 2.
See Figure 2. Let the submesh be of dimension a; x x, so that x divides
154
N. Then by Eq. (1) the cost for local monitoring will be: -=£, x odd C{x) = •
Therefore the total cost for all (—) level-one submeshes is given by: f ±(x3-x)-(f)2,xodd
Ci(N,x) = {
(2)
{ ±(x 3 ) • ( g ) 2 ,
x even
At level-two, note that all local monitors form a squared mesh by themselves (the darker nodes in Figure 2). So choosing the central or near-central node among them as the monitor (the darkest node in Figure 2) will give the minimum communication cost. However, the cost of "one step" (i.e., passage of data from a node to its immediate neighbor) is x instead of 1. Applying Eq. (1) again, the cost for level-two is given as follows:
(!((f) 3 -£)-*,f odd Cn(N,x)={
(3) U(S)3-*.
feven
Combining (2) and (3), we have the expression for total cost of the two-level hierarchical monitoring system: Ctotai(N,x)
= d(N,x)
+
Cn(N,x)
( !(*» - x) • ( £ ) 2 + § ( ( £ ) 3 - £ ) • * = »
2
*
3
- ^ 7 ^ » \ x odd, £ odd
§(x 3 - x) • ( g ) 2 + | ( f ) 3 • x = "2*3-»J*+»3, §(* 3 ) • ( f ) 2 + | ( ( f ) 3 - £ ) • * = W")
N2 3 N N * -2 /+ \
• ( f )2 + * ( * ) 3 • x = * ^ ,
x
odd, £ even
x even, f odd x even, £ even
There is an optimal x to make the minimum Ctotai(N,x). To obtain the optimal x, just take the derivative of Ctotai(N,x) with respect to x, denoted
155
Ctotai(N,x)'x,
and solve Ctotai(N,x)x
= 0 for x.
• (*v-^,+J^ = g ( N2x3-N2x+N3V
_
C tofai (iV,x)' x = < 2
V
J,_
^
\Z27JV+3^3+81/V 2 _
g _g |
i N
2
X
ii
g odd iV
°dd' x
eVen
x even, £ odd JV
^'
even
^ r = 0, respectively, for a:, and
1 , v/27JV+3v'3+81AP
3
N
g odd;
%" + 2^* - ^ 3 " ' 2
V 2^ A ~ Solving ^ j - + ^ — ^3- = 0 and ^ only taking the real root, we have
N
+
x odd
a; =
(a)
(b)
(c)
Figure 1. (a) Task Graph, (b) Nonlinear clustering, (c) Linear clustering
161 and < vn+2, v„+3 >. The processing time of the tasks are: d(t>.) = s(aj), 1 < ,, ^ •«, ^ v ^ n + ^ ; — ,., „ v „ n + i ; — ~K~nt<sj — '—2~—~- The communication costs of the two edges are zeros. The two clusters in the clustering of the task graph are Ci = {vn+i,vn+3} and C2 = {t>i,v 2 ,...,v n ,v n + 2 }. Clearly, C\ is a linear cluster and the construction can be done in linear time. Now we shall prove the claim that the clustering instance has a schedule of length J2i o r parallel time of Yli — and communication cost is zero. The rest of the tasks, corresponding to the two partitions A' and A — A' are scheduled into ( 0 the two time slots [0, S " ' a " 0 ] and [ ^ + 1, E K , < „ s(ai) + 1] 2" ' " respectively. Hence, the corresponding clustering scheduling Instance has a schedule of length Yli ] . We have E . M - « W = E „ e A - A ' « ( « ) = ^ " T ' ' " ' ' Hence, the corresponding partition instance has a 'yes' answer. D Theorem 1 concerns about two-cluster clustering scheduling and shows that the problem is NP-hard whenever one cluster is not linear. The result and the proof idea of Theorem 1 can easily be generalized to m-cluster (m > 2) clustering scheduling. For a m-cluster clustering, even all clusters except
162 one are linear the clustering scheduling problem is NP-hard. This result is summerized in the next corollary Corollary 1 The m-cluster (m > 2) clustering scheduling problem with m—\ clusters being linear is NP-hard, even if the communication cost of each edge is zero. Since pseudo-polynomial time algorithms exist to solve the partition problem, it is natural to ask the question whether a pseudo-polynomial time algorithm exists to solve the two-cluster clustering scheduling problem with one cluster being linear. Unfortunately, our next theorem shows that the problem is NP-hard in the strong sense. Therefore, a pseudo-polynomial time algorithm does not exist to solve the problem unless P = NP. We shall use the following strongly NP-hard problem [3] to prove that. 3-Partition Input: A finite set A of 3m elements, a bound B G Z + , and a size s(a) £ Z+ for each a £ A such that 5 / 4 < s(a) < 5 / 2 and such that J2aeA s(a) = mB. Output: 'y e s ' iff A can be partitioned into m disjoint sets A\,A2,..., Am such that, for 1 < i < m, J2a£A s(a) ~ & (note that each A* must therefore contain exactly three elements from A). Theorem 2 The two-cluster clustering scheduling problem with one cluster being linear is NP-hard in the strong sense, even if the communication cost of each edge is zero. Proof: Given an instance of the 3-partition problem, A = {ai,a2, •••,a3m}, the task graph consists of 5m — 1 nodes ^1,^2, - . " s m - i and 2m — 2 edges < D3171+11 ^3m+i+j >, 1 < i < 2m — 2. The processing time of the tasks are: d(v{) = s(ai), 1 < i < 3m, d(v3m+2i) = 1, 1 < i < m - 1, d(v3m+1+2i) = B, 0 < i < m — 1. The communication cost of each edge is zero. The two clusters in the clustering of the task graph are C\ = {v3m+i+2«|0 < i < m — 1} and C2 = {^i, ^2, •••, V3m} U {^3m+2»|l < * < m — 1}. Clearly, Ci is a linear cluster and the construction can be done in linear time. One may easily verify the claim that the clustering instance has a schedule of length mB+m—1, or parallel time of mB+m— 1 iff the 3-partition instance has a 'yes' answer. Since the idea used in the verification is very similar to that used in Theorem 1, the details are left to the reader. D Similar to Theorem 1, Theorem 2 has the following generalization. Corollary 2 The m-cluster (m > 2) clustering scheduling problem with m— 1 clusters being linear is NP-hard in the strong sense, even if the communication cost of each edge is zero.
163
4
Conclusion
It is well known that for a linear clustering of a non-unit time task graph, the length of an optimal schedule can be computed in linear time by topologically traversing the scheduled DAG. In this paper, we prove that for an almost linear clustering, i.e., all clusters in the clustering except one are linear, the problem of determining the length of an optimal clustering schedule is NPhard in the strong sense. The complexity result also holds for clusterings that consist of only two clusters. Hence, the complexity result demonstrates that the techniques used for developing polynomial time algorithms that solves two-cluster clustering scheduling with one cluster being linear for unit time task graphs [4] cannot be extended to tasks graphs that are not unit time unless p = NP. References 1. IF1 An Intermediate Form for Applicative Languages, reference manual version 1.0 edition, Univertisy of California-Davis 1985. 2. J. T. Feo. An analysis of the computational and parallel complexity of the livermore loops. Parallel Computing, pages 163-185, July 1988. 3. M.R. Garey and D.S. Johnson. Computers and Intractability. Freeman, San Francisco, CA, 1979. 4. W. N. Li and J. F. Jenq. Scheduling unit-time task dag with communication delay in a nonlinear clustering, in preparation. 5. W. N. Li and J. F. Jenq. On the thread scheduling problem. J. Universal Computer Science, 5(10):994-1014, 2000. 6. C.H. Papadimitriou and M. Yannakakis. Towards an architectureindependent analysis of parallel algorithms. SIAM J. Comput., 19(2):322-328, April 1990. 7. V. Sarkar. Partitioning and Scheduling Parallel programs for execution on Multiprocessors. MIT Press, Cambridge, MA, 1989. 8. V.J. Rayward Smith. Uet scheduling with unit interprocessor communication delays. Discrete Applied Mathematics, 18:55-71, 1987. 9. M.A. Thornton and D.L. Andrews. Graph analysis and transformation techniques for runtime minimization in multi-threaded architectures. In Proceedings of the Hawaii International Conference on Systems Sciences, pages 566-575, 1997. 10. T. Yang and A. Gerasoulis. On the granularity and clustering of directed acyclic task graphs. IEEE Transactions on Parallel and Distributed Systems, 4(6):686-701, June 1993.
165 F O R M A L V E R I F I C A T I O N OF M I C R O I N S T R U C T I O N S E Q U E N C I N G LUBOMIRIVANOV Department of Computer Science, Iona College, 715 North Avenue New Rochelle, NY 10801, USA E-mail:
[email protected] The complexity of the instruction set of modern microprocessors often leads to faults in the microinstruction sequencing and timing errors in the implementation of the processor control. These errors are difficult to detect with conventional simulation methods. As an alternative, formal verification uses a mathematical model of the system to verify its correct behavior by constructing a formal proof. Recently we introduced a new partial order formal verification method based on the notion of series-parallel posets. The associated verification algorithms have a low order space- and time complexity, and have been successfiilly applied to the verification of properties of real-world systems such as the PCI local bus protocol and the MESI cache coherence protocol. In this paper we use series-parallel posets to model and verify the behavior of the DLX microprocessor control.
1
Introduction
The complexity of designing a modern pipelined/superscalar processor leads to a significantly increased probability of serious design faults such as improper microinstruction sequencing and timing errors, while limiting the usefulness of the classical simulation and testing methods for uncovering these design faults. The recent examples of "bugs" in the microcode of the Pentium® processors illustrate the severity of the problem. A promising alternative is offered by the field of formal verification, which, based on a mathematical model of the system under consideration, attempts to prove or disprove facts about the system model, guaranteeing that all desired properties are satisfied, and unwanted properties and design faults are absent. An excellent overview of the field of formal verification can be found in [1]. Some powerful formal verification methods such as Symbolic Model Checking [1] and (it-Automata Verification [2] have gained significant popularity, and have led to the development of industrial-level verification tools (SMV, FormalCheck, etc.). Unfortunately, the power and expressiveness of these methods is offset by the high computational complexity of their verification algorithms. This imposes limits on the size of the circuits to which such general techniques can be applied. In the meantime, a number of new verification methods have emerged, which, while relatively less expressive, guarantee a significantly improved efficiency. Among these, several methods have been based on using partial orders to describe the dependence or independence of sets of events occurring in a hardware system [3,4, 5, 6, 7]. The main appeal of using partial orders in modeling and verifying system behavior is in avoiding the study of all possible interleavings of events occurring during a run
166 of the system. In addition, partial order models are usually very clear and intuitive, and the verification algorithms can be fully automated. In [8, 9, 10, 11] we introduced a new formal verification method for proving timing properties of complex systems. The method is based on the inductively defined notion of series-parallel posets. The verification algorithms are characterized by a low-order polynomial complexity. In [12] the technique was used to verify the behavior of a Handshaking Communication Protocol, and the popular PCI local bus interconnect protocol. In [13] the method was applied to the modeling and formal verification of the MESI cache coherence protocol for a system of n write-back cache memories in a Shared Memory MIMD multiprocessor system. In this paper we present another important application of our series-parallel poset methodology - the modeling and verification of the DLX microprocessor control. We begin with a description DLX, and the stages of its instruction cycle. We then present the formal model of the DLX control using series-parallel posets, and demonstrate the verification of a two properties. The main presentation is followed by a brief introduction to series-parallel posets, and an outline of our verification approach for iterated systems. Finally, we briefly discuss some strengths and weaknesses of our methodology in the context of other formal verification work. 2
The DLX microprocessor
The DLX processor was introduced by Hennessy and Patterson in [14]. It incorporates many features of popular commercial microprocessors such as Intel i860, SPARCstation-1, etc. Architecturally, it has thirty-two 32-bit general purpose registers (R0 hardwired to 0), thirty-two floating-point registers, which can be used for single-precision or (in pairs) for double precision floating point computation, and a set of special purpose registers for accessing status information. Memory is accessed through loads and stores which can transfer a byte, a halfword or a word. The address is 32 bits wide. The instructions set includes 4 types of instructions: • Load/Stores, (e.g. LW R3, 100(R1), or SB 45(R7), Rl) • ALU operations, (e.g. ADD R l , R2, R3, or SUBI Rl, R5, #4) • Branches and Jumps, (e.g. JR R5, or BEQZ R12, NEXT) • Floating Point Operations, (e.g. ADDD F0, Fl, F2) For further architectural details, refer to [14]. The internal organization of DLX (except the FPU) is given in figure 1 below. MAR and MDR are the memory address- and data registers, IAR is the interrupt address register, IR is the instruction register, and the A, B, C ports are used for accessing the 32 registers, R0 - R31.
167
A I\
—• ^
Veef»4 L(set(lisc(B, e))) c L(set(Pi))) P = Pi»P2» ... 'Pm A (B = B!»B2» . . . » B „ v B = B,*) A PgSP(2:*) A Vie[m] AS(B, Pt) A Vie [m] (Pi=(P,/)* -» V e e / ^ L(set(lisc(B, e))) c L^setifi))) A Vie [m-1] (\/eePi+1L(predB({e})) n L(set(Pt) = L(set(Pi))) B = B, + B2 +...+ Bn A Vie [n] AS(B,-, P) P = Pj + P2 +...+ Pn A 3 ie [n] AS(B, P,)
•
• •
. .®Bn A A S ( « , i>,)AVie [n]B,= Ba*
P,*AB=B1*AAS(B,,PI) P1®P2®...®P,„AB=B1*AAS(B1,P)
175
In the above definitions we made use of number of functions - the labeling functions /(s) and Z^{s1>...,s„}), the predecessor function, pred(P), and the functions set(P), "Non-Iterated", NI(B), and "Least Iterated Sub-Component", lisc(B, e). The exact definition of these functions is presented in [11] and omitted here for lack of space. We also used the auxiliary predicate Independents^, Q). The predicates serve as a basis of a verification algorithm. The analysis of its requirements shows that the worst-case time complexity is 0(n+m3), and the average case time complexity is 0(n+m2), where n is the number of events in the behavior (before the reduction), and m is the number of property events. The space complexity is O(m). 6
Contributions, Limitations, and Conclusions
In this paper, we presented the modeling and formal verification of the DLX processor control based on the recendy developed series-parallel poset methodology. The technique is less expressive than some other formal verification methods, but has a low complexity. Thus, we can model complex real-world systems and protocols. Current work is on the verification of the InMOS Transputer microcode, and modeling the behavior of dataflow computers. The issues of event sequencing and timing has been studied for a long time by many researchers - D. Dill, B. Moszkowski, Z. Manna, etc. In many respects, our approach is close to the study of language containment of behavior and property automata [2]. However, we approach the topic from a different point of view, avoiding the issue of exhaustive substring matching. Moreover, the use of the shuffle operator (), significantly simplifies and speeds up the verification task by avoiding the study of all possible independent event interleavings. Closest to our work is that of V.Pratt [4]. However, the main stress in [4] is on modeling system behavior with the help of an extensive collection of operations. Our technique uses a far smaller collection of operations (•, , *), but models not only system behaviors but properties as well. The emphasis is on verification, and the reduced collection of operations simplifies analysis, and improves the algorithms' efficiency. One important shortcoming of our technique is the inability to model "N"-type dependencies among the events occurring in a system. These are encountered quite often in real systems and significantly limit the general applicability of our algorithm. Consider the simple example below:
Figure 6 "N"-type event dependence in a simple system
176 If e,- represent the event "gate i produces a valid output", then the event dependency diagram has the "N"-shape described on the right. This type of dependency cannot be modeled only with operations •, ®, and *. Current work is aimed at extending our verification methodology to deal with "N"-type event dependencies as well. References 1. 2. 3. 4. 5.
6. 7. 8.
9.
10. 11. 12. 13. 14. 15.
K. McMillan, "Symbolic Model Checking", Kluwer Academic Publishing, 1993 R.Kurshan, "Computer Aided Verification of Coordinating Processes: The Automata-Theoretic Approach", Princeton Series in CS, Princeton, 1994 M.Nielsen, G.Plotkin, and G.Winskel, "Petri nets, event structures, and domains", TCS, 1981 V.Pratt, "Modeling Concurrency with Partial Orders", Int. Journal of Parallel Prog., 1986 P. Godefroid, "Partial Order Methods for the Verification of Concurrent Systems: an Approach to the State Explosion Problem", Doctoral Dissertation, University of Liege, 1995 R. Nalumasu, G. Gopalakrishnan, "A New Partial Order Reduction Algorithm for Concurrent System Verification", Proceedings of IF1P, 1996 D. Peled, "Combining Partial Order Reductions with On-the-Fly Model Checking", Journal of Formal Methods in Systems Design, 8 (1), 1996 L.Ivanov, R.Nunna, S.Bloom, "Modeling and Analysis of Non-Iterated Systems: An Approach Based on Series-Parallel Posets", Proceedings of ISCAS'99, 1999 L.Ivanov, R.Nunna, "Formal Verification with Series-Parallel Posets of Globally-Iterated Locally-Non-Iterated Systems", Proceedings of MWSCAS'99, 1999 L.Ivanov, R.Nunna, "Formal Verification: A New Partial Order Approach", Proc. of ASIC/SOC'99, 1999 L. Ivanov, R. Nunna, "Modeling and Verification of Iterated Systems and Protocols", Proc. of MWSCAS'01, 2001 L. Ivanov, R. Nunna, "Modeling and Verification of an Interconnect Bus Protocol", Proc. of MWSCAS'00, 2000 L. Ivanov, R. Nunna, "Modeling and Verification of Cache Coherence Protocols", Proc. of ISCAS'01, Sydney, 2001 J.Hennessy, D.Patterson, "Computer Architecture: A Quantitative Approach", Morgan Kaufmann Publ. Inc., 1990 Bloom, Z. Esik, "Free Shuffle Algebras in Language Varieties", Theoretical Computer Science 163 (1996) 55-98, Elsevier
177
D Y N A M I C BLOCK DATA D I S T R I B U T I O N FOR PARALLEL SPARSE G A U S S I A N ELIMINATION * E. M. DAOUDI+, P. MANNEBACK* AND M. ZBAKH+ Lab. Research in Computer Science, Faculty of Sciences, University of Mohamed First, 60 000 Oujda, Morocco, E-mail:{mdaoudi, zbakh} @ sciences.univ-oujda.ac.ma "Computer Science Lab., Polytechnic Faculty, 7000 Mons Belgium E-mail: Pierre.Manneback@fpms. ac. be
+
This article is devoted to describe a new dynamic block data distribution algorithm over a grid of processors for sparse Gaussian elimination in order to improve the load balance compared to the classical static block-cyclic distribution. In order to assure a numerical stability and to separate the ordering and the symbolic factorizations, Demmel and al. [2,3] presented a new method for sparse Gaussian Elimination with Static Pivoting called GESP where the data structure and the communication graph are known before the numerical factorization. In this work, we assume that the ordering and the symbolic factorizations are already performed and we are interesting by the numerical factorization of the final structure of the matrix to be computed. The experimental results show the advantages of our new approach.
1
Introduction
The efficiency of parallel algorithms on distributed memory machines depends on how to distribute the data over processors. The distribution should be well chosen to minimize the execution time (balance the load work of processors and/or minimize the communication cost). The problems dealing with dense matrices are classically solved by block-cyclic distribution [1]. This distribution is also used for the sparse case in many tools and packages for linear systems solution such SuperLU (Supernodal LU [4]). However for sparse Gaussian elimination, this distribution can lead to a bad load balance and can increase the execution cost. In this paper we propose a new approach of data distribution that balance the workload of processors and/or minimize the total execution time of the sparse Gaussian elimination. The main idea is to redistribute the data before each step of factorization. It is important that the performances do not be degraded by the communication overhead arising from the migration of data. The test matrices are of size nxn and the target •THIS WORK IS SUPPORTED BY THE EUROPEAN PROGRAM INCO-DC, DAPPI" PROJECT
178
distributed memory machines have &px q processor grid topology. The outline of this paper is as follows: in sec. 2, we present one way to partition the data by blocks for sparse matrices, in sec. 3, we present some motivating examples showing the inefficiency of the block-cyclic distribution for sparse Gaussian elimination, sec. 4 is devoted to describe our new distribution approach, the experiment results are given in sec.5. 2
Block data structure
The block partitioning method of the matrices is based on the notion of unsymmetric supernode approach [4]. Let L be the lower triangular matrix in the LU factorization. A supernode is a range of columns of L with the triangular block just below the diagonal being full and with the same row structure below this block. This supernode partition is used in both row and column dimensions. If there are N supernodes in an n x n matrix A, the matrix will be partitioned into iV2 blocks of nonuniform size [3]. The size of each block is matrix dependent. The largest block size is equals to the number of columns of the largest supernode. For large matrices, this can be a few thousand, especially towards the end of matrix L [3]. Such a large granularity would lead to very poor parallelism and load balance. Therefore, when this occurs, the large supernode will be broken into smaller chunks, so that the size of each chunk does not exceed a threshold, representing the maximum block size [3]. For the present study, we assume that the blocks have the same size r, where n = N xr. In the sparse Gaussian elimination with dynamic pivoting, the computational graph does not unfold until run-time, in other words, the symbolic and numerical algorithms become inseparable. Demmel and Li [3] presented a new method for sparse Gaussian Elimination with Static Pivoting called GESP where the data structure and the communication graph are known before the numerical factorization. The basic numerical factorization algorithm in GESP is given by algorithm 1 [3]. for k := 1 to N do 1. 2. 3. 4.
Compute the block diagonal factors L(k,k) and U(k, k); Compute the block column factors L(k + 1 : N,k); Compute the block row factors U(k, k + 1 : N); Update the sub-matrix A(k + 1 : N, k + 1 : N) : for j: := k + 1 to N do for i := k + 1 to N do if(L(i,k)^OkU(k,j)^0) A(i,j) = A(i,j)-L(i,k)U(k,j); Alg.l : Sparse right-looking LU factorization
179
In this work, we suppose that the ordering and the symbolic factorizations are already performed. We are interested by the numerical factorization of the final structure of the matrix to be computed A. 3
Block-cyclic distribution
By block-cyclic distribution we mean that block A(ij) (0 < i,j < N) is mapped onto the processor at coordinates (i mod p, j mod q) of the processor grid. This distribution on a grid of processors is not efficient in term of load balancing and communication costs. We present bellow some motivating examples. Example 1: load imbalancing In Figure 1(a) we illustrate the matrix to be distributed cyclicly (Figure 1(b)) on a grid of 2 x 2 processors (Figure
(a)
(b) 0 2
(c)
1 3
(d) Figure 1. (a): block data structure for a matrix, (b): block-cyclic distribution on a grid of 2 x 2 processor grid, (c): blocks to be updated in step 1 of elimination
As shown on Figure 1(c), the step 1 of elimination is executed by one processor (processor 0). Similarly for all other steps. So, each step of elimination is executed sequentially, this shows a bad load balance. Example 2: bad communication management: Figure 2(b) shows that two consecutive not nil (shaded) blocks in the same row/column are not mapped on two neighbor processors of the grid during the first step. This can be improved to decrease the communication cost by replacing, in row 1, processor 2 by processor 1, 4 by 2 and 6 by 3.
180
(a)
(b)
Figure 2. (a): data structure and block-cyclic distribution for one matrix on a 7 x 7 processor grid, (b): the blocks to be updated in step 1 of elimination
4
Description of the new distribution approach
The proposed algorithm consists in redistributing efficiently the data over the processor grid at each step of elimination. The idea is to accumulate the blocks to be updated at each step of elimination in a dense matrix and redistribute this matrix by the block-cyclic approach. The remaining of this section is devoted to describe in details the different steps of the algorithm. For each step k, 1 < k < N, first of all we determine the sub-matrix Mk formed by the blocks Aij that will be updated in step k. Then we determine how the sub-matrix Mk can be efficiently distributed on the grid. Determination of Mk: A block A^ of the matrix A is an element of Mk if the blocks Aik and Akj are both not nils (that is to say Aik ^ 0 and Akj ^ 0). The size of Mk is determined by the number of blocks not nils in row and column k of the initial matrix. Mk is determined by the algorithm 2, where the couple (is, js) indicates the new coordinates of Aij in sub-matrix Mk. 3s ~ 0; for j := k t o N do{
if(Atii^0){ is '•= 0;
for i := k to N do{ if (Ai,k ? 0) { %s .— Xs ~r I ,
I }
181 js
••= js +
l;
} } Alg.2 : Determination of the sub-matrix Mk Distribution of Mk: • if any element of Mk was not an element of any precedent sub-matrix Mk , k < k, then we distribute Mk cyclicly on the grid; • Otherwise, we analyze the latest affectation of each block in Mk and we determine one sub-matrix of the most size, called Mk, which is already distributed cyclicly. We keep the distribution of M§ and we complete the block-cyclic distribution for the rest of Mk. This choice minimize the redistribution cost. The outline of the new approach of distribution is given in algorithm 3. for k := 1 to N d o if Mk is not already distributed distribute cyclicly Mk; else determine Mk; we keep the distribution of Mk and we complete the cyclic distribution of Mk; Alg.3 : The outline of the new distribution algorithm To illustrate the steps of the new algorithm, we consider the matrix M of Figure 3(a) and a grid of 5 x 5 processors (Figure 3(b)). We determine the sub-matrix M1 to be updated in step 1 (Figure 4(a)) and we distribute it by block-cyclic distribution (Figure 4(b)). The Figure 5(a) illustrate the submatrix M2 to be updated in step 2. M$ is formed by the blocks mapped to the processor of the sub-grid formed by processors 6, 7, 8, 11, 12, 13, 16, 17 and 18. We keep the distribution of M$ and we complete the block-cyclic distribution of M 2 (Figure 5(b)). The blocks that were already affected are mentioned by the symbol !. We proceed at the same way in the remaining steps. 5
Numerical results
The implementations are done, in LaRIA laboratory of Amiens (France), under MPI environment [5] for communication and ScaLAPACK subroutines [1] for computation. The target machines are:
182
o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 0 21 2 2 23 2 4
m
SxS processor grid
Figure 3. Matrix to be distributed by new approach over a 5 x 5 processor grid
m
m
9.
Figure 4. The sub-matrix
M1 (blocks mapped to processors)and
its
distribution
Figure 5. The sub-matrix
M2 (blocks mapped to processorsjand
its
distribution
• Cluster of 19 Celerons Intel Pentium 400 MHz and 18 Celerons Intel Pentium 466 MHz connected by a Fast Ethernet network of 100 Mb/s. • Cluster of eight alphas processors of 533 MHz connected by the Myrinet cards of 1 Go/s. Table 1 presents the computation times for the first five elimination steps of sparse Gaussian elimination on the cluster of 2 x 2 alphas. The test matrix is of size 1600 x 1600 and has the same structure as the matrix of example 1. It
183
is structured by blocks of size 80 x 80. T\ and T2 represent the computation time at each step (they are measured at the end of each step) for each processor for the block-cyclic distribution and for the new approach of distribution respectively. Steps
->
Proc I 0 1 2 3
2
1 Ti 6.26 -
T2 1.61 1.57 1.66 1.69
Ti .073
4
3
r2 .1 -
Tx 5.88 -
T2 1.61 1.26 1.33 1.08
Ti .07
5 T2 .1 -
Ti 4.05 -
T2 1.03 1 1.05 1.08
Table 1. Computation time in seconds on the cluster of alphas (the symbol — means that the corresponding processor is idle)
We remark that, for the block-cyclic distribution, the steps 1, 3 and 5 are sequentially executed, however, with the new distribution, the treatment of these steps is distributed between all processors. This shows a well load balance. For steps 2 and 4, there is only one block to be treated by one processor for the two approaches of distribution (Ti and T2 are roughly equals). In table 2, we present the execution times for sparse Gaussian elimination on the cluster of 4 x 4 Celerons. The test matrix is of size 320 x 320 and has the same structure as the matrix of example 2. It is structured by blocks of size 80 x 80. Ti and T2 represent the execution time at each step for the blockcyclic distribution and for the new approach of distributions respectively. This shows that the execution time is reduced by using the new distribution. Etapes -»•
Ti T2
1 .45 .37
2 .31 .24
3 .09 .02
4 .09 .02
Table 2. Execution time in seconds on the cluster of Celerons
6
Conclusion and perspectives
In this work, we are interested by the numerical factorization of sparse Gaussian elimination. We assume that the ordering and the symbolic factorizations
184
are already performed. We have proposed a new dynamic distribution based on block-cyclic approach. At each elimination step, only the dense blocks concerned by the corresponding elimination step are distributed. This new approach allows to balance the workload compared to the block-cyclic approach. The experimental results show that the workload of processors is well balanced and the execution time can be improved compared to the block-cyclic distribution. Our objective in the future work is to generalize the algorithm for non-uniform blocks and to extend the experimentation for other type of matrices. References 1. Blashford L. S., Choi J., Cleary A., D'Avezado E., Demmel J., Dhillon I. and Dongarra J., ScaLAPACK Users' Guide. (Second Edition SIAM, 1997). 2. Li X. and Demmel J., A Scalable Sparse Direct Solver Using Static Pivoting. In Proceedings of the 9th SIAM Conference on Parallel Processing and Scientific Computing, San Antonio, Texas, 1999. 3. Li X. and Demmel J., Making Sparse Gaussian Elimination Scalable by Static Pivoting. In Proceedings of SC98 Conference, Orlando, Florid, 1998. 4. Li X. , Demmel J. and Gilbert J. R., An Asynchronous Parallel Supernodal Algorithm for Sparse Gaussian Elimination, SIAM J. Matrix Anal. Appl., 20 (1999) pp. 915-952. 5. Pacheco P. S., Parallel Programing with MPI.(Morgan Kaufmann Publishers, Inc. San Fransisco, California 1997).
185 A L L PAIRS S H O R T E S T P A T H S C O M P U T A T I O N USING J A V A O N PCS CONNECTED ON LOCAL AREA NETWORK
JOHN JINGFU JENQ Computer Science Department, Montclair State University, Upper Montclair, NJ 07043 E-mail:
[email protected] WINGNJNG LI Department of Computer Science and Computer Engineering, Fayetteville, AR 72701 E-mail:
[email protected] University of Arkansas,
The computation of shortest path using Java programming language on PCs that are connected on local area network has been developed. Comparisons with different number of processors, and with different number of nodes of the problem graph have been performed experimentally. Speed up factor and efficiency analyses have been conducted experimentally as well.
1
Introduction
Shortest path computation is a very important task required for efficient routing in transportation and communication networks. The problem shows up in applications such as robot path planning, circuit design, missile defense, and highway transportation design. How to compute shortest paths has been studied intensively for both sequential and parallel computing models. An annotated bibliography and taxonomy of related problems using uniprocessor is given in [5]. Experimental evaluation of the efficiency of different shortest paths algorithms is reported in [3]. The shortest paths problem is commonly represented as a graph with vertices and edges. For a dense graph, a matrix representation is usually used. For a sparse graph, a linked list (and its variations) representation is more popular. For the all pairs shortest paths problem, one is required to compute the shortest path from node i to node j , for i * j , and 0 < i, j < N; where N is number of vertices in the graph under consideration and vertices are numbered from 0 to N-l. Many studies using parallel processing approaches to efficiently solve the shortest paths problem are reported in the literature. Examples include using VLSI systolic arrays [6], using distributed processing [4][11], using CREW PRAM model [2], using CRCW PRAM model [7][8], and using EREW PRAM model [8]. Sometimes it is desirable to find rectilinear shortest paths for robotic applications. Algorithms dealing with rectilinear shortest paths are reported in [2] [12]. Results concerning three-dimensional shortest paths that also find application in robotics are given in [1]. For results of parallel program development for commercial available
186
machines, the reader is referred to the paper of Jenq and Sahni where programs that run on NCUBE mini super computers with 64 nodes are developed and experiment is conducted [10]. The problem of finding a shortest path between two nodes that also has the smallest number of edges is investigated by Zwick [13]. In this paper, we develop programs, using Java programming language, that solve the all pairs shortest paths problem on PCs that are connected to a local area network and conduct experiment to study the effectiveness of the approach. The experimental results are very encouraging and demonstrate the potential of the approach. Java is a popular high level programming language and has gained its popularity in teaching client/server computation for its ease of usage and the shorten software development time. Our experience also confirms that and further suggests using Java as a tool to conduct research in parallel and distributed processing. The paper is organized as follows. Section 2 describes the fundamental sequential algorithm to be paralleled and the basic Java classes used in the program development. Section 3 presents the parallel program. Section 4 analyzes and discusses the experimental results, including comparisons using speed up factor and efficiency measure. Section 5 concludes the report. 2
Preliminary
The famous fast algorithm to solve the all pair shortest path problem for dense graphs is the Floyd's algorithm. Our development of the parallel programs is based on this algorithm. Let N be the number of nodes in the graph. The distance between node / and nodey is denoted as Dist(i.j). Initially, Dist(i,j) is 0 if i -j; is infinity if/ and j are not adjacent; and is the weight of edge (i,j) if/ and j are adjacent. At the end of the computation, Dist(i.j) gives the true distance, or the length of the shortest path, between node i and node j . To use Floyd's algorithm, we shall assume that there is no negative-weight cycles in the graph, though negative-weight edges may be present. The following is Floyd's algorithm consisting of three nested for loops. for (k=0; k < N; k++) for (i=0; i < N; /++) for (j=0;j < N;j++) if(Dist(i,j)) > (Dist(i,k) + Dist(kj)) Dist(i,j) - Dist(i.k) + Distfkj); On each iteration of k, a new matrix will be generated. Let Dist0 be the initial matrix, then it can be verified [9] that the result will not be changed if we replace the if statement by if(Dist(i,j) > (Distk~l (i,k) + Dist1"1 (k,j)) Dist(ij) = Dist*'1 (I,k) + Dist ' (k,j). This enables us to develop parallel algorithms that distribute the
187
computation of two inner most for loops in network computers and only exchange information (by communication) in the outeryor loop. In the current Java net package library there are streaming based socket and data gram socket. We choose data gram socket in our application due to its small communication overhead compared with streaming based sockets. In addition to that, we also take advantage of the multicast facility in the java.net library that further reduces the communication time a lot. 3
Parallel all pair shortest path algorithm on PC area network
We run the program on PC a lab. with Dell computers, using Window 98 operating system, that are connected to a local area network. The language used to develop the program is Java that was developed by SUN. With the java.net library, it is easier for us to construct the program by concentrate more on application problems. The whole application in fact contains two subprograms. One is the controller program and the other a worker. The controller controls the coordination among the workers. It gives control signal through broadcasting. It also receives signals from the workers. The controller issues start signal at the beginning of each iteration, for the computation of the matrix. It then waits for the workers to send in completion signals. When all the signals are received, it starts another iteration of computation by giving another start signal. The total number of broadcasting of the signals to start the computation is therefore 0(N). The signal is just one byte signal that was sent using data gram. Rather than use the streaming based sockets, we used both ordinary and multicast data gram sockets. It is relatively cheaper to use data gram sockets than the streaming sockets in our application. As for the worker program, each worker get a portion of the matrix based on its ID. Note the ID was assigned by the controller when program begins. In addition to the ID number received from the controller, the number of nodes of the graph also received from the controller. The information about the number of PCs, that will participate in the computation, also received from the controller at the beginning execution of the program through broadcasting. The pivot row, required by each processor in the computation, is sent at the beginning of each iteration by the appropriate PC. Broadcasting is used in this operation to reduce the overhead. As soon as the row of data has received, the computation starts on the data partition for each PC. At the end of the computation in each iteration, the PC sent a completion signal back to the controller. It then wait for the controller to start another iteration. Upon receiving the signal, each PC computes and check whether it is its term to broadcast the data to all others.
188 4
Experiment results and analysis
The experiment results are shown in Table 1. The numbers are in milliseconds. A run time of 0 simply means that the run time is less than 1 millisecond, as in the one PE case. It can be seen from the table that, as expected, the run time grows in 0(N
) for the one PE case when N increases. Table 1 Running time using different number PEs 1PE 0 330
64 Nodes 192 Nodes
2 PEs
4 PEs 6 PEs 8 PES 10 PEs 12 PEs
170
110
120
660
610
610
160 660
180 710
170 770
2530
2140
2080
2140
2200
13070 10820
9060
8700
7910
148740 82560 65690 49370
41630
38170
384 Nodes
3740
3620
768 Nodes
28830
21370
1536 Nodes
228270
3072 Nodes 1852580 1183920 587870 411170 324170 267600 232780
As usual, we measure the effectiveness of the parallel programs experimentally using speed up and efficiency. The speed up factor is defined as: running ~ time ~ of ~ sequential ~ a lg orithm . running ~ time ~ of ~ parallel ~ a lg orithm The efficiency E is defined as the speed up factor divided by the number of processors, p, involved in the computation. sp E= — P In the experiment, edge-weight matrices are generated randomly using the Random class of Java that generates pseudo random numbers. For simplicity, only integers are used for the edge-weight. We believe that changing integer type to float or double type will not invalidate the experimental results, though it would be interesting to see how those changes may affect the actual run time. The measurement of run time reported in Table 1 does not include the time used to generate the edge-weight matrix. When the number of nodes of the graph is small, the parallel program does not achieve any speed up at all. Only when a certain threshold of the number of nodes is exceeded, then the speed up becomes significant. The speed up versus the number of PEs used is plotted in Figure 4.1. Note that when the graph is large, the more PEs we have the faster the computational process. For example, considering the case of 3072 node graph, one PC takes about 30 minutes to finish, while 12 PCs only take 4 minutes. sp =
189
Speed up 10 8 6 4 2 0
H 64 Nodes B192 Nodes
2 PEs
4 PEs
6 PEs
8 PEs
10 PEs
12 PEs
• • • •
384 Nodes 768 Nodes 1536 Nodes 3072 Nodes
Figure 4.1. Speedup vs. number of PEs Figure 4.2 depicts the efficiency E plot. Note that higher efficiency is always achieved by a fewer number of PEs than by a larger number of PEs. Nonetheless, when the graph size increases, independent of the number of PEs involved, the efficiency always increases. 5
Conclusions and remarks
Parallel programs, written in Java and run on a set of inexpensive PCs connected to a local area network in a typical student lab, to solve the all pairs shortest paths problem have been developed. A speed up factor of 8 can be achieved when 12 PCs are used to run a graph of around 3000 nodes. Greater speed up would be expected when the number of nodes in the graph increases or when the number PCs increases. For graphs with small size, one PC alone outperforms the multiple network approach due to communication overhead among participant PCs. As the graph size increases, the computation time out weights the communication time and the proposed approach becomes effective. One remark about the great advantage of using Java to write network application is the shorten development time due to the rich classes in the java.net library that comes with the Java develop kit. In our experiment, we take advantage of the multicast facility of Java that results in further reduction of the control coordination overhead and therefore improves the overall performance.
Figure 4.2. Efficiency vs. number of PEs 6
References
1. Agarwal, P. K., Har-Peled, S., Sharir, M., and Varadarajan, K., Approximating shortest paths on a convex polytope in three dimensions, Journal ACM, vol. 44, no. 4, pp 567-584, (1997). 2. Atallah, M., and Chen, D., Parallel rectangular shortest paths with rectangular obstacles, Proceedings of the Second! Annual ACM Symposium on Parallel Algorithms and Architectures, pp 270-279, (1990) 3. Cherkassky, B. V., Goldberg, A., and Radzik, T., Shortest paths algorithms: theory and experimental evaluation, Proceedings of the Fifth Annual ACMSIAM Symposium on Discrete Algorithms, pp 516-525, (1994). 4. Chen, C , A distributed algorithm for shortest paths, IEEE Transactions on Computers, vol. c-31, pp 898-899, (1982). 5. Deo, N and Pang, C. Shortest path algorithms: Taxonomy and Annotation, Networks, pp 275-323., (1984). 6. Dey, S., and Srimani, P. K., Parallel VLSI computation of all shortest paths in a graph, Proceedings of the ACM Sixteenth annual Symposium on Computer Science, pp 373-379., (1988). 7. Frieze, A., and Rudolph, L., A parallel algorithm for all pairs shortest in a random graph, Proc. 22nd Annual Allerton Conf on Communication, Control and Computing, pp 663-670., (1984). 8. Han, Y., Pan, V., and Reif, J., Efficient parallel algorithms for computing all pair shortest paths in directed graphs, Fourth Annual ACM Symposium on Parallel Algorithms and Architectures, 1992, pp353-362, (1982). 9. Horowitz, E., and Sahni, S., Fundamentals of Computer Algorithms, (Computer Science Press, 1978)
191
10. Jenq, J., and Sahni, S., All pairs shortest paths on a hypercube multiprocessors, Proceedings of the 1987 International Conference on Parallel Processing, pp. 713-716., (1987). 11. Lakhani, G., An improved distribution algorithm for shortest path problem, IEEE Transactions on Computers, vol. c-33, pp. 855-857, (1984). 12. Lee, D. T., Chen, T. H., and Yang, C. D., Shortest rectangular paths among weighted obstacles, Proceedings of the Sixth Symposium on Computational Geometry, pp. 301-310, (1990). 13. Zwick, U., All pairs lightest shortest paths, Proceedings of the Thirty-first Annual ACM Symposium on Theory of Computing, pp. 61-69, (1999)
Computing Education
195 ENHANCING STUDENT LEARNING IN E-CLASSROOMS JEROME ERIC LUCZAJ AND CHIA Y. HAN Department ofECECS, University of Cincinnati, Cincinnati OH 45221-0030, USA E-mail:
[email protected],
[email protected] E-classrooms provide a unique opportunity to use technology to implement prompt feedback and thereby augment the current classroom experience. Coordinating various instructional streams with student assessment and feedback will provide the means for instructors to know when and if their intended message was communicated to their students, permitting instructors and students to react quickly when there is a gap between intent and understanding. Further, developing a flexible instructional infrastructure will create a bridge between course objectives and course assessment, classroom instruction and student feedback, and seat-time and study-time. By developing this framework within an eclassroom, information can be gathered to measure student, instructor and organizational achievement and to assist in improvement.
1
Introduction
Many different factors influence whether a student has successfully attained learning objectives. Student performance is rarely homogeneous, resulting in the familiar bell-shaped distribution. Causes for poor student performance are hard to pinpoint. A comprehensive assessment strategy needs to be defined and implemented. It must demonstrate that the content has been delivered to the student and that the student has received it. Further, it must give prompt feedback to students, instructors and programs. The resulting impact on student learning should be "A Significant Difference" [1]. With the recent advent of powerful computer technology for delivering mediarich content in classroom settings, many new possibilities are now available for augmenting classroom instruction and learning. Previous related works at several academic research centers, such as Georgia Tech, U. of Massachusetts, and Cornell University, have contributed significantly to the use of electronic notes with audio and video recording. Project Classroom 2000 [2] produced several solutions, such as Zen*, a client server system that allowed each electronic whiteboard to be a client tied into a threaded central server; DUMMBO (Dynamic Ubiquitous Mobile Meeting Board) system uses a SmartBoard electronic whiteboard and a Webinterface access method that was time-line based; Stupad is a customizable tool for personalized notes and playback of all captured streams. MANIC (Multimedia Asynchronous Networked Individualized Courseware), developed at U. of Mass. [3, 4], is an asynchronous system that uses HTML slides and GIF images synchronized with audio via RealAudio to a Web browser. The browser uses the media plug-in to
196 start the presentation. MANIC uses CGI scripting to create the slides from the GIF images and slides. CGI then sends the slides to the Web server when requested by the user, and then the server sends this request to the user's browser. Project Zeno distance learning tools [5] include a full spectrum of automatic editing and playback. The Lecture Browser uses a Real-video plug-in, to allow playback of MPEG videos. Although many new methods are available, the different formats of material being delivered during lectures may overwhelm students, hindering learning, causing student disengagement in the classroom. Research that focuses on getting more out of the classroom experience shows that user-interaction in selecting data keeps the students interested in material. [6] These studies indicate that students' needs and viewpoints have to be taken into consideration when course material is given in technology-based classrooms. Further, since a typical classroom experience involves multiple, simultaneous activities or streams of information, it is important that technology offer a system that will synchronize these streams, providing context and valuable insight during assessment, instructor feedback, and student review. Frequent, periodic assessment providing the basis for prompt feedback to students, instructors, and programs will enhance student learning. 2
Major Assessment Issues
Educational assessment has multiple, distinct uses in instructional improvement including: school and student accountability for academic achievement, feedback for teachers to revise teaching and administrators to allocate resources, and stimulation for students to receive deeper understanding [7]. In most cases, the main criterion for assessing student performance is the degree of subject matter understanding. Student performance is evaluated at irregular intervals, through graded homework, quizzes, tests, projects, and final exams. Typically, students who were confused during lectures would not find out how far behind they were until it was too late to catch up. It is during the contact time in a classroom where the instructor can exert the greatest impact on student learning. In fact, a study from the University of Tennessee found that teacher effectiveness was the dominating factor affecting student academic gain [8]. Thus, it is important to assess learning in the classroom and let instructors take timely measures and make any necessary remedial changes. In terms of teaching evaluation, especially at the collegiate level, the burden of teacher and course evaluation falls upon the student using either in-class or Webbased survey forms. Typically, these evaluations are done just once, if at all. Since the survey is normally completed toward the end of the academic term, it does not impact students in the current class, though it may be helpful to future students in the same course with the same instructor. Also, since students may not take the survey seriously, the validity of the student response is questionable.
197 Typically, there is no correlation between student learning assessment and instructor teaching evaluation. Without timely feedback connecting student learning to instructor evaluation, neither the instructor nor the students have the power to affect change or to correct problems. Frequent feedback to the students advances student learning. According to Brien and Eastmond in Cognitive Science and Instruction, "During instructional activities, the competencies taught must be reinforced each time they are adequately used by the learner." [9] Further, they describe the "ideal" situation as one where the learner knows the final goal as well as the sub-goals that support the final goal. Therefore, it is important that learning outcomes be explicit and feedback frequent.
3
Approach: CaSA System Design
Networked computers or ubiquitous computing/PDA-based terminals are becoming widely available, so they should be used in classrooms to enhance learning through active interaction between students, the instructor and the material. To make use of the new technology, a new generation of instructional software is needed. A new framework, CaSA (Classroom and Student Achievement assessment), is presented. CaSA is a flexible framework to augment the classroom experience by coordinating and synchronizing instructional streams, matching class plans to student class experience, and presenting instruction in a variety of media forms to promote self-directed learning. The emphasis is on facilitating timely feedback from students, offering alternatives to students with differing learning styles, and collecting assessment data.
Real-Tim
e
Stream
Com
p o n e n t a Ho n C o m
S f f a a m B e e a l i in g Com ponent
Com
S tu d e n t « o le
p o S l u d a n t F a e D b a ck C 0 ) { circle (x,y,diam,screen); pause(5000); circle (x,y,diam,screen ); x = x-l;
209 redTextsetTextfFirst x = " + x); } // end for }//end paint } // End Program
The output can be seen on Figure 1.
Figure 1. Constructing GUI objects.
2.3
New keywords, constants and methods
Button, new, add(), setLabel(), TextField, SetText(), ShowStatus(). 3 3J
Interactive Programs. Events Concepts
We deal with events and event handlers, i.e., interrupt driven programming, interfaces and the methods whose implementation is required by the interface. In particular we show the ActionListener interface and the implementation of the method actionPerformed and how to obtain the source of the interrupt. 3.2
Programs li Program ColorOval.java. ActionEvents are generated by clicking on buttons, and changing the contents of text // fields. We need only to implement one function actionPerformed. The ball turns green when the button is clicked // We need to import the customary classes. public class ColorOval extends Applet implements ActionListener { int x,y,width,height; Color drawColor; Button bgreen; public void initO { bgreen = new Button("Green"); add(bgreen); bgreen.addActionListener(this); I
210 public void paint(Graphics screen) { x = 100; y = 100; width = 150; height = 150; drawColor = Color.red; screeasetColor(drawColor); screen.setXORMode(Color. white); screen.fiUOval(x,y,width,height); } public void actionPerformed(ActionEvent buttonEvent) { String bLabel = buttonEventgetAcuonCommandO; if (bLabel.equals("GreenM)) drawColo r= Color.green; repaintO; } // end actionPerformed } // End Program
The output can be seen on Figure 2.
fcftppial started
Figure 2. ActioeEvents are generate!, for instance, by clicking on buttons
33
New keywords, constants and methods
String, implements ActionListener, addActionListener(), this, actionPerformed(), ActionEvent, getActionCommand(), equals. 4 4.1
A Text Input Program Concepts
We use Text Fields for input and for generating interrupts. The ActionPerformed event is revisited. We also convert from strings to numbers, from decimal numbers - float - to integers, and we use the Math library functions.
211 4.2
The program II Program TextEventjava. The program asks the user to guess a number between 1 and 100. // It gives hints, "too high", "too low", to help in the search. It needs to include the usual import classes
public class TextEvent extends Applet implements ActionListener { TextField outputBox.promptBox, inputBox; int targetNumber; public void initO { outputBox = new TextField("Guess a number from 1 to 10 ",40); add(outputBox); promptBox = new TextField("Move below with the mouse. Type it Press Enter",40); add(promptBox); inputBox = new TextField("",20); add(inputBox); inputBox.addActionListeneitthis); targetNumber = (intX 1 + 100 * Math.random()); // randomO returns a number between 0 and 1 } public void actionPerformed(ActionEvent inputBoxEvent) { int number, String StringOfDigits; StringOfDigits = inputBoxEventgetActionCommand(); number = Integer.parselnt( StringOfDigits); if (number = targetNumber) outputBox.setText("Congratulauons! The number " + number + " is the winner"); else if (number < targetNumber) outputBox.setText("The number you entered " + number + " is too low "); else outputBox.setText("The number you entered " + number + " is too high ");
The output can be seen on Figure 3.
PKiiiR^^Si^^^^^^Biiii \
|
}
|GuessanumbBrfrom1to100
|Movebeloww[ththeminise.TypeH PressEnter
1
1
^Applet started.
1
!
!
]
hue number you entered 51 istoohigh [Move belowwlth the mouse. Type It PressEnter
j
L5!!
:
Applet started.
Figura 3. Asking the user to guess a number, and giving hints about the answer.
212 4.3
New keywords, constants, methods and operators
Math.random(), float, (int), Integer.parselnt(), operator + for strings. 5
Discussion
•
There are in total, [3], 41 keywords, constants and methods used in RISJ: import, public, class, extends, void, Graphics, fillRect(), fillOval(), Init(), setColor(), Color.red, super, Color.blue, setBackground(), repaint(), Color, int, getGraphics(), setXORmode(), SetSize(), for, while, Button, new, add(), setLabel(), TextField, SetText(), ShowStatus(), implements ActionListener, addActionListener(), this, actionPerformedO, (int), float, ActionEvent, String, getActionCommand(), equals, Math.random(), Integer.parselnt(). Using these few keywords, we think that one can illustrate most of the standard techniques introduced in a first programming course. Object oriented concepts were used from the beginning and user interaction is handled using the GUI: Texfields and buttons are all we need to input data from the user. They generate Action Events, which can be easily handled. Using the program source as input: When the student is working with the IDE, the simplest way of changing the behavior of the program is to change the values of the variables. This can be done from the Watch, or Inspector windows in the debugger, or by just modifying the source and recompiling. This is much faster than having to answer several questions of the type: "Please enter the value". Later, when they are more comfortable with the language, they can be taught how to change the values of variables using more traditional methods.
•
•
References 1. Bell D. and Parr M., Java for Students, Second Edition (Prentice Hall, New Jersey, 2000). 2. Deitel H. and Deitel P., Java, How to program, Third Edition (Prentice Hall, New Jersey, 2001). 3. Gutierrez A. and Somolinos A., Building up a Minimal Subset of Java for a First Programming Course, (to appear). 4. Horstmann C., Computing Concepts with Java 2 Essentials, Second Edition (John Wiley and Sons, New York, 2000). 5. Wu T., Introduction to Object-Oriented Programming with Java, Second Edition (McGraw-Hill, New York, 2000).
213 DEWDROP: EDUCATING STUDENTS FOR THE FUTURE OF WEB DEVELOPMENT JOHN BEIDLER Computing Sciences, University ofScranton, Scranton, PA 18510, USA E-mail:
[email protected] There are many references supporting the Web's client-side (web browsers), a few references describing the Web's server-side, but there is little in the way of comprehensive support material on all aspects of website development. This paper describes the modifications being made to the Web Development course at the University of Scranton. The changes are based on the premise that the Web is an object-oriented client-server system for the dissemination and gathering of information. If the Web supports the dissemination and gathering of information, then a database is an appropriate repository for that information. The Web Development course is a junior-senior level course. It is being reorganized into three levels of presentation: (lj Introductory Part - Presents the fundamentals of client-side development, the Common Gateway Interface (CGI), and server-side programming. (2) Intermediate Part - Develops the material required to support server-side development, through the construction and delivery of virtual web pages using object-based reusable components and reducing defects by paying attention to process patterns. (3) Advanced Part - Present the fundamentals of web server to database interface for the delivery of virtual web pages. The approach is called DEWDROP, Database Enhanced Web Development with Reusable Objects and Patterns.
1
Introduction
The University of Scranton has offered a Web Development course since the 19961997 academic year. Initially, it was offered as a Special Topics course. From its inception the course covered the essentials of web development - client-side development, the Common Gateway Interface (CGI), and server-side software development. For the first three years I experimented with additional topics on various aspects of web programming. Because of my particular interest in software reuse, the construction of reusable resources has always been an integral part of the course. After the first three years we noticed that the course was having an impact on several other upper division courses because the course introduces students to approaches to programming and software development not normally developed in other courses including such topics as regular expressions for tokenizing strings, using hash tables to handle information, event driven programming, and practical software reuse experience. For example, the discussion of the Web as a set of Internet protocols and an introduction to security issues in the web development course introduces students to topics covered in depth in the Network
214 Communications Course. The Web Development course became extremely popular; almost all computing majors take this course, with the vast majority doing so in their junior year. During 1999-2000 the Web Development course made the transition from a Special Topics offering to a regular upper level course. As part of that process the department faculty discussed the positioning of this course relative to other courses. The course has a single sophomore level course as a prerequisite. The course was approved by the department, passed its review by the College of Arts and Sciences, and was approved by the faculty senate. The department specifically positioned the Web course before the Network Communications Course and the Database Course so that these three courses along with the senior capstone course could be the basis for a set of sequenced assignments leading to a comprehensive capstone assignment. 2
The PNA Project
In the 1999-2000 academic year, I received funding for a project to develop a prototype of a health sciences website in collaboration with a professor of Dietetics and Nutrition, Dr. Marianne Borja, at Marywood University. The project supported the development of a website called the Personal Nutrition Assistant Project (PNAP). The project helps diabetics and other individuals with a need to control their nutritional intake. The website used the USDA Nutrient Database for Standard Reference, nutritional information on over 6000 food items. Nonparticipants may access the system using the URLs, www.scranton.edu/pnap or www.marywood.edu/pnap. The website is currently utilized by eight local medical centers and is actively being developed. After putting the USDA database on our department's database machine and constructing a web interface using Perl 5's DBI module, I discovered that I had underestimated the ease with which a database could be used as the backend for a website. Following consultation with Dr. Yaodong Bi, the faculty member in our department who teaches the database courses, I realized that, with some effort, it was feasible to redesign the Web Development course in a way that gives the students a database driven website design experience. After further consultation with other members of our department we discussed methods of including database material in the Web Development course.
3
DEWDROP
The course will take students with little or no web development experience to where they are prepared to participate in the future of the Web utilizing database enhanced web development. At first it may appear that the amount of material I plan to cover
215 is too large for a typical three-credit course. Based on my experience with the web development course, I believe that the proposed collection of material can be covered by (1) keeping the course focused on its eventual goal, and by (2) making extensive application of software reuse. The course is achieved through a three-part presentation of the material described in the subsections below. A key element in the strategy of presenting this course is software reuse, which is not presented simply as a sound strategy for software development, but also as a means for delivering course material. Reuse is applied to both design patterns and software process patterns. 3.1
Introductory Part
The introductory material is a refinement of material developed over the last few years - an introduction to the client side, the CGI interface, and server-side programming. This material is covered in about three weeks. On the client side, time spent presenting HTML is kept to a minimum. Most students have previous HTML experience, however, all students have access to several on-line HTML tutorials. Web browsers are presented as containers for a pair of object models: the web browser's document object model and the object model for the Javascript interpreters that reside in web browsers. The course emphasizes how these two object models interact in different ways during the pre-load, onLoad, and post-load stages of a web page. The terms pre-load, onLoad, and post-load refer to the time frames surrounding the web page's onLoadQ event. I expect students to learn the basics of Javascript on their own. They have access to many on-line references, like the Javascript Tip of the Week website. The "Tip of the Week" site contains many useful Javascript examples, but the examples are not well packaged. This site is typical of many web sites in that they do not make good use of Javascript's object model. I use this opportunity to emphasize Javascript's object model and demonstrate how it may be employed to encapsulate resource in reusable js files. Normally, students complete two laboratory assignments and one regular assignment involving the encapsulation of Javascript resource. The construction of web forms leads to the CGI interface. The CGI interface is an excellent example of the need to follow standards and recognizing patterns. This topic is approached at three levels. The first two levels are discussed during the introductory part of the course; the third level is described in the intermediate part of the course. As part of the low level description of CGI, the web browser's encoding of the CGI interface is described and the resources required on the serverside to decode the information are introduced. Several artifacts to investigate the CGI interface are provided. One is an artifact, called formecho, that echoes back to the web browser a copy of the encoded string sent by the browser to the we b server. A modified version of Perl's cgi-lib.pl, a standard CGI's interface, is presented as
216
the second level CGI interface. The modified version of cgi-lib.pl includes an extension that supports off-line testing of server-side software using as input the encoded strings echoed back by the formecho artifact. This begins an important multi-step process pattern, described in detail the intermediate part of the course. The introductory part ends with an introduction to the resources essential for server side software development: 1. String processing features. 2. File and directory processing. 3. Access to environmental variables. 4. The ability to use other system resources (call programs). 5. Appropriate data structures, in particular, hash tables (associative memory). Although Perl is used because it provides access to these resources, other programming languages may be used as well. I have seen examples written in Tel, Java, Ada, COBOL, C, and C++. 3.2
Intermediate Part
The intermediate part plays an essential role in the successful delivering of material presented in this course. This part consumes the middle half of the course, about seven weeks. A key element in this part is the emphasis on software process, paying attention to how tasks are accomplished in order to avoid defects, or remove them as early as possible. Emphasis on the client side is on the web page document object model, Javascript's object model, and the interactions between them. This is developed by using a technique I developed to address some of the differences between the Javascript object models in Microsoft's Internet Explorer (IE) and Netscape's Navigator. Many of the conflicts between the IE and Netscape are addressed by employing a technique that is not well documented; namely, in both models, practically any item that can be addressed using typical dotted notation, ABC.xyz, can also be accessed as a hash, ABC["xyz"]. It is amazing how frequently Javascript that works on one browser and not on the other can be made to work on both browsers by replacing the problematic dotted notation with hash-like access. Here we present the third approach to the CGI interface using Perl 5's CGI module. This approach uses Perl 5's object model, presenting the interface as an object. In addition, CGI supports multipart forms, which include a file upload capability. The CGI interface is also used as the focal point for addressing cross platform development. One problematic software development scenario is one where software is developed on a Microsoft platform and the production website is on a UNIX platform. This scenario provides an opportunity to address process issues. Information on the CGI interface in the introductory part is extended from
217 off-line testing of CGI scripts, to testing a CGI script with a web server on the development machine, and finally moving the script to a production website on a UNIX platform. Students are required to maintain defect logs as they move through this three-stage process. They learn to recognize and correct defects in both their software and their development processes. This leads to the creation of support scripts to automate the process and further reduce defects. A key in the middle part of this course is selecting the right types of assignments that will prepare students for the advanced part of this course. It is relatively easy to develop interesting assignments that do this by combining the use of regular expressions, hash tables, and tab delimited files while giving the students more experience with both sides of web development. One good example is a concordance listing assignment, which uploads a file in specific programming language and constructs a framed web page that allows a person to browse a formatted and colorized version of the program that appears in one frame by clicking on the links in the concordance listing in the second frame. PHP is introduced at the end of the first half of the course. PHP is a scripting language that is placed in an HTML file. With PHP the developer can describe both the client-side actions and server-side actions in a single location, the web page. Server-side actions are described within process tags that are performed on the server-side using a simple method of executing server-side software called ServerSide Includes. As a result, the software developer has both the client-side processes and server-side processes described in one document, an HTML file. One of PHP's advantages is that it helps the software developer to distinguish between the roles of objects, their attributes, and representations of objects and attributes on both the client-side and the server-side. The result is the potential for reduced software development time and improved packaging of reusable software. 3.3
Advanced Part
This part covers the last three to four weeks of the course. Since the assumption is that students do not have previous database experience, the course appears to be limited as to what it can accomplish. I have discussed this issue with Dr. Yaodong Bi, the faculty member who teaches our database course, and we agree that the approach described here is feasible. The emphasis placed on tab-delimited files and hash tables in the intermediate part of the course leads naturally to database access. Several pre-defined databases are being considered, and a small set of SQL commands will be presented. The students' previous experience with hash tables will be used as a basis for explaining the SQL commands. A danger in this part of the course is to attempt to do too much. Remember, database experience is not a prerequisite for this course. However, the hash-tables-to-simple-databases analogy along with a small collection of SQL commands is sufficient to set the stage for using databases as the back end to a website.
218 Great care must be taken in developing this material, including the selection of the right tools and a good process. At least two choices are available, Perl 5's DBI module and PHP's database interface. Both support SQL commands. Since I have experience with Perl 5's DBI module, I want to parallel that experience with PHP and construct several laboratory assignments around both Perl and PHP and use Perl's DBI interface one year and PHP's the following year and perform a formal assessment to determine the relative merits of each approach.
4
Curricular Impact
By offering the Web Development course in the junior year, we expect that a very large majority of students will take the Network Communication course and the Database course before taking the Senior Projects course. We plan to develop several assignments that that will build on the web course and lead to possible senior projects. The result will be an opportunity to give students piece-meal assignments that could span up to three semesters. Another course that has been impacted by the web course has been the Programming Languages course. The extensive use made of hash tables and tokenizing using Perl's GREP-like regular expression capabilities has forced the instructor in the Programming Languages course to rethink several assignments. As a result, that course now covers a richer collection of languages, including the scripting language Tel. 5
Conclusions
Too often when I tell people that I teach a course in Web Programming for majors I encounter skepticism about offering such a course to majors. Usually it is given in the context of a statement like, "You teach a course in HTML!?" Needless to say, this is not a course in HTML. Web programming offers a unique opportunity to present multi-platform, multi-program language software development. However, the future of web technology lies not in HTML, it lies in the delivery of virtual web pages, pages constructed on demand to meet the needs of the client. That construction involves selecting information from a database and delivering the desired results in a useful format. This paper describes one approach to teaching web programming as a junior level course that does not have a database prerequisite, DEWDROP. To compress the course materials so that database web development may be taught the course makes extensive use of reusable software components packages using the object features in the various programming languages. Another alternative would be to teach the web course as a senior level course and having the database course as a prerequisite. We considered that possibility, but
219 it did not appear as attractive as the approach we are taking because it did not allow for the opportunity to have projects that could run as long as three semesters. In any case, the web course clearly demonstrates the power of two features that need more development, the use of a regular expression capability and the use of hash tables. Both give students a unique experience demonstrating the importance of having the right tools for the job. Finally, if you are teaching databases, the USDA Nutrient Database for Standard Reference, Release 13, http://www.nal.usda.gov/Jhic/foodcomp/Data/, is an example of a well constructed database with well designed tables. It is a real, non-contrived database that is ready for your use. Try it out. 6
Acknowledgements
I'd like to thank Yaodong Bi, Paul Jackowitz, Bob McCloskey, and Richard Plishka for their advice and suggestions as the Web Development course evolved, and as it continues to evolve. References 1.
2. 3. 4. 5. 6.
7. 8. 9. 10. 11. 12. 13.
Borja, Marianne, and John Beidler, "The Personal Nutrition Assistant Project", Proceeedings of the American Dietetics Association Conference, Denver, CO. October 17-20, 2000. Beidler, John, and Marianne Borja, "The PNA Project", Proceedings of the CCSCNE-01. Middlebury, Vt. April 2001. Goodman, Danny and Brendan Eich, The Javascript Bible (4th Edition). Hungry Minds, Inc. April 2001. Guelich, Scott, et al, CGI Programming. O'Reilly & Associates. July 1997. Hamilton, Jacqueline D., CGI Programming 101. CGI101 .com. February 2000. Heinle, Nick, and David Siegel, Designing With JavaScript: Creating Dynamic Web Pages (Web Review Studio Series). O'Reilly & Associates. September 1997. Kabir, Mohammed J., Apache Server Bible. Hungry Minds, Inc. July 1998. Kingsley-Hughes, Adrian and Kathie Kingsley-Hughes, Javascript 1.5 by Example. Que. January 11, 2001. Laurie, Ben, Peter Laurie, and Robert Denn, Apache : The Definitive Guide. O'Reilly & Associates. February 1999. Lea, Chris, et al. Beginning PHP4. Wrox Press Inc. October 2000. Medinets, David. Perl 5 by Example. Que. October 1996. Musciano, Chuck and Bill Kennedy, HTML & XHTML : The Definitive Guide. O'Reilly & Associates. August 2000. Ray, Erik T., Learning XML. O'Reilly & Associates. February 2001.
220
14. Schwartz, Randal L., et. al. Learning Perl (2nd Edition). O'Reilly & Associates. July 1997. 15. Thomson, Laura. PHP and MySQL Web Development. Sams. March 2001. 16. Wall, Larry, et.al. Programming Perl (3rd Edition). O'Reilly & Associates. July 2000.
221 B O O L E A N FUNCTION SIMPLIFICATION ON A PALM-BASED ENVIRONMENT
LEDION BITINCKA AND GEORGE ANTONIOU Department of Computer Science, Montclair State University, Upper Montclair, New Jersey 07043, USA E-mail:
[email protected],
[email protected], In this paper the problem of minimizing Boolean expressions is studied and an optimal implementation is provided. The algorithm follows the Karnaugh map looping approach. For the implementation C++ coding was used on the CodeWarrior for Palm Operating System environment. In order to make the overall implementation efficient, the object oriented approach was used. Two examples are presented to illustrate the efficiency of the proposed algorithm.
1
Introduction
It is well known that the Karnaugh-map (K-map) technique is an elegant teaching resource for academics and a systematic and powerful tool for a digital designer in minimizing low order Boolean functions. Why is the minimization of the Boolean expression needed? By simplifying the logic function we can reduce the original number of digital components (gates) required to implement digital circuits. Therefore, by reducing the number of gates, the chip size and the cost will be reduced and the computing speed will be increased. The K-map technique was proposed by M. Karnaugh [1]. Later Quine and McCluskey reported tabular algorithmic techniques for the optimal Boolean function minimization [2,3]. Almost all techniques have been embedded into many computer aided design packages and in all the logic design university textbooks [4]~[11]. K-map is a graphical representation of a truth table using Gray code order. It is suitable for elimination by grouping redundant terms in a Boolean expression. By optimizing the algorithm it is possible to simplify entirely a given Boolean expression. Unfortunately almost all the techniques along with the Espresso technique [12] do not always guaranty optimal solutions. In this paper a personal digital assistant (PDA) -based implementation is proposed for simplifying four-variable Boolean functions, using the K-map looping technique. The implementation is found to have excellent results.
222
The proposed PDA application is a useful tool for students and professors in the fields of computer science, electrical and computer engineering. It provides a fast and portable way to check and solve problems in digital logic, discrete mathematics and computer architecture courses. Also the proposed algorithm can be a valuable utility for the computer chip design industry due to the fact that it can be expanded to cover Boolean functions with more than four variables. 2
Algorithm
The proposed algorithm is based on the looping of redundant terms. Therefore in order to take a closer look on how to loop two, four or eight 1 's to get the smaller possible number of groups in a K-map table setting, consider the following simple example (lower case letter represent the complement value eg. a means complement of A): F = abed + aBcd + ABcd + ABcD + AbcD + AbCD
ab aB AB Ab
cd 1 1 1 0
cD 0 0 1 1
CD 0 0 0 1
Cd 0 0 0 0
Analyzing the above K-map table, the following looping observation can be made for each 1 present in the Table. • • • • • •
Cell abed - has one possibility to be paired, with aBcd aBcd - has two possibilities to be paired, with abed and ABcd ABcd - has two possibilities to be paired, with aBcd and ABcD ABcD - has two possibilities to be paired, with ABcd and AbcD AbcD - has two possibilities to be paired, with ABcD and AbCD AbCD - has one possibility to be paired, with AbcD
It is obvious that there are two cells that have one possibility to be paired, namely abed and AbCD, so they get the highest priority. These two boxes get paired the first, abed gets paired with aBcd and AbCD gets paired with AbcD. After these pairings the pairing possibilities of ABcd and ABcB are decremented by one, so leaving both of them
223
with one possibility to be paired. They get paired together finishing this way the optimization of the Boolean function resulting in three pairs. The observation reveals the presence of a consistency or rule that lies beneath this logic. Extending the described idea the following algorithm is derived for the optimal looping of l's in a K-map table. Step-1: Find and loop a possible octet. Step-2: Find and loop cells that have one possibility to pair. Step-3: Find and loop cells that have one possibility to quad. Step-3a: Repeat Step-2 for new cells with one possibility to get paired. Step-3b: Repeat Step-3 for new cells with one possibility to get quaded Step-4: Find and loop cells that have two possibilities to get quaded without sharing. Step-4a: If Step-4 fails because of sharing, choose one quad out of two, with less sharing. Step-4b: Repeat Step-4 until no quads found. Step-5: Find and loop cells that have two possibilities to get quaded with sharing. Step-6: Find and loop cell that have two possibilities to be paired without sharing Step-7: Find and loop cell that have two possibilities to be paired with sharing Step-8: Repeat Step-2. Step-9: If there are cells that have a value of one and are not quaded or paired, Then the cells a) Can't be paired or quaded, b) Have more than 2 possibilities to get paired or quaded. Step-9a: If a) is valid then do not consider this cell in Step-7. Step-9b: If b) is valid then change the possibilities of one of these cells to 2 and go to Step-3 to repeat the procedure. Step-9c: Repeat Step-7 until no cells that qualify for this step are found. It is noted that the pairing and quading possibilities of a cell are reduced by one when a pair or quad is looped and this cell can be paired or quaded with any of the cells of the pair or quad. 2.1 Design The program was developed using the CodeWarrior For Palm Os 7.0, which supports C, C++ and Java. The implementation of the program was done in C++ using its Object Oriented features. The program is divided into two major classes: a parent class (Kmap), and a child class (KmapElement). Each of these classes represent a logical division of the K-map table. The Kmap object controls everything related to the K-map table as a
224
whole, such as initializing and simplifying. In order to apply these functions the Kmap object creates 16 smaller objects representing each box. Each smaller object (KmapElement) learns its own properties and can only perform a function that includes the objects itself. Breaking the program down in this way is advantageous because the amount of complete, detailed, organized and correct information about the K- map is maximized. The parent object holds 16 children of the class KmapElement and administers the way the simplification methods are called. The child class KmapElement represents one element of the Kmap. This object has all the properties, such as: pairing and quading possibilities, the value of the box and the status of this box. These objects can learn about other objects of this class through their parent because they have a reference of the parent. 2.2 Program Flow As soon as an input is presented a Kmap object is created. As a result 16 children of class KmapElement are created and initialized. During the initialization phase each KmapElement gathers data about itself and its possibilities to be paired, quaded or octeted. The instance variables of this object are updated as soon as a pair, quad or octet is formed. After initialization, the Kmap object defines the way that the simplification is going to take place according to the presented algorithm. The actual pairing, quading, octeting and updating of the instance variables is done by the functions of the KmapElement class. The order in which these functions are executed is determined by the Kmap class because it knows the algorithm. The simplification happens only once, which means that there are no trials or secondary simplifications. All the functions in the KmapElement have options of choosing sharing and priority in any combination of the two. Each of the functions is executed only on objects that meet the requirements. In the case where the function completes its main task, it updates the instance variables of the neighboring cells that need to know the occurred looping. 3
Examples
Two salient examples, simple yet illustrative of the theoretical concepts presented in this work, follow below:
225 3.1 Example 1 Consider the following Boolean Expression: F = abed + aBcd + aBcD + aBCD + ABcD + ABCD + AbCD + AbCd
(1)
The following K-map table is generated.
ab aB AB Ab
cd 1 1 0 0
cD 0 1 1 0
CD 0 1 1 1
Cd 0 0 0 1
For each one on the table the following data can be collected: • • • • • • • •
abed aBcd aBcD aBCD ABcD ABCD AbCD AbCd
has one possibility to be paired has two possibilities to be paired has three possibilities to be paired, and one to quad has two possibilities to be paired and one to quad has two possibilities to be paired and one to quad has three possibilities to be paired and one to quad has two possibilities to be paired has one possibility to be paired
Following the presented algorithm yields, 1. 2.
3.
4.
There is no octets in the K-map table. abed and AbCd are paired with aBcD and ABCD respectively and the latter's pair possibilities are decremented by one. abed, AbCd, aBcD and ABCD are marked as done. The aBcD is looped as a quad. It is quaded with, ABcD, aBCD and ABCD. All these cells are marked as done and their quad possibility is decremented by one. No further cells of value of one that are not marked as done are left so all the cells have been included into pairs and quads. Therefore F = acd + AbC + BD
(2)
226 The above-simplified Boolean expression is the optimal solution for the given Boolean expression (1), having three terms. 3.2
Example 2
Consider the following Boolean expression: F = abcD + aBcD + aBCD + aBCd + ABcd + ABcD + ABCD + AbCD
(3)
Using a Palm PDA the following boxes are selected according to each term of (3).
Four VorioMes
cd cD CD Cd
abDEfnn aBDEfEfEf flB SfEf EfD (Simplify] flbDDEfn
.. In this case a quad is possible to be looped but according to the algorithm any quad of any type will not be looped before all the 1 's that have one possibility to be paired are looped. Therefore, • •
abcD has one possibility to be paired aBcD has three possibilities to be paired and one possibility to be quaded.
227
aBCD aBCd ABed ABcD ABCD AbCD
has three possibilities to be paired and one possibility to be quaded has one possibility to be paired. 1ms one possibility to be paired. has three possibilities to be paired and one possibility to be quaded. has three possibilities to be paired and one possibility to be quaded has one possibility to be paired.
According to the algorithm the following looping combinations can be obtained: ® abcD • aBCd • AbCD • ABcd
is paired with aBcD since abcD has one possibility to be paired is paired with aBCD since aBCd has one possibility to be paired is paired with ABCD since AbCD has one possibility to be paired is paired with ABcD since ABcd has one possibility to be paired F = acD + aBC + ACD +Abc
(4)
Using a Palm PDA aud pressing the "simplify" button the above derived result (4) is displayed in the following Palm screen.
228
The simplified Boolean expression (4) is the optimal solution for the given Boolean expression (3). 4 Conclusion In this paper an algorithm was presented to minimize a Boolean expression on a PDA. For the implementation C++ coding was used on the CodeWarrior for Palm environment. The .pre file, which is executable on a Palm PDA, is 54K and is available for download at: http://csam.monrclair.edu/~antoniou/bfs References 1. Karnaugh M., The map method for synthesis of combinatorial logic circuits, Trans. AIEE, Communications and Electronics, Vol. 72, pp. 593-598, (1953). 2. Quine W.V., The problem of simplifying truth tables, Am. Math. Monthly, Vol. 59, No. 8, pp. 521-531,(1952). 3. McCluskey E.J., Minimization of Boolean functions, Bell System Tech. Journal, Vol. 35, No. 5, pp. 1417-1444, (1956). 4. Gajski D. D., Principles of digital design, (Prentice-Hall, 1997). 5. Wakerly J.F., Digital design, Prentice-Hall, New York, 2000. 6. Hill F. J. and Peterson G.R., Computer aided logical design with emphasis on VLSI, )Wiley and Sons, New York, 1993). 7. Katz R.H., Contemporary logic design, (Benjamin/Cummings Publ, Redwood City, CA, 1994). 8. Mano M. and. Kime C. R, Logic computer design fundamentala, (Prentice Hall, New York, 2000). 9. Brown S and Z. Vranesic, Fundamentals of digital logic with VHDL, (McGrawHill, New York, 2000). 10. Hayes, J.P., Digital logic design, (Addison Wesley Publ., New York, 1993). 11. Chirlian P.M., Digital Circuits with microprocessor applications, (Matrix Publishers, Oregon, 1982) 12. Brayton, R.K., G.D. Hachetel, C.T. McMullen, and A.L. Sangiovanni- Vincentelli, Logic minimization algorithms for VLSI synthesis, (Kluwer Publ., Boston, 1984).
229
INTERNET-BASED BOOLEAN FUNCTION MINIMIZATION USING A MODIFIED QUINE-MCCLUSKEY METHOD SEBASTIAN P. TOMASZEWSKI, ILGAZ U. CELIK AND GEORGE E. ANTONIOU Image Processing and Systems Laboratory, Department of Computer Science, Montclair State University, Upper Montclair NJ 07043, USA E-mail:
[email protected],
[email protected] In this paper a four variable Boolean minimization algorithm is considered and implemented as an applet in JAVA. The application can be accessed on line since it is posted on the World Wide Web at the URL http://www.csam.montclair.edu/~antoniou/bs. After extensive testing, the performance of the algorithm is found to be excellent.
1
Introduction
The modified Quine-McCluskey (M Q-M) method is a very simple and systematic technique for minimizing Boolean functions. Why do we want to minimize a Boolean expression? By simplifying the logic function we can reduce the original number of digital components (gates) required to implement digital circuits. Therefore by reducing the number of gates, the chip size and the cost will be reduced and the speed will be increased. Logic minimization uses a variety of techniques to obtain the simplest gate-level implementation of a logic function. Initially Karnaugh proposed a technique for simplifying Boolean expressions using an elegant visual technique, which is actually a modified truth table intended to allow minimal SOP and POS expressions to be obtained [1]. The Karnaugh or K-Map based technique breaks down beyond six variables. Quine and McCluskey proposed an algorithmic-based technique for simplifying Boolean logic functions [2,3]. The Quine-McCluskey (Q-M) method is a computer-based technique for simplification and has mainly two advantages over the K-Map method. Firstly it is systematic for producing a minimal function that is less dependent on visual patterns. Secondly it is a viable scheme for handling a large number of variables. A number of methods have been developed that can generate optimal solutions directly at the expense of additional computation time. Another algorithm was reported by Petrick [4], This algorithm uses an algebraic approach to generate all possible covers of a function. A popular tool for simplifying Boolean expressions is the Espresso, but it is not guaranteed to find the best two-level expression [6]. In this paper an Internet based implementation is proposed for simplifying two to four-variable Boolean functions, using a Modified Quine-McCluskey (M Q-M) method. The M Q-M technique is implemented as an applet in Java, and can be accessed on line since it is posted on the World Wide Web. Due to the algorithmic
230
nature of the technique the proposed method and its implementation easily can be expanded to cover more than four variables. The main difference between the proposed algorithm and Q-M method starts when Q-M method groups the elements according to the number of one's in each element, but in the proposed algorithm grouping is not required. In the following steps the M Q-M follow Q-M up to the first step of the prime implicant table, which is identifying the essential prime implicants. For the next step Q-M uses several different techniques to eliminate the implicants efficiently. The M Q-M method simulates the elimination process of minterms and finally when the most efficient combination is reached it is taken out from the table. In the following section the algorithm is presented. 2
Algorithm
The M Q-M algorithm is presented using the following step-by-step approach. I. Input: 1.1 Enter the input of the Boolean expression either into the K-map, Truth Table, or as a Boolean expression. 1.2 Obtain the binary representation of each term from the inputted data. II. Calculations: 2.1 Compare each of the terms among themselves in order to find the terms that are logically adjacent. The following rules have to be followed when combining the terms: a. Combine the two terms only if they differ by only one bit. b. Once there are two terms that differ by one bit, create the new term with the same exact bits or characters, except replace the bit that is different in both of those terms to "-" symbol. c. Once done creating the new term mark both the old terms, indicating that both of the terms are combined. 2.2 Swap all of the combined terms (new terms) and terms that weren't combined at all. 2.3 Repeat steps 2.1 and 2.2 until it is impossible to combine the terms. III. Table: 3.1 Make sure that there is only one term alike. That is get rid of a term if it is a duplicate of another term in the content. 3.2 Create a prime implicant chart. 3.3 Identify the essential prime implicants and consider them as the first terms, which will make up the result. After each implicant is put into the result term area, the implicant chart should be updated.
3.4 If there are any more minterms left over, proceed as the following: a. Look into the prime implicant chart for the implicants, which have the exact same minterms and eliminate the one that is less efficient. b. Try selecting out one of the terms and see if the term will cancel out all of the implicants or not. c. If it cancels out all of the implicants, put the term back into the result term area. d. If it doesn't cancel out all of the implicants repeat step b, with the higher combination of the terms to be taken out. IV. Display: Display the values out of the result term area. In the following section a step-by-step example is given illustrating the proposed technique. 3
Example
Simplify the following Boolean function F = abed + abcD + aBcd + AbCd Applying the algorithm we have, I. Input: 1.1 Input the expression in either way as shown in Fig 1. 1.2 In order to obtain the binary representation of the terms, you will have to know that, lower case letters such as "a"," b", "c", and " M ( 2 w * ) (sin(-Ma;*), s i n ( ( - M + l ) w * ) , . . . , 0 , . . . , sin(Ma;*)) T ,
where DM(ij) = s i n ( M + l/2)a>/sin(o;/2) denotes the well known Dirichlet kernel and u* is an appropriately chosen frequency (the coefBcients appearing in front of these vectors normalize their length to one). It thus follows that, if Ul ~ C(ul,M) for an appropriately chosen UJ1'M frequency, that is, if ulk ~ cos{k(jjl'M) up to a normalizing constant, the frequency response component Hlk of Hk can be approximated by
243
2cos(fca/' M )e- ifc '"
__,, .
^ '
lM
iju
j=-M
l , JMf)e ,„-to P « ( " - ^ ' M ) + ^ = cos(fca/' 2M + 1 +
(" + <J-M)}
DM(2UJ1>M)
and a similar formula holds when we have instead Ul ^ S(ul'M). Given the behavior of the Dirichlet kernel, \Hlk\2 acts as narrow band filter, letting only pass those frequencies near ±u>l,M. This behavior extends to that of the full eigenfilter frequency response H%(UJ), which in practice verifies that I'Hfc^)!2 — 1 near ±ul'M, 1 < I < L, while being close to zero away from them. In other words, \H^ I2 shows a near 0-1 response, and can thus be assumed to be essentially concentrated in a frequency range of measure ^v\H^{u})\2duj. This integral can be shown to be equal to 2ir^2i(ulk)2. Therefore, the measure of the region of [—n, w] outside the "support" of H% can be taken to be 27r(l — J2\ ( u l) 2 )- These ideas suggest the following noise variance estimates
a%(M,L,k)
=
* f |PXH|(1 - | ^ M | 2 ) ^ , 2 2*(1-Ei=i«) )-'-*
(6)
These a2sr{M, L, k) actually overshoot the true noise variance, for we have the following. Proposition 3 The estimate a%(M,L,k) can be written as
^
(MLk)-
'Z-'ZLMO2 1
_a,
4-Ef^K)2
- Ej=i«)2
i - Ei K)2
Notice that for fixed M, these a2^ estimates depend again on L and k while, in turn, we want to use them to obtain the optimal L, k. To avoid this circularity and because of the overshooting observed, in our next section's illustration we will select first an M dependent estimate a%(M) as a%(M) =
mina2N(M,L',k'), k',L'
which will be the value actually closer to zt + at, where A — (at) is independent white noise of a certain variance a\ and its power spectrum is p(w) = 0^/(1 — 2(f>cosuj + (j>2). Since this spectrum has a minimum value of cr\/(l + )2 at ui = n, additive noise with a variance a% below this minimum cannot be removed by the above procedures. In fact for such a noise, we should expect Xlz > a2N for all I, and all the 2M + 1 eigenvalues of Y™ should be taken in the filter. Since a\ = £ } i = 1 A'z(uj.)2 and 1 = ^ L i + 1 ( u i ) 2 ' ^en ei,(Z,Yk) — a2N and no filtering effect would take place. We will work here with an AR1 process with aA = 1 and 4> — 0.9. The smallest removable noise variance is thus about 5.3 % of the clear signal variance a\ = (T\/(\ — <j)2) ~ 5.26. Figure 1 has been derived adding to the base AR1 series gaussian white noise with variance 20% of the clean signal's one. This gives a SNR value of 5, or about 6.95 Db. The figure shows for M values between 1 and 20 the evolution of the corresponding estimates for the optimal value e(M) of the error E[\Z - Yk\2} (dotted line) and its estimate e(M). It also shows (as the top line) the successive noise estimates a ^ ( M ) . Since any of them actually overshoots the true noise variance, a new value of a%(M) has been retained only if it was smaller than the previous one; hence the decreasing values observed in the figure. The straight line shows actual noise variance a2N of about 1.10. Table 1 shows for noise levels going from 10 to 70% of the signal's variance the optimal and estimated L and k values. Their M values have been obtained as those giving a first sharp minimum of
245
e(M) = min^fc e/,(Z, Yk). Taking for instance figure 1, it suggests an optimal filtering width of 7 = 2 x 3 + 1, corresponding to M = 3. The 20 % line in table 1 suggests an optimal L of 3, while its estimation by the above procedures is 2. In other words, the optimal filter (i.e., the one derived from the theoretical eigenvalues and eigenvectors and the true noise variance) should use the 3 first eigenvectors while our sample based procedures suggest 2 eigenvectors. On the other hand, the optimal and estimated outputs have a common value of 2, which corresponds to a one step delay. The noise reduction achieved by this filter is 2.5 Db, about 44% of the initial noise variance. 5
Conclusions
In this paper we have theoretically characterized the optimal architecture of a linear autoassociative filter for one dimensional time series, and shown how to chose the best filtering output component of such a network. Although simple, the resulting niters have good noise reduction capabilities, that will be further improved in future work along two distinct directions. The first one is concerned with non linear extensions of the autoassociative networks discussed here. The second will retain the present linear structure, but combining simpler, one hidden unit networks with a previous multiresolution decomposition of the signal to be filtered. References 1. Diamantaras, K.I., Kung, S.Y., Principal Component Neural Networks: Theory and Applications, John Wiley Publ., (1996). 2. Brockwell, P.J., Davis, R.A., Time Series: Theory and Methods, Springer Verlag, (1991). 3. Baldi, P., Hornik, K., Learning in Lineal Neural Networks: A Survey. IEEE Transactions in Neural Networks, 6, 837-858, (1995). 4. Haykin, S., Adaptive Filtering Theory, Prentice Hall, (1996). 5. Pisarenko, V.F., The retrieval of harmonics from a covariance function, Geophysics Journal Royal Astronomical Society, 33, 347-366, (1973). 6. Tufts, D.W., Kumaresan, R., Estimation of frequencies of multiple sinusoids, Proceedings of the IEEE, 70, 975-989, (1982)
246
0.8 -
0.6 -
Figure 1. Evolution for M between 1 and 20 of e(M) (continuous line) and e(M) (dotted line) for an A R l signal to which 20% noise has been added. The top curve shows noise variance estimates, and the middle straight line true noise variance.
247 NEURAL NETWORK ARCHITECTURES: N E W STRATEGIES FOR REAL TIME PROBLEMS
A.
UGENA, F. DE ARRIAGA,
M. EL ALAMI
Universidad Politecnica de Madrid, Escuela T.S. de Ingenieros de Telecomunicacion Ciudad Universitaria s/n, 28040 Madrid E-mail: farriaga @mat. upm, es
There are a few rules to design neural networks most of them coming from experience. In the case of functional-link neural networks it is even worst because they are not well known in spite of their advantages which make them suitable for real time problems. To void the intuition-inspired design some strategies related to very well known mathematical techniques are proposed. They have been used for the solution of a real time problem: speech recognition.
The obtained results, from which only a sample has been included, show drastic reductions in the iteration number to reduce the error under a certain bound and an increase of the learning rate.
1
Introduction
Artificial neural networks (ANN) which can aid the decision process by learning from experience, are a suitable procedure to solve the function approximation problem in many well known applications. But several others, such as image processing, speech recognition and control on real time, demand efficient and rapid function approximation even in cases where the analytic expression of the function is unknown, although some function values could be known. But even when we decide to use AAN, some further decisions have to be made concerning the neural network type and the strategy of use or the specific network model. As far as the neural network type is concerned, if we concentrate on supervised learning, the multi-layer perceptron has been widely used in the literature in problems which do not have critical restrictions on time. In many real-time applications the multi-layer perceptron solutions are not appropriate due to the low learning rate and the big number of input-output pairs needed for training. In order to get rid of those drawbacks we have introduced functional links among the nodes of the neural network according to Pao [1]. The functional-link technique allows the incorporation of a set of functions {fo> fi. ••» fn } to each node under the name of functional expansion. That way when the node k is activated producing the output Ok, we also get
248 { fo(Ok), fl(Ok),.., fnCOk) }
as additional node outputs. The set of functions, if they are linearly independent, has the mission of increasing the output space dimension, producing the faster obtainment of the pattern separation hyperplanes. The set of chosen functions can be applied to the node output, as we described on the previous paragraph, and/or to the node input. The difference matters in the case of the input (first layer) or output (last layer). As we will show, the advantages of the different functional expansions will be decisive to choose the appropriate network model in connections to real time applications. As far the functional link method is concerned, it has to be emphasized that according to Sobajic [3] it is always possible to solve supervised learning problems with AAN without hidden layers by means of this method. 2
Theoretical background
It can be shown [4] that for continuous and piecewise continuous functions, functional link neural networks are universal approximators, that is to say : any piecewise continuous function can be approximated with error less than a chosen bound, by means of a functional link neural network without hidden layers in any real interval. 3
Main Strategies for Using Functional-Link Neural Networks
Among the strategies we have set up for using functional-link neural networks in real-time problems we would like to mention those related to known mathematical techniques [2]: 3.1 Lagrange's Neural Network This model follows Lagrange's philosophy of the interpolating polynomial or the elementary polynomials. Let fj = Cj (X - Xi )
( X - Xj.j ) ( X - X i + 1 )
be the set of elementary polynomials, such that f i (x i ) = l,f i (x j ) = O i f i ^ j Lagrange's interpolating polynomial will be fn* = Zp(Xi)fi (x)
( X - Xn )
249 where p(i) are the known values of the unknown function, and x;, i= l,..,n are chosen points of the independent variable. The set of elementary polynomials plus the constant function f0 = 1, will be chosen as the functional expansion applied to the input layer nodes. There will be no hidden layer and only one single node in the output layer. In consequence, the full set of increased inputs will be: { x b x2, x3,...,xn, f)(x), f2(x),
, fn(x) }
The net output will be expressed by O = F (Sxi*Wj + 0 ) where F is the activation function, Wj are the weights or network coefficients, x; are the real inputs and 9 is the threshold. If the weights related to X; are chosen equal to zero and F is the identity function, we get Lagrange's polynomial and the weights, after the net training, will coincide with the polynomial coefficients. 3.2 Other strategies: Taylor's, Newton, Mc.Laurin's, Fourier's,.., Neural Network Following a similar approach we can device many other strategies. In the case of the Taylor's Neural Model and supposing that the specific point for the development is 0, we will use the following set of functions: fO = 1; fl = (x-0); f2 = (x-0)2/2;
; fn = (x-0)"/ n i
The net can be trained according to the explained procedure. With this method we get not only the function approximation but also the derivatives at a certain point, because the final network weights are the derivatives at the point defined by the first pattern. Therefore, if the results can be expressed as: P(x) = f(0) + f (0) (x-0) + f'(0) (x-0)2/2 + then
f(0) = wO; f (0) = wl;
+ f* (0) (x-0)7nl ; I01 (0) = wn
being wO, wl,..wn the weights associated to fO, fl,..fn. Similarly for the remainder models. 4. Phoneme recognition Data for these phoneme recognition experiments were obtained from 100 continuos voice utterances ( ordinary conversation ) of different speakers, digitised at the rate
250 of 16 Khz. Because of that, two sources of noise were introduced with the phonemes: the consonant joined to the vowel, and the influence of adjacent phonemes. The patterns were extracted from the spoken sentences, parameters were obtained with the Matlab format and a total of 350 patterns for each vowel was available for the experiments. First of all we have considered sine and cosine expansions (Fourier's model) with the following options: a) sin (TIX ), cos (nx ); 24 expansions b) sin (7tx ), cos ( roc), sin (2rcx ), cos (2rcx ); 48 expansions c) sin ( nx ), cos ( JCX ), sin (2roc), cos (2nx ), sin ( 3rcx ), cos ( 3icx );72expansions d) up to 120 expansions. The results are as follows: recognition rate: (a) 85.1, (b) 88.7; (c) 89.9; (d)91.2 error: (a) 10'2; (b) 105; (c) 10"6 ; (d) 10"8 As the second possibility we have used a finite set of the Taylor expansion. In our particular problem we have used the following expansions: a) (xi - x) and (xi - x) related to the first 12 coefficients; 24 expansions b) (xi - x) and (xi - x)2 related to the 25 coefficients; 50 expansions c) (xi - x) and (xi - x)2 related to the 25 coefficients, and (xi - x)3 related to the first 12 coefficients; 62 expansions d) using terms up to order fourth with a total of 74 expansions; in this case the network cannot recognise. The results are the following: rate of recognition: (a) 90.6; (b) 91.2 ; (c)92.2 error: (a) 10; (b) 1; (c) 10"' The third possibility we have contemplated has been the Mc.Laurin's development with the following options: a) x2 and x3 of the first 12 coefficients; 24 expansions b) x2, x3 and x4 of the first 12 coefficients; 36 expansions c) x2, x3, x4 and x5 of the first 12 coefficients; 48 expansions d) x2 and x3 of the first 25 coefficients, x3 and x4 of the first 12 coefficients; 74 expansions. The rate of recognition reaches 93.7, the highest value so far obtained, corresponding to option d). Fig. 1 and Table lshow the variation of error with training and the rate of recognition for Newton's model; Fig. 2 and 2.1 for Lagrange's model. Table 3 gives the comparison among different models and, finally Table 4 gives details of the rate of recognition for the multilayer perception. 5 Related work and comparison Waibel [8] uses feed-forward neural networks for the approximation of functions. Sadaoki Furui [7] deals with the problem of the speaker recognition which is
FUNCTIONAL-LINK AND SPEECH
0
200
400
600
800
1000 1200 Epocas
1400 1600
1800 2000
Figure. 1
a e i 0
u
a 94 2 1,5 0,5 2
e 2,5 87.5 3,5 4,5 2
i 0,5 2 96.5 1 0 Tablel
Error ds la Red
104
s 10' ^10°
*w__ n
lio* 110 J a
iir*
\ m BOO
Figure 2
1000 1200 1400 Epocas
S 0.925 E 3. 0.92
u 0,5 1,5 0 3 95
0
1,5 0.5 2 91.5 4,5
1600
1600 2000
f*^*-^**\
/ r—. ~***~^S
NX
K
Ampliaciories
\ \
/ .
252
Enhanc. Error Rate% epoch Operati.
a e i o u
a 90 1 1 5.5 2.5
Trig. 120 0.02 91.2 2000 13.15x10 s
e 0 95,5 2,5 1,5 0,5
Newton 75 5.5 93 2000 9.52xl0 8
i 0 4,5 93,5 0,5 1,5
Lagrange 84 4.82 92.52 2000 8.36x10 s
0
3,5 2 3 85 6,5
u 1 1,5 4 7 86,5
different from ours; he also uses text-independent recognition methods obtaining lower rate of recognition. D. Charlet and D. Jouvet [6] have also studied the speaker recognition problem; they have used a text-dependent speaker verification system and the best results they have obtained were with a genetic algorithm; their error levels are higher than those we have obtained. 6 Conclusions From the results so far obtained it can be stated that functional-link neural networks are most suitable for a sort of problems needing the reduction of the training period, the reduction of the error level or of the computing time for solution. Among those problems the phoneme recognition is one which appears adequate for that technique. The results obtained with polynomial expansions, such as Fourier, Taylor and Mc.Laurin developments show important improvements in relationship to those got with the multilayer perceptron, specially in the value of the rate of recognition and error levels. References 1. Pao, Y., Adaptive Pattern Recognition and Neural Networks. Addison-Wesley, 1989. 2. Amillo, J. , Arriaga, F., Andlisis Matemdtico con Aplicaciones a la Computacion McGraw-Hill, 1987. 3. Sobajic, D., Neural Nets for Control of Power Systems. Ph.D. Thesis. Computer Science Dept. Case Western Reserve University, Cleveland, OH., 1988. 4. Ugena ,A. Arquitectura de Redes Neuronales con Ligadura Funcional. Ph.D. Thesis. Departamento de Matematica Aplicada, Universidad Politecnica de Madrid, 1997.
253
6. Charlet, D. And Jouvet, D. Optimizing Feature set for Speaker Verification. Pattern Recognition Letters 18. Elsevier Science B.V. 1997. 7. Furui, S. Recent Advances in Speaker Recognition. Pattern Recognition Letters 18. Elsevier Science B.V. 1997. 8. Waibel, A. . Neural Networks Approaches for Speech Recognition. Ed. Prentice-Hall. 1991.
255 E V O L V I N G S C O R I N G F U N C T I O N S W H I C H SATISFY PREDETERMINED USER CONSTRAINTS
MICHAEL L. GARGANO AND YING HE School of Computer Science and Information Systems, Pace University, New York, NY 10038, USA E-mail:
[email protected],
[email protected] WILLIAM EDELSON Department of Computer Science, Long Island University,, Brooklyn, NY. 11201, USA E-mail: edelson@hornet. liunet. edu A scoring function assigns non-negative values (i.e., scores) which help evaluate various items, situations, or people. For example, a professor would like to assign point values to each problem on an exam that was recently administered to the students in his/her class. The professor demands a minimum point value (which may be different for each problem) while the remaining points can arbitrarily be apportioned and added to each problem. After grading each problem for each student on a scale from 0.00 to 1.00, the professor would like the remaining points apportioned so that a specified grade distribution is attained. We propose a GA (i.e., genetic algorithmic) solution to this problem (and other related problems, e.g., loan scoring and personnel hiring).
1
Introduction
A scoring function assigns non-negative values (i.e., scores) which help evaluate various items, situations, or people. For example, a professor would like to assign point values to each problem on an exam that was recently administered to the students in class. The professor demands a minimum point value (which may be different for each problem) while the remaining points can arbitrarily be apportioned and added to each problem. After grading each problem for each student on a scale from 0.00 to 1.00, the professor would like the remaining points apportioned so that a specified grade distribution is attained. We propose a GA (i.e., genetic algorithmic) [1-8] solution to this problem (and other related problems, e.g., loan scoring and personnel hiring). 2
The Genetic Algorithm Paradigm
The genetic algorithm paradigm is an adaptive method based on Darwinian natural selection. It applies the operations of selection (based on survival of the fittest), reproduction using crossover (i.e., mating), and mutation to the current generation of a population of potential solutions to generate a new, typically more fit population in
256 the next generation. This process is repeated over a number of generations until an optimal or near optimal solution is obtained. A genetic algorithm offers the following advantages: a) b) c) d) e) f) g) h) 3
it will usually obtain an optimal (or near optimal) solution(s) it can obtain a satisficing solution(s) it has polynomial computational complexity it easily handles constraints it easily incorporates heuristics it is easy to understand it is easy to implement it is robust Mathematical Model
After administering an exam to a class of students, a professor would like to assign points to each question on the test so that a predefined grade distribution is obtained. The professor would like a method that is academically sound and curves the exams fairly and objectively. If the exam consists of n questions q1; q2, ..., q;,..., qn_i, qn , we would like to assign to each question a nonnegative value or score s(qi) > 0 so that the sum of the scores is l(i.e., 100%). The professor would like to assign lower bounds for the scores of each question b; > 0 so that s(qs) > b; for 0 < i < n. This will guarantee that each question is assigned a minimum point value which is in the professor's control. In general, 1 > S bj > 0 so that the remaining B = 1 - S bj points must be distributed amongst the n questions assigning some proportion p{ (0 < i < n) of this excess to each question. Therefore, score s(qj) = bj + Pi • B = bj + p. • (1 - £ bj) (with 0 < i < n). The professor wants this excess to be distributed so that a predefined grade distribution D is obtained for the class (for example, a normal distribution Nor(|J., a2) estimated by a frequency histogram with mean (average) u, and variance a 2 .) To accomplish this, the professor first grades each question on every students exam and assigns what proportion Tjj of each question the student got correct. Then student Sj would get a grade of Gj = Z T;j • s(qi) and we would like Gj - D.
257 4
Encodings
Each member of the population is an apportion array ( p b p 2 , ...,Pi, ..., p„-i, pn) of length n where pi + p 2 + . . . pj + ... + p„_i + p„ = 1 = £ Pi and with pi > 0 (for 0 < i < n). It is quite easy to generate an initial population of random members for generation 0 using a normalization method. First, simply generate an (xi, x2, ..., Xj, ..., xn_!, xn) consisting of n independent identically uniformly distributed random variables x; ~ uniform [0,1]. Then by calculating the normalized array (XJ/EXJ, x 2 /Ex;, ..., Xj/E x,, ..., x n _i/£xj, xn / E x;) we create a random apportion array (of course we must observe the caveat that Ex, > 0 ) .
5
Mating (Crossover) and Mutating
Selection of parents for mating involves choosing one member of the population by a weighted roulette wheel method favoring more fit members and the other member randomly. The reproduction process is a simple crossover operation whereby the two selected parent members swap randomly chosen positions to create new offspring members. The crossover operation produces an encoding for offspring members having element values which satisfy the apportion constraints. Two parents PI = ( p b p 2 , ...,pj,..., pn_!, pn) and P2 =(JI,, i^, ..., 7ii,..., 7Cn_i, 7t„) can be mated to produce two offspring children CI and C2 where C I = (pj/s, T^/S, . . . , p / s , ..., TC-j/s, p n /s) With pi + 7C2 + ...+ Pi + ...+ 7Cn_i + p n = S
and C2 = (7ij/t, p 2 /t,.... 7t/t,..., p„-i/t, V 0 with 7ti + p 2 +...+ 7tj+...+ p„.i + 7tn = t Similarly, a random population member can be mutated. Mutation is carried out by randomly choosing a member of the population and then randomly changing the value(s) of its encoding (genotype) at randomly chosen positions subject to the apportion constraints. For example, M = (pi/s, rt2/s, ...,p/s,..., 7C„_i/s, pn/s) with p] + %i + •••+ Pi + •••+ ftn-i + Pn = s where positions 2,..., n-1 have been randomly mutated on the cloned member P = ( p b p 2 , ...,pi,..., pn_i, p„).
6
Fitness
After we have found the phenotype (si, s2, .. .,Si,..., s„.i, sn) for a population member P = (Pi. P2, ---,Pi,..., P„-i, P„) by applying the s(qi) = bs + ps • B,
258
we can find all the grades Gj for that scoring function and we can then find a frequency histogram H (i.e., a distribution). As a simplefitnessmeasure we can sum the absolute values of the differences in each of the pre-selected frequency intervals I to obtain: fitness of population member P = | #Dr - #1^ |. The smaller the fitness value the better the approximation to the predefined distribution. 7
Genetic Algorithm Methodology
We are implementing a genetic algorithm (GA) for the scoring problem using feasible encoding schemes for apportion arrays (described earlier). Our GAs create and evolve an encoded population of potential solutions (i.e., apportion arrays) so as to facilitate the creation of new feasible members by standard mating and mutation operations. (A feasible search space contains only members that satisfy the problem constraints for an apportion array. When feasibility is not guaranteed, numerous methods for maintaining a feasible search space have been addressed [7], but most are elaborate, complex, and inefficient. They include the use of problem-dependent genetic operators and specialized data structures, repairing or penalizing infeasible solutions, and the use of heuristics.) By making use of a problem-specific encoding and normalization, we insure a. feasible search space during the classical operations of crossover and mutation and, in addition, eliminate the need to screen during the generation of the initial population. We adapted many of the standard GA techniques found in [1, 8] to these specific problems. A brief description of mese techniques follows. The initial population of encoded potential solutions (genotype) is randomly generated. Each encoded population member is mapped to its equivalent scoring function (phenotype). Selection of parents for mating involves randomly choosing one very fit member of the population while the other member is chosen randomly. The reproductive process is a simple crossover operation whereby two randomly selected parents are cut into three sections at some randomly chosen positions and then have the middle parts of their encodings swapped and normalized to create two offspring (children). In our application the crossover operation produces an encoding for the offspring that have element values that always satisfy proportion constraints. Mutation is performed by randomly choosing a member of the population, cloning it, and then changing values in its encoding at randomly chosen positions and normalizing so as to satisfy the proportion constraints. A grim reaper mechanism replaces low performing members in the population with newly created more fit offspring and/or mutants. The GA is terminated when either no improvement in the best fitness value is observed for a number of generations, a certain number of generations have been examined, and/or a satisficing solution is attained (i.e., the predefined distribution is not precisely the same, but is satisfactorily close).
259
We now state a generic form of the genetic algorithm paradigm: 1) randomly initialize a population of encoded potential solutions (members) 2) map each new member (genotype) to its scoring function (phenotype) 3) calculate the fitness of any member which has not yet been evaluated (that is, how close the distribution is to the target distribution) 4) sort the all members of the population by fitness 5) select one parent for mating from by using the roulette wheel method and the other randomly 6) generate offspring using simple crossover 7) mutate randomly selected members of the population 8) replace the lower half of the current generation with new offspring and mutated members 9) if a termination criteria is met then return the best member(s) else go to 2
8
Related Problems
Two related problems are loan scoring by lending institutions and personnel selection by human resource functions. In the loan scoring problem, there is a record containing facts concerning the person who is requesting the loan and points are assigned based on an expert loan specialist's subjective judgement. A genetic algorithmic approach could lower the lender's risk, provide better investment returns, and be less biased by providing loans to a more diverse population. In the personnel selection problem, we can give an assessment instrument to measure what differentiates successful employees from non-successful employees. We can then assign the point values constrained by the fact we wish to give higher grades to the successful employees and lower grades to the non-successful ones. In this way we can create instruments which can better predict successful potential candidates from less successful candidates for a position in the future.
9
Conclusion
This research is a nice application of GAs to a real world problem. In the future we would like to get more data and perform more experiments on the related problems discussed in section 8.
260 10 Acknowledgement We wish to thank Pace University's School of Computer Science and Information Systems (SCSIS) and Long Island University's Computer Science Department for partially supporting this research. References 1. 2. 3.
4.
5.
6.
7. 8. 9.
Davis, L., Handbook of Genetic Algorithms, Van Nostrand Reinhold, (1991). Dewdney.A.K., The Armchair Universe - An Exploration of Computer Worlds, W. H. Freeman & Co., (1988). Edelson, W. and M. L. Gargano, Minimal Edge-Ordered Spanning Trees Solved By a Genetic Algorithm with Feasible Search Space, Congressus Numerantium 135, (1998) pp. 37-45. Gargano, M.L. and W. Edelson, A Genetic Algorithm Approach to Solving the Archaeology Sedation Problem, Congressus Numerantium 119,(1996) pp. 1 9 3 - 2 0 3 . Gargano, M.L. and W. Edelson, A Fibonacci Survival Indicator for Efficient Calculation of Fitness in Genetic Paradigms, Congressus Numerantium 136, (1997) pp. 7 - 1 8 . Gargano, M.L. and Rajpal, N., Using Genetic Algorithm Optimization to Evolve Popular Modern Abstract Art, Proceedings of the Long Island Conference on Artificial Intelligence and Computer Graphics, Old Westbury, N.Y., (1994), pp. 38-52. Michalewicz, Z., Heuristics for Evolutionary Computational Techniques, Journal of Heuristics, vol. 1, no. 2, (1996) pp. 596-597. Goldberg, D.E., Genetic Algorithms in Search, Optimization, and Machine Learning, Addison Wesley, (1989). Rosen, K.H., Discrete Mathematics and Its Applications, Fourth Edition, Random House (1998).
261 GENETIC ALGORITHMS FOR MININING MULTIPLE-LEVEL ASSOCIATION RULES NORHANA BT. ABDUL RAHMAN ARABY AND Y.P.SINGH Faculty of Information Technology, Multimedia University, Cyberjaya, Selangor, 63100, Malaysia E-mail:
[email protected] This paper presents genetic algorithms formulation and generalization for mining multiple-level association rules from large transaction databases, with each transaction consisting of a set of items and a taxonomy (is-a hierarchy) on the items. The necessity for mining such rales are of great interest to many researchers [l]-[3]. Some criteria are investigated for pruning redundant rules. Example rales found in database transactions are presented.
1.
Introduction
Genetic algorithms have been used in concept learning in machine learning areas and mining association rules [4]. The proposed study investigates genetic algorithms for mining association rules and multiple-level rules for large database applications. The algorithm randomly generates an initial population of itemsets. Those itemsets' fitness will be rated by its frequency of occurrence as subset of given transactions. Itemsets that fit the user specified support and confidence threshold will survive. They will then replicate according to their fitness, mutate randomly, and crossover by exchanging parts of their subsets (substructures). The algorithm again evaluates the new itemsets for their fitness, and the process repeats. During each generation, the genetic algorithm improves the itemsets (individuals) in its current population. The genetic algorithm stops where there is little change in itemsets fitness or after some fixed number of iterations. The algorithm will finally return a set of frequent itemsets (hidden transactions) from different generations. The multiple-level association rule mining requires the following: 1. 2.
A set of transactions and taxonomy (is-a hierarchy) on items in the transactions. Efficient methods for multiple-level rule mining.
The genetic algorithm is proposed here for mining multiple-level association rules considering extended transactions, i.e. transactions having items combined with taxonomies. We consider the database consisting of a set of transactions and items' taxonomies as shown in Figure 1. Finding associations between items at any level of the taxonomy is known as mining multiple-level association rules.
262
Phase-1 : Find Extended transactions Given a set of transactions and the taxonomy, add all ancestors of each item in a transaction to the transaction as given below: Items in Transactions + taxonomies (items' ancestors) = Extended Transactions Phase-2 : Run genetic algorithm designed for finding frequent itemsets [4] and later find the multiple-level association rules.
Transactions w + taxonomies
2.
Frequent
Extended Pre process
transaction
Genetic Algorithm
itemsets
Algorithm
Multiplelevel association rules
Genetic Algorithms
The currently most important and widely known representatives of evolutionary computing techniques are: genetic algorithms (GAs), evolution strategies (ESs), and evolutionary programming (EP). These techniques are applied in problem solving by applying evolutionary mechanism. In the following we present a brief review of genetic algorithms, the evolutionary computing techniques and their use for machine learning problems. The basic evolutionary algorithm can be represented as given below: f~0; initialize P(t) ; (generalize initial population) evaluate P(t); While not terminate (P(t)) do Select: P(t):=jrom_P(t); Recombine: P'(t):=r(P(t); Mutate: P-(t):=m(PW; P"(t); Evaluate: t:= t+1; Od Return (best individual in P(t));
263
In this algorithm, P(t) denotes a population of individuals at generation t. Q(t) is a special set of individuals that has to be considered for selection and P" is offspring individuals. At the present time, genetic algorithms are considered to be among the most successful machine-learning techniques and are also used as general-purpose search techniques for solving complex problems. Based upon genetic and evolutionary principles, GAs work by repeatedly modifying a population of individuals through the application of selection, crossover, and mutation operators. The choice of an representation of individual (encoding) for a particular problem is a major factor determining a GAs success. GAs have been used for optimization as well as to classification and prediction problems with different kinds of encoding . A GAs fitness function measures the quality of a particular solution. The traditional GA begins with a population of n randomly generated individuals (binary string of fixed length I), where each individual encodes a solution to the task at hand. The GA proceeds for several number of generations until the fitness of the individuals generated is satisfied. During each generation, the GA improves the individuals in its current population by performing selection, followed by crossover and mutation. Selection is the population improvement or "survival of the fittest" operator. According to Darwin's evolution theory, the best individuals should survive and create new offspring for the next generation. Basically, selection process duplicates structures with higher fitness and deletes structures with lower fitness. There few methods which can be used for selection, such as proportional selection, tournament selection, roulette wheel selection, Boltzman selection, rank selection, steady state selection and some others. Crossover, when combined with selection, results in good components of good individuals yielding better individuals. The offspring are the results of cutting and splicing the parent individuals at various crossover points. Mutation creates new individuals that are similar to current individuals. With a small, prespecified probability (pm [0.005, 0.01] or pm = Ml where / is the length of the string representing individual), mutation randomly alters each component of each individual. The main issues in applying GAs to data mining tasks are selecting an appropriate representation and an adequate evaluation function.
264
3.
Simulation Result
Illustrative Example Given a sample taxonomy saying that Skimmed Milk is-a Milk is-a Drink and Bread is-a Food. We can infer a rule saying that "people who buy milk tends to buy bread". This rule may hold even though rules saying that "people who buy skimmed milk tends to buy bread" and "people who buy drink tends to buy bread" do not hold. Drink (1) MfflT(l) Skimmed Milk(l)
Food (2)
Mineral Water (2)
Pasteurized Milk (2)
Fruit (1)
Apple^T)
Bread (2)
Orlhge (2)
Figure 1: Example of taxonomy Let I = {Skimmed Milk, Pasteurized Milk, Mineral Water, Apple, Orange, Bread} - set of items Let T = {{Skimmed-Milk, Bread},{Mineral Water, Apple},{Pasteurized Milk, Bread}, {Pasteurized Milk, Bread}} = {Ti, T2, T3,T4} - sets of transactions Let • = {Milk, Drink, Fruit, Food} - items' ancestors Item, I (Leaf at the taxonomy tree) Skimmed Milk Pasteurized Milk Mineral Water Apple Orange Bread Table 1: Encoded items
Hierarchyinfo code 111 112 12 211 212 22
Normal individual bits 100000 010000 001000 000100 000010 000001
265 Ancestors, • Milk Drink Fruit Food
Hierarchy-info code 11 1 21 1
Table 2: Encoded ancestors The hierarchy-info code represents the position (level) of an item or ancestor in the hierarchy. For example, the item 'Pasteurized Milk' is encoded as '112' in which the first digit T represents 'drink' at level 1, the second digit ' 1 ' for 'milk' at level '2' and the third digit '2' represents the type 'Pasteurized Milk' at level 3. Hence, the more digit an item is encoded as, the deeper level it is in the hierarchy and vice versa. Transactions, T Ti T2 T3 T4
Extended Transactions {111,0,0,0,0,22} {0,0,12,211,0,0} {0,112,0,0,0,22} {0,112,0,0,0,22}
Normal transactions {1,0,0,0,0,1} {0,0,1,1,0,0} {0,1,0,0,0,1} {0,1,0,0,0,1}
Table 3: Transactions In an extended transaction, the bit position reflects the item involved in the transaction while the bit content reflects its hierarchy. A.
Finding Frequent Sets using Genetic Algorithms
GA Parameters Population size, pop size =10 Individual item size, ind_size = 6 Probability of crossover, pc = 0.6 Probability of mutation, pm = 0.01 An initial population is randomly generated where each individual consists of six '0' or ' 1' bits. These bits only represent the items at the lowest level (the leaves of a taxonomy tree) and don't include the ancestors.
266
All the individuals in the initial population is first evaluated to determine their fitness value before they are selected for further process of crossover and mutation. Each individual is compared with the normal transactions of itemsets in the database. The more frequent the individual occurs in the normal transactions, the higher its fitness value is. Roulette-wheel selection method is chosen to select the best individuals in the population, based on their fitness value. The fitter the individual is, the more chances they are to be selected. Crossover and mutation are two basic operators of GA and they may effect the performance of GA. Those individuals are randomly chosen and switched at a randomly chosen crossing point, between 1 to indsize. In this experiment, single point crossover is done where only one crossover point is selected. Other crossover methods for binary encoding are two point crossover, uniform crossover and arithmetic crossover. Mutation is then performed at a very low mutation probability. Bits are inverted randomly. The population is then evaluated again. These individuals are then passed to the next generation for selection, crossover, mutation and evaluation again. The process repeats for several generations, each time improving the fitness of the population. Finally, the GA process will generate a final population, consisting of the most frequent individuals or itemsets. B.
Construction of Multiple-Level Association Rules
From all the frequent sets which were generated by GA, we only choose the single frequent sets. They are then expanded and converted into hierarchy-info code. For example, the single frequent itemsets generated are {000001} and {010000}. Item
Normal individual
Ft
Bread
000001
Pasteurized Milk
010000
0,0,0,0,0,22 0,0,0,0,0,2* 0,112,0,0,0,0 0,11*,0,0,0,0 0,1**,0,0,0,0
Fitness/ Support 3 4 2 3 4
These single hierarchy-info encoded individuals, Fi are paired and evaluated. However, note that an item is not paired with its own ancestors in order to avoid uninteresting rules, such as A->ancestor(A) or ancestor(A) -»A. As for evaluation, each paired hierarchy-info encoded individuals, F2 is compared with the extended transactions. The number of occurrences of F2 in the extended transactions determines the fitness or support value.
267
F2 0,112,0,0,0,22 0,11*,0,0,0,22 0,1**,0,0,0,22 0,112,0,0,0,2* 0,11*,0,0,0,2* 0,1**,0,0,0,2*
Fitness/Support 2 3 3 2 3 4
The bit digits which are substituted with '*' are not taken into consideration when making comparison with the extended transactions. For example: 0,1**,0,0,0,2* is scanned through the extended transactions. If 1** and 2* (regardless of the bit position) is found in the extended transactions, then thefitness/supportvalue is incremented. From Fi and F2, we'll derive the multiple-level association rules. Let confidence threshold, y=0.8 Pasteurized Milk, Bread: PM-»B ifsupport(PMuB) = 2 > 0.8 (0,112,0,0,0,22) support(PM) 2 B->PM if aupporuXMvfi) = 2 < 0.8 support(B) 3 Milk, Bread: Milk-»Bread ifsupport(MuB) = 3 > 0.8 (0,11*,0,0,0,22) support(M) 3 Bread->Milk ifsupportfMuB) =JL> 0.8 support(B) 3 Drink, Bread: Drink-»Bread ifsupportfDuB) = 3 < 0.8 (0,1**,0,0,0,22) support(D) 4 Bread-»Drink if support(DuB) = 3 > 0.8 support(B) 3 Pasteurized Milk, Food: PM-»Food if supportfPMuF^ = 2 > 0.8 (0,112,0,0,0,2*) support(PM) 2 Food->PM ifsupportfPMuFI = 2 < 0.8 support(F) 4 Milk, Food: Milk-»Food if supportfMuF) = 3 > 0.8 (0,11*,0,0,0,2*) support(M) 3
268
Food-»Milk ifsupportfMuF) = 3 < 0.8 support(F) 4 Drink, Food: (0,1**,0,0,0,2*)
Drink—»Food if surjp_ort(DuF} = 4 > 0.8 support(D) 4 Food->Drink if supportfDuF) = 4 >0.8 support(F) 4
From the above computation, the multiple-level association rules derived are: Pasteurized Milk—>Bread, Milk—»Bread, Bread—>Milk, Bread—>Drink Pasteurized Milk—>Food, Milk—>Food, Drink—>Food, Food—>Drink The result shows that an item from any level can be associated with another item (from any level tob); regardless of whether its ancestors or descendants are also associated or not. For example, Milk—»Bread implies although Drink—»Bread doesn't imply. 4.
Conclusion
In this study, we have extended the scope of mining association rules from single level to multiple levels, using Genetic Algorithms. The major issue which was taken into account is the conversion of a given transactions and taxonomies into the extended transactions so that the bits encoded can reflect both the items and their hierarchy in the taxonomy. Mining multiple-level association rules may results in discovery of refined knowledge from a given transactions of data. References 1. Agrawal, A., T. Imielinski, and A. Swami, Mining Association Rules Between Sets of Items in Large Databases, Proc. 1993 ACM SIGMOD Int'l Conf. Management of Data, Washington, D.C., May (1993), pp. 207-216. 2. Agrawal Rakesh and Ramakrishnan Srikant, Mining Generalized Association Rules, Proc. 21st VLDB Conference, Zurich, Switzerland, (1995). 3. Han, J. and Y. Fu, Mining Multiple-Level Association Rules in Large Databases, technical report, (University of Missouri-Rolla, 1997). 4. Singh, Y.P. and Norhana Abdul Rahman Araby, Evolutionary Approach to Data Mining, Proc. IEEE ICIT, Goa, India, (2000).
269 A CLUSTERING ALGORITHM FOR SELECTING STARTING CENTERS FOR ITERATIVE CLUSTERING
ANGEL GUTIERREZ Department of Computer Science, Montclair State University, Upper Montclair, NJ 07043, USA E-mail:
[email protected] ALFREDO
SOMOLINOS
Department of Mathematics and Computer Information Science, Mercy College, 555 Broadway, Dobbs Ferry, NY 10522, USA E-mail:
[email protected] Iterative clustering algorithms are strongly dependent on the number and location of the starting centers. We present some examples of this dependence for two classes of algorithms: fuzzy clustering and competitive learning. In order to select an optimal location for the starting centers, we propose a non-iterative clustering algorithm which creates groups of points based on the average distance of each point to its closest neighbor, and merges the groups so obtained into clusters. The radius of attraction of each point is defined as the average of the distances from every point to its closest point plus a factor times the standard deviation. Adjusting this factor we can vary the number of groups generated. We merge those groups that are close in the sense of the Haussdorf distance. The algorithm allows declaring the minimum number of points that can constitute a group. The user can then drop those points that do no constitute a group, merge them with the closest group if they fall inside the radius of attraction of that group, or allow them to stand as an independent group.
1
Introduction
Clustering algorithms are used in a variety of fields, data mining, statistical data analysis, pattern recognition, for example, using radial basis functions neural networks and, in general, in preprocessing data for classification algorithms. Most of the algorithms used in clustering are iterative. Starting with a partition, in classes or, equivalently, with the centers of the classes, the algorithm moves the centers, or redefines the classes, for a fixed number of iterations or until a fitness function reaches a certain level. The efficiency of these iterating algorithms depends strongly on the selection of the initial groups. The main problem lies in guessing the correct number of groups. But the location of the starting centers can have a huge impact on the algorithm performance.
270
In our experience, not all the groups in a data set have the same number of points, and the average distance between the points in one group is not the same as the average distance in another group of the same set. Thus we have created two-dimensional data samples with these properties. Some of the methods we use to illustrate clustering problems work better with uniformly distributed groups of the same number of elements. So we have also used uniform samples. In Figure 1 we present the sample we will use in most of the examples. It contains 4 groups of 6, 12, 18 and 24 points, generated with random amplitudes of 0.2, 0.3, 0.4, and 0.5. Clearly, a person would discern four groups. But there are points that could be considered a subgroup, and this could have importance in the classification of signals for medical diagnosis. A distinct subgroup could be the telltale feature that would help diagnose a clinical condition. Or it could be simply an outlier. We want to be able to choose what to do with such subgroups. Drop them, merge them with the larger one, or give them independent meaning.
c:,\
Figure 1. Sample data. Four groups with different number of points and different point spread.
*
# •
\
.**** & * •
*
—
* • » •
*
•
t - *****
Figure 2. Effect of choosing three centers and six centers using fuzzy C-means
•
271
2 2.1
Importance of the initial center selection. Some examples Choosing the wrong number of centers
We first use fuzzy C-means [2]. Starting with three centers, one group is completely unaccounted for. On the other hand, starting with more centers provides us with two subgroups, clearly differentiated in the left group; not so clearly in the bottom one (Fig. 2). ^mmmmmi mmmmmr
a£fn
era
*9"i
£*
*^l|»* * *
***.*
. 4£? .»«*' Figure 3. Competitive learning. Four and five centers.
In Figure 3 we show the results of competitive learning, [4]. The initial centers are attracted by the points in the groups. We present the trace of the motion of centers. The starting centers location was selected to obtain a reasonable result. At the left, four centers start at the four corners and then move to the groups. At the right, we have an extra center at the bottom, which moves straight up. 2.2
Influence of the starting location
We use Frequency Sensitive Competitive Learning [1]. We start with six centers at the top of the screen. Three of them are captured by the top group and one ends up between two groups. We show the final position of the centers at the right (Fig. 4). Rival Penalized Competitive Learning [3] expels the centers that are not needed. It works very well when all groups have the same number of points. Two are sent out of the figure. Four are placed at the center of each cluster. But, if we choose to place all six centers at the top left corner, things can go very wrong, Five centers are sent out of the picture and only one center occupies the middle of the screen (Fig. 5).
272
}"^:: s •. .'.-JIJU.-.".•;• >: ":;:.:'.: iV.'": 'g. *!!•: :'..• ": : lg centers
• •*.*..
^
\>
°\
Figure S. Rival Penalized Competitive Learning. Six ini.iui coitcra.
•
c" «
« *g^ a *
Figure 6. Rival Penalized Competitive Learning. All centers start at top left corner.
273 It should be clear by now that choosing the number and locations of the starting centers is an important task and that it deserves the effort of preprocessing the data. 3
Description of the pre-selection deterministic algorithm
The algorithm works like the creation of clouds. Water particles cling to their closest neighbors to form droplets, and, then, the droplets bunch together to create the clouds. Thus, we first create grouplets by finding the closest neighbors of each point; then, we merge the grouplets into clusters. 3.1
Creating the grouplets •
•
3.2
Find the radius of attraction of the points: Create a matrix of the distances from each point to all the others. Sort the matrix, by rows. Find the average and standard deviation of the first non-zero column, the distances to the closest point. Define the radius of attraction as the average closest distance plus a factor times the standard deviation. Taking this factor small creates a lot of small grouplets. Making it big increases the radius of attraction and the grouplets are bigger. Start with any point. Find all other points inside its radius of attraction. Recursively find the points inside the radius of attraction of the points just added. Stop when there are no more points in the radius of attraction of all the points in the grouplet. Creating clusters by merging the grouplets
•
•
Find the radius of attraction of the grouplets. Using the Hausdorff distance find the average and standard deviation of the distances from each grouplet to its closest neighbor. Define the radius of attraction as the average of the closest distances plus a factor times the standard deviation. Taking this factor small we will merge few grouplets and the clusters will be just the grouplets. Taking the factor large we will have clusters made out of several grouplets Merging the grouplets: Find the number of points in the grouplets - if it a singleton or a doublet we may want to drop it. If the number of points is less than the minimum number of points, apply the chosen strategy, drop or merge. If the grouplet has more than the minimum number of points, find all the
274
grouplets inside its radius of attraction. They would form the cluster. Merge them together. 3.3
Example. Clustering the above sample
figure 7. Ten grouplets, two of them solitons, are merged into five clusters. By adjusting the radii of attraction we could create less grouplets and clusters.
4
Discussion
We have presented a non-iterative method for selecting starting centers for iterative clustering. The method is very flexible and avoids the problems related to choosing the wrong number of centers, or to placing them in the wrong starting location. References 1. Ahalt S.C., Krishnamurty A.K., Chen P. and Melton D.E., Competitive Learning Algorithms for Vector Quantization, Neural Networks 3 (1990) pp. 277-291 2. Jang J.R., Sun C. and Mizutani E., Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence (Prentice Hall, New Jersey, 1997) 3. Krzyzak A. and Xu L., Rival Penalized Competitive Learning for Clustering Analysis, RBF Net and Curve Detection. IEEE Transactions on Neural Networks 4 (1993) pp. 636-641. 4. Rummelhart D.E. and Zipser D., Feature Discovery by Competitive Learning, Cognitive Science 9 (1985) pp. 75-112.
275
DIMENSION REDUCTION IN DATAMINING H.M. HUBEY, I. SIGURA*, K. KANEKO*, P. ZHANG* Department of Computer Science, Montclair State University, Upper Montclair NJ 07043 E-mail:
[email protected] * Email:
[email protected] A complete, scalable, parallelizable, and unified method combining Boolean Algebra, fuzzy logic, modified Karnaugh maps, neural network type training and nonlinear transformation to create a mathematical system which can be thought of as a multiplicative (logical-AND) neural network that can be customized to recognize various types of data clustering. The method can thus be used for: (1) displaying high dimensional data, especially very large datasets; (2) recognizing patterns and clusters, with the level of approximation controllable by the user; (3) approximating the patterns in data to various degrees; (4) preliminary analysis for determining the number of outputs of the novel neural network shown in this manuscript; (5) creating an unsupervised learning network (of the multiplicative or AND kind) that can be used to specialize itself to clustering large amounts of highdimensional data, and finally; (6) reducing high dimensional data to basically three-dimensions for intuitive comprehension by wrapping the data on a torus [1], The method can easily be extended to include vector time series. The natural space for high dimensional data using the natural Hamming metric is a torus. The specifically constructed novel neural network can then be trained or fine-tuned using machine-learning procedures on the original data or the approximated/normalized data. Furthermore we can determine approximately the minimal dimensionality of the phenomena that the data represent.
1
Introduction
There are a set of related problems in the fields of datamining, knowledge discovery, and pattern recognition. We don't know how many neurons should be in the hidden layer or the output layer. Thus if we attempt to use ANNs for clustering as a preliminary method to finding patterns we must use heuristic methods to determine how many clusters the ANN should recognize (i.e. what is the rank/ dimension of the output vector). This is just another view of the problem in datamining of knowing how many patterns there are in the data and how we would go about discerning these patterns. There is a related problem in k-nearest-neighbors clustering in which we need an appropriate data structure to be able to efficiently find the neighbors of a given input vector. Indeed, before the k-neighbors method can be used to classify an input vector we need to be able to cluster the training input vectors and an ANN might have been used for this process. The problem of knowing how many patterns (categories or classes/clusters) there are is an overriding concern in datamining, and in unsupervised artificial neural network training. Typically the basis of all datamining is some kind of a clustering technique which may serve as a preprocessing, and data reduction technique which may be followed by other algorithms for rule extraction, so that the data can be interpreted for and comprehended by humans. Prediction and classification may be a goal of the process also. The major clustering methods can be categorized as fol-
276
lows [2]: (i) Partitioning Methods; (ii) Hierarchical Methods; (iii) Density-based Methods; (iv) Grid-based Methods; (v) Model-based Methods; 2
Boolean algebra, K-maps & Digital Logic
A Karnaugh map (K-map) is an 2D array of size at most 4 x 4 which represents a Boolean function. The arrangement of cell-addresses (nodes) is such that the numbering scheme follows the Gray code. An r-bit Gray code is an ordering of all r-bit numbers/strings so that consecutive numbers differ precisely one bit position. Thus a Gray code is a sequence of r-bit strings such that successive numbers are apart by distance one using the Hamming distance. The specifics of the K-map make it possible to perform Boolean algebraic simplifications and reductions graphically. For low dimensional spaces (i.e. n < 4), there is a natural distance (Hamming) metric defined on the K-map. It is reminiscent of the city block metric used in data mining procedures. The K-map is a 2 x 2 array where 1 ...u,
N
and u =
MJJ^-.-W/P/V,
men
^ or
an
y permutation n on
{1,2, ..., IgN} we can define an automorphism a with the desired property by [5] jjJAMilintiMMfr
Figure 4. Data Traces collected in our first group of simulation experiments with packet rate of background traffic (left), queue length (middle) and round trip delay (right). The figures in row 1, 2, 3,4 and 5 correspond to the data generated with shape parameter of Pareto distribution equal to 1.05, 1.3, 1.55, 1.8 and 2.0.
303
MODIFIED HIGH-EFFICIENCY CARRIER ESTIMATOR FOR OFDM COMMUNICATIONS WITH ANTENNA DIVERSITY UFUK TUKELI AND PATRICK J. HONAN Department of Electrical Engineering and Computer Engineering, Stevens Institute of Technology, Hoboken, NJ 07030 E-mail:
[email protected] Orthogonal frequency division multiplexing (OFDM) based wireless communication systems combined with coding and antenna diversity techniques operate at very low signal-to-noise ratio (SNR) levels. Receivers are generally coherent demodulators implemented around a fast Fourier transform (FFT), which is the efficient implementation of the Discrete Fourier Transform (DFT). Carrier synchronization is critical to the performance of an OFDM system. Tone or sub-carrier orthogonality is lost do tofrequencyoffset error. OFDM carrier frequency offset estimation and subsequent compensation can be performed from the received signal without periodic pilots or preambles. OFDM algebraic structure can be exploited in a blind fashion to estimate carrier offset. However, the performance degrades at low SNR. The algorithm here will allow highly accurate synchronization by exploiting maximum diversity gains to increase effective SNR without reference symbols, pilot carriers or excess cyclic prefix. Furthermore, diversity gains overcome lack of identifiability in the case of channel zeros on the DFT grid.
1
Introduction
Next generation wireless communication systems will handle broadband applications and OFDM coupled with antenna diversity has been proposed [1]. Carrier frequency synchronization is critical to the performance of an OFDM system. Tone or sub-carrier orthogonality is lost do to frequency offset error. This results in higher inter-channel-interference (ICI) levels thus lowering signal-tointerference-and-noise ratio (SINR). For OFDM, frequency offsets of as little as 1% begins to result in noticeable penalties in SINR [2]. These effects can be countered by correcting for frequency offset prior to the FFT. This requires the accurate estimation of the frequency offset. OFDM is the standard modulation scheme used in Europe for Digital Audio Broadcasting (DAB) and Digital Video Broadcasting (DVB) [9,10]. In addition, local area networks (LANs) such as IEEE 802.1 la are OFDM based. These systems are based on earlier developed synchronization methods using known preambles and/or periodic pilots. Pilot based carrier synchronization systems consume bandwidth and power and result in significant intra cell interference. These methods spend valuable bandwidth and power resources and require channel estimation. Since the performance of OFDM is severely degraded in the presence of carrier frequency offset, reliable channel estimation is difficult to perform before carrier frequency offset compensation. Blind synchronization that exploits the structure of
304
the signaling can be applied directly to the received signal without periodic pilots or preambles [3,4]. Next generation systems will benefit from extensive coding and diversity techniques able to operate at extremely low to negative SNRs. These techniques in particular multi-antenna diversity are quite effective in combating multi-path channel fading effects. Synchronization methods will not directly benefit from coding and channel estimation gains. These prospects make the task of synchronization that much more difficult. The algorithm presented here will allow highly accurate frequency offset estimation, even at low SNR, by exploiting maximum antenna diversity gain. This paper will present an algorithm for maximizing multi-antenna diversity gain for the purposes of improved blind frequency offset estimation. The paper will proceed by first formulating the algorithm around the high efficiency blind frequency offset estimator proposed in [3]. Then observations of the estimators improved performance, as modified by this algorithm, are discussed in terms of identifiability and increased effective SNR. Finally, numerical simulation results are presented and discussed. 2
Problem Formulation
Carrier offset estimation on a multi-path frequency selective fading channel at low SNR results in high variance. Antenna diversity is has been touted as one of the solutions to mitigate channel fading. The probability that all the signal components will fade is reduced when replicas of the same signal are received over independently fading channels [5]. Denote s(k)=[sj(k), s2(k),... sp(k)]T as the kth block of data to be transmitted. The transmitted signal is OFDM modulated by applying the inverse DFT to the data block s(k). Using matrix representation, the resulting N-point domain signal is given by: b={ql(k),S1(k)...gr(knT=VI*(fi,
(1)
where \Vp is a matrix of the NxN IDFT matrix W. In a practical OFDM system, some of the sub-carriers are not modulated in order to allow for transmit filtering. In other words, the number of sub-channels that carry the information is generally smaller than the size of the DFT block, i.e., P< N. because of the virtual carriers [2]. Without loss of generality, we assume carriers no. 1 to P are used for data transmission. For systems with antenna diversity, i.e. the receiver has m antennas the receiver input for the kth block consists of: yk=[y#;,y#;-y„^L
(2)
where y,{k) =WpH,-s(k), is the input to the ith antenna. H,= diagiHj (1), Hs (2),..., H,{Pj), where Ht (p) defines the channelfrequencyresponse at the pth sub-carrier. In
305
the presence of a carrier offset, e'*, the receiver inputs are modulated by E(<j>) = diag(l, e>*..... ei(N-1)lt') and becomes y,(k) =E(0)W,H,s(k) el^,)(N+Ng), where Ng is the length of the cyclic prefix. Since W / ^ E ^ W ^ I , the E(0) matrix destroys the orthogonality among the sub-channels and thus introduces ICI. To recover {s(k)}, the carrier offset, 0, needs to be estimated before performing the DFT. This paper presents an extension of the estimation method developed in [3] to take advantage of antenna diversity. This extension algorithm will compensate for deep fading of modulated carriers, and enable unique identification [4]. Frequency selective fading is to be expected for OFDM signals, which is used for broadband applications over multi-path frequency selective fading channels. The cost function developed in [3], minimizes the following cost function,
p{z)=X X < .z"' (z)y(*)y" (*)z(*)w™,
O)
where Z(z) = diag{\, z, z2,...,z"'1). The y(k) in (3) is equivalent to y/(k) as defined in (2), a single antenna case. An estimate of the covariance is performed as follows:
"y,W"T
•
y*y? =• \si(k)
••
ym(k)\ ym(k)H\
K=j i>*y? •
(4)
k=\
The estimate ROT is averaged over k=l,2..K sample blocks and used in the modified cost function as follows: P( Z ) = Xw;,Z-'(z)R,Z(z)w,
(5)
This form of the cost function is quite effective at taking advantage of multi-antenna diversity. The covariance calculation removes the phase dependency so that received signals are added constructively while preserving the algebraic structure due to the modulation matrix and carrier offset. Figure 1 depicts a multi-antenna receiver implementation of the proposed algorithm.
306
Figure 1. Multi-antenna receiver implementation. The algorithm is computationally efficient and a further improvement is achieved through an adaptive implementation [6]: Ryy(k)=aRyy(k-\)
+ (l-a)y(k)yH
].
(9)
This expression assumes the input signals are independently distributed. Rss is a constant multiplied by the identity matrix due to persistence of excitation. The matrix T^r" is a non-negative diagonal matrix given by: T J t = diagiA,]; V/e[l,/>]. (10) We'll show that a lesser stringent condition than assuming full rank of r ^ T " will suffice. Lemma: For a unique zero of P(z) it is necessary and sufficient that only two of the diagonal elements of T T" namely Ax and AP be non-zero, as expressed below in terms of the combined channel responses:
A, =£#,() W ) .
(i i)
i-i
Proof: The virtual carriers wp+, for V/e [1,N — P], consist of fej2""'*')""}""'', span the null-space of W p . The minimization P(z) seeks to find z such that w"+/ Z"'(z)E(0), a function of (2ic(P+i)/N + 0 - 0 ) ,
is in the left hand null-
308
space of the argument \V,r m r". Thus if TmF" is full rank and Q = (j), such that Z _1 (z)E(^)= I N , the arguments null-space is spanned by only the set of virtual carriers. If either A{ or A ? is equal to zero, which is an event of zero probability, P(z) is also minimized at = (p ± 2TC/N respectively, thus non-unique zero minima's. It should be understood that the channel zeros ^j2""1}_,, that fall on the FFT grid, other than at 1 or P, do not result in an ambiguity because (8) is not simultaneously minimized by contribution from (1:N-P> virtual carriers in (9), and the lemma follows. 1
1
1
. I
Figure 2(a). MSE vs SNR with channel zero at i=P.
10 fc .
.
.
.
.
.
.
.
.
.
.
.
.
Figure 2(b). MSE vs. SNR
The non-realizable (zero-probability) conditions proposed in the above are helpful to understand the effects do to added noise. At low SNR, channel zero's located even near sub-carriers result in estimator ambiguity (uniqueness) issues. As equation (8) shows, minimums near or below the noise level will result in ambiguity. Simulations discussed in the next section, resulting in Figure 3 (b), show this for an SNR of 15 dB which begins to cause an ambiguity for the m=2 case. The algorithm is able to mitigate this by effectively increasing SNR on all sub-carriers by exploiting maximum diversity gains.
309
rtTfftKln'aftBc) taqlflKtvttfaoc)
Figure 3(a). P(z) spectrum for multi-path and no-noise.
4
Figure 3(b). P(z) spectrum for multi-path and 15 dB SNR.
Numerical Results and Discussion
Computer simulations were run over 100 Monte-Carlo realizations of random FIR channels with five sample spaced taps with random uniformly distributed phase ~U(0,2 pi), normal distributed imaginary and real components ~N(0,1). For each Monte-Carlo run, K=5 symbols were used. The OFDM signal consisted of N=32 sub-carriers and P=20 data streams. Offset frequency used <j> =1.11 AD3 where A05= 27t/N is the channel spacing. The performance enhancements of the proposed algorithm are illustrated in Figure 2. The results shown in Figure 3 (a and b) respectively show the improved identifiability for multi-antenna cases m= 1,2,4 & 8, where the sample covariance obtained in (4) was used in the cost function (5). The performance enhancement in the presence of deep fading is most evident when comparing Figure 2(a) and 2(b), each includes multi-path but former has a channel zero at sub-carrier P. As expected, this has a severe impact on the performance of estimator with m=l, and to a lesser degree for the higher diversity configurations. For m=8 estimator shows little performance degradation and an approximately 9 dB relative improvement in SNR. Improved estimator identifiability is demonstrated by Figure 3 (a and b), which show the cost function, without noise, and corresponding to Figure 2(a) for an SNR of 15 dB. Evident in Figure 3(b) are the ambiguous minimums, which are beginning to become an issue for the m=2 estimator. As the SNR is further lowered, the m=4, and eventually m=8 estimator is impacted. But what's most impressive here, even at very low SNRs of minus 3-4 dB, for m=8 estimator meets the design target of
310
OFDM systems operating at much higher SNRs [8]. This combined with the proposed adaptive implementations, will allow high estimator resolution even at lower SNRs. The above simulation results demonstrate the utility of the proposed algorithm for the synchronization of OFDM wireless systems operating at extremely low SNR. 5
Conclusions
The modified high-efficiency carrier estimator for OFDM communications with antenna diversity proposed here will meet the requirements of the next generation wireless communication systems. The proposed by exploiting both the algebraic structure of OFDM and the gains inherent in multi-antenna diversity is able to attain efficiencies in terms of bandwidth, power, and computation beyond other proposed methods. References 1. Y. Li, N. Seshadri, and S. Ariyavisitakul, Channel Estimation for OFDM systems with transmitter diversity in mobile wireless channels. IEEE Journal on Selected Areas in Communications (1999) 17(3): 461^*71. 2. T. Pollet and M. Moeneclaey. Synchronizability of OFDM signals. In Proc. Globecom (1995) pp. 2054-2058. 3. H. Liu and U. Tureli, A high efficiency carrier estimator for OFDM communications. IEEE Communication Letters (1998) 2(4):104-106. 4. U. Tureli, D. Kivanc and H. Liu, Experimental and analytical studies on a highresolution OFDM carrier frequency offset estimator. IEEE Transactions on Vehicular Technology (2001) 50(2):629-643. 5. John. G Proakis, Digital Communications , 3"* edition, (McGraw-Hill, 1995) p. 777. 6. Simon Haykin, Adaptive Filter Theory , 3rd edition (Prentice-Hall, 1996) Chapter 8. 7. R.V. Nee and Ramjee Prasad, OFDM For Wireless Multimedia Communications , (Artech, 2000) Chapter 9. 8. T. Pollet, M. Van Blabel, and M. Moeneclaey, BER Sensitivity Of OFDM Systems To Carrier Frequency Offset And Wiener Phase Noise, IEEE Trans. Communications 43 (1995) pp.191-193. 9. European Telecommunications Standard, Radio Broadcast Systems; Digital Audio Broadcasting to mobile, portable, and fixed receivers, preETS 300 401, (1994) 10. U. Reimers, "DVB-T: The COFDM Based System For Terrestrial Television, Electron Commun., Eng. J. 9 (1995) pp. 28-30
311
A COMPARISON BETWEEN TWO ERROR DETECTION TECHNIQUES USING ARITHMETIC CODING BIN HE AND CONSTANTINE N. MANIKOPOULOS Department of Electrical and Computer Engineering New Jersey Institute of Technology Newark, NJ 07102 Email:
[email protected] [email protected] This paper compares the error detection capability of two joint source and channel coding approaches using arithmetic coding, i.e., the approach with redundancy in form of forbidden coding space and the approach with redundancy in form of periodically inserted markers. On the one hand the comparison shows two approaches basically have the same detection capability, on the other hand the forbidden symbol approach is more efficient in error correction while the marker symbol approach is simple and suitable for packet switching networks.
1
Introduction
In recent years, the interest of joint source and channel coding has considerably increased. In many of wireless communication systems and the Internet services, Shannon's separation theorem does not hold [1]. A joint design is needed for these systems where source coding and channel coding function dependency to maximize system performance. Moreover, the joint source and channel coding with variable length codes is receiving increasing attention because of the efficient utilization of limited channel resources, e.g., bandwidth, for variable length codes. Of the variable length codes in joint source and channel coding, arithmetic coding [2] is widely used. Boyd et al. [3] proposed a detecting approach which introduces redundancy by adjusting the coding space such that some parts are never used by encoder. If decoding process enters the forbidden region, an error must have occurred. Kozintsev et al. [4] analyzed the performance of this approach in communication systems by introducing "continuous" error detection. The redundancy versus error detection time was studied. Pettijohn et al. [5] extended this work in sequential decoding to provide error correction capability. Another idea of using arithmetic codes for error detecting was proposed by Elmasry [6], where the redundancy needed for error detection is introduced to the source data before compression in the form of periodically inserted markers. The decoder examines the reconstructed data for the existence of the inserted markers. An error is indicated if a marker does not appear in its proper location. Figure 1 shows the diagram of this idea.
312 Input
(T\ J
Xt>
Data
Block Size Counter
•—
Marker Generator
SoaK
?
1 0
3 2 1
Q
Reconstructed Data
Source
Figure 1. Diagram of the marker symbol approach
In next section of this paper, a comparison between above two detection approaches using arithmetic coding is discussed. Two approaches are referred to as forbidden symbol approach and marker symbol approach, respectively. The comparison is carried out in terms of redundancy and error propagation distance (i.e., error detecting time [4]), which mainly determine the performance of system based on the approach. The comparison shows while two approaches basically have the same error detection capability, they should be applied to different kind of systems. 2
Comparison of Redundancy and Error Propagation Distance
For forbidden symbol approach, the redundancy and error propagation distance are analyzed by Kozintsev et al. [4], where the forbidden symbol is assigned probability e (0 < e < 1). Following geometric distribution with random variable F l is modeled to represent the number of symbols it takes to detect an error after it occurs, i.e., error propagation distance, Pyl{k) = (1 - e)*- 1 e
k = 1,2,.. .,co,
(1)
and the probability that error propagates more than n symbols decreases with n t h order of (1 — e),
P1[Yl>n]
=
(l-e)n.
(2)
The redundancy is Ri = — log 2 (l — e)
bits per symbol.
(3)
For the marker symbol approach, three kinds of marker strategies were introduced by Elmasry [6]. Because of its small amount of redundancy, the previous marker strategy is discussed in this paper where a block of size m
313
source symbols is turned into a block of (m +1) symbols by repeating the m t h symbol at the (m + l ) t h location. The amount of redundancy is R2 =
~.
(4)
m
The probability density function (PDF) of error propagation distance is plotted in Figure 2. m = 10, 20, and 30 are used to show the PDF with different amount of redundancy.
IS 20 25 30 35 Position of the detected error (characters)
40
45
SO
Figure 2. Error propagation distance P D F of marker symbol approach
We can see the PDF remains almost constant in each marker region. But between these marker regions, PDF drops quickly. The probability that error is checked within I markers can be statistically determined by simulation. Here is a simple explanation. Assuming one symbol contains c bits, we have 2° symbols in the alphabet. Since even a single error will cause the decoding process losing synchronization and the decoded data being garbled, when comparing the marker and the previous symbol, the probability that they are the same roughly equals to the probability that two independent numbers selected from 1 to 2C are same, which is 2?y.2c = ^~°- Letting random variable Y2 represent number of markers error will propagate, we have the probability that error propagates more than I markers, i.e., the misdetection probability, P2[Y2 >l]=
(2~ c )' = 2-
lc
(5)
Now we compare the redundancy and error propagation distance between two approaches. If the redundancy of marker symbol approach is counted in
314
number of bits per symbol, we have R2 — — bits per symbol. For the same amount of redundancy, i.e., Ri = R2, we have -log2(l-e) = - > m
(6)
(1 - e) m = 2~ c .
(7)
or, This means the probability that error propagates more than m symbols in forbidden symbol approach is equal to the probability that error propagates more than 1 marker in marker symbol approach. Similarly for I markers, we have (1 — e) / m = 2~lc and it shows two approach have basically the same error detection capability. Figure 3 compares two approaches with same redundancy. The forbidden space e = 0.12 and marked block size m = 30 are selected. We see two approaches have different error propagation distance PDF, but for error that propagates beyond a marked block size, the detection probabilities are same (the areas of two curves in a marked block size are same). 0.1
— —
ma/kef «ymbol approach (m-30) forttddgn symbol approach (e-0.12) |
0.09 0.08 0.07 0.06 u. 0 0.05 O. 0.04 0.03 0.02 0.01 0 0
10
20 30 40 Position of the detected error
50
60
Figure 3. Comparison of error propagation distances of two approaches
However, with the forbidden symbol approach, the error propagation distance distribution is non-uniform. This makes the approach useful for error correction. The reason is that we can estimate the error location based on the geometrically distributed error propagation distance. While in marker symbol approach, the error location PDF within a marked block is approximately uniformly distributed. We can only guess the error may be in a marked block, but do not know the error position within the block.
315
Although the marker symbol approach is less efficient in error correction, it is simple and does not change the entropy code in encoder and decoder. The approach can be applied to existing systems without modification of encoder and decoder. Moreover, though forbidden symbol approach provides continuous error detection, in current packet switching networks there is no need for high frequency of error checking. By introducing several markers in a packet, the marker symbol approach is capable of detecting errors with less computation complexity. 3
Conclusion
This paper compares the error detection capability between forbidden symbol approach and marker symbol approach using arithmetic coding. The comparison shows two approach have basically the same error detection capability. With its geometric distribution of error propagation distance, the forbidden symbol approach is useful for error correction. The marker symbol approach is simple and does not change the source encoding and decoding design. Though forbidden symbol approach provides continuous error detection, its high frequency of error checking is generally not needed in packet switching networks. The marker symbol approach with less computation complexity may be a better choice in this case. References 1. S. Vembu, S. Verdii, and Y. Steinberg. The source-channel separation theorem revisited. IEEE Trans. Inform. Theory, 41(l):44-54, Jan. 1995. 2. G. G. Langdon, Jr. An introduction to arithmetic coding. IBM J. Res. Develop., 28(2):135-149, Mar. 1984. 3. C. Boyd, J. G. Cleary, S. A. Irvine, I. Rinsma-Melchert, and I. H. Witten. Integrating error detection into arithmetic coding. IEEE Trans. Commun., 45(l):l-3, Jan. 1997. 4. I. Kozintsev, J. Chou, and K. Ramchandran. Image transmission using arithmetic coding based continuous error detection. In Proceedings of the Data Compression Conference, pages 339-348, Snowbird, UT, Mar.-Apr. 1998. 5. B. D. Pettijohn, K. Sayood, and M. W. Hoffman. Joint source/channel coding using arithmetic codes. In Proceedings of the Data Compression Conference, pages 73-82, Snowbird, UT, Mar. 2000. 6. G. F. Elmasry. Joint lossless-source and channel coding using automatic repeat request. IEEE Trans. Commun., 47(7):953-955, July 1999.
317 A N OPTIMAL INVALIDATION M E T H O D FOR MOBILE DATABASES WEN-CHI HOU, HONGYAN ZHANG Department of Computer Science, Southern Illinois University at Carbondale, IL 62901, USA E-mail:
[email protected]. edu MENG SU1 Department of Computer Science, Venn State Erie, The Behrend College, Erie, PA 16509, USA E-mail:
[email protected] HONG WANG CoManage Corporation, 8500 Brooktree Rd, Wexford, PA 15090, USA E-mail: michellew @ comanage. net Mobile computing is characterized by frequent disconnection, narrow communication bandwidth, limited communication capability, etc. Caching can play a vital role in mobile computing by reducing the amount of data transferred. In order to reuse caches after short disconnections, invalidation reports are broadcasted to clients to help update/invalidate their caches. Detailed reports may not be desirable because they can be very long and consume large bandwidth. On the other hand, false invalidations may set in if detailed timing information of updates is not provided in the report. In this research, we aim to reduce the false invalidation rates of the reports. From our analysis, it is found that false invalidation rates are closely related to clients' reconnection patterns (i.e., the distribution of the time spans between disconnections and reconnections). By using Newton's method, we show how a report with a minimal false invalidation rate can be constructed for any given disconnection pattern.
1
Introduction
Mobility and portability of wireless .communication create an entirely new class of applications and new massive markets combining personal computing and consumer electronics. Information retrieval is probably one of the most important mobile applications. In a mobile computing environment, a set of database servers disseminates information via wireless channels to mobile clients. Clients are often disconnected due to some battery power saving measures [16], unpredictable failures, etc., and they also often relocate and connect to different database servers at different times. Due to the narrow bandwidth of wireless channels, clients should minimize communication to reduce contention for bandwidth. Caching of frequently accessed data at mobile clients has been shown to be a very useful and effective mechanism in handling these problems. Many caching algorithms have been proposed for conventional client-server architectures. However, due to the unique features of the mobile environment, such as narrow 1
Correspondent author.
318 bandwidth, frequent disconnections, weak communication capability (of clients), etc., conventional algorithms are not directly applicable to mobile computing. Research and development in cache management for the mobile computing environment has been discussed, for example, in [2, 3, 4, 6, 7, 10, 11, 16, etc]. In order to reuse the caches after frequent short disconnections, invalidation reports are broadcasted to clients to help update/invalidate their caches [3, 11] in mobile databases. Detailed reports can be long, consuming large bandwidth, and thus may not be desirable. On the other hand, cached items could be falsely invalidated (called false invalidations) if detailed timing information of updates is not provided in the report. In this paper, we discuss how to construct a report with a minimal false invalidation rate. We have found that false invalidation rates have to do with clients' reconnection patterns (i.e., the distribution of the time spans between disconnection and reconnection). By applying Newton's method [1] to the clients' reconnection pattern, a design of the report with a minimal false invalidation rate can be obtained. The rest of the paper is organized as follows. In section 2, we describe and review caching management model in the mobile computing architecture and. In section 3, we take clients' reconnection patterns into account in the design of invalidation reports. By using Newton's method, a design with the minimal false invalidation rate is obtained. Section 4 is the simulation results and the conclusions. 2
Cache Management in Mobile Computing
2.1 Cache Management Problems in Mobile Computing Environment Caching can reduce client-server interaction, lessening the network traffic and messageprocessing overhead for both the servers and clients. Various cache coherence schemes [5, 14, 15, etc.] have been developed for the conventional client-server architecture. Since mobile client hosts often disconnect to conserve battery power and are frequently on the move, it is very difficult for a server to keep track of the status and locations of the clients and the validity of cached data items. As a result, the Callback approach is not easily implemented in the mobile environment. On the other hand, due to the limited power of batteries, mobile clients generally have weak or little transmission capability. Moreover, the narrow bandwidth of the wireless network could be clogged up if a massive number of clients attempt to query the server to validate their cached data. As a result, both the Callback and Detection approaches employed in the traditional client/server architecture are not readily applicable to the mobile environment and new methods for maintaining cache consistency have to be designed. Updates are generally made by the server and broadcasted to its clients immediately. Thus, as long as a client stays connected, its cache will be current. Discarding entire caches after short and, moreover, frequent
319 disconnections could be wasteful, as many of the cached items may still be valid. Thus, research in cache consistency has aimed to reuse the caches after short disconnections. An approach of broadcasting invalidation messages to clients to help update their cached items has attracted a lot of attention [8, 9, 10, etc]. It is generally assumed that there is a dedicated channel for broadcasting invalidation messages, which is different from the channel for data broadcast. Based on the timing of the invalidation messages being broadcasted by the servers, cache invalidation methods can be either asynchronous or synchronous. In the synchronous approach, the server gathers updates for a period of time and broadcasts these updates with the time when they were updated in the report. Note that some latency could be introduced between the actual updates and the notification of the updates to the mobile clients. Once invalid items are found in the cache, the client has to submit an uplink request for updated values. The broadcast of the invalidation report divides the time into intervals. A mobile client after reconnection has to wait until the next invalidation report has arrived before answering a query. That is, a mobile client keeps a list of items queried during an interval and answers them after receiving the next report. 2.2
Broadcasting Timestamp (BT) Strategy
Broadcasting timestamp (BT) strategy [3] was developed based on the synchronous invalidation approach. The report is composed of a set of (ID, timestamp) pairs, in which ID specifies an item that has been updated and the timestamp indicates when a change was made to that item. The longer the update activities are recorded in a report, the larger the invalidation report is, which can lead to a longer latency in dissemination of reports. 2.3
Bit-Sequence (BS) Approach
In the above approach, updated items are indicated by IDs and their respective timestamps in the report. When the number of items updated is large, the size of an invalidation report can become very large too. In order to save the bandwidth of wireless channels, the bit-sequence (BS) approach is proposed [11]. The bit-sequence mapping aims to reduce the naming space of the items. Since our approach is based on the BS approach, we will elaborate a little more here on this approach. In the BS approach, each data item is mapped to one bit of an N-bit sequence, where N is the total number of data items in the database. That is, the n* bit in the sequence corresponds to the n"1 data item in the database. A value "1" in a bit indicates the corresponding data item has been changed; and "0" indicates otherwise. This technique reduces the naming space for N items from Nlog(N) bits as needed in BT
320 approach to N bits here. It is noted that at least log(N) bits are needed to store an item's ID in the BT approach. The bit-sequence mapping is illustrated in Figure 2.1. Database
/
/ 1
y
/
3
4
N-l
k
it
i i
a
1
0
2
N /
1 i.
1
A
1
1
ii
0
Figure 2.1 Bit Sequence Mapping
In order to reduce false invalidations, a hierarchically structured and more detailed report is proposed [11]. Instead of using just one bit-sequence (and a timestamp), n bit-sequences (n > 1) (each is associated with a timestamp) are used in the report to show the update activities of n overlapping subintervals. Specifically, the i"1 sequence (0 < i < n-l), denoted Bj, has a length of N/21 bits, where N is the number of data items in the database; it records the latest N/2 ,+1 update activities. Each bit-sequence is associated with a timestamp T(B;) indicating since when there have been such N/21+1 updates. As shown in Figure 2.2, the first bit-sequence B 0 , has a length of N and has N/2 " 1 ' bits, showing that N/2 items have been updated since T(B 0 ). The second sequence Bi has N/2 bits, each corresponding to a data item that has been updated since T(B 0 ) (i.e., the " 1 " bits in B 0 ). Again, half of the bits in B] (i.e., N/4 bits) have the value " 1 " , indicating half of the N/2 items that have been updated since T(Bo) were actually updated after T(B]). In general, the j " 1 bit of the Bj represents the j * " 1 " bit in the Bn, and half of each bitsequence are l's. It can be observed that the total number of bit-sequences n is log(N). The modified scheme is called the dynamic BS. Instead of mapping an item to a bit in B 0 , each updated item is represented explicitly by its ID in the dynamic BS. Thus, B 0 is now made of the IDs of those items that have been updated since T(B 0 ). The rest of bit-sequences (B], ... Bn.]) are constructed in the same way as in the original BS. That is, sequence Bj (0 < i < n-l) has k/21"1 bits, with half of them being "l"s, where k is the number of items updated since T(Bo). If both an ID and a timestamp are implemented as a 32-bit integer, the total size of a report can be calculated approximately as 32k + 2k + 32 log(k), where 32k is the size of k IDs (i.e., Bo), 2k is the size of the rest of the bitsequences (i.e., Bi, ... Bn_i), and log(k) is the number of timestamps (or the number of bit sequences) [11].
321
Jata base
/
/
/
/
1 I k
. 1
3 |
\ N
1
0
\
9
I'l'
• • • •
Client 1 dlient2 •
1/ N/2
1
• •
1
0
0
0
"<J
tt
\
1
Clients' disconnectio n time
1
1
0
T(B,)
T(B„.2) Client 3
_*_
Cuiren time
2 bits:
1
0
T(B».,)
Figure 2.2 An Invalidation Report with Client Disconnection Time
3
An Optimal Construction of Hierarchical Bit-Sequences
Although Jing's hierarchically structured bit-sequences discussed above reduced the naming space of items and number of timestamps, there is no justification for why the bit-sequence hierarchy should be constructed based on half of the updates, i.e., N/2' or k/21 updates. In fact, this "half-update-partition" scheme could favor shorter reconnections than longer ones. Here, we use Figure 2.2 as an example. After reconnection at the current time, clients 1 and 2 will rely on Bo to invalidate their data items, and client 3 will use Bn.2. All cached items updated between T(B0) and T(Bi) in clients 1 and 2's caches will have to be invalidated after reconnection, even though some of them might have been already updated in the caches before disconnections, recalling that updates are immediately reflected on the clients' caches while connected. Notice that the time span between T(Bo) and T(Bi) is much longer than the time between T(B„.2) and T(Bn.!). Tlius, if there are a large number of clients like clients 1 and 2, who disconnected
322 during the earlier period of the window (which is quite likely), there could be a lot of items falsely invalidated. Clearly, this hierarchical structure with "half-update- partition" cannot achieve minimal false invalidations. We redesign Jing's hierarchically structured bit-sequences to minimize the false invalidation rate. Specifically, we will investigate the division of the n overlapping subintervals in the report such that the false invalidations can be minimized. As in any approach, a report can only cover the update activities of a limited period. The window size of an invalidation report W refers to the time period of updates covered in a report. The larger the window size, the longer the clients can stay disconnected without discarding the caches. However, the larger window size also gives rise to larger reports, which may cause longer latency between two consecutive reports, recalling that a reconnecting client has to receive a report before it can answer any query. Here, we assume that both W and L are fixed and predetermined by the system. 3.1 Reconnection Patterns It is observed from Figure 2.2 that false invalidation rates are closely related to the reconnection patterns of mobile clients (i.e., how long clients are likely to reconnect after disconnection). Therefore, to reduce the false invalidation rates, a reorganization of the bit-sequences that takes into account clients' reconnection patterns needs to be devised. Assume that the reconnection pattern can be represented by a certain probability Frequency
CT: Current Time DT: Disconnection time
1
1
1
2
1 3
I 4
1 5
Figure 3.1 The Reconnection Time Distribution
1 6
*• Reconnection time: CT - DT
323 distribution, such as the one shown in Figure 3.1, where the X-axis is the difference between the reconnection time and the last disconnection time of the mobile clients and the Y-axis represents the number of clients. Let us now analyze the relation between the false invalidations and the reconnection distributions. Assume that a mobile client disconnected at time x. After it reconnects and receives the first report, it looks for a sequence, say B i; in the report, with the largest timestamp that is less than or equal to its disconnection time x (i.e., T(Bj) < x ). If the client did not disconnect exactly at T(Bj), there might be a chance for false invalidation, because the client may have already updated some of the items in its cache between T(Bj) and x when it was still connected. The larger the difference between x and T(Bj), the more items might have been updated by the clients before disconnection, and those items would be falsely invalidated when reconnected. Now, let us derive the relationship between false invalidation and division of the window for a given reconnection pattern. Assume updates arrive at a rate C. Since the server receives update requests from users of all kinds, we may assume that updates are independent. Then, the expected number of items falsely invalidated for a client disconnected at x , denoted FI(x), is C*(x-T(Bt)). Letj{x) be the reconnection pattern. Then, the expected total number of falsely invalidated items, denoted by TFI, is „_1 7-(Bl+
1
)
m = c i ( i(x-T(B,y)* f(x)dx) 1=0
T(Bi)
= CX( \x*f(x)dx)-CJX Jr(B ; )*/W^) ;=o nsj) >=o us) 7W
„-i r
^
20
haar range 1 I . 40
30 |
IA" \i\ . 10
I A
.
n
20
A. 50
r\ |
.
n, r
r\. 40
30
A , 60
haar range 2 |
SO
60
haar range 3 I
0 10
£
L
0.05
e *
n
10
0.04 e
1°n
40
50
60
haar range 4 I
/ 20
30
SO
40
60
haar range 5 I
. /
* °-2
sym2 range 1 I
\
10
,
vu 10
t-i t-: 1H
30 I
I.
0.02
I*
20
A 20
30
40
A, 50
sym2 range 2 I. /\ 20
30
40
\i
AyC SO
30
40
50
A
A
10
20
1
30
40
/\
V 10
60
S \ 20
30
40
20
30
40
50
A / 60
S\J. 50
60
db4 range 3 I
20
30
40
sym2 range 4 |
10
A. 50
db4 range 2 I
: ^ •
20
\.
10
60
sym2 range 3 j
10
db4 range 1 I
I 0.1 \
A / 60
50
60
db4 range 4 I-
10
60
sym2 range 5 I-
g
20
30
40
0.04 0.02
•
50
60
db4 range 5 I
~~:
Fig. 5 Some HIDE PDFs at Various Wavelet Compression Ranges
From the figures, we can see that, as the compression ranges (and ratios) get higher, the PDF shapes look more and more different from the original uncompressed PDFs. This is, of course, expected since we are loosing more information by representing a PDF with fewer coefficients. For all wavelet bases, the reconstructed PDF curves of compression range 2 are all very close to the original PDF, which hint that there might little or no performance differences at range 2. In fact, compression range 3 appears promising as well. However, visually significant PDF shape details seem to be lost at ranges 4 and 5.
339
5.2
MSR Errors and Misclassification Rates
We evaluated the mean squared root errors and the misclassification rates of the system using different wavelet compression ranges, Fig. 6. The misclassification rate is defined as the percentage of the inputs that are misclassified by neural networks during one epoch, which includes both false positive and false negative misclassifications. In Fig. 6, the x-axis values represent the five compression ranges we tested.
compression range
compression range
Fig. 6 MSR Errors and Misclassification Rates
We can see that the curve of wavelet compression algorithm sym2 rises slowly, and, even for compression range 5, the algorithm still shows strong performance with misclassification rate about 2%. For the other three wavelet bases, the system performance is satisfactorily for ranges 1 to 3, but then deteriorates for ranges 4 and 5. Therefore, wavelet compression algorithm sym2 is a more appropriate choice for PDF compression. In practice, we found that sym2 wavelet compression with compression range of 3 is a safe choice for HIDE to maintain a satisfying performance while boosting system resource efficiency by four fold. From the PDF figures in the previous subsection, the decompressed PDFs of range 3 or higher are noticeably different from the original PDF, but the results in this subsection shows no big difference from range 1. One explanation is that wavelet compression at range 3 still keeps the necessary information to identify typical and abnormal traffic patterns. 5.3
ROC Curves
The Receiver Operating Characteristic (ROC) curves are illustrated in Fig. 7. The xaxis of the figure is the false alarm rate, which is the rate of the typical traffic events being classified intrusions; the y-axis of the figure is the detection rate, which is calculated as the ratio between the number of correctly detected intrusions and the total number of intrusions. For each curve, the point at the upper left corner
340
represents the optimal detection with high detection rate and low false alarm rate. Each Curve corresponds to the system characteristic under certain wavelet compression range. - ' O •••*K3>-*