応用情報技術者 2017年 秋期 午前2 問53
問題文
次のプレシデンスダイアグラムで表現されたプロジェクトスケジュールネットワーク図を、アローダイアグラムに書き直したものはどれか。ここで、プレシデンスダイアグラムの依存関係は全てFS関係とする。


選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
アローダイアグラムのダミー【午前2解説】
正解の理由
選択肢イが正しいのは、プレシデンスダイアグラム(PDM)の「A が F に先行する(A→F)」という交差依存を、アローダイアグラム(ADM)上でイベント(ノード)に整合させるために必要最小限のダミー弧が、問題文の図補足で指定された通り「作業Cの完了イベント → Dの完了イベント」の位置に置かれるからです。ADMでは作業(矢印)を開始・終了させるイベント(丸ノード)で前後関係を表現します。F の開始イベントが D の完了イベントに対応している(D完了→F開始)構成では、A の完了を F の開始に反映させるには D の完了が A の完了以降に起こるようにする必要があります。C は A の後に完了するので、「C完了イベント → D完了イベント」のダミーを入れることで D(およびそれに続く F)の開始を A(および C)の完了以降に制約でき、PDM の依存関係を満たします。したがって選択肢イのダミー配置が正答です。
解法ステップ
- PDM の各直列経路をそのまま ADM の矢印連鎖に写す(上段: A→C→E→G、下段: B→D→F→H)。各作業は矢印、作業間はイベントノードで区切る。
- 例:開始イベント S → (A) → event1 → (C) → event2 → (E) → event3 → (G) → 終了イベント
- 下段も同様に S → (B) → event5 → (D) → event6 → (F) → event7 → (H) → 終了イベント(最終終了ノードは上段と下段で同一)
- 交差依存 A→F を満たす必要がある点を確認する。ADM上では F の開始イベントが D の完了イベント(event6)に対応しているため、F開始を A完了(event1)以降にしなければならない。
- D の完了(event6)が A の完了より前に起こると F が早すぎてしまうため、D完了を遅らせる必要がある。A の直後にあるのは C の完了(event2)であり、event2 は event1(A完了)の後にある。したがって「C完了イベント(event2)→D完了イベント(event6)」のダミーを置けば、D(および F)の開始が C(≥A)の完了以降に強制される。
- 以上により最小限のダミーは「C完了→D完了」であり、これが選択肢イに対応する。
(図中イベントの対応例)
- S(開始)
- event1 = A完了 = C開始
- event2 = C完了 = E開始
- event3 = E完了 = G開始
- event5 = B完了 = D開始
- event6 = D完了 = F開始
- event7 = F完了 = H開始
最終終了イベントは上段の G からと下段の H から合流する同一ノード。
選択肢別の誤答解説
- 図ア(ダミー無し)
交差依存 A→F を表す制約が ADM 上に存在しないため、D が早く終われば F が A 完了前に始まる可能性が生まれ、PDM と整合しません。よって不正解です。 - 図イ(C完了イベント → D完了イベント のダミー)
上で示した通り、D(および F)の完了を C(=A の後)以降に遅らせることで A→F を満たします。最小限の追加ダミーで正しく変換できるため正解です。 - 図ウ(C完了→D完了 と C完了→F完了 の二本のダミー)
2本目のダミー(C完了→F完了)は不要かつ過剰な制約を導入します。F の完了を C の完了以降に強制することで、F の所要時間や後続(H)のスケジュールを不必要に遅らせる可能性があり、PDM の最小制約に反します(過度に保守的)。したがって不正解です。 - 図エ(C完了イベント → F完了イベント のダミー)
F の「完了」イベントを遅らせるダミーは、F の開始タイミング(D完了)そのものを A 完了に同期させられず、A→F の依存関係を正しく保証しないか、別の不整合を招きます。必要最小の制約にはならないため不正解です。
よくある誤解
- PDM の「箱(作業)」をそのまま ADM のノード(イベント)だと考える誤り。ADM では作業が矢印、ノードが開始/完了イベントです。
- 交差依存を表現する際に「ダミーは常に始点が直接の先行作業(A)の完了イベントでなければならない」と考える誤り。場合によってはより遅いイベント(ここでは C の完了)を起点にした方が最小かつ正しい制約になることがあります。
- ダミーを入れればよいという発想で、最小限のダミー本数を考慮しない誤り。余分なダミーは不要にスケジュールを制約します。
補足コラム
ADM に変換する際の原則(覚え方):
- 「作業=矢印」「イベント=ノード」を常に意識する。
- 複数の先行作業がある場合、対象作業の開始イベントはすべての先行作業の完了イベントと接続されるか、あるいは先行作業群の中で最も遅い完了イベントを経由して制約する(ダミーで調整)。
- 余分なダミーはスケジュールを不必要に遅らせるので、最小のダミーで PDM の依存関係を満たす構成を探す。
実務メモ:PDM→ADM の変換は手作業ではミスが出やすいため、ツールで自動変換してイベント対応を確認するのが安全です。
FAQ
Q. なぜダミーを A の完了イベントから直接 D の完了イベントへ付けないのか?
A. 付けても論理的には A→F を満たす場合がありますが、ADM 上でのイベント連結の都合や最小化の観点から、A の直後ではなく A の後続である C の完了イベントを起点にする方が適切・簡潔になることがあります。本問では C の完了イベントを起点にした方が D の完了を確実に A(より正確には C)以降に遅らせられるため最小構成となります。
A. 付けても論理的には A→F を満たす場合がありますが、ADM 上でのイベント連結の都合や最小化の観点から、A の直後ではなく A の後続である C の完了イベントを起点にする方が適切・簡潔になることがあります。本問では C の完了イベントを起点にした方が D の完了を確実に A(より正確には C)以降に遅らせられるため最小構成となります。
Q. ダミーは作業時間を持ちますか?
A. ダミーは時間ゼロの仮想作業で、順序関係だけを表します。したがって所要時間は 0 です。
A. ダミーは時間ゼロの仮想作業で、順序関係だけを表します。したがって所要時間は 0 です。
Q. もし PDM の依存が FS 以外(SS, FF, SF)だったら?
A. ADM における表現はより複雑になり得ます。一般に ADM は FS を基本とするため、他の依存を表すにはノード設計や追加ダミーで工夫が必要です。
A. ADM における表現はより複雑になり得ます。一般に ADM は FS を基本とするため、他の依存を表すにはノード設計や追加ダミーで工夫が必要です。
関連キーワード: アローダイアグラム、ダミー作業、イベントノード、プレシデンスダイアグラム変換、FS関係

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

