Boolean Neural Network Design Using Set Covering in ... - CiteSeerX

2 downloads 0 Views 394KB Size Report
Oct 10, 1999 - (BNN) for implementing an arbitrary Boolean function with low- complexity. Each hidden neuron memorizes a set of learning pat- terns, then the ...
IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.10 OCTOBER 1999

2285

PAPER

Boolean Neural Network Design Using Set Covering in Hamming Geometrical Space Xiaomin MA† , Xian Yang YI† , and Zhaozhi ZHANG†† , Nonmembers

SUMMARY Some novel learning strategies based on set covering in Hamming geometrical space are presented and proved, which are related to the three-layer Boolean neural network (BNN) for implementing an arbitrary Boolean function with lowcomplexity. Each hidden neuron memorizes a set of learning patterns, then the output layer combines these hidden neurons for explicit output as a Boolean function. The network structure is simple, reliable and can be easily implemented by hardware. key words: Boolean function, neural networks, Hamming space

1.

Introduction

Implementing Boolean functions by using low-complexity neural networks is useful in many areas including digital logical design, coding and cryptography. Compared with Boolean functions implemented using digital logic circuits, those implemented using feedforward neural networks have characteristics of flexibility, simplicity, higher network performance and capability of generalization. In fact a three-layer feedforward neural network structure is available for implementation of arbitrary Boolean functions as long as the learning algorithm is effective. Since one neuron can memorize any linearly separable set, the complexity of a three-layer neural network is lower than that of digital circuits especially when the input dimension n is very large. In addition, the neural-based methods allow for generalization, in other words. They have the capability to classify (input) data that is not specified a priori (during training). Therefore, Boolean functions with neural networks have potential application to channel decoding of nonlinear code, nonlinear shift register synthesis and stream cipher analysis among others. Unfortunately, in application areas that require binary-to-binary mappings, the effectiveness of the back-propagation (BP)-type algorithm for the conventional analogue feedforward neural network comes into question because of factors such as poor convergence speed and local minimum among others. For instance, with the BP algorithm over 103 iterations become necessary to obtain two-binary-input XOR function with random initial weights, moreover the number Manuscript received November 2, 1998. Manuscript revised February 2, 1999. † The authors are with the Information Security Center, Beijing University of Posts & Telecommunications, Beijing, 100876, China. †† The author is with the Institute of Systems Science, Academia Sinica, Beijing, 100080, China.

of neurons in each layer is determined from experience before the algorithm is applied to train the net from exemplars. To circumvent these problems, several binary neural networks and their learning algorithms [1]– [8], which employed hard-limiter activation neurons instead of sigmoid activation neurons such as BP, have been proposed. Thus the learning speed, reliability and stability were significantly improved. However, for high-dimension binary mappings, the complexity of the BNN is still too high, thus preventing easy hardware implementation. In this paper, we design a three-layer BNN to implement an arbitrary Boolean function, where the hidden layer serves for characterizing or memorizing a certain pattern or set of patterns, and the output layer serves as the logic OR layer to obtain the desired Boolean function output. To reduce the number of hidden neurons for a given Boolean function, some set covering methods, such as the covering of a hypercube, Hamming sphere and set inhibition among others, are developed. Finally the availability of our approach is demonstrated by a typical example. 2.

Boolean Neural Network

Let Fn2 be the n-dimensional vector space over binary field F2 . A Boolean function f (X) = f (x1 , x2 , . . . , xn ) is a mapping from Fn2 to F2 . The binary input vector X = (x1 , x2 , . . . , xn ), xi ∈F2 needs to be mapped into a bipolar sequence C = (c1 , c2 , . . . , cn )T , ci ∈ {−1, 1} by a simple conversion: ci = 2xi − 1 for i = 1, 2, . . . , n. The structure of the proposed three-layer binary neural network is illustrated by  N    N   1 w1ij ≥ Tj    i=1 hj = U w1ij ci − Tj = , L    i=1  0 w1ij < Tj  i=1

 y=U

L  j=1

 w2j hj − θ =

    1       0

(1) L  j=1 L 

w2j hj ≥ θ , w2j hj < θ

j=1

(2)

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.10 OCTOBER 1999

2286

