Harvester open publications of NAS Ukraine
Harvester open publications of NAS UkraineNot a member yet
2350 research outputs found
Sort by
Mathematical methods of planning in systems consisted of rational agents
The paper is devoted to mathematical methods of planning in systems consisting of rational agents. An agent is an autonomous object that has sources of information about the environment and influences this environment. A rational agent is an agent who has a goal and uses optimal behavioral strategies to achieve it. It is assumed that there is a utility function, which is defined on the set of possible sequences of actions of the agent and takes values in the set of real numbers. A rational agent acts to maximize the utility function. If rational agents form a system, then they have a common goal and act in an optimal way to achieve it. Agents use the optimal solution of the extreme problem, which corresponds to the goal of the system. The problem of linear programming is considered, in which the number of product sets produced by the system is maximized. To solve the nonlinear problem of optimizing the production plan, the conditional gradient method is used, which at each iteration allows a posteriori estimation of the error of the solution and allows stopping the calculation process after reaching the required accuracy. Since the rational agents that are part of the system can have separate optimality criteria, multi-criteria optimization problems appear. The article considers a humanmachine procedure for solving such problems, which is connected with the conditional gradient method and uses information from the decision-maker (DM) at each iteration. The difficulties of this approach are that the DM is not able to make decisions many times under the condition of a significant number of iterations of the nonlinear programming method. The article proposes to replace OPR with an artificial neural network. Nonlinear and stochastic programming methods are used to find optimal parameters of this network.Prombles in programming 2024; 2-3: 231-23
Tuple calculus for multiset table algebra
This paper is a logical continuation of research devoted to the actual problem of developing the theoretical foundations of table (relational) databases. The issue of using multisets in table databases is important and relevant. Many database-oriented languages require a relational model with multiset semantics. There are many applied problems, the feature of which is multiplicity and repeatability of data. For example, these are sociological polls of different population groups, calculations on DNA, and others. In this context, the question of constructing a tuple calculus for a multiset table algebra is considered, in which the concept of a table is refined using the concept of a multiset. In the article, the formalization of tuple calculus for multiset table algebra is carried out. The alphabet, and the syntax of terms, atoms, and formulas are defined. A set of legal formulas is introduced through the concept of the free and bound variable. The concept of a scheme and set of attributes with which a tuple variable occurs in a formula are also introduced. The definition of tuple calculus expression for multiset table algebra is given, according to which it is a multiset of tuples that satisfy the condition defined by the legal formula. The article provides rules for determining the number of tuple duplicates in the resulting multiset. Another important result consists in proving that constructed tuple calculus is as expressive as multiset table algebra. This research opens up new possibilities for database theory development and may be useful for information technology and database professionals. It contributes to a deeper understanding of construction query principles, an important aspect of modern computer science and industry.Prombles in programming 2024; 2-3: 28-3
Developing algorithms for automatic hypoxing test chasing from the single-channel electrocardiograms: a model experiment
As an outcome of the COVID-19 pandemic, there is a need to seek new approaches to patients’ rehabilitation, in particular, the novel monitoring technologies enabling the assessment of the functionality and fitness of the cardiovascular and respiratory systems. Hypoxic tests allow for estimating a person’s tolerability to hypoxic conditions and, eventually, for making conclusions about their fitness. Among these tests are the Stange test for which the breath is held after inhaling, and the Genchi test involving holding the breath after exhaling. The important information is the duration of the breath hold. There are methods of direct respiratory signal measurement and indirect ones to control it. They require the use of specialized equipment and specific conditions, often including the need for patient immobilization, therefore, are usually performed in hospitals. Breathing affects the electrocardiogram, which can be used to reconstruct the respiratory signal. Electrocardiogram registration is now a routine procedure performed in hospitals, outpatient clinics, and, due to various options for modern portable single- and multichannel electrocardiographs, even at home by the patients themselves. There are several types of algorithms for obtaining the cardiorespiratory information that rely on different elements of the electrocardiogram signal but they are not suitable for real-time application. This report describes the model experiment developing the optimal algorithm of hypoxic test automatization with the electrocardiogram processing in real-time conditions. We have developed the software called "Harmony" for breathing control during hypoxic test which suggests the starting moment for breath hold. Since the period of breath hold during hypoxic test has specific characteristics on the electrocardiogram that are substantially different from other breathing phases, such as inhaling, exhaling, and calm breathing, the moment of finishing the breath hold can be determined automatically. This allows us to automate hypoxic tests.Prombles in programming 2024; 2-3: 173-17
Modal logics of partial quasiary pradicates with equality and sequent calculi of this logics
The aim of the work is to study new classes of program-oriented logical formalisms of the modal type – pure first-order modal logics of partial quasiary predicates without monotonicity condition and enriched with equality predicates. Modal logics can be used to describe and model various subject areas, artificial intelligence systems, information and software systems. The limitations of the classical predicate logic on which traditional modal logics are based determine the relevance of the problem of introducing new program-oriented logical formalisms. Such are composition-nominative modal logics, which synthesize facilities of traditional modal logics and logics of partial quasiary predicates. One of their important classes are transitional modal logics (TML), they reflect the aspect of change and evolution of subject areas. We denote pure first-order TML by TMLQ. In this paper two types of TMLQ with equality are considered: TMLQ (with strong equality predicates xy), and TMLQ= (with weak equality predicates =xy). For quantifier elimination in logics of non-monotonic predicates special predicates which indicate whether a component with a corresponding name has a value in the input data are required. The use of these predicates is a characteristic feature of both TMLQ and TMLQ=. Total indicator predicates determine the presence or absence of a component with a certain name, while partial indicator predicates signalize only the presence of such a component. Thus, total indicator predicates are introduced as special parametric 0-ary compositions Ez in TMLQ, and partial indicator predicates are represented in TMLQ= as predicates =xx. Another feature of TMLQ and TMLQ= is the use of the extended renomination compositions. In this paper we describe semantic models and languages of TMLQ and TMLQ=. Particular attention is paid to the properties related to equality predicates, substitution of equals in TMLQ and TMLQ= is described. A number of logical consequence relations for these logics are defined on sets of formulas specified with states. On this semantic basis, the corresponding sequent type calculi are proposed for the investigated logics.Prombles in programming 2024; 2-3: 19-2
The software tool of constructive-synthesizing modeling
The concept of constructive-synthesizing modelling is presented. The basic principles are outlined. The classification of constructors by the purpose of constructing and external relations is presented. The types of constructors are defined: generating, transforming, analyzing, optimizing/adapting, algorithmic; standalone, parametric, interactive, multi-designer. Achievements in the application of the constructive-synthesizing approach to solving a number of problems are presented. The tool software environment «Constructor 1.0» has been developed for the formation of constructors by means of the Python language using Qt technology to ensure cross-platform compatibility. for the formation of constructors. On the example of the geometric fractal formation , its functionality is demonstrated. First of all, it concerns the formation of such constructors as a standalone generating, parametric transforming, and unifying multiconstructor. The features of expending transformations in the formation of constructors are shown: specification, interpretation and concretization. The specialization of constructors determines the subject area of constuctiong, the necessary data and operations. To ensure the functioning of the constructing processes, all constructor operations must be interpreted by the corresponding procedures of the algorithmic constructor. The combination of the constructor (model of elements and possible operations) with the algorithmic constructor (model of the executor) forms a constructive system capable of autonomously performing constructing by an internal executor. In concretization, substitution rules and initial conditions are specified. The developed software environment provides a certain flexibility in terms of possible modifications of constructors and constructing processes. The developed tools can be the basis for modelling various structures and constructing processes, especially in the tasks of their optimization and structural adaptation.Problems in programming 2024; 2-3: 107-11
Towards ecosystem research in the software engineering
The application of the concept of the ecosystem in the software engineering shows the existence of the same problems regarding the definition of the concept of the ecosystem and its use for research that still exists in ecology. Justification for applying the ecosystem concept in the area that differs significantly from the ecology, as in our case, requires researchers to look for analogies. This primarily applies to landscape, energy and matter transfer chains (trophic chains) and nutritional cycles. Until such analogies are found in software engineering, ecosystem research will be nothing more than system analysis, and the concept of the ecosystem is an attractive concept. The purpose of this article is to draw the attention of the software engineering community to ecosystem research. Three concepts of ecosystems in ecology, software and software engineering are considered. The composition and essence of ecosystem research in the software engineering are given. The literature review of the state of the ecosystem research for software ecosystems has been carried out.Problems in programming 2024; 2-3: 124-131
Forecasting electrical energy consumption for 24 hours ahead at country scale
For a long period, Ukraine had only one market for electrical energy. That was the market of bilateral agreements that wasn’t flexible enough to balance the interests of consumers and suppliers of electricity. Such agreements could span weeks, months, or even years. Several years ago, Ukraine adopted the European mod el that assumes the following four markets: bilateral, day-ahead, intraday, and balancing. Despite the electricity market models in Europe having some differences, this was also a significant step forward in liberalizing electricity trading between countries. This work applies standard regression techniques to forecast the country-wide consumption of electrical energy. All considered machine learning algorithms are available as a part of the scikit-learn library. This article demonstrates that proper forecasting model selection is a multi-stage process that may involve data selection, data preprocessing, data augmentation, selection of machine learning algorithm, optimization of hyperparameters, etc. Besides the fine-tuning of regression hyperparameters, several data preparation techniques are employed to improve the forecasting accuracy. To measure the influence of input parameters we used the nearest neighbors regression model. This machine learning algorithm provides quite competitive results and has a sma ll number of hyperparameters to optimize. The comparison of regression algorithms with classic instruments like multi-layer perceptron, support vector machine, and linear regression was done. Two different training approaches were used for multi-layer perceptron: quasi-Newton optimizer and stochastic gradient descent. It is demonstrated that forecasting for 24 hours ahead is possible with good accuracy and has practical significance. While all computations for this work were done on a regular 8-core machine, the creation of the MLOps pipeline may require much more powerful computation resources.Problems in programming 2024; 2-3: 147-15
Software development for contextual advertising of listings in the real estate domain
Advertising plays a crucial role in the success of a product, particularly in the real estate sector, where competition is fierce, and the properties' characteristics are complex. This article examines the advertising of real estate listings on a specialized aggregator website, which can provide additional context for the user's search, potentially enhancing the effectiveness of advertising campaigns. The paper discusses existing approaches and solutions for contextual advertising and sponsored search in real estate and the peculiarities of developing such solutions. It analyzes the main problems encountered in creating an algorithm for analyzing the context of advertising in real estate and proposes an alternative approach to implementing a contextual advertising algorithm, utilizing domain-specific expert knowledge. This approach to developing a contextual advertising algorithm may be more appropriate for organizations that lack the resources for developing and implementing machine learning-based solutions and associated data quality and volume management but possess expert knowledge in the field. To create such an algorithm, A/B testing is used to verify hypotheses related to the specificity of the listings and user behavior on the site, which allows not only to develop the algorithm but also to prove its effectiveness with real users. The article also notes the disadvantages of this approach, one of which is the long duration of the experiments. The paper presents the outcome of this approach in the form of an algorithm for real estate advertisement, which utilizes the characteristics of real estate objects, such as location, and the user's browsing history for remarketing. Using the UML language, component, and sequence diagrams of the example software for contextual advertising have been created.Prombles in programming 2024; 2-3: 180-18
Processor group determination for the effective processor capacity usage
The optimization of resource utilization in cloud systems is a critical endeavor given the widespread adoption of cloud technology and its user-friendly nature. Cloud system developers are continuously innovating to deliver fast application performance, leveraging advancements such as serverless architectures and proprietary databases. The introduction of Docker and Kubernetes has further facilitated performance testing in the cloud, resulting in a significant uptick in cloud usage. Considering the substantial investments made in cloud technology, it is imperative to explore strategies for optimizing resource allocation and utilization This article delves into the essential metrics of computer performance that can be both measured and influenced. These metrics include channel capacity, latency assessment, memory types (operational and non-volatile), processing power, and core count. Understanding and effectively managing these metrics are crucial for maximizing the efficiency of cloud systems. The proposed algorithm outlined in the article aims to identify complementary instances of microservices that can efficiently share server resources. Initially, microservices are categorized into instances with similar capacity levels, forming equivalence classes based on their resource usage patterns. Within these classes, instances are further sorted based on their resource utilization amplitudes. The goal is to pair instances with significant differences in resource utilization with others exhibiting similar amplitudes to optimize resource allocation. Additionally, instances with lower resource utilization may also be combined to maximize resource efficiency. The algorithm iteratively searches for compatible microservice combinations within these equivalence classes until suitable matches are found. Throughout the process, statistics of attempted combinations are maintained to inform future optimization strategies.Prombles in programming 2024; 2-3: 215-22
Formal verification of deep neural networks
This paper introduces a method for the formal verification of neural networks using a Satisfiability Modulo Theories (SMT) solver. This approach enables the mathematical validation of specific neural network properties, enhancing their predictability. We propose a method for simplifying a neural network’s computational graph within certain input space regions. This is achieved by replacing neurons’ piecewise-linear activation functions with a subset of their linear segments. This optimization hypothesizes a simpler interpretation of a neural network over limited input data ranges. The simplified interpretation is derived from the incremental simplification of the neural network graph, achieved by solving local SMT tasks on a neuron-by-neuron basis. This optimization significantly speeds up the verification algorithm compared to solving a single SMT task over the entire unoptimized network graph. The method is applicable to any deep neural networks with piecewise-linear activation functions. The approach’s effectiveness was demonstrated by automatically verifying a network traffic classifier specializing in botnet activity detection. The classification model was tested for robustness against adversarial attacks, where attackers attempt to evade detection by introducing specially crafted disturbances into the network data. The verification procedure was conducted over regions in the feature-space near the classifier’s decision boundary. The results contribute to the prospects for more active application of artificial intelligence models in cybersecurity, where result predictability and interpretability are crucial. Additionally, the neuron - wise simplification technique proposed is a promising direction for further development in neural network verification.Prombles in programming 2024; 2-3: 253-26