next up previous
: ̵¸þ¥°¥é¥Õ : ºÇû·ÐÏ©ÌäÂê : ¥é¥Ù¥ëÉÕ¤­Í­¸þ¥°¥é¥Õ

D.P.(¥À¥¤¥Ê¥ß¥Ã¥¯¡¦¥×¥í¥°¥é¥ß¥ó¥°)¤ÈºÇûϩ

  1. D.P.¤Î¸¶Íý


    (¿Þ5.6)

    ¡¡ÀáÅÀ$a$¤«¤éÀáÅÀ$d$¤Ø¤ÎºÇûϩ¤¬Í¿¤¨¤é¤ì¤¿¤È¤·¤Þ¤¹¡£¤½¤ÎÏ©¤¬ÅÓÃæ¤ËÀáÅÀb¤ò·Ðͳ¤·¤Æ¤¤¤ë¤È¤¹¤ë¤È,¤½¤Î·ÐÏ©¤Î$a$¤«¤é$b$¤Ø¤ÎÉôʬ¤ÎÏ©¤â,¤ä¤Ï¤ê$a$¤«¤é$b$¤Ø¤ÎºÇû·ÐÏ©¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

    ¼ÂºÝ,$a$¤«¤é$b$¤Ø¤ÎÊ̤κÇûϩ¤¬¤¢¤Ã¤¿¤È¤¹¤ë¤È,Î㤨¤Ð,(¿Þ6)¤Î ÀáÅÀ$c,e$¤ò·Ðͳ¤·¤Æ,$b$¤Ë¹Ô¤¯Ï©¤¬¤½¤¦¤Ç¤¢¤Ã¤¿¤È¤¹¤ë¤È

    \begin{displaymath}
L(a,c)+L(c,e)+L(e,b)¡¡<¡¡¡¡L(a,b)
\end{displaymath}

    ¡¡ ¤È¤Ê¤ê,¤³¤ì¤«¤é

    \begin{displaymath}
L(a,c)+L(c,e)+L(e,b)+L(b,d)¡¡<¡¡¡¡L(a,b)+¡¡L(b,d)
\end{displaymath}

    ¤Ç¤¹¤«¤é,Ï©$(a,c,e,b,d)$¤¬ºÇûϩ$(a,b,d)$¤è¤êû¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤, Ï©$(a,b,d)$¤¬ºÇû¤Ç¤¢¤ë¤³¤È¤ËÌ·½â¤·¤Þ¤¹¡£

    ·ë¶É, ¡ÖÁ´ÂΤ¬ºÇû¡ÊºÇŬ¡Ë¤Ê¤é¤½¤ÎÉôʬ¤âºÇû¡ÊºÇŬ¡Ë¡× ¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

    ¤³¤Î¤è¤¦¤Ê,À­¼Á¤òÂηÏŪ¤Ë°·¤Ã¤¿ºÇŬ²½Ë¡¤Î¸¦µæ¤¬¥Ù¥ë¥Þ¥ó¤Ë¤è¤Ã¤Æ¤Ê¤µ¤ì¤Þ¤·¤¿¡£ ¥Ù¥ë¥Þ¥ó¤Î$D.P.$¡Ê¥À¥¤¥Ê¥ß¥Ã¥¯¡¦¥×¥í¥°¥é¥ß¥ó¥°¡Ë¤È¤«ºÇŬÀ­¤Î¸¶Íý¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£

  2. ºÆµ¢Åª¤Ê·×»»Ë¡

    ºÇŬÀ­¤Î¸¶Íý¤ò»È¤¦¤È,Î㤨¤Ð,ÀÜÅÀi¤«¤ék¤Þ¤Ç¤ÎÏ©¤¬Â¸ºß¤¹¤ë¤È¤·¤Æ,¤½¤ÎÃæ¤Î ºÇûϩ$R(i,k)$¤ÎŤµ¤ò$O(i,k)$¤Çɽ¤¹¤È

    $i$¤«¤é$k$¤Þ¤Ç¤Î¸Ì$(i,k)$¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï$L(i,k)=\infty$ ¤È¤·¤Æ¤ª¤­,¡¡

    \begin{eqnarray*}
