PPairCrest
Pracovní prostředí s AI pro kód

Stabilní párování preferencí

Spárujte dvě skupiny nejvýše 20 členů podle úplných ostrých preferencí.

● ● ●PairCrest●
Pracovní postupy · Stabilní párování preferencí ×
from collections import deque
def stable_pairs(proposers, receivers):
    if type(proposers) not in (list, tuple) or type(receivers) not in (list, tuple):
        raise ValueError("preference tables must be lists or tuples")
    n = len(proposers)
    if n > 20 or len(receivers) != n: raise ValueError("equal sizes up to 20")
    for rows in (proposers, receivers):
        for row in rows:
            if type(row) not in (list, tuple) or len(row) != n or any(type(v) is not int for v in row) or set(row) != set(range(n)):
                raise ValueError("complete strict preferences")
    ranks = [{v:i for i,v in enumerate(row)} for row in receivers]
    free, next_choice = deque(range(n)), [0]*n
    owner, partner = [None]*n, [None]*n
    while free:
        p = free.popleft()
        r = proposers[p][next_choice[p]]
        next_choice[p] += 1
        old = owner[r]
        if old is None or ranks[r][p] < ranks[r][old]:
            owner[r], partner[p] = p, r
            if old is not None: partner[old] = None; free.append(old)
        else: free.append(p)
    return partner
✳Spárujte dvě skupiny nejvýše 20 členů podle úplných ostrých preferencí.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Projekt
Ověřte prázdné skupiny a soupeřící volby, odmítněte opakované či chybějící preference a zkontrolujte absenci blokujícího páru.
Před použitím zkontrolujte
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Pracovní postupy

Stabilní párování preferencí

Pracovní postupy ↗
Pracovní postupy
from collections import deque
def stable_pairs(proposers, receivers):
    if type(proposers) not in (list, tuple) or type(receivers) not in (list, tuple):
        raise ValueError("preference tables must be lists or tuples")
    n = len(proposers)
    if n > 20 or len(receivers) != n: raise ValueError("equal sizes up to 20")
    for rows in (proposers, receivers):
        for row in rows:
            if type(row) not in (list, tuple) or len(row) != n or any(type(v) is not int for v in row) or set(row) != set(range(n)):
                raise ValueError("complete strict preferences")
    ranks = [{v:i for i,v in enumerate(row)} for row in receivers]
    free, next_choice = deque(range(n)), [0]*n
    owner, partner = [None]*n, [None]*n
    while free:
        p = free.popleft()
        r = proposers[p][next_choice[p]]
        next_choice[p] += 1
        old = owner[r]
        if old is None or ranks[r][p] < ranks[r][old]:
            owner[r], partner[p] = p, r
            if old is not None: partner[old] = None; free.append(old)
        else: free.append(p)
    return partner
Pracovní prostředí s AI pro kód

Před úpravou kódu jasně formulujte požadavky na přiřazování

Funkce přiřazování potřebuje více než seznam dvojic: vyžaduje jasný popis platných vstupů a toho, co činí výsledek přijatelným. PairCrest nabízí prostředí pro programování s AI ve Windows, kde lze tyto požadavky probírat s příslušnými soubory projektu. Začněte preferencemi, které aplikace přijímá, a omezeními, která má dodržovat, a poté požádejte o kontrolu současné implementace.

Příklad stabilního párování podle preferencí nabízí jednu možnou vývojovou úlohu. Můžete prověřit validaci úplných pořadí, reprezentaci dosud nespárovaných položek během zpracování a předání konečných dvojic volajícímu. Pokud požadavky zahrnují shody v pořadí, chybějící preference nebo nestejně velké skupiny, upozorněte na tento nesoulad ještě před žádostí o úpravu. Užší předpoklady příkladu mají zůstat zřejmé po celou diskusi, místo aby se staly skrytou zásadou aplikace.

Model AI bez cenzury lze zvolit prostřednictvím podporovaného koncového bodu kompatibilního s OpenAI nebo koncového bodu Anthropic, podle potřeby s přihlašovacími údaji. Kontext, nástroje a omezení určuje model a server. Prověřte navržené kontroly vstupů a zpracování výsledků a poté otestujte malé tabulky preferencí s výsledky, které můžete prohlédnout. Samostatný lokální server modelu zajišťuje pouze inferenci; další nástroje se stále mohou připojovat k externím službám.

Upřesnění funkce založené na preferencích

Jak vypadá užitečný požadavek na přiřazování?

Popište skupiny, povolené podoby preferencí a vlastnost, kterou má konečné přiřazení splňovat. Uveďte malý příklad, který lze ručně prohlédnout. Vyhněte se obecným slovům jako nejlepší, pokud nevysvětlíte, jak má aplikace výsledek hodnotit.

Mohu přidat shody v pořadí bez změny souvisejícího kontraktu?

Nepředpokládejte to. Příklad očekává úplné striktní preference. Shody mohou změnit reprezentaci vstupů i význam přijatelného výsledku. Než budete hodnotit navržený algoritmus nebo změnu volajícího kódu, výslovně si tato rozhodnutí vyžádejte.

Jak mohu zkontrolovat výstup bez rozsáhlého testovacího souboru?

Začněte malými tabulkami preferencí a ověřte výsledné dvojice podle stanovené vlastnosti. Zahrňte neplatná pořadí pro otestování odmítnutí. Tyto cílené případy usnadňují kontrolu, zatímco vlastní testovací sada aplikace má pokrývat širší požadavky na vstupy a integraci.

Rozhoduje PairCrest o tom, co je pro uživatele spravedlivé?

Programovací prostředí neurčuje vaše pravidla přidělování. Požadavky dodáváte vy a posuzujete jejich důsledky. Požádejte asistenta o vysvětlení předpokladů implementace a pak prověřte, zda odpovídají pravidlům, která má aplikace používat.

Stáhnout pro Windows ↗

PairCrest · Aktualizováno 2026-10-25