PS

Dhyang's method (2.5) 이게 이미 있었네

dhyang24 2023. 8. 2. 02:03
안녕히 계세요 여러분! 전 이 세상의 모든 굴레와 속박을 벗어 던지고 제 행복을 찾아 떠납니다!

저는 지난 시간에 다음 시간을 예고한 다음, 잠적했습니다.

 

근데 오늘 찾아보니까 굳이 D-index(더러운 index)를 사용하지 않더라도 루프가 있는 게임의 winning strategy (if there is any) 를 찾는 방법이 존재하더라고요?

이게 이미 있었네

 

혹시 궁금하신 분은

https://www.sciencedirect.com/science/article/pii/0097316586900580 를 보시거나, 

대충 google scholar 같은 웹사이트에 generalized Sprague-Grundy theorem을 찾아보시면 나옵니다.

근데 많이 더럽긴 해요

 

대충 설명을 하자면, 

1. Generalized function G(x) 를 정의합니다.

2. G(x) 는 non-negative integer와 infinite ordinal 로 이루어진 set입니다.

3. 이렇게 해놓고 시작 지점 을 {0,∞} 로 정의한다면?

4. 와! 놀랍게도 루프가 있어도 Grundy-index가 정의됩니다!

5. 이렇게 하고 합칠때는 똑같이 정수부분만 xor하고 무한이 존재하면 계승시키는 방식으로 정의를 한다면?

6. 와 이기는지 지는지 비기는지도 판별할 수 있습니다!

 

이게 이미 있었네

 

하지만 저는 아직 한가지를 알지 못했습니다.

그건 바로, D-index를 사용해 non-losing strategy를 구하는것이 이 방식보다 유의미하게 빠른지인데요

사실 위에 설명한 방법이 시복은 O(|V|+|E|) 라서 빨라 보이기는 하지만... 실제로 계산하는걸 구현하는게 이상하게 생긴 그래프에서는 엄청나게 어려울거 같은 기분이 들어서 (일단 제 짧은 생각으로는 우선 사이클을 모두 찾아내야 하는데 이거 딱봐도 np-hard의 냄새가 나죠?)

 

뭐 조금 더 정리가 되고 나서 (3)으로 돌아오도록 하겠습니다.

 

아니 근데 이게 이미 있었다니 너무한거 아니에요 😢

 

 

'PS' 카테고리의 다른 글

Solved.ac Grand Arena 후기 (?)  (0) 2023.08.06
Dhyang's method (2) 그래서 이게 왜 되는거죠  (1) 2023.06.13
Dhyang's method (1) 그런디 말입니다...  (1) 2023.06.12
BOJ 27077 16강과 쿼리  (0) 2023.01.04
14등 어케함  (0) 2022.10.05