اطلاعیه

Collapse
No announcement yet.

الگوریتم A star ، زبان C مسیر بهینه

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    الگوریتم A star ، زبان C مسیر بهینه

    سلام با زبان c ترجیحا C++ میخوام برنامه ای برای پیدا کردن مسیر بهینه با الگوریتم A star بنویسم
    چیزی که می خوام تقریبا اینه :
    با وارد کردن نام دو شهر به عنوان شهرهای مبدا و مقصد می تواند کوتاهترین مسیر ممکن بین این دو شهر را، با توجه به وضعیت راههای کشور در حال حاضر، پیدا کند.
    فرض کنید در نقشه کشور n شهر وجود دارد. نقشه راهها در این سیستم به صورت یک گراف جهت دار با n راس مدل سازی شده است. هر شهر در نقشه با یک عدد بین '0' و 'n-1' نشان داده می شود. علاوه بر آن هر شهر دارای یک مختصات به صورت (x,y) است. (در این مختصات x و y بر طبق واحد کیلومتر هستند و با طول و عرض جغرافیایی متفاوت می باشند). طول ها و عرض های هر شهر (همانطور که بعدا خواهید دید) در دو آرایه جدا گانه نگه داری می شوند. در این مدل از دو آرایه دیگر هم استفاده می شود که نشان می دهند هر شهر به چه شهر های دیگری متصل شده اند و فاصله هر شهر با شهر های همسایه خود، از طریق راهی که بین آنها وجود دارد چیست. (مسلما این فاصله بیشتر از فاصله مستقیم بین آنها است).
    start شماره شهر مبدا است.

    dest شماره شهر مقصد است.

    Xs لیستی است که عضو i ام آن مختصات افقی (x) شهر شماره i را نشان می دهد.

    Ys لیستی است که عضو i ام آن مختصات عمودی (y) شهر شماره i را نشان می دهد.

    Graph لیستی از لیست ها است. عضو i ام این لیست یک لیست است، که نشان می دهد که از راس شماره i در گراف به چه راسهای دیگری یال وجود دارد.

    Costs لیستی از لیست ها است. عضو i ام این لیست یک لیست متناظر با عضو i ام graph است، هر یک از اعضای cost[i] مشخص می کند فاصله شهر i تا شهر متناظر آن در graph[i] چقدر است.




    #2
    پاسخ : الگوریتم A star ، زبان C مسیر بهینه

    اینم یه مثال از نقشه :

    graph = [[4,5],[2,3,5],[1,3,4],[0,2],[3],[0]]
    costs = [[3,4],[6,12,16],[6,5,20],[5,6],[3],[4]]
    xs = [9,1,1,5,7,9]
    ys = [5,1,6,4,6,1]

    دیدگاه


      #3
      پاسخ : الگوریتم A star ، زبان C مسیر بهینه

      ممنون از نظراتتون :cry2:

      دیدگاه

      لطفا صبر کنید...
      X