Задание кафедры
1.Доказать принадлежность классу

предложенной задачи
2. Решить одну из двух проблем:
а. доказать NP–полноту предложенной задачи
б. построить приближенный алгоритм решения предложенной задачи и показать его точность.
Задача ( вариант):
1. ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ
УСЛОВИЕ. Заданы множество элементов данных

, размер

каждого элемента данных

, время поступления

и время

окончания работы с элементом данных

, положительное целое число

– размер области памяти.
ВОПРОС. Существует ли для множества элементов данных

допустимое распределение памяти? Иначе говоря, существует ли такая функция

, что для каждого элемента

интервал
![$I(a)=[\sigma(a), \sigma(a) + s(a) - 1]$ $I(a)=[\sigma(a), \sigma(a) + s(a) - 1]$](https://dxdy-04.korotkov.co.uk/f/7/4/a/74abad60c22b9907f2b6661c76f674d082.png)
содержится в
![$[1, D]$ $[1, D]$](https://dxdy-02.korotkov.co.uk/f/5/e/f/5eff25563e20a54fe7a6a15fa32e18f782.png)
, причем для любых

, если множество

не пусто, то либо

, либо

?
Решение
1. Легко видеть, что предложенная задача принадлежит классу

, так как недетерминированному алгоритму нужно лишь предположить подмножество

из множества всех распределений

и проверить за полиномиальное время что для каждого элемента

интервал
![$I(a)=[\sigma' (a), \sigma' (a) + s(a) - 1]$ $I(a)=[\sigma' (a), \sigma' (a) + s(a) - 1]$](https://dxdy-01.korotkov.co.uk/f/8/5/f/85fa464b43d98d1fae21a2ac7db9ae0f82.png)
содержится в
![$[1, D]$ $[1, D]$](https://dxdy-02.korotkov.co.uk/f/5/e/f/5eff25563e20a54fe7a6a15fa32e18f782.png)
, причем для любых

, если множество

не пусто, то либо

, либо

.
То есть:
1. Для каждой пары

проверить:

.
2. Если предыдущее условие выполняется, проверить:

.
3. Далее проверим

с помощью отношения частичного порядка. Если предыдущее условие выполняется, проверить:

.
4. Если предыдущее условие выполняется, проверить:

.
5. Если предыдущее условие выполняется, то данное распределение – неправильное. Если не выполняется – то правильное.

– полином пятой степени, задача принадлежит к классу

.
2. Мы сводим к этой задаче задачу 3-РАЗБИЕНИЯ. Пусть состоящее из

элементов множество

; положительная целая граница

; положительный целый размер

удовлетворяющий

для каждого элемента

из

; и сумма размеров

равная точно

– произвольный экземпляр 3-РАЗБИЕНИЯ. Тогда

разделяется на непересекающиеся множества

такие, что каждое

содержит точно

элемента из

, размер каждого

точно равен

. Обозначим элементы этих множеств как:



…

Переформулируем исходную задачу как поиск заполнения «плитками» «пола». Сформируем множество из всех доступных комбинаций

. Далее сгруппируем координаты всех точек по трое так, чтобы они удовлетворяли нашим условиям и не пересекались одна с другой. Таким образом, мы свели к этой задаче задачу 3-РАЗБИЕНИЯ
----------
Первая часть не доведена до конца (как минимум, нужно показать для всех остальных углов "маленьких прямоугольников", а не только для нижних правых; также не мешало бы использовать определение, то есть с помощью машины Тьюринга), вторая - полностью неправильна. В учебнике сказано, что задача сводится к задаче 3-РАЗБИЕНИЯ - но как, не ясно.
Есть несколько примеров сданных заданий других вариантов, но они не помогают.