Підходи до практичного аналізу обчислювальних алгоритмів

Вантажиться...
Ескіз
Дата
2021
Автори
Бармак, О.В.
Радюк, П.М.
Молчанова, М.О.
Собко, О.В.
Barmak, O.
Radiuk, P.
Molchanova, M.
Sobko, O.
Назва журналу
Номер ISSN
Назва тому
Видавець
Хмельницький національний університет
Анотація
У роботі пропонується практичний підхід до визначення основних типів алгоритмів залежно від їх ефективності за зовнішнім виглядом програмного коду. Наведено приклади аналізу ефективності програмного коду для обчислювальної складності за зменшенням ефективності, що подається як (в асимптотичних позначеннях) О(1), О(logN), O(N), O(NlogN), O(N2), O(N3). Завдання дослідження полягає в аналізі програмного коду та визначенні умов, за яких алгоритм належить до того або іншого типу обчислювальної складності. Встановлено, що основними чинниками, за якими можна оцінити обчислювальну складність алгоритму за візуальним аналізом програмного коду є наявність у коді циклів, особливо вкладених, рекурсивність алгоритму тощо.
The present work proposes a practical approach to determining the main types of algorithms, depending on their effectiveness in the appearance of the software code. Examples of analysis of the software code for computational complexity are given in the order of reducing the efficiency supplied as (in asymptotic designations): O(1), O(LogN), O(N), O(NlogN), O(N2), O(N2), O(N2), O(N3). The research task was to analyze the software code and specific conditions in which the algorithm refers to a particular type of computational complexity. The aim of analyzing the complexity of algorithms is to find the optimal algorithm for solving a specific problem. The criterion of optimality of the algorithm is chosen by the complexity of the algorithm, i.e., the number of elementary operations that must be performed to solve the problem using this algorithm. The complexity function is the ratio that connects the algorithm's input data with the number of elementary operations. The paper contains a description of classical computational complexity that can be revealed by visual analysis of program code. The main types of computational complexity are (listed in descending order of efficiency) constant, logarithmic, linear, linear-logarithmic, quadratic, cubic. Also, methods for the determination of computational complexity are described. It is established that the main factors that can assess the algorithm's computational complexity for the visual analysis of the software code are the presence of cycles, especially enclosed, reversibility of the algorithm, etc. Further research could usefully explore a method of semantic analysis of program code to predict the assessment of its computational complexity
Опис
Ключові слова
обчислювальна складність алгоритму, асимптотичний аналіз алгоритму, практичний аналіз обчислювальної складності алгоритму, computational complexity of an algorithm, an asymptotic analysis of an algorithm, a practical analysis of the computational complexity of an algorithm
Бібліографічний опис
Бармак О. В. Підходи до практичного аналізу обчислювальних алгоритмів / О. В. Бармак, П. М. Радюк, М. О. Молчанова, О. В. Собко // Вісник Хмельницького національного університету. Технічні науки. – 2021. – № 6. – С 102-105.