where H = (h1 , h2 , . . . , hL ) is the output vector of the hidden neurons; the output of the BNN y ∈ {0, 1} corresponds to the output of the Boolean function f (X), w1ij and w2j stand for feedforward connection weights of the hidden layer and output layer respectively, Tj and θ denote thresholds of the hidden layer and output layer respectively. It is assumed that all weights and thresholds are integers. Some new concepts need to be defined before describing the learning strategies of the BNN. Definition 1: The set of all vectors in Fn2 is termed n-dimensional Hamming geometrical space, then elen ments X 1 , X 2 , . . . , X 2 in Fn2 are called points of the n-dimensional Hamming geometrical space.

search some specific sets, as will be demonstrated afterwards, to create corresponding neurons representing these sets. Theorem 1: If a binary neuron can characterize a set A, then it is also able to characterize A =Fn2 \A, where A\B shows the difference of sets A and B, thus A is the complementary set of A. Proof: Assume the weights and threshold of a neuron characterizing set A are denoted by W , T respectively, the output is denoted by y. From Eq. (1) and Eq. (3), it evidently follows that X ∈ A y = 1; W X − T ≥ 0; X∈ / A y = 0; W X − T < 0.

Definition 2: Subset f −1 (1) = {X ∈Fn2 | f (X) = 1}; f −1 (0) = {X ∈Fn2 | f (X) = 0}

Since both the weights and threshold are integers

Definition 3: Assume the input and the output of a binary neuron t are denoted by X and yt respectively. Thus, we propose that the neuron characterizes a set A as 1 X∈A yt (X) = (3) 0 X∈ /A

If the weights and threshold are adjusted as: W  = −W , T  = −T + 1, we have

For an arbitrary n-variable Boolean function, there are 2n binary input patterns that can be associated with the 2n points of an n-dimensional Hamming geometrical space, and be divided into two regions f −1 (1) and f −1 (0). As a consequence, the implementation of the Boolean function by the BNN can be viewed as a covering set f −1 (1) in the n-dimensional Hamming space by a combination of neurons that characterize different subsets. Since the proposed BNN has n inputs and one output, the complexity of the BNN depends on the number of the hidden neurons. The more patterns each neuron can characterize, the fewer the number of hidden neurons required for covering set f −1 (1). Therefore, implementing a Boolean function with lowcomplexity might be considered for enhancing the capability of characterizing sets by binary neurons. Definition 4: n + 1 characterizing numbers denoted by S = (s0 , s1 , . . . , sn ), associatedwith a Boolean function f (X) of n variables, are defined as |f −1 (1)|

n

S=

2  p=1

p

p

f (X )X =



X p1 ,

X ∈ A W X − T ≤ −1.

X ∈ A, W  X − T  = −(W X − T ) − 1 < 0, then y = 0. X ∈ A, W  X − T  = −(W X − T ) − 1 ≥ 0, then y = 1. Thus, the neuron is able to completely characterize the complementary set of A.  Theorem 1 implies that the Boolean function could also be implemented by covering set f −1 (0). In fact it is more efficient to select a smaller set as covering set because fewer neurons might be needed for a smaller covering set. No loss of generality, let the logic of covering set be 1 in the subsequent discussion. 3.

Learning Strategies of the BNN

Now, we explore the characterizing capability of binary neurons. To design a BNN for implementing the Boolean function f (X), we create L hidden neurons and one output neuron to characterize the set f −1 (1). Theorem 2: Assume the jth hidden neuron characL

terizes set Aj , 1 ≤ j ≤ L, where Aj = f −1 (1), then

(4)

p1 =1

where X p , 1 ≤ p ≤ 2n , is a concatenation of the bias input, xp0 = 1, with the pth vertex X p = (xp1 , xp2 , . . . , xpn ); |f −1 (1)| denotes the number of patterns in f −1 (1) and X p1 ∈ f −1 (1) for 1 ≤ p1 ≤ |f −1 (1)|. It had been concluded that the linearly separable Boolean functions (those functions which can be realized by a binary neuron) are uniquely identified by their characterizing numbers [12], which will help to

j=1

the BNN can characterize set

L

Aj in terms of the

j=1

following learning rule w2j = 1 θ=1 j = 1, 2, . . . , L. Proof: Given X ∈

L

j=1

(5)

Aj , by definition 3, we know

MA et al: BOOLEAN NEURAL NETWORK DESIGN

2287

that at least one hidden neuron is activated as “1” state. L L   From Eq. (2), o = w2j hj = hj ≥ 1 =⇒ o − θ j=1

