ÒÔQQ×ÔÓÉ»ÃÏëÓÎϷΪÀý£¬ÕâÀï½²ÊöһϹØÓÚ×Ô¶¯×ß·Ëã·¨µÄÎÊÌâ¡£
ËäÈ»ÕÆÎÕÁË A* Ëã·¨µÄÈËÈÏΪËüÈÝÒ×£¬µ«ÊǶÔÓÚ³õѧÕßÀ´Ëµ£¬ A* Ëã·¨»¹ÊǺܸ´Ôӵġ£
ËÑË÷ÇøÓò(The Search Area)
¼²·ç¼ÙÉèijÈËÒª´Ó A µãÒÆ¶¯µ½ B µã£¬µ«ÊÇÕâÁ½µãÖ®¼ä±»Ò»¶Âǽ¸ô¿ª¡£Èçͼ 1 £¬ÂÌÉ«ÊÇ A £¬ºìÉ«ÊÇ B £¬ÖмäÀ¶É«ÊÇǽ¡£

ÄãÓ¦¸Ã×¢Òâµ½ÁË£¬¼²·ç°ÑÒªËÑѰµÄÇøÓò»®·Ö³ÉÁËÕý·½Ðεĸñ×Ó¡£ÕâÊÇѰ·µÄµÚÒ»²½£¬¼ò»¯ËÑË÷ÇøÓò£¬¾ÍÏñ¼²·çÕâÀï×öµÄÒ»Ñù¡£Õâ¸öÌØÊâµÄ·½·¨°Ñ¼²·çµÄËÑË÷ÇøÓò¼ò»¯ÎªÁË
2 άÊý×é¡£Êý×éµÄÿһÏî´ú±íÒ»¸ö¸ñ×Ó£¬ËüµÄ״̬¾ÍÊÇ¿É×ß (walkalbe) ºÍ²»¿É×ß (unwalkable) ¡£Í¨¹ý¼ÆËã³ö´Ó A µ½ B
ÐèÒª×ß¹ýÄÄЩ·½¸ñ£¬¾ÍÕÒµ½ÁË·¾¶¡£Ò»µ©Â·¾¶ÕÒµ½ÁË£¬ÈËÎï±ã´ÓÒ»¸ö·½¸ñµÄÖÐÐÄÒÆ¶¯µ½ÁíÒ»¸ö·½¸ñµÄÖÐÐÄ£¬Ö±ÖÁµ½´ïÄ¿µÄµØ¡£
·½¸ñµÄÖÐÐĵ㼲·ç³ÉΪ¡°½Úµã (nodes) ¡±¡£Èç¹ûÄã¶Á¹ýÆäËû¹ØÓÚ A*
Ѱ·Ëã·¨µÄÎÄÕ£¬Äã»á·¢ÏÖÈËÃdz£³£¶¼ÔÚÌÖÂ۽ڵ㡣Ϊʲô²»Ö±½ÓÃèÊöΪ·½¸ñÄØ£¿ÒòΪ¼²·çÓпÉÄܰÑËÑË÷ÇøÓò»®ÎªÎªÆäËû¶à±äÐζø²»ÊÇÕý·½ÐΣ¬ÀýÈç¿ÉÒÔÊÇÁù±ßÐΣ¬¾ØÐΣ¬ÉõÖÁ¿ÉÒÔÊÇÈÎÒâ¶à±äÐΡ£¶ø½Úµã¿ÉÒÔ·ÅÔÚÈÎÒâ¶à±ßÐÎÀïÃæ£¬¿ÉÒÔ·ÅÔÚ¶à±äÐεÄÖÐÐÄ£¬Ò²¿ÉÒÔ·ÅÔÚ¶à±ßÐεıßÉÏ¡£¼²·çʹÓÃÕâ¸öϵͳ£¬ÒòΪËü×î¼òµ¥¡£
¿ªÊ¼ËÑË÷(Starting the Search)
Ò»µ©¼²·ç°ÑËÑÑ°ÇøÓò¼ò»¯ÎªÒ»×é¿ÉÒÔÁ¿»¯µÄ½Úµãºó£¬¾ÍÏñÉÏÃæ×öµÄÒ»Ñù£¬¼²·çÏÂÒ»²½Òª×öµÄ±ãÊDzéÕÒ×î¶Ì·¾¶¡£ÔÚ A*
ÖУ¬¼²·ç´ÓÆðµã¿ªÊ¼£¬¼ì²éÆäÏàÁڵķ½¸ñ£¬È»ºóÏòËÄÖÜÀ©Õ¹£¬Ö±ÖÁÕÒµ½Ä¿±ê¡£
¼²·çÕâÑù¿ªÊ¼¼²·çµÄѰ·ÂÃ;£º
1. ´ÓÆðµã A ¿ªÊ¼£¬²¢°ÑËü¾Í¼ÓÈëµ½Ò»¸öÓÉ·½¸ñ×é³ÉµÄ open list( ¿ª·ÅÁбí ) ÖС£Õâ¸ö open list
ÓеãÏñÊÇÒ»¸ö¹ºÎïµ¥¡£µ±È»ÏÖÔÚ open list ÀïÖ»ÓÐÒ»ÏËü¾ÍÊÇÆðµã A £¬ºóÃæ»áÂýÂý¼ÓÈë¸ü¶àµÄÏî¡£ Open list
ÀïµÄ¸ñ×ÓÊÇ·¾¶¿ÉÄÜ»áÊÇÑØÍ¾¾¹ýµÄ£¬Ò²ÓпÉÄܲ»¾¹ý¡£»ù±¾ÉÏ open list ÊÇÒ»¸ö´ý¼ì²éµÄ·½¸ñÁÐ±í¡£
2. ²é¿´ÓëÆðµã A ÏàÁڵķ½¸ñ ( ºöÂÔÆäÖÐǽ±ÚËùÕ¼ÁìµÄ·½¸ñ£¬ºÓÁ÷ËùÕ¼ÁìµÄ·½¸ñ¼°ÆäËû·Ç·¨µØÐÎÕ¼ÁìµÄ·½¸ñ ) £¬°ÑÆäÖпÉ×ßµÄ (walkable)
»ò¿Éµ½´ïµÄ (reachable) ·½¸ñÒ²¼ÓÈëµ½ open list ÖС£°ÑÆðµã A ÉèÖÃΪÕâЩ·½¸ñµÄ¸¸Ç× (parent node »ò
parent square) ¡£µ±¼²·çÔÚ×·×Ù·¾¶Ê±£¬ÕâЩ¸¸½ÚµãµÄÄÚÈÝÊǺÜÖØÒªµÄ¡£ÉÔºó½âÊÍ¡£
3. °Ñ A ´Ó open list ÖÐÒÆ³ý£¬¼ÓÈëµ½ close list( ·â±ÕÁбí ) ÖУ¬ close list
ÖеÄÿ¸ö·½¸ñ¶¼ÊÇÏÖÔÚ²»ÐèÒªÔÙ¹Ø×¢µÄ¡£
ÈçÏÂͼËùʾ£¬ÉîÂÌÉ«µÄ·½¸ñΪÆðµã£¬ËüµÄÍâ¿òÊÇÁÁÀ¶É«£¬±íʾ¸Ã·½¸ñ±»¼ÓÈëµ½ÁË close list
¡£ÓëËüÏàÁڵĺÚÉ«·½¸ñÊÇÐèÒª±»¼ì²éµÄ£¬ËûÃǵÄÍâ¿òÊÇÁÁÂÌÉ«¡£Ã¿¸öºÚ·½¸ñ¶¼ÓÐÒ»¸ö»ÒÉ«µÄÖ¸ÕëÖ¸ÏòËûÃǵĸ¸½Úµã£¬ÕâÀïÊÇÆðµã A ¡£

