Какой жадный алгоритм сортировки 2D-матриц для такой задачи? - PullRequest
0 голосов
/ 29 февраля 2020

Мой вход - матрица A с vec2, например, с. 6 на 6 полей, означает 36 объектов.

{{{0,0},{1,0},{2,0},{3,0},{4,0},{5,0}},
 {{0,1},{1,1},{2,1},{3,1},{4,1},{5,1}},
 {{0,2},{1,2},{2,2},{3,2},{4,2},{5,2}},
 {{0,3},{1,3},{2,3},{3,3},{4,3},{5,3}},
 {{0,4},{1,4},{2,4},{3,4},{4,4},{5,4}},
 {{0,5},{1,5},{2,5},{3,5},{4,5},{5,5}}}

Моя цель состоит в том, чтобы создать меньшую матрицу B (например, 3 на 3 поля) со случайным набором объектов из A, который отсортирован в таким образом, что расстояние до соответствующей исходной позиции является как можно меньшим для всех vec2 в среднем.

Мои выбранные vec2, например:

{{2,1},{4,1},{0,3},{3,0},{5,4},{5,0},{2,4},{2,3},{4,5}}

В этом примере { 2,1} будет соответствовать (в мате A):

 {2,0},{3,0}
 {2,1},{3,1}

{4,1} будет соответствовать:

 {4,0},{5,0}
 {4,1},{5,1}

{0,3} будет соответствовать:

 {0,2},{1,2}
 {0,3},{1,3}

поэтому их место в новой матрице будет:

{{{ - },{2,1},{4,1}},
  {0,3},{ - },{ - }},
  { - },{ - },{ - }}}

пока все хорошо

следующий объект - {3,0}, он также соответствует (в От Мат) до

 {2,0},{3,0}
 {2,1},{3,1}

Таким образом, оптимальное место в Матрице будет в первом ряду, втором столбце.

Но есть другой объект ({2,1}). Таким образом, мы должны найти почти альтернативное место. Поле {первая строка, первый столбец} или поле {вторая строка, второй столбец} будут хорошими. Мы выбрали второе:

{{{ - },{2,1},{4,1}},
  {0,3},{3,0},{ - }},
  { - },{ - },{ - }}}

и т. Д. Для всех объектов.

, но, думаю, после первого заполнения матрицы B положение будет не подходящим для всех объектов, и некоторые должны меняйте местами снова и снова.

Итак, мой вопрос: какой жадный алгоритм мог бы помочь мне получить наименьшее расстояние для всех матричных объектов до их происхождения?


Я загрузил картинку для лучшего понимания.

Sample

Красный - это суперпиксели, черные подпиксели. Расстояние между синим и зеленым наименьшее возможное расстояние => ошибка. Расстояние между желтым и зеленым дает большую погрешность, потому что большее расстояние такси.

...