ಅಲ್ಗಾರಿದಮ್ (Algorithm): ಅಮ್ಮನ ಸಾಂಬಾರ್ ರೆಸಿಪಿ
ನಮಸ್ಕಾರ ತಮ್ಮಾ, ಹೇಗಿದ್ದೀಯಾ? ಕಂಪ್ಯೂಟರ್ ಸೈನ್ಸ್ ಅಥವಾ ಐಟಿ ಸೇರಿಕೊಂಡ ಹೊಸತರಲ್ಲಿ ನಮಗೆಲ್ಲ ಅತಿ ಹೆಚ್ಚು ಕಾಡೋ ಒಂದು ಪದ ಅಂದ್ರೆ ಅದು 'ಅಲ್ಗಾರಿದಮ್'. ಈ ಪದ ಕೇಳಿದ ತಕ್ಷಣ ಯಾವುದೋ ದೊಡ್ಡ ಮ್ಯಾಥಮ್ಯಾಟಿಕಲ್ ಈಕ್ವೇಶನ್ ಇರಬೇಕು ಅಥವಾ ತಲೆ ಬುಡ ಇಲ್ಲದ ಲಾಜಿಕ್ ಇರಬೇಕು ಅಂತ ನಾವು ಬೆವತು ಹೋಗ್ತೀವಿ. ಆದ್ರೆ ಹಿರಿಯಣ್ಣನಾಗಿ ನಾನು ನಿನಗೆ ಹೇಳೋದಾದ್ರೆ, ಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನೋದು ನೀನು ಅಂದುಕೊಂಡಷ್ಟು ಭೂತ ಅಲ್ಲ. ತುಂಬಾ ಸಿಂಪಲ್ ಆಗಿ ಹೇಳ್ಬೇಕು ಅಂದ್ರೆ, ನಮ್ಮ ಅಮ್ಮ ಪ್ರತೀ ದಿನ ಮಾಡೋ ಸಾಂಬಾರ್ ರೆಸಿಪಿ ಇದೆಯಲ್ಲ, ಅದುವೇ ಜಗತ್ತಿನ ಬೆಸ್ಟ್ ಅಲ್ಗಾರಿದಮ್!
ಯೋಚನೆ ಮಾಡು ತಮ್ಮಾ, ಅಮ್ಮ ಸಾಂಬಾರ್ ಮಾಡುವಾಗ ಸುಮ್ಮನೆ ಹತ್ತಾರು ಐಟಂ ತಗೊಂಡು ಪಾತ್ರೆಗೆ ಹಾಕಿಬಿಡಲ್ಲ ಅಲ್ವಾ? ಅದಕ್ಕೊಂದು ಕ್ರಮ ಇದೆ. ಮೊದಲು ಬೇಳೆ ಬೇಯಿಸಬೇಕು, ಆಮೇಲೆ ತರಕಾರಿ ಹಾಕಬೇಕು, ಆಮೇಲೆ ಸಾಂಬಾರ್ ಪುಡಿ ಸೇರಿಸಬೇಕು, ಕೊನೆಯಲ್ಲಿ ಒಗ್ಗರಣೆ ಹಾಕಬೇಕು. ಈ ಸ್ಟೆಪ್-ಬೈ-ಸ್ಟೆಪ್ ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಏನಿದೆ ನೋಡು, ಇದನ್ನೇ ಸಾಫ್ಟ್ವೇರ್ ಭಾಷೆಯಲ್ಲಿ ಅಲ್ಗಾರಿದಮ್ ಅಂತಾರೆ. ನೀನು ಒಗ್ಗರಣೆ ಮೊದಲು ಹಾಕಿ, ಆಮೇಲೆ ಎರಡು ಗಂಟೆ ಬೇಳೆ ಬೇಯಿಸಿದ್ರೆ ಅದು ಸಾಂಬಾರ್ ಆಗಲ್ಲ, ಬದಲಿಗೆ ಏನೋ ಒಂದು ಗಲೀಜು ಐಟಂ ಆಗುತ್ತೆ. ಅಂದ್ರೆ, ಒಂದು ಕೆಲಸವನ್ನ ಪರ್ಫೆಕ್ಟ್ ಆಗಿ ಮುಗಿಸೋಕೆ ನಾವು ಅನುಸರಿಸೋ ಹಂತಗಳೇ ಅಲ್ಗಾರಿದಮ್.
ಕಂಪ್ಯೂಟರ್ ಲೋಕದಲ್ಲೂ ಅಷ್ಟೇ, ನೀನು ಒಂದು ಆಪ್ ಮಾಡ್ತೀಯಾ ಅಂದ್ರೆ ಅದು ಏನು ಕೆಲಸ ಮಾಡಬೇಕು ಅಂತ ನೀನು ಸ್ಟೆಪ್ ಬೈ ಸ್ಟೆಪ್ ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಕೊಡಬೇಕು. ಈ ಇನ್ಸ್ಟ್ರಕ್ಷನ್ಗಳು ಎಷ್ಟು ಕ್ಲಿಯರ್ ಆಗಿ ಇರುತ್ತವೋ, ನಿನ್ನ ಸಾಫ್ಟ್ವೇರ್ ಅಷ್ಟು ಚೆನ್ನಾಗಿ ರನ್ ಆಗುತ್ತೆ. ನೀನು ಏನಾದ್ರೂ ಒಂದು ಸ್ಟೆಪ್ ಮಿಸ್ ಮಾಡಿದ್ರೆ ಸಾಕು, ನಿನ್ನ ಕೋಡ್ನಲ್ಲಿ 'ಬಗ್' ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತೆ. ಅಮ್ಮನ ಸಾಂಬಾರ್ನಲ್ಲಿ ಉಪ್ಪು ಹಾಕೋದನ್ನ ಮರೆತರೆ ಹೇಗೆ ರುಚಿ ಕೆಡುತ್ತೋ, ಹಾಗೆಯೇ ಅಲ್ಗಾರಿದಮ್ನಲ್ಲಿ ಒಂದು ಲಾಜಿಕ್ ಮಿಸ್ ಆದ್ರೆ ನಿನ್ನ ಔಟ್ಪುಟ್ ಹದಗೆಡುತ್ತೆ.
ನಿನಗೆ ಗೂಗಲ್ ಮ್ಯಾಪ್ ಬಗ್ಗೆ ಗೊತ್ತೇ ಇರುತ್ತೆ ಅಲ್ವಾ? ನೀನು ಬೆಂಗಳೂರಿನ ಮೆಜೆಸ್ಟಿಕ್ ಇಂದ ಜಯನಗರಕ್ಕೆ ಹೋಗಬೇಕು ಅಂತ ಸರ್ಚ್ ಮಾಡಿದ ತಕ್ಷಣ ಮ್ಯಾಪ್ ನಿನಗೆ ಶಾರ್ಟೆಸ್ಟ್ ರೂಟ್ ತೋರಿಸುತ್ತೆ. ಇದು ಹೇಗೆ ಸಾಧ್ಯ ಆಗುತ್ತೆ ಅನ್ಕೊಂಡಿದ್ದೀಯಾ? ಇದರ ಹಿಂದೆ ಇರೋದು ಒಂದು ಪವರ್ಫುಲ್ ಅಲ್ಗಾರಿದಮ್. ಅದು ನೂರಾರು ದಾರಿಗಳನ್ನ ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ, ಎಲ್ಲಿ ಟ್ರಾಫಿಕ್ ಕಡಿಮೆ ಇದೆ, ಎಲ್ಲಿ ದಾರಿ ಹತ್ತಿರ ಆಗುತ್ತೆ ಅಂತ ಲೆಕ್ಕ ಹಾಕಿ ನಿನಗೆ ಬೆಸ್ಟ್ ಆಪ್ಷನ್ ಕೊಡುತ್ತೆ. ಇದನ್ನೇ ನಾವು 'ಪಾತ್ ಫೈಂಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್' ಅಂತ ಕರೀತೀವಿ.
ನೀನು ಬರೆಯೋ ಅಲ್ಗಾರಿದಮ್ ಚೆನ್ನಾಗಿದ್ರೆ ನಿನ್ನ ಅಡುಗೆ ಅಂದ್ರೆ ಔಟ್ಪುಟ್ ಕೂಡ ಅಷ್ಟೇ ಅದ್ಭುತವಾಗಿ ಇರುತ್ತೆ. ಅಡುಗೆ ಮಾಡುವಾಗ ಸಾಂಬಾರ್ ಪುಡಿ ಜಾಸ್ತಿ ಆದ್ರೆ ಖಾರ ಆಗುತ್ತೆ, ಕಡಿಮೆ ಆದ್ರೆ ಸಪ್ಪೆ ಆಗುತ್ತೆ. ಹಾಗೆಯೇ ಅಲ್ಗಾರಿದಮ್ ಕೂಡ ಅಷ್ಟೇ. ನೀನು ಬೇಕಿರೋದಕ್ಕಿಂತ ಜಾಸ್ತಿ ಸ್ಟೆಪ್ಸ್ ಬರೆದರೆ ನಿನ್ನ ಪ್ರೋಗ್ರಾಂ ಸ್ಲೋ ಆಗುತ್ತೆ. ಕಡಿಮೆ ಸ್ಟೆಪ್ಸ್ ಬರೆದರೆ ಕೆಲಸ ಪೂರ್ತಿ ಆಗಲ್ಲ. ಅದಕ್ಕೆ ನಾವು 'ಎಫಿಷಿಯನ್ಸಿ' ಅಂದ್ರೆ ದಕ್ಷತೆ ಬಗ್ಗೆ ತಲೆ ಕೆಡಿಸಿಕೊಳ್ಳಬೇಕು. ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ, ಕಡಿಮೆ ಮೆಮೊರಿ ಬಳಸಿ ಯಾರು ಕೆಲಸ ಮುಗಿಸ್ತಾರೋ ಅವರೇ ಬೆಸ್ಟ್ ಡೆವಲಪರ್.
ಅಲ್ಗಾರಿದಮ್ ಅಂದ್ರೆ ಕೇವಲ ಕೋಡಿಂಗ್ ಅಲ್ಲ ತಮ್ಮಾ, ಅದೊಂದು ಪ್ರಾಬ್ಲಂ ಸಾಲ್ವಿಂಗ್ ಮೈಂಡ್ಸೆಟ್. ನೀನು ಬೆಳಗ್ಗೆ ಎದ್ದಾಗಿನಿಂದ ರಾತ್ರಿ ಮಲಗೋ ತನಕ ಎಷ್ಟೋ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನ ಬಳಸುತ್ತೀಯಾ. ಹಲ್ಲುಜ್ಜೋದಕ್ಕೆ ಒಂದು ಕ್ರಮ ಇದೆ, ಕಾಲೇಜಿಗೆ ರೆಡಿ ಆಗೋದಕ್ಕೆ ಒಂದು ಕ್ರಮ ಇದೆ. ಈ ಎಲ್ಲವನ್ನೂ ನೀನು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಮಾಡಿದ್ರೆ ನಿನ್ನ ದಿನ ಚೆನ್ನಾಗಿರುತ್ತೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕೂಡ ಅಷ್ಟೇ, ನೀನು ಫಸ್ಟ್ ಲಾಜಿಕ್ ಅನ್ನ ಒಂದು ಪೇಪರ್ ಮೇಲೆ ಬರ್ಕೋಬೇಕು. ಆಮೇಲೆ ಅದನ್ನ ಕಂಪ್ಯೂಟರ್ಗೆ ಹೇಳಬೇಕು. ಮೊದಲು ಅಡುಗೆ ಮಾಡುವ ಕ್ರಮ ಅಂದ್ರೆ ಅಲ್ಗಾರಿದಮ್ ರೆಡಿ ಇರಲಿ, ಆಮೇಲೆ ಕೋಡಿಂಗ್ ಅನ್ನೋ ಒಲೆ ಹಚ್ಚೋಣ.
ಸಾಫ್ಟ್ವೇರ್ ಇಂಡಸ್ಟ್ರಿಯಲ್ಲಿ ನೀನು ಎಷ್ಟೇ ದೊಡ್ಡ ಪೊಸಿಷನ್ಗೆ ಹೋದ್ರೂ ನಿನಗೆ ಬೆನ್ನಿಗೆ ಅಂಟಿರೋದು ಇದೇ ಅಲ್ಗಾರಿದಮ್. ಇನ್ಸ್ಟಾಗ್ರಾಮ್ ನಿನಗೆ ಯಾವ ರೀಲ್ಸ್ ತೋರಿಸಬೇಕು, ಅಮೆಜಾನ್ ನಿನಗೆ ಯಾವ ಶೂ ಸಜೆಸ್ಟ್ ಮಾಡಬೇಕು ಅನ್ನೋದನ್ನೆಲ್ಲಾ ಈ ಅಲ್ಗಾರಿದಮ್ಗಳೇ ನಿರ್ಧರಿಸುತ್ತವೆ. ನೀನು ಏನನ್ನ ಇಷ್ಟ ಪಡ್ತೀಯಾ ಅಂತ ಅದು ನಿನ್ನ ಹಳೆಯ ಡೇಟಾ ನೋಡಿ ಒಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತೆ. ಇದು ಒಂತರ ಅಮ್ಮ ನಿನಗೆ ಯಾವ ತರಕಾರಿ ಇಷ್ಟ ಅಂತ ತಿಳ್ಕೊಂಡು ಸಾಂಬಾರ್ ಮಾಡೋ ಹಾಗೆಯೇ ಅಲ್ವಾ?
ನಿನಗೆ ಒಂದು ಸಣ್ಣ ಪೋಲಿತನದ ಮಾತು ಹೇಳ್ತೀನಿ ಕೇಳು. ನೀನು ಹುಡುಗಿ ಹತ್ರ ಹೋಗಿ ಪ್ರಪೋಸ್ ಮಾಡೋದಕ್ಕೂ ಒಂದು ಅಲ್ಗಾರಿದಮ್ ಬೇಕು ಗುರು. ಡೈರೆಕ್ಟ್ ಆಗಿ ಹೋಗಿ "ಐ ಲವ್ ಯು" ಅಂದ್ರೆ ಕೆನ್ನೆಗೆ ಬೀಳೋ ಚಾನ್ಸಸ್ ಜಾಸ್ತಿ. ಅದರ ಬದಲು ಮೊದಲು ಫ್ರೆಂಡ್ ಆಗಬೇಕು, ಆಮೇಲೆ ಕಾಫಿಗೆ ಕರೀಬೇಕು, ಆಮೇಲೆ ಮೆಲ್ಲಗೆ ವಿಷಯ ಹೇಳ್ಬೇಕು. ಈ ಸ್ಟೆಪ್ಸ್ ಮಿಸ್ ಆದ್ರೆ ನಿನ್ನ ಔಟ್ಪುಟ್ ಅಂದ್ರೆ ಲವ್ ಸ್ಟೋರಿ ಫೇಲ್ ಆಗುತ್ತೆ. ಲೈಫ್ ಇರಲಿ ಅಥವಾ ಲ್ಯಾಪ್ಟಾಪ್ ಇರಲಿ, ಅಲ್ಗಾರಿದಮ್ ಪರ್ಫೆಕ್ಟ್ ಆಗಿದ್ರೆ ಸಕ್ಸಸ್ ಗ್ಯಾರಂಟಿ.
ದೊಡ್ಡ ದೊಡ್ಡ ಕಂಪನಿಗಳ ಇಂಟರ್ವ್ಯೂನಲ್ಲಿ ನಿನಗೆ ಕೋಡಿಂಗ್ ಬರತ್ತಾ ಅಂತ ಕೇಳೋದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ನಿನ್ನ ಅಲ್ಗಾರಿದಮ್ ಲಾಜಿಕ್ ಹೇಗಿದೆ ಅಂತ ಚೆಕ್ ಮಾಡ್ತಾರೆ. ಯಾಕಂದ್ರೆ ಸಿಂಟ್ಯಾಕ್ಸ್ ಕಲಿಯೋದು ಈಜಿ, ಆದ್ರೆ ಆಲೋಚನೆ ಮಾಡೋದು ಕಷ್ಟ. ನೀನು ಅಲ್ಗಾರಿದಮ್ ಅನ್ನ ಒಂದು ಮ್ಯಾಥಮೆಟಿಕ್ಸ್ ತರ ನೋಡಬೇಡ, ಅದನ್ನ ಒಂದು ಕಥೆಯ ತರ ನೋಡು. ಒಂದು ಸಮಸ್ಯೆಯನ್ನ ಸಾಲ್ವ್ ಮಾಡೋಕೆ ನೀನು ಹೂಡೋ ತಂತ್ರವೇ ಅಲ್ಗಾರಿದಮ್. ನೀನು ಎಷ್ಟು ಶಾಂತವಾಗಿ ಆಲೋಚನೆ ಮಾಡ್ತೀಯೋ ಅಷ್ಟು ಸ್ಮಾರ್ಟ್ ಅಲ್ಗಾರಿದಮ್ ಹುಟ್ಟಿಕೊಳ್ಳುತ್ತೆ.
ನಮ್ಮ ಹಳೇ ಕಾಲದ ಗಣಿತಜ್ಞರು ಈ ಅಲ್ಗಾರಿದಮ್ ಬಗ್ಗೆ ಅವತ್ತೇ ಹೇಳಿದ್ದಾರೆ. 'ಅಲ್-ಖ್ವಾರಿಜ್ಮಿ' ಅನ್ನೋ ಒಬ್ಬ ಮನುಷ್ಯನ ಹೆಸರಿನಿಂದಲೇ ಈ 'ಅಲ್ಗಾರಿದಮ್' ಅನ್ನೋ ಪದ ಬಂದಿದ್ದು. ಅಂದ್ರೆ ನೋಡು, ನೂರಾರು ವರ್ಷಗಳ ಹಿಂದೆಯೇ ಮನುಷ್ಯ ಈ ಕ್ರಮಬದ್ಧವಾದ ಕೆಲಸದ ಬಗ್ಗೆ ಯೋಚನೆ ಮಾಡಿದ್ದ. ಇವತ್ತು ನಾವು ಕೇವಲ ಅದಕ್ಕೆ ಕಂಪ್ಯೂಟರ್ ಪವರ್ ಸೇರಿಸಿದ್ದೀವಿ ಅಷ್ಟೇ. ಹಾಗಾಗಿ ಈ ಪದ ನೋಡಿ ಹೆದರಬೇಡ. ನೀನು ಬರೆಯೋ ಪ್ರತಿಯೊಂದು ಸಾಲು ಕೋಡ್ ಕೂಡ ಒಂದೊಂದು ಇನ್ಸ್ಟ್ರಕ್ಷನ್. ಅವೆಲ್ಲಾ ಸೇರಿದ್ರೆ ಒಂದು ಕಂಪ್ಲೀಟ್ ಅಲ್ಗಾರಿದಮ್ ಆಗುತ್ತೆ.
ಅಲ್ಗಾರಿದಮ್ ಅನ್ನೋದು ಒಂದು ಸುಂದರವಾದ ಕಲೆ. ನೀನು ಇದನ್ನ ಎಂಜಾಯ್ ಮಾಡೋಕೆ ಶುರು ಮಾಡಿದ್ರೆ ಕೋಡಿಂಗ್ ನಿನಗೆ ಭಾರ ಅನ್ಸಲ್ಲ. ಅಮ್ಮನ ಕೈರುಚಿ ಹೇಗೆ ಪ್ರೀತಿಯಿಂದ ಮಾಡಿದ್ರೆ ಚೆನ್ನಾಗಿರುತ್ತೋ, ಹಾಗೆಯೇ ನೀನು ನಿನ್ನ ಲಾಜಿಕ್ ಅನ್ನ ಪ್ರೀತಿಯಿಂದ ಬಿಡಿಸಿದ್ರೆ ನಿನ್ನ ಸಾಫ್ಟ್ವೇರ್ ಕೂಡ ಅಷ್ಟೇ ರುಚಿಯಾಗಿ ಅಂದ್ರೆ ಕ್ವಾಲಿಟಿಯಾಗಿ ಇರುತ್ತೆ. ಹೋಗು, ಇವತ್ತೇ ಒಂದು ಸಣ್ಣ ಕೆಲಸಕ್ಕೆ ಅಲ್ಗಾರಿದಮ್ ಬರೆಯೋಕೆ ಟ್ರೈ ಮಾಡು. ಮುಂದಿನ ಲೇಖನದಲ್ಲಿ ಮತ್ತೊಂದು ಇಂಟರೆಸ್ಟಿಂಗ್ ಟೆಕ್ ವಿಷಯದ ಬಗ್ಗೆ ಮಾತಾಡೋಣ.
ತಮ್ಮಾ, ನೀನು ಇದುವರೆಗೆ ಬರೆದ ಅಲ್ಗಾರಿದಮ್ಗಳಲ್ಲಿ ಅತಿ ಹೆಚ್ಚು ಕನ್ಫ್ಯೂಸ್ ಆಗಿದ್ದು ಯಾವುದು? ಅಥವಾ ಅಮ್ಮನ ಅಡುಗೆಗೂ ಅಲ್ಗಾರಿದಮ್ಗೂ ನಿನಗೆ ಕಂಡ ಇನ್ನೊಂದು ಹೋಲಿಕೆ ಏನು? ಕೆಳಗೆ ಕಾಮೆಂಟ್ ಮಾಡಿ ತಿಳಿಸು ಗುರು! ನಿನ್ನ ಫ್ರೆಂಡ್ಸ್ಗೂ ಈ ಲೇಖನವನ್ನ ಶೇರ್ ಮಾಡು, ಅವರಿಗೂ ಅಲ್ಗಾರಿದಮ್ ಅಂದ್ರೆ ಭಯ ಹೋಗಲಿ.
0 ಕಾಮೆಂಟ್ಗಳು
ಇನ್ನೂ ಯಾವುದೇ ಕಾಮೆಂಟ್ಗಳಿಲ್ಲ.
ಕಾಮೆಂಟ್ ಮಾಡಿ
ಚಂದಾದಾರರಾಗಿ
ಬ್ರೇಕಿಂಗ್ ನ್ಯೂಸ್, ಟ್ರೆಂಡಿಂಗ್ ಸ್ಟೋರಿ ಆಳವಾದ ವಿಶ್ಲೇಷಣೆಗಳನ್ನು ನಿರಂತರವಾಗಿ ಪಡೆಯಲು ಉಚಿತವಾಗಿ ಚಂದಾದಾರರಾಗಿ.