&&O(i,k)=min\{\{ L(i,k) \} \cup \{L(i,j)+O(j,k)
\vert j \ne i,...
...+O(j_0,k),j_0 \ne i,k,(i,j0)¤ÏV¤Î¸µ¤È¤Ê¤ë
j_0¤ò°ì¤ÄÁªÂò)(1b¡Ë\\
\end{eqnarray*}



    ¤È¤¤¤¦¡ÖºÆµ¢Åª¡×¤ÊÄêµÁ¤¬¤Ç¤­¤Þ¤¹¡£
    ¤³¤³¤Ç, $(i,(j,\cdots,k))=(i,j,\cdots,k)$¤È¤·¤Þ¤¹¡£
    ¤³¤ì¤Ï,ÀáÅÀi¤«¤é¤Î¸Ì$(i,j)$¤¬Â¸ºß¤¹¤ëÀáÅÀ$j$¤Ë¤Ä¤¤¤Æ,ÀáÅÀ$j$¤«¤éÀáÅÀ$k$ ¤Þ¤Ç¤ÎºÇû¤ÎŤµ$O(j,k)$¤ò¤â¤ÄÏ©$(j,\cdots,k)$¤ÈŤµ$L(i,j)$¤Î¸Ì$(i,j)$ ¤ò¤Ä¤Ê¤²¤¿Ï© $(i,j,\cdots,k)$ ¤ÎŤµ $L(i,j)+O(j,k)$ ¤Î¤¦¤Á,ºÇû¤Î¤â¤Î¤¬$O(i,k)$¤Ç¤¢¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£


    (¿Þ5.5)

    ¤ËŬÍѤ¹¤ë¤È

    \begin{eqnarray*}
&&O(3,6)=20¡¡¡¡R(3,6)=(3,6) \\
&&O(5,6)=30¡¡¡¡R(5,6)=(5,6) \\...
...)\}
=min\{10+40,20+50\}¡¡
=50¡¡\\
&&R(1,6)=(1,R(2,6))=(1,2,5,6)
\end{eqnarray*}



  3. Dijkstra¤ÎÊýË¡

    DP¤Î¸¶Íý¤ò»È¤Ã¤¿¸úΨŪ¤ÊÊýË¡¤È¤·¤Æ,Dijkstra¤ÎÊýË¡¤¬ÃΤé¤ì¤Æ¤¤¤Þ¤¹¡£ <Dijkstra>

    ½àÈ÷

    \begin{eqnarray*}
¡¡&&K \leftarrow \phi \\
¡¡&&L \leftarrow P¡¡ \\
¡¡&&O(1) \l...
... \\
¡¡&&j \ne 1¤È¤Ê¤ëP¤ÎÍ×ÁÇjÁ´¤Æ¤ËÂФ·¤ÆO(j) \leftarrow \infty
\end{eqnarray*}



    ¼ê½ç1

    \begin{eqnarray*}
¡¡&&K=P¤Ê¤é½ªÎ» \\
¡¡&&K \ne P¤Î¤È¤­ \\
¡¡&&O(m)=\min \{O(i)\vert i¤ÏL¤Î¸µ \}¤È¤Ê¤ëL¤Î¸µm¤òÁª¤Ö¡£
\end{eqnarray*}



    ¼ê½ç2

    \begin{eqnarray*}
