만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

내시 균형

시간 제한1초메모리 제한128 MB

요약
두 플레이어 A와 B의 m×n 보수 행렬이 주어질 때, 서로가 상대 행동에 대한 최선 응답이 되는 행동 쌍을 모두 찾는다.
난이도

쉬움10점 중 3점

유형
완전 탐색, 행렬, 구현
정답자
아직 제출이 없습니다

문제

두 참가자 AA와 BB가 벌이는 2인 정규형 게임(normal-form game)은 다음 네 가지로 완전히 정의된다.

  • {a1,…,am}\{a_1, \dots, a_m\}: 참가자 AA가 선택할 수 있는 행동들의 집합
  • {b1,…,bn}\{b_1, \dots, b_n\}: 참가자 BB가 선택할 수 있는 행동들의 집합
  • PAP_A: 참가자 AA의 m×nm \times n 보수 행렬(payoff matrix)
  • PBP_B: 참가자 BB의 m×nm \times n 보수 행렬

두 참가자는 행동을 동시에 선택한다. 예를 들어 AA가 aia_i를, BB가 bjb_j를 선택했다고 하자. 이때 각 참가자의 보수는 보수 행렬에서 결정되어 AA는 PA[i,j]P_A[i,j]를, BB는 PB[i,j]P_B[i,j]를 받는다. 각 참가자의 목표는 자신의 보수를 최대화하는 것이다.

BB가 특정 행동 bjb_j를 골랐을 때, AA의 최선 반응(best response) 은 AA의 보수를 최대로 만드는 행동 aia_i, 즉 PA[i,j]=max⁡i′PA[i′,j]P_A[i,j] = \max_{i'} P_A[i',j]를 만족하는 모든 aia_i이다. 마찬가지로 AA가 특정 행동 aia_i를 골랐을 때, BB의 최선 반응은 PB[i,j]=max⁡j′PB[i,j′]P_B[i,j] = \max_{j'} P_B[i,j']를 만족하는 모든 bjb_j이다.

행동의 쌍 (ai,bj)(a_i, b_j)가 서로에게 최선 반응일 때, 즉 aia_i가 bjb_j에 대한 최선 반응이고 동시에 bjb_j가 aia_i에 대한 최선 반응일 때, 이 쌍을 순수 전략 내시 균형(pure-strategy Nash equilibrium) 이라 한다.

두 보수 행렬 PAP_A와 PBP_B가 주어질 때, 이 게임의 모든 순수 전략 내시 균형을 찾아 나열하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫 줄에는 두 정수 mm과 nn이 주어진다 (1≤m,n≤201 \le m, n \le 20). 이어지는 mm개의 줄에는 보수 행렬 PAP_A의 각 행이, 그다음 mm개의 줄에는 보수 행렬 PBP_B의 각 행이 주어지며, 각 행은 nn개의 정수로 이루어진다. 모든 보수 값은 −100-100 이상 100100 이하의 정수이다.

입력의 끝은 0 0인 줄로 표시되며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스에 대해, 게임의 순수 전략 내시 균형의 개수를 NN이라 하자. 다음을 출력한다.

  1. 정수 NN이 적힌 한 줄
  2. 이어서 NN개의 줄. 각 줄에는 두 정수 ii와 jj(1부터 시작)를 출력하며, 이는 (ai,bj)(a_i, b_j)가 내시 균형임을 뜻한다.

내시 균형은 사전식 순서로 나열해야 한다. 즉 i1<i2i_1 < i_2이거나, i1=i2i_1 = i_2이면서 j1<j2j_1 < j_2일 때 (ai1,bj1)(a_{i_1}, b_{j_1})을 (ai2,bj2)(a_{i_2}, b_{j_2})보다 먼저 출력한다.

힌트

참가자 AA와 BB가 각각 두 개의 행동을 가지며, 보수 행렬이 아래와 같은 게임을 생각해 보자.

예시 게임의 보수 행렬

AA가 a1a_1을 선택하면, BB는 b1b_1을 선택할 때 보수를 최대화한다. PB[1,1]=1>0=PB[1,2]P_B[1,1] = 1 > 0 = P_B[1,2]이기 때문이다. 마찬가지로 BB가 b1b_1을 선택하면, AA는 a1a_1을 선택할 때 보수를 최대화한다. PA[1,1]=1>0=PA[2,1]P_A[1,1] = 1 > 0 = P_A[2,1]이기 때문이다. 따라서 a1a_1은 b1b_1에 대한 최선 반응이고 그 반대도 성립하므로, (a1,b1)(a_1, b_1)은 이 게임의 순수 전략 내시 균형이다.

반면 (a2,b2)(a_2, b_2)는 내시 균형이 아니다. AA가 a2a_2를 선택하면 BB의 최선 반응은 b1b_1인데, PB[2,1]=5>3=PB[2,2]P_B[2,1] = 5 > 3 = P_B[2,2]이기 때문이다.

예제1

  1. 예제 1

    입력
    3 4
    1 5 -3 2
    4 2 -1 -3
    3 -2 5 9
    0 -4 -1 -5
    -9 2 8 3
    -3 4 -2 3
    2 2
    1 10
    0 5
    1 0
    10 5
    2 2
    1 1
    1 1
    1 1
    1 1
    0 0
    
    예상 출력
    0
    1
    1 1
    4
    1 1
    1 2
    2 1
    2 2