РУҚА
13

Решение: Минимальное время процессов

ЕГЭ · Информатика · Задание 13 · Параллельные вычисления
ПовышеннаяФИПИB63883Короткий ответ≈ 5 минутРазбор в 5 шаговОтвет сверен с ключом
Условие

В файле содержится информация о совокупности $N$ вычислительных процессов, которые могут выполняться параллельно или последовательно. Процесс $B$ зависит от процесса $A$, если для выполнения процесса $B$ необходимы результаты выполнения процесса $A$. В этом случае процессы могут выполняться только последовательно.

Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, в таблице указано значение 0.

Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно. Для выполнения задания используйте данные из прилагаемого файла.

ID процесса BВремя выполнения процесса B (мс)ID процесса(-ов) A
140
230
311; 2
473
Типовой пример организации данных в файле
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

Представим процессы в виде ориентированного графа: из процесса-предшественника ведёт ребро в зависящий от него процесс.

2

Для независимого процесса его время окончания равно времени выполнения: $T_i = t_i$.

3

Для зависимого процесса сначала находим максимальное время окончания всех его предшественников, затем прибавляем время выполнения самого процесса: $T_i = t_i + \max(T_j)$.

4

Последовательно применяя эту формулу ко всем строкам файла, получаем времена окончания процессов. Время завершения всей совокупности равно максимуму среди них.

Для данных из приложенного файла максимальное время окончания составляет $51$ мс.

Ответ
51
51
так ответ выглядит в бланке

Где здесь ошибаются

Складывать времена всех процессов, хотя независимые процессы выполняются параллельно.

Для процесса с несколькими зависимостями брать минимум вместо максимума времени окончания предшественников.

Учитывать только непосредственное время выполнения процесса и не учитывать цепочку его предшественников.

Закрепить приёмВ теме «Параллельные вычисления» ещё 39 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 13 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Параллельные вычисления»: в ней 40 задач, и у каждой есть такой же разбор. Регистрация не нужна.