A Cloud Search algoritmus egy olyan keresési módszer, amely véletlenszerű megoldások nagy halmazának létrehozását foglalja magában, amelyeket gyakran „felhőnek” is neveznek, majd megkeresik a legjobb megoldásokat ezen a halmazon belül. Ezt a megközelítést általában arra használják, hogy hozzávetőleges megoldásokat találjanak összetett problémákra, amikor nem áll rendelkezésre konkrét útmutatás.
Hogyan működik
- Felhő inicializálása: Véletlenszerű megoldások nagy halmazának létrehozása(a felhő).
- Értékelés: Értékelje a felhőben található egyes megoldások minőségét a célfüggvény vagy az értékelési kritériumok alapján.
- Kiválasztás: a valószínűségek vagy kiválasztási kritériumok alapján válassza ki a legjobb megoldások egy részét a felhőből.
- Javítás: Javítsa a megoldások minőségét a felhőben átalakítások vagy optimalizálások alkalmazásával.
- Iteráció: Ismételje meg a 2–4. lépéseket mindaddig, amíg el nem éri a kielégítő eredményt, vagy el nem éri az előre meghatározott számú iterációt.
Példa: Cloud Search az utazó értékesítő problémájára
Vegyük fontolóra az utazó értékesítő problémát(TSP), ahol a cél az, hogy megtaláljuk a legrövidebb hamiltoni ciklust, amely minden várost meglátogat. A Cloud Search módszerrel nagyszámú véletlenszerű Hamilton-ciklus generálható, majd kiválaszthatja a legalacsonyabb költségű ciklust.
Kódpélda C++ nyelven
Ebben a példában a Cloud Search módszert használjuk a TSP megoldására. A városok véletlenszerű összekeverésével nagyszámú véletlenszerű Hamilton-ciklust generálunk, majd kiszámítjuk minden ciklus költségét, és kiválasztjuk a legalacsonyabb költségű ciklust.