게임이 균형 잡힌 지 / 공정한지 계산하거나 수학적으로 증명할 수 있습니까?


40

이 질문은 비디오 게임이 아니라 일반적인 게임에 중점을 둡니다. 어제 보드 게임 무역 박람회에 가서 게임의 공정성을 계산할 방법이 있는지 스스로에게 물었습니다. 물론, 그들 중 일부는 운이 좋은 부분이 필요하지만 일부 캐릭터가 압도적인지 계산할 수 있습니다. 특히 롤 플레잉 게임과 트레이딩 카드 게임에서. 예를 들어, "매직 : 더 개더링"제작자들이 사용 가능한 카드 수가 많은 경우 "모두를 능가하는 하나의 카드"가 없는지 어떻게 확인할 수 있습니까?


2
참고로 엄격하게이기는 게임은 모두에게 재미를 덜주는 게임이 있습니다. 원스 어폰 어 타임 은 특히 ​​주목할만한 사례 중 하나이지만 일반적으로 전체 "사회적"범주의 게임으로 가득합니다.
Martin Sojka

3
MtG 제작자는 많은 플레이 테스트를 수행하며, 도움이되지 않는 경우에도 (때로는 콤보가있어 첫 차례에 이길 수 있음) 토너먼트 (경고, TVTropes) 에서 카드를 금지합니다 .
liori

1
글쎄, 많은 시뮬레이션 / 데이터 수집을 실행하십시오. 이것이 스타 크래프트 2에서 균형을 잡는 방법입니다. 그들은 가장 많이 사용되는 유닛과 가장 많은 레이스에서 승리하는 것을 측정합니다. 데이터 수집은 복잡한 게임의 핵심이며 통계는 수학만큼이나 좋습니다. 심리적 효과도 포착 할 수 있기 때문에 더 잘 말할 수 있습니다. 그렇기 때문에 여러분이 기대하는 것보다 포커를하는 수학자가 거의 없습니다.
Per Alexandersson

최고의 독일 보드 게임 중 일부는 게임 이론을 전문으로 하는 수학자 (예 : Reiner Knizia ) 가 개발했으며 ,이를 보여줍니다. 특히 Knizia의 게임은 매우 잘 균형.
Konrad Rudolph

지금까지 MTG 제작자는 자주 실패했고 카드를 출시했습니다.이 카드는 훨씬 강력했습니다 (종종 고려하지 않은 다른 카드와의 상호 작용으로 인해). 그러므로 공식 토너먼트 플레이에서 금지되었습니다.
Philipp

답변:


34

그렇습니다. 이론적으로는 가능합니다 .이 주제를 다루는 게임 이론 의 좋은 부분입니다 .

그러나 그것은 거의 실용적이지 않으며 심지어 랜덤 라이저 (Chess, Reversi, Go 등)가 포함되지 않은 게임에만 적용됩니다. 조합 폭발 은 Magic the Gathering과 같은보다 복잡한 게임에 대한 증명에 필요한 이론적 시간이 현재 우주 시대보다 몇 배 더 길어질 수 있도록합니다.

결국, 사소하지 않은 게임 의 경우 게임의 균형 또는 공정성을 입증 한다는 개념을 포기 하고 대신 상식, 디자이너 본능, 게임 시스템 재사용 및 테스트 전체의 조합을 사용해야합니다 .


11
여기에 공정한 것으로 판명 된 게임이 반드시 선수들에 의해 공정 하다고 인식되는 것은 아닙니다 . 그리고 그것은 대부분의 시간에 정말로 중요한 인식입니다.
Nevermind

4
또한 체스 나 바둑도 공정한 것으로 입증되지 않았습니다. 체스에서는 백인 플레이어가 유리한지 여부를 수 없습니다. Go에서는 국가마다 komi 가 다르 므로 Go 그 중 하나를 제외하고는 공평 할 수 없습니다 .
BlueRaja-대니 Pflughoeft

