В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что
В этом случае процессы могут выполняться только последовательно.
В файле информация о процессах представлена в виде таблицы. В первой колонке таблицы указан идентификатор процесса (ID), во второй колонке таблицы — время его выполнения в миллисекундах, в третьей колонке перечислены
Типовой пример организации данных в файле:
| ID процесса В | Время выполнения процесса В (мс) | ID процесса(ов) А |
|---|---|---|
| 1 | 4 | 0 |
| 2 | 3 | 0 |
| 3 | t | 1; 2 |
| 4 | 7 | 3 |
Определите максимально возможное целочисленное t (время выполнения процесса), при котором выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно и один процесс может сменять другой завершившийся мгновенно, завершилось не более чем за 16 мс.
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.
В таблицу добавим столбец «Время окончания процесса» и запишем туда длительности независимых процессов.
| A | B | C | D |
|---|---|---|---|
| ID процесса B | Время выполнения процесса B (мс) | ID процесса(ов) A | Время окончания процесса |
| 1 | 3 | 0 | 3 |
| 2 | 4 | 1 | |
| 3 | 6 | 0 | 6 |
| 4 | 4 | 2;3 | |
| 5 | 3 | 4 | |
| 6 | 5 | 0 | 5 |
| 7 | 2 | 6 | |
| 8 | 3 | 4;7 | |
| 9 | t | 8;6 | |
| 10 | 1 | 8;5 | |
| 11 | 2 | 2 | |
| 12 | 3 | 7 |
Далее рассчитаем время выполнения оставшихся процессов:
f(2) = 3 + f(1) = 4 + 3 = 7;
f(4) = 4 + max(f(2), f(3)) = 4 + 7 = 11;
f(5) = 3 + f(4) = 3 + 11 = 14;
f(7) = 2 + f(6) = 2 + 5 = 7;
f(8) = 3 + max(f(4), f(7)) = 3 + 11 = 14;
f(9) = t + max(f(8), f(6)) = t + 14.
| A | B | C | D |
|---|---|---|---|
| ID процесса B | Время выполнения процесса B (мс) | ID процесса(ов) A | Время окончания процесса |
| 1 | 3 | 0 | 3 |
| 2 | 4 | 1 | 7 |
| 3 | 6 | 0 | 6 |
| 4 | 4 | 2;3 | 11 |
| 5 | 3 | 4 | 14 |
| 6 | 5 | 0 | 5 |
| 7 | 2 | 6 | 7 |
| 8 | 3 | 4;7 | 14 |
| 9 | t | 8;6 | |
| 10 | 1 | 8;5 | |
| 11 | 2 | 2 | |
| 12 | 3 | 7 |
Поскольку длительность процесса f(9) составляла 16 мс, то
Ответ: 2.

