SPFAËã·¨µÄÓÅ»¯¼°Ó¦Óà ÏÂÔØ±¾ÎÄ

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Ò³ -