PPairCrest
Środowisko programowania z AI

Stabilne dopasowanie preferencji

Dopasuj dwie grupy do 20 członków według kompletnych ścisłych preferencji.

● ● ●PairCrest●
Sposoby pracy · Stabilne dopasowanie preferencji ×
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
✳Dopasuj dwie grupy do 20 członków według kompletnych ścisłych preferencji.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
Modele
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Projekt
Sprawdź puste grupy i konkurujące wybory, odrzucając powtórzone lub brakujące preferencje i sprawdzając brak par blokujących.
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Sposoby pracy

Stabilne dopasowanie preferencji

Sposoby pracy ↗
Sposoby pracy
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
Środowisko programowania z AI

Ujawnij wymagania przydziału przed zmianą kodu

Funkcja przydziału potrzebuje czegoś więcej niż listy par: jasnego określenia poprawnych danych i warunków akceptowalnego wyniku. PairCrest udostępnia środowisko programowania z AI dla Windows, w którym omówisz te wymagania wraz z odpowiednimi plikami projektu. Zacznij od preferencji otrzymywanych przez aplikację i ograniczeń, których ma przestrzegać, a następnie poproś o analizę obecnej implementacji.

Przykład stabilnego kojarzenia według preferencji przedstawia jedno z możliwych zadań programistycznych. Możesz przeanalizować walidację pełnych rankingów, reprezentację nieprzydzielonych uczestników podczas przetwarzania i przekazywanie końcowych par do kodu wywołującego. Jeśli wymagania obejmują remisy, brakujące preferencje lub grupy o różnej liczebności, wskaż tę rozbieżność przed zleceniem adaptacji. Węższe założenia przykładu powinny pozostać jawne przez całą rozmowę, zamiast stać się ukrytą polityką aplikacji.

Model AI bez cenzury można wybrać przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt Anthropic, z danymi uwierzytelniającymi, jeśli są wymagane. Model i serwer określają kontekst, narzędzia i ograniczenia. Przejrzyj proponowane kontrole danych i obsługę wyników, a następnie przetestuj małe tabele preferencji, których wyniki możesz ocenić. Osobny lokalny serwer modelu obejmuje tylko wnioskowanie; inne narzędzia nadal mogą łączyć się z usługami zewnętrznymi.

Doprecyzowanie funkcji opartej na preferencjach

Jak wygląda użyteczne wymaganie dotyczące przydziału?

Opisz grupy, dozwolone formy preferencji i własność, którą końcowy przydział ma spełniać. Podaj mały przykład możliwy do ręcznego sprawdzenia. Unikaj ogólnych określeń typu najlepszy bez wskazania, jak aplikacja ma oceniać wynik.

Czy mogę dodać remisy bez zmiany pozostałego kontraktu?

Nie zakładaj tego. Przykład wymaga pełnych, ścisłych preferencji. Remisy mogą zmienić zarówno reprezentację danych, jak i znaczenie akceptowalnego wyniku. Poproś o jawne rozstrzygnięcie tych kwestii przed oceną proponowanego algorytmu lub zmiany kodu wywołującego.

Jak ocenić wyniki bez dużego zbioru testowego?

Zacznij od małych tabel preferencji i sprawdź wynikowe pary względem określonej własności. Uwzględnij nieprawidłowe rankingi, aby sprawdzić ich odrzucanie. Takie konkretne przypadki wspierają przegląd, natomiast zestaw testów aplikacji powinien obejmować szersze wymagania wejściowe i integracyjne.

Czy PairCrest rozstrzyga, co jest sprawiedliwe dla użytkowników?

Środowisko programistyczne nie definiuje polityki przydziału. Ty dostarczasz wymagania i oceniasz ich konsekwencje. Poproś asystenta o wyjaśnienie założeń implementacji, a następnie sprawdź, czy odpowiadają regułom, które aplikacja ma stosować.

Pobierz dla Windows ↗

PairCrest · Zaktualizowano 2026-10-25