2009Thesis SPFAµÄÓÅ»¯ÓëÓ¦Óà ½ª±ÌÒ°
µü´úÇó½âµÄÀûÆ÷
--------SPFAËã·¨µÄÓÅ»¯ÓëÓ¦ÓÃ
¹ã¶«ÖÐɽ¼ÍÄîÖÐѧ ½ª±ÌÒ°
¡¾ÕªÒª¡¿
SPFAËã·¨,È«³ÆShortest Path Faster Algorithm,ÊÇBellman-FordËã·¨µÄ¸Ä½ø
°æ¡£¸ÃËã·¨ÒÔÈý½Ç²»µÈʽΪ»ù´¡£¬ÊµÏÖʱ½èÖú¶ÓÁлòÕ»²»¶Ï½øÐеü´úÒÔÇóµÃ×îÓŽ⡣¾ßÓÐЧÂʸߡ¢ÊµÏÖ¼ò½à¡¢À©Õ¹ÐÔÇ¿µÈÓŵ㡣Èý½Ç²»µÈʽµÄÆÕÊÊÐÔ¼°ÆäÀàËÆËÑË÷µÄʵÏÖ·½Ê½£¬Ê¹ÆäÓ¦Óò¢²»Ö»¾ÖÏÞÓÚͼÂÛÖеÄ×î¶Ì·¾¶£¬¸ü¿ÉÒÔÔÚ¶¯Ì¬¹æ»®¡¢µü´ú·¨½â·½³ÌÖз¢»Ó³ö¾Þ´óµÄ×÷Ó㬽â¾öһЩ·Ç³£¹æÎÊÌ⣻»¹¿É¸ù¾Ý¾ßÌåÎÊÌâ½øÐи÷ÖÖ¸÷ÑùµÄÓÅ»¯¡£±¾ÎĽ«¶ÔÆä½øÐÐÈ«ÃæµÄ·ÖÎö¡¢²âÊÔºÍÉîÈëµÄÌÖÂÛ¡£
¡¾¹Ø¼ü´Ê¡¿µü´ú SPFA Éî¶ÈÓÅÏÈËÑË÷ ×îÓÅÐÔ ¶¯Ì¬¹æ»® ×´Ì¬×ªÒÆ ·½³Ì
- µÚ1Ò³¹²37Ò³ -
2009Thesis SPFAµÄÓÅ»¯ÓëÓ¦Óà ½ª±ÌÒ°
¡¾Ä¿Â¼¡¿
SPFAËã·¨¼ò½é..................................................................................... 3 1.1 SPFAËã·¨µÄ»ù±¾ÊµÏÖ .............................................................. 3 1.2»îѧ»îÓãºSPFAµÄÉî¶ÈÓÅÏÈʵÏÖ¼°ÆäÓÅ»¯............................. 5 1.2.1:»ùÓÚDfsµÄSPFAµÄ»ù±¾ÔÀí .......................................... 5 1.2.2:»ùÓÚDfsµÄSPFAµÄÏà¹ØÓÅ»¯ .......................................... 7 1.3 SPFAË㷨ʵ¼ÊЧ¹û²âÊÔ¼°±È½Ï ............................................... 8 *1.4 JohnsonËã·¨½éÉÜ .................................................................. 12 2.SPFAËã·¨ÔÚʵ¼ÊÓ¦ÓÃÖеÄÓÅ»¯ ...................................................... 13 2.1ÈçºÎʹÓÃSPFA¿ìËÙ²éÕÒ¸º(Õý)»· .......................................... 13 2.2×¢Òâ¶ÔÎÞÓÃ״̬µÄ²Ã¼ô........................................................... 17 3. SPFAËã·¨µÄÓ¦Óà ........................................................................... 19 3.1²î·ÖÔ¼ÊøÏµÍ³.......................................................................... 19 3.2ÔÚÒ»Àà×´Ì¬×ªÒÆ½×¶ÎÐÔ²»Ã÷ÏԵĶ¯Ì¬¹æ»®ÖеÄÓ¦Óà .............. 20 3.3̽ÌÖSPFAÔڽⷽ³ÌÖеÄÓ¦Óà ................................................ 23 3.4Ò»Àà×´Ì¬×ªÒÆ´æÔÚ¡°ºóЧÐÔ¡±µÄ¶¯Ì¬¹æ»®ÖеÄÓ¦Óà .................. 28 5¸½Â¼ ................................................................................................. 33 5.1ÀýÌâÔÌâ ................................................................................. 33 5.2Ô´³ÌÐò&ÀýÌâ²âÊÔÊý¾Ý ........................................................... 37 6.²Î¿¼ÎÄÏ×......................................................................................... 37 7.Ãùл ................................................................................................. 37
- µÚ2Ò³¹²37Ò³ -
2009Thesis SPFAµÄÓÅ»¯ÓëÓ¦Óà ½ª±ÌÒ°
¡¾ÕýÎÄ¡¿
SPFAËã·¨¼ò½é
1.1 SPFAËã·¨µÄ»ù±¾ÊµÏÖ
ÏÂÃæ£¬ÏȽéÉÜÒ»ÏÂSPFAºÍBellman-FordËã·¨µÄÔÀíºÍÊÊÓÃÌõ¼þ¡£
Ê×ÏÈÒ»¸öºÜÖØÒªµÄÐÔÖʱãÊÇÈý½Ç²»µÈʽ¡£
ÉèG=(V,E)Ϊһ´øÈ¨ÓÐÏòͼ£¬ÆäȨº¯Êýw:E?RΪ±ßµ½ÊµÐÍȨֵµÄÓ³É䣬s
ΪԴµã£¬¶ÔÓÚÈÎÒâµãt,d(s,t)Ϊsµ½tµÄ×î¶Ì·¡£
Ôò¶ÔÓÚËùÓбß(u,v)¡ÊEÓÐd(s,v)<=d(s,u)+w(u,v)¡£
Áîd(s,s)=0£¬ÕâÒ»²»µÈʽΪd(s,t)ÊÇsµ½tµÄ×î¶Ì·µÄ³äÒªÌõ¼þ¡£ ÕâÒ»ÐÔÖʺÜÈÝÒ×Àí½â¡£ÎÒÃÇÒ²ºÜÈÝÒ×½«ÆäÍÆ¹ã¡£
ÉèG=(V,E)Ϊһ´øÈ¨ÓÐÏòͼ£¬d(u)Ϊ״̬(¶¥µã)uµÄ×îÓÅÖµ£¬È¨º¯Êýw:E?×Ô¶¨Ò弯ºÏ¡£Ôò¶ÔÓÚËùÓбß(u,v)¡ÊEÓÐ
d(u)+w(u,v)²»ÓÅÓÚd(v). ×¢:ÕâÀïµÄ¡°+¡±¿ÉÒÔÊÇÑÓÉìΪÈÎÒâÐÎʽµÄÔËËã±í´ïʽ¡£ ¸ü½øÒ»²½£¬ÎÒÃDz¢²»Ò»¶¨½«²»µÈʽÏÞ¶¨ÔÚ¡°×îÓÅÐÔ¡±ÕâÒ»¿ò¼ÜÖУ¬¶ø¿É¸ù¾Ý¾ßÌåÌâĿҪÇóÖÆ¶¨×Ô¼ºµÄÅжϡ£ÍƹãºóµÄÈý½Ç²»µÈʽ½«²»ÔÙ¾ÐÊøÓÚ×î¶Ì·ÎÊÌ⣬ÓÐןü¼Ó¹ã·ºµÄÊÊÓÿռ䡣ֻҪÎÒÃǸù¾ÝÌâÄ¿¹¹Ôì³ö״̬¼äµÄȨº¯ÊýºÍÓÅÁÓÅжϱê×¼£¬Ôڴ󲿷ÖÇé¿öÏÂÎÒÃǶ¼¿ÉÒÔʹÓÃSPFAÇó½â¡£ÔÚÏÂÎÄÖн«¿´µ½Ïà¹ØµÄÓ¦Óá£
ÓÐÁËÈý½Ç²»µÈʽºó£¬SPFAÒ²¼´Bellman-FordµÄºËÐÄËã·¨Ò²¾ÍµÇ³¡ÁË¡£Ò²¾ÍÊÇÖøÃûµÄËɳڲÙ×÷¡£
Ê×ÏÈÁîf(u)Ϊ½ÚµãµÄuµÄµ±Ç°×îÓÅ×î¶Ì·£¬²¢¸³³õÖµf(s)=0,f(u)=+¡Þ(u¡Ùs) È»ºó¶ÔÿÌõ²»Âú×ãÈý½Ç²»µÈʽµÄ±ß£¬ÎÒÃǶ¼°ÑÆäÄ¿±ê½ÚµãÖØÐ¸³Öµ¡£
¼´£º¶ÔÓÚ(u,v)¡ÊE Relax(u,v){
If f(v)>f(u)+w(u,v)
f(v)=f(u)+w(u,v);
- µÚ3Ò³¹²37Ò³ -
2009Thesis SPFAµÄÓÅ»¯ÓëÓ¦Óà ½ª±ÌÒ°
}
ËɳڲÙ×÷µÄ±¾ÖÊÕýÊÇ£º²»¶ÏѰÕÒµ±Ç°×´Ì¬ÓëÄ¿±ê״̬¼äµÄì¶Ü²¢µ÷Õû£¬Ö±µ½ÕÒ²»µ½Ã¬¶Üʱ¼´´ïµ½×îÓÅ״̬¡£
ÓÉËɳڲÙ×÷£¬ÎÒÃÇÓÖ¿ÉÒԵóöһЩÓÐÓõÄÍÆÂÛ£º ÉϽçÐÔÖÊ&ÊÕÁ²ÐÔÖÊ:
ÔÚËã·¨¹ý³ÌÖУ¬¶ÔÓÚËùÓÐu,¶¼ÓÐf(u)>=d(s,u)¡£Òò´ËÒ»µ©f(u)´ïµ½d(s,u), f(u)½«²»»áÔٸı䡣ÕâÒ»µãºÜÈÝÒ×Àí½â£¬ÒòΪÓÉÓÚ¹éÄÉ·¨¿ÉÖª£¬Ö»ÒªÔÀ´Âú×ãf(u)>=d(s,u),ÄÇôִÐÐËɳڲÙ×÷ºó£¬ÏÔÈ»ÓУº
f(v)=f(u)+w(u,v) >=d(s,u)+w(u,v) >=d(s,v)
¶øÔÚûÓиº»·µÄÇé¿öÏ£¬Ã¿¸öf(u)¿Ï¶¨Êǵ¥µ÷²»ÔöµÄ£¬ÕâÒ²Ö¤Ã÷Á˸ÃËã·¨¿Ï
¶¨»á½áÊøµÄ¡£¸ü½øÒ»²½£¬Èç¹ûÎÒÃDzÉÓÃBellman-FordµÄ¼ÆË㷽ʽ£º
For i=1 to n-1
For (u,v) ¡ÊE
Relax(u,v)£»
±ã¿ÉÒÔÔÚN*MµÄʱ¼äÖÐËã³ö×î¶Ì·¾¶£¬ÒòΪ×î¶Ì·¾¶µÄ±ßÊý×î¶àΪN-1,¶ø
ÓÉÊýѧ¹éÄÉ·¨Öª£ºµ±ÍâÑ»·ÎªµÚI´Îʱ£¬ÎÒÃÇËã³öÁ˳¤¶ÈΪIµÄ×î¶Ì·£¬¶ø¾¹ýµÚI+1´ÎµÄÑ»·£¬±ØÈ»¿ÉÒԵóö³¤¶ÈΪI+1µÄ×î¶Ì·¡£
²»´æÔÚ¸º»·Ê±£¬×î¶Ì·¾¹ýµÄ±ßÊýÏÔÈ»²»³¬¹ýN-1£¬ÕâÒ²¸æËßÎÒÃǵÚN´Îµü´úÈç¹û·¢ÏÖ¿ÉÒÔ¼ÌÐø¸üÐÂÔò±ØÈ»´æÔÚ¸º»·¡£
¶øÊÂʵÉÏ£¬Bellman-FordµÄʵ¼ÊЧÂÊÊǺܵ͵ģ¬ÒòΪÓкܶ಻±ØÒªµÄ²Ù×÷¡£¿¼ÂÇͼΪһÌõÁ´Ê±µÄÇé¿ö£º
-1 -1 -1 -1 S A1 .......
AnT Èç¹ûÖ±½ÓʹÓÃBellman-Ford£¬Ôòÿ´Îµü´úʵ¼ÊÉÏÖ»ÄܸüÐÂÒ»¸ö½Úµã£¬ÆäËûµÄÑ»·¶¼ÊÇÎÞЧµÄ¡£Òò´Ë¿ÉÒÔ·¢ÏÖÖ»ÓÐÔÚÉÏÒ»´Îµü´úÖб»¸üеĽڵã²Å»á¶Ôµ±Ç°µÄ
- µÚ4Ò³¹²37Ò³ -