Interpolating and extrapolating memoization in the Planning C language
This paper discusses the possibilities of increasing the speed of execution of programs that implement mainly mathematical algorithms using some special types of memoization. A brief overview of the existing basic approaches to memoization is carried out, and a conclusion is made about the lack of knowledge of the possibilities of explicit program memoization based on one or another method of approximating the results missing in the memoization cache. The possibilities of such memoization are analyzed, the syntax and semantics of possible program constructions are described, indicating the need for its inclusion for functions/procedures (void functions). The proposed variants of memoization are tested, it is shown that for some mathematical algorithms, a significant acceleration of work is possible with a fairly low error. The novelty of this study lies in the fact that for the first time the syntax, semantics and basic mechanisms for implementing explicit program memoization based on interpolation (by neural networks of direct propagation or by the method of group accounting of arguments) or linear extrapolation are proposed and described. This memoization is introduced into the Planning C language. The conditions of justification of memoization are formulated. For the proposed variant of memoization, the concept of a grouping parameter is introduced, which allows using sets of interpolators for various combinations of input arguments of a memoized procedure/function in order to reduce additional time spent on training the interpolator and increase the likelihood of its results. The concept of an ordinal parameter used to establish the order of key points of extrapolating memoization is also introduced. The adequacy of the proposed approaches and memoization algorithms is shown by a number of examples from the field of numerical modeling.
Authors
- Vladimir Viktorovich Pekunov (ORCID: https://orcid.org/0000-0001-9684-861X)
Publication Details
- Journal
- Программные системы и вычислительные методы
- Published
- 2025-03-01
- DOI
- https://doi.org/10.7256/2454-0714.2025.3.37869
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00