# ஜெனடிக் அல்காரிதங்கள் ## [முன்-வகுப்பு வினாடி வினா](https://ff-quizzes.netlify.app/en/ai/quiz/41) **ஜெனடிக் அல்காரிதங்கள்** (GA) என்பது AI-யின் **உயிரியல் முறையின்** அடிப்படையில் உருவாக்கப்பட்டவை. இதில் ஒரு பிரச்சினைக்கு சிறந்த தீர்வை பெற மக்கள் தொகையின் பரிணாம முறைகள் பயன்படுத்தப்படுகின்றன. இவை 1975-ல் [ஜான் ஹென்றி ஹாலண்ட்](https://wikipedia.org/wiki/John_Henry_Holland) மூலம் முன்மொழியப்பட்டன. ஜெனடிக் அல்காரிதங்கள் பின்வரும் கருத்துக்களை அடிப்படையாகக் கொண்டவை: * பிரச்சினைக்கு செல்லுபடியாகும் தீர்வுகளை **genes** ஆகக் குறிக்கலாம் * **Crossover** மூலம் இரண்டு தீர்வுகளை இணைத்து புதிய செல்லுபடியாகும் தீர்வை பெறலாம் * **Selection** மூலம் **fitness function** பயன்படுத்தி சிறந்த தீர்வுகளைத் தேர்ந்தெடுக்கலாம் * **Mutations** மூலம் உள்ளூர் குறைந்தபட்சத்திலிருந்து வெளியேறி ஆப்டிமைசேஷனை சீர்குலைக்கலாம் ஜெனடிக் அல்காரிதத்தை செயல்படுத்த விரும்பினால், உங்களுக்கு பின்வருவன தேவை: * **genes** g∈Γ மூலம் பிரச்சினை தீர்வுகளை குறிக்க ஒரு முறை கண்டுபிடிக்க வேண்டும் * genes Γ தொகுப்பில் **fitness function** fit: Γ→**R** வரையறுக்க வேண்டும். சிறிய செயல்பாட்டு மதிப்புகள் சிறந்த தீர்வுகளை குறிக்கின்றன. * இரண்டு genes-ஐ இணைத்து புதிய செல்லுபடியாகும் தீர்வை பெற **crossover** முறை வரையறுக்க வேண்டும் crossover: Γ2→Γ. * **mutation** முறை வரையறுக்க வேண்டும் mutate: Γ→Γ. பல சந்தர்ப்பங்களில், crossover மற்றும் mutation என்பது genes-ஐ எண் வரிசைகள் அல்லது பிட் வெக்டர்களாக மாற்றுவதற்கான எளிய அல்காரிதமாக இருக்கும். ஜெனடிக் அல்காரிதத்தின் குறிப்பிட்ட செயல்பாடு வழக்கில் இருந்து வழக்குக்கு மாறுபடும், ஆனால் அதன் மொத்த அமைப்பு பின்வருமாறு இருக்கும்: 1. ஆரம்ப மக்கள் தொகை G⊂Γ தேர்ந்தெடுக்கவும் 2. இந்த படியில் செய்யப்படும் செயல்பாடுகளை (crossover அல்லது mutation) சீரற்ற முறையில் தேர்ந்தெடுக்கவும் 3. **Crossover**: * சீரற்ற முறையில் இரண்டு genes g1, g2 ∈ G தேர்ந்தெடுக்கவும் * crossover g=crossover(g1,g2) கணக்கிடவும் * fit(g)1) அல்லது fit(g)2) என்றால் - g-ஐ மக்கள் தொகையில் உள்ள தொடர்புடைய gene-ஐ மாற்றவும். 4. **Mutation** - சீரற்ற gene g∈G தேர்ந்தெடுத்து mutate(g) மூலம் மாற்றவும் 5. fit மதிப்பு போதுமான அளவு குறைவாக வரும் வரை அல்லது படிகளின் வரம்பு அடையப்படும் வரை படி 2-இல் இருந்து மீண்டும் செய்யவும். ## வழக்கமான பணிகள் ஜெனடிக் அல்காரிதங்கள் மூலம் பொதுவாக தீர்க்கப்படும் பணிகள்: 1. அட்டவணை ஆப்டிமைசேஷன் 1. சிறந்த பொருத்து 1. சிறந்த வெட்டு 1. முழுமையான தேடலை வேகமாக்குதல் ## ✍️ பயிற்சிகள்: ஜெனடிக் அல்காரிதங்கள் பின்வரும் நோட்புக்குகளில் உங்கள் கற்றலை தொடரவும்: [இந்த நோட்புக்கிற்கு](Genetic.ipynb) செல்லவும், ஜெனடிக் அல்காரிதங்களைப் பயன்படுத்தும் இரண்டு உதாரணங்களைப் பார்க்க: 1. பொருள்களை நியாயமாகப் பகிர்வு 1. 8 குயின்ஸ் பிரச்சினை ## முடிவு ஜெனடிக் அல்காரிதங்கள் பல பிரச்சினைகளைத் தீர்க்க பயன்படுத்தப்படுகின்றன, இதில் லாஜிஸ்டிக்ஸ் மற்றும் தேடல் பிரச்சினைகள் அடங்கும். இந்த துறை உளவியல் மற்றும் கணினி அறிவியல் தலைப்புகளை இணைத்த ஆராய்ச்சியால் ஊக்கமளிக்கப்பட்டது. ## 🚀 சவால் "ஜெனடிக் அல்காரிதங்களை செயல்படுத்த எளிது, ஆனால் அவற்றின் நடத்தை புரிந்து கொள்வது கடினம்." [மூலம்](https://wikipedia.org/wiki/Genetic_algorithm) ஜெனடிக் அல்காரிதத்தின் செயல்பாட்டை, உதாரணமாக சுடோகு புதிரைத் தீர்க்க, ஆராய்ச்சி செய்து, அது எப்படி செயல்படுகிறது என்பதை ஒரு வரைபடம் அல்லது ஓவியமாக விளக்கவும். ## [பின்-வகுப்பு வினாடி வினா](https://ff-quizzes.netlify.app/en/ai/quiz/42) ## மதிப்பீடு & சுய கற்றல் ஜெனடிக் அல்காரிதம் மூலம் நரம்பியல் வலைகளை பயிற்சி செய்து கணினி சூப்பர் மாரியோவை விளையாட கற்றுக்கொள்வது பற்றி பேசும் [இந்த சிறந்த வீடியோவை](https://www.youtube.com/watch?v=qv6UVOQ0F44) பாருங்கள். அப்படிப்பட்ட விளையாட்டுகளை கணினி கற்றுக்கொள்வது பற்றி [அடுத்த பிரிவில்](../22-DeepRL/README.md) மேலும் கற்றுக்கொள்வோம். ## [பணி: டயோபண்டைன் சமன்பாடு](Diophantine.ipynb) உங்கள் இலக்கு **டயோபண்டைன் சமன்பாடு** - முழு எண் வேர்களைக் கொண்ட சமன்பாட்டைத் தீர்க்க வேண்டும். உதாரணமாக, a+2b+3c+4d=30 என்ற சமன்பாட்டை எடுத்துக்கொள்ளுங்கள். இந்த சமன்பாட்டை பூர்த்தி செய்யும் முழு எண் வேர்களை நீங்கள் கண்டுபிடிக்க வேண்டும். *இந்த பணி [இந்த பதிவால்](https://habr.com/post/128704/) ஊக்கமளிக்கப்பட்டது.* குறிப்புகள்: 1. வேர்கள் [0;30] இடைவெளியில் இருக்கலாம் 1. gene ஆக வேர்களின் மதிப்புகளின் பட்டியலைப் பயன்படுத்தலாம் [Diophantine.ipynb](Diophantine.ipynb) ஐ தொடக்கமாகப் பயன்படுத்தவும். --- **குறிப்பு**: இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கின்றோம், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனத்தில் கொள்ளுங்கள். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.