Làm thế nào để xác định một cách hiệu quả liệu một cái thang nhất định có hợp lệ không?


28

Tại câu lạc bộ bóng quần địa phương của tôi, có một cái thang hoạt động như sau.

  1. Vào đầu mùa giải, chúng tôi xây dựng một bảng với tên của từng thành viên của câu lạc bộ trên một dòng riêng biệt.
  2. Sau đó chúng tôi viết số trò chơi đã thắng và số trò chơi được chơi bên cạnh mỗi tên (theo hình thức: người chơi thắng / trò chơi).

Do đó, vào đầu mùa, bảng trông như thế này:

Carol 0/0
Billy 0/0
Alice 0/0
Daffyd 0/0

Bất kỳ hai người chơi có thể chơi một trận đấu, với một người chơi chiến thắng. Nếu người chơi ở gần cuối bảng sẽ thắng, thì vị trí của người chơi sẽ được chuyển. Sau đó, chúng tôi lặp lại bước 2., cập nhật số trận thắng và trò chơi bên cạnh mỗi người chơi. Ví dụ, nếu Alice đánh bại Billy, chúng ta có

Carol 0/0
Alice 1/1
Billy 0/1
Daffyd 0/0

Các trận đấu này diễn ra trong suốt mùa giải và cuối cùng dẫn đến việc người chơi được liệt kê theo thứ tự sức mạnh gần đúng.

Thật không may, việc cập nhật xảy ra theo một cách khá khó hiểu, vì vậy những sai lầm được thực hiện. Dưới đây là một số ví dụ về các bảng không hợp lệ, nghĩa là các bảng không thể được tạo bằng cách thực hiện đúng các bước trên cho một số thứ tự bắt đầu (chúng tôi đã quên thứ tự chúng tôi sử dụng vào đầu mùa giải) và chuỗi kết quả và kết quả:

Alice 0/1
Billy 1/1
Carol 0/1
Daffyd 0/0

Alice 2/3
Billy 0/1
Carol 0/0
Daffyd 0/0

Alice 1/1
Billy 0/2
Carol 2/2
Daffyd 0/1

Đưa ra một bảng, làm thế nào chúng ta có thể xác định một cách hiệu quả liệu nó có hợp lệ không? Chúng ta có thể bắt đầu bằng cách lưu ý những điều sau:

  1. Thứ tự của các tên không quan trọng, vì chúng ta đã quên thứ tự bắt đầu ban đầu.

  2. Tổng số trận thắng phải bằng một nửa tổng số trận đã chơi. (Điều này cho thấy ví dụ đầu tiên ở trên không hợp lệ.)

  3. Giả sử bảng là hợp lệ. Sau đó, có một multigraph - một biểu đồ thừa nhận nhiều cạnh nhưng không có vòng lặp - với mỗi đỉnh tương ứng với một người chơi và mỗi cạnh cho một trận đấu được chơi. Sau đó, tổng số trò chơi của mỗi người chơi tương ứng với mức độ đỉnh của người chơi trong nhiều hình. Vì vậy, nếu không có nhiều chữ số với độ đỉnh thích hợp, thì bảng phải không hợp lệ. Ví dụ, không có nhiều chữ số với một đỉnh bậc một và một bậc ba, vì vậy ví dụ thứ hai không hợp lệ. [Chúng ta có thể kiểm tra hiệu quả sự tồn tại của một chữ số như vậy.]

Vì vậy, chúng tôi có hai kiểm tra mà chúng tôi có thể áp dụng để bắt đầu, nhưng điều này vẫn cho phép các bảng không hợp lệ, chẳng hạn như ví dụ thứ ba. Để thấy rằng bảng này không hợp lệ, chúng ta có thể làm việc ngược lại, làm cạn kiệt tất cả các cách có thể mà bảng có thể phát sinh.

Tôi đã tự hỏi liệu có ai có thể nghĩ về một thời gian đa thức (về số lượng người chơi và số lượng trò chơi) giải quyết vấn đề quyết định này không?


