Case study: solving P-99 with LPTP and an LLM
यह शोध पत्र एक ऐसे प्रयोग को प्रस्तुत करता है जहाँ एक LLM (Claude) ने LPTP का उपयोग करके 'नाइन्टी-नाइन प्रोलॉग प्रॉब्लम्स' के पहले 33 समाधानों को उत्पन्न और औपचारिक रूप से सत्यापित किया, जो एक "वेरिकोडिंग" दृष्टिकोण को प्रदर्शित करता है जो अनौपचारिक अंग्रेजी विशिष्टताओं को स्वचालित कोड जनरेशन और शुद्धता के कठोर गणितीय प्रमाणों के साथ जोड़ता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि एक ऐसी दुनिया है जहाँ कंप्यूटर केवल कठोर, रोबोटिक निर्देशों का पालन नहीं करते, बल्कि वे वास्तव में उस उलझे हुए और अस्पष्ट तरीके को भी समझ सकते हैं जिस तरह से इंसान समस्याओं का वर्णन करते हैं। यह आर्टिफिशियल इंटेलिजेंस (AI) की एक सीमा है, विशेष रूप से एक शाखा जिसे लार्ज लैंग्वेज मॉडल्स (LLMs) कहा जाता है। एक LLM को एक अत्यंत बुद्धिमान, अविश्वसनीय रूप से पढ़ाकू छात्र के रूप में समझें जिसने इंटरनेट पर लगभग सब कुछ पढ़ा है। यदि आप इसे कहानी लिखने के लिए कहते हैं, तो यह लिख सकता है; यदि आप इसे कोड लिखने के लिए कहते हैं, तो यह कर सकता है। लेकिन एक पेंच है: यह छात्र "हैलुसिनेशन" (hallucinations) का शिकार हो सकता है, जिसका अर्थ है कि यह आत्मविश्वास के साथ मनगढ़ंत तथ्य बना सकता है या ऐसा कोड लिख सकता है जो देखने में तो एकदम सही लगता है लेकिन चलाने पर गुप्त रूप से टूट जाता है।
इसे ठीक करने के लिए, वैज्ञानिक फॉर्मल वेरिफिकेशन (Formal Verification) का उपयोग करते हैं, जो एक अत्यंत सख्त गणित के शिक्षक की तरह है जो छात्र के होमवर्क के हर एक चरण की जांच करता है ताकि यह सुनिश्चित किया जा सके कि वह तार्किक रूप से गलत होने के लिए असंभव हो। कंप्यूटर विज्ञान की दुनिया में, शोधकर्ताओं द्वारा चुनौतियों का एक प्रसिद्ध सेट उपयोग किया जाता है जिसे 99 प्रोलॉग प्रॉब्लम्स (99 Prolog Problems) या P-99 कहा जाता है। ये लॉजिक प्रोग्रामिंग के लिए "जिम वर्कआउट" की तरह हैं, जो कोडिंग की एक ऐसी शैली है जहाँ आप यह बताने के बजाय कि इसे कैसे करना है, यह बताते हैं कि आप क्या चाहते हैं। बड़ा सवाल यह है कि क्या हम AI छात्र को एक सरल अंग्रेजी विवरण के आधार पर कोड लिखने दे सकते हैं, और फिर क्या गणित का शिक्षक तुरंत यह जांच सकता है कि वह वास्तव में सही है या नहीं? यह शोध पत्र ठीक इसी प्रयोग का अन्वेषण करता है, जो AI की रचनात्मक स्वतंत्रता को औपचारिक तर्क (formal logic) की अटूट सुरक्षा के साथ मिलाता है।
प्रयोग: एक सख्त शिक्षक के साथ कोडिंग की जोड़ी
इस अध्ययन में, शोधकर्ताओं की एक टीम ने "वाइब-कोडिंग" (vibe-coding) को "वेरिकोडिंग" (vericoding) के साथ मिलाकर काम करने के एक नए तरीके का परीक्षण करने का निर्णय लिया। कल्पना कीजिए कि "वाइब-कोडिंग" एक रचनात्मक मित्र से एक रफ स्केच के आधार पर आपके लिए एक ट्रीहाउस बनाने के लिए कहने जैसा है जिसे आपने नैपकिन पर बनाया है। आप कहते हैं, "मुझे एक ट्रीहाउस चाहिए जिसमें एक स्लाइड और एक गुप्त दरवाजा हो," और वे बस बनाना शुरू कर देते हैं। यह तेज़ और मज़ेदार है, लेकिन परिणाम डगमगा सकता है। "वेरिकोडिंग" इसके विपरीत है: यह एक ऐसे वास्तुकार (architect) को काम पर रखने जैसा है जो एक भी कील ठोकने से पहले ब्लूप्रिंट, स्ट्रेस टेस्ट और सुरक्षा निरीक्षण की मांग करता है।
शोधकर्ता यह देखना चाहते थे कि क्या वे इन दोनों दृष्टिकोणों को जोड़ सकते हैं। उन्होंने एक रचनात्मक निर्माता के रूप में कार्य करने के लिए क्लोड (Claude) (विशेष रूप से ओपस 4.6 संस्करण) नामक एक AI मॉडल का उपयोग किया। उन्होंने इसे प्रसिद्ध P-99 सूची के पहले 33 प्रश्नों को दिया, जो सरल, अनौपचारिक अंग्रेजी में लिखे गए हैं। उदाहरण के लिए, एक समस्या केवल कहती है: "एक सूची (list) का अंतिम तत्व खोजें।"
AI का काम था:
- समस्या को हल करने के लिए प्रोलॉग कोड (Prolog code) लिखना।
- यह जांचने के लिए एक टेस्ट फ़ाइल लिखना कि क्या कोड काम करता है।
- गणितीय रूप से यह गारंटी देने के लिए एक औपचारिक प्रमाण (formal proof) लिखना कि कोड सुरक्षित, सही और हमेशा चलता रहेगा।
प्रमाणों की जांच करने के लिए, उन्होंने LPTP (Logic Program Theorem Prover) नामक एक टूल का उपयोग किया। LPTP को एक सख्त गणित शिक्षक के रूप में समझें जो "यह सही लग रहा है" को उत्तर के रूप में स्वीकार करने से इनकार कर देता है। यह हर दावे के लिए एक चरण-दर-चरण तार्किक व्युत्पत्ति (logical derivation) की मांग करता है।
परिणाम: जादू और गणित का मिश्रण
प्रयोग सफल रहा, लेकिन यह कोई जादुई छड़ी नहीं थी। टीम ने इस पद्धति का उपयोग करके 88 में से 33 अभ्यासों (लगभग 37.5%) को सफलतापूर्वक हल किया। पर्दे के पीछे क्या हुआ, यहाँ देखें:
- रचनात्मक हिस्सा (वाइब-कोडिंग): AI शुरुआती कोडिंग करने में आश्चर्यजनक रूप से अच्छा था। इसने प्रति समस्या कुछ ही मिनटों में 58 लॉजिक प्रोसीजर (वास्तविक कोड) और 508 टेस्ट केस लिखे। इसने अंग्रेजी निर्देशों को समझा और ऐसा कोड तैयार किया जो सही ढंग से चला।
- सख्त हिस्सा (वेरिकोडिंग): असली काम यहीं से शुरू हुआ। AI को यह सिद्ध करना था कि उसका कोड सही है। इसने 257 लेम्मा (lemmas) (छोटे गणितीय तथ्य) उत्पन्न किए और चौंका देने वाली 11,800 पंक्तियाँ प्रमाण (proof) लिखीं।
- मानवीय स्पर्श: शोधकर्ताओं ने AI को बेकाबू नहीं छोड़ा। उन्होंने प्रत्येक फ़ाइल की मैन्युअल रूप से जांच की। उन्होंने टेस्ट चलाए, तार्किक कथनों को पढ़ा, और प्रमाणों को LPTP के साथ फिर से चलाया। यदि AI अटक गया या उसने ऐसा प्रमाण लिखा जो समझ में नहीं आया, तो इंसानों ने उसे संकेत देने के लिए हस्तक्षेप किया। उदाहरण के लिए, सूची में अंतिम आइटम खोजने के बारे में एक समस्या के लिए, इंसानों को AI से पूछना पड़ा, "हे, यह
appendफंक्शन से कैसे जुड़ता है?" ताकि उसे सही प्रमाण बनाने में मदद मिल सके।
मुख्य निष्कर्ष
यह शोध पत्र इस काम करने के नए तरीके के बारे में कुछ प्रमुख बातें प्रकट करता है:
- AI "वाइब-कोडिंग" में अच्छा हो रहा है: AI एक अस्पष्ट अंग्रेजी विवरण को बहुत तेज़ी से काम करने वाले प्रोलॉग कोड में बदल सकता था। इसने यहाँ तक कि उन "अशुद्ध" (impure) युक्तियों से भी परहेज किया जो वास्तविक दुनिया के प्रोलॉग कोड में अक्सर उपयोग की जाती हैं, और एक सख्त, तार्किक शैली का पालन किया जिसे गणित का शिक्षक (LPTP) समझ सके।
- "वेरिकोडिंग" के लिए AI को धक्के की ज़रूरत है: जबकि AI कोड आसानी से उत्पन्न कर सकता था, यह सिद्ध करना कि वह क्यों सही था, अधिक कठिन था। जटिल कार्यात्मक गुणों (जैसे यह सिद्ध करना कि कोड ठीक वही करता है जो उसे करना चाहिए) के लिए, AI को कभी-कभी मानवीय शोधकर्ताओं की आवश्यकता होती थी कि वे पहले साधारण अंग्रेजी में तर्क समझाएं। एक बार जब इंसानों ने संकेत दिया, तो AI उसे औपचारिक रूप दे सका और सिद्ध कर सका।
- यह अभी तक "हल की गई" समस्या नहीं है: टीम ने सभी 99 समस्याओं को हल नहीं किया। कुछ समस्याओं में AI को केवल 15 मिनट लगे (जैसे सरल "अंतिम तत्व" वाली समस्या), जबकि कुछ में कई घंटे लगे (जैसे "प्राइम फैक्टराइजेशन" वाली समस्या)। शोधकर्ता नोट करते हैं कि सबसे कठिन समस्याओं के लिए, AI अभी भी मानवीय मार्गदर्शन के बिना अपने आप सही प्रमाण रणनीतियाँ बनाने में संघर्ष करता है।
भविष्य की एक झलक: "MCP" कनेक्शन
यह शोध पत्र एक नए टूल का भी वर्णन करता है जिसे वे मॉडल कॉन्टेक्स्ट प्रोटोकॉल (Model Context Protocol - MCP) कह रहे हैं। वर्तमान में, AI और गणित का शिक्षक (LPTP) फ़ाइलों और टेक्स्ट दस्तावेज़ों के माध्यम से बात करते हैं, जो थोड़ा बहुत पत्रों को इधर-उधर भेजने जैसा है। नया MCP टूल उन्हें एक सीधा फोन लाइन देने जैसा है। यह AI को वास्तविक समय में गणित के शिक्षक से मदद मांगने, अपने काम की तुरंत जांच करने और मानवीय हस्तक्षेप का इंतज़ार किए बिना त्रुटियों को ठीक करने की अनुमति देता है। उन्होंने अन्य AI मॉडलों (जैसे जेमिनी) के साथ इसका परीक्षण किया और पाया कि जबकि कुछ मॉडल प्रमाणों के लिए विचार उत्पन्न कर सकते थे, केवल क्लॉड ही सफलतापूर्वक वैध प्रमाण उत्पन्न करने में सक्षम था जो सख्त जांचों को पास कर सके।
निचोड़
यह शोध पत्र दिखाता है कि हम एक ऐसे युग में प्रवेश कर रहे हैं जहाँ AI जटिल, तार्किक कोड लिखने में एक रचनात्मक भागीदार के रूप में कार्य कर सकता है, लेकिन कठिनतम हिस्सों में इसे निर्देशित करने के लिए अभी भी एक मानव "पायलट" की आवश्यकता होती है। AI कोड लिख सकता है और यहाँ तक कि गणितीय प्रमाणों का मसौदा भी तैयार कर सकता है, लेकिन यह कभी-कभी विवरणों में खो जाता है। AI की गति और रचनात्मकता को LPTP जैसे औपचारिक प्रमाण परीक्षक के साथ जोड़कर, शोधकर्ताओं ने एक ऐसी प्रणाली बनाई जो AI की गलतियों को वास्तविक बग बनने से पहले पकड़ लेती है। यह अभी तक पूरी तरह से स्वचालित "सब-कुछ-ठीक-करने वाली" मशीन नहीं है, लेकिन यह एक शक्तिशाली नया उपकरण है जो सॉफ्टवेयर को पहले से कहीं अधिक तेज़ और सुरक्षित बनाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।