РУҚА
22

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

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

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

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

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

ID процесса BВремя выполнения процесса B (мс)ID процесса(-ов) A
130
241
322; 4
450
581; 4
631
Типовой пример организации данных в файле

Типовой пример имеет иллюстративный характер. В приведённой таблице процесс 3 начинается на 8-й мс и заканчивается на 9-й мс.

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

Шешімін қадамдап көрсету

4 қадам
1

Представим процессы в виде ориентированного графа: дуга направлена от процесса-предшественника к процессу, который от него зависит.

2

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

$$T(B)=\max\limits_{A\in Pred(B)}T(A)+d(B)$$
3

После обработки всех процессов выбираем максимальное из полученных времён завершения, поскольку вся совокупность считается выполненной только после завершения последнего процесса.

По данным прилагаемого файла максимальное время завершения равно 34 миллисекундам.

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

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

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

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

Забывают прибавить длительность самого текущего процесса.

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

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

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

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