4
@BlueRaja : 게임 이론은 게임 내 공정성을 분석하기위한 도구 (예 : 내쉬 평형)를 절대적으로 제공합니다. 대가가 같으면 게임은 공정합니다. 보수가 동일하지 않으면 게임이 불공평합니다. 모든 게임에 고유 한 내쉬 평형이있는 것은 아니며, 가장 흥미로운 게임에는 게임이 있더라도 계산하기 쉬운 게임이 없습니다 (그리고 아마도 "관심있는"의 정의에 의한 것). 그러나 게임 이론은이 영역을 절대적으로 다룹니다.

5
실제로, 게임이 총 랜덤 일지라도 공정한 것으로 입증 될 수 있습니다. 예를 들어, 동전 뒤집기 : 내가 이길 머리, 당신이이기는 꼬리. 공정성의 수학적 정의는 장기적으로 E (ProfitOrLoss) = 0입니다. 위의 Joe Wreschnig가 여기에 가장 정확한 의견을 가지고 있습니다.
kfmfe04

1
@ BlueRaja-DannyPflughoeft : Go in in different Komi : 점수도 약간 다르므로 두 효과를 모두 고려할 때 비교는 의미가 있습니다.
Pieter Geerkens

5

짧은 대답 : 정의되지 않았지만 사용 가능한 이동 수가 유한 한 모든 게임은 가능한 수의 게임을 갖습니다. 유한 한 "게임 트리 복잡도"를 가진 모든 게임은 이론적으로 모든 가능한 게임을 분석하여 각 플레이어가 이길 수있는 게임의 수가 같은지 여부를 결정할 수 있습니다.

간단히 말해서 : 플레이어 1이 게임의 가능한 모든 플레이 중 정확히 절반을 이기면 게임의 균형이 잡 힙니다. 이것이 사실이 아닌 경우, 게임은 한 플레이어 또는 다른 플레이어에게 편중됩니다.

그러나이 간단한 규칙은 실제로 적용하기가 불가능할 수 있습니다. 예를 들어, Go는 알려진 우주에 존재한다고 생각되는 원자의 수보다 많은 10 ^ 170 개의 가능한 게임 순서로 게임 트리 복잡성을 가지고 있습니다. 철저한 게임 트리를 컴파일하는 것은 불가능하다고 생각됩니다. 그러나, 재생 및 기록 된 게임 라이브러리는 수백만 개이며, 게임에 "첫 번째 이동 이점"(일반적으로 White에 부여 된 "komi"의 1.5 점으로 완화됨)이 있음을 제안합니다.

대조적으로, 전체 게임 트리 복잡성이 크더라도 모든 M, N, K 게임 (M 너비, N 높이의 그리드 보드), 플레이어가 플레이어를 배치하여 K 조각의 행을 만들 수있는 그리드 보드 바로 가기가 있기 때문에 이동 / 제거)가 해결됩니다. 게임 트리의 전체 "분기"는 항상 한 플레이어 또는 다른 플레이어를 잃는 것으로 식별 될 수 있습니다. 나머지 분기는 식별 할 수있는 패턴을 따릅니다. 틱택 토가 확실한 예입니다. 가능한 게임 수가 30 만 개에 불과할뿐 아니라 한 플레이어 또는 다른 플레이어가 다른 플레이어가 다음 이동에서 분명히 이길 수있는 움직임을하지 않는 게임은 16 개뿐입니다. 따라서 플레이어가 실제로 만들 가능성이 높은 게임을 고려하면 게임 트리가 작게 시작하고 작아집니다.

운이 좋은 게임에서 게임 트리의 복잡성은 각 플레이어가 이용할 수있는 결정의 수를 넘어 팽창합니다. 체스, 체커, 바둑, 오델로 등에서와 같이 게임은 더 이상 "완벽한 정보"로 재생되지 않기 때문에 당시에 알려진 정보를 완벽하게 제공 한 플레이어는 여전히 게임의 정보를 잃을 수 있습니다 임의의 요소. 이 게임에는 "솔루션"이 없습니다. 그러나 여전히 유한 게임 트리가 있으므로 이론적으로 게임을 철저히 분석 할 수 있습니다. 이것은 여전히 ​​타당하지 않다. 대신 확률과 관련된 게임은 "베스트 베팅"전략을 식별하기 위해 확률 적으로 분석되며, 이러한 전략이 다른 플레이어가 사용하는 전략 (동일한 전략 포함)에 관계없이 전략을 사용하는 플레이어에게 유리한 것으로 보일 경우,

