Центральноукраїнський науковий вісник. Технічні науки. Випуск 2. - 2019
Permanent URI for this collection
Browse
Browsing Центральноукраїнський науковий вісник. Технічні науки. Випуск 2. - 2019 by Subject "combinatorics"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
Item Analysis of the Methods for Solving Game Puzzles such as «Flip-Flop»(ЦНТУ, 2019) Parkhomenko, Yu.; Parkhomenko, M.; Rybakova, L.; Bokiy, A.; Пархоменко, Ю. М.; Пархоменко, М. Д.; Рыбакова, Л. В.; Бокий, А. Р.; Рибакова, Л. В.; Бокій, А. Р.There is a variety of popular puzzles having a goal of reducing an arbitrary binary matrix to either all “0” or “1” matrix. In this paper we study methods for solving “Flip-Flop” like puzzles of dimensions 3x3, 3x4, 4x4 applying tools of logical analysis of situations, combinatorics and discrete mathematics. We found that applying the method of sequential analysis of each combination that works well for 3x3 matrices is cumbersome and inefficient for matrices of 4x4 and higher dimensionalities. Therefore, we discovered and analyzed algorithms named trait selection method, stream method and snake method which work better. We concluded that in order to find an optimized solution it is helpful to check if each current combination matches one of the pre-final ones, or to swap «0»s with «1»s and vise versa. Существует множество популярных головоломок, целью которых является сокращение произвольной двоичной матрицы до любой матрицы «0» или «1». В этой статье мы изучаем методы решения компьютерных игр-головоломок типа «Flip-Flop», с матрицами размерностей 3x3, 3x4, 4x4, с использованием инструментов логического анализа ситуаций, комбинаторики и дискретной математики. Мы определили, что применение метода последовательного анализа каждой комбинации, который хорошо работает для матриц 3x3, является громоздким и неэффективным для матриц 4x4 и более высоких размерностей. Поэтому мы нашли и проанализировали алгоритмы, названные методом выбора признаков, методом «ручейка» и методом «змейки» , которые работают лучше. Мы пришли к выводу, что для нахождения оптимального решения полезно проверить, соответствует ли каждая текущая комбинация одной из предконечных, и своевременно вмешаться в процесс, либо предварительно обработать содержимое исходной матрицы, чтобы оптимизировать количество ячеек с кодами «0» или «1». Метою статті є визначення методів розв’язання задачі зведення довільної комбінації кодів матриці, з мінімальним числом кроків, до одних «0» або «1» та побудова алгоритмів, які забезпечать цей процес. Як показала практика гри «Flip-Flop», досягнення мети - зведення довільної комбінації кодів матриці, в результаті кінцевого числа кроків, до одних «нулів» або «одиниць», шляхом аналізу ситуацій отриманих після кожного кроку, є задачею не простою. Логіку зміни комбінацій на два, три кроки уперед важко передбачити, так як навіть в матриці з кожним кроком одночасно змінюється вміст семи комірок із 16. Тому, без визначення алгоритму послідовності дій, задача розв’язання даної головоломки, навіть при необмеженому числі кроків, не завжди досяжна. З метою визначення методів розв’язання задачі - алгоритмів виконання послідовності дій, які гарантовано або з мінімальною кількістю кроків забезпечать формування «0»-ї або «1»-ї матриці на основі довільно заданої початкової комбінації, було детально о досліджено процес формування комбінацій двійкових кодів матриці розміром m х n при активації окремих її комірок і методів прийняття рішень. У роботі приведені результати дослідження методів розв’язання комп’ютерних ігор-головоломок типу «Flip-Flop» з матрицями розміром з використанням методів логічного аналізу ситуацій, комбінаторики та дискретної математики. З’ясували, що застосування методу логічного аналізу кожної поточної комбінації, який добре працює в матрицях розміром, в матрицях і вище, для прийняття оптимального рішення при визначенні наступного кроку, є процесом складним і неефективним. Тому вирішили шукати алгоритми у визначенні постійної послідовності дій за певною ознакою. Розглянули та проаналізували методи виділення певних ознак, метод «струмка» та метод «змійки». Виконані дослідження показали, що для оптимізації кількості кроків, при застосуванні вказаних алгоритмів, необхідно аналізувати поточні комбінації і своєчасно вмішуватися в процес, або попередньо обробити вхідну матрицю, з метою оптимізації кількості комірок з кодами «0» або «1».