C++ இல் உள்ள உள்ளூர் தேடல் (Local Search) அல்காரிதம்- விளக்கம், எடுத்துக்காட்டு மற்றும் குறியீடு

உள்ளூர் தேடல் அல்காரிதம் என்பது தற்போதைய நிலைக்கு அருகில் உள்ள ஒரு சிறந்த தீர்வைக் கண்டறிவதற்கான ஒரு முறையாகும். சிறந்த நிலைகளைக் கண்டறிய தனிப்பட்ட கூறுகளை மீண்டும் மீண்டும் மாற்றுவதன் மூலம் தோராயமான தீர்வுகளைச் செம்மைப்படுத்த இந்த நுட்பம் பெரும்பாலும் பயன்படுத்தப்படுகிறது.

எப்படி இது செயல்படுகிறது

  1. துவக்கம்: ஆரம்ப நிலையுடன் தொடங்கவும்.
  2. அண்டை நாடுகளை உருவாக்கு: தற்போதைய நிலையின் கூறுகளை மாற்றுவதன் மூலம் அண்டை மாநிலங்களை உருவாக்குங்கள்.
  3. மதிப்பீடு: ஒரு புறநிலை செயல்பாட்டைப் பயன்படுத்தி அண்டை மாநிலங்களின் தரத்தை மதிப்பிடுங்கள்.
  4. சிறந்த மாநிலத்தைத் தேர்ந்தெடுக்கவும்: சிறந்த புறநிலை மதிப்புடன் அண்டை மாநிலத்தைத் தேர்ந்தெடுக்கவும்.
  5. மீண்டும் செய்யவும்: சிறந்த அண்டை மாநிலம் எதுவும் கண்டுபிடிக்கப்படாத வரை 2 முதல் 4 படிகளை மீண்டும் செய்யவும்.

எடுத்துக்காட்டு: Fibonacci செயல்பாட்டை மேம்படுத்துதல்

F(0) = 0, F(1) = 1 உடன் F(x) = F(x-1) + F(x-2) செயல்பாட்டின் தேர்வுமுறை சிக்கலைக் கவனியுங்கள். Fibonacci எதற்காக x இன் மதிப்பைக் கண்டறிய விரும்புகிறோம் F(x) அதிகரிக்கப்பட்டது. ஒவ்வொரு படியிலிருந்தும் தொலைவில் மீண்டும் மீண்டும் ஆராய உள்ளூர் தேடல் அணுகுமுறையைப் பயன்படுத்தலாம்.

C++ இல் குறியீட்டு எடுத்துக்காட்டு

#include <iostream>  
  
int fibonacci(int n) {  
    if(n <= 0) return 0;  
    if(n == 1) return 1;  
    return fibonacci(n- 1) + fibonacci(n- 2);  
}  
  
int localSearchFibonacci(int maxIterations) {  
    int bestX = 0;  
    int bestValue = 0;  
  
    for(int x = 0; x < maxIterations; ++x) {  
        int value = fibonacci(x);  
        if(value > bestValue) {  
            bestValue = value;  
            bestX = x;  
        }  
    }  
  
    return bestX;  
}  
  
int main() {  
    int maxIterations = 20;  
    int result = localSearchFibonacci(maxIterations);  
  
    std::cout << "Optimal x for maximum Fibonacci value: " << result << std::endl;  
  
    return 0;  
}  

இந்த எடுத்துக்காட்டில், செயல்பாட்டை மேம்படுத்த உள்ளூர் தேடல் முறையைப் பயன்படுத்துகிறோம் Fibonacci. x இன் வெவ்வேறு மதிப்புகள் மூலம் மீண்டும் மீண்டும் ஒவ்வொரு x இல் உள்ள மதிப்பைக் கணக்கிடுகிறோம் Fibonacci. சிறந்த மதிப்பு கண்டறியப்பட்டால், சிறந்த மதிப்பையும் அதனுடன் தொடர்புடைய xஐயும் புதுப்பிப்போம்.