≥ 0 ⇒ y = 1. Given X ∈ /

L

Aj , it follows that all L hidden

neurons are inhibited as “0” state o − θ =

L 

w2j hj

j=1

−θ = −1 =⇒ y = 0. Hence the neuron in the output layer constrained L

Aj . by Eq. (5) can characterize set j=1

 From theorem 2 we conclude that the output of the BNN is y=1 if X ∈ f −1 (1) as long as hidden neurons characterize the sets which just cover set f −1 (1). Furthermore if X ∈ / f −1 (1), y = 0, then the result that if −1 X ∈ f (0), y = 0 holds. Therefore, the fact that the L

output neuron characterizes the set Aj is consistent j=1

with the implementation of the Boolean function by the BNN. The remaining problem is how to construct hidden neurons so that set f −1 (1) is efficiently covered with as few hidden neurons as possible. Theorem 3: The r-dimensional cube: Cu = {(x1 , x2 , . . . , xn ) ∈Fn2 | r components of X are not specified which are denoted as *; and the other n − r components are explicitly specified 0 or 1} ∈ f −1 (1) can be characterized by one hidden neuron j, whose weights and threshold are determined in terms of the following rule   if xi = 1   1   −1 if xi = 0 w1ij = (6)  0 if xi = ∗ i = 1, 2, . . . , n.    Tj = n − r − 1 Proof: Suppose X = (x1 , x2 , . . . , xn ) ∈ Cu , ci = 2xi −1, we have sj =

n 

w1ij ci =



w1ij ci +

i|xi =1 or 0

i=1



w1ij ci .

i|xi =∗

sj =

i=1

w1ij ci =

i|xi =1 or 0

 i|xi =1 or 0

w1ij ci +

 i|xi =∗

 Note that Cu is the generalized expression of the 2r circle in the Karnaugh map proposed in Ref. [1], theorem 3 ensures that if certain sets that are members of f −1 (1) satisfy the definition of Cu , all 2r patterns in any of them can be memorized by a single hidden neuron. Theorem 4: The Hamming sphere set R(X c , d) = {X ∈Fn2 | dH (X c , X) ≤ d} ∈ f −1 (1) can be characterized by one hidden neuron t, whose weights and threshold are determined in terms of the following rule: w1it = cci (7) Tt = n − 2d − 1 i = 1, 2, . . . , n. where X c = (xc1 , xc2 , . . . , xcn ) and d are the center and radius of the Hamming sphere, respectively; dH (, ) is the Hamming distance between two patterns. cci = 2xci −1, i = 1, 2, . . . , n. Proof: Suppose X = (x1 , x2 , . . . , xn ) ∈ R(X c , d), ci = 2xi − 1, i = 1, 2, . . . , n, we have dH (X, X c ) ≤ d st =

n 

w1it ci =



cci ci +

xti =xi

i=1



cci ci ,

xti =xi

if xci = xi ⇒ cci ci = 1; if xci = xi ⇒ cci ci = −1. Thus st ≥ n − d − d = n − 2d. By Eq. (1) ht = U (st − Tt ) = 1. On the other hand, suppose X  = (x1 , x2 , . . . , xn ) ∈ / R(X c , d), then we have dH (X, X c ) > d st =

n 

w1it ci =



cci ci +

xci =xi

i=1



cci ci

xci =xi

< n − 2d − 2 ⇒ st − Tt < 0. By Eq. (1) ht = U (st − Tt ) = 0.

 Theorem 4 ensures that one single hidden neuron d    n + 1, 1 ≤ d ≤ n patterns of can characterize i i=1

By Eq. (6), when xi = 1 or 0, w1ij = ci holds; otherwise xi = *, w1ij = 0. Thus, sj =n − r. By Eq. (1), we have hj = U (sj − Tj ) = U (1) = 1. On the other hand, if we suppose X  = (x1 , x2 , / Cu , then there exists at least one element in . . . , xn ) ∈ X  such that xq = xq and xq = ∗, then w1iq = cq . So n 

w1ij ci ≤ n − r − 2

sj − Tj ≤ −1 ⇒ hj = 0.

j=1

j=1



=

w1ij ci

