MMatchOriel
Không gian lập trình với AI

Ghép cặp hai phía cực đại về số lượng

Tìm ghép cặp có số lượng lớn nhất giữa hai nhóm tối đa 32 đỉnh từ các tập cạnh được phép.

● ● ●MatchOriel●
Quy trình · Ghép cặp hai phía cực đại về số lượng ×
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)
✳Tìm ghép cặp có số lượng lớn nhất giữa hai nhóm tối đa 32 đỉnh từ các tập cạnh được phép.
✓ Thay đổiKiểm tra trước khi áp dụng ↗
Minh họa không gian làm việc
  1. Mô hình

    Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.

  2. Dự án

    Thử đỉnh cô lập và đổi ghép qua đường tăng, từ chối chỉ số sai mà không sửa tập cạnh.

  3. Kiểm tra trước khi áp dụng

    So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

Quy trình

Ghép cặp hai phía cực đại về số lượng

Quy trình ↗
Quy trình
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)
Không gian lập trình với AI

Làm rõ mục tiêu ghép cặp trước khi sửa mã

MatchOriel là không gian lập trình AI trên Windows để thảo luận logic ghép cặp trong ngữ cảnh ứng dụng sử dụng nó. Mở dự án nguồn và giải thích điều gì khiến một cặp hợp lệ cũng như kết quả cần tối ưu điều gì. Yêu cầu trợ lý được kết nối kiểm tra cách những yêu cầu đó thể hiện trong cấu trúc đầu vào và mã trước khi đề xuất thay đổi.

Bài toán tìm ghép cặp có số cặp lớn nhất là một ví dụ. Cung cấp các cặp được phép và mô tả mục tiêu có đơn giản là ghép được càng nhiều thành viên càng tốt hay không. Yêu cầu mô hình rà soát trường hợp cần thay đổi lựa chọn trước đó để đạt mục tiêu. Nêu rõ thứ hạng ưu tiên hoặc quy tắc nghiệp vụ khác nếu ứng dụng cần, vì số lượng cặp ghép không xác nhận những điều đó.

Kiểm tra đề xuất và kiểm thử các cặp trả về để bảo đảm cạnh hợp lệ và mỗi thành viên chỉ xuất hiện một lần. Đưa thành viên không kết nối và chỉ số bị từ chối vào các bước kiểm tra dự án, rồi rà soát cách mã gọi hàm xử lý mục chưa được ghép. MatchOriel hỗ trợ kết nối điểm cuối tương thích OpenAI hoặc Anthropic với thông tin xác thực khi cần. Có thể chọn mô hình không hạn chế khi dịch vụ của bạn cung cấp; quy định của nhà cung cấp cùng khả năng ngữ cảnh và công cụ của máy chủ vẫn áp dụng. Dùng mục tiêu đã nêu để đánh giá thay đổi có phù hợp hay không, thay vì độ tự tin của trợ lý.

Rà soát việc ghép các cặp được phép

Ghép cặp lớn nhất có đồng thời tôn trọng ưu tiên không?

Không tự động. Tác vụ minh họa tối đa hóa số cặp trong các cặp được phép. Nếu tính ổn định theo ưu tiên hoặc chất lượng có trọng số quan trọng, hãy nêu riêng và rà soát xem thuật toán đề xuất có giải quyết mục tiêu đó thay vì chỉ số lượng hay không.

Vì sao cần trường hợp phải ghép lại?

Nó phân biệt lời giải có thể sửa lựa chọn trước với lượt xử lý tham lam có thể dừng quá sớm. Cung cấp số cặp mong đợi và các phương án hợp lệ, rồi kiểm tra mã đề xuất và đầu ra theo những ví dụ đó.

Kiểm thử có nên yêu cầu đúng một tập cặp cụ thể?

Chỉ khi quy ước yêu cầu kết quả cụ thể ấy. Nhiều phương án có thể đạt cùng mục tiêu số cặp lớn nhất. Kiểm tra tính hợp lệ, tính duy nhất của thành viên và số lượng, rồi ghi rõ yêu cầu thứ tự hoặc phá hòa trước khi siết chặt ca kiểm thử.

Mã gọi hàm nên nhận các thành viên chưa được ghép thế nào?

Xác định bên gọi suy ra chúng từ các cặp thiếu hay cần dạng biểu diễn tường minh. Rà soát ranh giới đó cùng cấu trúc trả về, rồi kiểm thử đầu vào không kết nối để ứng dụng không coi thành viên chưa được ghép hợp lệ là lỗi phân tích dữ liệu.

Tải cho Windows ↗

MatchOriel · Cập nhật 2026-10-25