SStateAmaranth
कार्यप्रवाह

कोडिंग कार्यप्रवाह · पहुँच योग्य DFA अवस्थाओं की समतुल्यता

03
उत्पाद

कार्यप्रवाह

अधिकतम 16 अवस्थाओं और चार प्रतीकों वाले पूर्ण DFA की पहुँच योग्य अवस्थाएँ स्वीकृत प्रत्ययों के अनुसार समूहित करें। समतुल्य और भिन्न अवस्थाएँ जाँचें तथा अप्राप्य अवस्थाएँ हटाकर अमान्य संक्रमण अस्वीकार करें।

01

ऐप डाउनलोड करें

फ़ोल्डर चुनें और संपादन से पहले सहायक से संबंधित फ़ाइलें पढ़ने को कहें। काम का उद्देश्य और सीमाएँ बताएँ।

02

प्रोजेक्ट फ़ोल्डर खोलें

संगत endpoint चुनें। उपलब्ध उपकरण और उत्तरों की गुणवत्ता चुने गए मॉडल तथा सर्वर पर निर्भर करती है।

03

मॉडल जोड़ें और जाँचें

बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

04

बदलाव देखें और परीक्षण चलाएँ

वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।

पहुँच योग्य DFA अवस्थाओं की समतुल्यता

कार्यप्रवाह
def dfa_classes(table, accepting):
    if type(table) is not list or not 1 <= len(table) <= 16:
        raise ValueError("state count")
    n = len(table)
    if type(table[0]) is not list or not 1 <= len(table[0]) <= 4:
        raise ValueError("alphabet size")
    width = len(table[0])
    if any(type(row) is not list or len(row) != width or
           any(type(x) is not int or not 0 <= x < n for x in row)
           for row in table):
        raise ValueError("complete transition table")
    if type(accepting) is not set or any(
        type(x) is not int or not 0 <= x < n for x in accepting):
        raise ValueError("accepting states")
    seen, pending = {0}, [0]
    while pending:
        for dest in table[pending.pop()]:
            if dest not in seen:
                seen.add(dest); pending.append(dest)
    groups = [g for g in (seen & accepting, seen - accepting) if g]
    while True:
        owner = {s: i for i, g in enumerate(groups) for s in g}
        refined = []
        for group in groups:
            buckets = {}
            for state in sorted(group):
                key = tuple(owner[d] for d in table[state])
                buckets.setdefault(key, set()).add(state)
            refined.extend(buckets.values())
        if len(refined) == len(groups):
            return sorted([sorted(g) for g in refined])
        groups = refined

लागू करने से पहले समीक्षा करें. बदलाव और कमांड का आउटपुट देखें। परिणाम स्वीकार करने से पहले प्रोजेक्ट की जाँच चलाएँ; बनाया गया कोड अपने आप परीक्षण किया हुआ नहीं होता।

AI के साथ कोड का कार्यक्षेत्र

आपका अगला विचार यहीं शुरू होता है।

Windows के लिए डाउनलोड करें ↗