Рубрика «генетический алгоритм»

I. Введение

Выбор наилучшего элемента из нескольких существующих альтернатив называется задачей оптимизации. Во большинстве таких задачах исчерпывающий поиск нецелесообразен. Это имеет важные приложения в нескольких областях, включая искусственный интеллект, машинное обучение, математику и программную инженерию. Большинство таких задач считаются NP-трудными, то есть их нельзя решить оптимально за полиномиальное время вычислений. Некоторые общие задачи, связанные с оптимизацией, включают задачу коммивояжера, задачу о минимальном остовном дереве и другие. 

Читать полностью »

Гены Ардуинщика - 1

В очередной раз, при обдумывании самоделки на Atmega, встал вопрос проектирования соединений. В моем случае 12 внешних коннекторов и 21 связь. Расположение, соединение, пересечения, программирование, ошибки, ошибки, ошибки.

При кажущейся простоте задачи поломать мозг придется день, а то и два. Без опыта — месяц.
И… лень взяла свое.
Читать полностью »

Игра InvaderZ генерирует врагов в стиле Space Invaders генетическим алгоритмом - 1
Иллюстрация: Smithsonian Magazine

Пользователь GitHub под ником victorqriberio показал свою версию классической аркады Space Invaders. Его вариант называется InvaderZ. В нем всё так же нужно отстреливать появляющихся вверху экрана пришельцев, но каждая волна «вторженцев» уникальна. Victorqriberio использовал генетический алгоритм, который изменяет форму каждого нового пришельца.

Читать полностью »

Привет!

Сейчас вот сидел, делал для товарища прототип генетического алгоритма. Навеяло поделиться оным, да и некоторыми другими мыслями…

Дано (клиент заказал): в некоем царстве складе есть 100 ячеек. В нем товар лежит. Как взять количество Х так, чтобы опустошить все задействованные ячейки до конца? Ну то есть, есть у вас типа ячейки [34, 10, 32, 32, 33, 41, 44, 4, 28, 23, 22, 28, 29, 14, 28, 15, 38, 49, 30, 24, 18, 9, 15, 8, 17, 9, 2, 7, 30, 29, 29, 2, 28, 23, 19, 4, 15, 30, 38, 3, 14, 21, 43, 50, 29, 14, 17, 12, 25, 15, 23, 28, 47, 38, 29, 7, 36, 45, 25, 6, 25, 11, 10, 1, 19, 37, 24, 27, 50, 12, 1, 1, 44, 22, 48, 13, 46, 49, 11, 33, 29, 4, 19, 33, 12, 3, 47, 27, 26, 45, 40, 37, 21, 2, 8, 41, 5, 1, 9, 5] — как набрать, скажем, 40

Ну можно перебором, наверняка есть что-то умное, а можно генетическим алгоритмом это решить…
Читать полностью »

Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.
Как это выглядит?

Создание «искусственной жизни» на компьютере - 1
картинка кликабельна

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

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

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать полностью »

Поиск таинственной математики, на которой основана фигура в iOS

Отчаянный поиск квадрокруга - 1

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


В знаменитом интервью 1972 года Чарльз Имз кратко ответил на несколько фундаментальных вопросов о природе дизайна. Отвечая на первый вопрос, он определил дизайн как «план компоновки элементов для достижения определённой цели».

Остальные ответы тоже очень лаконичны, вплоть до метафор. Но когда Имза спросили о роли ограничений дизайна, он остановился и выдал самый длинный и самый продуманный ответ за всё интервью: «Один из немногих эффективных ключей к проблеме дизайна — это способность дизайнера распознавать как можно больше ограничений; его готовность и энтузиазм к работе в этих ограничениях».

Хотя я не дизайнер по профессии — я разработчик Figma, веб-инструмента совместного проектирования — несложно заметить, что замечания Имза относятся и к моей работе. Вместо элементов UI я выраженные в коде компоную математические концепции для создания инструментов и функций. И ограничения времени, простоты, поддержки и даже эстетики играют похожую доминирующую роль в моей работе.
Читать полностью »

image

Мы часто слышим такие словесные конструкции, как «машинное обучение», «нейронные сети». Эти выражения уже плотно вошли в общественное сознание и чаще всего ассоциируются с распознаванием образов и речи, с генерацией человекоподобного текста. На самом деле алгоритмы машинного обучения могут решать множество различных типов задач, в том числе помогать малому бизнесу, интернет-изданию, да чему угодно. В этой статье я расскажу как создать нейросеть, которая способна решить реальную бизнес-задачу по созданию скоринговой модели. Мы рассмотрим все этапы: от подготовки данных до создания модели и оценки ее качества.

Вопросы, которые разобраны в статье:
• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Читать полностью »

Не так давно я написал публикацию про генетический алгоритм и геном, состоящий из одной инструкции.

Читать полностью »

Генетический советник для торговли опционами - 1

При торговле опционами одна из главных задач состоит в определении справедливой цены опциона. На основании нее можно понять какие опционы недооценены рынком, а какие переоценены в данный момент. Исходя из этого и принимаются решения о покупке или продаже конкретного опциона. В данной статье рассматривается опыт создания советника в основе которого лежит Генетический Алгоритм (ГА), позволяющего как раз автоматизировать процесс выбора опционов для продажи и покупки соответственно Советник, в отличие от торговых роботов (или Механических Торговых Систем — МТС), не производит сделок, он лишь дает рекомендации трейдеру, который уже самостоятельно принимает решение совершать сделку или нет.

Для начала — пару слов о генетическом алгоритме:

Подробно описывать генетический алгоритм не имеет смысла, поскольку эта тема хорошо представлена и на данном ресурсе и вообще на просторах Интернета. Остановлюсь только на основных моментах, которые необходимы для понимания концепции генетического советника в целом.
Читать полностью »

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

Есть некая информация получаемая из внешней среды, представленная в бинарном коде, и есть Машина Тьюринга. А что если, взять и применить генетический алгоритм для составления программы Машина Тьюринга.
Которая, в свою очередь, будет конвертировать определенные данные, и сравнивать результаты выполнения модифицированной программы с эталоном решения.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js