## 3 Results
### Comparator-Adder Architecture  
The proposed architecture Comparator-Adder is shown in Figure 3. We compare separately the vectors (x\({}_{i}\), y\({}_{i}\)), the concatenation of which with a length of 16 positions entered the input of its \(i\)-th comparator. The comparator is implemented as a multilayer fully connected neural network that determines the similarity between these vectors. N = 14 comparators were trained on their part of the TDS, with each comparator giving a prediction regarding the similarity of the elements in two compared situations. Comparator outputs as rounded values of Sigmoid activation functions 0 or 1 come to the input of the adder, the purpose of which is to calculate the final evaluation Sim (x, y) \(\Leftrightarrow\) Sim (Sit\({}_{act}\), Sit). The optimal parameters of each component of architecture have been selected during experiments. A source code snippet illustrating the comparator model is shown below (Listing 2). model1 = Sequential() model1.add(Dense(32, input_dim = 16, activation ='relu')) model1.add(Dense(8, activation ='relu')) model1.add(Dropout(0.5)) model1.add(Dense(1, activation ='sigmoid')) # Compile model model1.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy']). The following is the source code snippet for the adder model (Listing 3). model_summ = Sequential() model_summ.add (Dense (28, input_dim = 14, activation ='relu')) model_summ.add (Dense (28, activation ='swish')) #model_summ.add (Dropout (0.3, seed = 2)) model_summ.add (Dense (14, activation ='relu')) #model_summ.add (Dropout (0.5)) model_summ.add (Dense (7, activation ='swish')) model_summ.add (Dense (1, activation = 'linear')) # Compile model model_summ.compile (loss = 'MeanSquaredError', optimizer = 'RMSprop', metrics = ['map']). Figure 3: The neural network architecture “Comparator-Adder” for calculation Sim (Sit\({}_{act}\), Sit). Figure 4 shows the graphs of the change in the error and the value of the loss function during training of the neural network on the training dataset. During the experiments, the following final results were obtained at the output of the adder:  
* On TDS: Mape absolute error indicator--5.29% with the minimum value of the loss function 0.0022;
* On VDS: The absolute error of Mape is 9.55% with the minimum value of the loss function 0.0084. It can be seen data the Comparator-Adder architecture on the validation dataset showed results closer to the data on the TDS than in the study of the perceptron. The next stage of the study is the analysis of the results of calculations according to the methodology presented in work [8] compliance with the requirements for similarity metrics:  
* Sim (\(\text{Sit}_{k},\text{Sit}_{k}\)) = 1
* Sim (\(\text{Sit}_{k},\text{Sit}_{z}\)) = Sim (\(\text{Sit}_{z},\text{Sit}_{z}\)),
* Sim (\(\text{Sit}_{k},\text{Sit}_{k}\)) \(\geq\) Sim (\(\text{Sit}_{k},\text{Sit}_{z}\)),  
where \(k,z\) denote some indices of situations with different values. In conditions of uncertainty and a lack of training information, the first two requirements are formulated less rigorously: Sim (\(\text{Sit}_{k},\text{Sit}_{k}\)) \(\to\) 1, Sim (\(\text{Sit}_{k},\text{Sit}_{z}\)) \(\approx\) Sim (\(\text{Sit}_{z},\text{Sit}_{k}\)). For this, a subset of various situations in the validation dataset has been selected. Next, the similarity function between them has been calculated using the trained neural network Comparator-Adder. Table 2 shows the calculation results. As can be seen from the table, the results obtained correspond to the requirements in their not strict formulation, which approves the most similarities gets with comparison