## 2 Quantum Competitive Learning  
A well-known learning technique in ANNs is competitive learning. The technique is useful for classification applications and has the potential to implement associative memory for a set of predefined patterns. Competitive learning is inspired in biological neural networks, and accommodates ANNs based on a neural configurations where only one neuron fires, winner-take-all, at a time at a given iteration. In competitive learning, a neuron will be a winner if it has the largest weighted input compared with the other neurons in the competitive layer. Several neural network algorithms based on the competitive learning were proposed such as the Hamming neural network (HNN), self-organizing feature map (SOM) and learning vector quantization (LVQ) [2]. HNN is used to find the degree of similarity between an input vector and the weight vector of each neuron in the network. HNN consists of two layers L1 and L2. L1 is called the input matching layer, while L2 is called the competitive layer. The Hamming distance between an input pattern and prototype patterns is calculated via Layer, whereas the most matched storage pattern to the input pattern is obtained based on the rule of minimum distance, via L2 layer. Figure 1 shows the topology structure of the classical HNN. Four models of competitive learning based on quantum properties have been proposed to maximize the efficiency of classical competitive neural networks. The first model was developed in 1999 by [PERSON] [23], who proposed a competitive learning algorithm inspired by the properties of quantum computing to be implemented on traditional computers only. Moreover, the learning algorithm of this model requires to be adapted with threshold parameter depending on the application at hand. The second model, developed by [PERSON] [20; 21] in 2007, established the quantum algorithm that stores a set of predefined patterns in the memory of \(n\) neurons. This model increases the storage capacity of the neurons exponentially in contrast to classical neurons. Then, in 2010, [PERSON] proposed a quantum version of competitive CANNs that comprised two phases. The first phase is the storing phase, and is used to store the patterns in the neurons of the competitive ANNs. In the second phase, the competitive phase, [PERSON] proposed a quantum algorithm that allows the competition between neurons when an input pattern is presented to the network [21]. The primary defect of [PERSON]'s competitive model [21] that the wining pattern is decided with low probability, because this model recalls the wining pattern based on decreased probability of the undesired patterns. Therefore, the probability of the wining pattern is decreased as the number of the stored patterns increases in the storing phase [38]. [PERSON] and [PERSON] proposed the third model of quantum competitive learning using [PERSON]'s algorithm [41]. This is in order to perform the competition between the neurons to recall the wining pattern when an incomplete pattern is presented to their model [40]. They showed that recalling pseudo-patterns is inevitable on their competitive model [40]. The final model was developed in 2015 is called HQNN model [38]. In this model, competitive learning is conducted as  
Figure 1: The topology structure of classical hamming neural networks. a hybrid of quantum and classical computation so that the competitive phase is performed on two competitive layers. The first layer allows competitions between neurons using quantum gates, where the second layer uses nonlinear operation to find the winning neuron based on the winner-take-all technique. Unlike the Ventura model [23], HQNN model [38] does not have a threshold parameter, and unlike [PERSON]'s model [21], it recalls the winning pattern only and discards the undesired patterns. Additionally, HQNN model does not recall pseudo patterns as [PERSON]'s and [PERSON]'s model does [38], however, it cannot be fully implemented in real quantum computers because the winning pattern is only retrievable using classical operation.