μ–΄μ œ μžκΈ°μ „μ— μž‘μƒκ°μ„ ν•˜λ‹€κ°€, λ§Œμ•½ νŒ¨μŠ€νŒŒμΈλ”μ—μ„œ

viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce985fa11d028315015801132de093a7d99d0d3d8d2ab6765b292e1000b3a1596a0c3b3c054db02a50bc0042a21ac298d01c7e74f5d79cce1c46d69


이런 λ„€νŠΈμ›Œν¬λ₯Ό νŒ¨μŠ€νŒŒμΈλ”©ν•œλ‹€κ³  ν•  λ•Œ 뢄기점이 μ—†λŠ” 1, 2 λ…Έλ“œλ“€μ€ κ·Έλƒ₯ μŠ€ν‚΅ν•˜λ©΄ νΌν¬λ¨ΌμŠ€κ°€ μ’‹μ•„μ§€μ§€ μ•Šμ„κΉŒ?

이 생각이 λ“€μ–΄μ„œ ν”„λ‘œμ νŠΈμ— μžˆλŠ” A* 기반 νŒ¨μŠ€νŒŒμΈλ”λ₯Ό κ°œμ‘°ν•˜κΈ°λ‘œ ν–ˆμ–΄.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce985fa11d028315015801132de093a7d99d0d3d8d2ab6765b292e1000b3a15d2f292b0a85fd900b620ba5b647566ebc546d76cfa7232


κΈ°μ‘΄μ—λŠ” μ΄λ ‡κ²Œ μ •μ§ν•˜κ²Œ 점듀을 νŒ¨μŠ€νŒŒμΈλ”©ν–ˆμ–΄.

κ·Έλ ‡λ‹€λ©΄ 아이디어λ₯Ό λ°˜μ˜ν•΄μ„œ μˆ˜μ •ν•œ νŒ¨μŠ€νŒŒμΈλ”λŠ” μ–΄λ–¨κΉŒ?



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce985fa11d028315015801132de093a7d99d0d3d8d2ab6765b292e1000b3a15d2f292b0a85fd900b620ba5c302063b5cd41db6cfa7232


(빨간색이 패슀된 점. λ‹¨μˆœνžˆ -0- ν˜•μ‹μ˜ λ…Έλ“œλ§Œ νŒ¨μŠ€ν•œ 게 μ•„λ‹ˆλΌ, 막닀λ₯Έ κΈΈμ΄κ±°λ‚˜ 이미 탐색이 μ§„ν–‰λœ λ…Έλ“œλ‘œ 인해 탐색 지점이 ν•˜λ‚˜κ°€ λ˜μ—ˆμ„ κ²½μš°λ„ νŒ¨μŠ€ν•¨)



45


와 μ‹œ@봉방거 속도 빨라진것 λ³΄μ†Œ

이정도면 a*의 μƒˆλ‘œμš΄ νŒ¨λŸ¬λ‹€μž„γ…‡γ…ˆ?




13


λ³΄κΈ°μ—λŠ” 속도가 빨라진 κ²ƒμ²˜λŸΌ 보여도, 이건 ν•œ 과정을 0.1μ΄ˆμ— λ‚˜λˆ„μ–΄ ν‘œν˜„ν•œ μ‹€ν—˜μ΄κΈ° λ•Œλ¬Έμ— κ³Όμ •μ˜ μˆ˜κ°€ 쀄어도 κ³Όμ • μžμ²΄μ— κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ λŠ˜μ–΄λ‚¬λ‹€λ©΄ μ‹€μ œλ‘œλŠ” 였히렀 νΌν¬λ¨ΌμŠ€κ°€ μ•…ν™”λœκ±Έμˆ˜λ„ μžˆμ–΄. ν•œλ²ˆ ν™•μΈν•΄λ³ΌκΉŒ?




7ced9e36ebd518986abce8954781706a2b0d


AStar 원본

40x40 μ‚¬μ΄μ¦ˆ, μ†Œμš”μ‹œκ°„ 19, 29, 35, 18, 18 (ms)

평균 23.8ms μ΅œμ†Œ 18ms



7cec9e36ebd518986abce89547807765cf7d


κ°œμ„ λœ AStar

동일 λ§΅, μ†Œμš”μ‹œκ°„ 23, 39, 22, 34, 44 (ms)

평균 32.4ms μ΅œμ†Œ 22ms




11


였히렀 κΈ°μ‘΄ μ•Œκ³ λ¦¬μ¦˜μ— λΉ„ν•΄ 1.3λ°° λ„˜κ²Œ λŠλ €μ§„ κ±Έ ν™•μΈν• μˆ˜ μžˆμ–΄...


