2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Задача о назначениях: поиск минимального опорного множества
Сообщение16.12.2011, 20:16 
Аватара пользователя
Доброго времени суток!
Господа, есть следующая задача: придумать алгоритм поиска минимального опорного множества в матрице $A = (a_i_j) \in \mathbb {Z}^{n \cdot m} $, где $a_i_j = 0$ или какому-то $x \in \mathbb{Z}$

Вот, то что придумал я:
1. Найти максимальную связку.
2. Находим элемент в связке такой, что: на его линии существуют нули, которые не могут быть "вычеркнуты" никакими линиями других элементов связки.
3. Вычеркиваем соответствующую линию этого элемента. Причём этот элемент в связке мы более не рассматриваем называем его "вычеркнутым" .
4. Повторяем с шага 2 пока таких элементов не найдется.
5. Если в связке еще остались "не вычеркнутые" элементы , то находим элемент в связке с наибольшим количеством нулей на линии и "вычеркиваем" его. Причём, если оказывается что максимальное количество нулей равно 0 делаем вычеркивание через произвольную линию соответствующего элемента связки.

Примечание:
- линия - строка или столбец А;
- под "вычеркнуть" элемент связки, я имею в виду вычеркнуть линию А содержащую этот элемент;
- через каждый элемент связки проходит только одна вычеркнутая линия, т.е. вычеркивание по строке или по столбцу.

Прошу вас ответить на следующий вопрос: будет ли этот алгоритм работать в общем случае?

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group