ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳು (GA) ಎಂಬವು AI ಗೆ ಸಂಬಂಧಿಸಿದ ವಿಕಾಸಾತ್ಮಕ ವಿಧಾನ ಆಧಾರಿತವಾಗಿದ್ದು, ಜನಸಂಖ್ಯೆಯ ವಿಕಾಸದ ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೀಡಲಾದ ಸಮಸ್ಯೆಗೆ ಅತ್ಯುತ್ತಮ ಪರಿಹಾರವನ್ನು ಪಡೆಯಲು ಪ್ರಯತ್ನಿಸುತ್ತವೆ. ಇವು 1975 ರಲ್ಲಿ ಜಾನ್ ಹೆನ್ರಿ ಹೋಲ್ಯಾಂಡ್ ಅವರು ಪ್ರಸ್ತಾಪಿಸಿದರು.
ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳು ಕೆಳಗಿನ ಆಲೋಚನೆಗಳ ಮೇಲೆ ಆಧಾರಿತವಾಗಿವೆ:
- ಸಮಸ್ಯೆಗೆ ಮಾನ್ಯವಾದ ಪರಿಹಾರಗಳನ್ನು ಜೀನ್ಸ್ ಆಗಿ ಪ್ರತಿನಿಧಿಸಬಹುದು
- ಕ್ರಾಸ್ಓವರ್ ಮೂಲಕ ಎರಡು ಪರಿಹಾರಗಳನ್ನು ಸೇರಿಸಿ ಹೊಸ ಮಾನ್ಯ ಪರಿಹಾರವನ್ನು ಪಡೆಯಬಹುದು
- ಆಯ್ಕೆ ಮೂಲಕ ಕೆಲವು ಫಿಟ್ನೆಸ್ ಫಂಕ್ಷನ್ ಬಳಸಿ ಹೆಚ್ಚು ಉತ್ತಮ ಪರಿಹಾರಗಳನ್ನು ಆರಿಸಬಹುದು
- ಮ್ಯೂಟೇಶನ್ಗಳು ಪರಿಹಾರವನ್ನು ಅಸ್ಥಿರಗೊಳಿಸಲು ಮತ್ತು ಸ್ಥಳೀಯ ಕನಿಷ್ಠದಿಂದ ಹೊರಬರುವಂತೆ ಮಾಡುತ್ತವೆ
ನೀವು ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಬಯಸಿದರೆ, ನಿಮಗೆ ಕೆಳಗಿನವು ಬೇಕಾಗುತ್ತದೆ:
- ನಮ್ಮ ಸಮಸ್ಯೆಯ ಪರಿಹಾರಗಳನ್ನು ಜೀನ್ಸ್ g∈Γ ಬಳಸಿ ಕೋಡಿಂಗ್ ಮಾಡುವ ವಿಧಾನವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು
- ಜೀನ್ಸ್ Γ ಸೆಟ್ ಮೇಲೆ ಫಿಟ್ನೆಸ್ ಫಂಕ್ಷನ್ fit: Γ→R ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು. ಕಡಿಮೆ ಮೌಲ್ಯಗಳು ಉತ್ತಮ ಪರಿಹಾರಗಳಿಗೆ ಸೂಚನೆ.
- ಎರಡು ಜೀನ್ಸ್ ಅನ್ನು ಸೇರಿಸಿ ಹೊಸ ಮಾನ್ಯ ಪರಿಹಾರ ಪಡೆಯಲು ಕ್ರಾಸ್ಓವರ್ ವಿಧಾನ crossover: Γ2→Γ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು.
- ಮ್ಯೂಟೇಶನ್ ವಿಧಾನ mutate: Γ→Γ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು.
ಬಹುತೆಕ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಕ್ರಾಸ್ಓವರ್ ಮತ್ತು ಮ್ಯೂಟೇಶನ್ ಸರಳ ಆಲ್ಗಾರಿದಮ್ಗಳಾಗಿದ್ದು, ಜೀನ್ಸ್ ಅನ್ನು ಸಂಖ್ಯಾತ್ಮಕ ಸರಣಿಗಳಾಗಿಯೂ ಅಥವಾ ಬಿಟ್ ವೆಕ್ಟರ್ಗಳಾಗಿಯೂ ನಿರ್ವಹಿಸುತ್ತವೆ.
ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ನ ವಿಶೇಷ ಅನುಷ್ಠಾನವು ಪ್ರಕರಣದಿಂದ ಪ್ರಕರಣಕ್ಕೆ ಬದಲಾಗಬಹುದು, ಆದರೆ ಒಟ್ಟು ರಚನೆ ಹೀಗಿದೆ:
- ಪ್ರಾಥಮಿಕ ಜನಸಂಖ್ಯೆ G⊂Γ ಆಯ್ಕೆಮಾಡಿ
- ಈ ಹಂತದಲ್ಲಿ ನಡೆಯುವ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಆಯ್ಕೆಮಾಡಿ: ಕ್ರಾಸ್ಓವರ್ ಅಥವಾ ಮ್ಯೂಟೇಶನ್
- ಕ್ರಾಸ್ಓವರ್:
- ಯಾದೃಚ್ಛಿಕವಾಗಿ ಎರಡು ಜೀನ್ಸ್ g1, g2 ∈ G ಆಯ್ಕೆಮಾಡಿ
- ಕ್ರಾಸ್ಓವರ್ ಲೆಕ್ಕಿಸಿ g=crossover(g1,g2)
- fit(g)<fit(g1) ಅಥವಾ fit(g)<fit(g2) ಆಗಿದ್ದರೆ - ಜನಸಂಖ್ಯೆಯಲ್ಲಿನ ಸಂಬಂಧಿತ ಜೀನ್ ಅನ್ನು g ಮೂಲಕ ಬದಲಾಯಿಸಿ.
- ಮ್ಯೂಟೇಶನ್ - ಯಾದೃಚ್ಛಿಕ ಜೀನ್ g∈G ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಅದನ್ನು mutate(g) ಮೂಲಕ ಬದಲಾಯಿಸಿ
- ಹಂತ 2 ರಿಂದ ಪುನರಾವರ್ತಿಸಿ, fit ಮೌಲ್ಯವು ಸಾಕಷ್ಟು ಕಡಿಮೆ ಆಗುವವರೆಗೆ ಅಥವಾ ಹಂತಗಳ ಗಡಿಯನ್ನು ತಲುಪುವವರೆಗೆ.
ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳಿಂದ ಸಾಮಾನ್ಯವಾಗಿ ಪರಿಹರಿಸಲಾಗುವ ಕಾರ್ಯಗಳು:
- ವೇಳಾಪಟ್ಟಿ ಸುಧಾರಣೆ
- ಅತ್ಯುತ್ತಮ ಪ್ಯಾಕಿಂಗ್
- ಅತ್ಯುತ್ತಮ ಕತ್ತರಿಸುವಿಕೆ
- ಸಂಪೂರ್ಣ ಹುಡುಕಾಟವನ್ನು ವೇಗಗೊಳಿಸುವುದು
ಕೆಳಗಿನ ನೋಟ್ಬುಕ್ಗಳಲ್ಲಿ ನಿಮ್ಮ ಅಧ್ಯಯನವನ್ನು ಮುಂದುವರಿಸಿ:
ಈ ನೋಟ್ಬುಕ್ ಗೆ ಹೋಗಿ ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳ ಬಳಕೆಯ ಎರಡು ಉದಾಹರಣೆಗಳನ್ನು ನೋಡಿ:
- ಖಜಾನೆ ನ್ಯಾಯವಾದ ಹಂಚಿಕೆ
- 8 ರಾಣಿ ಸಮಸ್ಯೆ
ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳು ಲಾಜಿಸ್ಟಿಕ್ಸ್ ಮತ್ತು ಹುಡುಕಾಟ ಸಮಸ್ಯೆಗಳನ್ನು ಸೇರಿದಂತೆ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಬಳಸಲಾಗುತ್ತವೆ. ಈ ಕ್ಷೇತ್ರವು ಮನೋವಿಜ್ಞಾನ ಮತ್ತು ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ ವಿಷಯಗಳನ್ನು ಸಂಯೋಜಿಸಿದ ಸಂಶೋಧನೆಯಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ.
"ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳು ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಸರಳವಾಗಿವೆ, ಆದರೆ ಅವುಗಳ ವರ್ತನೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕಷ್ಟಕರವಾಗಿದೆ." ಮೂಲ Sudoku ಪಜಲ್ ಪರಿಹರಿಸುವಂತಹ ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ನ ಒಂದು ಅನುಷ್ಠಾನವನ್ನು ಹುಡುಕಿ, ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಸ್ಕೆಚ್ ಅಥವಾ ಫ್ಲೋಚಾರ್ಟ್ ರೂಪದಲ್ಲಿ ವಿವರಿಸಿ.
ಈ ಅದ್ಭುತ ವೀಡಿಯೋ ನೋಡಿ, ಇದು ಜನಿತಿಕ ಆಲ್ಗಾರಿದಮ್ಗಳಿಂದ ತರಬೇತಿಗೊಂಡ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ಗಳ ಮೂಲಕ ಕಂಪ್ಯೂಟರ್ ಹೇಗೆ ಸೂಪರ್ ಮಾರಿಯೋ ಆಟವನ್ನು ಕಲಿಯಬಹುದು ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ನಾವು ಇಂತಹ ಆಟಗಳನ್ನು ಕಂಪ್ಯೂಟರ್ ಹೇಗೆ ಕಲಿಯುತ್ತದೆ ಎಂಬುದನ್ನು ಮುಂದಿನ ವಿಭಾಗದಲ್ಲಿ ಹೆಚ್ಚು ತಿಳಿದುಕೊಳ್ಳಲಿದ್ದೇವೆ.
ನಿಮ್ಮ ಗುರಿ ಎಂದರೆ ಡಯೋಫಾಂಟೈನ್ ಸಮೀಕರಣ ಅನ್ನು ಪರಿಹರಿಸುವುದು - ಪೂರ್ಣಾಂಕ ಮೂಲಗಳೊಂದಿಗೆ ಸಮೀಕರಣ. ಉದಾಹರಣೆಗೆ, a+2b+3c+4d=30 ಎಂಬ ಸಮೀಕರಣವನ್ನು ಪರಿಗಣಿಸಿ. ಈ ಸಮೀಕರಣವನ್ನು ತೃಪ್ತಿಪಡಿಸುವ ಪೂರ್ಣಾಂಕ ಮೂಲಗಳನ್ನು ನೀವು ಕಂಡುಹಿಡಿಯಬೇಕು.
ಈ ಕಾರ್ಯವನ್ನು ಪ್ರೇರೇಪಿಸಿದ ಮೂಲ ಈ ಪೋಸ್ಟ್ ಆಗಿದೆ.
ಸೂಚನೆಗಳು:
- ಮೂಲಗಳನ್ನು [0;30] ನಡುವಿನ ಅಂತರದಲ್ಲಿ ಪರಿಗಣಿಸಬಹುದು
- ಜೀನ್ ಆಗಿ ಮೂಲ ಮೌಲ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು ಬಳಸಬಹುದು
ಆರಂಭಿಕವಾಗಿ Diophantine.ipynb ಅನ್ನು ಬಳಸಿ.
ಅಸ್ವೀಕರಣ:
ಈ ದಸ್ತಾವೇಜು Co-op Translator ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯತ್ತ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.