일반적으로 다음 규칙이 적용됩니다. 게임 디자인이 본질적으로 다음 중 하나 이상에서 불평등을 초래하는 경우 게임에 편향이 있습니다.

  • 각 플레이어의 총 이동 수
  • 주어진 시간에 해당 플레이어에 대해 최소한 한 번 더 움직일 수있는 이동 횟수
  • 플레이어 힘의 시작 힘
  • 유한 자원 또는 전략적으로 중요한 영역에 대한 접근

이제 게임의 디자인은 하나의 불평등을 초래할 수 있지만 다른 불평등을 보완하려고 시도 할 수 있습니다. 또는 게임의 디자인은 편향을 일으킬 수있는 영역에서 임의성을 허용 할 수 있습니다. 즉, 한 게임은 편중 될 수 있고 다른 게임은 공정 할 수 있습니다 (임의의 시작 보드가있는 게임에서이를 나타낼 수 있음). 이 경우 장기적으로 거의 동등한 강도의 플레이어 간의 게임에 대한 경험적 분석만으로도 모든 편견을 입증 할 수 있습니다.

보드 게임의 편견에 대한 자세한 내용은 http://www.geekdo.com 의 포럼을 참조하십시오 . 게임에서 입증 된 편견과 일반적인 게임 개발에서 이러한 편견을 피하는 방법에 대한 몇 가지 토론이있었습니다.


3

모든 게임이 얼마나 다르고 복잡한 지에 따라 게임이 얼마나 공평한 지 평가할 수있는 사전에 수학 공식이없는 것 같습니다.

실제로 다른 게임 매개 변수를 비교 하고 캐릭터가 얼마나 좋은지에 대한 일종의 파워 스코어 를 구성 할 수는 없습니다 (게임이 매우 단순하지 않은 한) 모두 게임 플레이에 다르게 영향을 미치고 구현 방법에 따라 달라지기 때문에 힘이 활력과 어떤 관련이 있는지 평가하고 캐릭터의 특수 공격에 수치를 어떻게 부여합니까?)

게임을 테스트해야합니다. 많이 . 통계를 만들고 특정 캐릭터의 승리 빈도, 상황 등을 평가하기 위해 혼자서 게임을하고 다른 사람들이 게임을하고 전투 / 게임 결과를 파일에 저장하도록합니다. 그런 다음, 재생을 확인하는 방법을 구현해야합니다. 게임 플레이를 분석하여 그러한 캐릭터가 왜 압도적인지 알아보고 그에 따라 변경 사항을 적용하십시오.

실제로 테스트 이외의 다른 옵션은 없습니다. 이것이 베타가 존재하는 이유 중 하나입니다 (예 : 베타 인 Starcraft2는 블리자드에게 게임 결과에 따라 3 가지 레이스의 균형을 잡을 수있는 기회를주었습니다).

요약하자면, 게임을하고 다른 사람들이 게임을하도록하십시오 (베타를 시작하는 것이 옵션입니다). 재생 또는 자동 분석을 통해 게임의 균형이 맞지 않는 이유를 확인하고 그에 따라 변경해야 할 사항을 변경하십시오. 이것이 공정성에 접근 할 수있는 유일한 방법입니다.


1
게임테스트하려면 +1 하십시오 . 베타 테스트는 비디오 게임 및 보드 게임에서 중요합니다. 사용자가 게임을 더 많이 테스트할수록 누군가가 깨진 카드 나 철자를 찾아 모든 것을 망칠 가능성이 높습니다.
thedaian

2
공감 한 사람에게 왜 그렇습니까?
Jesse Emond

1
테스트가 진행 중입니다. 새 카드를 소개 하시겠습니까? 랜덤 데크의 대규모 시뮬레이션을 통해 얼마나 많은 승리를 거두 었는지 확인할 수 있습니다. 승리 한 플레이의 대부분이 새로운 카드와 관련이 있다면, 그 카드를 내리고 다시 시도해야합니다.
waterwizard11

