<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">izvestswsu</journal-id><journal-title-group><journal-title xml:lang="ru">Известия Юго-Западного государственного университета</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings of the Southwest State University</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2223-1560</issn><issn pub-type="epub">2686-6757</issn><publisher><publisher-name>ЮЗГУ</publisher-name></publisher></journal-meta><article-meta><article-id custom-type="elpub" pub-id-type="custom">izvestswsu-37</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Технические науки</subject></subj-group></article-categories><title-group><article-title>УЧЕТ АЛГОРИТМИЧЕСКИХ ОСОБЕННОСТЕЙ ЗАДАЧИ ПРИ ГЕНЕРАЦИИ ДИАГОНАЛЬНЫХ ЛАТИНСКИХ КВАДРАТОВ</article-title><trans-title-group xml:lang="en"><trans-title>CONSIDERATION OF ALGORITHMIC SPECIFIC FEATURES OF THE TASK WHEN GENERATING DIAGONAL LATIN SQUARES</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Ватутин</surname><given-names>Э. И.</given-names></name><name name-style="western" xml:lang="en"><surname>Vatutin</surname><given-names>E. I.</given-names></name></name-alternatives><email xlink:type="simple">evatutin@rambler.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Журавлев</surname><given-names>А. Д.</given-names></name><name name-style="western" xml:lang="en"><surname>Zhuravlev</surname><given-names>A. D.</given-names></name></name-alternatives><email xlink:type="simple">alexone07@mail.ru</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Заикин</surname><given-names>О. С.</given-names></name><name name-style="western" xml:lang="en"><surname>Zaikin</surname><given-names>O. S.</given-names></name></name-alternatives><email xlink:type="simple">zaikin.icc@gmail.com</email><xref ref-type="aff" rid="aff-3"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Титов</surname><given-names>В. С.</given-names></name><name name-style="western" xml:lang="en"><surname>Titov</surname><given-names>V. S.</given-names></name></name-alternatives><email xlink:type="simple">titov-kstu@rambler.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>ФГБОУ ВО «Юго-Западный государственный университет»</institution></aff><aff xml:lang="en"><institution>Southwest State University</institution></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Интернет-портал BOINC.ru</institution></aff><aff xml:lang="en"><institution>Internet Portal BOINC.ru</institution></aff></aff-alternatives><aff-alternatives id="aff-3"><aff xml:lang="ru"><institution>ИДСТУ СО РАН</institution></aff><aff xml:lang="en"><institution>ISDCT SB RAS</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2016</year></pub-date><pub-date pub-type="epub"><day>28</day><month>04</month><year>2016</year></pub-date><volume>0</volume><issue>2</issue><fpage>46</fpage><lpage>59</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Ватутин Э.И., Журавлев А.Д., Заикин О.С., Титов В.С., 2016</copyright-statement><copyright-year>2016</copyright-year><copyright-holder xml:lang="ru">Ватутин Э.И., Журавлев А.Д., Заикин О.С., Титов В.С.</copyright-holder><copyright-holder xml:lang="en">Vatutin E.I., Zhuravlev A.D., Zaikin O.S., Titov V.S.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://izvestswsu.elpub.ru/jour/article/view/37">https://izvestswsu.elpub.ru/jour/article/view/37</self-uri><abstract><p>В статье приведена постановка задачи получения диагональных латинских квадратов (ДЛК) заданного порядка N. Показано, что данная задача достаточно просто формулируется, однако для ее решения могут потребоваться как использование эвристических методов, так и ряд алгоритмических приемов, относящихся к алгоритмической и высокоуровневой оптимизации программных средств, учитывающих особенности решаемой задачи (формируемой комбинаторной структуры) и позволяющих повысить темп генерации диагональных латинских квадратов. К ним относятся: использование диагонального порядка заполнения элементов ДЛК; использование статических структур данных вместо размещения их в динамической памяти; учет числа возможных значений для еще не заполненных ячеек квадрата в совокупности с ранним внеочередным заполнением ячеек с и ранним отсечением неперспективных ветвей дерева комбинаторного перебора с ; применение вспомогательных структур данных (одномерных массивов) для быстрого заполнения множеств допустимых элементов ; отключение технологии Hyper-Threading при однопоточной генерации ДЛК в совокупности с ликвидацией фоновой нагрузки на ядра CPU, не используемые в процессе генерации ДЛК; выбор порядка заполнения ячеек квадрата по критерию , что уменьшает арность узлов дерева комбинаторного перебора; использование PGO-компиляции. Для каждой из оптимизаций даны конкретные цифры темпа генерации, измеренного для однопоточной программной реализации на современных процессорах. Показано, что наиболее эффективным является подход на базе метода полного перебора с ранним отсечением неперспективных решений, который при специализированной программной реализации с использованием вложенных циклов обеспечивает темп генерации до 340 000 квадратов в секунду.</p></abstract><trans-abstract xml:lang="en"><p>The article describes the problem statement for generation of diagonal Latin squares (DLS) of preassigned order N. It is indicated that this problem is fairly simply specified. However, to solve this problem it is necessary to apply both heuristic methods and a number of algorithmic techniques related to software algorithmic and high-level optimization which take into account specific features of the current task (generated combinatorial structure) and allow increasing the rate of DLS generation. They include the use of the diagonal order of filling the elements of DLS; the use of static data structures instead of placing them in the heap memory; taking into account the number of possible values for square slots which have not been filled yet together with early out-of-sequence filling of slots with and early pruning of unpromising lines of combinatorial search with ; the use of auxiliary data structures (one-dimensional arrays) for the quick filling of the sets of admissible elements ; Hyper-Threading technology disabling in the single-threaded DLS generation together with the elimination of the background load on the CPU cores which are not used in the DLS generation; the choice of the order of filling the square slots according to the criterion of which reduces the arity of tree nodes of combinatorial search; application of PGO-compilation. For each of the optimizations specific numbers of generation rate measured for single-threaded software implementation in modern processors are given. It is indicated that the most effective approach is based on the exhaustive method of early pruning of unpromising solutions. It provides the rate of generation of 340,000 squares per second when specialized software using nested loops is implemented.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>латинские квадраты</kwd><kwd>дискретная комбинаторная оптимизация</kwd><kwd>эвристические методы</kwd><kwd>метод взвешенного случайного перебора</kwd><kwd>метод муравьиной колонии</kwd><kwd>задача о булевой выполнимости</kwd><kwd>алгоритмическая и высокоуровневая оптимизация</kwd><kwd>Latin squares</kwd><kwd>discrete combinatorial optimization</kwd><kwd>heuristic methods</kwd><kwd>method of weighted accidental exhaustive search</kwd><kwd>ant colony method</kwd><kwd>Boolean satisfiability problem</kwd><kwd>algorithmic and high-level optimization</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Colbourn C.J., Dinitz J.H. Handbook of Combinatorial Designs. Second Edition. Chapman&amp;Hall, 2006. -984 p.</mixed-citation><mixed-citation xml:lang="en">Colbourn C.J., Dinitz J.H. Handbook of Combinatorial Designs. Second Edition. Chapman&amp;Hall, 2006. -984 p.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Заикин О.С., Кочемазов С.Е. Поиск пар ортогональных диагональных латинских квадратов порядка 10 в проекте добровольных распределенных вычислений SAT@home // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. - 2015. - Т. 4, № 3. - С. 95-108.</mixed-citation><mixed-citation xml:lang="en">Заикин О.С., Кочемазов С.Е. Поиск пар ортогональных диагональных латинских квадратов порядка 10 в проекте добровольных распределенных вычислений SAT@home // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. - 2015. - Т. 4, № 3. - С. 95-108.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Особенности использования взвешивающих эвристик в задаче поиска диагональных латинских квадратов / Э.И. Ватутин, А.Д. Журавлев, О.С. Заикин, В.С. Титов // Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение. - 2015. - № 3 (16). - С. 18-30.</mixed-citation><mixed-citation xml:lang="en">Особенности использования взвешивающих эвристик в задаче поиска диагональных латинских квадратов / Э.И. Ватутин, А.Д. Журавлев, О.С. Заикин, В.С. Титов // Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение. - 2015. - № 3 (16). - С. 18-30.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Метод случайного перебора в задаче построения разбиений граф-схем параллельных алгоритмов / Э.И. Ватутин, Д.В. Колясников, И.А. Мартынов, В.С. Титов // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов. - Барнаул: Барнаул, 2014. - С. 115-125.</mixed-citation><mixed-citation xml:lang="en">Метод случайного перебора в задаче построения разбиений граф-схем параллельных алгоритмов / Э.И. Ватутин, Д.В. Колясников, И.А. Мартынов, В.С. Титов // Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов. - Барнаул: Барнаул, 2014. - С. 115-125.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Метод взвешенного случайного перебора для решения задач дискретной комбинаторной оптимизации / Э.И. Ватутин, Е.Н. Дремов, И.А. Мартынов, В.С. Титов // Известия ВолГТУ. Серия: Электроника, измерительная техника, радиотехника и связь. - 2014. - № 10 (137). Вып. 9. - С. 59-64.</mixed-citation><mixed-citation xml:lang="en">Метод взвешенного случайного перебора для решения задач дискретной комбинаторной оптимизации / Э.И. Ватутин, Е.Н. Дремов, И.А. Мартынов, В.С. Титов // Известия ВолГТУ. Серия: Электроника, измерительная техника, радиотехника и связь. - 2014. - № 10 (137). Вып. 9. - С. 59-64.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Dorigo M. Optimization, Learning and Natural Algorithms // PhD thesis. Politecnico di Milano, Italie, 1992.</mixed-citation><mixed-citation xml:lang="en">Dorigo M. Optimization, Learning and Natural Algorithms // PhD thesis. Politecnico di Milano, Italie, 1992.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И., Титов В.С. Анализ результатов применения алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений // Известия Южного федерального университета. Технические науки. - 2014. - № 12 (161). - С. 111-120.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И., Титов В.С. Анализ результатов применения алгоритма муравьиной колонии в задаче поиска пути в графе при наличии ограничений // Известия Южного федерального университета. Технические науки. - 2014. - № 12 (161). - С. 111-120.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И., Титов В.С. Об одном подходе к использованию алгоритма муравьиной колонии при решении задач дискретной комбинаторной оптимизации // Интеллектуальные и информационные системы (Интеллект 2015). - Тула, 2015. - С. 8-13.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И., Титов В.С. Об одном подходе к использованию алгоритма муравьиной колонии при решении задач дискретной комбинаторной оптимизации // Интеллектуальные и информационные системы (Интеллект 2015). - Тула, 2015. - С. 8-13.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И., Титов В.С., Емельянов С.Г. Основы дискретной комбинаторной оптимизации. - М.: Инфра-М, 2016. - 271 с.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И., Титов В.С., Емельянов С.Г. Основы дискретной комбинаторной оптимизации. - М.: Инфра-М, 2016. - 271 с.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Применение высокопроизводительных вычислений для поиска троек взаимно частично ортогональных диагональных латинских квадратов порядка 10 / О.С. Заикин, Э.И. Ватутин, А.Д. Журавлев, М.О. Манзюк // Параллельные вычислительные технологии (ПаВТ'2016). - URL: https://ru.wikipedia.org/wiki/ Раскраска_графов</mixed-citation><mixed-citation xml:lang="en">Применение высокопроизводительных вычислений для поиска троек взаимно частично ортогональных диагональных латинских квадратов порядка 10 / О.С. Заикин, Э.И. Ватутин, А.Д. Журавлев, М.О. Манзюк // Параллельные вычислительные технологии (ПаВТ'2016). - URL: https://ru.wikipedia.org/wiki/ Раскраска_графов</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И., Зотов И.В. Построение блоков разбиения в задаче декомпозиции параллельных управляющих алгоритмов // Материалы и упрочняющие технологии - 2003. - Т. 2. - Курск, 2003. - С. 38-42.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И., Зотов И.В. Построение блоков разбиения в задаче декомпозиции параллельных управляющих алгоритмов // Материалы и упрочняющие технологии - 2003. - Т. 2. - Курск, 2003. - С. 38-42.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И., Волобуев С.В., Зотов И.В. Комплексный сравнительный анализ качества разбиений при синтезе логических мультиконтроллеров в условиях присутствия технологических ограничений // Параллельные вычисления и задачи управления (PACO’08). - М.: Институт проблем управления им. В.А. Трапезникова РАН, 2008. - С. 643-685.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И., Волобуев С.В., Зотов И.В. Комплексный сравнительный анализ качества разбиений при синтезе логических мультиконтроллеров в условиях присутствия технологических ограничений // Параллельные вычисления и задачи управления (PACO’08). - М.: Институт проблем управления им. В.А. Трапезникова РАН, 2008. - С. 643-685.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Комбинаторно-логические задачи синтеза разбиений параллельных алгоритмов логического управления при проектировании логических мультиконтроллеров / Э.И. Ватутин, И.В. Зотов, М.Ю. Сохен, В.С. Титов. - Курск, 2010. - 200 с.</mixed-citation><mixed-citation xml:lang="en">Комбинаторно-логические задачи синтеза разбиений параллельных алгоритмов логического управления при проектировании логических мультиконтроллеров / Э.И. Ватутин, И.В. Зотов, М.Ю. Сохен, В.С. Титов. - Курск, 2010. - 200 с.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Ватутин Э.И. Проектирование логических мультиконтроллеров. Синтез разбиений параллельных граф-схем алгоритмов. - Saarbrücken: Lambert Academic Publishing, 2011. - 292 с.</mixed-citation><mixed-citation xml:lang="en">Ватутин Э.И. Проектирование логических мультиконтроллеров. Синтез разбиений параллельных граф-схем алгоритмов. - Saarbrücken: Lambert Academic Publishing, 2011. - 292 с.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Vatutin E.I., Titov V.S. Voluntary distributed computing for solving discrete combinatorial optimization problems using Gerasim@home project // Distributed computing and grid-technologies in science and education: book of abstracts of the 6th international conference. - Dubna: JINR, 2014. - P. 60-61.</mixed-citation><mixed-citation xml:lang="en">Vatutin E.I., Titov V.S. Voluntary distributed computing for solving discrete combinatorial optimization problems using Gerasim@home project // Distributed computing and grid-technologies in science and education: book of abstracts of the 6th international conference. - Dubna: JINR, 2014. - P. 60-61.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Заикин О.С., Посыпкин М.А., Семёнов А.А., Храпов Н.П. Опыт организации добровольных вычислений на примере проектов OPTIMA@home и SAT@home // Вестник Нижегородского университета им. Н.И. Лобачевского. - 2012. - № 5-2. - С. 340-347.</mixed-citation><mixed-citation xml:lang="en">Заикин О.С., Посыпкин М.А., Семёнов А.А., Храпов Н.П. Опыт организации добровольных вычислений на примере проектов OPTIMA@home и SAT@home // Вестник Нижегородского университета им. Н.И. Лобачевского. - 2012. - № 5-2. - С. 340-347.</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Intel 64 and IA-32 Architectures Software Developer’s Manual. Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C. Intel press, order number 325462-052US, 2014. - 3439 p.</mixed-citation><mixed-citation xml:lang="en">Intel 64 and IA-32 Architectures Software Developer’s Manual. Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C. Intel press, order number 325462-052US, 2014. - 3439 p.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Процедурно-модульное программирование на Delphi: учебное пособие / С.Г. Емельянов, Э.И. Ватутин, В.С. Панищев, В.С. Титов. - М.: Аргамак-Медиа, 2014. - 352 с.</mixed-citation><mixed-citation xml:lang="en">Процедурно-модульное программирование на Delphi: учебное пособие / С.Г. Емельянов, Э.И. Ватутин, В.С. Панищев, В.С. Титов. - М.: Аргамак-Медиа, 2014. - 352 с.</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">Biere A., Heule V., van Maaren H., Walsh T. (eds.). Handbook of Satisfiability. IOS Press, 2009. - 980 p.</mixed-citation><mixed-citation xml:lang="en">Biere A., Heule V., van Maaren H., Walsh T. (eds.). Handbook of Satisfiability. IOS Press, 2009. - 980 p.</mixed-citation></citation-alternatives></ref><ref id="cit20"><label>20</label><citation-alternatives><mixed-citation xml:lang="ru">Soos M., Nohl K. Extending SAT Solvers to Cryptographic Problems // Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing (SAT’09), 2009. - P. 244-257.</mixed-citation><mixed-citation xml:lang="en">Soos M., Nohl K. Extending SAT Solvers to Cryptographic Problems // Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing (SAT’09), 2009. - P. 244-257.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
