Combined linear congruential generator
ಕಂಬೈನ್ಡ್ ಲೀನಿಯರ್ ಕಾನ್ಗ್ರುಯೆನ್ಷಿಯಲ್ ಜನರೇಟರ್ (ಸಿಎಲ್ಸಿಜಿ) ಎನ್ನುವುದು ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ ಲೀನಿಯರ್ ಕಾನ್ಗ್ರುಯೆನ್ಷಿಯಲ್ ಜನರೇಟರ್ಗಳನ್ನು (ಎಲ್ಸಿಜಿ) ಸಂಯೋಜಿಸುವ ಆಧಾರದ ಮೇಲೆ ಸೂಡೋ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. ಸಾಂಪ್ರದಾಯಿಕ ಎಲ್ಸಿಜಿ ಸಂಕೀರ್ಣ ವ್ಯವಸ್ಥೆಯ ಅನುಕರಣೆಗೆ ಅಸಮರ್ಪಕವಾದ ಅವಧಿಯನ್ನು ಹೊಂದಿದೆ. ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ ಎಲ್ಸಿಜಿಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ, ದೀರ್ಘಾವಧಿಯ ಮತ್ತು ಉತ್ತಮ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರುವ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ರಚಿಸಬಹುದು. ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಹೀಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆಃ ಎಲ್ಲಿಃ ಮೊದಲ ಎಲ್ಸಿಜಿಯ "ಮಾಡ್ಯುಲಸ್" ಎಂಬುದು ಜೆಥ್ ಎಲ್ಸಿಜಿಯಿಂದ ಬರುವ ಐಥ್ ಇನ್ಪುಟ್ ಆಗಿದ್ದು, ಇದು ಐಥ್ ರಚಿತ ಯಾದೃಚ್ಛಿಕ ಪೂರ್ಣಾಂಕವಾಗಿದೆಃ ಅಲ್ಲಿ 0 ಮತ್ತು 1 ರ ನಡುವೆ ಏಕರೂಪವಾಗಿ ವಿತರಿಸಲಾದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಇರುತ್ತದೆ. ವೈ, 1, ವೈ, 2,.., ವೈ, ಕೆ ಯಾವುದೇ ಸ್ವತಂತ್ರ, ಪ್ರತ್ಯೇಕ, ಯಾದೃಚ್ಛಿಕ-ಚಲರಾಶಿಗಳಾಗಿದ್ದರೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು 0 ರಿಂದ m1−2 ಗೆ ಏಕರೂಪವಾಗಿ ವಿತರಿಸಿದರೆ, ನಂತರ ಝೀ ಅನ್ನು 0 ಮತ್ತು m1−2 ನಡುವೆ ಏಕರೂಪವಾಗಿ ವಿತರಿಸಲಾಗುತ್ತದೆ, ಅಲ್ಲಿಃ ಕ್ಸಿ, 1, ಕ್ಸಿ, 2, ಕ್., ಕ್. ಗಳು ಕೆ ಎಲ್ಸಿಜಿಗಳಿಂದ ಔಟ್ಪುಟ್ಗಳಾಗಿರಲಿ. ವೈ, ಜೆ ಅನ್ನು ಕ್ಸಿ, ಜೆ-1 ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಿದರೆ, ವೈ, ಜೆ ಅನ್ನು ಸರಿಸುಮಾರು 0 ರಿಂದ ಎಂಜೆ-1 ರವರೆಗೆ ಏಕರೂಪವಾಗಿ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಗುಣಾಂಕ "(−1) j −1" ಸೂಚ್ಯವಾಗಿ xi, j ನಿಂದ ಒಂದರ ವ್ಯವಕಲನವನ್ನು ಮಾಡುತ್ತದೆ. ಗುಣಲಕ್ಷಣಗಳು ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಲೆಕ್ಕಹಾಕಲು ಸಿಎಲ್ಸಿಜಿ ಒಂದು ಪರಿಣಾಮಕಾರಿ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಎಲ್. ಸಿ. ಜಿ. ಕ್ರಮಾವಳಿಯು ಗಣನೆಗೆ ಬಳಸಲು ಅಗ್ಗವಾಗಿದೆ. ಅನೇಕ ಎಲ್. ಸಿ. ಜಿ ಕ್ರಮಾವಳಿಗಳ ಫಲಿತಾಂಶಗಳನ್ನು ಸಿ. ಎಲ್. ಸಿ. ಜಿ ಕ್ರಮಾವಳಿಗಳ ಮೂಲಕ ಸಂಯೋಜಿಸಿ, ಎಲ್. ಸಿ. ಜಿ ವಿಧಾನದಿಂದ ಸ್ವತಃ ಸಾಧಿಸಬಹುದಾದ ಅವಧಿಗಿಂತ ಹೆಚ್ಚಿನ ಅವಧಿಯ ಸೂಡೊ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಸಿಎಲ್ಸಿಜಿಯ ಅವಧಿಯು ಪ್ರತ್ಯೇಕ ಉತ್ಪಾದಕಗಳ ಅವಧಿಗಳ ಕನಿಷ್ಠ ಸಾಮಾನ್ಯ ಗುಣಾಕಾರವಾಗಿದೆ, ಇದು ಮಾಡ್ಯುಲಿಗಿಂತ ಒಂದು ಕಡಿಮೆ. ಎಲ್ಲಾ ಮಾಡ್ಯೂಲಿಗಳು ಬೆಸ ಅವಿಭಾಜ್ಯಗಳಾಗಿರುವುದರಿಂದ, ಅವಧಿಗಳು ಸಮವಾಗಿರುತ್ತವೆ ಮತ್ತು ಆದ್ದರಿಂದ ಕನಿಷ್ಠ 2ರ ಸಾಮಾನ್ಯ ಭಾಜಕವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ, ಆದರೆ ಮಾಡ್ಯೂಲಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ 2 ಪ್ರತಿ ಜೋಡಿಯ ಅತಿದೊಡ್ಡ ಸಾಮಾನ್ಯ ಭಾಜಕವಾಗಿರುತ್ತದೆ, ಇದು ಈ ಕೆಳಗಿನ ಅವಧಿಗೆ ಕಾರಣವಾಗುತ್ತದೆಃ ಉದಾಹರಣೆ 32-ಬಿಟ್ ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಬಳಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಅಲ್ಗಾರಿದಮ್ ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯಾಗಿದೆಃ ಎಲ್ಸಿಜಿಗಳನ್ನು ಈ ಕೆಳಗಿನ ಗುಣಲಕ್ಷಣಗಳೊಂದಿಗೆ ಬಳಸಲಾಗುತ್ತದೆಃ ಸಿಎಲ್ಸಿಜಿ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಹೊಂದಿಸಲಾಗಿದೆಃ 1. ಮೊದಲ ಎಲ್. ಸಿ. ಜಿ. ಯ ಬೀಜವನ್ನು [1,2147483562] ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಆಯ್ಕೆ ಮಾಡಬೇಕು. ಎರಡನೇ ಎಲ್. ಸಿ. ಜಿ. ಯ ಬೀಜವನ್ನು [1,2147483398] ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಆಯ್ಕೆ ಮಾಡಬೇಕು. ಸೆಟ್ಃ 2. ಎರಡು ಎಲ್. ಸಿ. ಜಿ. ಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲಾಗುತ್ತದೆಃ CLCG ಸಮೀಕರಣವನ್ನು ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ ಪರಿಹರಿಸಲಾಗಿದೆಃ 4. ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯನ್ನು ಲೆಕ್ಕ ಹಾಕಿಃ 5. ಕೌಂಟರ್ ಅನ್ನು ಹೆಚ್ಚಿಸಿ (i = i + 1) ನಂತರ ಹಂತ 2 ಕ್ಕೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ಪುನರಾವರ್ತಿಸಿ. ಬಳಸಿದ ಎರಡು ಎಲ್ಸಿಜಿಗಳ ಗರಿಷ್ಠ ಅವಧಿಯನ್ನು ಈ ಸೂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕ ಹಾಕಲಾಗುತ್ತದೆಃ ಇದು ಬಳಸಿದ ಎರಡು ಎಲ್ಸಿಜಿಗಳಿಗೆ 2,1 × 109 ಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ತೋರಿಸಿರುವ ಈ ಸಿಎಲ್ಸಿಜಿ ಗರಿಷ್ಠ ಅವಧಿಯನ್ನು ಹೊಂದಿದೆಃ ಇದು ವೈಯಕ್ತಿಕ ಎಲ್ಸಿಜಿಗಳ ಅವಧಿಯಲ್ಲಿ ಭಾರೀ ಸುಧಾರಣೆಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಸಂಯೋಜಿತ ವಿಧಾನವು ಅವಧಿಯನ್ನು 9 ಕ್ರಮಗಳ ಪ್ರಮಾಣದಿಂದ ಹೆಚ್ಚಿಸುತ್ತದೆ ಎಂದು ಕಾಣಬಹುದು. ಆಶ್ಚರ್ಯಕರವಾಗಿ ಈ ಸಿಎಲ್ಸಿಜಿಯ ಅವಧಿಯು ಎಲ್ಲಾ ಅನ್ವಯಗಳಿಗೆ ಸಾಕಾಗುವುದಿಲ್ಲ. ಸಿಎಲ್ಸಿಜಿ ವಿಧಾನವನ್ನು ಬಳಸುವ ಇತರ ಕ್ರಮಾವಳಿಗಳನ್ನು 3x1057 ಅವಧಿಯ ಸೂಡೋ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗಿದೆ. 1982ರಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾದ ನಿರ್ದಿಷ್ಟ ಸಂಯೋಜಿತ ಎಲ್. ಸಿ. ಜಿ., ರೇಖೀಯ ಏಕರೂಪದ ಜನರೇಟರ್ ವಿಚ್ಮನ್-ಹಿಲ್ ಅನ್ನು ಸಹ ನೋಡಿ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಜನರೇಟರ್ಗಳ ಬಳಕೆ ಮತ್ತು ಪರೀಕ್ಷೆಯ ಅವಲೋಕನ ಸೂಡೊರಾಂಡಮ್ ಸಂಖ್ಯೆ ಜನರೇಟರ್ಗಳು ಮಾಡ್ಯುಲರ್ ಅಂಕಗಣಿತ