&&K \leftarrow K \cup \{m \}¡ÊK¤ËÍ×ÁÇm¤ò²Ã¤¨¤¿½¸¹ç¤ò¿·¤¿¤ËK¤È..
...\
&&~~R(j) \leftarrow m \\
&&~~¤½¤¦¤Ç¤Ê¤±¤ì¤Ð²¿¤â¤·¤Ê¤¤¡£>>\\
\end{eqnarray*}



    ¼ê½ç1¤Ë¤â¤É¤ë¡£

    ¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Î½ªÎ»»þ¤Ë¤Ï,

    $O(j)$¤Ë¤ÏÀáÅÀ$1$¤«¤éÀáÅÀ$j$¤Ø¤ÎºÇû¤ÎŤµ,
    $R(j)$¤Ë¤ÏÀáÅÀ$1$¤«¤éÀáÅÀ$j$¤Ø¤ÎºÇûϩ¤Ç,ÀáÅÀ$j$¤ÎľÁ°¤ÎÀáÅÀ¤ÎÈÖ¹æ

    ¤¬½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£

    °Ê²¼¤³¤ÎDijkstra¤ÎÊýË¡¤ò¿Þ5¤ÎÎã¤ËŬÍѤ·¤Æ¤ß¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ËÜÂç³Ø±¡¤Î¼Ò²ñ¿Í³ØÀ¸¡Ö¤¿¤Ê¤«¤µ¤ó¡×¤Ë¤ä¤Ã¤Æ¤¤¤¿¤À¤¤¤¿¤â¤Î¤Ç¤¹¡£ ¿Þ5.5¤Ï¡¢

    \begin{eqnarray*}
