Precomputation
ಕ್ರಮಾವಳಿಗಳಲ್ಲಿ, ಪೂರ್ವ ಗಣನೆಯು ಪ್ರತಿ ಬಾರಿ ಕಾರ್ಯಗತಗೊಳ್ಳುವಾಗ ಪುನರಾವರ್ತಿತ ಗಣನೆಯನ್ನು ತಪ್ಪಿಸಲು ಕ್ರಮಾವಳಿಗಳಿಂದ ಬಳಸಬಹುದಾದ ಲುಕ್ಅಪ್ ಟೇಬಲ್ ಅನ್ನು ರಚಿಸಲು ರನ್ ಟೈಮ್ಗೆ ಮೊದಲು ಆರಂಭಿಕ ಗಣನೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಕ್ರಿಯೆಯಾಗಿದೆ. ಅಲ್ಗಾರಿದಮ್ನ ಇನ್ಪುಟ್ನ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರದ ದುಬಾರಿ ಲೆಕ್ಕಾಚಾರಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ಅವಲಂಬಿಸಿರುವ ಕ್ರಮಾವಳಿಗಳಲ್ಲಿ ಪೂರ್ವ ಗಣನೆಯನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಪೂರ್ವ ಗಣನೆಯ ಒಂದು ಕ್ಷುಲ್ಲಕ ಉದಾಹರಣೆಯೆಂದರೆ, ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಯದಲ್ಲಿ ಅಗತ್ಯವಾದ ನಿಖರತೆಗೆ ಅವುಗಳ ಅಂದಾಜುಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಬದಲು, π ಮತ್ತು e ನಂತಹ ಹಾರ್ಡ್ ಕೋಡೆಡ್ ಗಣಿತದ ಸ್ಥಿರಾಂಕಗಳ ಬಳಕೆಯಾಗಿದೆ. ದತ್ತಸಂಚಯಗಳಲ್ಲಿ, ಮೆಟೀರಿಯಲೈಸೇಶನ್ ಎಂಬ ಪದವನ್ನು ಪೂರ್ವ ಗಣನೆಯ ಫಲಿತಾಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದನ್ನು ಉಲ್ಲೇಖಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಮೆಟೀರಿಯಲೈಸ್ಡ್ ವ್ಯೂ. ಅವಲೋಕನ ಅಲ್ಗಾರಿದಮ್ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಆರಂಭದಲ್ಲಿ ಮಧ್ಯಂತರ ಫಲಿತಾಂಶಗಳ ಗುಂಪನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಗಣಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಅಲ್ಗಾರಿದಮ್ನ ದಕ್ಷತೆಯನ್ನು ಗಣನೀಯವಾಗಿ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಒಳಹರಿವುಗಳನ್ನು ಸಮಂಜಸವಾದ ಗಾತ್ರದ ಮೆಮೊರಿ ಬ್ಲಾಕ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದಾದಷ್ಟು ಸಣ್ಣ ವ್ಯಾಪ್ತಿಗೆ ನಿರ್ಬಂಧಿಸಿದಾಗ ಇದು ಪ್ರಯೋಜನಕಾರಿಯಾಗುತ್ತದೆ. ಸಮಯದ ಸಂಕೀರ್ಣತೆಯಲ್ಲಿ ಮೆಮೊರಿ ಪ್ರವೇಶವು ಮೂಲಭೂತವಾಗಿ ಸ್ಥಿರವಾಗಿರುವುದರಿಂದ (ಕ್ಯಾಶಿಂಗ್ ವಿಳಂಬಗಳನ್ನು ಹೊರತುಪಡಿಸಿ), ಸಣ್ಣ ಇನ್ಪುಟ್ ವ್ಯಾಪ್ತಿಯ ಮೇಲೆ ಸ್ಥಿರ ದಕ್ಷತೆಗಿಂತ ಕೆಟ್ಟದ್ದನ್ನು ಹೊಂದಿರುವ ಘಟಕವನ್ನು ಹೊಂದಿರುವ ಯಾವುದೇ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಪೂರ್ವ ಕಂಪ್ಯೂಟಿಂಗ್ ಮೌಲ್ಯಗಳಿಂದ ಸುಧಾರಿಸಬಹುದು. ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಮೌಲ್ಯಗಳ ಪ್ರತ್ಯೇಕ ಉಪವಿಭಾಗವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಮಧ್ಯಂತರ ಇನ್ಪುಟ್ ಮೌಲ್ಯಗಳಿಗೆ ಇಂಟರ್ಪೋಲೇಟ್ ಮಾಡುವ ಮೂಲಕ ಪರಿಣಾಮಕಾರಿ ಅಂದಾಜು ಕ್ರಮಾವಳಿಗಳನ್ನು ಪಡೆಯಬಹುದು, ಏಕೆಂದರೆ ಇಂಟರ್ಪೋಲೇಷನ್ ಸಹ ರೇಖೀಯ ಕಾರ್ಯಾಚರಣೆಯಾಗಿದೆ. ಕಂಪ್ಯೂಟರ್ಗಳ ಆಗಮನದ ಮೊದಲು, ಜನರು ಸಂಕೀರ್ಣ ಕಾರ್ಯಗಳ ಕೈ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ವೇಗಗೊಳಿಸಲು ಮೌಲ್ಯಗಳ ಮುದ್ರಿತ ಹುಡುಕಾಟ ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರು, ಉದಾಹರಣೆಗೆ ತ್ರಿಕೋನಮಿತಿಯ ಕೋಷ್ಟಕಗಳು, ಲಾಗರಿಥಮ್ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಸಾಂದ್ರತೆಯ ಕಾರ್ಯಗಳ ಕೋಷ್ಟಕಗಳು ಶಾಲಾ ಮಕ್ಕಳಿಗೆ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಸಂಖ್ಯೆಗಳ (9 x 9 ಅಥವಾ 12 x 12) ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ತಪ್ಪಿಸಲು "ಸಮಯ ಕೋಷ್ಟಕಗಳನ್ನು" ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಕಲಿಸಲಾಗುತ್ತದೆ. ಕ್ರಿ. ಶ. 493ರಷ್ಟು ಹಿಂದೆಯೇ, ಅಕ್ವಿಟೈನ್ನ ವಿಕ್ಟೋರಿಯಸ್ 98-ಅಂಕಣಗಳ ಗುಣಾಕಾರ ಕೋಷ್ಟಕವನ್ನು ಬರೆದರು, ಅದು (ರೋಮನ್ ಅಂಕಿಗಳಲ್ಲಿ) ಪ್ರತಿ ಸಂಖ್ಯೆಯ ಗುಣಾಕಾರವನ್ನು 2 ರಿಂದ 50 ಪಟ್ಟುಗಳವರೆಗೆ ನೀಡಿತು ಮತ್ತು ಸಾಲುಗಳು "ಒಂದು ಸಾವಿರದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿ, ನೂರಾರುಗಳಿಂದ ನೂರಕ್ಕೆ ಇಳಿಯುತ್ತವೆ, ನಂತರ ಹತ್ತರಿಂದ ಹತ್ತಕ್ಕೆ ಇಳಿಯುತ್ತವೆ, ನಂತರ ಒಂದರಿಂದ ಒಂದಕ್ಕೆ ಇಳಿಯುತ್ತವೆ, ಮತ್ತು ನಂತರ ಭಿನ್ನರಾಶಿಗಳು 1/144 ಗೆ ಇಳಿಯುತ್ತವೆ". ಗುಪ್ತ ಲಿಪಿ ವ್ಯವಸ್ಥೆಗಳ ಮೇಲಿನ ಅನೇಕ ದಾಳಿಗಳು ಪೂರ್ವ ಗಣನೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಆಧುನಿಕ ದಕ್ಷ ಕ್ರಮಾವಳಿಗಳ ಭಾಗವಾಗಿ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪೂರ್ವ ಗಣನೆಯ ಉದಾಹರಣೆಗಳೆಂದರೆಃ ರೇನ್ಬೋ ಕೋಷ್ಟಕಗಳು ಪರ್ಫೆಕ್ಟ್ ಹ್ಯಾಶ್ಗಳು ಕ್ಯೂಬ್ ಅಟ್ಯಾಕ್ 3ಡಿ ಗ್ರಾಫಿಕ್ಸ್ನಲ್ಲಿ ಗೋಚರತೆ ಲೆಕ್ಕಾಚಾರಗಳಿಗಾಗಿ ಪೂರ್ವಭಾವಿಯಾಗಿ ಲೆಕ್ಕ ಹಾಕಿದ ಬಿಎಸ್ಪಿ ಮರಗಳು 3ಡಿ ಗ್ರಾಫಿಕ್ಸ್ನಲ್ಲಿ ಬೆಳಕುಗಾಗಿ ವಿಕಿರಣ ಪೂರ್ವ ಗಣನೆಯನ್ನು ಕಂಪೈಲರ್ಗಳು ಪೂರ್ವ ಗಣನೆಯನ್ನು ಪರಿಣಾಮವಾಗಿ ಕೋಡ್ನ ರನ್-ಟೈಮ್ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸುವ ಸಾಧನವಾಗಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸುತ್ತವೆಃ ಈ ಪೂರ್ವ ಗಣನೆಯನ್ನು ಪ್ರೋಗ್ರಾಂ ಕೋಡ್ನ ಭಾಗಶಃ ಮೌಲ್ಯಮಾಪನದ ಒಂದು ರೂಪವೆಂದು ಪರಿಗಣಿಸಬಹುದು. ಈ ರೀತಿಯ ಪೂರ್ವ ಗಣನೆಯ ಉದಾಹರಣೆಗಳಲ್ಲಿ ದತ್ತಾಂಶ ಹರಿವಿನ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಶಕ್ತಿ ಕಡಿತ ಕ್ರಮಗಳು ಸೇರಿವೆ. ಗಣಿತದ ಕೋಷ್ಟಕ ಅಲ್ಗಾರಿದಮಿಕ್ ದಕ್ಷತೆ ಭಾಗಶಃ ಮೌಲ್ಯಮಾಪನ ಜ್ಞಾಪಕದ ಉಲ್ಲೇಖಗಳು ಸಾಫ್ಟ್ವೇರ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಸಹ ನೋಡಿ.