2

게임이 균형 잡힌 게임이거나 공정한 게임임을 증명하려면 먼저 균형 잡힌 게임 또는 공정한 게임의 의미를 정의해야합니다. 이것들은 다양한 것을 포함 할 수있는 다소 모호한 용어입니다. 예를 들어 게임 '균형'은 종종 다음을 의미합니다.

  • 서로 다른 여러 측면에서 같은 기회를 이길 수 있습니다
  • 게임을 통한 진행이 점점 더 어려워집니다
  • 게임 내에서 내려진 결정은 일부 / 대부분 / 모든 경우에 동일한 비용 / 지불 비율을 제공합니다

등등.

일반적으로 나는 수학적으로 이와 같은 것을 증명하는 팬이지만 논리 또는 테스트를 통해 무엇이든 증명하려면 먼저 명확하게 정의해야합니다. 게임 규칙을 제대로 이해한다면 수학의 균형을 잡기 쉽게 할 수 있습니다. 다른 사람들은 경험적 테스트를 수행하지 않고 판단하기가 훨씬 더 어렵다. 주요 문제는 대부분의 게임 디자이너가 게임 규칙을 주변 시뮬레이션에 병합하고 후자는 정확하게 모델링하기가 어렵 기 때문에 게임의 메커니즘을 실제로 이해하지 못한다는 것입니다.


1

이론적으로는 가능하지만 대부분의 게임에서는 매우 어렵 기 때문에 불가능하다고 간주 될 수 있습니다.

한 가지 방법 : 게임을 일반 형태로 변환하십시오. 정상적인 형태의 게임은 각 플레이어와 전략에 따라 선택의 조합이있을 때 얼마나 좋은 결과가 나오는지를 나타냅니다. 랜덤 팩터는 다른 플레이어로 모델링 할 수 있습니다.

그런 다음 우위 / 지배 전략을 찾을 수 있습니다 (항상해야 할 것과 절대하지 않을 것). 지배적 인 전략을 포함하지 않는다면 게임은 흥미롭지 않을 것입니다.

그런 다음 각 플레이어가 스스로 보장 할 수있는 것을 볼 수 있습니다. "MY"선택 각각에 대해 최악의 가능한 결과를보고이 중에서 가장 좋은 것을 선택하십시오.

플레이어간에 많이 다른 경우 게임에 썩은 것이 있습니다.

살펴볼 다른 것들이 있습니다 (주로 혼합 전략 (일부 선택과 약간의 확률로 선택)), 내쉬 평형 (모든 플레이어가 다른 사람들이 할 것으로 알고있는 조합은 모두에게 가장 적합합니다).

그러나 첫 번째 단계는 대부분의 게임에서 매우 복잡하므로 일반적으로 그다지 유용하지 않습니다. 그러나 복잡한 세부 사항을 없애거나 전략을 인식 가능한 전략 세트 (예 : 초기 빌드 순서)로 대체하고 실제 게임에서 통계적으로 근접하여 결과를 얻을 수 있고 게임의 문제에 대해 알려줄 수 있다면 사용할 수 있습니다. 이 블리자드와 같은 것이 SC와 관련이 있다고 생각합니다.

또 다른 형태의 게임은 플레이어가 턴을하고 다른 사람들이하는 모든 것을 알고있는 게임입니다 (체스). 거기에서 게임의 상태 트리를 검색하여 지배적 인 전략을 검색 할 수 있습니다 (일반적으로 거대하기 때문에 너무 복잡하여 사용하기가 어렵습니다). 그리고 많은 게임은 완전히 지식이 없으며 많은 것을 복잡하게 만듭니다.

또 다른 접근법은 게임의 것을보고 비교하려고합니다.

또 다른 접근법 : 팀 전투 (많은 양의 참가자와 함께)의 경우 강제 시뮬레이션을 사용하려고 시도 할 수 있습니다 (사용하지 않았으며 높은 수학 (차등 방정식)과 게임을 아프로 트 모델로 변환하는 노력이 필요합니다).

