## 3 Learning-Automaton-Based Communication Protocol for a High Data Rate
Coefficient \(b\) is a multiple of \(a\) so as to promote the last probability over the other two. \[P_{1}(t+1) =P_{1}(t)+a-aP_{1}(t),\ P_{2}(t+1)=P_{2}(t)-aP_{2}(t),\ P_{3}(t+1)=P_{3}(t)-aP _{3}(t) \tag{1}\] \[P_{1}(t+1) =P_{1}(t)-aP_{1}(t),\ P_{2}(t+1)=P_{2}(t)+a-aP_{2}(t),\ P_{3}(t+1)=P _{3}(t)-aP_{3}(t)\] (2) \[P_{1}(t+1) =P_{1}(t)-bP_{1}(t),\ P_{2}(t+1)=P_{2}(t)-bP_{2}(t),\ P_{3}(t+1)=P _{3}(t)+b-bP_{3}(t) \tag{3}\]  
As there are two parameters, the available combinations are four; however, we opted only for the case where the first parameter increases and the second decreases, and the exact opposite case. The reason for such a choice relies on the fact that whenever a transmitted message is lost, the algorithm should relax the number of required increases and at the same time increase the number of required decreases, in order to sense pulses with shallow curves. As shown in Figure 5, pulses with different numbers of signaling molecules result in various reception patterns. In order to demonstrate the difference, we simulated a scenario where the BS releases two pulses, one at a time, having different numbers of signaling molecules with the same velocity. In the first case (green line), the BS transmits a pulse with a high number of information molecules. As a direct result, the concentration of molecules at the receiver side increases rapidly to a high value (having a maximum value of 50 molecules around 45 s) and has a clear decline (highlighted with the red line). On the other hand, in cases where the BS transmits a pulse of a significantly lower number of molecules, as shown in Figure 5 (purple line), the receiver node senses a decreased concentration (maximum value of 18 molecules) at a later time point (around 100 s). The proposed algorithm senses an incoming pulse only after a clear decline in the perceived concentration, and this means that pulses with steeper curves are faster and more reliably received from the receiver. In cases where the node senses inaccurately more than one pulse, even if the BS has sent only one, the algorithm increases the number of required rises and reduces the number of required decreases so as to be able to adapt to steeper curves of concentration. The main idea behind the proposed work is to provide a way to identify any type of incoming concentration graph without prior knowledge of the channel's characteristics or the operational ones, such as the number of transmitted molecules, their diffusion coefficient and the duration of the transmission slot. Higher concentration transmission pulses result in high incline graphs; and low concentration pulses, for the same distance, result in shallow incline graphs. In order for a node to sense an incoming pulse, this incline should be followed by an equivalent decline without a time restriction. This means that for steeper inclines, as the algorithm reaches a local maximum, it starts counting the number  
Figure 5: Red line shows a steeper curve (increased number of ascensions). Purple line shows a shallow curve (reduced number of ascensions with increased number of descensions). of declines. If in the meanwhile it reaches another local maximum, it resets the number of declines and starts over. That way, after the highest local maximum, followed by a number of declines, the node decides that it has received an incoming message. Related to Figure 5, the node that senses the red drawing line has the highest local maximum at around 45 s, and it is able to discern the pulse after almost 50 s. On the other hand, the node that senses the blue-purple drawing line has the highest local maximum at around 100 s, but it takes almost another 100 s to discern the incoming pulse. The algorithm also decreases the number of the required declines after every cycle in pursuance of a faster response, resulting in a higher transfer data rate. Even though this continuous decrement of the parameter will eventually lead to miscounting an additional pulse, the operation of the LA will restore the system to a stable state again.