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

En büyük iki parçalı eşleme

İzin verilen kenar kümeleriyle her biri en fazla 32 düğümlü iki grup arasında en çok çift içeren eşlemeyi bul.

● ● ●MatchOriel●
İş akışları · En büyük iki parçalı eşleme ×
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)
✳İzin verilen kenar kümeleriyle her biri en fazla 32 düğümlü iki grup arasında en çok çift içeren eşlemeyi bul.
✓ DeğişikliklerUygulamadan önce inceleyin ↗
Çalışma alanı çizimi
  1. 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.

  2. Proje

    Yalıtık düğümleri ve artırıcı yolla yeniden atamayı dene, kümeleri değiştirmeden geçersiz indisleri reddet.

  3. 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ı

En büyük iki parçalı eşleme

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

Düzenlemeden önce atama hedefini netleştirin

MatchOriel, atama mantığını onu kullanan uygulamanın bağlamında tartışmak için bir Windows yapay zekâ kodlama çalışma alanıdır. Kaynak projeyi açın, bir eşleşmeye neyin izin verdiğini ve sonucun neyi eniyilemesi gerektiğini açıklayın. Bağlı asistandan değişiklik önermeden önce gereksinimlerin girdi yapısında ve kodda nasıl yer aldığını incelemesini isteyin.

En fazla sayıda eşleşme bulma görevi bir örnektir. İzinli çiftleri getirin ve amacın yalnızca mümkün olduğunca çok üyeyi atamak olup olmadığını açıklayın. Modelden, bu hedefe ulaşmak için önceki bir seçimin yeniden atanması gereken bir durumu incelemesini isteyin. Uygulamanız gerektiriyorsa tercih sıralamasını veya diğer iş kurallarını açıkça belirtin; eşleşme sayısı bunları sağlamaz.

Öneriyi inceleyin ve dönen çiftleri geçerli kenarlar ve her üyenin tek kez yer alması açısından test edin. Kendi proje kontrollerinize bağlantısız üyeleri ve reddedilen indisleri dahil edin; çağıran kodun atanmamış girdileri nasıl işlediğini inceleyin. MatchOriel, gerektiğinde kimlik bilgileriyle OpenAI uyumlu veya Anthropic uç nokta bağlantılarını destekler. Kısıtlamasız modeller hizmetiniz sunduğunda seçilebilir; sağlayıcının kuralları ve sunucunun bağlam ve araç yetenekleri yine geçerlidir. Değişikliğin uygunluğunu asistanın kendinden emin oluşuna değil belirtilen hedefe göre değerlendirin.

İzinli çift atamalarını inceleme

En büyük eşleşme tercihleri de gözetir mi?

Otomatik olarak değil. Örnek görev, izinli çiftler arasındaki atama sayısını en üst düzeye çıkarır. Tercih kararlılığı veya ağırlıklı kalite önemliyse bunu ayrı belirtin ve önerilen algoritmanın yalnızca sayıyı değil o hedefi de ele alıp almadığını inceleyin.

Yeniden atama gerektiren bir durum neden eklenmeli?

Önceki seçimlerini değiştirebilen çözümü, çok erken durabilen açgözlü bir geçişten ayırır. Beklenen çift sayılarını ve geçerli alternatifleri sağlayın; önerilen kodu ve çıktısını bu örneklerle değerlendirin.

Testler tek bir kesin çift kümesi mi istemeli?

Yalnızca sözleşme bu özel sonucu gerektiriyorsa. Birden fazla atama aynı en fazla eşleşme hedefine ulaşabilir. Geçerliliği, benzersiz üyeliği ve boyutu kontrol edin; testleri katılaştırmadan önce sıralama veya eşitlik bozma gereksinimlerini belgeleyin.

Atanmamış üyeler çağıran koda nasıl ulaşmalı?

Çağıran kodun bunları eksik çiftlerden mi türeteceğini yoksa açık bir gösterim mi beklediğini tanımlayın. Dönen yapıyla bu sınırı inceleyin; uygulamanın geçerli bir atanmamış üyeyi ayrıştırma hatası saymaması için bağlantısız girdileri test edin.

Windows için indir ↗

MatchOriel · Güncellendi 2026-10-25