&&P=\{1,2,3,4,5,6\} \\
&&V=\{(1,2),(1,4),(2,3),(2,5),(3,6),(4...
...2,3)=25, \\
&&L(2,5)=10, L(3,6)=20, L(4,5)=20, \\
&&L(5,6)=30
\end{eqnarray*}



    ½àÈ÷

    \begin{eqnarray*}
&&K \leftarrow \phi \\
&&L \leftarrow \{1,2,3,4,5,6\} \\
&&O...
... \leftarrow 999, O(5) \leftarrow 999, \\
&&O(6) \leftarrow 999
\end{eqnarray*}



    ¼ê½ç£±(1²óÌÜ)

    \begin{eqnarray*}
&&K \ne P¤Ê¤Î¤Ç½ªÎ»¤Ç¤Ï¤Ê¤¤ \\
&&O(m)=min\{O(1),O(2),O(3),O(4),O(5),O(6)\}
=O(1)
=0
\end{eqnarray*}



    ¤È¤Ê¤ê¡¢m=1¤òÁª¤Ö¡£

    ¼ê½ç£²(1²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow \{ 1\} \\
&&L \leftarrow \{2,3,4,5,6\} \\
&&<...
... 1\\
&&~~j=5,6¤Î¤È¤­\\
&&~~(1,5),(1,6)¤ÏV¤Î¸µ¤Ç¤Ï¤Ê¤¤\\
&&~>>
\end{eqnarray*}



    ¼ê½ç£±(2²óÌÜ)

    \begin{eqnarray*}
&&K=\{1 \}¤Ê¤Î¤ÇK \ne P¤È¤Ê¤ê½ªÎ»¤Ç¤Ï¤Ê¤¤\\
&&O(2)=10, O(3)=9...
...6)=999¤Ê¤Î¤Ç\\
&&O(m)=min\{O(2),O(3),O(4),O(5),O(6)\}
=O(2)
=10
\end{eqnarray*}



    ¤È¤Ê¤ê¡¢$m=2$¤òÁª¤Ö¡£

    ¼ê½ç£²(£²²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow ¡¡\{1\} \cup \{2\}=\{1,2\}\\
&&L \leftarrow \{...
...(5) \leftarrow 2\\
&&~~j=6\\
&&~~(2,6)¤ÏV¤Î¸µ¤Ç¤Ï¤Ê¤¤\\
&&~>>
\end{eqnarray*}



    ¼ê½ç£±(£³²óÌÜ)

    \begin{eqnarray*}
&&K=\{1,2\}¤Ê¤Î¤ÇK \ne P¤È¤Ê¤ê½ªÎ»¤Ç¤Ï¤Ê¤¤\\
&&O(3)=35,O(4)=2...
...=min\{O(3),O(4),O(5),O(6)\}
=O(4)¡¡
=20\\
&&¤È¤Ê¤ê¡¢m=4¤òÁª¤Ö¡£
\end{eqnarray*}



    ¼ê½ç£²(£³²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow \{1,2,4\}\\
&&L \leftarrow \{3,5,6\}\\
&&<<\\...
...ʤꡢ²¿¤â¤·¤Ê¤¤Ü\
&&~j=6\\
&&~(4,6)¤ÏV¤Î¸µ¤Ç¤Ï¤Ê¤¤\\
&&~>>\\
\end{eqnarray*}



    ¼ê½ç£±(£´²óÌÜ)

    \begin{eqnarray*}
&&K=\{1,2,4\}¤Ê¤Î¤ÇK \ne P¤È¤Ê¤ê½ªÎ»¤Ç¤Ï¤Ê¤¤\\
&&O(3)=35,O(5)=20,O(6)=999¤Ê¤Î¤Ç
O(m)=min\{O(3),O(5),O(6)\}
=O(5)
=20
\end{eqnarray*}



    ¤È¤Ê¤ê¡¢$m=5$¤òÁª¤Ö¡£

    ¼ê½ç£²(£´²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow \{1,2,4,5\} \\
&&L \leftarrow \{3,6\} \\
&&~~...
...¤Ê¤ê\\
&&~~O(6) \leftarrow 50\\
&&~~R(6) \leftarrow 5\\
&&~>>
\end{eqnarray*}



    ¼ê½ç£±(£µ²óÌÜ)

    \begin{eqnarray*}
&&K=\{1,2,4,5\}¤Ê¤Î¤ÇK \ne P¤È¤Ê¤ê½ªÎ»¤Ç¤Ï¤Ê¤¤\\
&&O(3)=35,O(6)=50¤Ê¤Î¤Ç
O(m)=min\{O(3),O(6)\}
=O(3)
=35
\end{eqnarray*}



    ¤È¤Ê¤ê¡¢$m=3$¤òÁª¤Ö¡£

    ¼ê½ç£²(£µ²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow \{1,2,3,4,5\} \\
&&L \leftarrow \{6\} \\
&&~~...
... 35 + 20 = 55\\
&&~O(6) < O(3) + L(3,6)¤È¤Ê¤ê²¿¤â¤·¤Ê¤¤\\
&&>>
\end{eqnarray*}



    ¼ê½ç£±(£¶²óÌÜ)

    \begin{eqnarray*}
&&K=\{1,2,3,4,5\}¤Ê¤Î¤ÇK \ne P¤È¤Ê¤ê½ªÎ»¤Ç¤Ï¤Ê¤¤\\
&&O(6)=50¤Ê¤Î¤Ç
O(m)=min\{O(6)\}
=O(6)
=50
\end{eqnarray*}



    ¤È¤Ê¤ê¡¢$m=6$¤òÁª¤Ö¡£

    ¼ê½ç£²(£¶²óÌÜ)

    \begin{eqnarray*}
&&K \leftarrow \{1,2,3,4,5,6\}\\
&&L \leftarrow \phi\\
&&<<\\
&&L¤ÎÍ×ÁǤ¬¤Ê¤¤\\
&&>>
\end{eqnarray*}



    ¼ê½ç£±(£·²óÌÜ) $K=\{1,2,3,4,5,6\}$¤Ê¤Î¤Ç$K=P$¤È¤Ê¤ê½ªÎ»

    ÀáÅÀ1¤«¤éÀáÅÀ$6$¤Ø¤ÎºÇû¤ÎŤµ $O(6)=50$
    ÀáÅÀ1¤«¤éÀáÅÀ6¤Ø¤ÎºÇûϩ¤ÇÀáÅÀ6¤ÎľÁ°¤ÎÀáÅÀ¤ÎÈÖ¹æ $R(6)=5$


next up previous
: ̵¸þ¥°¥é¥Õ : ºÇû·ÐÏ©ÌäÂê : ¥é¥Ù¥ëÉÕ¤­Í­¸þ¥°¥é¥Õ
Yasunari SHIDAMA