the Hamming sphere set. Corollary 1: The characterizing numbers Sc = (s0 , s1 , . . . , sn ) of the r-dimensional cube Cu are given by  2r i=0    0 i = 0, xi = 0 si = . (8) r 2 i = 0, xi = 1    2r−1 i = 0, x = ∗ i

Corollary 2: The characterizing numbers SH = (s0 , s1 , . . . , sn ) of the Hamming sphere R(X c , d) are given

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.10 OCTOBER 1999

2288

by

 d     n   i=0   p   p=0     d−1  n − 1 i= 0, xci = 0 si = p   p=0    d   d−1    n − 1  n   − i= 0, xci = 1.   p1 p2 p1 =0

sj − Tj = sj − n + l + 2d + 1 ≥ 1 ⇒ hj = U (sj − Tj ) = 1. Otherwise, if we suppose X = X q = (xq1 , xq2 , . . . , there is only one possible case (xq1 , (xql+1 , xql+2 , . . . , xqn ) ∈ / A2 . It follows that:

xqn ) ∈ / A1 × A2 , xq2 , . . . , xql ) ∈ A1 ; l 

p2 =0

i=1

(9) Corollary 1 and Corollary 2 can be easily proved from the definition of Cu , R(X c , d) and the characterizing numbers. Since the characterizing numbers uniquely identify a linearly separable Boolean function, both Cu and R(X c , d) are linearly separable sets that coincide with linearly separable Boolean functions, thus Cu and R(X c , d) can be uniquely identified by their characterizing numbers. Therefore, Corollary 1 and Corollary 2 provide the corresponding learning algorithm with the means of judging whether the given sets are hypercubes or Hamming spheres during training, meanwhile determining all the properties of Cu and R(X c , d). We may start to search Cu and R(X c , d) from some smaller sets in f −1 (1), then increment the formed sets or search new sets among the remaining patterns. The search process continues until all patterns are included. Finally, the hidden layer is determined in terms of the proposed strategies. Let set A1 = {X 1 , X 2 , . . . , X p }, X i = (xi1 , xi2 , . . . , xil ), i = 1, 2, . . . , p be an ordered pair grouped from l coordinates of n-dimensional Hamming geometrical space; A2 = {Y 1 , Y 2 , . . . , Y q }, Y j = (xjl+1 , xjl+2 , . . . , xjn ), j = 1, 2, . . . , q is an ordered pair grouped from other remaining n − l coordinates. The Cartesian product of subset A1 with subset  A2 is defined as:  A1 × A2 = {< X, Y >| X ∈ A1 Y ∈ A2 }, where stands for logic AND. Theorem 5: Let A1 be a complete l-dimensional Hamming space, A2 is an (n − l)-dimensional sphere centered around X c = {xcl+1 , xcl+2 , . . . , xcn } with radius d, then A1 × A2 can be memorized by just one hidden neuron j:  0 i = 1, 2, . . . , l  w1ij = cci i = l + 1, . . . , n . (10)  Tj = n − l − 2d − 1 r

Proof: Suppose X = Eqs. (1) and (2) we have sj = =

n 

w1ij cri

i=1 n  i=l+1

=

(xr1 , xr2 , . . . , xrn )

l 

w1ij cri

i=1

cci cri ≥ n − l − 2d

+

n  i=l+1

∈ A1 × A2 , by

w1ij cri

n 

w1ij cqi = 0;

w1ij cqi ≤ n − l − 2d − 2

i=l+1

sj − Tj = sj − n + l + 2d + 1 ≤ −1 ⇒ hj = U (sj − Tj ) = 0.  Since A1 × A2 consists of 2l (n − l)-dimensional Hamming spheres, theorem 5 significantly enhances the characterizing capability of a single hidden neuron. Therefore, the simplified implementation of Boolean functions is projected as the covering of set f −1 (1) using cubes and/or Hamming spheres corresponding to the hidden neurons. However, for a given Boolean function, it is not always easy to form a bigger set Cu or R(X c , d) ∈ f −1 (1). In order to further simplify the structure of the BNN, the constraint of covering set Ai ∈ f −1 (1) may be loosened. In other words, we may choose very few patterns, which are members of f −1 (0), to join the covering set together so that more vertices in f −1 (1) are included in the set. So both the hidden neurons created for characterizing the covering set Ai ∈ f −1 (1) ∪ f −1 (0) and some additional hidden neurons called inhibition hidden neurons have to be created to ensure the correct mapping of the Boolean function. Theorem 6: Suppose the sets A1 , A2 , . . . , AK , BK+1 , BK+2 , . . . , BL are characterized by L hidden neurons. Then the output neuron can characterize the set K L

