अधिकतम द्विभागीय मिलान
अनुमत किनारों के समुच्चयों से अधिकतम 32 शीर्ष वाले दो समूहों के बीच सबसे अधिक जोड़ों का मिलान खोजें।
def maximum_matching(edges, right_count):
if type(right_count) is not int or not 0 <= right_count <= 32 or type(edges) not in (list, tuple) or len(edges) > 32:
raise ValueError("matching.size")
if any(type(row) not in (set, frozenset) or any(type(v) is not int or not 0 <= v < right_count for v in row) for row in edges):
raise ValueError("matching.edge")
owners = [-1] * right_count
def augment(left, seen):
for right in sorted(edges[left]):
if right in seen:
continue
seen.add(right)
if owners[right] == -1 or augment(owners[right], seen):
owners[right] = left
return True
return False
for left in range(len(edges)):
augment(left, set())
return sorted((left, right) for right, left in enumerate(owners) if left != -1)मॉडल
बेस URL और आवश्यक होने पर API कुंजी से OpenAI-संगत या Anthropic endpoint सेट करें। कनेक्शन जाँचें। स्थानीय मॉडल सर्वर चालू होना चाहिए; दूरस्थ उपकरण अलग से डेटा भेज सकते हैं।
प्रोजेक्ट
अलग शीर्ष और संवर्धक पथ द्वारा पुनर्नियोजन जाँचें तथा समुच्चय बदले बिना गलत सूचकांक अस्वीकार करें।
लागू करने से पहले समीक्षा करें
वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
def maximum_matching(edges, right_count):
if type(right_count) is not int or not 0 <= right_count <= 32 or type(edges) not in (list, tuple) or len(edges) > 32:
raise ValueError("matching.size")
if any(type(row) not in (set, frozenset) or any(type(v) is not int or not 0 <= v < right_count for v in row) for row in edges):
raise ValueError("matching.edge")
owners = [-1] * right_count
def augment(left, seen):
for right in sorted(edges[left]):
if right in seen:
continue
seen.add(right)
if owners[right] == -1 or augment(owners[right], seen):
owners[right] = left
return True
return False
for left in range(len(edges)):
augment(left, set())
return sorted((left, right) for right, left in enumerate(owners) if left != -1)संपादन से पहले आवंटन का उद्देश्य स्पष्ट करें
MatchOriel आवंटन तर्क पर उसका उपयोग करने वाले अनुप्रयोग के संदर्भ में चर्चा के लिए Windows एआई कोडिंग कार्यक्षेत्र है। स्रोत प्रोजेक्ट खोलें और समझाएँ कि युग्म किस आधार पर अनुमत है और परिणाम को क्या अनुकूलित करना चाहिए। बदलाव सुझाने से पहले जुड़े सहायक से जाँच कराएँ कि ये आवश्यकताएँ इनपुट संरचना और कोड में कैसे व्यक्त हैं।
अधिकतम संख्या वाले मिलान का कार्य एक उदाहरण है। अनुमत युग्म लाएँ और बताएँ कि क्या लक्ष्य केवल अधिकतम सदस्यों को आवंटित करना है। मॉडल से ऐसा मामला जाँचने को कहें जिसमें उस लक्ष्य तक पहुँचने के लिए पहले का चयन बदलना पड़े। यदि अनुप्रयोग को वरीयता क्रम या अन्य व्यावसायिक नियम चाहिए, तो उन्हें स्पष्ट रखें, क्योंकि मिलान का आकार उन्हें स्थापित नहीं करता।
प्रस्ताव जाँचें और लौटाए युग्मों में वैध किनारों तथा प्रत्येक सदस्य की विशिष्टता परखें। अपने प्रोजेक्ट परीक्षणों में असंबद्ध सदस्य और अस्वीकृत सूचकांक शामिल करें, फिर जाँचें कि कॉलर अनावंटित प्रविष्टियाँ कैसे संभालते हैं। MatchOriel आवश्यकता के अनुसार क्रेडेंशियल के साथ OpenAI-संगत या Anthropic एंडपॉइंट कनेक्शन का समर्थन करता है। आपकी सेवा उपलब्ध कराती हो तो अप्रतिबंधित मॉडल चुने जा सकते हैं; प्रदाता के नियम और सर्वर की संदर्भ व टूल क्षमताएँ फिर भी लागू हैं। बदलाव उपयुक्त है या नहीं, इसे सहायक के आत्मविश्वास के बजाय बताए उद्देश्य से आँकें।
अनुमत युग्मों के आवंटन की समीक्षा
क्या सबसे बड़ा मिलान वरीयताओं का भी पालन करता है?
अपने आप नहीं। उदाहरण का कार्य अनुमत युग्मों में आवंटनों की संख्या अधिकतम करता है। वरीयता स्थिरता या भारित गुणवत्ता महत्वपूर्ण हो तो उसे अलग बताएँ और जाँचें कि प्रस्तावित एल्गोरिदम केवल संख्या नहीं बल्कि उस उद्देश्य को संबोधित करता है।
पुनः आवंटन वाला मामला क्यों शामिल करें?
यह पहले के चयन संशोधित कर सकने वाले समाधान को ऐसे लालची चयन से अलग करता है जो जल्दी रुक सकता है। अपेक्षित युग्म संख्या और वैध विकल्प दें, फिर उन उदाहरणों के आधार पर प्रस्तावित कोड और आउटपुट जाँचें।
क्या परीक्षणों में युग्मों का एक सटीक समूह अनिवार्य होना चाहिए?
केवल जब अनुबंध को वही विशिष्ट परिणाम चाहिए। कई आवंटन समान अधिकतम संख्या का उद्देश्य पूरा कर सकते हैं। वैधता, सदस्य की विशिष्टता और आकार जाँचें तथा उदाहरणों को सख्त करने से पहले क्रम या बराबरी सुलझाने की आवश्यकताएँ दर्ज करें।
अनावंटित सदस्य कॉलर तक कैसे पहुँचने चाहिए?
तय करें कि कॉलर उन्हें अनुपस्थित युग्मों से निकालता है या स्पष्ट निरूपण अपेक्षित है। लौटाई संरचना के साथ उस सीमा की समीक्षा करें, फिर असंबद्ध इनपुट परखें ताकि अनुप्रयोग वैध अनावंटित सदस्य को पार्सिंग की विफलता न माने।
MatchOriel · अपडेट किया गया 2026-10-25