อัลกอริทึมของ Cloud Search เป็นวิธีการค้นหาที่เกี่ยวข้องกับการสร้างโซลูชันแบบสุ่มชุดใหญ่ ซึ่งมักเรียกว่า "คลาวด์" จากนั้นจึงค้นหาโซลูชันที่ดีที่สุดในชุดนี้ วิธีการนี้มักใช้เพื่อค้นหาวิธีแก้ไขโดยประมาณสำหรับปัญหาที่ซับซ้อนเมื่อไม่มีคำแนะนำเฉพาะ
มันทำงานอย่างไร
- การเริ่มต้นระบบคลาวด์: สร้างโซลูชันแบบสุ่มชุดใหญ่(ระบบคลาวด์)
- การประเมิน: ประเมินคุณภาพของแต่ละโซลูชันในระบบคลาวด์ตามฟังก์ชันวัตถุประสงค์หรือเกณฑ์การประเมิน
- การเลือก: เลือกส่วนย่อยของโซลูชันที่ดีที่สุดจากระบบคลาวด์ตามความน่าจะเป็นหรือเกณฑ์การคัดเลือก
- การปรับปรุง: ปรับปรุงคุณภาพของโซลูชันในระบบคลาวด์โดยใช้การแปลงหรือการเพิ่มประสิทธิภาพ
- การวนซ้ำ: ทำซ้ำขั้นตอนที่ 2 ถึง 4 จนกว่าจะได้ผลลัพธ์ที่น่าพอใจหรือถึงจำนวนการวนซ้ำที่กำหนดไว้ล่วงหน้า
ตัวอย่าง: Cloud Search สำหรับปัญหาพนักงานขายที่เดินทาง
พิจารณาปัญหาพนักงานขายเดินทาง(TSP) ซึ่งเป้าหมายคือการหาวงจร Hamiltonian ที่สั้นที่สุดที่เยี่ยมชมทุกเมือง วิธีการค้นหาบนคลาวด์สามารถสร้างรอบแฮมิลตันแบบสุ่มจำนวนมาก จากนั้นเลือกรอบที่มีต้นทุนต่ำที่สุด
ตัวอย่างโค้ดในภาษา C++
ในตัวอย่างนี้ เราใช้วิธี Cloud Search เพื่อแก้ปัญหา TSP เราสร้างวงจร Hamiltonian แบบสุ่มจำนวนมากโดยการสุ่มเมืองแบบสุ่ม จากนั้นคำนวณค่าใช้จ่ายสำหรับแต่ละรอบและเลือกรอบที่มีค่าใช้จ่ายต่ำที่สุด