الگوریتم چکه آب‌های هوشمند

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

الگوریتم چکه آب‌های هوشمند یا چکاه (به انگلیسی: Intelligent Water Drops)، یک الگوریتم برای بهینه‌سازی هوش گروهی است.[۱] الگوریتم چکاه، الگوریتمی است که به گونه گروهی کار می‌کند و پرهام-گرا (طبیعت-گرا) می‌باشد. این الگوریتم در نهاد برای بهینه‌سازی آمیختاری (Combinatorial optimization) به کار برده می‌شود ولی می‌توان آن را برای بهینه‌سازی پیوسته (Continuous optimization) نیز آماده ساخت. این الگوریتم نخستین بار در سال ۲۰۰۷ میلادی، برابر ۱۳۸۶ خورشیدی برای یافتن گشایش و راه حل برای مساله (پرسمان) فروشنده دوره‌گرد پیشنهاد شد.[۲] از آن پس، شماری از پژوهشگران در پی بهبود و به کار بستن این الگوریتم برای مشکل‌ها و مساله‌های گوناگون بوده‌اند.

آشنایی[ویرایش]

کم و بیش، هر الگوریتم چکاه از دو پاره درست شده است: یک گرافی که نقش یک حافظه گسترده (distributed memory) را بازی می‌کند که بر روی آن خاک‌های لبه‌ها نگهداری می‌شود. پاره دیگر، که چندین چکه آب هوشمند (چکاه‌ها) هستند که روی لبه‌ها می شارند و از گره‌ای از گراف به گره‌ای دیگر می‌روند و با این کار خاک لبه‌های گذر کرده را دگرگون کرده و کمی به خاک در خود دارنده می‌افزایند. این چکاه‌ها با همکاری و همچنین رقیبگری کاری می‌کنند تا گشایش‌های بهتری بیابند. این کار با دگرگونی خاک‌های روی گراف به گونه‌ای پیش می‌رود که گشایش‌های بهتر دسترس پذیرتر شوند. می دانیم که الگوریتم چکاه دست کم نیاز به دو چکاه دارد تا بتواند کار کند.

شبه-کد (pseudo-code)[ویرایش]

الگوریتم IWD دارای دو گونه پارامتر هست: پارامترهای ایستا (static) و پویا (dynamic). پارامترهای ایستا در هنگام پردازش الگوریتم IWD، پایا (constant) هستند. پارامترهای پویا پس از هر بار تکرار الگوریتم، مقداردهی اولیه می‌شوند. میتوان شبه-کد یک الگوریتم چکاه-پایه را در هشت گام زیر بیان کرد:

1) مقداردهی اولیه‌ی پارامترهای ایستا
الف. بازنشانی مسئله در قالب یک گراف
ب. مقدار‌دهی برای پارامترهای ایستا
2) مقداردهی اولیه‌ی پارامترهای پویا: سرعت و خاک چکاه‌ها
3) پخش کردن چکاه ها روی گراف مسئله
4) ساخت راه‌حل با چکاه‌ها به همراه به روزکردن سرعت و خاک
الف. به‌روزرسانی محلی خاک در گراف
ب. به‌روزرسانی سرعت و خاک روی چکاه‌ها
5) جستجوی محلی روی هر راه‌حل چکاه(این گام دلخواه هست)
6) به‌روزکردن خاک سراسری
7) به‌روزکردن بهترین راه‌حل کلی
8) به گام ۲ برو ا زمانی‌که شرط خاتمه ارضا شود

کاربردها[ویرایش]

برخی از کاربردهایی که با الگوریتم‌های چکاه-پایه پیاده‌سازی شده‌اند در زیر آورده شده‌اند:

جستارهای وابسته[ویرایش]

