Partial order reduction
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಭಾಗಶಃ ಕ್ರಮ ಕಡಿತವು ಮಾದರಿ ಪರಿಶೀಲನೆ ಅಥವಾ ಸ್ವಯಂಚಾಲಿತ ಯೋಜನೆ ಮತ್ತು ವೇಳಾಪಟ್ಟಿ ಕ್ರಮಾವಳಿಗಳಿಂದ ಹುಡುಕಬೇಕಾದ ರಾಜ್ಯ-ಸ್ಥಳದ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುವ ತಂತ್ರವಾಗಿದೆ. ಇದು ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಂಡ ಪರಿವರ್ತನೆಗಳ ಸಂವಹನಶೀಲತೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ, ಅದು ವಿಭಿನ್ನ ಕ್ರಮಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಂಡಾಗ ಒಂದೇ ಸ್ಥಿತಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಸ್ಪಷ್ಟ ಸ್ಥಿತಿಯ ಬಾಹ್ಯಾಕಾಶ ಪರಿಶೋಧನೆಯಲ್ಲಿ, ಭಾಗಶಃ ಕ್ರಮ ಕಡಿತವು ಸಾಮಾನ್ಯವಾಗಿ ಎಲ್ಲಾ ಸಕ್ರಿಯ ಪರಿವರ್ತನೆಗಳ ಪ್ರತಿನಿಧಿ ಉಪವಿಭಾಗವನ್ನು ವಿಸ್ತರಿಸುವ ನಿರ್ದಿಷ್ಟ ತಂತ್ರವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಈ ತಂತ್ರವನ್ನು ಪ್ರತಿನಿಧಿಗಳೊಂದಿಗೆ ಮಾದರಿ ಪರಿಶೀಲನೆ ಎಂದೂ ವಿವರಿಸಲಾಗಿದೆ. ಈ ವಿಧಾನದ ವಿವಿಧ ಆವೃತ್ತಿಗಳಿವೆ, ಮೊಂಡುತನದ ಸೆಟ್ ವಿಧಾನ ಎಂದು ಕರೆಯಲ್ಪಡುವ, ಸಾಕಷ್ಟು ಸೆಟ್ ವಿಧಾನ ಮತ್ತು ನಿರಂತರ ಸೆಟ್ ವಿಧಾನ. ಆಂಪಲ್ ಸೆಟ್ಗಳು ಪ್ರತಿನಿಧಿಗಳೊಂದಿಗೆ ಮಾದರಿ ಪರಿಶೀಲನೆಯ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ. ಅವುಗಳ ಸೂತ್ರೀಕರಣವು ಅವಲಂಬನೆಯ ಪ್ರತ್ಯೇಕ ಕಲ್ಪನೆಯನ್ನು ಅವಲಂಬಿಸಿದೆ. ಪರಸ್ಪರ ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಇನ್ನೊಂದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ ಮಾತ್ರ ಎರಡು ಪರಿವರ್ತನೆಗಳನ್ನು ಸ್ವತಂತ್ರವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ಇವೆರಡರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ಅವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕ್ರಮವನ್ನು ಲೆಕ್ಕಿಸದೆ ಒಂದು ವಿಶಿಷ್ಟ ಸ್ಥಿತಿಯಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ. ಸ್ವತಂತ್ರವಾಗಿರದ ಪರಿವರ್ತನೆಗಳು ಅವಲಂಬಿತವಾಗಿವೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅವಲಂಬನೆಯನ್ನು ಅಂದಾಜು ಮಾಡಲಾಗುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಸ್ಥಿತಿಯಲ್ಲಿ ಪರಿವರ್ತನೆಯ ಒಂದು ಸೆಟ್ ಯಾವಾಗ "ಸಾಕಾಗುತ್ತದೆ" ಎಂಬ ಷರತ್ತುಗಳನ್ನು ನೀಡುವ ಮೂಲಕ ವಿವಿಧ ಉದ್ದೇಶಗಳಿಗಾಗಿ ವಿಶಾಲವಾದ ಸೆಟ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. C0 C1 ಒಂದು ಪರಿವರ್ತನೆಯು ಕೆಲವು ಪರಿವರ್ತನೆಯ ಸಂಬಂಧದ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದ್ದರೆ, ಸಾಕಷ್ಟು ಗುಂಪಿನಲ್ಲಿನ ಕೆಲವು ಪರಿವರ್ತನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವವರೆಗೆ ಈ ಪರಿವರ್ತನೆಯನ್ನು ಆಹ್ವಾನಿಸಲಾಗುವುದಿಲ್ಲ. C0 ಮತ್ತು C1 ಷರತ್ತುಗಳು ರಾಜ್ಯದ ಎಲ್ಲಾ ಡೆಡ್ಲಾಕ್ಗಳನ್ನು ಸಂರಕ್ಷಿಸಲು ಸಾಕಾಗುತ್ತವೆ. ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸಂರಕ್ಷಿಸುವ ಸಲುವಾಗಿ ಹೆಚ್ಚಿನ ನಿರ್ಬಂಧಗಳ ಅಗತ್ಯವಿದೆ. ಉದಾಹರಣೆಗೆ, ರೇಖೀಯ ತಾತ್ಕಾಲಿಕ ತರ್ಕದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸಂರಕ್ಷಿಸುವ ಸಲುವಾಗಿ, ಈ ಕೆಳಗಿನ ಎರಡು ಷರತ್ತುಗಳು ಬೇಕಾಗುತ್ತವೆಃ C2, ಸಾಕಷ್ಟು ಗುಂಪಿನಲ್ಲಿನ ಪ್ರತಿ ಪರಿವರ್ತನೆಯು ಅಗೋಚರವಾಗಿದ್ದರೆ. ಸಿ 3 ಎ ಚಕ್ರವು ಕೆಲವು ಪರಿವರ್ತನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ ಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿದ್ದರೆ ಅದನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಚಕ್ರದ ಯಾವುದೇ ಸ್ಥಿತಿಗಳಿಗೆ ಸಾಕಷ್ಟು (ಗಳನ್ನು) ಎಂದಿಗೂ ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. ಈ ಷರತ್ತುಗಳು ಸಾಕಷ್ಟು ಸೆಟ್ಗೆ ಸಾಕಾಗುತ್ತವೆ, ಆದರೆ ಅಗತ್ಯ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲ. ಮೊಂಡುತನದ ಸೆಟ್ಗಳು ಮೊಂಡುತನದ ಸೆಟ್ಗಳು ಸ್ಪಷ್ಟವಾದ ಸ್ವಾತಂತ್ರ್ಯ ಸಂಬಂಧವನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಬದಲಿಗೆ ಅವುಗಳನ್ನು ಕ್ರಿಯೆಗಳ ಅನುಕ್ರಮಗಳ ಮೇಲೆ ಸಂವಹನದ ಮೂಲಕ ಮಾತ್ರ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಈ ಕೆಳಗಿನ ಹಿಡಿತದಲ್ಲಿದ್ದರೆ, ಒಂದು ಸೆಟ್ s ನಲ್ಲಿ (ದುರ್ಬಲವಾಗಿ) ಮೊಂಡುತನದ್ದಾಗಿದೆ. ಡಿ0, ಅನುಕ್ರಮವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾದರೆ ಮತ್ತು ಸ್ಥಿತಿಗೆ ಕಾರಣವಾದರೆ, ಅನುಕ್ರಮವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಿದೆ ಮತ್ತು ಇದು ಸ್ಥಿತಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಡಿ1 ಒಂದು ಡೆಡ್ಲಾಕ್ ಆಗಿರಬಹುದು, ಅಥವಾ ಅದರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ಸಾಧ್ಯವಿರಬಹುದು. C0 ಮತ್ತು C1 ಸಾಕಷ್ಟು ಸೆಟ್ ವಿಧಾನದಲ್ಲಿರುವಂತೆಯೇ, ಎಲ್ಲಾ ಡೆಡ್ಲಾಕ್ಗಳನ್ನು ಸಂರಕ್ಷಿಸಲು ಈ ಪರಿಸ್ಥಿತಿಗಳು ಸಾಕಾಗುತ್ತವೆ. ಆದಾಗ್ಯೂ, ಅವು ಸ್ವಲ್ಪ ದುರ್ಬಲವಾಗಿರುತ್ತವೆ ಮತ್ತು ಸಣ್ಣ ಸೆಟ್ಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. C2 ಮತ್ತು C3 ಪರಿಸ್ಥಿತಿಗಳು ಸಾಕಷ್ಟು ಸೆಟ್ ವಿಧಾನದಲ್ಲಿರುವುದಕ್ಕಿಂತ ಮತ್ತಷ್ಟು ದುರ್ಬಲಗೊಳ್ಳಬಹುದು, ಆದರೆ ಮೊಂಡುತನದ ಸೆಟ್ ವಿಧಾನವು C2 ಮತ್ತು C3 ಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಇತರರು ಭಾಗಶಃ ಕ್ರಮ ಕಡಿತಕ್ಕೆ ಇತರ ಸಂಕೇತಗಳೂ ಇವೆ. ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಒಂದು ನಿರಂತರ ಸೆಟ್/ಸ್ಲೀಪ್ ಸೆಟ್ ಅಲ್ಗಾರಿದಮ್ ಆಗಿದೆ. ವಿವರವಾದ ಮಾಹಿತಿಯನ್ನು ಪ್ಯಾಟ್ರಿಸ್ ಗೊಡೆಫ್ರಾಯ್ಡ್ರ ಪ್ರಬಂಧದಲ್ಲಿ ಕಾಣಬಹುದು. ಸಾಂಕೇತಿಕ ಮಾದರಿ ಪರಿಶೀಲನೆಯಲ್ಲಿ, ಹೆಚ್ಚಿನ ನಿರ್ಬಂಧಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಭಾಗಶಃ ಕ್ರಮ ಕಡಿತವನ್ನು ಸಾಧಿಸಬಹುದು (ಕಾವಲು ಬಲವರ್ಧನೆ). ಭಾಗಶಃ ಆದೇಶ ಕಡಿತದ ಮತ್ತಷ್ಟು ಅನ್ವಯಗಳು ಸ್ವಯಂಚಾಲಿತ ಯೋಜನೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಉಲ್ಲೇಖಗಳ ಉಲ್ಲೇಖಗಳ ಮಾದರಿ ಪರಿಶೀಲನೆ