← नवीनतम पेपर
🤖 AI

Translating finite-domain integer constraint models to CP/SMT/ILP/PB/SAT solvers with CPMpy

यह शोध पत्र CPMpy को प्रस्तुत करता है, जो एक मॉड्यूलर ओपन-सोर्स फ्रेमवर्क है जो उच्च-स्तरीय परिमित-डोमेन पूर्णांक बाधा मॉडलों (finite-domain integer constraint models) को विभिन्न निम्न-स्तरीय समाधान औपचारिकताओं (CP, SMT, ILP, PB, और SAT) में अनुवादित करता है ताकि मैन्युअल रीमॉडलिंग की आवश्यकता के बिना विभिन्न समाधान तकनीकों की आसान तुलना सक्षम की जा सके।

मूल लेखक: Tias Guns, Ignace Bleukx, Hendrik Bierlee, Jo Devriendt, Emilio Gamba, Orestis Lomis, Wout Piessens, Thomas Sergeys, Dimos Tsouros, Wout Vanroose, Hélène Verhaeghe

प्रकाशित 2026-08-18
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Tias Guns, Ignace Bleukx, Hendrik Bierlee, Jo Devriendt, Emilio Gamba, Orestis Lomis, Wout Piessens, Thomas Sergeys, Dimos Tsouros, Wout Vanroose, Hélène Verhaeghe

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

आर्टिफिशियल इंटेलिजेंस के विशाल परिदृश्य में, एक निरंतर चुनौती है जिसे 'मॉडल-एंड-सॉल्व' (model-and-solve) दृष्टिकोण के रूप में जाना जाता है। कल्पना कीजिए कि एक व्यक्ति एक जटिल कार्यक्रम आयोजित करने की कोशिश कर रहा है, जैसे कि सैकड़ों वक्ताओं, कमरों और समय स्लॉटों वाला एक सम्मेलन। वे शेड्यूल figuring out करने के लिए कोई स्टेप-बाय-स्टेप कंप्यूटर प्रोग्राम नहीं लिखते हैं। इसके बजाय, वे नियमों का एक सेट लिखते हैं: "वक्ता A, कमरा B में नहीं हो सकता," "कमरा C दोपहर 2 बजे से पहले उपयोग किया जाना चाहिए," और "वक्ता D, वक्ता E के बाद बोल सकता है।" नियमों की इस सूची को 'कन्स्ट्रेंट मॉडल' (constraint model) कहा जाता है। यह समस्या का एक उच्च-स्तरीय विवरण है, जो ऐसी भाषा में लिखा गया है जिसे मनुष्य समझ सकते हैं। कंप्यूटर का काम फिर इन नियमों को लेना और एक ऐसा समाधान खोजना है जो उन सभी को संतुष्ट करता हो।

कठिनाई इसलिए उत्पन्न होती है क्योंकि हर प्रकार के नियम को हल करने के लिए कोई एक एकल कंप्यूटर प्रोग्राम सर्वश्रेष्ठ नहीं होता है। कुछ प्रोग्राम तार्किक "यदि-तो" (if-then) कथनों को संभालने में उत्कृष्ट होते हैं, जबकि अन्य अंकगणितीय गणनाओं या संभावनाओं की बड़ी सूचियों को प्रबंधित करने में बेहतर होते हैं। शोधकर्ताओं ने इन सॉल्विंग प्रोग्रामों के कई अलग-अलग प्रकार बनाए हैं, जिनमें से प्रत्येक की अपनी ताकत और कमजोरियां हैं। हालांकि, एक बड़ी बाधा मौजूद है: एक प्रकार के सॉल्वर के लिए लिखा गया प्रश्न अक्सर दूसरे द्वारा समझा नहीं जा सकता। एक अलग सॉल्वर का उपयोग करने के लिए, एक मानव विशेषज्ञ को आमतौर पर पूरे नियमों को एक नए प्रारूप में मैन्युअल रूप से फिर से लिखना पड़ता है, जो एक उबाऊ और त्रुटि-प्रवण प्रक्रिया है जो यह तुलना करने की क्षमता को सीमित करती है कि किसी विशिष्ट कार्य के लिए कौन सा उपकरण सबसे अच्छा काम करता है।

