Skip to content

ArtemBystrovOfficial/hanoi-scientific

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Hanoi-Scientific

Быстрая навигация
О проекте
Зависимости · Сборка · Лицензия

О проекте

Проект посвящен обобщенной задаче о ханойской башне, о нахождения минимального количества перестановок для любого количества стержней и колец. До сих пор в мире официально не было найдено универсального решения, и благодаря долгим изучением этой темы в разных областях математики и информатики, удалось найти решение, которое позже будет выложено в научные источники.

Конкретно данный репозиторий создан для симуляции сложной рекурсии, которая не отсекает правильные решения, и является одним из доказательств теории, ведь самостоятельно перебирает все возможные варианты.

Зависимости и стек

  • Boost 1.82.0 Lockfree
  • Boost 1.82.0 Test
  • C++17

Сборка и использование

Установите Boost https://www.boost.org/users/history/version_1_82_0.html Используйте CMakeLists.txt для сборки

  mkdir build
  cd build
  cmake ..
  cmake --build -j(n) .
#include "../include/hanoi.hpp"

int main() {
	auto b = hanoi::singleRun<5, 15, true>(); //параллельная реализация
}
[ RAW 7 4 7 3 0 0 1 4 7 0 2 3 2 2 1 0 1 4  ] -> побайтовое представление данных кадра
|---->| -> последний ход
------- -> текущие состаяние башен



  2 0
  3 1 4
------- | MOV: 7 ( 13 ) -> минимальное количество ходов
Efficiency coficent: -> работа оптимизаций
        AdvantageColumns        69
        LastStepNoneMoveble     81
        BasicShiftingRules      140
        AntiLoopDP      58
        EmptyMove       0
        BadGenerations  0
        SimetricMoves   0
Total frames: 33 -> количество обработанных кадров
Time execution: 0.162151s

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published