# జనెటిక్ అల్గోరిథమ్స్ ## [పూర్వ-లెక్చర్ క్విజ్](https://ff-quizzes.netlify.app/en/ai/quiz/41) **జనెటిక్ అల్గోరిథమ్స్** (GA) అనేవి AIకి సంబంధించిన **ఎవల్యూషనరీ పద్ధతిపై** ఆధారపడి ఉంటాయి, ఇందులో ఒక జనాభా యొక్క అభివృద్ధి పద్ధతులను ఉపయోగించి ఒక నిర్దిష్ట సమస్యకు ఉత్తమ పరిష్కారాన్ని పొందుతారు. ఇవి 1975లో [జాన్ హెన్రీ హోలాండ్](https://wikipedia.org/wiki/John_Henry_Holland) ప్రతిపాదించారు. జనెటిక్ అల్గోరిథమ్స్ ఈ క్రింది ఆలోచనలపై ఆధారపడి ఉంటాయి: * సమస్యకు సరైన పరిష్కారాలను **జీన్స్** రూపంలో ప్రాతినిధ్యం వహించవచ్చు * **క్రాసోవర్** ద్వారా రెండు పరిష్కారాలను కలిపి కొత్త సరైన పరిష్కారాన్ని పొందవచ్చు * **సెలెక్షన్** ద్వారా కొన్ని **ఫిట్‌నెస్ ఫంక్షన్** ఉపయోగించి ఉత్తమ పరిష్కారాలను ఎంచుకుంటారు * **మ్యూటేషన్స్** పరిష్కారాన్ని స్థిరంగా ఉండకుండా చేసి స్థానిక కనిష్టం నుండి బయటపడేందుకు ఉపయోగిస్తారు మీరు జనెటిక్ అల్గోరిథమ్ అమలు చేయాలనుకుంటే, ఈ క్రింది అంశాలు అవసరం: * సమస్య పరిష్కారాలను **జీన్స్** g∈Γ రూపంలో కోడింగ్ చేసే పద్ధతిని కనుగొనాలి * జీన్స్ సెట్ Γ పై **ఫిట్‌నెస్ ఫంక్షన్** fit: Γ→**R** నిర్వచించాలి. చిన్న ఫంక్షన్ విలువలు మెరుగైన పరిష్కారాలను సూచిస్తాయి. * రెండు జీన్స్ కలిపి కొత్త సరైన పరిష్కారాన్ని పొందేందుకు **క్రాసోవర్** పద్ధతిని నిర్వచించాలి crossover: Γ2→Γ. * **మ్యూటేషన్** పద్ధతిని నిర్వచించాలి mutate: Γ→Γ. చాలా సందర్భాల్లో, క్రాసోవర్ మరియు మ్యూటేషన్ అనేవి జీన్స్‌ను సంఖ్యా శ్రేణులు లేదా బిట్ వెక్టర్లుగా సులభంగా నిర్వహించే అల్గోరిథమ్స్ ఉంటాయి. జనెటిక్ అల్గోరిథమ్ యొక్క ప్రత్యేక అమలు సందర్భం ప్రకారం మారవచ్చు, కానీ మొత్తం నిర్మాణం ఇలా ఉంటుంది: 1. ప్రారంభ జనాభా G⊂Γ ఎంచుకోండి 2. ఈ దశలో అమలు చేయాల్సిన ఆపరేషన్‌ను యాదృచ్ఛికంగా ఎంచుకోండి: క్రాసోవర్ లేదా మ్యూటేషన్ 3. **క్రాసోవర్**: * యాదృచ్ఛికంగా రెండు జీన్స్ g1, g2 ∈ G ఎంచుకోండి * క్రాసోవర్ గణన చేయండి g=crossover(g1,g2) * fit(g)1) లేదా fit(g)2) అయితే - జనాభాలో సంబంధిత జీన్‌ను gతో మార్చండి. 4. **మ్యూటేషన్** - యాదృచ్ఛిక జీన్ g∈G ఎంచుకుని దాన్ని mutate(g)తో మార్చండి 5. దశ 2 నుండి పునరావృతం చేయండి, fit విలువ తగినంత చిన్నదైనంతవరకు లేదా దశల పరిమితి చేరేవరకు. ## సాధారణ పనులు జనెటిక్ అల్గోరిథమ్స్ సాధారణంగా పరిష్కరించే పనులు: 1. షెడ్యూల్ ఆప్టిమైజేషన్ 1. ఉత్తమ ప్యాకింగ్ 1. ఉత్తమ కటింగ్ 1. సమగ్ర శోధన వేగవంతం చేయడం ## ✍️ వ్యాయామాలు: జనెటిక్ అల్గోరిథమ్స్ క్రింది నోట్బుక్స్‌లో మీ అభ్యాసాన్ని కొనసాగించండి: [ఈ నోట్బుక్](Genetic.ipynb)కి వెళ్లి జనెటిక్ అల్గోరిథమ్స్ ఉపయోగించిన రెండు ఉదాహరణలను చూడండి: 1. నిధుల సమాన విభజన 1. 8 క్వీన్స్ సమస్య ## ముగింపు జనెటిక్ అల్గోరిథమ్స్ అనేక సమస్యలను, లాజిస్టిక్స్ మరియు శోధన సమస్యలను పరిష్కరించడానికి ఉపయోగిస్తారు. ఈ రంగం మానసిక శాస్త్రం మరియు కంప్యూటర్ సైన్స్ అంశాలను కలిపిన పరిశోధనల ద్వారా ప్రేరణ పొందింది. ## 🚀 సవాలు "జనెటిక్ అల్గోరిథమ్స్ అమలు చేయడం సులభం, కానీ వాటి ప్రవర్తన అర్థం చేసుకోవడం కష్టం." [source](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. జీన్‌గా, మూల విలువల జాబితాను ఉపయోగించండి ప్రారంభ బిందువుగా [Diophantine.ipynb](Diophantine.ipynb) ఉపయోగించండి. --- **అస్పష్టత**: ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారుల కోసం మేము బాధ్యత వహించము.