KU Leuven और अन्य संस्थानों के शोधकर्ताओं की एक टीम ने इस अनुवाद समस्या का समाधान विकसित किया है। उन्होंने CPMpy नामक एक सॉफ्टवेयर लाइब्रेरी बनाई है जो इन कन्स्ट्रेंट मॉडल्स के लिए एक सार्वभौमिक अनुवादक (universal translator) के रूप में कार्य करती है। उनका कार्य एक समस्या के उच्च-स्तरीय विवरण को लेने पर केंद्रित है, जो मानक गणितीय और तार्किक नियमों के साथ लिखा गया है, और इसे स्वचालित रूप से पांच अलग-अलग परिवारों की सॉल्विंग तकनीकों की विशिष्ट भाषा में परिवर्तित करने पर है। ये तकनीकें कन्स्ट्रेंट प्रोग्रामिंग सॉल्वर्स से लेकर, जो जटिल तार्किक पहेलियों के लिए विशिष्ट हैं, लेकर इंटीजर लीनियर प्रोग्रामिंग सॉल्वर्स तक फैली हुई हैं, जो अनुकूलन समस्याओं (optimization problems) में उत्कृष्ट हैं, और यहाँ तक कि SAT सॉल्वर्स तक भी, जो तार्किक कथनों की सत्यता की जांच करने के लिए डिज़ाइन किए गए हैं। शोधकर्ताओं ने केवल एक अनुवादक ही नहीं बनाया; उन्होंने एक मॉड्यूलर पाइपलाइन बनाई जहाँ रूपांतरण प्रक्रिया का प्रत्येक चरण एक अलग, पुन: प्रयोज्य घटक है। यह सिस्टम को उन जटिल विशेषताओं को हटाने की अनुमति देता है जिन्हें एक विशिष्ट सॉल्वर संभाल नहीं सकता, और उन्हें सरल, समकक्ष नियमों से बदल देता है जिन्हें सॉल्वर समझ सके।

उनकी पद्धति का मूल रूपांतरणों का एक "वॉटरफॉल" (waterfall) है। जब एक मॉडल सिस्टम में प्रवेश करता है, तो यह पहले एक सुरक्षा जांच से गुजरता है ताकि यह सुनिश्चित किया जा सके कि कोई भी गणितीय संचालन, जैसे कि विभाजन, सभी संभावित मानों के लिए परिभाषित है। यदि शून्य से विभाजन संभव है, तो सिस्टम शून्य से बचने के लिए एक 'गार्ड' जोड़ता है। इसके बाद, सिस्टम किसी भी "नॉट" (not) ऑपरेटर को हटा देता है जो जटिल अभिव्यक्तियों के भीतर गहराई से छिपा हो सकता है, उन्हें तब तक नीचे धकेलता है जब तक कि वे केवल सरल वेरिएबल्स पर लागू न हों। यह तार्किक संरचना को सरल बनाता है। सिस्टम फिर "ग्लोबल कंस्ट्रेंट्स" (global constraints) को तोड़ देता है, जो शक्तिशाली, उच्च-स्तरीय नियम हैं जैसे कि "सभी लोगों के पास अलग-अलग शेड्यूल होने चाहिए," बुनियादी बिल्डिंग ब्लॉक्स में जिन्हें सरल सॉल्वर्स प्रोसेस कर सकें।

जैसे-जैसे मॉडल पाइपलाइन में नीचे जाता है, इसे 'फ्लैटन' (flatten) किया जाता है। जटिल, नेस्टेड अभिव्यक्तियों को सरल वेरिएबल्स से बदल दिया जाता है, और सिस्टम इन प्रतिस्थापनों का ट्रैक रखता है ताकि डुप्लिकेट वेरिएबल्स बनाने से बचा जा सके। यह चरण महत्वपूर्ण है क्योंकि कई सॉल्वर्स उन नियमों को नहीं संभाल सकते जहाँ एक नियम दूसरे के भीतर नेस्टेड होता है। उन सॉल्वर्स के लिए जो केवल रैखिक समीकरणों (linear equations) को समझते हैं, सिस्टम 'लीनियराइजेशन' (linearization) नामक एक प्रक्रिया करता है। यह तार्किक नियमों और असमानताओं को सीधी रेखा वाले समीकरणों में परिवर्तित करता है। अंत में, उन सॉल्वर्स के लिए जो केवल true-or-false वेरिएबल्स के साथ काम करते हैं, यह प्रत्येक पूर्णांक संख्या को Boolean स्विच की एक श्रृंखला में एनकोड करता है। इस पूरी प्रक्रिया के दौरान, सिस्टम मूल समस्या के सटीक अर्थ को बनाए रखने के लिए सावधान रहता है। यह सुनिश्चित करता है कि यदि मूल उच्च-स्तरीय मॉडल के लिए कोई समाधान मौजूद है, तो अनुवादित निम्न-स्तरीय मॉडल के लिए भी एक समाधान मौजूद होगा, और इसके विपरीत भी।

