주어진 사다리가 유효한지 어떻게 효율적으로 판단합니까?


28

지역 스쿼시 클럽에는 다음과 같은 사다리 가 있습니다.

  1. 시즌 초에 우리는 클럽의 각 회원의 이름을 별도의 줄에 테이블을 구성합니다.
  2. 그런 다음 승리 한 게임 수와 각 이름 옆에 플레이 한 게임 수를 기록합니다 (플레이어 승 / 게임 형식).

따라서 시즌이 시작될 때 테이블은 다음과 같습니다.

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

한 명의 플레이어가 이기면 두 명의 플레이어가 경기를 할 수 있습니다. 테이블 바닥에 가장 가까운 플레이어가 승리하면 플레이어의 위치가 바뀝니다. 그런 다음 2 단계를 반복하여 각 플레이어 옆에있는 승리 및 게임 수를 업데이트합니다. 예를 들어 앨리스가 빌리를 이길 경우

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

이 경기는 시즌 내내 진행되며 결국 선수는 대략적인 강도 순서로 나열됩니다.

불행히도 업데이트는 다소 우연한 방식으로 발생하므로 실수가 발생합니다. 아래는 유효하지 않은 테이블의 예입니다. 즉, 일부 시작 순서 (계절이 시작될 때 사용한 순서를 잊어 버렸습니다) 및 일치 및 결과 시퀀스에 대해 위의 단계를 올바르게 수행하여 생성 할 수없는 테이블입니다.

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

테이블이 주어지면 테이블이 유효한지 어떻게 효율적으로 결정할 수 있습니까? 우리는 다음을 주목함으로써 시작할 수 있습니다.

  1. 이름의 순서는 중요하지 않습니다. 원래 시작 순서를 잊었 기 때문입니다.

  2. 총 승리 횟수는 플레이 한 게임 수의 절반입니다. (이는 위의 첫 번째 예가 유효하지 않음을 나타냅니다.)

  3. 테이블이 유효하다고 가정하십시오. 그런 다음 멀티 그래프 (다중 에지를 허용하지만 루프는 허용하지 않는 그래프)가 있습니다. 그런 다음 각 플레이어가 재생 한 총 게임 수는 멀티 그래프에서 플레이어의 정점 정도에 해당합니다. 따라서 적절한 정점도를 가진 다중 그래프가 없으면 테이블이 유효하지 않아야합니다. 예를 들어, 차수가 1이고 차수가 3 인 다중 그래프가 없으므로 두 번째 예는 유효하지 않습니다. [우리는 그러한 다중 그래프의 존재를 효율적으로 확인할 수 있습니다.]

따라서 처음부터 적용 할 수있는 두 가지 검사가 있지만 세 번째 예와 같이 여전히 유효하지 않은 테이블을 허용합니다. 이 테이블이 유효하지 않다는 것을 확인하기 위해 테이블이 발생할 수있는 모든 가능한 방법을 모두 사용하여 뒤로 작업 할 수 있습니다.

이 결정 문제를 해결하는 다항식 시간 (플레이어 수 및 게임 수) 알고리즘을 누구나 생각할 수 있는지 궁금합니다.


2
아마 지시 된 다중 그래프를위한 Havel Hakimi 유형 정리가있을 것이다.
Aryabhata

세 번째 예가 불가능한 이유는 무엇입니까? 앨리스가 밥을 이기면 캐롤은 밥을, 캐롤은 Daffyd를 이겼습니다. 그러면 Alice는 1 게임 중 1 게임을, Bob은 2 게임 중 0을, Carol은 2 게임 중 2를, Daffyd는 1 게임 중 0을 얻었습니까?
utdiscant

utdiscant : 각 게임 후, 낮은 플레이어가 이기면 플레이어가 전환됩니다. 세 번째 예가 가능하다는 것을 보여 주려면, 시작 구성과 일련의 게임, 즉 순서와 함께 주어진 테이블을 제공해야합니다.
Ben

aryabhata : 감사합니다. 네, 유용한 단계입니다. 불행히도, 그것은 다소 어렵게 들립니다 ...
Ben

1
이것을 연구 / 해결하기위한 제안. SAT 문제로 지정하십시오. 그런 다음 많은 무작위 사례를 시도하십시오. 표준 솔버에 어려운 것이 있는지 확인하십시오. 그렇지 않다면, 아마도 P의 제한된 부분 집합
vzn

답변:


1

이것은 완전한 대답이 아닙니다. 나는 문제에 대한 간단한 진술과 몇 가지 언급을한다.

정점에 이라는 레이블이 붙은 그래프로 시작 합니다.[n]

vulabel(v)<label(u)

Gne

NPG

관측

label(v)vv

이 관측 값을 Havel-Hakimi 와 결합 하여 다항식 시간 알고리즘을 제공 할 수 있어야한다고 생각합니다 .


안녕. 고맙습니다. 사다리와 관련하여 다시 한 번 관찰 한 내용을 말씀해 주시겠습니까? 순서 3의 그래프에 대한 반례가 있다고 생각하지만 잘못 읽었을 것입니다.
Ben

@Ben, 나는 다음과 같다고 생각할 수있다 : 당신은 사다리의 마지막 사람이 토너먼트가 시작될 때이긴 모든 게임을하고 토너먼트가 끝날 때 잃은 모든 게임을했다고 가정 할 수있다 . 이에 대한 반례가 있는지 알려 주시면 자세히 살펴 보지 않았습니다.
Kaveh

불행히도, 이와 같은 사다리가 있습니다 : A 2/2 B 0/1 C 0/1
Ben

@Ben, 나는 그 예제가 내가 쓴 것과 일치한다고 생각한다. 즉, 이것은 관측에 반대되는 예가 아니다.
Kaveh

사다리가 유효합니다. 마지막으로 플레이 한 게임이 C의 손실이라고 가정합시다. 마지막으로 게임을하기 전에 래더는 C 0/0 B 0/1 A 1/1과 같은 모양이어야하지만이 래더는 유효하지 않습니다. 따라서, 우리는 마지막 경기가 C의 패배라고 가정 할 수 없습니다.
Ben

0

나는 문제를 해결하지 못했지만 그 결과는 아래에 나와있다. 관심이 있으시면 증거를 작성하겠습니다.

제안 . 래더 (1)가 둘 이상의 플레이어 (2)를 포함한다고 가정하고 동일한 수의 승패를 포함한다고 가정하자. 그리고 (3) 각 플레이어가 적어도 하나의 게임에서 이겼고 적어도 하나의 게임에서 졌을 때. 그런 다음 사다리가 유효합니다.

WiiLiiRi

Li=0

Wik:Rk>Ri,Wk>0(Lk1)++k:Rk<RiLk,
LiWi=0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.