Janet Cooper Ответов: 1

Как написать генетический алгоритм, который решит головоломку?


&ЛТ;Привет!
Я хотел бы написать программу WinForms C#, которая содержит прямоугольные фрагменты изображения и использует генетический алгоритм для завершения головоломки. Я думаю, что нам нужно сравнить краевые пиксели каждого фрагмента, чтобы получить лучшего кандидата для привязки к конкретному фрагменту, но я не знаю, как это сделать. Если у кого-то была такая же задача или есть какие-то идеи, как это сделать, я буду рад Хоу.
Спасибо!

Что я уже пробовал:

Я написал программу, которая делит изображение на части, подсчитывает строки и наборы cols пользователем, и чем я застрял на алгоритме записи.

Gerry Schmitz

А что, если все кусочки одного цвета? Вам нужны лучшие "правила".

Sandeep Mewara

Было бы хорошо, если бы вы поделились своей программой - другие могут помочь расширить ее. Используйте Improve Question для редактирования и обновления того, что вы уже пробовали до сих пор.

1 Ответов

Рейтинг:
1

Pete O'Hanlon

Это не тривиальная задача для решения и А ряд статей[^] были написаны на эту тему. Общим для них является то, что они исходят из предположения, что имеют дело с обработкой компьютерного зрения, что любая часть с плоской стороной должна быть ребром (если вы имеете дело с традиционной формой головоломки), и что часть с двумя плоскими сторонами будет ребром. Часть проблемы, с которой вы столкнетесь, заключается в том, что вы не можете гарантировать ориентацию каждого фрагмента, поэтому вам также придется учитывать вращение при решении вашего кода.