こんにちは。東久留米市の学習塾塾長です。
天気予報では、しばらく30℃前半の気温が続くようで、先週までの猛暑に比べて少し過ごしやすくなりそうです。夏休みも半分終わりました。宿題など早めに片付けるとよいでしょう。
さて、今回は平成27年度東大大学院工学系研究科システム創成学の入試問題です。
問題は、
「下図に示す有向グラフにおいて、頂点Aから各頂点までの最短経路の距離と、最短経路における直前の頂点を求め、下表に埋めよ。ただし、辺の傍の数字は距離を示す。」

▲問題図

▲解答の表
です。
アルファベット順に調べていきましょう。
まず頂点Cです。頂点Cに到達する直前の頂点は、AまたはEです。
頂点Aの場合、最短経路は、A→C(13)です。(経路の後の( )の数はその経路の距離を表します)
頂点Eの場合、頂点Eに到達する直前の頂点はBで、頂点Bを経由する最短経路と頂点Eまでの最短経路はA→B→Eとなります。つまり、頂点AからEを経由するCまでの最短経路は、A→B→E→C(12)です。
以上から、頂点AからCまでの最短経路は、A→B→E→Cで、そのとき頂点Aからの距離は12、直前の頂点はEになります。
これで、図1のように、頂点(A)、(B)、C、Eの最短経路が判りました。

▲図1.頂点(A)、(B)、C、Eの最短経路
次に頂点Dです。頂点Dに到達する直前の頂点は、A、CまたはFです。
頂点Aの場合、最短経路はA→D(15)です。
頂点Cの場合、最短経路は、A→B→E→C→D(14)です。
頂点Fに到達する直前の頂点は、C、EまたはGで、それらの頂点を経由する最短経路と頂点Aからの距離は、それぞれA→B→E→C→F(18)、A→B→E→F(10)、A→B→E→G→F(34)となり、頂点Eを経由する経路が最短経路になります。つまり、頂点AからFを経由するDまでの最短経路はA→B→E→F→D(18)です。
以上から、頂点AからDまでの最短経路は、A→B→E→C→Dで、そのとき頂点Aからの距離は14、直前の頂点はCになります。
これで、図2に示すように、頂点(A)、(B)、C、D、E、Fの最短経路が判りました。

▲図2.頂点(A)、(B)、C、D、E、F
続いて頂点Gです。頂点Gに到達する直前の頂点はEだけなので、最短経路は、A→B→E→Gで、そのとき頂点Aからの距離は18、直前の頂点はEになります。
これで、図3に示すように、頂点(A)、(B)、C、D、E、F、Gの最短経路が判りました。

▲図3.頂点(A)、(B)、C、D、E、F、Gの最短経路
続いて頂点Hです。頂点Hに到達する直前の頂点は、D、F、GまたはIです。
頂点Dの場合、最短経路は、A→B→E→C→D→H(26)です。
頂点Fの場合、最短経路は、A→B→E→F→H(27)です。
頂点Gの場合、最短経路は、A→B→E→G→H(25)です。
頂点Iに到達する直前の頂点は、B、EまたはGで、それらの頂点を経由する最短経路と頂点Aからの距離は、それぞれA→B→I(104)、A→B→E→I(23)、A→B→E→G→I(28)となり、頂点Eを経由する経路が最短経路になります。つまり、頂点AからIを経由するHまでの最短経路はA→B→E→I→H(32)です。
以上から、頂点AからHまでの最短経路は、A→B→E→G→Hで、そのとき頂点Aからの距離は25、直前の頂点はGになります。
これで、図4に示すように、頂点Aから各頂点までの最短経路と距離が判りました。

▲図4.頂点Aから各頂点までの最短経路
これをまとめると、
頂点B:A→B(5)
頂点C:A→B→E→C(12)
頂点D:A→B→E→C→D(14)
頂点E:A→B→E(9)
頂点F:A→B→E→F(10)
頂点G:A→B→E→G(18)
頂点H:A→B→E→G→H(25)
頂点I:A→B→E→I(23)
となり、解答の表を埋めたものを表1に示します。