결론적으로 게임 하위 시스템의 균형을 맞추기 위해 많은 작업을 수행 할 수 있으며 게임이 종료되고 베타 테스트 중일 때 결과를 분석하여 많은 작업을 수행 할 수 있지만 모든 것을 동일하게 만들지 않으면 게임의 균형을 거의 입증 할 수 없습니다. .

추신 : 하나의 속성을 여러 속성으로 대체하여 초기 속성을 계산하는 데 사용할 수 있으며 모든 것을 훨씬 무작위로 만들면 동일성을 숨길 수 있습니다.

실수로 실수를 저지르기 쉽다는 점에주의하십시오 (예 : 빠른 작은 공격 대 큰 느린 공격). 결과 0-90을 제공하지만 모두 분포가 다릅니다.

PS2 : 한 현명한 사람은 실제 균형이 중요하지 않다고 말했다.


지배적 인 전략 개념은 매우 중요합니다. 어떤 상황에서도 지배적 전략이 존재한다는 것은 본질적으로 불공평 함을 암시하지만 보통 균형 문제보다는 설계에 중복성을 가져옵니다. 그러나 디자이너는 모든 요소에 명확한 목적을 가질 수있는 기회를주기 위해 지배적 인 전략을 피할 수 있어야합니다.
Kylotan

내가 잊어 버린 한 가지 : 지배적 전략의 존재는 플레이어가 알고 있더라도 실행하기가 어려운 한 문제가 될 필요는 없다. 간단한 예를 들어, FPS에서는 헤드 샷이 지배적 인 전략이지만, 많은 선수들이 타격하기 쉬우므로 질량 중심으로 이동하지만 최적의 봇은 항상 헤드 샷으로 진행됩니다.
user470365

1

수학적으로 정답을 얻는 것에 대한 많은 좋은 답변이지만 다른 각도로 시도해 보겠습니다. 코드에서 허용하는 경우 매우 많은 수의 게임을 시뮬레이션 한 다음 전략 (또는 전략)이 있는지 확인할 수 있습니다 너무 자주이기십시오.

Monte-Carlo 시뮬레이션 또는 유전자 알고리즘에 익숙 할 것입니다. 이 아이디어는 관련이 있습니다. 게임을하려면 AI와 일부 주요 측정이 필요합니다. AI는 시작 변수가 다른 대규모 토너먼트에서 서로에게 가까워 지도록하고 결과를 측정합니다.

나는 항상 클래스와 무기의 균형을 맞추기 위해 그런 접근법을 시도하고 싶었습니다.


1

계산의 관점에서 볼 때 이것은 일반적으로 불가능하다고 대답하는 것처럼 들립니다 . 프로그램의 속성에 대한 질문을하고 있으며 쌀 정리 가 적용될 수 있습니다. 내 가정이 있다는 것이다 게임 에 작성하는 프로그램을 말한다 튜링 완전한 C와 같은 언어 ++. I는 해당 가정있어 계산하거나 게임이 적정인지 증명 일정한 시간에 C ++ 프로그램 (게임 프로그램) 및 종료 판독하는 C ++ 프로그램이 존재 수단 모든 가능한 입력에 대한이 두 출력 공정과, 불공평하다.

빠른 검색을 통해 결정적이지만 결정 불가능한 게임을 할 수 있음을 알 수 있습니다. 여기 7 과 International Journal of Game Theory에서 확인할 수있는 슬라이드 7을 참조하십시오 .

"알고리즘을 사용하는 컴퓨터는 게임을하고 심지어 게임을하는 법을 배웁니다. 그러나 알고리즘의 고유 한 유한 속성은 기계의 게임 플레이 능력에 한계를 부과합니다. M. Rabin은 1957 년에 2 인승 상실 게임을 구성함으로써이 한계를 설명했습니다. 결정 가능한 규칙은 있지만 계산 가능한 승리 전략은 없습니다. "

인간의 두뇌는 과거의 지식을 얻고 적용 할 수 있고 때로는 프로그램에서 무한 루프를 찾아서 정지 문제 와 같은 결과와 모순되는 것처럼 보이기 때문에 컴퓨터보다 훨씬 강력 합니다. 그러나 우리가 이것을하는 방법은 잘 알려져 있지 않으며 알고리즘으로 정확하고 명확하게 쓰여질 수 없습니다.


