Information System of Dynamic and Adaptive Control of Human Diet Based on Machine Learning Technology Nazar Oleksiv1, Oksana Oborska1, Khrystyna Mykich1, Solomiia Mushasta1, Yulia Pukach1 and Oksana Tereshchuk2 1 Lviv Polytechnic National University, S. Bandera Street, 12, Lviv, 79013, Ukraine 2 Hetman Petro Sahaidachnyi National Army Academy, Heroes of Maidan Street, 32, Lviv, 79012, Ukraine Abstract It is acknowledged that the way of each person's life, group of people and nations is formed depending on the specifics of geographical, economic, political, cultural, and religious conditions. Lifestyle is created due to daily repetition and consists of the following factors: nutrition, exercise, the presence of bad habits, moral and spiritual development, and so on. In recent decades, lifestyle has been considered an integral part of well-being, leading to increased research in this area. According to scientific research, more than half of health problems are related to diet. Unfortunately, millions of people eat incorrectly and are not even aware of it. There are many approaches to solving diet control, but it should be understood that different analogues offer different opportunities that are not always clear and convenient. It is because there are several ways to achieve the same goal. The need for research on healthy eating in modern conditions is one of the priority tasks to improve the physical condition of different age groups. The aim is to create a system that will be aimed at helping the end-user to follow a healthy diet by determining the composition and caloric content of the product and the formation of recommendations based on the appropriate rhythm of life. The system is designed to solve specific tasks: to recognize products, to correlate the product and its caloric content, to form a food diary, to remind the user about missed meals and to keep statistics. Keywords 1 Neural network, information system, mobile device, caloric content, machine learning, mobile application, process product recognition, computer vision, cross-platform, business logic, calorie counter system, convolutional neural network, food diary, modern machine learning technology, user profile, relational database, artificial intelligence, diet control, developed system, image recognition 1. Introduction It is known that the way of life of each person, group of people and nations is formed depending on the specifics of geographical, economic, political, cultural and religious conditions. Lifestyle is created due to daily repetition and consists of the following factors: nutrition, exercise, the presence of bad habits, moral and spiritual development, and so on. In recent decades, lifestyle has been considered an integral part of good health, leading to increased research in this area. According to the WHO [1-3], 60% of health problems are related to diet. Millions of people eat improperly and are unaware of it. There are many approaches to solving diet control problems [4-7], but it should be understood that different analogues offer different opportunities that are not always clear and convenient. It is because there are several ways to achieve the same goal. Research on healthy eating in modern conditions is MoMLeT+DS 2021: 3rd International Workshop on Modern Machine Learning Technologies and Data Science, June 5, 2021, Lviv-Shatsk, Ukraine EMAIL: nazar.oleksiv.kn.2016@lpnu.ua (N. Oleksiv); oksana.v.oborska@lpnu.ua (O. Oborska); khrystyna.i.mykich@lpnu.ua (K. Mykich); solomiyanytrebych@gmail.com (S. Mushasta); ilpach@yahoo.com.ua (Y. Pukach); ok.flyud@gmail.com (O. Tereshchuk) ORCID: 0000-0001-7821-3522 (N. Oleksiv); 0000-0001-9606-0267 (O. Oborska); 0000-0002-4324-2080 (K. Mykich); 0000-0003-4932- 4113 (S. Mushasta); 0000-0002-6358-8396 (Y. Pukach); 0000-0002-6444-0609 (O. Tereshchuk) ©️ 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) one of the priority tasks to improve the physical condition of different age groups [8-12]. The aim is to create a system that will be aimed at helping the end-user to follow a healthy diet by determining the composition and caloric content of the product and the formation of recommendations based on the appropriate rhythm of life. The system is designed to solve specific tasks: to recognize products, to correlate the product and its caloric content, to form a food diary, to remind the user about missed meals and to keep statistics. The object of the study is the control of the human diet and analysis of consumed products. Given that the object and the subject of the study are correlated as general and partial, the subject of the study is the recognition of products based on machine learning and the formation of relationships based on caloric content. The scientific novelty of the obtained results. Improved:  Methods of counting the number of required calories based on the activity regime and daily routine;  Methods of image recognition in ambiguity conditions and contradictions conditions. Has undergone further development:  Methods of reading barcodes using computer vision;  Methods of teaching a neural network with the type of architecture with a teacher. The main practical application will establish tracking consumed products and calculating the energy value for the user. Effective use of the system will simplify the active leading of a healthy lifestyle and will allow you to monitor the daily amount of calories consumed. 2. Related works The initial stage of work is to get acquainted with similar topics that are publicly available on the market. Therefore, this section covers several foreign publications that raise similar issues. This approach allows not only to rethink the chosen topic and learn many new things from the relevant areas. A team of researchers from the University of Massachusetts has developed a neural network that can list ingredients and form a food recipe. The input data for the operation of the system is an image of a predetermined format. The authors have created their own open database to teach the system, which has about a million different subject images. The database was formed by collecting information from available sources. The basis for this approach is culinary sites and access to food service databases. It follows from this article that the neural network works on the principle of joint embedding: it divides images into vectors with products or with ingredients. The neural network compares the formatted input image with the most similar picture of the recipe, which is compared with the input element under the influence of linear transformation. The researchers used the neural network in actual conditions and compared the available results of the system with those that people themselves gave in a random survey. Under these conditions, the accuracy of the neural network is 83.6%, while the survey showed that the recognition accuracy of the products included in the dish is 81.6%. All scientific sources can be classified into separate groups responsible for a specific area of the system. Thus, we specify the groups: the architecture of neural networks and methods of their training, image classification, nutrition and pattern recognition. Let's start with the architecture of neural networks and methods of their training. The author of the article [13] argues that machine learning has become widely used in applied fields and has excellent potential for development. Artificial intelligence is the basis on which all the latest products are developed. The publication's conclusion is the author's hypothesis that the most critical condition is constant work on improving technology for valuable purposes. Concerns have also been expressed that artificial intelligence could replace humans as a working unit. Different methods of implementing neural networks give rise to other approaches to their implementation. Therefore, the article [14-15] proposes a different (adaptive) approach to neural network learning. The authors [16- 22] present solutions to problems using the least-squares method. Note that the main disadvantage of simple neural networks is the rather cumbersome procedure for determining the weights, which, in most cases, are reduced to nonlinear programming problems. More effective in this regard is the basis, which focuses on reference vectors based on the least squares method and carries out the learning process using quadratic programming [23-27]. The conclusion of this work is to simplify the numerical implementation of the processing and counting of objects that are located at a considerable distance from the starting point. In the publication [28], the main idea of the work was a careful analysis of the convolutional neural network with a deep type of learning to recognize elements in the image. The typical architecture of ZNM is given in Fig. 1 [28]. During the empirical study, a set of optimal conditions for further implementation of the developed model was substantiated: the total number of layers in the network, the number of neurons in the hidden layers, and learning speed [29-32]. The result of the study is the developed structure of an artificial convolutional neural network, as well as introducing ways to apply the method of model construction, based on input data and phased development of hidden layers, algorithms for their training based on a predetermined sample [33-37]. Based on the methods and functions of the specialized library Keras [28], the model of the convolution network and the exact results in the process of the active phase of recognition were described. Figure 1: Typical convolutional neural network architecture Article [15] aims to implement such a neural network architecture radically different from the previous ones: it is not prone to horizontal scaling and is effective in real-time information processing. Also, several practical and straightforward learning algorithms are proposed to stabilize the network response time in real-time. This approach helps to solve identification and forecasting problems in systems where input information comes sequentially and accumulates in the process. The article [38] provides a fundamental analysis of various effective methods of processing the visual component of information that exist and are in demand today. The main focus is on the display of many objects and their standards [39-42]. The scheme of structural recognition is given in Fig. 2 [15] Figure 2: Structural recognition scheme And in the scientific article [33], variants of their application are offered. In the research using the Bayesian decision-making apparatus, the classification of images based on the structural description as a set of characteristic features presented in a cluster form is solved. The meaning of applying these approaches is to bring the analyzed object to the standard that has the highest value of a posteriori probability. The developed method provides a sufficient level of image resolution. The described calculations and simulation results confirm these conclusions. Thus, among the analyzed architectural approaches, we can conclude that the convolutional neural network is the best solution if our system is aimed in the long term. We have enough data that can be directed to the training of neurons. Otherwise, you will have to choose a fixed architecture based on reference vectors. Let's look at united sources by a common theme - image classification [43-51]. This source [43] reviews all aspects of image processing, pattern recognition, geometric optics, and artificial intelligence necessary for solving computer vision problems. It is also offered to get acquainted with the processing of the input image, its subsequent display, optimization hardware and methods [52-56]. Unique computer architectures for computer vision, new neural network programs, edge detection and segmentation strategies are discussed. In the article [39], the coefficients used in classifying the image to a particular group are considered. Also, the authors propose coefficients such as total classification accuracy, k-index and average accuracy between class characteristics. It has been shown that the k-index has several shortcomings and, therefore, cannot be used to assess the classification features accurately. The probabilistic approach based on the matrix of errors, analysis of the matrix and the formation of pros and cons of implementation, a new method of assessing the accuracy of the classification of photography - all this was discussed in this article. It is projected that the introduction of classification factors should bring significant advantages over existing approaches. As a result, we get more information about the source of errors and their nature. The article [44] solves the problem of recognizing visual objects based on applying the classification of image descriptors of the Kohonen network. The scientific work describes the options and results of processing in detail, which are regulated by a different number of artificially adjusted neurons. Criteria for assessing the level of correct classification are analyzed. The results of software modelling of the network with other options for processing and forming class centres are presented. The development of the work is the confirmation of the study on the universality and possibilities of successful adaptation of the Kohonen network by an arbitrary set of visual data, especially in the case of successful formation of primary class centres. In general, this allows you to train the network and achieve the necessary classification indicators for arbitrary initial filling of the database. All authors came to positive research methods, but the initial data and approaches to experimental data differed, making each algorithm unique in a particular application. We can conclude that the Kohonen neural network is an ideal solution with an initial dataset and a leading mathematical basis for implementation. The information-extreme method with the right approach will lead to almost actual results in recognition, so it is the best option for systems implemented in the areas for the right to error can be fatal: medicine, military affairs, etc. The best choice for a system implemented for educational purposes may be Bayesian methods, which are thoroughly researched and guarantee a stable result in the ordinary course of events. Regarding the mathematical results, the studies of the Kohonen network showed that the phased learning of the model in 50 epochs ended in about 2 hours, with the time spent on calculating one period in 145 seconds [44]. In turn, popular information learning [57-59] is extreme in almost 3.5 hours. However, it should be added that the complexity of organizing the initial configuration for the Kohonen neural network is also a long process, which far exceeds the organization for the information-extreme nutrition and requirements for its observance is one of the key parts of the developed system, so this topic is separated into a separate category. The article [11] states that a person's need for various nutrients depends on many factors: physical activity, environmental conditions, sex, age, physical development and so on. The decision to provide people in institutions with quantitative and qualitative nutrition requires explicit sex, age, physical development, etc. of substances received by the body, and the degree of compliance with the body's needs, based on balanced nutrition. The publication [2] demonstrates ways to organize a healthy diet for humans. The United States' experience in the organization of food for its population from a rational point of view is revealed. Calculations for determining the body mass index are given, and the correspondence of human height to weight is provided, which is shown in Fig. 3 [2]. Figure 3: Graph of correspondence between height and weight of a person One of the key conclusions is the recognition of the need to improve the promotion of healthy eating among the population, which will serve as a robust foundation for the nation's recovery. The thesis voiced that it is necessary to monitor the quality of different populations' food products closely. The norms which influence the use of daily calories are established. Such indicators influence the reduction of energy reserves as physical activity, weight, height and age. Next, consider the article [4], which analyzes the daily diet of different segments of the population of Ukraine. The result of the study is disappointing. According to statistics, the population violates their diet, and their diet shows a lack of specific vitamins, trace elements, etc. To normalize the spread of the problem and propose their solution, the authors created their model of forming the proper diet. For example, the information model is based on the student, shown in Fig. 4 [4]. Figure 4: A simulation model of human diet formation It is not enough to eat properly to lose weight. Therefore, the article [6] proves the need to automate calculating calories, determining the nutritional value of foods and keeping a food diary. Furthermore, the authors substantiate the relevance of the development of services that will simplify creating physical sessions for sufficient load, taking into account the characteristics of the human body. Therefore, the main task is to automate the process of training and nutrition. Automatic calorie recording in the user profile and well-established communication with fitness trainers can spread the system to the general public [60-69]. The authors consider the introduction of educational institutions in the early stages. The article [31] explores ways to use QR-code to improve the efficiency of service systems. The positive and negative sides of the QR-code are shown in Table 1. Table 1 Advantages and disadvantages of QR-code Advantages Disadvantages Storage of large amounts of digital and textual Relatively high cost of mobile Internet. information. Speed of QR-code creation. Low level of public awareness about QR- coding technologies. High recognition speed. After all, the print size of this There may be technical problems. code can be minimal. The ability to read in any direction and for placement is suitable for almost any surface. resistance to damage (reading at code damage up to 30%). The main advantage of a QR code is the amount of information transmitted using an image. The peculiarity is that the image size is much smaller than the amount of data that the device with the camera can receive. The authors simplify the definition of this technology and argue that the QR code is primarily a simple way to distribute and receive digital information. The result of scientific work is to determine the feasibility of using technology in current market conditions. Food photos are widely used in food magazines and social networks to share gastronomic experiences. Many of these images are made in restaurants. Recognition of dishes, in general, is very complex due to the different national words, varieties, cooking styles and the inherent complexity of modelling food from its visual appearance. First, you need to adapt the photo frame based on the rejection of unlikely categories located far from the test image. Then, reformulate the problem using a probabilistic model that combines dishes, restaurants, and places. This model is used in three different tasks: food recognition, restaurant recognition and space improvement [70]. In May, the popular photo service Pinterest added dish recognition to its image search program. Now, if you take a picture of the food with the program's help, it recognizes certain ingredients and offers recipes related to them, which is shown in Fig. 5. The company plans to use this technology to help brands advertise to Pinterest users. Figure 5: Pinterest Figure 6: Calorie Counter system Figure 7: Lose it! System Artificial intelligence can recognize from a photograph which ingredients have been in the food: represented by a plate of cookies, for example, the system can know that they probably include flour, eggs and butter. But at the moment, AI can't tell how the ingredients were cooked - it don't know if the onions have been stewed or fried. And while it tries to recognize hidden ingredients in sushi, the system is especially good at finding cookie and cupcake recipes, Haines says, because they are relatively popular online. The study will be presented later this month at the Computer Vision and Pattern Recognition Conference in Honolulu, Hawaii. First, consider existing solutions in the market and conduct a comparative analysis. Let's start with the mobile application "Calorie Counter", which is shown in Fig. 6. This program allows you to find information about the nutritional value of food and simplifies forming a food diary and exercise. The system aims to balance the content consumed with the user's physical activity during the day, so be prepared to record all physical activity. However, the procedure can be burdensome for those who do not have enough free time for such manipulations. Positive aspects of the Calorie Counter system:  Integration with intelligent watches;  Availability of a dietary calendar;  Weight tracking;  Image recognition;  Reading QR - codes of products. Disadvantages of the Calorie Counter system:  Most of the subject functions are paid (diet plan, tracking of calories consumed and water balance);  Lack of language selection in the program interface;  Quite a small database of products;  Linking ingredients to specific regions;  Low level of object recognition. The next competitor in the market is the system "Lose it!". It is a mobile application that helps to achieve the goal associated with weight loss. Works in the format of goal setting and monitoring of gradual progress. The developers claim that the system uses sound principles of calorie counting and tracking consumer balance. The interface of this system is shown below, in Fig. 7. Advantages of the "Lose it!" System:  Allows you to track the daily routine (controls such processes as sleep duration, weight change, steps taken, etc.);  Shows the caloric content of products;  Graphic visualization of statistics;  QR - scanner;  Ability to compose your recipes. Disadvantages of the system "Lose it!":  All functionality works only due to manual input;  Slow product search algorithms;  Low sample of products and dishes;  No process control. Lifesum is a mobile application that serves as a food diary, health journal and calorie counter. The list of functions helps to lose weight or gain weight and maintain physical shape. The interface of this system is shown below, in Fig. 8. Figure 8: Lifesum system interface Figure 9: Calorie Mama AI system interface Advantages of the Lifesum system:  Advice on nutrition and diets, based on expert assessment;  Calculation of calories consumed;  Food Diary function;  Beautiful visualization of processes;  A round-the-clock support group that answers questions and solves difficulties. Disadvantages of the "Lifesum" system:  Everything must be entered manually (it is not possible to take photos);  No ingredient recognition function;  English interface language only. Consider a system that is as close as possible to the developed - "Calorie Mama AI". The system is shown in Fig. 9. This application allows you to calculate the energy value of products that will be recognized after image analysis. The developers claim that the system is able to identify more than a thousand categories such as fruits, vegetables, meat, cereals, beverages, etc. Alternatively, the system is able to analyze packaged foods and barcodes. Using a paid subscription allows you to:  Get access to tracking additional nutrients: carbohydrates, fats, sodium, etc.;  The function that tracks calorie expenditure;  Making changes to the current profile;  Creating user groups;  Access to specialist-approved exercise to maintain tone. Advantages of the Calorie Mama AI system:  Fast recognition algorithms;  Convenient and intuitive interface;  Scanning barcodes;  Availability of a large number of recipes;  Cross-platform;  Synchronization with "Fitness Buddy", "Instant Heart Rate" and "Sleep Time";  API access without system installation. Disadvantages of the system "Calorie Mama AI":  Ability to scan only American products;  Small bar code database;  Non-optimized system: heating of the device during long-term use;  Poor synchronization with the watch;  Short trial period;  An obsessive offer to make a paid subscription;  Most of the functionality works with a subscription;  English interface language only. To summarize the characteristics of these systems, we create a comparative table 2. Table 2 Comparative table of analyzed systems Name «Calorie «Lose it!» «Lifesum» «Calorie Mama AI» Counter» The duration of the None none none 7 days trial version Subscription fee 99 135 169 250 (UAH) Interface language English 5 languages with a choice of 20 English the possibility of languages change System size (MB) 41 29,8 61,5 110 Authentication Google, none none Google, Facebook using third-party Facebook services Image recognition Available available It is absent based on artificial intelligence Barcode scanning None available none using cv Average It is absent to 10 It is absent 6 recognition time (c) Profile analysis None sleep control for premium if you have a subscriptions subscription Forming tips Exercise works based on based on a if you have a the set norms macro- subscription calculator Notification widget on the none available available home screen Sync with other None Garmin tracker, google fit, argus, fitness devices Withings scale, health buddy, instant google fit, heart rate, argus Healthkit Tracking progress history available history It is present consumption diary magazine Help centre Inaccessible available chat inaccessible only on a separate site Table 2 shows that the system "Calorie Mama AI" is able to meet most user needs but will have to pay a much higher price than competitors. This pricing policy is dictated by the most extensive base for processing and analysis. Quality is also guaranteed through the use of machine learning algorithms and artificial intelligence. The use of computer vision determines the speed of barcode recognition. The "Calorie Counter" system is the cheapest and is ready to cope with basic needs: counting calories, forming physical activity by the activity and keeping a history log. The main disadvantage is the lack of making and analyzing images of dishes, so it is inferior to analogues in practice. The optimal solution for value for money can be a system "Lose it!". It is able to recognize images and barcodes, perform analysis, synchronize with other devices and more. The advantage over others is the flexibility in choosing the interface language and the weight of the programs. However, as a recognition, this system is inferior to "Calorie Mama AI". Thus, the availability of many approaches and means of solving one problem allows you to create different solutions and compare their effectiveness. However, there is a possibility that the use of some tools is not able to solve all the tasks, so we have to resort to the implementation of various solutions, which together allow achieving the desired result. After studying the characteristics of analogues, it became clear that the market does not have an ideal system for price-quality aspects. All applicants have some parts but exclude the presence of others. 3. Materials and methods Within this section, we will connect all the system's goals and build a tree of destinations. First, let's highlight the main goal, which will serve as the top of the tree and the subordinate objectives of the first and second levels. The primary purpose of the developed system is to create an information system of dynamic and adaptive control of the human diet based on machine learning [71-78]. To achieve this goal, it is necessary to analyze the subject area, design the system, and implement it. The goal tree shown in Fig. 10 allows you to create a compelling and complete hierarchical structure by decomposing the primary goal. The purpose of the analysis of the subject area is to analyze the current market situation, explore methods that allow you to solve specific problems, etc. At the design stage, the necessary functions of the system are prioritized, and structural approaches are formed. The implementation stage is the implementation of the already researched and designed solution in an existing information system. It is known that according to the level of automation, information systems are divided into information retrieval, information reference, information management and intelligent information systems and decision support systems. Figure 10: Goal tree To select the appropriate type of information system, we use the method of analysis of hierarchies. As alternatives, we choose four types of information systems: information retrieval (A1), information reference (A2), decision support system (A3) and intelligent information retrieval system (A4). Determining the type of information system will be evaluated about six characteristics of the novelty of the developed product (K1), quality of recognition (K2), flexibility of implementation (K3), productivity (K4), speed (K5) and ease of use (K6). To calculate the expert assessment, we use the scale of the relative importance of priorities, which is given in table 3. Table 3 The scale of the relative importance of priorities Value Qualitative characteristics 1 Equivalent elements 2 Insignificant priority 3 Weak priority 4 Moderate priority 5 Significant priority 6 Significant priority 7 Strong priority 8 Extreme priority 9 Unconditional priority We represent the relative importance of one criterion compared to others in the matrix of comparisons of characteristics in Fig. 11. К1 К2 К3 К4 К5 К6 ВЧ ВВ К1 1 1,5 1,17 1,2 1,33 1,25 1,33 0,1 К2 3 1 1,2 1,25 1,5 1,33 1,5 0,11 К3 7 6 1 3 5 4 3,99 0,29 К4 6 5 1,5 1 4 3 2,98 0,22 К5 4 3 1,25 1,33 1 1,5 1,79 0,13 К6 5 4,03 1,33 1,5 3 1 2,26 0,16 Figure 11: Matrix of characteristics comparisons By formula 1 we calculate the eigenvalues: 𝑛 (1) ВЧ = √∏𝑛𝑗=1 𝑎𝑖𝑗 . By formula 2 we calculate the eigenvectors: 𝑤 ВВ = ∑𝑛 𝑖 𝑤 , (2) 𝑖=1 𝑖 where wi is own number, ∑𝑛𝑖=1 𝑤𝑖 is the sum of eigenvalues for a specific criterion. We compile matrices of pairwise comparisons of the created alternatives A1, A2, A3, A4 for each of the criteria and the corresponding goal in Fig.12: А1 А2 А3 А4 ВЧ ВВ А1 1 1,5 3 5 2,41 0,27 А2 3 1 5 6 3,51 0,39 А3 1,5 1,25 1 3 1,71 0,19 Matrix for criterion "novelty" А4 1,25 1,2 1,5 1 1,4 0,16 А1 А2 А3 А4 ВЧ ВВ А1 1 1,5 1,25 3 1,71 0,19 А2 3 1 1,5 5 2,41 0,27 А3 5 3 1 6 3,51 0,39 Matrix for criterion "quality" А4 1,5 1,25 1,2 1 1,4 0,16 А1 А2 А3 А4 ВЧ ВВ А1 1 1,5 1,25 3 1,71 0,19 А2 3 1 1,5 5 2,41 0,27 А3 5 3 1 6 3,51 0,39 Matrix for criterion "flexibility" А4 1,5 1,25 1,2 1 1,4 0,16 А1 А2 А3 А4 ВЧ ВВ А1 1 1,5 3 5 1,71 0,19 А2 3 1 5 6 2,41 0,27 А3 1,5 1,25 1 3 3,51 0,39 Matrix for criterion "performance" А4 1,25 1,2 1,5 1 1,4 0,16 А1 А2 А3 А4 ВЧ ВВ А1 1 3 1,2 5 2,12 0,23 А2 1,5 1 1,25 2 1,71 0,18 А3 6 5 1 6 4,16 0,44 Matrix for criterion "speed" А4 1,25 1,5 1,2 1 1,4 0,15 А1 А2 А3 А4 ВЧ ВВ А1 1 3 5 6 3,51 0,39 А2 1,5 1 3 5 2,41 0,27 А3 1,25 1,5 1 3 1,71 0,19 Matrix for criterion "convenience" А4 1,2 1,25 1,5 1 1,4 0,16 А1 А2 А3 А4 ВЧ ВВ А1 1 1,5 1,25 1,2 1,4 0,16 А2 3 1 1,5 5 2,41 0,27 А3 5 3 1 6 3,51 0,39 Matrix for criterion the main goal А4 6 1,25 1,2 1 1,71 0,19 Figure 12: Matrices of pairwise comparisons of the created alternatives A1-A4 for each of the criteria We create a matrix of comparisons of alternatives and identify the type of information system. The matrix of comparison of other options is shown in Fig. 13. Thus, the result of the method of analysis of hierarchies is an information system to support decision-making. Figure 13: Matrix for comparing alternatives In detailing the structure of the information system, the implementation of IDEF0 diagrams was chosen. The conceptual model of the process "Product recognition and diet control" is shown in Fig. 14. The input parameters for the full functioning of the system are data on the caloric content of products, data on dishes, a dataset with images, user features (set in the settings) and an authorized profile for access to the API with barcodes. One of the critical parameters that influence the formation of advice and establishing a consumption plan is dietary norms. The initial result of the whole system can be the final calculation of calories and the establishment of recommended theses on nutrition and adherence to the regime. The following steps are to build hierarchies of lower-level processes. Figure 15 shows a decomposition diagram of the first level of "Product recognition and diet control". Fig. 16 presents a decomposition diagram of the second level of the process "Product Recognition". Fig. 17 shows a diagram of the decomposition of the second level of the process "Determination of energy value of products". Fig. 18 illustrates a diagram of the second level decomposition of the process "Statistics". Figure 19 shows the decomposition diagram of the third level of the process "Recognize the object": Figure 14: Conceptual model of the process "Product recognition and diet control" Figure 15: Decomposition of the first level of the process "Product recognition and diet control" Figure 16Decomposition of the second level of the process "Product Recognition" Figure 17: The second level of the "Determination of energy value of products" process Figure 18: Decomposition of the second level of the process "Formation of dietary advice" Figure 19: Decomposition of the third level of the process "Recognize the object" Fig. 20 presents a diagram of the decomposition of the third level of the process "Break the dish into ingredients". Fig. 21 shows the decomposition diagram of the third level of the process "Get data on the barcode". Fig. 22 presents a decomposition diagram of the third level of the process "Involve the user in recognition". Fig. 23 shows a diagram of the decomposition of the third level of the process "Put by the products - calories". Figure 20: Decomposition of the third level of the process "Break the dish into ingredients" Figure 21: Decomposition of the third level of the process "Get data on the barcode" Figure 22: Decomposition of the third level of the process "Involve the user in recognition" Figure 23: Decomposition of the third level of the process "Match products - calories" Fig. 24 presents a decomposition diagram of the third level of the process "Get calories from the barcode". Fig. 25 illustrates a decomposition diagram of the third level of the process "Update History". Fig. 26 shows a decomposition diagram of the third level of the process "Update neat network dataset". Figure 24: Decomposition of the third level of the process "Get calories from the barcode" Figure 25: Decomposition of the third level of the "Update History" process Figure 26: Decomposition of the third level of the process "Update neat network dataset" Fig. 27 presents a diagram of the decomposition of the third level of the "Create a popularity rating" process. Fig. 28 shows a diagram of the third level decomposition of the "Generate advice on change" process. Fig. 29 presents a diagram of the decomposition of the third level of the process "Filtration according to preferences". Figure 27: Decomposition of the third level of the process "Create a popularity rating" Figure 28: Decomposition of the third level of the process "Generate advice on change" Figure 29: Decomposition of the third level of the process "Filtration according to preferences" Based on IDEF0, we will build a hierarchy of processes that affect the result of the system. To do this, in the All Fusion Process Modeller environment, we will generate a prototype of the already created hierarchy. The work is shown in Fig. 30: Figure 30: Hierarchy of processes (functions, tasks) The choice of software for implementing the system is primarily due to the peculiarity of the platform for its further performance. The system will be available on mobile devices, so this feature requires specific or cross-platform technologies. The favourites on the market to solve this goal are such programming languages as JAVA, Kotlin, C #, Swift, Objective C, JavaScript. These programming languages have their characteristics, so we detail them. As for the JAVA programming language, it is considered the best option if the system's target audience is users who own mobile devices on the Android operating system. It is clear that in this case, it is advisable to use a native programming language. Using this programming language for a mobile platform with a "green robot" will bring you closer to the maximum fast operation of the interface, which will form a better experience from use. Furthermore, using native elements of the Android operating system allows users to see the corresponding graphic details on different versions. That is, during development, you may not specify the final version of the mobile platform. Focusing on one operating system excludes users who own devices on a different OS. Therefore, users on iOS will not be able to use the developed system. This condition is why such a language as JAVA is not used to create this system. Moreover, free access to JAVA remains unclear because, for example, version 13 is paid, and it is unknown what to expect from the next ones. New versions are introduced for the following reasons: improving existing designs, creating entirely new ones, improving security measures for library vulnerabilities, and so on. Accordingly, the use of the paid version will not allow the involvement of volunteers in the project, which could theoretically improve the project on an unrestricted basis. A similar controversy is observed in the Swift programming language. Although it is evolving rapidly and enriched with new structural approaches, it is purely for the iOS operating system. It is clear that this language automatically reduces the possible number of active users. The C # programming language is a favourite, in this case, thanks to the .Net Core platform. Using this platform allows you to run projects of varying complexity on different platforms Windows, Linux, macOS, etc. The platform is quite popular today because it is freely available. Regular updating, focus on broad functionality and integration with Microsoft products allows you to choose this platform as the basis for writing the business logic of the developed system. The introduction of cross-platform Xamarin technology allows you to target users with operating systems such as Android and IOS. However, this possibility creates a disadvantage - the size of the project. By default, when creating a Xamarin solution, four projects will be included: a general task, a project for Android devices, a project for IOS devices, and UWP devices. Too many projects, cross- platform modules and dependencies lead to too much dimensionality of the final system. This disadvantage affects the installation time for users, the CI / CD deployment time and the development time, as the build time is directly proportional to its size. Also, a strong argument against this technology is the lack of native elements so that the input field will look the same on all platforms. This decision is not joint, as it contradicts accepted practices. An alternative cross-platform solution is to use the ReactNative framework. It uses JavaScript and JSX (JavaScript-XML) to implement native applications on IOS and Android operating systems. It is worth noting that the result will be the same as if we use Java or Objective C., And everything is possible without being tied to a specific mobile platform. React Native is the best way to build your mobile applications (Fig. 31). With the tool, novice developers can actively create productive mobile applications. Ability to automatically update the code in the "hot reload" mode (hot reload) and immediately see the changes, whether in the emulator or on an actual device. The above features have a positive effect on the developer and improve his experience. Figure 31: React Native Figure 32: PostgreSQL interface It is good practice to use Redux in combination with modern frameworks and libraries. Redux is a global status container for applications written in JavaScript. It helps develop applications that behave consistently, run in different environments (client, server) and are easy to test. In addition, it provides an excellent experience for developers, such as editing live code in combination with the process of "debugging" in real-time. Redux is small in size (about 2 KB, including dependencies) but has a large ecosystem of "addons". It is advisable to use this framework for the following reasons:  • Time efficiency: due to the feature of "fast reboot";  • Performance: uses a separate interface thread;  • Community growth: open-source project;  • Cross-platform application. Regarding the implementation of relational databases, candidates such as MySql, MSSQL and PostgreSQL were considered. As for MySql, it is a free relational database management system. They are supported on Windows, Linux and UNIX platforms. Because it is a relational database, data is stored in tables that contain tuples and attributes. Typically, MySql is used in conjunction with PHP. The server of this database runs on a client/server model or embedded systems. It consists of a multi- threaded SQL server that supports various software tools, various client programs and libraries, administrative tools and a wide range of application programming. The advantages of this system are data security, on-demand scaling, round-the-clock operation, comprehensive transaction support, complete control of the workflow, open-source flexibility, adaptability and ease of use and speed. Disadvantages of implementing this system include limited complex business logic, open issues of stability, inefficient processing of some operations, and functionality dependence on addons. Also, consider PostgreSQL as one of the most professional database systems, shown in Fig. 32. It is managed and supported by an open community, provides full support, and helps solve specific application problems. It runs on various platforms Windows, Linux and Mac. The advantages of PostgreSQL include a simplified transaction process, code commenting, a large number of internal parameters and the ability to install extensions to improve security. As for the shortcomings, it is worth mentioning the complex structure, poor efficiency and common problems with backup recovery. We also considered a relational database model such as MS SQL, which works well with local databases and cloud environments. Starting with Microsoft SQL Server 2016, the system is available on Linux. The advantages include speed and stability, the ability to track load levels, the ability to gain limited access to the database, even on a mobile device, excellent integration with products from Microsoft. The disadvantages include the high price of a full version. Furthermore, despite the optimization, there are cases of significant resource consumption. So, we summarize the comparison in the form of table 4. Table 4 Comparative table of the considered RDBMS Name MySQL PostgreSQL Microsoft SQL Server Primary models RDBMS RDBMS RDBMS Secondary models Document store, Graph DBMS Developer Oracle PostgreSQL Global Microsoft Development Group License Open access Open access Commercial OS support FreeBSD, Linux, OS X, FreeBSD, HP-UX, Linux, Windows Solaris, Windows Linux, NetBSD, OpenBSD, OS X, Solaris, Unix, Windows API and other ADO.NET, JDBC, ADO.NET, JDBC, ADO.NET, JDBC, access methods ODBC, Proprietary ODBC,ts ODBC, OLE DB, native API Tabular Data Stream Scripts on the Available Власна мова PL/pgSQL, Transact SQL, .NET server-side Perl, Python, Tcl languages, R, Python Transaction ACID ACID ACID concepts Possibilities of Available Missing Available storage in memory Access control User-defined According to SQL According to SQL authorization concepts standard standard The ORM in Asp.Net Core will run much faster in conjunction with MS SQL, so the choice was made on Microsoft SQL Server. The software was written in Microsoft Visual Studio 2019. Visual Studio is a development environment (IDE) created by Microsoft (Fig. 33). This environment is used to develop classic applications for Windows, mobile applications, web projects, games, etc. There are several editions to which the Community belongs - a free version, which can be accessed through an existing Microsoft account. There are also paid versions: Professional and Enterprise. Figure 33: IDE Visual Studio 2019 Figure 34: Visual Studio Code interface To set the development environment, the minimum requirement is a processor with a clock speed of at least 1.8 GHz. The minimum possible amount of RAM is 2 GB (recommended to use - 8 GB). The above requirements satisfy the workstation on which the system is developed. The peculiarity of programming in the VS environment is that it can attract other users using VS Live Share technology. Improved version of Team Explorer - you can temporarily save changes to the project and work on further developments simultaneously. Improved global file search efficiency, allowing you to move faster on a large project. Another development environment is another product from Microsoft - Visual Studio Code (Fig. 34). In this environment, the development of the interface design for mobile devices was carried out. First of all, many additional packages make this text editor a powerful tool for the development environment. It is worth noting that all development environments from Microsoft have an IntelliSense system, which provides clever hints to the introduced functions, methods, commands and dramatically simplifies the process of writing code. The most significant effect is achieved in projects that are written in languages supported by the .Net platform. The convenience of project debugging, built-in git commands in the system interface, the possibility of maximum customization of the environment, simplification of the project scanning process - all these positive features allow you to use VS Code as an indispensable code editor. It should also be noted the incredibly high speed, which is significantly different from all available alternatives. VS Code positions itself as a cross-platform code editor that allows you to use it on Windows, Linux and Mac operating systems. The database was configured and developed in SQL Server Management Studio 2017. This utility contains an editor for interacting with scripts and a graphical shell for configuring and administering servers.SQL Server Management Studio's primary tool is Object Explorer, which allows users to explore, view, and fully manage server objects. Therefore, in this section, the analysis of software for system implementation is carried out, and the most optimum taking into account the set tasks is revealed. The choice of relational database and development environments is substantiated. 4. Experiments, results and discussions The software product is designed based on a three-tier architecture consisting of the following levels - presentation, business logic, and database access. Visualization of the system architecture, the relationships between the layers and the related technologies for their implementation are shown in Fig. 35. Figure 35: System architecture It is worth noting that the sequence of layers is appropriate and constant. That is, the level of representation "knows" only about the existence of business logic. In turn, business logic interacts with the level of expression and access to the database. The story of access to the database using the scripting language and a given link brings the results to specific objects and sends the product to a higher level. The advantages of this architectural solution are:  Code maintenance and support - each level is independent, so changes in one class do not lead to changes in another;  Flexibility - each level can be managed and scaled separately;  Reuse - independence allows you to use levels within different systems;  Faster development process - other specialists can deal with specific areas: front-end specialists - the representation, back-end engineers - the introduction of business logic; database administrators - develop a database model. The work of architecture is as follows. The user performs a set of operations that lead to a request to the server. Within the presentation level, projects are exchanged via the REST interface. A request comes from the mobile device and goes to the appropriate controller. The proper method of the controller calls the object from the level of business logic and instructs it to perform tasks. In turn, the business logic layer calls an object from the database access level to connect to the database to retrieve data. The last story forms the language of scripts that are executed for a given database. After processing the data at each level (top-down), the response is returned to the controller. The processing result is sent using the HTTP protocol with the corresponding status code on the development of the operation. The information is provided to the user due to processing the body of the response that the device received from the server part. Let's start with a database description, which is directly related to the lowest level and is the central place to store data within the system. The database meets the requirements of 3NF and consists of the following tables: Users, Roles, Genders, Meals, MealTimes, Ingredients and Measures. The scheme is shown in Fig. 36. The following relationships have been established between entities:  Roles and Users - 1: N, as many users can register with a shared role;  Genders and Users - 1: N, as one gender can belong to many users;  Users and Meals - 1: N, because one user can create many unique dishes that differ in image, UPC, consumption time, etc .;  MealTimes and Meals - 1: N, because, for example, many dishes can be breakfast/lunch/dinner;  Ingredients and Meals - N: N (with intermediate table MealIngredients), because one ingredient can be in several dishes and vice versa - one dish can consist of many elements;  Ingredients and Measures - 1: N, which is true: one aspect can be measured in grams, number of tablespoons, etc. The development created a database-level validation that will not allow you to create a tuple if the required field is empty or the field's length exceeds the allowable limits. Figure 36: The database schema Fig. 37 shows an example of conditions that ensure efficient use of the system. Validation measures of this type help reduce the database's size and get rid of empty records in the table at a distance. The database is directly related to the level of data access. This level has a connection that allows you to connect to a database server that will run scripts in the future. Because this system is highly dependent on the database, so Dapper was chosen as the main ORM. The implementation of this package will allow you to directly write scripts in the code that the database server will process. The business logic layer performs basic operations within the system: saving files, bringing objects to a specific form, sending requests to open APIs, and so on. Within a system, there are two types of layer exchange objects: transport objects and model representations. Transport objects are identified with a specific database model. The model representation is a collection of many models and is an alternative to using temporary tables in the SQL standard. The presentation level consists of a project in which the code for the user interface for mobile platforms is written and a project that receives requests from the previous one. An example of a query with the return of a successful result is shown in Fig. 38. Fig. 4.5. Example of validation of the table "Users" Figure 37: Example figure Figure 38: Successful query result Using such a powerful tool as Redux has created a single data warehouse for the entire application. Applying this approach allows you not to send a request if we have done so before. First of all, we speed up the system and optimize the mobile device's resources because we do not create new variables. The basic cycle of Redux is shown in Fig. 39. Components are the building blocks of our system that send specific signals to the repository. Manipulations within components cause specific actions that change the state in the storage and update it accordingly. A repository is an object that contains all the forms at a particular point in time. The warehouse is registered in the root, the main component, which is the first to run in the system. You can access the state using the getState () function. You can update the status using the dispatch () function. In Fig. 40, the system repository is shown. Fig. 41. shows the state of the history of consumption. It features the unique values of each product. Finally, the available state tree is given in Fig. 42. Figure 39: Redux cycle Figure 40: System storage Figure 41: System storage Figure 42: Tree of estates Introduction. For full use of the system, it is necessary to get acquainted with the technical characteristics and functionality of the program. The user manual helps in this context. General information of the program. The name of the program is "PocketDietCoach". The program is written using the C # and JavaScript programming languages. The SQL standard was used to write scripts to interact with the database. The following development environments were used during the development: Visual Studio 2019 and Visual Studio Code. Microsoft SQL Management Studio 2017 was used during the story. The Git version control system was used using Git Bash. The program is designed to control the daily diet and automatic calorie counting. This focus of the system suggests that its implementation is possible in various spheres of life. As for the system's capabilities, you should make a list of needs that it can meet for the user. The main functions include recognition of products and QR-codes, determination of energy value, automatic calculation of caloric content, control over consumption, forming a consumer diary, tracking history. Ancillary features of the program are sending notifications of missed meals and recommendations for improving the diet. Classes of solved tasks. The system solves the problem of determining the dish and its contents, highlighting the exposure and recognizing the word in the image, calculating the energy value, recording the processed information in the user profile, notification of missed meals, and recommendations for consumption time. One of the initial methods is that help to solve the tasks - methods of authentication and authorization. During these procedures, it is determined whether the user can log in and perform certain operations. Successful authentication results are in a temporary token that is active for 40 minutes. It means that it quickly becomes inactive, and the system updates it. It allows the system to ensure that the requests are sent by a specific user, not by an attacker who changed the encrypted part of the key. The following method is to get statistics for the current date. A successful result allows you to process data and display information on the user's screen. This method is parameterized, so navigation on the home screen causes a new request with a variable date parameter. An essential strategy for organizing processes for the system is the formation of statistics related to power sets. The processed information is submitted to the relevant sections, which can be further defined in the user profile. Regarding the functions that perform the analyzed tasks, the client part distinguishes:  createStore - creates a global object that contains the current states;  combineReducers - a combination of all states for the global store;  signin - sends a get-request for user authentication;  signup - sends a post-request to create a user;  updateProfileInfo - sends a patch request to update the user profile;  createStackNavigator - creates a navigation stack for a single menu item;  createDrawerNavigator - merge all application stacks that change when you select a new option in the drop-down menu on the right;  getInAccount - the function gets values from AsyncStorage;  renderMealsBoard - depending on the result obtained from the database, this function returns various components to the home screen;  navigationOptions - the rendering of elements of the navigation menu is set;  saveDataToStorage - save the date to local storage;  getMealsByUserIdAndDate - the function sends a request and receives a list of periods for eating;  addMealByPhoto - the function sends images for a specific period; Regarding the functions performed on the server-side:  CreateUserAsync - is responsible for creating a user. Successful creation returns the DTO of the created user;  GetUserAsync - returns the DTO of the created user according to the passed input parameter;  GetUserCredentialsAsync - a private method that is called when logging in to compare encrypted passwords further;  GenerateRefreshToken - the function generates a long-term token and writes it to the database of a specific user;  GenerateAccessToken - a short-term token is generated, which consists of a header, information to transmit and an encrypted signature;  GetPrincipalFromExpiredToken - the method retrieves the signature from a short-term token;  AddNewIngredient - record a new ingredient in a specific table;  GetAllIngredientsByMealId - the method allows you to create and execute a query to the database and get a list of ingredients;  GetAllMealsByDate - the method allows you to create and execute a query to the database and get a list of dishes that satisfy the transmitted data;  AddNewMeal - is responsible for creating a new dish consumed by the user. Successful creation returns the DTO of the created dish;  GetTheClosestMealTime - this method determines in which time category it is advisable to write the current dish;  AddNewIngredient - is responsible for creating a new ingredient consumed by the user. Successful creation returns the DTO of the created dish;  GetAllIngredientsByMealId - the method returns all the ingredients of a particular dish;  UnitOfWorkSave - a method of a UnitOfWork object that stores the current transaction;  OnConfiguring - a method in which database parameters are configured;  OnModelCreating - a method that sets validation rules for writing an object to the database;  GetIngredientsByPhoto - a method in which the recognition of ingredients by image;  GetNutritionsByUpcAsync - the function will receive data according to the received bar code;  GetIngredientsNutriotion - the method compares the ingredient and its energy value;  AutoMapperConfiguration - this method configures interdependent objects;  ServicesConfiguration - configure the living area for classes and system interfaces. In terms of time characteristics, the recognition of a product such as pizza is approximately 5s. However, this time dependence depends on the speed of the Internet so that it may differ on the devices. Nevertheless, compared to analogues, this time is more than satisfactory for a given purpose of product recognition and calorie counting. Currently, there is only one mode of operation in the program - custom. At this stage, the possibility of maintaining global statistics and creating an administrative method for closed users is being developed. The controls are the freely available Clarifai API, which is also capable of recognizing dishes. If the local neural network could not match the received image, the unrecognized element will be sent along the described route. NutritionxAPI is used to recognize the barcode. The limitation of the program is the presence of a device with Android / IOS version 8 and higher. The device must be equipped with a camera module for the entire operation and have access to the Internet. The system requires access to these parts of the device during the first start-up to comply with all usage rules. A smartphone, camera module, and Internet access must fully use the system in full release mode. Requests can be sent via Wi-Fi or cellular data. The primary condition is the optimal data rate. Also, an essential requirement is to use the Android or iOS operating system on your mobile device. The features of the operating system versions are as follows: for Android, the Android SDK version must be at least higher than 8.0. For iOS devices, the system will run successfully on iOS version 11 and above. In local development mode, you need to compile the project and get its assembly DLL. Then, run the ASP.NET CORE project regardless of the start port. The next step is to run React Native to run on your mobile device. Finally, the mobile project is launched using npm commands in the developer console. To access the application, you must install it on a user's mobile device. The installation process meets the conditions of the platform community, which is confirmed by permission to use the camera and the Internet connection. To start, you need to log in to the application called "PocketDietCoach", which is shown in Fig. 43. Logging in the system indicates in Fig. 44. Here you need to enter the login and password of the created account. The main page is shown in Fig. 45. The navigation menu is shown in Fig. 46. The photo mode is given in Fig. 47. Finally, activity statistics are presented in Fig. 48. Figure 43: Home screen Figure 44: Login page Figure 45: Home page Figure 46: Navigation menu Figure 47: Photo mode Figure 48: Activity statistics Figure 49: Home page Figure 50: Body parameters Consider the efficiency of the system and the compliance of the task to the results of work. After the user downloads the application, he sees the page shown in Fig. 49. This page appears when the token has expired or does not exist at all. After a successful login process, the next login will redirect the user to the home page. The user can go to the registration page or log in under a pre-created account on this screen. To complete the registration process, the user must click on the "Create Account" button and go through the account creation procedure. Fig. 50 shows users that are asked to enter gender and body parameters: age, height, and weight. The presence of these parameters in the system allows you to determine how many calories the body needs. After entering the required parameters, the user must fill out the registration form shown in Fig. 51. You need to fill in all available fields and enter your login, e-mail and password. The order of registration is accompanied by two stages: the introduction of body parameters and creating a profile. If the user has created a profile in the system, he goes to the Login page, which is shown in Fig. 52. The system prompts the user to enter their e-mail and the corresponding password. If the response is successful, the user will go to the main page from the server. Suppose the user has not filled in all the fields or entered a login/password that does not correspond to reality. In that case, the user will see the appropriate messages that will notify him of non-compliance with the validation conditions. In Fig. 53 -54, examples of such statements are shown. Figure 51: Registration Figure 52: Login Figure 53: Validation Figure 54: Validation message The main page is shown in Fig. 55. The page is conditionally divided into two parts. The first contains information about the calories consumed, and the second - the dishes that the user destroyed. The current date and the left and right navigation buttons are indicated at the top of the screen. They are responsible for moving by date and accordingly download the necessary information to the home screen. The starting point from which you can view the consumption history is the user's date of registration. The calorie ring clearly shows how many calories are left to consume to maintain the body's energy balance. More detailed information is given under the ring. It contains data on how many calories the user should consume, how many he destroyed during the day and how many are left. The formation of the parameter of the daily norm is based on the age, weight and height of the user. The main page also displays the products that the user consumed during the day. The ability to add a dish or product is possible due to the presence of a particular button. The "plus" sign switches the user to the mode of use of the camera in which it is possible to direct on a product and photograph it. Access to the camera is shown in Fig. 56. After taking a photo, the system shows us the image taken and asks us to wait a few seconds to process the information. This window is shown in Fig. 57. During this time, the system recognizes the elements in the photo, determines the caloric content and records the data to the database. In case of successful recognition, the main menu is updated, and the information about calories consumed changes. The obtained results are added, and the product is displayed whether you finished an insufficient amount or, conversely, exceeded. The photo taken is attached to a specific time range during which you ate and is supported by the dish's name. The recognition result is shown in Fig. 58. Figure 55: Home page Figure 56: Photographing Figure 57: Waiting Figure 58: Recognition result Hints are also integrated into this system based on previous experience. For example, in Fig. 59, a message indicates that the user has not consumed food to date. Therefore, the plan urges him to fix it because the user usually eats breakfast at this point. Figure 59: Notification Figure 60: User profile Figure 61: Graph of calories Figure 62: Bar chart Another page is the user profile, which is shown in Fig. 60. Initially, the information in the profile is filled with the data that were entered during registration. You can change them by clicking the appropriate option in the upper right corner. The user's page lists the main parameters associated with it: name, age, country, weight and height. In addition, the profile shows user activity. Activity is represented by an activity schedule that displays the number of actions during a given day. A graph is an array that consists of an object that contains the date and number of contributions for a given day. Accordingly, the richer the square, the more activity the user has performed during a specific date. Particular attention is paid to the analysis of consumed substances and dishes, so the information in the form of diagrams is given in the section of the user's diary. Fig. 61 shows a line graph showing the number of calories consumed in the last seven days. The abscissa shows the days of the week, and the ordinate indicates the number of calories. It allows you to track a trend and draw conclusions about the improvement of the diet. Also, in Fig. 61, a pie chart shows the relationship between the amount of food consumed and time. There are four-time ranges in the system, so the circles are also four, respectively. For example, breakfast should have the highest percentage under ideal conditions, and dinner before bedtime - the lowest. This chart allows you to determine the meal that covers the most calories and draw conclusions. With the data from the two charts above, you can choose the trend of calories consumed during the day and during the time range. Fig. 62 is a bar chart showing the average number of calories consumed during the day over the last four months. The bar chart allows you to monitor progress and understand whether the user is moving towards weight loss or vice versa. Fig. 62 shows a pie chart showing the most popular dishes or foods during the last week and their share in the user's daily diet. Therefore, the result of this section is an analysis of the feasibility of using certain technologies to develop this system. The advantages of the selected C # and JavaScript programming languages are substantiated. The architecture of the developed system is described, and the database model is given. A user manual has been created to determine the system's conditions, and its features are described in detail. A detailed description of using the program with confirmation of the results of work with the task. The purpose of the work is to create a working system that can identify products, count calories, monitor user consumption, etc. This system will help the end-user follow a healthy diet by determining the composition and caloric content of the product and forming appropriate recommendations based on the rhythm of life. The main functionality is to recognize the product and calculate the energy value. As for economic feasibility, now the trend of leading a healthy lifestyle is becoming widespread. Most of which is tracking the daily diet. Automating processes in a smartphone will allow you to easily control the number of calories consumed, keep statistics and get relevant advice on how to improve your diet. For the most part, alternative systems are implemented and popular on mobile devices, as the specifics of use depend on the mobility of the application platform. There are alternative solutions on the market, but they often focus only on the automation of calorie counting processes and neglect the automatic recognition of dishes and products. The above arguments suggest that high-quality implementation will be in demand in mobile devices among connoisseurs of proper nutrition. The number of mobile users is increasing every day. It is not surprising, because today the smartphone is the undisputed centre of digital life for hundreds of millions of people. Internet, communication, entertainment, work - smartphones combine many features that shape the image of the modern world. Many processes work successfully with smartphones, so this industry is improving with incredible speed. Payment for purchases, utilities, ordering tickets, doctor's appointments - all this is solved with the help of a smartphone due to its convenience and mobility. You can be in a traffic jam and pay for a new purchase that will be delivered from another part of the country. The main advantage of a mobile lifestyle is saving time. The mobile industry leaders are trying to stay ahead of time and offer technologies that will dramatically simplify our lives and, consequently, will enjoy incredible success. So smartphones have become an integral part of our lives. Therefore, introducing a mobile system that will significantly simplify daily life is a priority among the world giants in the market. Developing a strategy with dynamic image recognition is considered appropriate for further implementation, as it is relevant in the market. The main advantage of the mobile application is the automatic recognition of the dish (no need to fill in the ingredients manually and their caloric content), ease of use and speed of output. 5. Conclusion To choose the current topic, the current market situation was analyzed, and the need to create a system that will help automate the process of counting calories based on the recognition of ingredients contained in the image of the dish was identified. The topic's relevance is confirmed by the massive demand for similar systems of similar scale in the market of mobile applications. The number approves it of downloads on different platforms. The advantages and disadvantages of alternative solutions are summarized in the table and summarize the result. To design the system, various architectural solutions and algorithms for neural network training methods are analyzed. The efficiency of their implementation in different areas is compared. The appropriate form is selected, and the optimal initial data set is set. All information was analyzed with the help of scientific articles, thematic literature, etc. The result of the system analysis is the creation of a goal tree based on an integrated approach. The system's primary purpose is established, and its decomposition is carried out at different hierarchical levels. The method based on the IDEF0 hierarchy is specified. Within this structural methodology, there is a context diagram and its decomposition to three levels of hierarchy. Based on the order, the structural content of the existing processes of the system is shown. The expediency of system development in such programming languages as C # and JavaScript is substantiated. The research results are the analysis of software for the implementation of the system and the selection of the most optimal, taking into account the tasks. The choice of relational database and development environments based on comparative tables of analogues is proved. The result of successful work is creating a system that satisfies all the tasks: product recognition, automation of the process of counting calories, generating tips and sending notifications. All results are supported in the description of the software product and user manual. The user manual describes the appropriate use of the system given the necessary conditions for a start-up. The system's functionality is supported by images that show step by step the sequence of using the system. The economic part confirms the feasibility of developing and implementing the system from a financial point of view. 6. References [1] E. Ziglio, The WHO cross-national study of health behavior in school aged children from 35 countries. New York; Chichester; Brisbane; Toronto; Singapore: J. School Health, 2001. URL: https://www.ncbi.nlm.nih.gov/pubmed/15468523. [2] V. K. Berehovyy, Osnovy naukovoyi orhanizatsiyi zdorovoho kharchuvannya, volume 11 of Efektyvna ekonomika, 2011. URL: http://nbuv.gov.ua/UJRN/efek_2011_11_19. [3] L. Hlushchenko, Perspektyvy vykorystannya shtuchnoho intelektu dlya rozrobky funktsionalʹnomu kharchuvanni, volume 73 of Visnyk Lʹvivsʹkoho universytetu. Seriya biolohichna, 2016, p. 437. URL: http://nbuv.gov.ua/UJRN/VLNU_biol_2016_73_119. [4] O. M. Hryhorenkom Naukovi pidkhody do formuvannya ratsioniv kharchuvannya, volume 2 of Prohresyvni tekhnika ta tekhnolohiyi kharchovykh vyrobnytstv restorannoho hospodarstva i torhivli, 2009, pp. 210-218. URL: http://nbuv.gov.ua/UJRN/Pt_2009_2_33. [5] D. O. Klymenko, O. A. Rudenko, Veb-dodatok dlya servisu skladannya ratsionu zdorovoho kharchuvannya ta dostavky produktiv, volume 2 of Systemy upravlinnya, navihatsiyi ta zv'yazku, 2019, pp. 103-109. URL: http://nbuv.gov.ua/UJRN/suntz_2019_2_23. [6] O. B. Leshchenko, A. S. Khlyupina, D. O. Bohdan, Veb-dodatok dlya vedennya shchodennyka kharchuvannya ta trenuvannya: vymohy, rozroblennya i vprovadzhennya, volume 3 of Radioelektronni i kompʺyuterni systemy, 2018, pp. 49-62. URL: http://nbuv.gov.ua/UJRN/recs_2018_3_8. [7] H. V. Makarova, Stvorennya mobilʹnoho dodatku dlya optymizatsiyi vahy ta kharchuvannya lyudyny, volume 2 of Systemy obrobky informatsiyi, 2017, pp. 187-191. URL: http://nbuv.gov.ua/UJRN/soi_2017_2_36. [8] T. L. Mostensʹka, H. O. Kundyeyeva, Kharchuvannya yak skladova prodovolʹchoyi bezpeky, volume 22(3) of Naukovi pratsi Natsionalʹnoho universytetu kharchovykh tekhnolohiy, 2016, pp. 113-122. URL: http://nbuv.gov.ua/UJRN/Npnukht_2016_22_3_15. [9] YU. Motuzka, Kharchova ta enerhetychna tsinnistʹ produktiv dlya spetsialʹnykh medychnykh tsiley, volume 2(1) of Tovary i rynky, 2017, pp. 59–66. URL: http://nbuv.gov.ua/UJRN/tovary_2017_2(1)__8. [10] V. V. Slastin, Ye. S. Samuseva, L. V. Moskal'chuk, Sbalansirovannyy ratsion pitaniya, volume 1 of Problemi kharchuvannya, 2014, pp. 33-39. URL: http://nbuv.gov.ua/UJRN/Pkh_2014_1_8. [11] Y. YE. Yaninovych, H. V. Kachay, T. M. Shvetsʹ, Enerhetychna tsinnistʹ produktiv, volume 2 of Rybohospodarsʹka nauka Ukrayiny, 2011, pp. 122-126. URL: http://nbuv.gov.ua/UJRN/rnu_2011_2_20. [12] M. G. Pantelyat, Application of the finite element nethod to computer simulation of electromagnetic and thermal processes in induction cookers and heated dishes, volume 1 of Visnyk Cherkasʹkoho universytetu. Seriya : Fizyko-matematychni nauky, 2017, pp. 79-85. URL: http://nbuv.gov.ua/UJRN/VchuFM_2017_1_12. [13] V. N. Vapnik, The nature of statistical learning theory. Springer, 1999. [14] YE. V. Bodyansʹkyy, A. O. Deyneko, ZH. V. Deyneko, M. O. Shalamov, Adaptyvne navchannya neyronnoyi merezhi opornykh vektoriv naymenshykh kvadrativ, volume 2 of Informatsiyno-keruyuchi systemy na zaliznychnomu transporti,2015, pp. 71-74. URL: http://nbuv.gov.ua/UJRN/Ikszt_2015_2_14. [15] YE. V. Bodyansʹkyy, N. O. Teslenko, A. O. Deyneko, Evolyutsiyna neyronna merezha z yadernymy funktsiyamy aktyvatsiyi y adaptyvnyy alhorytm yiyi navchannya, volume 160(148) of Naukovi pratsi [Chornomorsʹkoho derzhavnoho universytetu imeni Petra Mohyly]. Ser. : Kompʺyuterni tekhnolohiyi, 2011, pp. 53-58. URL: http://nbuv.gov.ua/UJRN/Npchduct_2011_160_148_10. [16] V. Lytvyn, V. Vysotska, I. Peleshchak, I. Rishnyak, R. Peleshchak, Time Dependence of the Output Signal Morphology for Nonlinear Oscillator Neuron Based on Van der Pol Model, volume 10 of International Journal of Intelligent Systems and Applications, 2018, pp. 8-17. DOI: 10.5815/ijisa.2018.04.02 [17] O. Klymovych, V. Hrabchak, O. Lavrut, T. Lavrut, V. Lytvyn, V. Vysotska, The Diagnostics Methods for Modern Communication Tools in the Armed Forces of Ukraine Based on Neural Network Approach, volume Vol-2631 of CEUR Workshop Proceedings, 2020, pp. 198-208. [18] V. Lytvyn, I. Peleshchak, R. Peleshchak, V. Vysotska, Information Encryption Based on the Synthesis of a Neural Network and AES Algorithm, in: 3rd International Conference on Advanced Information and Communications Technologies, AICT, 2019, pp. 447-450. DOI: 10.1109/AIACT.2019.8847896 [19] V. Danylyk, V. Vysotska, V. Lytvyn, S. Vyshemyrska, I. Lurie, M. Luchkevych, Detecting Items with the Biggest Weight Based on Neural Network and Machine Learning Methods, volume 1158 of Communications in Computer and Information Science, Springer, Cham, 2020, pp. 383- 396. DOI: 10.1007/978-3-030-61656-4_26 [20] V. Lytvynenko, W. Wojcik, A. Fefelov, I. Lurie, N. Savina, M. Voronenko, et al. Hybrid Methods of GMDH-Neural Networks Synthesis and Training for Solving Problems of Time Series Forecasting, volume 1020 of Lecture Notes in Computational Intelligence and Decision Making, 2020, pp. 513-531. [21] I. Tsmots, M. Medykovskyy, O. Skorokhoda, Synthesis of hardware components for vertical- group parallel neural networks, in: Proceedings of the International Conference on Computer Sciences and Information Technologies, CSIT, 2015, pp. 1-4. [22] M.O. Medykovskyi, I.G. Tsmots, O.V. Skorokhoda, Spectrum neural network filtration technology for improving the forecast accuracy of dynamic processes in economics, volume 162(12) of Actual Problems of Economics, 2014, pp. 410-416. [23] T. V. Lendyuk, Modelyuvannya kompʺyuternoho adaptyvnoho navchannya i testuvannya, volume 1 of Pratsi Odesʹkoho politekhnichnoho universytetu, 2013, pp. 110-115. URL: http://nbuv.gov.ua/UJRN/Popu_2013_1_19. [24] O. V. Fedusenko, A. O. Fedusenko, I. M. Domanetsʹka, Kontseptualʹna modelʹ adaptyvnoyi informatsiynoyi systemy navchannya, volume 32 of Upravlinnya rozvytkom skladnykh system, 2017, pp. 86-90. URL: http://nbuv.gov.ua/UJRN/Urss_2017_32_14. [25] I. Tereykovsʹkyy, Neyromerezheva metodolohiya rozpiznavannya Internet-oriyentovanoho shkidlyvoho prohramnoho zabezpechennya, volume 19(1) of Bezpeka informatsiyi, 2013, pp. 24- 28. URL: http://nbuv.gov.ua/UJRN/bezin_2013_19_1_6. [26] T. V. Trachuk, T. P. Radishchuk, Metod matematychnoho modelyuvannya yak zasib realizatsiyi shchodennoho ratsionu, volume 1 of Pedahohichnyy poshuk, 2014, pp. 34-36. URL: http://nbuv.gov.ua/UJRN/pedp_2014_1_12. [27] YA. O. Tupalo, Vykorystannya metodiv mashynnoho navchannya na praktytsi, volume 17 of Kompʺyuterni zasoby, merezhi ta systemy, 2018, pp 101-110. URL: http://nbuv.gov.ua/UJRN/Kzms_2018_17_17. [28] S. V. Bilashenko, N. N. Shapovalova, O. H. Rybalʹchenko, Rozpiznavannya zobrazhenʹ za dopomohoyu z·hortkovykh neyronnykh merezh z vykorystannyam biblioteky Keras, volume 10 of Hirnychyy visnyk, 2018, pp. 148-154. URL: http://nbuv.gov.ua/UJRN/girvi_2018_103_32. [29] K. YA. Bortnyk, O. V. Olʹshevsʹkyy, A. L. Kyrylyuk, Mashynne navchannya, yak osnova dlya rozvytku tekhnolohiy maybutnʹoho, volume 27 of Kompʺyuterno-intehrovani tekhnolohiyi: osvita, nauka, vyrobnytstvo, 2017, pp. 85-88. URL: http://nbuv.gov.ua/UJRN/Kitonv_2017_27_17. [30] V. M. Brodkevych, V. YA. Remeslo, Alhorytmy mashynnoho navchannya ta hlybokoho navchannya (HN) i yikh vykorystannya v prykladnykh dodatkakh, volume 11(1) of Mizhnarodnyy naukovyy zhurnal «Internauka», 2018, pp. 56-60. URL: http://nbuv.gov.ua/UJRN/mnj_2018_11(1)__14. [31] I. V. Butyrsʹka, A. V. Manhul, Tekhnolohiya QR-kodu yak instrument pidvyshchennya efektyvnosti funktsionuvannya servisnykh system, volume 1 of Visnyk Chernivetsʹkoho torhovelʹno-ekonomichnoho instytutu. Ekonomichni nauky, 2015, pp. 165-171. URL: http://nbuv.gov.ua/UJRN/Vchtei_2015_1_22. [32] V. V. Vitlinsʹkyy, Shtuchnyy intelekt u systemi pryynyattya rishenʹ, volume 1 of Neyro- nechitki tekhnolohiyi modelyuvannya v ekonomitsi, 2012, pp. 97-118. URL: http://nbuv.gov.ua/UJRN/Nntm_2012_1_7. [33] I. M. Hamanyuk, Variant zastosuvannya bayyesivsʹkykh metodiv dlya mashynnoho navchannya shtuchnoho intelektu systemy pidtrymky pryynyattya rishenʹ u borotʹbi zi spamom, volume 6 of Zv'yazok, 2018, pp. 14-18. URL: http://nbuv.gov.ua/UJRN/Zvjazok_2018_6_6. [34] I. H. Danylyuk, Aktualʹni problemy metodu hlybynnoho navchannya, volume 35 of Linhvistychni studiyi, 2018, pp. 155-158. URL: http://nbuv.gov.ua/UJRN/lingst_2018_35_26. [35] A. S. Dovbysh, H. A. Stadnyk, Informatsiyno-ekstremalʹnyy alhorytm navchannya systemy pidtrymky pryynyattya rishenʹ z hipertsylindroyidnym klasyfikatorom, volume 3 of Radioelektronni i kompʺyuterni systemy, 2015, pp. 11–18. URL: http://nbuv.gov.ua/UJRN/recs_2015_3_4. [36] N. O. Matvyeyeva, Doslidzhennya zasobiv mashynnoho navchannya iz zaluchennyam suchasnykh mov prohramuvannya, volume 1 of Systemni tekhnolohiyi, 2018, pp. 85-91. URL: http://nbuv.gov.ua/UJRN/st_2018_1_14. [37] O. P. Mintser, Obriyi rozvytku adaptyvnoho navchannya, volume of Medychna informatyka ta inzheneriya, 2017, pp. 5-11. URL: http://nbuv.gov.ua/UJRN/Mii_2017_1_4. [38] S. V. Hadetsʹka, V. O. Horokhovat·sʹkyy, Metody strukturnoyi klasyfikatsiyi zobrazhenʹ na zasadakh bayesovsʹkoyi teoriyi pryynyattya rishenʹ, volume 2 of Radioelektronika, informatyka, upravlinnya, 2018, pp. 90-97. URL: http://nbuv.gov.ua/UJRN/riu_2018_2_12. [39] S. I. Alʹpert, Suchasni kryteriyi otsinky tochnosti klasyfikatsiyi zobrazhenʹ, volume 4 of Matematychni mashyny i systemy, 2013, pp. 187-197. URL: http://nbuv.gov.ua/UJRN/MMS_2013_4_22. [40] G. YA. Voloshin, Metody raspoznavaniya obrazov. – Vladivostok : VGUES, 2000. [41] N. V. Hlukhova, L. A. Pisotsʹka, Rozrobka metodu analizu kolʹorovykh zobrazhenʹ hazorozryadnoho vyprominyuvannya, volume 2 of Systemy upravlinnya, navihatsiyi ta zv'yazku, 2018, pp. 59-62. URL: http://nbuv.gov.ua/UJRN/suntz_2018_2_14. [42] N. V. Hlukhova, L. A. Pisotsʹka, N. H. Kuchuk, Rozrobka systemy ekspres-klasyfikatsiyi vody na osnovi bazy danykh zobrazhenʹ, volume 3 of Zbirnyk naukovykh pratsʹ Kharkivsʹkoho universytetu Povitryanykh Syl, 2015, pp. 112-118. URL: http://nbuv.gov.ua/UJRN/ZKhUPS_2015_3_28. [43] R. J. Shalkoff, Digital image processing and computer vision. New York; Chichester; Brisbane; Toronto; Singapore: John Wiley & Sons, 1989. [44] V. A. Horokhovat·skyy, D. V. Pupchenko, Klassyfykatsyya yzobrazhenyy vyzualʹnykh obʺektov po mnozhestvu deskryptorov osobennykh tochek na osnove neyronnoy sety Kokhonena, volume 2 of Systemy upravlinnya, navihatsiyi ta zv'yazku, 2018, pp. 68-72. URL: http://nbuv.gov.ua/UJRN/suntz_2018_2_16. [45] D. V. Hrynʹov Metod rozpiznavannya zobrazhenʹ ob'yektiv zasobamy vydovoyi rozvidky, volume 4 of Systemy ozbroyennya i viysʹkova tekhnika, 2007, pp. 72-75. URL: http://nbuv.gov.ua/UJRN/soivt_2007_4_23. [46] V. V. Hrytsyk, Metod obrobky skladnykh zobrazhenʹ ta yikh rozpiznavannya, volume 1 of Dopovidi Natsionalʹnoyi akademiyi nauk Ukrayiny, 2011, pp. 28-32. URL: http://nbuv.gov.ua/UJRN/dnanu_2011_1_7. [47] V. V. Hrytsyk, Obrobka skladnykh zobrazhenʹ ta yikh rozpiznavannya v informatsiyno- analitychnykh systemakh komp'yuternoho zoru, volume 7 of Dopovidi Natsionalʹnoyi akademiyi nauk Ukrayiny, 2009, pp. 36-41. URL: http://nbuv.gov.ua/UJRN/dnanu_2009_7_9. [48] A. S. Dovbysh, I. V. Shelekhov, Osnovy teoriyi rozpiznavannya obraziv. Sumy : Sumsʹkyy derzhavnyy universytet, 2015. [49] I. M. Domanetsʹka, O. V. Fedusenko, V. M. Khrolenko, Neyromerezhevi tekhnolohyi opratsyuvannya zobrazhenʹ v adaptyvnykh systemakh navchannya, volume 3-4 of Shtuchnyy intelekt, 2017, pp. 24-31. URL: http://nbuv.gov.ua/UJRN/II_2017_3-4_5. [50] V. O. Drofa, T. M. Yefimenko, Informatsiyno-ekstremalʹnyy alhorytm rozpiznavannya nestatsionarnykh za yaskravistyu zobrazhenʹ, volume 2 of Byonyka yntellekta, 2015, pp. 100-104. URL: http://nbuv.gov.ua/UJRN/bioi_2015_2_16. [51] V. H. Krasylenko, R. O. Yatskovsʹka, V. I. Yatskovsʹkyy, Modelyuvannya metodiv rozpiznavannya ta klasyfikatsiyi frahmentiv kolʹorovykh zobrazhenʹ zemelʹ silʹsʹkohospodarsʹkoho pryznachennya pry yikh dystantsiynomu monitorynhu, volume 5 of Systemy obrobky informatsiyi, 2017, pp. 55-61. URL: http://nbuv.gov.ua/UJRN/soi_2017_5_9. [52] L. M. Malyaretsʹ, I. YU. Ryzhykh, Zastosuvannya QR-rozkladu pryamokutnykh matrytsʹ Khauskholderovymy vidobrazhennyamy v rehresiynomu analizi, volume 1 of Ekonomika rozvytku, 2009, pp. 16-20. URL: http://nbuv.gov.ua/UJRN/ecro_2009_1_6. [53] L. M. Mestetskiy, Matematicheskiye metody raspoznavaniya obrazov. M. : MGU, 2004. [54] V. Lytvyn, V. Vysotska, D. Dosyn, O. Lozynska, O. Oborska, Methods of Building Intelligent Decision Support Systems Based on Adaptive Ontology, in: Proceedings of the 2nd International Conference on Data Stream Mining and Processing, DSMP, 2018, pp. 145-150. DOI: 10.1109/DSMP.2018.8478500 [55] O. A. Mokrintsev, Poperednya obrobka zobrazhenʹ dlya avtomatychnoho rozpiznavannya odnovymirnykh shtrykh-kodiv, volume 1 of Systemy upravlinnya, navihatsiyi ta zv'yazku, 2017, pp. 111-113. URL: http://nbuv.gov.ua/UJRN/suntz_2017_1_28. [56] O. YA. Moroz, Shtuchnyy intelekt versus pryrodnyy intelekt? (maybutnye lyudyny v konteksti vyklykiv intelektualʹnykh supertekhnolohiy), volume 72 of Politolohichnyy visnyk, 2014, pp. 18- 35. URL: http://nbuv.gov.ua/UJRN/Pv_2014_72_4. [57] M. S. Oldenderfer, R. K. Bleshfild, Klasternyy analiz. Faktornyy, diskriminantnyy i klasternyy analiz. M. : Finansy i statistika, 1989. [58] V. O. Pishvanova, Pryntsypy adaptyvnoho navchannya, volume 1 of Visnyk Zaporizʹkoho natsionalʹnoho universytetu. Pedahohichni nauky, 2015, pp. 178-183. URL: http://nbuv.gov.ua/UJRN/Vznu_ped_2015_1_29. [59] V. S. Simakov, Ye. V. Lutsenko, Adaptivnoye upravleniye slozhnymi sistemami na osnove teorii raspoznavaniya obrazov. Krasnodar : KGTU, 1999. [60] B. Rusyn, L. Pohreliuk, A. Rzheuskyi, R. Kubik, Y. Ryshkovets, L. Chyrun, S. Chyrun, A. Vysotskyi, V. B. Fernandes, The Mobile Application Development Based on Online Music Library for Socializing in the World of Bard Songs and Scouts' Bonfires, volume 1080 of Advances in Intelligent Systems and Computing IV, Springer, 2020, pp. 734-756. [61] A. Rzheuskyi, A. Gozhyj, A. Stefanchuk, O. Oborska, L. Chyrun, O. Lozynska, K. Mykich, T. Basyuk, Development of Mobile Application for Choreographic Productions Creation and Visualization, volume Vol-2386 of CEUR Workshop Proceedings, 2019, pp. 340-358. [62] K. R. Muller, S. Mika, G. Ratsch, et al., An introduction to kernelbased learning algorithms, volume 12(2) of IEEE 108 Transactions on Neural Networks, 2001, pp. 181–202. [63] Aqeel Bahp Tarkhan Al-Janabi, Computer vision system for froth flotation based on centroid, volume 9 of Systemy obrobky informatsiyi, 2014, pp. 3-5. URL: http://nbuv.gov.ua/UJRN/soi_2014_9_3. [64] N. Bolohova, I. Ruban, Image processing models and methods research and ways of improving marker recognition technologies in added reality systems, volume 1 of Сучасний стан наукових досліджень та технологій в промисловості, 2019, pp. 25-33. URL: http://nbuv.gov.ua/UJRN/dtssi_2019_1_5. [65] A. S. Dovbysh, D. V. Velykodnyi, O. B. Protsenko, V. I. Zimovets, Optimization of parameters of machine learning of the system of functional diagnostics of the electric drive of a shaft lifting machine, volume 2 of Radioelektronika, informatyka, upravlinnya, 2018, pp. 44-50. URL: http://nbuv.gov.ua/UJRN/riu_2018_2_7. [66] R. O. Duda, P. E. Hart, D. G. Stork, Pattern Classification. John Wiley & Sons, New York, 2001. [67] J. Han, M. Kamber, J. Pei, Data mining: concepts and techniques. Elsevier, 2012. [68] O. Kryvoruchko, K. Khorolska, V. Chubaievskyi, Usage of neural networks in image recognition, volume 3 of Zovnishnya torhivlya: ekonomika, finansy, pravo, 2019, pp. 83-92. URL: http://nbuv.gov.ua/UJRN/uazt_2019_3_9. [69] S. V. Melnychuk, V. F. Gubarev, N. N. Salnikov, Using Information Features in Computer Vision for 3d Pose Estimation in Space, volume 190 of Kibernetika i vychislitel'naya tekhnika, 2017, pp. 33-55. URL: http://nbuv.gov.ua/UJRN/Kivt_2017_190_4. [70] I. Motuzka, D. Antiushko, Сlassification of products for enteral nutrition, volume 2 of Товари і ринки, 2015, pp. 17-24. URL: http://nbuv.gov.ua/UJRN/tovary_2015_2_4. [71] M. Emmerich, V. Lytvyn, I. Yevseyeva, V. B. Fernandes, D. Dosyn, V. Vysotska, Preface: Modern Machine Learning Technologies and Data Science (MoMLeT&DS-2019), volume Vol- 2386 of CEUR Workshop Proceedings, 2019. [72] M. Emmerich, V. Lytvyn, V. Vysotska, V. Basto-Fernandes, V. Lytvynenko, Preface: Modern Machine Learning Technologies and Data Science (MoMLeT+DS 2020), volume Vol-2631 of CEUR Workshop Proceedings, 2020. [73] T. Batiuk, V. Vysotska, V. Lytvyn, Intelligent system for socialization by personal interests on the basis of SEO technologies and methods of machine learning, volume Vol-2604 of CEUR workshop proceedings, 2020, pp. 1237-1250. [74] V. Lytvyn, V. Vysotska, V. Shatskykh, I. Kohut, O. Petruchenko, L. Dzyubyk, V. Bobrivetc, V. Panasyuk, S. Sachenko, M. Komar, Design of a recommendation system based on Collaborative Filtering and machine learning considering personal needs of the user, volume 4(2-100), of Eastern- European Journal of Enterprise Technologies, 2019, pp. 6-28. DOI: 10.15587/1729- 4061.2019.175507 [75] P. Bidyuk, A. Gozhyj, I. Kalinina, V. Vysotska, Methods for Forecasting Nonlinear Non- stationary Processes in Machine Learning, volume 1158 of Communications in Computer and Information Science, Springer, Cham, 2020, pp. 470-485. DOI: 10.1007/978-3-030-61656-4_32 [76] P. Kravets, Game methods of the stochastic boundary problem solution, in: Perspective Technologies and Methods in MEMS Design, MEMSTECH, 2007, pp. 71-74. [77] P. Kravets, Adaptive method of pursuit game problem solution, in: Modern Problems of Radio Engineering, Telecommunications and Computer Science Proceedings of International Conference, TCSET, 2006, pp. 62-65. [78] P. Kravets, Game methods of construction of adaptive grid areas, in: The Experience of Designing and Application of CAD Systems in Microelectronics, CADSM, 2003, pp. 513-516.