▲表1.解答の表を埋めました
頂点Aからの最短経路が決まった頂点を利用して、逐次、最短経路を決めていく方法が簡単です。
天気予報では、しばらく30℃前半の気温が続くようで、先週までの猛暑に比べて少し過ごしやすくなりそうです。夏休みも半分終わりました。宿題など早めに片付けるとよいでしょう。
さて、今回は平成27年度東大大学院工学系研究科システム創成学の入試問題です。
問題は、
「下図に示す有向グラフにおいて、頂点Aから各頂点までの最短経路の距離と、最短経路における直前の頂点を求め、下表に埋めよ。ただし、辺の傍の数字は距離を示す。」

▲問題図

▲解答の表
です。
アルファベット順に調べていきましょう。
まず頂点Cです。頂点Cに到達する直前の頂点は、AまたはEです。
頂点Aの場合、最短経路は、A→C(13)です。(経路の後の( )の数はその経路の距離を表します)
頂点Eの場合、頂点Eに到達する直前の頂点はBで、頂点Bを経由する最短経路と頂点Eまでの最短経路はA→B→Eとなります。つまり、頂点AからEを経由するCまでの最短経路は、A→B→E→C(12)です。
以上から、頂点AからCまでの最短経路は、A→B→E→Cで、そのとき頂点Aからの距離は12、直前の頂点はEになります。
これで、図1のように、頂点(A)、(B)、C、Eの最短経路が判りました。

▲図1.頂点(A)、(B)、C、Eの最短経路
次に頂点Dです。頂点Dに到達する直前の頂点は、A、CまたはFです。
頂点Aの場合、最短経路はA→D(15)です。
頂点Cの場合、最短経路は、A→B→E→C→D(14)です。
頂点Fに到達する直前の頂点は、C、EまたはGで、それらの頂点を経由する最短経路と頂点Aからの距離は、それぞれA→B→E→C→F(18)、A→B→E→F(10)、A→B→E→G→F(34)となり、頂点Eを経由する経路が最短経路になります。つまり、頂点AからFを経由するDまでの最短経路はA→B→E→F→D(18)です。
以上から、頂点AからDまでの最短経路は、A→B→E→C→Dで、そのとき頂点Aからの距離は14、直前の頂点はCになります。
これで、図2に示すように、頂点(A)、(B)、C、D、E、Fの最短経路が判りました。

▲図2.頂点(A)、(B)、C、D、E、F
続いて頂点Gです。頂点Gに到達する直前の頂点はEだけなので、最短経路は、A→B→E→Gで、そのとき頂点Aからの距離は18、直前の頂点はEになります。
これで、図3に示すように、頂点(A)、(B)、C、D、E、F、Gの最短経路が判りました。

▲図3.頂点(A)、(B)、C、D、E、F、Gの最短経路
続いて頂点Hです。頂点Hに到達する直前の頂点は、D、F、GまたはIです。
頂点Dの場合、最短経路は、A→B→E→C→D→H(26)です。
頂点Fの場合、最短経路は、A→B→E→F→H(27)です。
頂点Gの場合、最短経路は、A→B→E→G→H(25)です。
頂点Iに到達する直前の頂点は、B、EまたはGで、それらの頂点を経由する最短経路と頂点Aからの距離は、それぞれA→B→I(104)、A→B→E→I(23)、A→B→E→G→I(28)となり、頂点Eを経由する経路が最短経路になります。つまり、頂点AからIを経由するHまでの最短経路はA→B→E→I→H(32)です。
以上から、頂点AからHまでの最短経路は、A→B→E→G→Hで、そのとき頂点Aからの距離は25、直前の頂点はGになります。
これで、図4に示すように、頂点Aから各頂点までの最短経路と距離が判りました。

▲図4.頂点Aから各頂点までの最短経路
これをまとめると、
頂点B:A→B(5)
頂点C:A→B→E→C(12)
頂点D:A→B→E→C→D(14)
頂点E:A→B→E(9)
頂点F:A→B→E→F(10)
頂点G:A→B→E→G(18)
頂点H:A→B→E→G→H(25)
頂点I:A→B→E→I(23)
となり、解答の表を埋めたものを表1に示します。

▲表1.解答の表を埋めました
頂点Aからの最短経路が決まった頂点を利用して、逐次、最短経路を決めていく方法が簡単です。
※コメント投稿者のブログIDはブログ作成者のみに通知されます