تخفیف نوروزی پی استور
هزینه سفارش:
۲۳۰,۰۰۰ تومان قیمت اصلی: ۲۳۰,۰۰۰ تومان بود.۹۲,۰۰۰ تومانقیمت فعلی: ۹۲,۰۰۰ تومان.
این سورس کد به زبان پایتون Python برای الگوریتم کلون مورچگان یا همان ACO نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم مورچه مسئله TSP را حل میکند. برای اینکه بتوانید الگوریتم ACO را واضح و کامل درک کنید مقالهای کامل با عنوان الگوریتم کلونی مورچگان ACO در همین سایت نوشته شده است. در ادامه مختصری از الگوریتم برای درک کد الگوریتم مورچه در پایتون بیان میشود.
در این بخش سورس کد الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم کلون مورچگان یا همان ACO نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم مورچه مسئله TSP را حل میکند. برای اینکه بتوانید الگوریتم ACO را واضح و کامل درک کنید مقالهای کامل با عنوان الگوریتم کلونی مورچگان ACO در همین سایت نوشته شده است. در ادامه مختصری از الگوریتم برای درک کد الگوریتم مورچه در پایتون بیان میشود.
الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization یا به اختصار ACO مورچگان تحت عنوان الگوریتمهای هوش ازدحامی (هوش گروهی) شناخته شده و به مدل سازی رفتار مورچههای واقعی میپردازد. مورچهها حشراتی هستند که میتوانند گروهها (کلونیها) را شکل دهند. چنین رویکرد جمعیت محوری این امکان را برای الگوریتم ACO ایجاد میکند تا به حل مسائل بهینه سازی پویا به طور کاملا کارآمد بپردازد. مورچهها به عنوان مخلوقات خودسازمانده میباشند.
از آنجایی که مورچهها اصلا چشم ندارند، تعاملات آنها از طریق ماده شیمیایی فرومون که از آن برای نشان گذاری مسیر استفاده میشود، انجام میگیرد. هرچه فرومنهای بیشتری در مسیر قرار گیرد مابقی مورچهها از این مسیر بیشتر استفاده میکنند؛ بنابراین، چنین کمیتی نشان میدهد که این مسیر به عنوان یکی از بهینهترین و کوتاهترین راه میباشد. اکنون نگاهی به یک نمونه عینی میاندازیم. هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) میباشد.
ممکن است این حدس زده شودکه احتمال برای مورچهای که مسیر درست را میپیماید برابر با همان احتمالی میباشد که مسیر اشتباه را انتخاب کند. نکته در اینجا اینست که مورچهای که کوتاهترین مسیر را میپیماید، اولین مورچهای است که به نقطه مقصد رسیده و سپس به اشیانه ( نقطه مبدا حرکت) بر میگردد، بنابراین در این کوتاهترین مسیر فرمونهای بیشتری وجود دارد. از این رو فرمون دقیقا همان چیزی است که نشان میدهد که مورچه باید از چه مسیری برود و در پایان کوتاهترین راه، بهترین مسیر میباشد.
مساله فروشنده دوره گرد Travelling salesman problem یا به اختصار TSP مسالهای است که شرح آن خیلی آسان میباشد. تعریف آن بدین صورت است که تعداد متناهی شهر با هزینه پیمایش بین هر جفت از آنها داده میشود و هدف مساله این است که یک فروشنده دوره گرد تمامی این شهرها را به گونهای ملاقات کند که هر یک از این شهرها را فقط یک بارملاقات کرده و دوباره به شهر آغازین برگردد با این شرط که با کمترین هزینه پیمایش این کار را انجام دهد.
به طور کلی هدف پیدا کردن کم هزینه ترین تور برای ملاقات همه شهرها و بازگشت به شهر آغازین حرکت است. مساله فروشنده دوره گرد در شکل ساده و اختصاری با نام TSP شناخته میشود. شکل زیر یک نمونه جواب از مساله فروشنده دوره گرد که در سال ۱۵۹۱ برای ۱۵ شهر از کشور آمریکا مطرح شد را نشان میدهد که با روش شاخه وحد حل شد.
در این قسمت الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون آماده شده است این سورس کد شامل ۳ فایل میباشد و یک فولدر برای با سه فایل برای مختصات شهرها در نظر گرته شده است که عبارتند از:
import math from aco import ACO, Graph from plot import plot def distance(city1: dict, city2: dict): return math.sqrt((city1['x'] - city2['x']) ** 2 + (city1['y'] - city2['y']) ** 2) def main(): cities = [] points = [] with open('./data/chn144.txt') as f: for line in f.readlines(): city = line.split(' ') cities.append(dict(index=int(city[0]), x=int(city[1]), y=int(city[2]))) points.append((int(city[1]), int(city[2]))) cost_matrix = [] rank = len(cities) for i in range(rank): row = [] for j in range(rank): row.append(distance(cities[i], cities[j])) cost_matrix.append(row) aco = ACO(10, 100, 1.0, 10.0, 0.5, 10, 2) graph = Graph(cost_matrix, rank) path, cost = aco.solve(graph) print('cost: {}, path: {}'.format(cost, path)) plot(points, path) if __name__ == '__main__': main()
قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیجهای مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیجهای استفاده شده در این سورس کد numpy و matplotlib میباشد که اولی پکیج مربوط به استفاده از آرایهها و ماتریسها در پایتون و دومی مربوط به عملیاتهای نموداری و Plot گرفتن میباشد. پیشنهاد ما نصب اسپایدر (Spyder (Python 3.7 میباشد که هم پایتون و پکیجهای مختلف و هم IDEهای مختلفی را همراه با امکان آپدیتشان نصب میکند.
سورس کد الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون Python عنوان اثری است که در این پست به آن پرداخته شده است. اثر در پایتون و با IDE اسپایدر (Spyder (Python 3.8 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری کنید.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | پایتون Python |
ویژگی: | قابل دانلود و ویرایش |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۲۳۰,۰۰۰ تومان قیمت اصلی: ۲۳۰,۰۰۰ تومان بود.۹۲,۰۰۰ تومانقیمت فعلی: ۹۲,۰۰۰ تومان.
نظرات
mehdi.farzamiani
عالی بود واقعا مرسی
سارا
سلام. من اینو بخرم عین ویدیو اجرا میشه؟
فاطمه اسماعیلی
سلام دوست عزیز.
بله میتونید به راحتی سورس کد رو با نرم افزار اسپایدر اجرا کنید.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.