РУҚА
22

Решение: Параллельное выполнение процессов

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

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

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

Определите максимальную продолжительность отрезка времени (в мс), в течение которого возможно одновременное выполнение максимального количества процессов при условии, что все независимые друг от друга процессы могут выполняться параллельно.

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

4 шага
1

Для каждого процесса определяем самое раннее время начала: оно равно нулю для независимых процессов, а для зависимого процесса — максимальному времени окончания всех его предшественников.

2

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

3

Наносим полученные интервалы выполнения на временную шкалу и подсчитываем количество одновременно работающих процессов на каждом отрезке между соседними моментами запуска или завершения.

Выбираем отрезок, на котором это количество максимально, и определяем его продолжительность по данным файла.

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

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

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

Начинать процесс одновременно с завершением предшественника, не проверяя все его зависимости.

Искать самый длинный интервал работы одного процесса вместо интервала максимальной параллельности.

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

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

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

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