戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2024年 科目A13


問題文

アローダイアグラムで表されるプロジェクトは、完了までに最少で何日を要するか。
基本情報技術者 2024年 科目A 問13の問題画像

選択肢

105
115
120(正解)
125

🔒 解説は解答すると表示されます

クリティカルパスの合計日数【午前解説】

正解の理由

アローダイアグラム(AOA)では「ノードの最早時刻=そのノードに到達するまでの最長経路長」で計算します。図中の破線(ダミー)は所要日数0でもノードの先行関係を変え、ある枝の開始時刻を遅らせるため、単純に各枝の和だけを比較する誤りが生じます。前方計算(最早時刻)を行うと収束ノードの最早時刻が日になり、最後の作業Hの日を加えると合計日となるため、選択肢のうち が正しいです。

解法ステップ

  1. ノードごとに「最早発生時刻(Earliest Event Time)」を前方に計算する。
    • 開始ノードを0とする。
  2. 各矢印(作業)について、尾ノードの最早時刻+作業日数を頭ノードの候補時刻とし、頭ノードの最早時刻は候補の最大値を取る(複数入力がある場合)。
  3. 最終ノードの最早時刻がプロジェクト最短所要日数である(ダミーは0日として扱う)。
前方計算の実際の数値(単位:日)
  • 開始 = 0
  • Aの完了(中央左ノード) = 0 + 30 = 30
  • Bの完了(上ノード) = 30 + 5 = 35
  • Cの完了(中央ノード) = 30 + 30 = 60
    • ここへダミー(上ノード→中央ノード)があるが、ダミーは0日なので候補は35。最大を取ると60のまま。
  • Dの完了(下ノード) = 30 + 20 = 50
    • ただし、ダミー(中央ノード→下ノード)により中央ノードの完了60も入力されるため下ノードの最早時刻は max(50, 60) = 60
  • 収束ノード(上経路E / 中央経路F / 下経路G のうち最大)
    • E経路:上ノード(35) + 40 = 75
    • F経路:中央ノード(60) + 25 = 85
    • G経路:下ノード(60) + 30 = 90 ← 最大
    • したがって収束ノード = 90
  • 終了ノード = 収束ノード(90) + H(30) = 120
よって最少所要日数は 日(選択肢 )。

選択肢別の誤答解説

  • ア: 105
    • これは A→B→E→H の単純和 を最大と見なした誤り。収束ノードで他経路の遅延(ダミーの影響)により更に長い経路が存在するため不足する。
  • イ: 115
    • これは A→C→F→H の単純和 を用いた誤り。中央経路は長いが、下経路の遅延(ダミーによって下ノードが60に引き上げられる)により上回られる。
  • : 120
    • 正しい。前方計算で収束ノードが90になり、Hの30を加えて120になる。
  • エ: 125
    • どこかで余分に待ち時間や作業日数を誤って二重計上した値。与えられた作業日数・ダミーを正しく前方集計すれば発生しない。

よくある誤解

  • ダミー矢印を無視する
    • ダミーは日数0でも「先行関係」を変えるため、ノードの最早時刻に影響を与えることがある。特に収束点での最大値判定を忘れると短く出る。
  • 単に枝ごとの合計だけを比較する
    • 分岐と収束があるネットワークでは、ノード時刻を前方に伝播させて最大値を取るのが正しい。複数経路が交差する場合、ある経路が他を遅らせることがある。
  • AOA(矢印図)とAON(ボックス図)の扱いを混同する
    • AOAでは「矢印が作業」「ノードがイベント」で、ダミーが必要。AONと同じ直観で見ないこと。

補足コラム

  • 実務上は「最早時刻(ES/ET)」と「最遅時刻(LS/LT)」を前方・後方計算で求め、各作業のフロート(余裕)を算出します。フロート0の作業がクリティカルパス上の作業です。本問題ではダミーが作用して、クリティカル(余裕0)となるのは下流の G と H となることが多い点が興味深いです(詳細な最遅時刻計算で確認できます)。

FAQ

Q. ダミーは本当に0日で扱うのですか?
A. はい。ダミーは所要日数ゼロで先行関係を明示するための補助枝です。ただし存在することでノードの最早時刻/最遅時刻に影響を与えます。
Q. なぜ単純に各パスの合計を比較してはいけないのですか?
A. 分岐・収束があると、あるノードの最早時刻は「そのノードに入る全ての矢印のうち最も大きい値」で決まります。ダミーや別経路の遅延がその最大値を決めるため、単純和だけでは不十分です。
Q. 手早く解くコツは?
A. AOAでは「前方計算=ノードに最大値を入れていく」ことを手で追うのが最速。各ノードに数値を書き込み、収束点で最大値を選べば答えが出ます。

関連キーワード: クリティカルパス、ダミー矢印、アローダイアグラム、前方計算、フロート(余裕)
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について