my lecture on topic of assignment problem (russian)

12

Upload: sergey-shatov

Post on 13-Apr-2017

16 views

Category:

Education


0 download

TRANSCRIPT

Page 1: My lecture on topic of assignment problem (russian)
Page 2: My lecture on topic of assignment problem (russian)
Page 3: My lecture on topic of assignment problem (russian)
Page 4: My lecture on topic of assignment problem (russian)

Взаимодействие с VK API

Page 5: My lecture on topic of assignment problem (russian)

● Распознавание лиц проводилось на основе C++ и OpenCV, было скомпилировано отдельное приложение которое вызывалось через консоль.

● Все найденные лица вырезались и масштабировались до определённого размера, например 32х32.

Аватарки

Распознаваниелиц

Приведение к одному размеру

Лица

Page 6: My lecture on topic of assignment problem (russian)

Проблема

● Нужно повторить целевую картинку используя только собранные лица.

Page 7: My lecture on topic of assignment problem (russian)

Задача о назначениях

● Есть множество исполнителей и работ, и каждой паре {исполнитель, работа} присвоена стоимость (штраф, ошибка, потеря, etc).

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

Page 8: My lecture on topic of assignment problem (russian)

Пример задачи

Сделать веб-интерфейс

Написать сервер Презентовать заказчику

Фронтенд-щик 150 900 300

Бекенд-щик 350 500 400

ПМ 500 1200 100

Нужно назначить исполнителя для каждой из работ

Page 9: My lecture on topic of assignment problem (russian)

Приведение задачи к проблеме

● Есть матрица, где каждый рядок и столбик это определённые пиксели и лица.

● Элементы матрицы – это расстояние между интенсивностью пикселя и среднего цвета лица.

Лицо 1,1 Лицо 1,2 - - - Лицо n,n-1 Лицо n,n

Пиксель 1,1 1.3 2.1 - - - 1.14 0.98

Пиксель 1,2 0.77 1.6 - - - 1.9 1.4

| | | | | | | | | \ \ | | | | | |

Пиксель n,n-1 1.5 1.72 - - - 1.22 2.21

Пиксель n,n 2.1 0.6 - - - 0.94 1.65

Page 10: My lecture on topic of assignment problem (russian)

Решение задачи

● Решение в лоб – перебор всех пар назначений, если перестановка уменьшает целевую функцию, то она производится. Сложность O(2^n).

● Венгерский алгоритм – решение задачи на основе элементарных преобразований. Сложность O(n^4).

● Выбранный способ:

from scipy.optimize import linear_sum_assignment

Page 11: My lecture on topic of assignment problem (russian)
Page 12: My lecture on topic of assignment problem (russian)