PPairCrest
Yapay zekâ ile kod çalışma alanı

Kararlı tercih eşleştirme

En fazla 20 üyeli iki grubu eksiksiz katı tercih listeleriyle eşleştirin.

● ● ●PairCrest●
İş akışları · Kararlı tercih eşleştirme ×
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
✳En fazla 20 üyeli iki grubu eksiksiz katı tercih listeleriyle eşleştirin.
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
Modeller
Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
Proje
Boş grupları ve yarışan seçimleri deneyerek tekrarları veya eksikleri reddedin ve engelleyici çift kalmadığını kontrol edin.
Uygulamadan önce inceleyin
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
İş akışları

Kararlı tercih eşleştirme

İş akışları ↗
İş akışları
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
Yapay zekâ ile kod çalışma alanı

Kodu değiştirmeden önce atama gereksinimlerini görünür kılın

Bir atama özelliği için eşleşme listesi yeterli değildir: hangi girdilerin geçerli olduğu ve bir sonucu neyin kabul edilebilir kıldığı açıkça belirtilmelidir. PairCrest, bu gereksinimleri ilgili proje dosyalarıyla tartışmak için Windows üzerinde bir yapay zeka kodlama çalışma alanı sağlar. Uygulamanızın aldığı tercihlerden ve uyması gereken kısıtlardan başlayın, ardından mevcut uygulamanın incelenmesini isteyin.

Kararlı tercih eşleştirmesi örneği, olası bir geliştirme görevi sunar. Eksiksiz sıralamaların nasıl doğrulandığını, işlem sırasında eşleşmemiş işin nasıl temsil edildiğini ve son eşleşmelerin çağıran koda nasıl ulaştığını inceleyebilirsiniz. Gereksinimleriniz eşit tercihleri, eksik tercihleri veya farklı büyüklükte grupları içeriyorsa uyarlama istemeden önce bu uyuşmazlığı belirleyin. Örneğin daha dar varsayımları, gizli uygulama politikasına dönüşmek yerine tartışma boyunca görünür kalmalıdır.

Desteklenen OpenAI uyumlu veya Anthropic uç noktası üzerinden, gerektiğinde kimlik bilgileriyle sansürsüz bir yapay zeka modeli seçilebilir. Bağlamı, araçları ve kısıtlamaları model ile sunucu belirler. Önerilen girdi kontrollerini ve sonuç işlemeyi inceleyin; ardından sonuçlarını gözden geçirebildiğiniz küçük tercih tablolarını test edin. Ayrı bir yerel model sunucusu yalnızca çıkarımı kapsar; diğer araçlar yine harici hizmetlere bağlanabilir.

Tercih tabanlı bir özelliği netleştirme

Yararlı bir atama gereksinimi nasıl olmalıdır?

Grupları, izin verilen tercih biçimlerini ve nihai atamanın sağlaması gereken özelliği açıklayın. İnsanların inceleyebileceği küçük bir örnek verin. Uygulamanın sonucu nasıl değerlendirmesi gerektiğini belirtmeden en iyi gibi geniş anlamlı bir sözcük kullanmaktan kaçının.

Çevresindeki sözleşmeyi değiştirmeden eşit tercihler ekleyebilir miyim?

Bunu varsaymayın. Örnek, eksiksiz ve kesin sıralı tercihler bekler. Eşit tercihler hem girdi gösterimini hem de kabul edilebilir sonucun anlamını değiştirebilir. Önerilen algoritmayı veya çağıran kod değişikliğini incelemeden önce bu kararların açıkça verilmesini isteyin.

Büyük bir test veri kümesi olmadan çıktıyı nasıl inceleyebilirim?

Küçük tercih tablolarıyla başlayın ve oluşan eşleşmeleri belirtilen özelliğe göre kontrol edin. Reddetmeyi test etmek için geçersiz sıralamaları dahil edin. Bu odaklı durumlar incelemeyi destekler; uygulamanın kendi test paketi ise daha geniş girdi ve entegrasyon gereksinimlerini kapsamalıdır.

PairCrest kullanıcılar için neyin adil olduğuna karar verir mi?

Yazılım çalışma alanı, dağıtım politikanızı tanımlamaz. Gereksinimleri siz sağlarsınız ve sonuçlarını siz değerlendirirsiniz. Asistandan uygulama varsayımlarını açıklamasını isteyin, ardından bunların uygulamanızın kullanması amaçlanan kurallarla uyumunu inceleyin.

Windows için indir ↗

PairCrest · Güncellendi 2026-10-25