Look-ahead (backtracking)
பின்தொடர்தல் வழிமுறைகளில், முன்னோக்கிப் பார்ப்பது என்பது ஒரு துணை செயல்முறையின் பொதுவான சொல்லாகும், இது அதன் மதிப்புகளில் ஒன்றை மதிப்பீடு செய்ய ஒரு கிளை மாறியைத் தேர்ந்தெடுப்பதன் விளைவுகளை முன்கூட்டியே அறிய முயற்சிக்கிறது. அடுத்ததாக மதிப்பீடு செய்ய ஒரு மாறியைத் தேர்ந்தெடுப்பதும், அதற்கு ஒதுக்க வேண்டிய மதிப்புகளின் வரிசையைத் தேர்ந்தெடுப்பதும் முன்னோக்கிப் பார்ப்பதற்கான இரண்டு முக்கிய நோக்கங்களாகும். கட்டுப்பாடு திருப்தி ஒரு பொதுவான கட்டுப்பாடு திருப்தி சிக்கலில், ஒவ்வொரு மாறியும் ஒரு களத்தில் ஒரு மதிப்பை எடுக்க முடியும். எனவே ஒரு பின்தொடர்தல் வழிமுறை ஒரு மாறியைத் தேர்ந்தெடுத்து அதன் சாத்தியமான மதிப்புகள் ஒவ்வொன்றையும் சோதிக்கிறது; ஒவ்வொரு மதிப்பிற்கும் வழிமுறை மீண்டும் மீண்டும் இயக்கப்படுகிறது. மதிப்பீடு செய்ய கொடுக்கப்பட்ட மாறியைத் தேர்ந்தெடுப்பதன் விளைவுகளைச் சரிபார்க்க அல்லது அதற்குக் கொடுக்க வேண்டிய மதிப்புகளின் வரிசையை தீர்மானிக்க முன்னோக்கிப் பாருங்கள் பயன்படுத்தப்படுகிறது. முன்னோக்கி பார்க்கும் நுட்பங்கள் ஒரு குறிப்பிட்ட வேலையின் விளைவை ஒரு மாறிக்கு மதிப்பிடுவதற்கான எளிய நுட்பம் முன்னோக்கி சரிபார்ப்பு என்று அழைக்கப்படுகிறது. தற்போதைய பகுதி தீர்வு மற்றும் மதிப்பீடு செய்ய ஒரு வேட்பாளர் வேலையைப் பொறுத்தவரை, மற்றொரு மாறி ஒரு நிலையான மதிப்பை எடுக்க முடியுமா என்பதை இது சரிபார்க்கிறது. வேறு வார்த்தைகளில் கூறுவதானால், இது முதலில் தற்போதைய பகுதி தீர்வை கருதப்படும் மாறியின் தற்காலிக மதிப்புடன் விரிவுபடுத்துகிறது; பின்னர் அது இன்னும் ஒதுக்கப்படாத ஒவ்வொரு மாறியையும் கருத்தில் கொள்கிறது, மேலும் நீட்டிக்கப்பட்ட பகுதி தீர்வுடன் ஒத்துப்போகும் மதிப்பீடு உள்ளதா என்பதை சரிபார்க்கிறது. மேலும் பொதுவாக, முன்னோக்கிச் சரிபார்ப்பு நீட்டிக்கப்பட்ட வேலையுடன் ஒத்துப்போகும் மதிப்புகளை தீர்மானிக்கிறது. அதிக நேரம் எடுக்கும் ஆனால் சிறந்த முடிவுகளைத் தரக்கூடிய ஒரு முன்னோக்கு நுட்பம் வளைவு நிலைத்தன்மையை அடிப்படையாகக் கொண்டது. அதாவது, ஒரு புதிய மாறியின் மதிப்புடன் நீட்டிக்கப்பட்ட ஒரு பகுதி தீர்வு கொடுக்கப்பட்டால், இது ஒதுக்கப்படாத அனைத்து மாறிகளுக்கும் வளைவு நிலைத்தன்மையை செயல்படுத்துகிறது. வேறு வார்த்தைகளில் கூறுவதானால், எந்தவொரு ஒதுக்கப்படாத மாறிகளுக்கும், மற்றொரு மாறிக்கு தொடர்ந்து நீட்டிக்க முடியாத மதிப்புகள் அகற்றப்படுகின்றன. முன்னோக்கி சரிபார்ப்பு மற்றும் வளைவு நிலைத்தன்மைக்கு இடையிலான வேறுபாடு என்னவென்றால், முந்தையது ஒரே ஒரு ஒதுக்கப்படாத மாறியை மட்டுமே நிலைத்தன்மைக்காக சரிபார்க்கிறது, அதே நேரத்தில் இரண்டாவது பரஸ்பர நிலைத்தன்மைக்கு ஒதுக்கப்படாத மாறிகளின் ஜோடிகளையும் சரிபார்க்கிறது. கட்டுப்பாடு திருப்தி சிக்கல்களைத் தீர்ப்பதற்கான தோற்றத்தைப் பயன்படுத்துவதற்கான மிகவும் பொதுவான வழி பராமரிக்கும் ஆர்க்-நிலைத்தன்மை (எம்ஏசி) வழிமுறை ஆகும். வில் நிலைத்தன்மையை உள்ளடக்கிய மற்ற இரண்டு முறைகள் முழு மற்றும் பகுதி முன்னோக்கிப் பார்ப்பது. அவை வளைவு நிலைத்தன்மையை அமல்படுத்துகின்றன, ஆனால் ஒவ்வொரு ஜோடி மாறிகளுக்கும் அல்ல. குறிப்பாக, முழு தோற்றம் ஒதுக்கப்படாத ஒவ்வொரு ஜோடி மாறிகளையும் கருத்தில் கொள்கிறது, மேலும் அவற்றுக்கிடையே வளைவு நிலைத்தன்மையை செயல்படுத்துகிறது. இது உலகளாவிய வளைவு நிலைத்தன்மையை அமல்படுத்துவதை விட வேறுபட்டது, இதற்கு ஒரு ஜோடி மாறிகள் ஒன்றுக்கு மேற்பட்ட முறை மறுபரிசீலனை செய்யப்பட வேண்டும். அதற்கு பதிலாக, ஒரு ஜோடி மாறிகளுக்கு இடையில் வளைவு நிலைத்தன்மையை அமல்படுத்தியவுடன், இந்த ஜோடி இனி கருதப்படாது. முன்னோக்கி ஓரளவு பார்ப்பது ஒத்திருக்கிறது, ஆனால் கொடுக்கப்பட்ட மாறிகளின் வரிசை கருதப்படுகிறது, மேலும் வளைவு நிலைத்தன்மை ஒவ்வொரு ஜோடிக்கும் ஒரு முறை மட்டுமே செயல்படுத்தப்படுகிறது. வளைவு நிலைத்தன்மையின் அடிப்படையில் முன்னோக்கிப் பாருங்கள், பாதை நிலைத்தன்மை மற்றும் பொதுவான ஐ-நிலைத்தன்மை அல்லது தொடர்புடைய வளைவு நிலைத்தன்மையுடன் வேலை செய்ய நீட்டிக்கப்படலாம். முன்னோக்கிப் பார்ப்பதன் பயன்பாடு மதிப்பீடு செய்ய வேண்டிய அடுத்த மாறி மற்றும் இந்த மாறிக்கு கொடுக்க வேண்டிய மதிப்புகளின் வரிசையை தீர்மானிக்க முன்னோக்கிப் பார்ப்பதன் முடிவுகள் பயன்படுத்தப்படுகின்றன. குறிப்பாக, எந்தவொரு ஒதுக்கப்படாத மாறி மற்றும் மதிப்பிற்கும், அந்த மாறியை அந்த மதிப்பிற்கு அமைப்பதன் விளைவுகளை முன்னோக்கி பாருங்கள் மதிப்பிடுகிறது. அடுத்த மாறியின் தேர்வு மற்றும் அதற்கு அடுத்த மதிப்பைத் தேர்ந்தெடுப்பது நிரப்பு, அதில் மதிப்பு பொதுவாக ஒரு தீர்வு (ஏதேனும் இருந்தால்) முடிந்தவரை விரைவாகக் கண்டறியப்படும் வகையில் தேர்ந்தெடுக்கப்படுகிறது, அதே நேரத்தில் அடுத்த மாறி பொதுவாக திருப்தியற்ற வகையில் தேர்ந்தெடுக்கப்படுகிறது (தற்போதைய பகுதி தீர்வு திருப்தியளிக்கவில்லை என்றால்) முடிந்தவரை விரைவாக நிரூபிக்கப்படுகிறது. மதிப்பீடு செய்ய அடுத்த மாறியைத் தேர்ந்தெடுப்பது குறிப்பாக முக்கியமானது, ஏனெனில் இது இயங்கும் நேரத்தில் அதிவேக வேறுபாடுகளை ஏற்படுத்தக்கூடும். முடிந்தவரை விரைவாக திருப்தியற்ற தன்மையை நிரூபிக்க, ஒதுக்கப்பட்ட பிறகு சில மாற்றுகளை விட்டுச்செல்லும் மாறிகள் விரும்பத்தக்கவை. மாறி/மதிப்பு ஜோடிகளின் திருப்தியற்ற தன்மை அல்லது திருப்தியற்ற தன்மையை மட்டுமே சரிபார்ப்பதன் மூலம் இந்த யோசனையை செயல்படுத்த முடியும். குறிப்பாக, தேர்ந்தெடுக்கப்பட்ட அடுத்த மாறி தற்போதைய பகுதி தீர்வுடன் ஒத்துப்போகும் குறைந்தபட்ச எண்ணிக்கையிலான மதிப்புகளைக் கொண்ட ஒன்றாகும். இதையொட்டி, பகுதி நிலைத்தன்மையை வெறுமனே சரிபார்ப்பதன் மூலம் அல்லது மேலே விவாதிக்கப்பட்ட எந்தவொரு முன்னோக்கி பார்க்கும் நுட்பங்களையும் பயன்படுத்துவதன் மூலம் நிலைத்தன்மையை மதிப்பீடு செய்யலாம். ஒரு மாறிக்கு தற்காலிகமாக ஒதுக்க வேண்டிய மதிப்புகளை வரிசைப்படுத்த பின்வரும் மூன்று முறைகள் உள்ளனஃ குறைந்தபட்ச மோதல்கள்ஃ முன்னரே பார்ப்பதன் மூலம் மதிப்பிடப்பட்டபடி ஒதுக்கப்படாத மாறிகளின் களத்திலிருந்து குறைந்தபட்ச மொத்த மதிப்புகளை நீக்குவதே விருப்பமான மதிப்புகள்; அதிகபட்ச-கள அளவுஃ முன்னரே பார்ப்பதன் மூலம் மதிப்பிடப்பட்டபடி, ஒதுக்கப்படாத மாறிகளுக்கு அவை உருவாக்கும் மிகச்சிறிய களத்தில் மதிப்புகளின் எண்ணிக்கையை அதிகரிப்பதே விருப்பமான மதிப்புகள்; மதிப்பீட்டு தீர்வுகள்ஃ முன்னரே பார்ப்பதன் மூலம் மதிப்பிடப்பட்டபடி, அதிகபட்ச எண்ணிக்கையிலான தீர்வுகளை உருவாக்குவதே விருப்பமான மதிப்புகள், ஒதுக்கப்படாத மாறிகளின் களங்களில் எஞ்சியிருக்கும் அனைத்து மதிப்புகளும் ஒன்றுக்கொன்று ஒத்துப்போகின்றன என்ற அனுமானத்தை உருவாக்குவதன் மூலம் மதிப்பிடப்படுகிறது; வேறு வார்த்தைகளில் கூறுவதானால், முன்னோக்கி பார்ப்பதன் விளைவாக அனைத்து களங்களின் அளவையும் பெருக்குவதன் மூலம் ஒரு மதிப்புக்கான விருப்பம் பெறப்படுகிறது. இந்த நுட்பங்கள் பெரிய பிரச்சினைகளுக்கு, குறிப்பாக சிறிய மோதல்களுக்கு பயனுள்ளதாக இருக்கும் என்பதை சோதனைகள் நிரூபித்தன. சீரற்றமயமாக்கல் சில நேரங்களில் ஒரு மாறி அல்லது மதிப்பைத் தேர்ந்தெடுப்பதற்கும் பயன்படுத்தப்படுகிறது. எடுத்துக்காட்டாக, சில அளவீடுகளின்படி இரண்டு மாறிகள் சமமாக விரும்பப்பட்டால், தேர்வு சீரற்ற முறையில் செய்யப்படலாம். குறிப்புகள் கட்டுப்பாடு நிரலாக்க தேடல் வழிமுறைகள்