منابع (فرگاه‌ها)[ویرایش]

  1. Shah-Hosseini, H. (۲۰۰۹). "The intelligent water drops algorithm: a nature-inspired swarm-based optimization algorithm". International Journal of Bio-Inspired Computation ۱ (۱/۲): ۷۱–۷۹.  Check date values in: |date= (help)
  2. Shah-Hosseini, H. (۲۰۰۷). "Problem solving by intelligent water drops". Proceedings of the IEEE Congress on Evolutionary Computation: ۳۲۲۶–۳۲۳۱.  Check date values in: |date= (help)
  3. Shah-Hosseini, H. (۲۰۰۸). "Intelligent water drops algorithm: a new optimization method for solving the multiple knapsack problem". Int. Journal of Intelligent Computing and Cybernetics ۱ (۲): ۱۹۳–۲۱۲.  Check date values in: |date= (help)
  4. Duan, et al. (۲۰۰۹). "Novel intelligent water drops optimization approach to single UCAV smooth path planning". Aerospace Science and Technology ۱۳ (۸): ۴۴۲–۴۴۹.  Check date values in: |date= (help)
  5. Kamkar, et al. (۲۰۱۰). "Intelligent water drops a new optimization algorithm for solving the Vehicle Routing Problem". IEEE International Conference on Systems, Man and Cybernetics: ۴۱۴۲–۴۱۴۶.  Check date values in: |date= (help)
  6. Fan, et al. (۲۰۱۰). "The Intelligent-Water-Drop Based Routing algorithm for MANET". Int. Conf. on Future Information Technology: ۲۵۳–۲۵۵.  Check date values in: |date= (help)
  7. Rayapudi, S. R. (۲۰۱۱). "An intelligent water drop algorithm for economic load dispatch". International Journal of Electrical and Electronics Engineering ۵ (۱): ۴۳–۴۹.  Check date values in: |date= (help)
  8. Msallam, et al. (۲۰۱۱). "Improved intelligent water drops algorithm using adaptive schema". International Journal of Bio-Inspired Computation ۳ (۲): ۱۰۳–۱۱۱.  Check date values in: |date= (help)
  9. Hendrawan, et al. (۲۰۱۱). "Neural-Intelligent Water Drops algorithm to select relevant textural features for developing precision irrigation system using machine vision". Computers and Electronics in Agriculture ۷۷ (۲): ۲۱۴–۲۲۸.  Check date values in: |date= (help)
  10. Shah-Hosseini, H. (۲۰۱۲). "Intelligent Water Drops algorithm for automatic multilevel thresholding of gray-level images using a modified Otsu’s criterion". Int. J. of Modelling, Identification and Control ۱۵ (۴): ۲۴۱–۲۴۹.  Check date values in: |date= (help)
  11. Shah-Hosseini, H. (۲۰۱۲). "An approach to continuous optimization by the Intelligent Water Drops algorithm". Procedia - Social and Behavioral Sciences ۳۲: ۲۲۴–۲۲۹.  Check date values in: |date= (help)
  12. Niu, et al. (۲۰۱۲). "An improved Intelligent Water Drops algorithm for achieving optimal job-shop scheduling solutions". International Journal of Production Research ۵۰ (۱۵): ۴۱۹۵–۴۲۰۵.  Check date values in: |date= (help)
  13. Noferesti, et al. (۲۰۱۲). "A Hybrid Algorithm for Solving Steiner Tree Problem". International Journal of Computer Applications ۴۱ (۵): ۱۴–۲۰.  Check date values in: |date= (help)
  14. al-Taani, et al. (۲۰۱۲). "SOLVING THE MAXIMUM CLIQUE PROBLEM USING INTELLIGENT WATER DROPS ALGORITHM". The International Conference on Computing, Networking and Digital Technologies (ICCNDT2012): ۱۴۲–۱۵۱.  Check date values in: |date= (help)
  15. Hoang, et al. (۲۰۱۲). "Optimal data aggregation tree in wireless sensor networks based on intelligent water drops algorithm". IET Wireless Sensor Systems ۲ (۳): ۲۸۲–۲۹۲.  Check date values in: |date= (help)
  16. Srivastava, et al. (۲۰۱۲). "Test Data Generation Based on Test Path Discovery Using Intelligent Water Drop". International journal of applied metaheuristic computing ۳ (۲).  Check date values in: |date= (help)
  17. agarwal, et al. (۲۰۱۲). "Code coverage using intelligent water drop (IWD)". International Journal of Bio-Inspired Computation ۴ (۶): ۳۹۲–۴۰۲.  Check date values in: |date= (help)
  18. Luangpaiboon, P. (۲۰۱۲). "Optimisation of Manufacturing Process Models via Intelligent Water Drop Algorithm". Applied Mechanics and Materials. ۲۱۷-۲۱۹: ۱۵۰۱–۱۵۰۵.  Check date values in: |date= (help)
  19. Khaleel, et al. (۲۰۱۳). "Using intelligent water drops algorithm for optimisation routing protocol in mobile ad–hoc networks". International Journal of Reasoning-based Intelligent Systems ۴ (۴): ۲۲۷–۲۳۴.  Check date values in: |date= (help)
  20. Alijla, et al. (۲۰۱۳). "Intelligent Water Drops Algorithm for Rough Set Feature Selection". Intelligent Information and Database systems ۷۸۰۳: ۳۵۶–۳۶۵.  Check date values in: |date= (help)

پیوند به بیرون[ویرایش]

  • [۱] شناسه چشمه (source code) برای الگوریتم چکاه فروشنده دوره گرد با زبان #C
  • [۲] دیمه‌ای برای نظرجویی همگانی