이 A*λŠ” ν΄λž˜μ‹ A*와 λ‹€λ₯΄κ²Œ 거리λ₯Ό μ‚Όκ°λ²•μœΌλ‘œ κ³„μ‚°ν•΄μ„œ κ²©μžκ°€ μ•„λ‹Œ ν™˜κ²½μ—μ„œλ„ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ§Œλ“€μ–΄μ‘ŒλŠ”λ°, 이 λ•Œλ¬Έμ— νœ΄λ¦¬μŠ€ν‹± 거리 계산을 μ€„μ΄λŠ”κ²Œ μ΅œμ ν™”μ— 큰 도움이 될 거라고 μƒκ°ν–ˆμ–΄.

ν•˜μ§€λ§Œ -0- μ‹μ˜ λ…Έλ“œλ₯Ό κ±ΈλŸ¬λ‚΄λŠ” 과정이 μΆ”κ°€λ˜λ‹€ λ³΄λ‹ˆ ν”„λ‘œκ·Έλž¨μ΄ 체크해야 ν•˜λŠ” 것도 λ§Žμ•„μ§€κ³ , μ›λž˜λŠ” ν•˜λ‚˜μ˜€λ˜ 경둜 μ €μž₯ 방법(이전 λ…Έλ“œλ§Œ μ €μž₯)이 μ—΄κ±°ν˜•(λΆ„κΈ° μ „κΉŒμ§€μ˜ λ…Έλ“œλ₯Ό μ „λΆ€ μ €μž₯)으둜 λ°”λ€Œμ–΄μ„œ μ‹€μ œλ‘œ μƒμ„±λœ 객체 μ–‘κ³Ό μ²˜λ¦¬ν•΄μ•Ό ν•  양이 였히렀 더 λ§Žμ•„μ§€κ²Œ 된 것 κ°™μ•„.

A*λŠ” 주변을 μ „λΆ€ κ²€μƒ‰ν•˜λŠ” 방식이라 ν•œ 객체에 λŒ€ν•œ 계산이 μ’€ λŠ˜μ–΄λ‚˜λ”λΌλ„ 계산해야 ν•  객체 수 μžμ²΄κ°€ 쀄어듀면 μ „μ²΄μ μœΌλ‘œ μ„±λŠ₯ ν–₯상이 μžˆμ§€ μ•Šμ„κΉŒ ν–ˆλŠ”λ°, 였히렀 μ—­νš¨κ³Όμ˜€λ˜ κ±°μ§€.


μ•„λ¬΄νŠΌ μ΄λ ‡κ²Œ ν•˜λ£¨λ₯Ό 효과적으둜 버릴 수 μžˆμ—ˆμ–΄. λ„ˆλ¬΄ μ•„κΉμ§€λ§Œ κ²Œμž„κ°œλ°œμ„ ν•  λ•ŒλŠ” μž‘μƒκ°μ„ ν•˜μ§€ 말고, μ΅œμ ν™”ν•  μ‹œκ°„μ— κ΅¬ν˜„λΆ€ν„° ν•˜μžλŠ” κ΅ν›ˆμ„ λ‹€μ‹œν•œλ²ˆ 얻을 수 μžˆμ—ˆμ–΄ - 그리고 μ• μ΄ˆμ— 이거 ν•  μ‹œκ°„μ— JPSλ₯Ό λ§Œλ“€μ—ˆμœΌλ©΄ 더 쒋은 κ²°κ³Όλ₯Ό 얻을 μˆ˜λ„ μžˆμ—ˆκ² μ§€.


μ•žμœΌλ‘œλŠ” μ΅œμ ν™”λŠ” μΆœμ‹œλ₯Ό λ¨Όμ € ν•˜κ³  ν•˜λ €κ³  ν•΄. μ§€κΈˆμ€ 아이디어 κ΅¬ν˜„μ„ λ¨Όμ € ν•˜κ³ , μ΅œμ ν™”λŠ” μΆœμ‹œ 후에 λ‚˜λ³΄λ‹€ λ˜‘λ˜‘ν•œ μ‚¬λžŒλ“€κ³Ό ν•¨κ»˜ ν•˜λŠ”κ²Œ μ•„λ¬΄λž˜λ„ λ§žλŠ”κ±°κ°™μ•„.

λ‹€μŒμ—λŠ” λ‹€μ‹œ κ°œλ°œμΌμ§€λ‘œ λŒμ•„μ˜¬κ²Œ!