"Жизнь" Конвея и другие клеточные автоматы

Публикация № 1829240 22.03.23

Разработка - Математика и алгоритмы

Игра Жизнь Конвей Game of Life Клеточный Автомат

Я думаю, нет нужды представлять математика Джона Конвея и его "Game of Life" - игру "Жизнь". Предлагаю вспомнить эту игру, а также другие "жизне"-подобные клеточные автоматы. К статье приложен файл с реализацией этой игры.

Об игре

История Game of Life началась даже не с Джона Конвея, а с Джона фон Неймана - основоположника сегодняшней компьютерной архитектуры (архитектура фон Неймана, в противоположность гарвардской архитектуре). В процессе доказательства существования самовоспроизводящихся машин он смоделировал автомат, работающий на клеточной доске. Радикально упростив этот автомат, Джон Конвей получил набор правил, которые и стали основой для игры "Жизнь".

Правила из Википедии:

  • Место действия игры — размеченная на клетки плоскость, которая может быть безграничной, ограниченной или замкнутой.
  • Каждая клетка на этой поверхности имеет восемь соседей (окрестность Мура), окружающих её, и может находиться в двух состояниях: быть «живой» (заполненной) или «мёртвой» (пустой).
  • Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
    • в пустой (мёртвой) клетке, с которой соседствуют три живые клетки, зарождается жизнь;
    • если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если живых соседей меньше двух или больше трёх) клетка умирает («от одиночества» или «от перенаселённости»).
  • Игра прекращается, если
    • на поле не останется ни одной «живой» клетки;
    • конфигурация на очередном шаге в точности (без сдвигов и поворотов) повторит себя же на одном из более ранних шагов (складывается периодическая конфигурация)
    • при очередном шаге ни одна из клеток не меняет своего состояния (частный случай предыдущего правила, складывается стабильная конфигурация)

Несмотря на достаточно простые правила, существует великое множество интересных конфигураций, возникающих в процессе игры:

Очевидно, что максимальная скорость распространения популяции - 1 клетка за 1 ход (по горизонтали, вертикали или диагонали). Логично, что она получила название скорость света.

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

Нельзя не упомянуть об эмблеме хакеров, содержащей в себе планер - двигающуюся фигуру. 

 

 

Эта фигура за каждые 4 хода смещается на 1 клетку по диагонали.  Таким образом планер двигается со скоростью 1/4 скорости света.

С помощью планеров можно конструировать счётчикилогические вентили ИИЛИНЕ. С использованием планеров можно доказать, что «Жизнь» в качестве вычислительной машины является полной по Тьюрингу.

О реализации

Первая проблема, с которой сталкивается любой, кто собрался реализовать эту игру - поле. Так как прямоугольное поле имеет границы, то как должна развиваться колония клеток на границе? Есть два подхода - первый: считать, что за границей поля нет и не может быть живых клеток, и второй: соединить противоположные края, превратив прямоугольник в тор. Обычно используется второй вариант - планер, вылетев за нижний край, вернется сверху. 

Основных подходов к реализации алгоритмов тоже два. 

Первый подход заключается в создании двумерного массива по размеру поля, элемент массива соответствует клетке поля. Автор этих строк когда-то использовал в качестве такого массива видеопамять VGA. Очевидно, что а) при таком подходе поле ограничено доступной памятью, б) алгоритм игры содержит обход по двумерному массиву, его производительность значительно падает при увеличении поля, в) обычно скорость выполнения почти не зависит от заполненности поля. Второй подход вместо массива для поля предполагает массив для клеток. Элемент массива содержит координаты клетки. Потенциально с помощью такого подхода можно иметь в игре "бесконечное" поле. Но в этом случае а) скорость и объем необходимой памяти зависит от количества клеток в популяции, б) появляется проблема быстрого поиска клеток по координатам.

В предлагаемой реализации игры используется второй подход, для хранения клеток используется Соответствие, ключом которого являются координаты клетки. Потенциальный размер поля - 1000000*1000000. На экране видима только часть поля - окно, которое можно "перемещать" по полю.

 
 Пример игры

Еще один интересный алгоритм на основе запроса описан в Игра "Жизнь" в одном запросе

Аналогов игры в интернете полно, в том числе и на Инфостарте: раз, два, три ... Но игры на основе клеточных автоматов не ограничиваются указанными выше правилами. А что если изменить количество соседей?

 

Другие клеточные автоматы

Предположим, что новая клетка рождается (birth) если у нее 3 соседа, а выживает (survival) если имеет 2 или 3 соседей. Тогда правила для игры "жизнь" описываются формулой B3/S23. Меняя в этой формуле цифры, мы получим другие правила и другие игры, со своими закономерностями и интересными эффектами.

 
День и ночь (B3678 / S34678)
 
 Пример осциллятора и движущаяся "бабочка"

