ಶುಕ್ರವಾರ, ಅಕ್ಟೋಬರ್ 25, 2013

ಕಂಪ್ಯೂಟರಿಗೆ ಪಾಠವ ಹೇಳಿ... [ಭಾಗ ೨]

ಟಿ ಜಿ ಶ್ರೀನಿಧಿ

ಭಾಗ ೧ ಓದಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ

ಕಂಪ್ಯೂಟರ್ ಏನು ಮಾಡಬೇಕು ಎಂದು ತಿಳಿಸಲು ಕ್ರಮವಿಧಿಯನ್ನು (ಪ್ರೋಗ್ರಾಮ್) ಬರೆಯುವುದೇನೋ ಸರಿ. ಆದರೆ ಅದರ ತರ್ಕ (ಲಾಜಿಕ್) ಸರಿಯಿಲ್ಲದಿದ್ದರೆ - ಅಂದರೆ, ನಾವು ಯಾವುದಾದರೂ ವಿವರವನ್ನು ಸರಿಯಾಗಿ ಕೊಡದಿದ್ದರೆ - ಆ ಕ್ರಮವಿಧಿಯನ್ನು ಬಳಸಿದಾಗ ನಮ್ಮ ನಿರೀಕ್ಷೆಯ ಫಲಿತಾಂಶ ಬರುವುದಿಲ್ಲ. ಕಂಪ್ಯೂಟರ್ ನಮ್ಮ ಅಪೇಕ್ಷೆಯಂತೆ ಕೆಲಸಮಾಡಬೇಕಾದರೆ ಅದು ಯಾವ ಕೆಲಸಮಾಡಬೇಕೋ ಆ ಕೆಲಸದ ಪೂರ್ಣ ವಿವರಗಳು ನಾವು ಬರೆಯುವ ಕ್ರಮವಿಧಿಯಲ್ಲಿ ಇರಲೇಬೇಕು.

ಈಗ ನಿಮ್ಮ ಮನೆಗೆ ಕೆಲ ಮಿತ್ರರು ಬರಬೇಕಿದೆ ಎಂದುಕೊಳ್ಳೋಣ. ಇದನ್ನು ನಾವು ಬರೆಯುತ್ತಿರುವ ಕ್ರಮವಿಧಿಯ ಉದ್ದೇಶಕ್ಕೆ ಹೋಲಿಸಬಹುದು. ಆದರೆ ಮನೆಗೆ ಬರಲು ನಿಮ್ಮ ಮಿತ್ರರಿಗೆ ದಾರಿ ಗೊತ್ತಾಗಬೇಕು ತಾನೆ?
ಎಲ್ಲಿ ಇಳಿಯಬೇಕು, ಯಾವ ರಸ್ತೆಯಲ್ಲಿ ಬರಬೇಕು, ಎಲ್ಲೆಲ್ಲಿ ತಿರುಗಬೇಕು, ಮನೆ ಗುರುತಿಸುವುದು ಹೇಗೆ - ಇದನ್ನೆಲ್ಲ ಹೇಳುವುದು ಅದೇ ಉದ್ದೇಶಕ್ಕಾಗಿ.

ಕ್ರಮವಿಧಿಯಲ್ಲೂ ಅಷ್ಟೆ. ನಾವೀಗ ಎರಡು ಅಂಕಿಗಳನ್ನು ಕೂಡಿಸುವ ಕ್ರಮವಿಧಿಯನ್ನು ಬರೆಯುತ್ತಿದ್ದೇವೆ ಎನ್ನುವುದಾದರೆ ಅದರಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಹೆಜ್ಜೆಯನ್ನೂ ಪ್ರತ್ಯೇಕವಾಗಿ ವಿವರಿಸಬೇಕು: ಕೆಲಸ ಶುರುಮಾಡು ಎನ್ನುವುದರಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮೊದಲ ಅಂಕಿಯನ್ನು ಓದು, ಎರಡನೇ ಅಂಕಿಯನ್ನು ಓದು, ಎರಡನ್ನೂ ಕೂಡಿಸಿ ಉತ್ತರವನ್ನು ಪ್ರದರ್ಶಿಸು, ಆನಂತರ ಕೆಲಸ ನಿಲ್ಲಿಸು ಎಂದು ಹೇಳುವವರೆಗೆ ಪ್ರತಿಯೊಂದು ಹೆಜ್ಜೆಯನ್ನೂ ನಾವು ಪ್ರತ್ಯೇಕಿಸಿರಬೇಕು. ಇಷ್ಟೆಲ್ಲ ಹೆಜ್ಜೆಗಳ ಸರಣಿಯನ್ನು ಕ್ರಮಾವಳಿ, ಅಂದರೆ ಆಲ್ಗರಿದಮ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ.

