Разработка банка алгоритмов и метода поиска программ в соответствии с требованиями пользователей
Authors: Куликовская А.А. , Доренская Е.А. , Семенов Ю.А. 
Published: December 2024

Создан банк программ на языке Perl. Каждый программный модуль снабжен описанием и списком ключевых слов. По данным ключевым словам, пользователь может указать область, к которой относится интересующая его программа. В данной статье рассматривается алгоритм, выполняющий поиск программы в созданной базе данных. Поиск основан на выявлении совпадений между ключевыми словами, которые были указаны авторами программ и выбраны пользователем из предлагаемого списка диалоговым методом. Пользователь последовательно добавляет ключевые слова и в интерактивном режиме может посмотреть, нашлась ли интересующая его программа. Исследования выполнены в ФГБУ "Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт". Предлагаемый алгоритм гарантирует однозначность поиска. Многократное использование программ разными людьми с использованием различных исходных данных приводит к уменьшению количества ошибок. При обнаружении неправильной работы программ или при нахождении ошибок в коде пользователи имеют возможность сообщить об этом администратору базы данных, либо автору программы. Предполагается, что пользователи, при отсутствии желаемой программы в базе данных, могут написать ее и предложить для добавления в существующий банк. Таким образом, количество программ будет расти. Статистический анализ показывает, что данный метод можно использовать и для значительно большего числа программ в базе (порядка 10000 и более), чем существует на текущий момент.

A database containing Perl programs, descriptions and a list of keywords for each program was developed. According to these keywords, the user can determine the area of interest which includes the program, he is looking for. This article discusses an algorithm of searching that program in the created database. The search is based on finding matches between keywords, which the authors of the programs indicated and keywords, which the user selected from the proposed list. The user sequentially adds keywords and can interactively see, whether the required program has been found or not. The work was carried out at Institute for Theoretical and Experimental Physics named after A.I. Alikhanov of National Research Centre «Kurchatov Institute». One of the objectives of the proposed algorithm is to guarantee unambiguity of the search. The side result we expect is a bugs fixing in existing programs, through the repeated use of them by many users. This goal can be achieved through numerous tests with wide range of input data by different users and viewing the codes of existing programs by different people. In case of program malfunction or if errors are found in the code, users will be able to inform the database administrator or the author of the program about this. It is assumed, that users, in the absence of the desired program in the database, will be able to write it and add to the existing database, thereby increasing the number of programs. Statistical analysis shows that this method can also be used for a significantly larger quantity of programs in the database than currently exists.