Есть интересная особенность: поле можно "инвертировать", тогда конфигурация "мертвых" клеток будет вести себя так же, как и бывшая конфигурация "живых клеток".

 
Жизнь без смерти (B3 / S012345678)

Здесь клетки вообще не умирают, их количество постоянно увеличивается, порождая разнообразные узоры, часто симметричные или периодические.

 
 Во что превращается планер
 
HighLife (B36 / S23)

Во многом похожа на "Жизнь". Здесь интересен репликатор - конфигурация клеток которая создает свои копии по обеим сторонам, эти копии - свои копии, которые сталкиваются, уничтожаются, после чего остаются два экземпляра удаляющиеся друг от друга.

 
 Репликтор

Семена (B2 / S)

Здесь ни одна из клеток не выживает, но перед смертью может дать жизнь новой клетке. Интересно наличие фотонов, движущихся со скоростью света. Сталкиваясь, фотоны могут погибнуть, а могут породить другие фотоны (чем не физика элементарных частиц!))).

 
 Фотоны

Morley (B368 / S245)

Эта игра примечательна наличием простого паровоза, двигающейся фигуры, оставляющей за собой дым. За 170 шагов он перемещается на 13 клеток

 
Паровоз

 

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

 

 

Прочие виды правил перечислены здесь, и здесь, а еще здесь.

 

Игра тестировалась в тонком клиенте 8.3.22.1709.

Как всегда, приветствуются замечания / дополнения / комментарии.

 
 Некоторые из прочих моих публикаций  

  

Скачать файлы

Наименование Файл Версия Размер
"Жизнь" Конвея и другие клеточные автоматы:

.erf 15,94Kb
6
.erf 15,94Kb 6 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1693 22.03.23 16:49 Сейчас в теме
2. Alxby 1071 22.03.23 17:23 Сейчас в теме
(1)Ага. Вроде бы ничего особенного, а затягивает.
3. aSHA-1 26.03.23 09:26 Сейчас в теме
а шаблоны будут? хотя бы как у Гарднера?
5. Alxby 1071 26.03.23 12:26 Сейчас в теме
(3)Возможно. Но потом. Сейчас на очереди другие игры.Кстати, для тех, кто не знает, - Мартин Гарднер - автор научно-популярных книг по математике, несколько глав в них он посвятил этой игре.
7. aSHA-1 26.03.23 14:28 Сейчас в теме
(5)Буду ждать, подписался
4. AndreyCh75 26.03.23 09:53 Сейчас в теме
Спасибо! Прям ностальгия, писал в свое время на дельфи) А потом сидел перед монитором и медитировал)
6. Alxby 1071 26.03.23 12:39 Сейчас в теме
(4)Первый раз я ее написал на asm86 под DOS. Потом - на Delphi с ассемблером на поле 1000*1000. По сравнению с DOS, возможность создать двумерный массив на мегабайт - это было круто! Про всякие там DirectX, OpenGL и прочие Unity тогда не знали, поэтому графика тоже была на ассемблере.
Прикрепленные файлы:
dicwork; manuel; tsmult; Somebody1; AndreyCh75; +5 Ответить
8. YA_523322930 02.04.23 18:45 Сейчас в теме
Слушай, мы же 1сники, мы в этом вообще не шарим, это все для настоящих программистов и математиков, а нам лучше что-нибудь про НДС, это наш потолок. Ну или там как зп рассчитывать, вот и вся математика, доступная 1сникам.
9. Alxby 1071 05.04.23 06:56 Сейчас в теме
(8)1с - это всего лишь инструмент. Умение на 1с решать нестандартные задачи (в том числе, но не обязательно игры) - признак мастерства. Вы же не против повышать свое мастерство?
G_116449793522595596167; +1 Ответить
10. YA_523322930 05.04.23 20:49 Сейчас в теме
(9) Мастерство у 1сника - это клепать управляемые формочки с кнопочками, настраивать обмены и периодически перезагружать сервер бд, все высокие технологии и математика уже за гранью 1с, там уже программирование.
11. Alxby 1071 05.04.23 22:23 Сейчас в теме
(10)Я надеюсь, большинство не разделяют Ваше мнение
Климов; G_116449793522595596167; +2 Ответить
12. dicwork 07.04.23 10:55 Сейчас в теме
Я писал такую программу в 1980 году на языке ПЛ/1. Набивал на перфокартах. Выводил на печать на бумагу. С этого началось мое увлечение программированием.
13. Климов 26.04.23 16:49 Сейчас в теме
Студентов-практикантов заставляю "Жизнь" писать.
А слабо множество Мандельброта на 1С нарисовать? Тоже затягивающая штука...
14. Alxby 1071 26.04.23 20:58 Сейчас в теме
(13)Множество Мандельброта я рисовал на Си. В 1С как вывести результат? В табличном документе слишком низкое разрешение получится. Да и производительность математики здесь под вопросом. А студенты на чем "Жизнь" пишут?
15. Климов 27.04.23 16:23 Сейчас в теме
(14) А кому легко! :-) На Си и я писал. Или на Паскале? Давно это было...
А "Жизнь" студенты на 1С пишут. Или крестики-нолики. Несмотря на кажущуюся несерьёзность эти задачи хорошо учат разделять клиентскую и серверную части, вычисления и и визуализацию.
16. Alxby 1071 28.04.23 08:30 Сейчас в теме
(15)Абсолютно согласен, для целей обучения написание игр - почти идеальный вариант. Но, занудства ради, в моих играх, в основном, вся работа происходит на клиенте, серверной части почти нет :).
Оставьте свое сообщение