ÏÂÒ»²½£¬¼²·çÐèÒª´Ó open list ÖÐѡһ¸öÓëÆðµã A
ÏàÁڵķ½¸ñ£¬°´ÏÂÃæÃèÊöµÄÒ»Ñù»ò¶à»òÉÙµÄÖØ¸´Ç°ÃæµÄ²½Öè¡£µ«Êǵ½µ×Ñ¡ÔñÄĸö·½¸ñºÃÄØ£¿¾ßÓÐ×îС F ÖµµÄÄǸö¡£
·¾¶ÅÅÐò(Path Sorting)
¼ÆËã³ö×é³É·¾¶µÄ·½¸ñµÄ¹Ø¼üÊÇÏÂÃæÕâ¸öµÈʽ£º
F = G + H
ÕâÀ
G = ´ÓÆðµã A ÒÆ¶¯µ½Ö¸¶¨·½¸ñµÄÒÆ¶¯´ú¼Û£¬ÑØ×ŵ½´ï¸Ã·½¸ñ¶øÉú³ÉµÄ·¾¶¡£
H = ´ÓÖ¸¶¨µÄ·½¸ñÒÆ¶¯µ½ÖÕµã B
µÄ¹ÀËã³É±¾¡£Õâ¸öͨ³£±»³ÆÎªÊÔ̽·¨£¬ÓеãÈÃÈË»ìÏý¡£ÎªÊ²Ã´Õâô½ÐÄØ£¬ÒòΪÕâÊǸö²Â²â¡£Ö±µ½¼²·çÕÒµ½ÁË·¾¶¼²·ç²Å»áÖªµÀÕæÕýµÄ¾àÀ룬ÒòΪ;ÖÐÓи÷ÖÖ¸÷ÑùµÄ¶«Î÷
( ±ÈÈçǽ±Ú£¬Ë®µÈ ) ¡£±¾½Ì³Ì½«½ÌÄãÒ»ÖÖ¼ÆËã H µÄ·½·¨£¬ÄãÒ²¿ÉÒÔÔÚÍøÉÏÕÒµ½ÆäËû·½·¨¡£
¼²·çµÄ·¾¶ÊÇÕâô²úÉúµÄ£º·´¸´±éÀú open list £¬Ñ¡Ôñ F Öµ×îСµÄ·½¸ñ¡£Õâ¸ö¹ý³ÌÉÔºóÏêϸÃèÊö¡£¼²·ç»¹ÊÇÏÈ¿´¿´Ôõôȥ¼ÆËãÉÏÃæµÄµÈʽ¡£
ÈçÉÏËùÊö£¬ G ÊÇ´ÓÆðµã£ÁÒÆ¶¯µ½Ö¸¶¨·½¸ñµÄÒÆ¶¯´ú¼Û¡£ÔÚ±¾ÀýÖУ¬ºáÏòºÍ×ÝÏòµÄÒÆ¶¯´ú¼ÛΪ 10 £¬¶Ô½ÇÏßµÄÒÆ¶¯´ú¼ÛΪ 14
¡£Ö®ËùÒÔʹÓÃÕâЩÊý¾Ý£¬ÊÇÒòΪʵ¼ÊµÄ¶Ô½ÇÒÆ¶¯¾àÀëÊÇ 2 µÄƽ·½¸ù£¬»òÕßÊǽüËÆµÄ 1.414 ±¶µÄºáÏò»ò×ÝÏòÒÆ¶¯´ú¼Û¡£Ê¹Óà 10 ºÍ 14
¾ÍÊÇΪÁ˼òµ¥Æð¼û¡£±ÈÀýÊǶԵ쬼²·ç±ÜÃâÁË¿ª·ÅºÍСÊýµÄ¼ÆËã¡£Õâ²¢²»ÊǼ²·çûÓÐÕâ¸öÄÜÁ¦»òÊDz»Ï²»¶Êýѧ¡£Ê¹ÓÃÕâЩÊý×ÖÒ²¿ÉÒÔʹ¼ÆËã»ú¸ü¿ì¡£ÉÔºóÄã±ã»á·¢ÏÖ£¬Èç¹û²»Ê¹ÓÃÕâЩ¼¼ÇÉ£¬Ñ°Â·Ëã·¨½«ºÜÂý¡£
¼ÈÈ»¼²·çÊÇÑØ×ŵ½´ïÖ¸¶¨·½¸ñµÄ·¾¶À´¼ÆËã G Öµ£¬ÄÇô¼ÆËã³ö¸Ã·½¸ñµÄ G ÖµµÄ·½·¨¾ÍÊÇÕÒ³öÆä¸¸Ç×µÄ G Öµ£¬È»ºó°´¸¸Ç×ÊÇÖ±Ïß·½Ïò»¹ÊÇбÏß·½Ïò¼ÓÉÏ
10 »ò 14 ¡£Ëæ×ż²·çÀ뿪Æðµã¶øµÃµ½¸ü¶àµÄ·½¸ñ£¬Õâ¸ö·½·¨»á±äµÃ¸ü¼ÓÃ÷ÀÊ¡£
Óкܶ෽·¨¿ÉÒÔ¹ÀËã H Öµ¡£ÕâÀï¼²·çʹÓà Manhattan
·½·¨£¬¼ÆËã´Óµ±Ç°·½¸ñºáÏò»ò×ÝÏòÒÆ¶¯µ½´ïÄ¿±êËù¾¹ýµÄ·½¸ñÊý£¬ºöÂÔ¶Ô½ÇÒÆ¶¯£¬È»ºó°Ñ×ÜÊý³ËÒÔ 10 ¡£Ö®ËùÒÔ½Ð×ö Manhattan
·½·¨£¬ÊÇÒòΪÕâºÜÏñͳ¼Æ´ÓÒ»¸öµØµãµ½ÁíÒ»¸öµØµãËù´©¹ýµÄ½ÖÇøÊý£¬¶øÄã²»ÄÜбÏò´©¹ý½ÖÇø¡£ÖØÒªµÄÊÇ£¬¼ÆËã H
ÊÇ£¬ÒªºöÂÔ·¾¶ÖеÄÕϰÎï¡£ÕâÊǶÔÊ£Óà¾àÀëµÄ¹ÀËãÖµ£¬¶ø²»ÊÇʵ¼ÊÖµ£¬Òò´Ë²Å³ÆÎªÊÔ̽·¨¡£
°Ñ G ºÍ H Ïà¼Ó±ãµÃµ½ F ¡£¼²·çµÚÒ»²½µÄ½á¹ûÈçÏÂͼËùʾ¡£Ã¿¸ö·½¸ñ¶¼±êÉÏÁË F £¬ G £¬ H µÄÖµ£¬¾ÍÏñÆðµãÓұߵķ½¸ñÄÇÑù£¬×óÉϽÇÊÇ F
£¬×óϽÇÊÇ G £¬ÓÒϽÇÊÇ H ¡£

