Analysis of the Methods for Solving Game Puzzles such as «Flip-Flop»

Loading...
Thumbnail Image

Date

2019

Authors

Parkhomenko, Yu.
Parkhomenko, M.
Rybakova, L.
Bokiy, A.
Пархоменко, Ю. М.
Пархоменко, М. Д.
Рыбакова, Л. В.
Бокий, А. Р.
Рибакова, Л. В.
Бокій, А. Р.

Journal Title

Journal ISSN

Volume Title

Publisher

ЦНТУ

Abstract

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».

Description

Keywords

snake method, computer puzzle games, logical situation analysis, combinatorics, discrete mathematics, trait method, stream method, метод «змейки», компьютерные игры-головоломки, логический анализ ситуаций, комбинаторика, дискретная математика, метод выделения признаков, метод «ручейка», метод «змійки», комп’ютерні ігри-головоломки, логічний аналіз ситуацій, комбінаторика, дискретна математика метод виділення ознак, метод «струмка»

Citation

Analysis of the Methods for Solving Game Puzzles such as «Flip-Flop» / Yu. Parkhomenko, M. Parkhomenko, L. Rybakova, A. Bokiy // Центральноукраїнський науковий вісник. Технічні науки : зб. наук. пр. - Кропивницький : ЦНТУ, 2019. - Вип. 2 (33). - С. 190-201.