См. также

Сетевая игра "Захват клеток"

Игры 8.3.14 Конфигурации 1cv8 ИТ-компания Россия Абонемент ($m)

Сетевая игра "Захват клеток" с возможностью играть на время, а также с поддержкой игры оффлайн против компьютера.

1 стартмани

12.09.2022    5545    12    Sergey_Borisovi4    9    

33

Карточная игра "Дурак"

Игры Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

07.06.2022    6542    19    user676027_svikator    16    

46

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    6226    6    kalyaka    11    

37

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    3190    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    6850    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    5310    dusha0020    8    

62

Игра "The Game"

Игры Платформа 1С v8.3 Россия Бесплатно (free)

Движок RPG игры на языке 1С.

04.06.2021    15680    297    user1051565    22    

79

Игра "King's Bounty"

Игры Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

Легендарная игра "King's Bounty" теперь и на 1С!

3 стартмани

26.05.2021    8859    32    Caliban    25    

51

Эффективные приемы разработки

Математика и алгоритмы Рефакторинг и качество кода СКД Платформа 1С v8.3 Бесплатно (free)

На Infostart Meetup Ekaterinburg.Online выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами приемами разработки, которые помогут избежать потенциальных проблем при реализации сложных проектов.

07.04.2021    5334    SergeyN    13    

39

Самые красивые шахматы для 1С на управляемых формах

Игры Платформа 1С v8.3 8.3.14 Россия Абонемент ($m)

Здравствуйте, представляем Вашему вниманию классическую игру – Шахматы! Написана игра средствами 1С, на управляемых формах. Программный код представляет собой с аккуратностью составленную систему, содержащую лаконичные логические приемы и описательные имена переменных, объектов и функций. Программа полностью отлажена и многократно протестирована. Оригинальный авторский дизайн фигур, иконок и кнопок приятен глазу. Игра содержит большое количество функций, настроек и режимов игры, включая сетевую игру, тренировку с ботом или игру на двоих. Не упустите возможность найти ряд технических решений, применимых для реализации различных задач, а также поиграть в вечную игру с отличным оформлением! Желающие научиться программировать на управляемых формах могут многое почерпнуть в этой конфигурации.

5 стартмани

18.02.2021    10370    23    compmir    32    

65

1С: Документооборот, Data Science и Python

Документооборот и делопроизводство (СЭД) Математика и алгоритмы 1С:Документооборот Бесплатно (free)

В статье рассказывается о создании и обучении модели Data Science на языке Python и интеграции с системой 1С: Документооборот

04.08.2020    5390    Vaganov_Alexey    13    

55

Майнкрафт

Игры Платформа 1С v8.3 Бесплатно (free)

Не знаю, кто как расслабляется после работы, а я играю в Майнкрафт. Эта нелепая поначалу игра всё же затянула и меня полгода назад. И вот, результат игрищ программиста 1С в Майнкрафте.

24.03.2020    9933    68    PLAstic    17    

37

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Математика и алгоритмы HighLoad оптимизация Бесплатно (free)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    9016    ildarovich    8    

53

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    8560    randomus    20    

75

30 задач. Странных и не очень

Математика и алгоритмы Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    40654    Infostart    63    

160

Иерархия без "В ИЕРАРХИИ"

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    19490    ildarovich    24    

181

Алгоритмы поиска пути в графе. Часть 2

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Новые возможности, ранее реализованных алгоритмов поиска пути в графе на платформе 1С 8.3.

1 стартмани

13.08.2019    13917    11    RonX01    10    

92

Обработчики событий при записи объектов. Зачем и что за чем?

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    200553    AlbinaAAA    51    

754