2
Có lẽ có một định lý loại Havel Hakimi cho đa văn bản có hướng ...
Aryabhata

Tại sao ví dụ thứ ba không thể thực hiện được? Điều gì sẽ xảy ra nếu Alice thắng Bob, Carol thắng Bob và Carol thắng Daffyd. Sau đó Alice thắng 1 trên 1 game, Bob thắng 0 trên 2 game, Carol thắng 2 trên 2 game và Daffyd thắng 0 trên 1 game?
utdiscant

utdiscant: Sau mỗi trò chơi, nếu người chơi thấp hơn thắng, người chơi sẽ được chuyển đổi. Để chỉ ra rằng ví dụ thứ ba là có thể, bạn sẽ cần đưa ra một cấu hình bắt đầu và một chuỗi các trò chơi - nghĩa là, với một thứ tự - dẫn đến bảng đã cho.
Ben

aryabhata: Cảm ơn - vâng, đó sẽ là một bước hữu ích. Thật không may, nó có vẻ khá khó khăn ...
Ben

1
một gợi ý để nghiên cứu / giải quyết điều này. chỉ định nó là một vấn đề SAT. sau đó thử nhiều trường hợp ngẫu nhiên. xem nếu có khó cho một người giải tiêu chuẩn. nếu không, có thể đó là tập hợp con bị ràng buộc trong P.
vzn

Câu trả lời:


1

Đây không phải là một câu trả lời đầy đủ. Tôi đưa ra một tuyên bố đơn giản hơn về vấn đề và một số nhận xét.

Chúng tôi bắt đầu với một biểu đồ trong đó các đỉnh được gắn nhãn .[n]

vulabel(v)<label(u) chuyển nhãn của họ.

Gne cạnh , kiểm tra xem nó có thể thu được bằng cách sử dụng thao tác ở trên không.

NPG .

Quan sát

label(v)vv được thêm vào lúc bắt đầu chuỗi.

Tôi nghĩ rằng có thể kết hợp quan sát này với Havel-Hakimi để đưa ra thuật toán thời gian đa thức.


Chào. Cảm ơn bạn. Bạn có phiền nói rõ quan sát của bạn một lần nữa trong bối cảnh của thang không? Tôi nghĩ rằng có một ví dụ cho biểu đồ bậc 3, nhưng có lẽ tôi đã đọc sai.
Ben

@Ben, tôi nghĩ nó sẽ như sau: bạn có thể giả sử rằng người cuối cùng trên thang đã chơi tất cả các trò chơi mà anh ta thắng khi bắt đầu giải đấu và chơi tất cả các trò chơi mà anh ta thua khi kết thúc giải đấu . Hãy cho tôi biết nếu có một ví dụ ngược lại với điều này, tôi đã không kiểm tra kỹ điều này.
Kaveh

Thật không may, có những cái thang như thế này: A 2/2 B 0/1 C 0/1
Ben

@Ben, tôi nghĩ ví dụ này phù hợp với những gì tôi đã viết, tức là nó không phải là một ví dụ ngược với quan sát.
Kaveh

Các bậc thang là hợp lệ. Giả sử rằng trò chơi cuối cùng chơi là một mất mát cho C. Sau đó, trước trò chơi cuối cùng, thang phải có dạng như sau: C 0/0 B 0/1 A 1/1, nhưng thang này không hợp lệ. Do đó, chúng tôi không thể cho rằng trò chơi cuối cùng là một mất mát cho C.
Ben

0

Tôi chưa giải quyết được vấn đề, nhưng tôi có một phần kết quả, các tuyên bố được đưa ra dưới đây. Tôi sẽ viết ra bằng chứng nếu có ai quan tâm.

Đề xuất . Giả sử rằng thang (1) chứa nhiều hơn một người chơi (2) chứa số lần thắng và thua bằng nhau; và (3) sao cho mỗi người chơi đã thắng ít nhất một trận và thua ít nhất một trận. Sau đó thang là hợp lệ.

WiiLiiRi

Li=0

Wik:Rk>Ri,Wk>0(Lk1)++k:Rk<RiLk,
LiWi=0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.