|
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
|
|
Задача о назначениях (венгерский алгоритм)20.03.2013, 19:54. Показов 3094. Ответов 0
Метки нет (Все метки)
Уже не первый день бьюсь с данным методом, почитал 3-4 источника, везде алгоритм описывается, примерно одинаково, но вот незадача
Когда я пытаюсь его разобрать, я застреваю на последнем пункте (либо зацикливаюсь). Вот допустим у нас есть пример, который не решился сразу "полным набором" и в итоге, нам приходится прибегнуть к этому самому венгерскому методу:#Пример: 3 0 4 0 1 0 2 0 1 Если кто-то знает работу данного алгоритма или может сходу правильно понять, как он работает, в отличии от меня, помогите мне, разобрав данный пример ![]() Венгерский алгоритм: Кликните здесь для просмотра всего текста
1) Просматривая матрицу в определенном порядке, например, строчки
сверху вниз, в строчках по элементам слева направо, включаем в правильный набор нули, которые отмечаем звездочкой - 0*. 2) Проверяем, является ли полученный правильный набор полным. Если "да" - процесс закончен, "нет" - переходим к п.3. 3) Отмечаем (например, знаком "+" сверху) столбцы, в которых имеется 0*. Считаем эти столбцы занятыми. Будем называть элементы матрицы, находящиеся в занятых столбцах и строках, "занятыми". В противном случае - элементы "незанятые". 4) Ищем незанятые нули, просматривая матрицу в принятом (п.1) порядке. Если незанятых нулей нет, переходим к п.6. Если незанятый нуль найден, отмечаем его штрихом, например, 0' и переходим к п.5. 5) Проверяем, есть ли 0* в строчке, в которой появился 0'. Если "да", то занимаем (знаком "+") эту строчку и "освобождаем" (убираем знак "+") столбец, в котором находится 0* вновь занятой строки. Возвращаемся к п.4. Если "нет", то переходим к п.7. 6) Находим минимальный среди незанятых элементов, вычитаем его из всех элементов незанятых строк и прибавляем ко всем элементам занятых столбцов. Все знаки сохраняются. Возвращаемся к п.4. 7) Строим цепочку от 0' по столбцам к 0* и от 0* по строчкам к 0'. Цепочка начинается от 0', стоящего в строчке, в которой не оказалось 0* и заканчивается 0', стоящим в столбце, где нет 0*. Заменяем в цепочке штрих у нулей на звездочку: 0' -> 0*, а у 0* звездочку стираем. Убираем в матрице все отметки, кроме "*" у нулей и переходим к п.2. Добавлено через 17 часов 31 минуту Я уже разобрался, в принципе можно и не отвечать
0
|
|
| 20.03.2013, 19:54 | |
|
Ответы с готовыми решениями:
0
Венгерский алгоритм (задача о назначениях) Венгерский метод. Классическая задача о назначениях Задача коммивояжера венгерский алгоритм |
| 20.03.2013, 19:54 | |
|
Помогаю со студенческими работами здесь
1
Векторы. Венгерский алгоритм Венгерский алгоритм, используя дерево задача о назначениях Задача о назначениях (ЗЛП) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|