Математическое моделирование. Урок 14. Поиск закономерностей |
![]() |
![]() |
Автор megabax | |||||||||||||||||||||||||||||||
03.06.2025 г. | |||||||||||||||||||||||||||||||
Математическое моделирование. Урок 14. Поиск закономерностейЧтобы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находится здесь. На прошлом уроке мы разработали класс маски, и алгоритм, который по маске создает порождаемую таблицу. Все это было сделано с целью в дальнейшем создать программу поиска зависимостей между переменными в исходной таблице. Теперь приступим к следующему шагу - разработаем алгоритм перебора всех вариантов маски. Как вы поняли из прошлого урока, перебор всех возможных комбинаций порождающих переменных - это перебор всех размещений для каждого числа переменных от 1 до N-1, где N - количество переменных в маске. Хороший вопрос: как перебрать размещение? Итак, вот, допустим, у нас есть размещение N элементов из M. Первая комбинация - это все N элементов в начале:
В данном примере M=2, но все последующие рассуждения будут справедливы и для других значений. Затем нам надо поставить последний элемент на все места от M+1 до N. После этого сдвинуть элементы от M-1 до M влево на один элемент и тоже само повторить с крайним элементом. Далее элементы M-1 и M сдвинуть еще раз и все повторить. Но все это выше описанное надо проделать для сдвигов не только M-1, M, но и для M-2,M-1,M и так вплоть для всем M. Короче, голова идет кругом На первый взгляд, задача кажется слишком сложной. Но, оказывается, есть довольно простой способ ее решения, который сразу виден, если взглянуть на проблему целиком, а не по частям. ... ... ... ...
Теперь разберем некоторые тестовые примеры. Начнем вот с этого:
Как видим, тестовая выборка инициализируется случайными числами, за исключением одного значение, которое инициализируется единицей. В маске это значение соответствует позиции 4:
... ... ...Теперь перейдем к тестированию, ячейки 0 и 2 добавим в исключения, по сути, сделав вот такую маску:
Смотрим, что у нас выдаст программа поиска зависимостей: Что характерно, мы можем запускать программу несколько раз, при этом каждый раз у нас будет генерироваться новая тестовая выборка, но значение порождаемой маски по прежнему будет 5:
Посмотрим следующий тестовый пример... ... ... ...Итак, подведем итоги. Мы написали и протестировали программу поиска закономерностей. На следуем уроке попробуем искать закономерности в каких либо реальных данных, например, в биржевых котировках |
|||||||||||||||||||||||||||||||
Последнее обновление ( 03.06.2025 г. ) |
Пред. » |
---|