ಇದು ಯಾವುದೇ ಸಮಸ್ಯೆಯ ಪರಿಹಾರಕ್ಕಾಗಿ ನಾವು ರೂಪಿಸುವ ನಿರ್ದಿಷ್ಟ ಆದೇಶಗಳ ಕ್ರಮಬದ್ಧ ಸಮೂಹ. ಕ್ರಮವಿಧಿಯನ್ನು (ಪ್ರೋಗ್ರಾಮ್) ಬರೆಯುವ ಮುನ್ನ ಅದರ ತರ್ಕ (ಲಾಜಿಕ್) ಹೇಗಿರಬೇಕು ಎನ್ನುವುದನ್ನು ಅಂತಿಮಗೊಳಿಸಲು ಕ್ರಮಾವಳಿಯನ್ನು (ಆಲ್ಗರಿದಮ್) ಬಳಸಲಾಗುತ್ತದೆ. ಕ್ರಮಾವಳಿ ಸಮರ್ಪಕವಾಗಿದೆ ಎನ್ನಿಸಿದಾಗ ಅದರಲ್ಲಿರುವ ತರ್ಕವನ್ನೇ ಬಳಸಿಕೊಂಡು ವಾಸ್ತವಿಕ ಕ್ರಮವಿಧಿಯನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ.

ಸರಳವಾಗಿ ಹೇಳುವುದಾದರೆ ಯಾವುದೋ ಒಂದು ಕೆಲಸವನ್ನು ಹೇಗೆ ಮಾಡಬೇಕು ಎಂದು ಕಂಪ್ಯೂಟರಿಗೆ ಹೇಳುವುದು ಕ್ರಮಾವಳಿಯ ಕೆಲಸ. ಆದರೆ ಪ್ರತಿ ಕೆಲಸವನ್ನೂ ಮಾಡುವ ಹಲವಾರು ವಿಧಗಳಿರುತ್ತವಲ್ಲ, ಕ್ರಮಾವಳಿಯನ್ನು ಬರೆಯುವಾಗ ಆ ಪೈಕಿ ಅತ್ಯಂತ ಸಮರ್ಥವಾದುದನ್ನು ಆರಿಸಿಕೊಳ್ಳಬೇಕಾದ್ದು ನಮ್ಮ ಜವಾಬ್ದಾರಿ. ಏಕೆಂದರೆ ಕ್ರಮಾವಳಿಯಲ್ಲಿ ನಾವು ಬಳಸುವ ವಿಧಾನ ಎಷ್ಟು ಸಮರ್ಥವಾಗಿರುತ್ತದೋ ಅಂತಿಮವಾಗಿ ಸಿದ್ಧವಾಗುವ ಕ್ರಮವಿಧಿಯ ಸಾಮರ್ಥ್ಯವೂ ಅಷ್ಟೇ ಇರುತ್ತದೆ!

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

ಅಕ್ಟೋಬರ್ ೨೫, ೨೦೧೩ರ ಉದಯವಾಣಿಯಲ್ಲಿ ಪ್ರಕಟವಾದ ಲೇಖನ

ಕಾಮೆಂಟ್‌ಗಳಿಲ್ಲ:

badge