Что делает "В ИЕРАРХИИ" в запросе?

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    74758    Infostart    34    

131

10 способов получить модуль числа (а может, и больше)

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пишем функцию вычисления модуля числа. Сколько способов существует? Давайте посчитаем!

1 стартмани

11.07.2019    26707    sam441    38    

56

Алгоритмы поиска пути в графе

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализуем алгоритмы поиска пути в графе на платформе 1С 8.3, такие как алгоритм А*, поиск в ширину, жадный поиск, алгоритм Дейкстры и вконце волновой.

1 стартмани

09.07.2019    29691    14    RonX01    11    

116

Создание отчетов с помощью СКД - основные понятия и элементы

Математика и алгоритмы Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    103447    ids79    33    

335

Реализуем Стек, Очередь и Приоритетную очередь в 1С

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    19650    RonX01    70    

88

Вычисление 200 тысяч знаков числа pi

Математика и алгоритмы Платформа 1С v8.3 Россия Бесплатно (free)

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    11234    Oleg_nsk    97    

79

Выдержки из книги Чистый код

Математика и алгоритмы Бесплатно (free)

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    18242    FreeArcher    108    

40

Нечёткий поиск. Bitap алгоритм, модификация от Wu-Manber

Математика и алгоритмы Платформа 1С v8.3 Россия Бесплатно (free)

Временами нужен нечёткий поиск в тексте, но не всегда можно использовать внешние компоненты. Данный алгоритм прост, достаточно быстр.

01.04.2019    5885    trim89    10    

48

Решение системы линейных уравнений

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Пример использования объекта Расчет систем линейных уравнений.

25.03.2019    11266    scientes    12    

49

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое

Математика и алгоритмы Бесплатно (free)

Все современные технологии - это развитие и доведение до ума (или маразма) древних идей. За последнее время не придумали ничего нового - все, что мы видим, было придумано тысячи лет назад. Не является исключением и программирование, которое в сути своей является переводом с языка условностей технического задания или заявки пользователя в формализованный и абсолютно точный язык математической логики. А логику придумали (по крайней мере первыми опубликовались в ведущих научных журналах) еще древние греки.

23.01.2019    12990    starik-2005    43    

78

Ректальное программирование: основы для практикующих 1С-программистов

Математика и алгоритмы Бесплатно (free)

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    54815    for_sale    355    

343

Многопоточное восстановление последовательностей

HighLoad оптимизация Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    17310    _ASZ_    33    

53

Повышение качества разработки. Статья 3. Ошибки программы

Математика и алгоритмы Рефакторинг и качество кода Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Статья 3. Эта статья посвящена ошибкам программ, их классификации и способам исправления.

10.07.2018    24769    Артано    92    

106

Повышение качества разработки. Статья 2. Абстракции, их свойства и роль в классических парадигмах программирования

Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Часть 2. Эта статья посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    14520    Артано    42    

53

Повышение качества разработки. Статья 1. Определение терминологии и проблематики

Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Часть 1

10.05.2018    19585    Артано    52    

128

Строим "фасады" в 1С

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Как реализовать функционал, чтобы не было “мучительно больно” при расширении требований.

1 стартмани

04.05.2018    19009    ktb    41    

67

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С

Математика и алгоритмы Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    31139    120    Serg1701    20    

141

Решение задачи коммивояжера алгоритмом Литтла

Математика и алгоритмы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Задачи дискретной оптимизации на моей практике встречаются не часто, но решение именно таких задач делает бизнес более эффективным в явном виде (уменьшаются потери материалов и времени и т.д.). В моем случае мы оптимизируем расход краски, упорядочивая очередь производственных заданий оптимальным образом. Поиск оптимального решения привел меня к задаче коммивояжера и его решению посредством частного случая метода Границ и ветвей - алгоритму Литтла. Возможно, кому-то из разработчиков придется решать подобную задачу, и мои наработки пригодятся.

1 стартмани

12.04.2018    16101    42    van_za    20    

52

"Взлом" теста "1С:Профессионал" методом машинного обучения

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Нейронные сети – не единственная модель, реализующая принципы машинного обучения. Есть еще байесовская модель, которая математически строже и определеннее, поскольку построена на надежном фундаменте теории вероятностей. Применению байесовского вывода к решению интересной теоретической задачи и посвящена данная статья. Слово "взлом" в заголовке использовано для привлечения внимания. Речь идет исключительно о математическом методе, показанном на примере знакомой всем задачи. 

12.03.2018    23332    ildarovich    44    

95

Правила программирования и автоматизации

Математика и алгоритмы Бесплатно (free)

Изложил свой опыт программирования, больше десяти лет.

21.02.2018    20071    Dzenn    127    

78