Aj \ Bj in terms of rules as j=1

j=K+1

w2j =

1 −K

j = 1, 2, . . . , K , j = K + 1, . . . , L

θ = 1,

(11)

where Ai ∈ f −1 (1) ∪ f −1 (0), Bj ∈ f −1 (0) and A\B shows the difference of sets A and B. Proof: Three cases must be considered. K L

Aj and X ∈ / Bj . From the Case 1: X ∈ j=1

j=K+1

proof of theorem 1, it is concluded that at least one hidden neuron j, 1 ≤ j ≤ K is activated. By Eq. (1) hj = 0, j = K + 1, . . . , L then y = 1. K

Aj , no hidden neuron j, 1 ≤ j ≤ K, Case 2: X ∈ / j=1

is activated. So by Eqs. (2) and (11), irrespective of whether hidden neurons k + 1, . . . , L are activated or inhibited, we have

MA et al: BOOLEAN NEURAL NETWORK DESIGN

2289

o=

L 

w2j hj ≤ 0 ⇒ y = 0.

j=1

Case 3: X ∈

K

Aj and X ∈

j=1

L

Bj . It follows

j=K+1

that at least one inhibition neuron j, K + 1 ≤ j ≤ L is activated, and at most K hidden neurons j, 1 ≤ j ≤ K are activated. By Eqs. (2) and (11) o=

L 

w2j hj =

j=1

K  j=1

w2j hj +

L 

Fig. 1

w2j hj

j=K+1

≤ K − K = 0, then y = 0.



Remark 1: Theorem 6 implies that some bigger set Ai might contain certain inhibition sets Bj characterized by corresponding inhibition hidden neurons. Then sets Bj are inhibited in the output layer. The consideration of inhibition set increases the probability of constructing bigger covering sets, thus reducing the number of hidden neurons. Furthermore, theorem 6 is also valid when some covering sets have a nonempty intersection. For instance, if A1 ∩ A2 ∈ f −1 (1), no change is needed in the network, otherwise, if A1 ∩ A2 ∈ f −1 (0), some hidden neurons l, l > K > 2 are created by Eq. (11) to characterize patterns in A1 ∩ A2 . If an input pattern is a member of A1 ∩ A2 , h1 = h2 = 1 and hl = 1, then w2l = −K < w21 + w22 . By Eqs. (11) and (2), if A1 ∩ A2 ∈ f −1 (0), y = 0. Thus correct binary mapping is still guaranteed. Theorem 6 greatly improves the method of Karnaugh mapping developed in Ref. [1] where the intersection of covering sets is not permitted. 4.

Implementation of a sextuple Boolean neural network.

Examples

Consider the implementation of a 6-variable Boolean function f (0–63) = (1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0). Among the covering sets, there are two Hamming spheres centered around 000000 and 100000 with radius d = 1, which is the summed up Cartesian product of A1 = {0, 1} and A2 = {00000, 00001, 00010, 00100, 01000, 10000}. Hence, by Eq. (10) we have A1 × A2 = {000000, 000001, 000010, 000100, 001000, 010000, 100000, 100001, 100010, 100100, 101000, 110000}. A total of 12 patterns can be memorized by one hidden neuron: W1i1 : 0, −1, −1, −1, −1, −1, T1 = 3; Meanwhile there exist two hypercubes: B1 = {100100,

100101, 100110, 100111, 101100, 101101, 101110, 101111} = {10∗1∗∗}, B2 = {101000, 101001, 111000, 111001} = {1 ∗ 100∗}. From theorem 3, the two subsets can be characterized by hidden neuron 2 and hidden neuron 3, respectively. W1i2 = 1, −1, 0, 1, 0, 0; T2 = 2; W1i3 = 1, 0, 1, −1, −1, 0; T3 = 3. After covering sets A1 × A2 , B1 and B2 have been constructed, there is one vertex B3 = {100110} in f −1 (1) that is not yet characterized by a hidden neuron. The hidden neuron 4 is created: W1i4 = 1, −1, −1, 1, 1, −1; T4 = 5. As noted above, B1 intersects A1 × A2 at the pattern X in1 = 100100. Since f (X in1 ) = 0, one inhibition hidden neuron 5 is created in terms of Eq. (11): W1i5 = 1, −1, −1, 1, −1, −1; T5 = 5. In addition, B2 intersects A1 × A2 at the pattern X in2 = (101000). Since f (X in2 ) = 1, no extra change to the neural network needs to be implemented. Finally, the output layer is determined according to theorem 6: w21 = w22 = w23 = w24 = 1; w25 = −4; θ = 1. Figure 1 shows the structure of the Boolean neural network. But nine hidden neurons are required if the learning strategy in [1] is applied for this task. 5.

