Про підходи до прискорення перебору об’єктів в задачах обробки інформації
DOI:
https://doi.org/10.32347/st.2025.3.1207Ключові слова:
перебір, прискорення перебору, кластеризація, декомпозиція умов переборуАнотація
У роботі докладно розглянуто поняття процесу перебору. Він здійснюється з об'єктами x, які є елементами деякої множини Х. Метою перебору є виконання деякої активної дії y = f(x) над елементами, що перебираються. Ця дія може, звичайно, застосовуватися і до кожного елемента, але у переважній більшості практичних завдань дія застосовується тільки до тих елементів, які задовольняють певній умові перебору P(x).
Найбільш простим способом перебору є повний перебір або «брут-форс». При цьому до кожного без винятку елементу множини Х застосовується перевірка умови P(x) і, залежно від результату, здійснюється виконання дії y = f(x). Очевидно, що повний перебір є певним еталонним процесом у тому сенсі, що саме в порівнянні з ним зручно оцінювати ефективність того чи іншого алгоритму обмеженого перебору. Алгоритми обмеженого перебору доцільно застосовувати у переважній більшості практичних випадків, якщо тільки повний перебір не займає малопомітний час порядку часток секунди. Однак, у деяких випадках доцільно оптимізувати (обмежувати) перебір навіть за таких малих часів виконання всього процесу – зокрема, якщо такі короткі процеси перебору повторюються багато разів на одиницю часу, складаючись сумарно у деякий, уже досить значний час.
Метод гілок і меж є найвідомішим алгоритмом обмеженого перебору і дозволяє, поступово просуваючись від одного варіанта до іншого, відкидати цілі набори елементів, завідомо не відповідних умові P(x). Однак, даний метод не дозволяє робити надійні попередні оцінки ефективності обходу всього дерева відповідних елементів, а його застосовність для кожної конкретної задачі стає зрозумілою тільки в процесі перебору.
У цій роботі пропонується метод обмеження, заснований на поданні умови перебору P(x) у кон’юнктивній або диз’юнктивній нормальній формі з подальшою перевіркою цієї умови за схемою скорочених логічних обчислень з використанням лише однієї з умов. Також для перевірки цієї умови пропонується заздалегідь проводити обчислення деякої додаткової інформації, спираючись на яку під час перебору, можна отримувати кінцевий результат швидше. В якості такої інформації можна прийняти поділ на класи (кластери) всіх об'єктів, що перебираються, і виконання переборів тільки в межах кластерів, що скорочує загальну кількість елементів, що перебираються.
Пропонований підхід докладно пояснюється на прикладі рішення актуальної задачі з області комп'ютерної графіки, яка полягає у пошуку всіх правильних n-кутників (на прикладі правильних трикутників) на множині N точок тривимірного простору, які задані своїми координатами. Наведено словесний опис повного перебору, необхідного для вирішення такого завдання, а також докладний опис алгоритму обмеженого перебору, який складений за пропонованою схемою (скорочені обчислення за КНФ і попередня кластеризація всіх об'єктів, що перебираються або, точніше, пов'язаної з ними інформації – відстаней між усіма парами).
У роботі наведено числові розрахунки, що дозволяють провести теоретичну оцінку ефективності запропонованого рішення. Встановлено, що при ідеально рівномірному розподілі всіх об'єктів, що перебираються по K класам, відбувається значне зменшення кількості операцій порівняння відстаней при пошуку рівносторонніх трикутників (при числі K = 50 – теоретичне прискорення становить до 3 разів). Прискорення, що одержується, досліджено практично на модельній програмній реалізації, написаній мовою C#, в результаті чого показано, що реальне прискорення є досить близьким до ідеального, а сам запропонований підхід, відповідно, є ефективним.
Посилання
Coronel C., Morris S. (2023). Database Systems: Design, Implementation, and Management, 14th ed. Boston, Cengage Learning, 784.
Tamb1 V.K., Singh N. (2024). A Comparison of SQL and NO-SQL Database Management Systems for Unstructured Data. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering (IJAREEIE), Vol. 13, Issue 7, 2086-2093.
Glake, D., Kiehn, F., Schmidt, M., Panse, F., Ritter, N. Towards (2022). Polyglot Data Stores: Overview and Open Research Questions. URL: https://arxiv.org/abs/2204.05779.
Booch G., Maksimchuk R.A., Michael W.E., Young B.J., Conallen J., Houston K.A. (2007). Object-Oriented Analysis and Design with Applications. Boston: Addison-Wesley Professional, 3 edition, 720.
Konc J., Janežič D. (2017). An Improved Branch-and-Bound Algorithm for the Maximum Clique Problem. MATCH Communications in Mathematical and in Computer Chemistry, Vol. 78, No. 3, 569–590.
Burkard R.E., Çela E., Karisch S.E., Rendl F. (2019). A Branch-and-Bound Algorithm for the Quadratic Assignment Problem Based on the Hungarian Method. European Journal of Operational Research, Vol.112, No.3, 647–662.
Gonçalves J.F., Mendes J.J.M., Resende M.G.C. (2005). A hybrid genetic algorithm for the job shop scheduling problem. European Journal of Operational Research, Vol.167, No.1. 77–95.
González M.A., Vela C.R., Varela R. (2008). A new hybrid genetic algorithm for the job shop scheduling problem with setup times. Proceedings of the 18th International Conference on Automated Planning and Scheduling (ICAPS 2008), 116–123.
Akenine-Möller J.T., Haines E., Hoffman N., Pesce A., Iwanicki M., Hillaire S. (2018). Real-Time Rendering. Boca Raton: CRC Press, 1198.
Albahari B.A. (2017). C# 7.0 in a Nutshell: The Definitive Reference. Sebastopol: O'Reilly Media, 1088.
Brett D. McLaughlin, Pollice G., West D. (2006). Head First Object-Oriented Analysis and Design. Sebastopol: O'Reilly Media, 636.
Nagel Ch. (2018). Professional C# 7 and .NET Core 2.0. Birmigham: Wrox, 1440.
Mirjalili, S., Mirjalili, S. M., Hatamlou, A. (2020). A Survey on Swarm Intelligence Algorithms: Principles, Applications, and Challenges IEEE Access, Vol. 8, 164848–164872.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Oleksandr Haisha, Serhii Lienkov, Olena Haisha

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial 4.0 International License.
Автор(и) та Редакція згодні на те, що Редакція також матиме право:
- здійснювати необхідне оформлення Твору/Статті за результатами його редакційної обробки;
- визначати самостійно кількість видань, друк додаткових копій і тираж Твору/Статті, кількість копій окремих видань і додаткових тиражів;
- опублікування Твору/Статті в інших виданнях, пов’язаних з діяльністю Редакції
В журналі діє ліцензія CC BY 4.0