ºÃ£¬ÏÖÔÚÈü²·ç¿´¿´ÆäÖеÄһЩ·½¸ñ¡£ÔÚ±êÓÐ×ÖĸµÄ·½¸ñ£¬ G = 10
¡£ÕâÊÇÒòΪˮƽ·½Ïò´ÓÆðµãµ½ÄÇÀïÖ»ÓÐÒ»¸ö·½¸ñµÄ¾àÀë¡£ÓëÆðµãÖ±½ÓÏàÁÚµÄÉÏ·½£¬Ï·½£¬×󷽵ķ½¸ñµÄ G Öµ¶¼ÊÇ 10 £¬¶Ô½ÇÏߵķ½¸ñ G Öµ¶¼ÊÇ 14
¡£
H ֵͨ¹ý¹ÀËãÆðµãÓÚÖÕµã ( ºìÉ«·½¸ñ ) µÄ Manhattan
¾àÀëµÃµ½£¬½ö×÷ºáÏòºÍ×ÝÏòÒÆ¶¯£¬²¢ÇÒºöÂÔÑØÍ¾µÄǽ±Ú¡£Ê¹ÓÃÕâÖÖ·½Ê½£¬ÆðµãÓұߵķ½¸ñµ½ÖÕµãÓÐ 3 ¸ö·½¸ñµÄ¾àÀ룬Òò´Ë H = 30
¡£Õâ¸ö·½¸ñÉÏ·½µÄ·½¸ñµ½ÖÕµãÓÐ 4 ¸ö·½¸ñµÄ¾àÀë ( ×¢ÒâÖ»¼ÆËãºáÏòºÍ×ÝÏò¾àÀë ) £¬Òò´Ë H = 40 ¡£¶ÔÓÚÆäËûµÄ·½¸ñ£¬Äã¿ÉÒÔÓÃͬÑùµÄ·½·¨ÖªµÀ
H ÖµÊÇÈçºÎµÃÀ´µÄ¡£
ÿ¸ö·½¸ñµÄ F Öµ£¬Ô |