0

Martin Sojka의 답변에 대해 정말로 의견을 말하고 싶지만 평판이 없습니다. 그는 게임 이론에 게임의 공정성을 계산하는 것이 포함된다는 것이 맞습니다 (예를 들어, 체스 게임에서 흰색과 검은 색이 모두 동점 일지 여부에 관계없이 공개 질문이라면).

MtG의 경우 공정한지 여부를 계산하는 것이 완전히 불가능하지만 계산이 불가능하다는 것을 수학적으로 입증 한 사람은 아무도 없습니다.

그것이 공정하다는 것을 증명하는 것은 사소한 일이 될 수 있습니다-누가 먼저 가고 모든 사람이 같은 규칙에 따라 행동한다면 그것은 공정합니다. 먼저가는 사람이 항상이기는 ​​것일 수도 있지만, 누가 먼저 가는지를 공정하게 결정하면 게임은 공정합니다.


109자를 제거하면 주석으로 변환됩니다.
Jesse Dorsey

-2

"공정"의 의미는 모호합니다.

Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper-scissors) 게임을 생각해보십시오. 공평하다고 생각합니다 (나에 따르면).

이제 게임을 고려해 봅시다 : 가위 바위 보-우물이 바위와 종이를 이기고 우물이 종이에지는 곳. 불균형, 맞습니까? 우물은 꽤 압도적 인 것처럼 보입니다. 두 무기를 이기고 하나를 잃습니다.

그러나 두 사람이 무기를 능가하여 상대방이 우물을 사용할 가능성이 더 높다는 것을 알면 종이를 더 자주 선택하여 행동 할 수 있습니다.

따라서 잠재력을 능가하는 잠재력에 대한 해답이 있습니다. 종이를 더 자주 선택하십시오. 그러나 당신은 상대방이 그 사실을 알고 종이를 자주 사용할 수 있다는 것을 알고 있으므로 시스를 더 자주 사용해야한다고 생각합니다. 기타 실제로는 강력하지 않고 다른 규칙을 가진 다른 게임 일뿐입니다.

게임 이론, 특히 불완전한 정보가있는 게임 (http://en.wikipedia.org/wiki/Game_theory)에 대해 읽어 보는 것이 좋습니다.


5
어떤 항목의 조합이 포함 되든지 상관없이 모든 Rock-Paper-Scissors 변형은 두 플레이어가 동일하기 때문에 분명히 공정합니다. 대부분의 보드 게임에서는 한 명의 플레이어가 먼저 움직입니다.
Random832

-1. 공정하거나 불분명하거나 (알 수없는 경우 알거나 알 수 없거나 알 수없는) 게임 이론은 모호함없이 "공정"을 정의 할 수있는 많은 도구를 제공합니다.

예를 들어, "The Gathering"을 만든 사람이 "모든 카드를 능가하는 카드"가 없는지 어떻게 확인할 수 있습니까? 옳지 않다. 예를 들어 Magic과 같은 게임에서 사람들은 일반적으로 상대방과 같은 카드를 가지고 있지 않기 때문에 사람들이 같은 시간에 시작하더라도 실제로는 알지 못합니다. 그리고 Rock-paper-cissors 유추 게임은 고려하기가 가장 좋지 않을 수도 있지만 내 요점을 설명합니다.
JohnCastle

@JohnCastle 이곳은 OP의 공정한 평가에 대해 논의 할 곳이 아닙니다. 왜냐하면 토론이 될 것이며 토론 게시판이 아니기 때문입니다 (채팅에 사용). 게시물이 질문에 답변하고 OP의 공정성 개념에 대해 논의하는 경우는 예외입니다.
doppelgreener

@JonathanHobbs, 올바르게 정의되지 않은 경우 어떻게 공정성을 증명할 수 있습니까? 내 게시물이 실제로 답변이 아니라는 것은 사실입니다-나는 메인 게시물 바로 아래에 게시해야했지만 몰랐습니다.하지만 질문에 대답하기 전에 공정성을 정의하는 것이 중요하다고 생각합니다.
JohnCastle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.