PHP இல் பரிணாம தேடல் (Evolutionary Search) அல்காரிதம்: எடுத்துக்காட்டுடன் விளக்கப்பட்டது

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

பரிணாம தேடல் அல்காரிதம் எவ்வாறு செயல்படுகிறது

பரிணாம தேடல் அல்காரிதம் ஆரம்ப "தனிநபர்களின்" தொகுப்பை உருவாக்குவதன் மூலம் தொடங்குகிறது, இது சாத்தியமான தீர்வுகளைக் குறிக்கிறது. புதிய தலைமுறை தனிநபர்களை உருவாக்க கிராஸ்ஓவர் மற்றும் பிறழ்வு போன்ற ஆபரேட்டர்களைப் பயன்படுத்துகிறது. ஒவ்வொரு தலைமுறையிலும் உள்ள தனிநபர்களின் உடற்தகுதி, தீர்வின் தரத்தை தீர்மானிக்க மதிப்பீட்டு செயல்பாட்டைப் பயன்படுத்தி மதிப்பீடு செய்யப்படுகிறது.

பரிணாம தேடல் அல்காரிதத்தின் நன்மைகள் மற்றும் தீமைகள்

நன்மைகள்:

  • இயற்கை உகப்பாக்கம் அணுகுமுறை: இந்த வழிமுறையானது சிறந்த தீர்வுகளைத் தேட இயற்கை பரிணாமத்திலிருந்து உத்வேகம் பெறுகிறது.
  • ஆய்வு மற்றும் உகப்பாக்கத்தின் கலவை: பரிணாம தேடல் அல்காரிதம் புதிய தீர்வுகளை ஆராய்வதற்கும் ஏற்கனவே உள்ளவற்றை மேம்படுத்துவதற்கும் திறனை ஒருங்கிணைக்கிறது.

தீமைகள்:

  • அளவுரு பரிசீலனை தேவை: பயனுள்ள செயல்பாட்டிற்கு, அல்காரிதம் கவனமாக டியூனிங் மற்றும் கிராஸ்ஓவர் மற்றும் பிறழ்வு விகிதங்கள் போன்ற அளவுருக்களை தேர்ந்தெடுக்க வேண்டும்.

எடுத்துக்காட்டு மற்றும் விளக்கம்

PHP ஐப் பயன்படுத்தி ஒரு முழு எண் வரிசையில் துணைவரிசையின் அதிகபட்ச தொடர்ச்சியான தொகையைக் கண்டறிய பரிணாம தேடல் அல்காரிதத்தைப் பயன்படுத்துவதற்கான உதாரணத்தைக் கவனியுங்கள்.

function evolutionarySearch($array, $numGenerations) {  
    $populationSize = count($array);  
    $population = $array;  
  
    for($generation = 0; $generation < $numGenerations; $generation++) {  
        $population = evolvePopulation($population);  
    }  
  
    return max($population);  
}  
  
function evolvePopulation($population) {  
    // Crossover and mutation operations here  
    // Return a new population  
}  
  
$array = array(1, -2, 3, 4, -5, 6);  
$numGenerations = 50;  
  
$maxSum = evolutionarySearch($array, $numGenerations);  
echo "Maximum contiguous sum found: $maxSum";  

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

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