Enhanced Boolean Correlation Matrix Memory

Reading time: 6 minute
...

📝 Abstract

This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.

💡 Analysis

This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.

📄 Content

Abstract— This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.

Keywords—Boolean algebra, correlation matrix memory, ortho- gonalization.
I. INTRODUCTION N associative memory may also be classified as linear or nonlinear, depending on the model adopted for its neu- rons [1]. In the linear case, the neurons act (to a first approxi- mation) like a linear combiner [2-6]. To be more specific, let the data vectors a and b denote the stimulus (input) and the response (output) of an associative memory, respectively. In a linear associative memory, the input-out-put relationship is described by

b = M a (1)

where M is called the memory matrix. The matrix M specifies the network connectivity of the associative memory. Fig.1 depicts a block-diagram representation of a linear associative memory. In a nonlinear associative memory, on the other hand, we have an input-output relationship of the form

b = ϕ (M;a) a (2)

where, in general, ϕ(.;.) is a nonlinear function of the memory matrix and the input vector.

Fig.1 Block diagram of associative memory

X
X X X Although this form of matrix was introduced in the 1960’s and has been studied intensively since then, see [7-11], and the use of orthogonalization is not new to improve the storage of these networks, see [9, 10], unfortunately, a CMM version doesn’t exist when the key pattern ak and the memorized pattern bk for all k are binary. II. METHODS A. Orthogonality in a Boolean sense Given a set of binary vectors uk = [ uk1 , uk2 , … , ukp ]T (where k = 1, 2, … , q, and [.]T means transpose of [.]), they are orthonormals in a Boolean sense, if they satisfy the following pair of conditions:

uk T ∧ uj = 1 if k = j (3.1) and uk T ∧ uj = 0 if k ≠j (3.2)

where the term uk T ∧ uj represents the inner AND operation between binary vectors uk and uj , i.e.,

ukT ∧uj = (uk1 ∧uj1 )∨(uk2 ∧uj2 )∨•••∨(ukp ∧ujp )

) ( 1 jn kn p n u u ∧ =∨ (4)

where ∨ represents the OR operation. B. Boolean Correlation Matrix Memory Suppose that an associative memory has learned the memo- ry matrix M through the associations of binary key and memo- rized patterns described by ak→ bk , where k = 1, 2, … , q, being ak a p-by-1 binary key pattern vector, i.e., ak = [ ak1 , ak2 , … , akp ]T, and bk a p-by-1 binary memorized pattern vector, i.e., bk = [ bk1 , bk2 , … , bkp ]T, i.e., whose values are exclusively 0 or 1.

We may postulate M, denoting an estimate of the memory matrix M in terms of these patterns as follows

M = ) ( 1 T k k q k a b ∧ =∨ (5)

where ∧ represents the AND operation, and the term bk ∧ akT represents the outer AND operation between binary vectors of the key pattern ak and and the memorized pattern bk. Enhanced Boolean Correlation Matrix Memory Mario Mastriani A

While, in MATLAB code:

M = zeros(p,p); for k = 1:q M = M | (b(:,k) & a(:,k)’);
end

Therefore, M is a p-by-p binary estimate memory matrix. Where | represents the OR operation, and & represents the AND operation in MATLAB code, see Fig.2.

Fig.2 Signal-flow graph representation of Boolean CMM in MATLAB syntax C. Recall The fundamental problem posed by the use of an Boolean Associative Memory (BAM) is the address and re-call of patterns stored in memory, which is similar to non-Boolean associative memory [1]. To explain one aspect of this problem, let M denote the memory matrix of a BAM, which has been completely learned through its exposure to q pattern associations in accordance with Eq.5. Let a key pattern aj be picked at random and reapplied as stimulus to the memory, yielding the response

b = M ∧ aj (6)

The term M ∧aj represents the AND operation between binary memory matrix M and the key pattern aj. Substituting Eq.5 in 6, we get

b = j T k k q k a a b ∧ ∧ =∨ ) ( 1

  = 

k T k k q k b a a ∧ ∧ =∨ ) ( 1 (7)

where, in the second line, it is recognized that akT ∧ aj is a Boolean element equal to the inner AND operation between binary vectors of t

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut