Генетический алгоритм для решения простой задачки

26.09.16

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

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ГА
.epf 9,86Kb
5
5 Скачать (1 SM) Купить за 1 850 руб.

Применение ГА для решения простой задачи. 

Алгоритм формирует начальную популяцию и 10 генов , затем сортирует ее по выживаемости и создает по 10 мутаций на каждый геном. 

Производит скрещивание, в результате которого выживают самые близкие к результату гены (10 шт)

Затем рождает новую популяцию (10 шт) и также скрещивает...

* ген, геном = особь, вид, строка таблицы популяции

* популяция = 10 генов. таблица.

*мутация = перестановка одной скобки в формуле 

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

Кому есть что исправить / добавить в обработку: Пулл реквесты приветсвуются https://github.com/znsoft/external1CProgs

Ссылки на подобные публикации:

//infostart.ru/public/19549/

//infostart.ru/public/all/?public-filter%5Bsearch%5D=%E3%E5%ED%E5%F2%E8%F7%E5%F1%EA%E8%E9+%E0%EB%E3%EE%F0%E8%F2%EC

ГА Алгоритм задача Генетический

См. также

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

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    3170    stopa85    12    

38

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

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    7563    user1959478    51    

36

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

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    3116    maksa2005    8    

26

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

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

1 стартмани

09.06.2023    10906    7    SpaceOfMyHead    18    

61

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

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    4366    RustIG    9    

25

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

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

23.11.2022    3537    gzharkoj    14    

25

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

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

1 стартмани

21.03.2022    9042    7    kalyaka    11    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Программулькин 301 27.09.16 09:47 Сейчас в теме
2. Alias 176 27.09.16 12:31 Сейчас в теме
Немного про "ясность формулировок".
"ген, геном = особь" -- геном это совокупность генов. Популяция может состоять из геномов, которые в свою очередь состоят из генов. Но это не одно и то же.
"скрещивание, в результате которого выживают" -- в результате скрещивания не происходит "выживание". Наоборот, происходит рождение нового (генома).

Согласен, может быть мне стоило скачать обработку и посмотреть что неё внутре, не очередная ли неонка. Но заранее -- впечатление довольно скептическое.
Слишком часто за очередной "генетический алгоритм" выдают нечто, больше похожее на перебор различных вариантов в надежде поймать правильный.
Да и 10 особей -- довольно мало для ГА. Вариативности мало, мало места для сохранения удачных вариантов.
eugeniezheludkov; +1 Ответить
3. eugeniezheludkov 45 28.09.16 01:37 Сейчас в теме
(2) Alias, Спасибо буду знать , а то я начитался википедий и получается не до конца понял. насчет скачиваний мне почему-то не получилось выложить бесплатно , но можно скачать https://github.com/znsoft/external1CProgs/blob/master/%D0%93%D0%B5%D0%BD%D0­%B5%D1%82%D0%B8%D0%BA%D0%B0.epf и даже исходники глянуть не скачивая https://github.com/znsoft/external1CProgs/blob/master/src/%D0%93%D0%B5%D0%B­D%D0%B5%D1%82%D0%B8%D0%BA%D0%B0/Form/%D0%A4%D0%BE%D1%80%D0%B­C%D0%B0/module
Оставьте свое сообщение