Conclusions

Some strategies based on set covering in a geometrical Hamming space are suggested and proved. For a hidden layer, cube, and Hamming sphere, Cartesian product of sets and inhibition sets are introduced to reduce the required number of hidden neurons. For an output layer, a combination and inhibition of sets are realized. Therefore, the proposed three-layer BNN can implement an arbitrary Boolean function with lowcomplexity. Our strategies can be easily combined into the learning algorithms which always converge and find the BNN by automatically determining the required number of hidden neurons. Furthermore, as integer weights and thresholds are employed, it is easy to implement the BNN by hardware. However, given a set of patterns to be memorized, finding an optimal substructure such as this is still a problem that remains to be solved.

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.10 OCTOBER 1999

2290

References [1] D.L. Gray and A.N. Michel, “A training algorithm for binary feedforward neural networks,” IEEE Trans. NN, vol.3, no.2, pp.176–194, March 1992. [2] W. Penny and T.J. Stonham, “Storage capacity of multilayer Boolean neural networks,” IEE Electronics Letters, vol.29, no.15, 22nd July 1993. [3] N.K. Bose and A.K. Garga, “Neural network design using Voronoi diagrams,” IEEE Trans. NN, vol.4, no.5, pp.778– 791, Sept. 1993. [4] G.T. Barkema, M.A. Andree, and A. Teal, “The patch algorithm: Fast design of binary feedforward neural network,” Network. I, pp.393–407, 1993. [5] R. Liu and Z.H. Chai, “Realization of Boolean functions by perceptron algorithm,” IEEE Inter. Symposium on CAS, pp.704–705, 1990. [6] J.H. Kim and S.K. Park, “The geometrical learning of binary neural networks,” IEEE Trans. NN, vol.6, no.1, pp.237–247, Jan. 1995. [7] F.P. Preparata and M.I. Shamos, Computational Geometry, Springer-Verlag, 1985. [8] S.A.J. Keibek, G.T. Barkema, H.M.A. Andrea, and M.H.F. Savenije, “A fast partitioning algorithm and a comparison of binary feedforward neural networks,” Europhys. Lett., vol.18, pp.555–559, 1992. [9] L. Bottou and V. Vapnik, “Local learning algorithms,” Neural Computation, vol.4, no.3, pp.888–900, 1992. [10] M. Stevenson, “The effects of limited-precision weights on the threshold adline,” IEEE Trans. Neural Networks, vol.8, no.3, pp.549–552, May 1997. [11] P.M. Lewis and C.L. Coates, Threshold logic, Wiley, New York, 1967. [12] V. Roychowdhury, K.Y. Siu, and T. Kailath, “Classification of linearly nonseparable patterns by linear threshold elements,” IEEE Trans. Neural Networks, vol.6, no.2, pp.318– 330, 1995.

Ma Xiaomin was born in the Anhui Province of China on Jan. 24, 1964. He received B.E. and M.E. degrees in electrical engineering in 1984 and 1989 respectively. Since Sept. of 1996, he is a doctoral candidate in the Department of Information Engineering at the Beijing University of Posts & Telecommunications. His research interests include computational intelligence, coding theory, digital signal processing, software radio and adaptive control.

Yi Xian Yang received B.E. and M.E. degrees in applied mathematics in 1983 and 1986, respectively, and received Ph.D. degree in information engineering in 1988. He is now a professor in the Department of Information Engineering at the Beijing University of Posts & Telecommunications. His research interests include coding theory, communication theory, modern cryptography, signal processing and neural networks.

Zhang Zhaozhi was born in the Jiangsu Province of China in 1934. He received a B.E. degree in mathematics from Beijing University in 1956. He is now a professor at the Institute of System Science, Academic Sinica, Beijing, China. His research interests include information theory, coding theory, modern cryptography and neural networks.