Development of high-speed algorithm for binomial arithmetic addition - Kulyk, Igor; Shevchenko, Maryna; Melnyk, Anatolii; Protasova, Tetyana (Technology audit and production reserves (Online), 2024)
The object of research is the method and algorithm of arithmetic addition of binomial numbers generated by binary binomial counting systems. The lack of binomial arithmetic, in particular the operation of adding binary binomial numbers, in a certain way prevents their introduction into information systems and the construction of information and communication technologies based on them for combinatorial optimization, generation of combinatorial objects, data compression and encryption. In the framework of the proposed approach, instead of operating with binomial coefficients, only operations with their upper and lower parameters are carried out. At the same time, the weighting coefficients of binary binomial numbers, which are added to each other, are represented in the form of two-component tuples. Taking this into account, this paper presents an algorithm for binomial arithmetic addition using dynamic arrays. The main idea, which is included in the structure of the algorithm of binomial arithmetic addition based on dynamic arrays, is that the transition from a two-dimensional model of summation to a one-dimensional one is carried out. At the same time, only available, existing binomial coefficients are placed in the dynamic array. Accordingly, the search for binomial coefficients equal to or greater than the quantitative equivalent takes place in much smaller areas. In comparison with the algorithm based on matrix models, this quite significantly reduces the amount of time spent when performing the summation operation, and also reduces the requirements for the amount of memory required for placing two-component tuples of the assembly array. In the course of the research, a several-fold decrease in the number of machine cycles required to search for the necessary elements in the dynamic array was practically confirmed. This leads to an increase in the performance of the presented algorithm of binomial arithmetic addition based on dynamic arrays. In turn, this leads to the acceleration of solving information tasks of combinatorial optimization, generation of combinatorial objects, data compression and encryption, for the solution of which the operation of adding binary binomial numbers is used. Об'єктом дослідження є метод та алгоритм арифметичного складання біноміальних чисел, що генеруються двійковими біноміальними системами числення. Відсутність біноміальної арифметики, зокрема операції додавання двійкових біноміальних чисел, певним чином перешкоджає їх впровадженню в інформаційні системи та побудові на їх основі інформаційно-комунікаційних технологій з комбінаторної оптимізації, генерування комбінаторних об'єктів, стиснення та шифрування даних. У рамках підходу, який пропонується, замість оперування біноміальними коефіцієнтами проводяться тільки операції з їх верхніми та нижніми параметрами. При цьому вагові коефіцієнти двійкових біноміальних чисел, які додаються один до одного, представляються у вигляді двокомпонентних кортежів. З врахуванням цього в даній роботі представлений алгоритм біноміального арифметичного складання із застосуванням динамічних масивів. Основна ідея, яка покладена в будову алгоритму біноміального арифметичного складання на основі динамічних масивів, полягає в тому, що здійснюється перехід від двомірної моделі підсумовування до одномірної. При цьому у динамічному масиві розміщуються тільки наявні, існуючі біноміальні коефіцієнти. Відповідно пошук рівних або більших за кількісним еквівалентом біноміальних коефіцієнтів відбувається у значно менших областях. У порівнянні з алгоритмом на основі матричних моделей це досить суттєво знижує обсяг часових витрат при проведенні операції підсумовування, а також зменшує вимоги до обсягу пам'яті, необхідної для розміщення двокомпонентних кортежів масиву складання. У ході дослідження практично підтверджено зниження у декілька разів кількості машинних тактів, що потребується для проведення операцій пошуку необхідних елементів в динамічному масиві. Це призводить до підвищення швидкодії представленого алгоритму біноміального арифметичного складання на основі динамічних масивів. У свою чергу це обумовлює пришвидшення розв'язання інформаційних завдань з комбінаторної оптимізації, генерування комбінаторних об'єктів, стиснення та шифрування даних, для вирішення яких застосовується операція складання двійкових біноміальних чисел