РУҚА
22

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

ЕГЭ · Информатика · Тапсырма 22 · Параллель есептеулер
ЖоғарыФИПИ2332FBҚысқа жауап≈ 10 минутТалдау 4 қадамЖауап сверен с ключом
Условие

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

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

Определите максимальное количество процессов, которые могут быть завершены за первые 17 мс. Считать, что каждый процесс начинается в самое раннее допустимое время. Нумерация миллисекунд начинается с 1.

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

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

4 қадам
1

Для каждого процесса по данным файла определяем все его непосредственные зависимости.

2

Самые ранние моменты запуска процессов вычисляем рекурсивно: независимый процесс запускается с начала отсчёта, а зависимый — после завершения всех процессов, от которых он зависит.

$$start(B)=\max_{A\in dependencies(B)} finish(A)$$
3

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

$$finish(B)=start(B)+duration(B)$$

Подсчёт процессов, завершившихся за первые 17 мс, даёт 12.

Жауап
12
12
так ответ выглядит в бланке

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

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

Запускать зависимый процесс до завершения всех его предшественников.

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

Включать процесс, завершившийся после 17 мс.

Закрепить приёмВ теме «Параллель есептеулер» ещё 39 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 22 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Параллель есептеулер»: в ней 40 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.