अपने सिस्टम का परीक्षण करने के लिए, शोधकर्ताओं ने एक प्रमुख अंतर्राष्ट्रीय प्रतियोगिता से 250 वास्तविक दुनिया की अनुकूलन समस्याओं को लिया। उन्होंने इन समस्याओं को अपने अनुवाद पाइपलाइन के माध्यम से चलाया और परिणामों को तीन अलग-अलग प्रकार के सॉल्वर्स में डाला: एक अग्रणी इंटीजर लीनियर प्रोग्रामिंग सॉल्वर, एक स्यूडो-बुलियन (pseudo-boolean) सॉल्वर, और एक मैक्सिमम सैटिस्फिएबिलिटी (maximum satisfiability) सॉल्वर। उन्होंने यह मापने के लिए माप किया कि प्रत्येक सॉल्वर को सर्वोत्तम संभव उत्तर खोजने में कितना समय लगा। परिणामों ने दिखाया कि अनुवाद प्रक्रिया ने मॉडलों की संरचना को महत्वपूर्ण रूप से बदल दिया। जैसे-जैसे जटिल उच्च-स्तरीय नियमों को उनके सबसे सरल रूपों में तोड़ा गया, नियमों और वेरिएबल्स की संख्या अक्सर नाटकीय रूप रूप से बढ़ गई। हालाँकि, विभिन्न सॉल्वर्स को समझने योग्य बनाने के लिए यह विस्तार आवश्यक था।

अध्ययन ने यह भी खुलासा किया कि एक मॉडल का अनुवाद कैसे किया जाता है, यह प्रदर्शन के लिए बहुत मायने रखता है। इंटीजर लीनियर प्रोग्रामिंग सॉल्वर के लिए, जटिल नियमों को तोड़ने के विशेष तरीकों का उपयोग करने से समाधान का समय कम हुआ। अन्य सॉल्वर्स के लिए, प्रभाव अधिक सूक्ष्म था। शोधकर्ताओं ने पाया कि कुछ सॉल्वर्स के लिए, एक मानक अनुवाद सबसे अच्छा काम करता है, जबकि अन्य के लिए, एक अधिक आक्रामक अनुवाद जो संख्याओं को सरल true-or-false स्विच के रूप में मानता था, बेहतर था। उन्होंने पाया कि एक 'वन-साइज़-फिट्स-ऑल' (one-size-fits-all) दृष्टिकोण काम नहीं करता है; सबसे अच्छा अनुवाद रणनीति पूरी तरह से उपयोग किए जा जाने वाले विशिष्ट सॉल्वर पर निर्भर करती है। वास्तव में, एक प्रकार के सॉल्वर के लिए, दूसरे प्रकार के लिए सबसे कुशल अनुवाद का उपयोग करने से वास्तव में समाधान प्रक्रिया धीमी हो गई। यह एक लचीली प्रणाली के महत्व को उजागर करता है जो अनुवाद को लक्षित टूल के अनुसार अनुकूलित कर सके।

शोधकर्ताओं ने निष्कर्ष निकाला कि उनका मॉड्यूलर दृष्टिकोण उच्च-स्तरीय समस्या मॉडलिंग और निम्न-स्तरीय सॉल्विंग तकनीकों के बीच के अंतर को सफलतापूर्वक पाटता है। ऑटोमेशन के माध्यम से अनुवाद करके, वे उपयोगकर्ताओं को एक बार समस्या लिखने और फिर मैन्युअल पुन: लेखन के बिना कई अलग-अलग सॉल्विंग इंजनों के विरुद्ध परीक्षण करने की अनुमति देते हैं। यह क्षमता सीधे तुलना करने में सक्षम बनाती है कि कौन सी तकनीक किसी विशिष्ट अनुप्रयोग के लिए सबसे उपयुक्त है। जबकि अनुवाद प्रक्रिया अनिवार्य रूप से समस्या मॉडल के आकार को बढ़ा देती है, विभिन्न सॉल्वर्स की ताकतों का लाभ उठाने की क्षमता इसकी लागत से कहीं अधिक है। यह कार्य प्रदर्शित करता है कि सही अनुवाद उपकरणों के साथ, बाधा समाधान (constraint solving) की विविध दुनिया को सुलभ और तुलनीय बनाया जा सकता है, जिससे शोधकर्ताओं और चिकित्सकों को जटिल कॉम्बिनेटोरियल समस्याओं के लिए सबसे प्रभावी समाधान खोजने में मदद मिलती है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →