KR20210029826A - 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들 - Google Patents

당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들 Download PDF

Info

Publication number
KR20210029826A
KR20210029826A KR1020217006197A KR20217006197A KR20210029826A KR 20210029826 A KR20210029826 A KR 20210029826A KR 1020217006197 A KR1020217006197 A KR 1020217006197A KR 20217006197 A KR20217006197 A KR 20217006197A KR 20210029826 A KR20210029826 A KR 20210029826A
Authority
KR
South Korea
Prior art keywords
state
party
possible actions
sampling
player
Prior art date
Application number
KR1020217006197A
Other languages
English (en)
Other versions
KR102288785B1 (ko
Inventor
후이 리
카일리앙 후
레 송
Original Assignee
어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. filed Critical 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20210029826A publication Critical patent/KR20210029826A/ko
Application granted granted Critical
Publication of KR102288785B1 publication Critical patent/KR102288785B1/ko

Links

Images

Classifications

    • G06N3/0454
    • G06N3/0427
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한, 컴퓨터 저장 매체들 상에서 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들, 및 장치가 본원에서 개시된다. 방법들 중의 하나는: 제 1 당사자의 제 1 상태에서의 제 1 당사자의 N1 개의 가능한 액션들을 식별하는 것; 제 1 샘플링 확률로 제 1 당사자의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 것; 제 1 당사자의 제 2 상태에서의 제 1 당사자의 N2 개의 가능한 액션들을 식별하는 것 - 제 1 당사자의 제 1 상태는 제 1 당사자의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 제 2 샘플링 확률로 제 1 당사자의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 것 - 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작음 - 을 포함한다.

Description

당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들
이 명세서는 2 이상의 당사자(party)들 사이의 전략적 상호작용(strategic interaction)에서의 전략 검색에 관한 것이다.
2 이상의 당사자들 사이의 전략적 상호작용은 2 이상의 당사자들(또한, 플레이어(player)들로서 지칭됨)을 수반하는 게임에 의해 모델링될 수 있다. 2 이상의 플레이어들을 수반하는 불완전 정보 게임들(Imperfect Information Games; IIG)에서, 플레이어는 판정을 행하기 전에 그녀의 상대방들의 지식에 대한 부분적 액세스를 오직 가진다. 이것은 거래(trading), 트래픽 라우팅(traffic routing), 및 공개 경매(public auction)와 같은 실세계 시나리오들과 유사하다. 많은 실생활 시나리오들은 상이한 회사들 사이의 상업적 경쟁, 경매 시나리오들에서의 응찰 관계들, 사기(fraud) 당사자와 사기-방지(anti-fraud) 당사자 사이의 게임 관계들과 같은 IIG들로서 표현될 수 있다.
IIG를 해결하기 위한 방법들은 큰 경제적 및 사회적 이점들이 있다. 은닉된 정보로 인해, 플레이어는 그녀의 상대방들의 정보에 대한 불확실성 하에서 추리해야 하고, 그녀는 또한, 그녀 자신의 정보에 대한 그녀의 상대방들의 불확실성을 활용하도록 행동할 필요가 있다.
이 명세서의 구현예들은 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 컴퓨터-구현된 방법들을 포함한다. 더 구체적으로, 이 명세서는 반사실적 후회 최소화(counterfactual regret minimization; CFR) 알고리즘의 수렴 속도를 개선시키면서 계산 복잡도 및 분산(variance)을 감소시킬 수 있는, 불완전 정보 게임(IIG)을 해결할 시에 CFR 알고리즘을 수행하기 위한 샘플링 방식(sampling scheme)들의 예들을 설명한다. 이 명세서는 또한 신경망들로 반사실적 후회 최소화(CFR)를 수행하기 위한 기법들을 설명하고, 이 기법들은 신경망들의 일반화 능력으로 인해 메모리 공간을 절약할 수 있고 더 빠른 수렴을 제공할 수 있다.
특정한 실시예들에서 구현된 바와 같은 이 명세서에서 설명된 발명 요지는 다음의 기술적 효과들 및 장점들 중의 하나 이상을 실현한다. 일부 실시예들에서, 설명된 샘플링 기법들은, 2 이상의 당사자를 수반하는 IIG와 같은, 당사자들 사이의 전략적 상호작용에 의해 더 효율적인 방식으로 모델링될 수 있거나 표현될 수 있는, 자원 할당, 제품/서비스 추천, 사이버-공격 예측 및/또는 방지, 트래픽 라우팅, 사기 관리 등과 같은 실세계 시나리오들의 더 양호한 전략들을 발견하는 것을 도울 수 있다. 일부 실시예들에서, 설명된 기법들은 IIG에 의해 모델링된 실세계 시나리오들의 최상의 전략들을 발견할 시에 계산 효율을 개선시킬 수 있고 반사실적 후회 최소화(CFR) 알고리즘의 연산 부하를 감소시킬 수 있다. 일부 실시예들에서, 설명된 샘플링 기법들은 외부 샘플링보다 더 메모리 효율적이면서, 결과 샘플링(outcome sampling)보다 더 낮은 분산을 제공할 수 있다. 일부 실시예들에서, 설명된 기법들은 하나 이상의 실세계 시나리오들을 표현하는 게임을 해결하기 위한 내쉬 평형(Nash equilibrium)을 발견할 시에 CFR 알고리즘의 수렴 속도를 개선시킬 수 있다. 일부 실시예들에서, 설명된 기법들은 CFR 알고리즘이 더 작은 분산 및 더 빠른 수렴 속도를 가질 수 있도록, IIG를 표현하는 게임 트리(game tree)의 더 균형잡히고 포괄적인 정보를 제공한다. 일부 실시예들에서, 설명된 기법들은 CFR 알고리즘과 관련하여 신경망들을 이용함으로써 메모리 공간을 절약하고 더 빠른 수렴을 제공한다. 일부 실시예들에서, 설명된 기법들은 CFR 알고리즘의 각각의 반복을 위한 작은 양의 메모리 공간을 오직 필요로 할 수 있다.
이 명세서는, 하나 이상의 프로세서들에 결합되고, 그리고 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본원에서 제공된 방법들의 실시예들에 따라 동작들을 수행하게 하는 명령들을 그 상에 저장한 하나 이상의 비-일시적 컴퓨터-판독가능 저장 매체들을 또한 제공한다.
이 명세서는 본원에서 제공된 방법들을 구현하기 위한 시스템을 추가로 제공한다. 시스템은 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본원에서 제공된 방법들의 실시예들에 따라 동작들을 수행하게 하는 명령들을 그 상에 저장한, 하나 이상의 프로세서들에 결합된 컴퓨터-판독가능 저장 매체를 포함한다.
이 명세서에 따른 방법들은 본원에서 설명된 양태들 및 특징들의 임의의 조합을 포함할 수 있다는 것이 인식된다. 즉, 이 명세서에 따른 방법들은 본원에서 구체적으로 설명된 양태들 및 특징들의 조합들로 제한되는 것이 아니라, 제공된 양태들 및 특징들의 임의의 조합을 또한 포함한다.
이 명세서의 하나 이상의 실시예들의 세부사항들은 동반 도면들 및 이하의 설명에서 기재된다. 이 명세서의 다른 특징들 및 장점들은 설명 및 도면들로부터, 그리고 청구항들로부터 분명할 것이다.
도 1은 이 명세서의 실시예들에 따른 원카드 포커(one-card poker)에서의 부분적 게임 트리들의 예들을 예시하는 도면이다.
도 2는 이 명세서의 실시예들에 따른 상이한 샘플링 방식들의 예들을 예시하는 도면이다.
도 3은 이 명세서의 실시예들에 따른 강인한 샘플링 몬테 카를로 CFR(Monte Carlo CFR; MCCFR)의 예의 의사코드(pseudocode)이다.
도 4는 이 명세서의 실시예들에 따른 게임 트리에 적용된 이중 신경(double neural) CFR 알고리즘의 예를 예시하는 도면이다.
도 5는 이 명세서의 실시예들에 따른 이중 신경 CFR 알고리즘의 예의 의사코드이다.
도 6은 이 명세서의 실시예들에 따른 이중 신경 CFR 알고리즘과 관련하여 신경망을 최적화하기 위한 알고리즘의 예의 의사코드이다.
도 7은 이 명세서의 실시예들에 따른 미니-배치(mini-batch) MCCFR 알고리즘의 예의 의사코드이다.
도 8은 이 명세서의 실시예들에 따른 MCCFR을 수행하기 위한 샘플링 프로세스의 예를 예시하는 플로우차트이다.
도 9는 이 명세서의 실시예들에 따른 이중 신경 CFR 알고리즘의 예를 예시하는 플로우차트이다.
도 10은 이 명세서의 실시예들에 따른 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들, 및 절차들과 연관된 계산 기능성들을 제공하기 위하여 이용된 컴퓨터-구현된 시스템의 예를 예시하는 블록도를 도시한다.
도 11은 이 명세서의 실시예들에 따른 장치의 모듈들의 예들을 도시한다.
도 12는 이 명세서의 실시예들에 따른 또 다른 장치의 모듈들의 예들을 도시한다.
다양한 도면들에서의 유사한 참조 번호들 및 명칭들은 유사한 엘리먼트들을 표시한다.
이 명세서의 구현예들은 예를 들어, 불완전 정보 게임(IIG)을 해결함으로써 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 컴퓨터-구현된 방법들을 포함한다. IIG는 2 이상의 당사자들(또한, 플레이어들로서 지칭됨)을 수반하는, 자원 할당, 제품/서비스 추천, 사이버-공격 예측 및/또는 방지, 트래픽 라우팅, 사기 관리 등과 같은 하나 이상의 실세계 시나리오들을 표현할 수 있고, 여기서, 각각의 당사자는 다른 당사자의 판정들에 대한 미완성 또는 불완전한 정보를 가질 수 있다. 더 구체적으로, 이 명세서는 CFR 알고리즘의 수렴 속도를 개선시키면서 계산 복잡도 및 분산을 감소시킬 수 있는, IIG를 해결할 시에 반사실적 후회 최소화(CFR) 알고리즘을 수행하기 위한 샘플링 방식들의 예들을 설명한다. 이 명세서는 또한 신경망들로 반사실적 후회 최소화(CFR)를 수행하기 위한 기법들을 설명하고, 이 기법들은 신경망들의 일반화 능력으로 인해 메모리 공간을 절약할 수 있고 더 빠른 수렴을 제공할 수 있다.
내쉬 평형은 2 이상의 플레이어들을 수반하는 IIG을 위한 전형적인 솔루션이다. 반사실적 후회 최소화(CFR)는 대형 게임들을 위한 내쉬 평형을 대략적으로 발견하도록 설계된 알고리즘이다. CFR은 전체적인 반사실적 후회를 최소화하는 것을 노력한다. 모든 반복들에서의 전략들의 평균은 내쉬 평형으로 수렴할 것이라는 것이 입증된다. 게임을 해결할 때, 그 원래의 형태에서의 CFR(또한, 원래의 CFR, 표준 CFR, 바닐라(vanilla) CFR, 또는 간단하게 CFR로서 지칭됨)은 각각의 반복에서 전체 게임 트리를 횡단한다. 따라서, 원래의 CFR은 헤드업 무제한 텍사스 홀덤(heads-up no-limit Texas Hold'em)과 같은 대형 제로섬 확장 게임들을 위한 큰 메모리를 요구한다. 일부 사례들에서, 원래의 CFR은 제한된 메모리로 대형 게임들을 취급할 수 없을 수 있다.
몬테 카를로 CFR(MCCFR)은 반사실적 후회를 최소화하기 위하여 도입되었다. MCCFR은 반사실적 값의 비편향된 추정을 연산할 수 있고, 전체 게임 트리를 횡단하는 것을 회피할 수 있다. 모든 정보 세트들의 오직 서브세트들이 각각의 반복에서 방문되기 때문에, MCCFR은 원래의 CFR보다 더 적은 메모리를 요구한다.
MCCFR은 결과 샘플링 알고리즘 또는 외부 샘플링 알고리즘으로 수행될 수 있다. MCCFR에서의 결과 샘플링 알고리즘은 큰 분산을 가지고, 더 적은 반복 단계들에서 근사 내쉬 평형 솔루션(approximate Nash equilibrium solution)으로 수렴하는 것은 어렵다. MCCFR에서의 외부 샘플링 알고리즘은 결과 샘플링 알고리즘보다 더 작은 분산을 가지지만, 그러나, 이 방법은 CFR의 단점과 유사하다. 게임 트리가 클 때, 그것은 매우 큰 메모리 공간을 요구하고, 복잡한 대규모 IIG로 확장될 수 없다.
이 명세서는 강인한 샘플링 방식을 개시한다. 강인한 샘플링 방식에서, 각각의 플레이어는 현재의 판정 포인트에서 샘플링하기 위하여 균일한 샘플링 방법을 이용항고, 다른 당사자는 대응하는 전략에 따라 샘플링한다. 상이한 반복들에 대응하는 도달 확률은 고정될 수 있다. 강인한 샘플링 방식은 외부 샘플링보다 더 메모리 효율적이면서, MCCFR에서의 결과 샘플링 방식보다 더 작은 분산을 가진다는 것이 입증될 수 있다. 일부 실시예들에서, 강인한 샘플링 방식은 MCCFR이 더 빠른 수렴을 갖는 내쉬 평형을 구하게 할 수 있다.
이 명세서는 깊이-종속적 샘플링 방식을 개시한다. 깊이-종속적 샘플링 방식은 종결(terminal) 상태로부터 더 먼(또는 초기 또는 시작 상태에 더 가까운) 또 다른 상태보다 종결 상태에 더 가까운 상태에 더 높은 샘플링 확률을 할당할 수 있다. 일부 실시예들에서, 깊이-종속적 샘플링 방식은 종결 상태에 더 가까운 더 많은 상태들이 샘플링되는 것을 허용할 수 있어서, IIG의 더 적절한 정보를 제공할 수 있고, 이에 따라, 현존하는 샘플링 방식들과 비교하여 MCCFR의 수렴 레이트를 개선시킬 수 있다.
이 명세서는 이중 신경 CFR 알고리즘을 추가로 개시한다. CFR 및 MCCFR과 같은 현존하는 CFR 방법들은 모든 정보 세트들에 대한 누적 후회 및 평균 전략(cumulative regret and average strategy)을 기록하기 위하여 2 개의 큰 표-기반 메모리(tabular-based memory)들을 이용한다. 이러한 표 표현은 이 방법들이 제한된 시간 및 공간을 갖는 대형 확장-형태 게임들에 적용하는 것을 어렵게 한다.
대조적으로, 이중 신경 CFR 알고리즘은 IIG의 근사 내쉬 평형을 연산하기 위하여 2 개의 신경망들을 이용한다. 예를 들어, 신경망들 중 하나는 누적 후회를 학습하기 위하여 이용될 수 있고, 다른 하나는 평균 전략 프로파일의 누적 분자(cumulative numerator)를 학습하기 위하여 이용될 수 있다. 이 2 개의 네트워크들의 도움으로, 이중 신경 CFR 알고리즘은 2 개의 대형 표-기반 메모리들을 이용할 필요가 없다. 간결한 신경망의 일반화 능력에 기초하여, 누적 후회 및 평균 전략이 학습될 수 있고 생성될 수 있다. 개시된 이중 신경 CFR 알고리즘은 여전히 2 개의 대형 표 메모리들에 대한 필요성 없이, 더 적은 연산 부하를 요구할 시에 MCCFR의 이점을 유지할 수 있다. 개시된 이중 신경 CFR 알고리즘은 메모리 제약들에도 불구하고 대형 게임들에서 이용될 수 있다. 일부 실시예들에서, 이중 신경 방법은 현존하는 기법들보다 더 적은 반복들로 더 낮은 활용가능성(exploitability)을 달성할 수 있다. 추가적으로, 일부 실시예들에서, 이중 신경 CFR은 또한, 열악한 표 전략으로부터 초기화 후에 계속적으로 개선될 수 있다.
일부 실시예들에서, 설명된 기법들은 예를 들어, AI 포커, 추천 플랫폼들, 및 많은 다른 AI 및 머신 러닝 애플리케이션들에서 이용될 수 있다. 설명된 기법들은 몬테 카를로 방법을 이용하고, 전체 게임 트리를 위한 변수들을 요구하지 않는다.
일부 실시예들에서, 플레이어들의 유한 세트
Figure pct00001
를 갖는 확장-형태 게임은 다음과 같이 표현될 수 있다.
Figure pct00002
를 IIG에서의 플레이어 i의 은닉된 변수로서 정의한다. 예를 들어, 포커 게임에서,
Figure pct00003
는 플레이어 i의 개인 카드들을 지칭할 수 있다. H는 이력(history)들의 유한 세트를 지칭한다. H의 각각의 멤버
Figure pct00004
는 가능한 이력(또는 상태)을 나타내고, 가능한 이력은 각각의 플레이어의 은닉된 변수, 및 기회(chance)를 포함하는 플레이어들에 의해 취해진 L 개의 액션들을 포함한다. 플레이어 i에 대하여, h는 또한
Figure pct00005
으로서 나타내어질 수 있고, 여기서,
Figure pct00006
은 상대방의 은닉된 변수들을 지칭한다. 빈 시퀀스
Figure pct00007
는 H의 멤버이다. 표현식
Figure pct00008
Figure pct00009
가 h의 프리픽스(prefix)라는 것을 나타내고, 여기서,
Figure pct00010
이고
Figure pct00011
이다.
Figure pct00012
는 종결 이력(terminal history)들을 나타내고, 임의의 멤버
Figure pct00013
는 임의의 다른 시퀀스들의 프리픽스가 아니다.
Figure pct00014
Figure pct00015
는 비-종결(non-terminal) 이력
Figure pct00016
후의 이용가능한 액션들의 세트이다. 플레이어 함수 P는
Figure pct00017
의 멤버를 각각의 비-종결 이력에 배정하고, 여기서, c는 기회 플레이어 식별자(chance player identifier)(ID)를 나타내고, 기회 플레이어 식별자(ID)는 전형적으로, 예를 들어, -1일 수 있다.
Figure pct00018
는 이력 h 후에 액션을 취하는 플레이어이다.
이력
Figure pct00019
의 Ii는 플레이어 i의 정보 파티션이다. 세트
Figure pct00020
는 플레이어 i의 정보 세트이다. Ii(h)는 상태 h에서의 정보 세트 Ii를 지칭한다. 일부 실시예들에서, Ii는 플레이어 i의 은닉된 변수 및 공개 액션들을 포함하는 플레이어 i에 의해 관찰된 정보를 오직 기억할 수 있다. 그러므로, Ii는 IIG에서의 시퀀스, 즉,
Figure pct00021
를 표시한다. 일부 실시예들에서,
Figure pct00022
Figure pct00023
에 대하여 그리고 임의의
Figure pct00024
에 대하여, 세트
Figure pct00025
Figure pct00026
에 의해 나타내어질 수 있고, 플레이어 P(h)는 P(Ii)에 의해 나타내어진다. 각각의 플레이어
Figure pct00027
에 대하여, 효용 함수(utility function)
Figure pct00028
는 종결 상태 z의 보수(payoff)를 정의한다. 이 표기들 및 정의들의 더 상세한 설명은 도 1에서 도시된 예를 포함하는 이하에서 논의될 것이다.
도 1은 이 명세서의 실시예들에 따른 원카드 포커에서의 부분적 게임 트리들(102 및 104)의 예들을 예시하는 도면(100)이다. 원카드 포커는 포커의 2-플레이어들 IIG이다. 원카드 포커는 확장-형태 게임의 예이다. 게임 규칙들은 다음과 같이 정의된다. 각각의 플레이어는 X 개의 카드들의 덱(deck)으로부터 하나의 카드를 받는다. 제 1 플레이어는 패스(pass)할 수 있거나 베팅(bet)할 수 있다. 제 1 플레이어가 베팅할 경우에, 제 2 플레이어는 콜(call)할 수 있거나 폴딩(fold)할 수 있다. 제 1 플레이어가 패스할 경우에, 제 2 플레이어는 패스할 수 있거나 베팅할 수 있다. 제 2 플레이어가 베팅할 경우에, 제 1 플레이어는 폴딩할 수 있거나 콜할 수 있다. 게임은 2 개의 패스들, 콜, 또는 폴드로 종료된다. 폴드 플레이어는 1 개의 칩들을 잃을 것이다. 게임이 2 개의 패스들로 종료될 경우에, 더 높은 카드를 갖는 플레이어는 1 개의 칩들을 딴다. 게임이 콜로 종료될 경우에, 더 높은 카드를 갖는 플레이어는 2 개의 칩들을 딴다.
게임 트리는 지향된 그래프(directed graph)이다. 게임 트리의 노드들은 게임에서의 포지션들(또는 플레이어의 상태들)을 표현하고, 게임 트리의 에지는 게임 플레이어의 이동들 또는 액션들을 표현할 수 있다. 도 1에서, zi는 종결 상태를 표현하는 종결 노드를 나타내고, hi는 비-종결 노드(non-terminal node)를 나타낸다. 부분적 게임 트리들(102 및 104)의 각각은 기회를 표현하는 루트 노드 h0를 가진다. 제 1 부분적 트리(102)에는, 기회 h0를 포함하는 9 개의 비-종결 노드들 hi 및 좌측 트리에서의 10 개의 종결 노드들 zi에 대응하는 19 개의 별개의 노드들이 있다.
제 1 부분적 트리(102)에서, 두 플레이어들(플레이어 0 및 플레이어 1)은 좌측 서브트리에서 "0:Q 1:J"로서 도시된 바와 같은 (퀸, 잭), 그리고 우측 서브트리에서 "0:Q 1:K"로서 도시된 바와 같은 (퀸, 킹)을 받는다.
루트 노드로부터 각각의 노드까지의 궤적은 액션들의 이력이다. 액션들은 게임 트리의 에지들(화살표들에 의해 표시됨) 옆의 문자들(예컨대, F, C, P, 및 B) 또는 표현들(예컨대, "0:Q 1:J")에 의해 제시된다. 문자들 F, C, P, B는 폴드, 콜, 패스, 및 베팅을 각각 지칭한다.
확장-형태 게임에서, hi는 액션들의 이력을 지칭한다. 예를 들어, 제 1 부분적 트리(102)에서 예시된 바와 같이, h3은 액션들 0:Q, 1:J, 및 P를 포함한다. h7은 액션들 0:Q, 1:J, P, 및 B를 포함한다. h8은 액션들 0:Q, 1:K, P, 및 B를 포함한다. 제 1 부분적 트리(102)에서,
Figure pct00029
이고, 즉, h3은 h7의 프리픽스이다.
Figure pct00030
는 비-종결 이력 h3 후의 이용가능한 액션들의 세트가 P 및 B인 것을 표시한다.
Figure pct00031
은 이력 h3 후에 액션을 취하는 플레이어가 플레이어 1인 것을 표시한다.
IIG에서, 플레이어 1의 개인 카드는 플레이어 0에게 비가시적이고, 그러므로, h7 및 h8은 플레이어 0에 대해 실제적으로 동일하다. 정보 세트는 이 비구별된 상태들의 세트를 나타내기 위하여 이용될 수 있다. 유사하게, h1 및 h2는 동일한 정보 세트 내에 있다. 우측 부분적 트리(104)에 대하여,
Figure pct00032
Figure pct00033
이 동일한 정보 세트 내에 있고;
Figure pct00034
Figure pct00035
이 동일한 정보 세트 내에 있다.
전형적으로, 임의의
Figure pct00036
는 플레이어 i의 은닉된 변수들 및 공개 액션들을 포함하는 플레이어 i에 의해 관찰된 정보를 오직 기억할 수 있다. 예를 들어, 제 1 부분적 트리(102)에서 예시된 바와 같이, h7 및 h8의 정보 세트는 0:Q, P, 및 B의 시퀀스를 표시한다. h7 및 h8은 IIG에서의 플레이어 0에 의해 비구별되므로, I0이 h7 및 h8의 정보 세트일 경우에,
Figure pct00037
이다.
전략 프로파일
Figure pct00038
는 모든 플레이어들을 위한 전략들의 집합이고, 여기서,
Figure pct00039
는 플레이어 i를 위한 모든 가능한 전략들의 세트이다.
Figure pct00040
는 플레이어 i 이외의 모든 플레이어들의 전략을 지칭한다. 플레이어
Figure pct00041
에 대하여, 전략
Figure pct00042
Figure pct00043
상에서의 액션 분포를 정보 세트 Ii에 배정하는 함수이다.
Figure pct00044
는 상태 h에서 플레이어
Figure pct00045
에 의해 취해진 액션
Figure pct00046
의 확률을 나타낸다. IIG에서, 2 개 이상의 상태들이 동일한 정보 세트를 가질 경우에, 2 개 이상의 상태들은 동일한 전략을 가진다. 즉,
Figure pct00047
이다. 예를 들어, I0는 h7 및 h8,
Figure pct00048
Figure pct00049
의 정보 세트이다. 도 1에서, 동일한 정보 세트에서의 각각의 상태에 대하여, 회색 이외의 동일한 컬러.
플레이어 i에 대하여, 전략 프로파일
Figure pct00050
의 예상된 게임 효용은
Figure pct00051
Figure pct00052
로서 나타내어지고, 이것은 모든 가능한 종결 노드들의 예상된 보수이다. 고정된 전략 프로파일
Figure pct00053
이 주어지면,
Figure pct00054
에 대해 보수를 최대화하는 것을 달성하는 플레이어 i의 임의의 전략
Figure pct00055
이 최상의 응답이다. 두 플레이어들의 확장-형태 게임들에 대하여, 내쉬 평형은 각각의 플레이어의 전략이 상대방에 대한 최상의 응답이 되도록 하는 전략 프로파일
Figure pct00056
이다.
Figure pct00057
-내쉬 평형은 그 전략 프로파일
Figure pct00058
가 다음을 충족시키는 내쉬 평형의 근사화이다:
Figure pct00059
Figure pct00060
.
전략
Figure pct00061
의 활용가능성은
Figure pct00062
로서 정의될 수 있다. 전략은
Figure pct00063
일 경우에 활용불가능하다. 포커와 같은 큰 2 플레이어 제로섬 게임들에서는,
Figure pct00064
가 연산하기가 어려울 수 있다. 그러나, 플레이어들이 그 포지션들을 교대할 경우에, 한 쌍의 게임들의 값은 제로이고, 즉,
Figure pct00065
이다. 전략 프로파일
Figure pct00066
의 활용가능성은
Figure pct00067
Figure pct00068
로서 정의될 수 있다.
CFR과 같은 반복적 방법들에 대하여,
Figure pct00069
은 t 번째 반복에서의 전략 프로파일을 지칭할 수 있다. 이력 h의 상태 도달 확률은 플레이어들이
Figure pct00070
에 따라 액션들을 취할 경우에
Figure pct00071
에 의해 나타내어질 수 있다. 빈 시퀀스에 대하여,
Figure pct00072
이다. 도달 확률은 각각의 플레이어의 기여분에 따라
Figure pct00073
Figure pct00074
으로 분해될 수 있고, 여기서,
Figure pct00075
Figure pct00076
이다.
정보 세트 Ii의 도달 확률(또한, 정보 세트 도달 확률로서 지칭됨)은
Figure pct00077
으로서 정의될 수 있다.
Figure pct00078
일 경우에, 상태 h'로부터 h까지의 간격 상태 도달 확률은
Figure pct00079
로서 정의될 수 있고, 그 다음으로,
Figure pct00080
이다. 도달 확률들
Figure pct00081
Figure pct00082
은 유사하게 정의될 수 있다.
대형 및 제로섬 IIG들에서, CFR은 내쉬 평형을 연산하기 위한 효율적인 방법인 것으로 입증된다. 하나의 플레이어의 상태 도달 확률은 상대방의 은닉된 변수의 사후 확률에 비례적이라는 것이 입증되고, 즉,
Figure pct00083
이고, 여기서,
Figure pct00084
및 Ii는 특정한 h를 표시한다.
플레이어 i 및 전략 프로파일
Figure pct00085
에 대하여, 상태 h에서의 반사실적 값(counterfactual value; CFV)은 다음으로서 정의될 수 있고,
Figure pct00086
(1)
여기서,
Figure pct00087
는 상대방의 은닉된 변수의 근사화된 사후 분포에 대한 플레이어 i의 예상된 보상(reward)이다. 액션
Figure pct00088
을 취하는 액션 반사실적 값은
Figure pct00089
으로서 나타내어질 수 있고, 이 액션을 취하는 후회는
Figure pct00090
Figure pct00091
이다.
유사하게, 정보 세트 Ii의 CFV는
Figure pct00092
로서 정의될 수 있고, 정보 세트 Ii가 주어질 경우의 액션
Figure pct00093
의 후회는
Figure pct00094
로서 정의될 수 있다.
그 다음으로, T 개의 반복들 후의 액션
Figure pct00095
의 누적 후회는 수학식 (2)에 따라 계산될 수 있다.
Figure pct00096
(2)
여기서,
Figure pct00097
이다.
Figure pct00098
을 정의하면, T+1 반복에서의 현재의 전략(또는 거동 전략)은 예를 들어, 이하의 수학식 (3)에 따라 후회 정합(regret matching)에 기초하여 업데이트될 수 있다:
Figure pct00099
(3).
반복 1로부터 T까지의 평균 전략
Figure pct00100
은 다음으로서 정의될 수 있고:
Figure pct00101
(4)
여기서,
Figure pct00102
는 t 번째 반복에서의 Ii의 정보 세트 도달 확률을 나타내고, 대응하는 현재의 전략
Figure pct00103
을 가중화하기 위하여 이용된다.
Figure pct00104
를 반복 t에서의 주기적인 분자로서 정의하면, 그 다음으로, 평균 전략의 누적 분자는 다음으로서 정의될 수 있고
Figure pct00105
(5)
여기서,
Figure pct00106
이다.
게임을 해결할 때, 원래의 CFR은 각각의 반복에서 전체 게임 트리를 횡단한다. 이에 따라, 원래의 CFR은 제한된 메모리로 대형 게임들을 취급할 수 없을 수 있다. 몬테 카를로 CFR(MCCFR)은 반사실적 후회를 최소화하기 위하여 도입되었다. MCCFR은 반사실적 값의 비편향된 추정을 연산할 수 있고, 전체 게임 트리를 횡단하는 것을 회피할 수 있다. 모든 정보 세트들의 오직 서브세트들이 각각의 반복에서 방문되기 때문에, MCCFR은 원래의 CFR보다 더 적은 메모리를 요구한다.
예를 들어, Qj가 세트 Z에 걸쳐 있도록,
Figure pct00107
을 정의하고, 여기서,
Figure pct00108
는 각각의 반복에서 샘플링 종결 이력들의 블록이다. 일반적으로, 상이한 Qj는 특정된 샘플링 방식에 따라 중첩을 가질 수 있다. 몇몇 샘플링 방식들이 이용될 수 있다.
도 2는 이 명세서의 실시예들에 따른 상이한 샘플링 방식들의 예들을 예시하는 도면(200)이다. 구체적으로, 서브플롯 A는 게임 트리의 외부 샘플링 방식(202)의 예를 예시하고; 서브플롯 B는 게임 트리의 결과 샘플링 방식(204)의 예를 예시하고, 서브플롯 C는 게임 트리의 강인한 샘플링 방식(206)의 예를 예시한다.
도 2 에서 예시된 바와 같이, 원은 플레이어 0 노드를 표현하고, 직사각형은 플레이어 1 노드를 표현하고, 삼각형은 기회 노드를 표현한다. 실선 에지들 또는 화살표들은 샘플링된 액션들을 제시하는 반면, 점선 에지들 또는 화살표들은 비-샘플링된 액션들을 제시한다. 음영처리된 노드들은 샘플링된 노드들을 제시하는 반면, 공백 노드들은 비-샘플링된 노드들을 제시한다.
서브플롯 A에서 도시된 바와 같은 외부 샘플링 방식(202)으로, 플레이어 0의 업데이트를 예로서 취하면, 플레이어 0 노드는 플레이어 0 노드의 모든 분기들을 횡단하고, 비-플레이어 0 노드(예컨대, 플레이어 1 노드 및 기회 노드)는 대응하는 샘플링 전략에 따라 분기를 무작위적으로 샘플링한다.
결과 샘플링 방식은 상이한 플레이어들을 구별하지 않는다. 서브플롯 B에서 도시된 바와 같이, 결과 샘플링 방식(204)은 대응하는 샘플링 전략에 따라 모든 플레이어들을 위한 하나의 분기를 무작위적으로 샘플링한다. 이와 같이, 오직 하나의 궤적이 결과 샘플링 방식 하에서 샘플링될 것이다.
서브플롯 C에서 도시된 바와 같이, 강인한 샘플링 방식(206)은 플레이어 0을 위한 균일한 분포에 따라 k 개의 분기들을 무작위적으로 선택하고, 대응하는 샘플링 전략에 따라 비-플레이어 0 노드를 위한 하나의 분기에 대해 무작위적 샘플링을 수행한다. k의 값을 변동시킴으로써, 강인한 샘플링 방식은 예를 들어, 실제적인 메모리 필요성들 또는 시스템 사양에 따라, 다수의 경로들 또는 단일 경로를 샘플링할 수 있다. 외부 샘플링 방식과는 달리, 강인한 샘플링 방식은 현재의 플레이어 i의 판정 포인트에서 모든 가능한 액션들 및 변수들의 지식을 매번 요구하지는 않는다.
일부 실시예들에서, 외부 샘플링 및 결과 샘플링 방식들에서는, 각각의 블록
Figure pct00109
는 Z의 파티션을 표현한다.
Figure pct00110
을 블록 Qj을 고려할 확률로서 정의하고, 여기서,
Figure pct00111
이다.
Figure pct00112
을 특정한 종결 이력 z를 고려할 확률로서 정의한다. 일부 실시예들에서, 바닐라 CFR은 MCCFR의 특수한 경우로서 고려될 수 있고, 여기서, Q = {Z}은 하나의 블록을 오직 포함하고,
Figure pct00113
이다.
결과 샘플링 방식에서는,
Figure pct00114
, 및
Figure pct00115
이도록, 오직 하나의 궤적이 샘플링될 것이다. 정보 세트 Ii에 대하여, 반사실적 값의 샘플 추정치는
Figure pct00116
Figure pct00117
이다.
MCCFR에서의 샘플링 반사실적 값은 CFR에서의 실제적인 반사실적 값의 비편향된 추정이라는 것이 입증된다:
Figure pct00118
.
Figure pct00119
를 샘플링 전략 프로파일로서 정의하고, 여기서,
Figure pct00120
는 플레이어 i를 위한 샘플링 전략이고,
Figure pct00121
는 플레이어 i를 제외한 플레이어들을 위한 샘플링 전략들이다. 일부 실시예들에서, 양자의 외부 샘플링 및 결과 샘플링에 대하여,
Figure pct00122
이다. 샘플링된 액션
Figure pct00123
의 후회는 다음으로서 정의될 수 있고:
Figure pct00124
(6)
여기서,
Figure pct00125
Figure pct00126
에 의해 가중화된 새로운 효용이다. T 개의 반복들 후의 액션
Figure pct00127
의 누적 후회에 대한 샘플 추정치는 다음으로서 정의될 수 있고
Figure pct00128
, 여기서,
Figure pct00129
임.
강인한 샘플링에 대하여, 샘플링 프로파일은
Figure pct00130
로서 정의될 수 있고, 여기서, 플레이어 i는 각각의 정보 세트 Ii에 대한 샘플링 전략
Figure pct00131
에 따라 k 개의 액션들을 무작위적으로 선택할 수 있고, 다른 플레이어들은 전략
Figure pct00132
에 따라 하나의 액션을 무작위적으로 선택할 수 있다.
일부 실시예들에서, 플레이어 i가 정보 세트 Ii에서의 이산 균일 분포
Figure pct00133
에 따라
Figure pct00134
개의 액션들을 무작위적으로 선택할 경우에, 즉,
Figure pct00135
이면, 정보 세트 Ii의 도달 확률은, 플레이어 i가 샘플링 전략 또는 프로파일
Figure pct00136
에 따라 액션들을 취할 경우에, 다음에 의해 계산될 수 있고:
Figure pct00137
가중화된 효용
Figure pct00138
는, 낮은 분산을 가지는 샘플링 프로파일
Figure pct00139
가 주어질 경우에, 각각의 반복에서 일정한 수일 수 있다. 추가적으로, 가중화된 효용은 상대방의 전략의 명시적인 지식을 더 이상 요구하지 않으므로, 강인한 샘플링은 온라인 후회 최소화를 위하여 이용될 수 있다.
표기들을 단순화하기 위하여, k = max가
Figure pct00140
을 지칭한다고 한다. k = max이고, 플레이어 i가 정보 세트
Figure pct00141
에서의 이산 균일 분포
Figure pct00142
에 따라 k 개의 액션들을 무작위적으로 선택할 경우에, 강인한 샘플링은
Figure pct00143
일 때, 외부 샘플링과 유사할 수 있다.
k = 1이고,
Figure pct00144
일 경우에, 오직 하나의 이력 z가 이 경우에 샘플링되고, 그 다음으로,
Figure pct00145
에 대하여,
Figure pct00146
,
Figure pct00147
액션
Figure pct00148
가 상태 h에서 샘플링되지 않을 경우에, 즉,
Figure pct00149
일 경우에, 후회는
Figure pct00150
Figure pct00151
이다. 이 경우에, 강인한 샘플링은 k = 1이고
Figure pct00152
일 때, 결과 샘플링과 유사하다.
k = 1이고, 플레이어 i가 정보 세트 Ii에서의 이산 균일 분포
Figure pct00153
에 따라 하나의 액션을 무작위적으로 선택할 경우에, 강인한 샘플링은 결과 샘플링과 유사할 수 있다. 예를 들어, k = 1이고, 플레이어 i가 정보 세트 Ii에서의 이산 균일 분포
Figure pct00154
에 따라 하나의 액션을 무작위적으로 선택할 경우에,
Figure pct00155
은 상수이고,
Figure pct00156
에 대하여,
Figure pct00157
Figure pct00158
이고,
Figure pct00159
.
액션
Figure pct00160
가 상태 h에서 샘플링되지 않을 경우에, 즉,
Figure pct00161
일 경우에, 후회는
Figure pct00162
Figure pct00163
이다. 결과 샘플링과 비교하여, 이 경우의 강인한 샘플링은, 상수
Figure pct00164
때문에, 더 낮은 분산을 가진다.
도 3은 이 명세서의 실시예들에 따른 강인한 샘플링 MCCFR의 예의 의사코드(300)이다. 의사코드(300)의 라인들 1 내지 5에서 도시된 바와 같이, 전체적인 강인한 샘플링 MCCFR은 반복들 t의 총 수의 입력을 갖는 반복적 알고리즘이다. 각각의 반복 t 내에서, 함수 강인한 샘플링 MCCFR(function robust sampling MCCFR; RS-MCCFR)은 (라인들 3 및 4에서 도시된 바와 같은) 플레이어 0 및 플레이어 1이 누적 후회
Figure pct00165
및 평균 전략 분자
Figure pct00166
를 업데이트하기 위하여 호출된다. 함수 RS-MCCFR은 의사코드(300)의 라인들 6 내지 30에서 도시된 바와 같이 정의될 수 있다. 함수 RS-MCCFR은 각각의 정보 세트의 반사실적 값을 출력으로서 반환한다. 일부 실시예들에서, 반사실적 값은 반사실적 후회도를 계산하기 위하여 이용될 수 있다. 이와 같이, 누적 후회 및 시간-평균 전략이 이에 따라 획득될 수 있다.
구체적으로, 함수 RS-MCCFR은 도 2와 관련하여 위에서 설명된 바와 같은 강인한 샘플링 방식에 따라 액션들을 샘플링한다. 의사코드(300)의 라인 16에서 도시된 바와 같이, k 개의 상이한 액션들은 강인한 샘플링 전략
Figure pct00167
에 따라 샘플링될 수 있고
Figure pct00168
로서 수집될 수 있다.
일부 실시예들에서, 깊이-종속적 샘플링 방식은 게임 트리에 의해 표현된 게임의 더 균형잡히거나 적절한 정보를 제공하기 위하여 이용될 수 있다. 예를 들어, 샘플링 전략
Figure pct00169
는 게임 트리에서의 상태 h의 깊이의 함수일 수 있다. 예를 들어, 샘플링 전략
Figure pct00170
는, 종결 상태에 더 가까운 상태가 (예컨대, 게임 트리의 루트에 의해 표현된) 초기 상태에 더 가까운 상태보다 샘플링될 더 높은 확률을 가지도록 설계될 수 있다. 예로서, 깊이-종속적 샘플링 방식은 상이한 가중치들을 상이한 깊이들을 갖는 상이한 상태들의 샘플링 확률들에 적용함으로써 구현될 수 있다. 이러한 깊이-종속적 샘플링은 종결 상태들에 더 가까운 상태들에 대한 더 많은 정보를 제공하는 것을 도울 수 있고, 이는 전형적으로, (예컨대, 게임 트리의 분기 구조로 인해) 초기 상태에 더 가까운 것들보다 종결 상태들에 더 가까운 더 많은 상태들이 있고 이 노드들은 현존하는 샘플링 방식들 하에서 샘플링된 궤적들에서 루트 노드에 더 가까운 노드들보다 샘플링될 더 낮은 기회를 가지기 때문에 유리할 수 있다.
일부 실시예들에서, 깊이-종속적 샘플링 방식은 강인한 샘플링, 결과 샘플링, 외부 샘플링, 또는 임의의 다른 적당한 샘플링 알고리즘들과 조합하여 이용될 수 있다. 예를 들어, 깊이-종속적 샘플링 방식은 강인한 샘플링, 결과 샘플링, 및 외부 샘플링 중의 어느 하나의 분산 및 수렴 속도를 추가로 개선시킬 수 있고, 이는 후자의 3 개의 샘플링 방식들이 (예컨대, 게임 트리의 노드의 상이한 분기들에 의해 표현된) 플레이어의 상태의 상이한 액션들 중에서 수평 샘플링에 대해 더 많은 초점을 맞추기 때문이다.
도 4는 이 명세서의 실시예들에 따른 게임 트리(410)에 적용된 이중 신경 CFR 알고리즘의 예(400)를 예시하는 도면이다. 이중 신경 CFR 알고리즘(400)은 게임 트리(410)에 의해 표현된 바와 같은 IIG의 근사 내쉬 평형을 연산하기 위하여 2 개의 신경망들(420 및 430)을 이용한다. 도 4에서 예시된 바와 같이, 하나의 신경망(420)은 누적 후회를 획득하기 위하여 이용되고, RegretSumNetwork(RSN)으로서 지칭된다. 다른 신경망들(430)은 평균 전략을 획득하기 위하여 이용되고, AveStrategyNetwork(ASN)로서 지칭된다.
일부 실시예들에서, CFR 알고리즘의 반복적 업데이트들은 2 개의 전략들: 현재의 전략
Figure pct00171
, 및
Figure pct00172
Figure pct00173
에 대한 평균 전략
Figure pct00174
을 유지한다. 따라서, 2 개의 신경망들(420 및 430)은 반복적 방식으로 이 2 개의 전략들을 각각 기록하도록 설계될 수 있다. 일부 실시예들에서, 신경망들은 각각의 반복에서 새로운 추가적인 샘플들에 기초하여 훈련되거나 최적화되기 때문에, 이중 신경 CFR 알고리즘의 예(400)는 이중 증분 CFR 알고리즘(double incremental CFR algorithm)으로 지칭될 수 있다.
수학식 (3)에 따르면, 현재의 전략
Figure pct00175
는 누적 후회
Figure pct00176
에 의해 연산될 수 있다. 일부 실시예들에서, 분모에서의 정규화는 전략이 이용될 때에 용이하게 연산될 수 있으므로, 수학식 (3)에서의 분자들이 오직 추적된다. 정보 세트 Ii 및 액션
Figure pct00177
이 주어지면,
Figure pct00178
으로서 나타내어진 신경망 RSN(420)은
Figure pct00179
을 학습하기 위하여 이용될 수 있고, 여기서,
Figure pct00180
는 t 번째 반복에서의 RSN(420)에서의 파라미터이다.
도 4에서 도시된 바와 같이, 메모리
Figure pct00181
(404)는
Figure pct00182
Figure pct00183
로서 정의될 수 있다.
Figure pct00184
의 각각의 멤버는 방문된 정보 세트 Ii 및 대응하는 후회
Figure pct00185
를 포함할 수 있고, 여기서, Qj는 t 번째 반복에서의 샘플링된 블록이다. 수학식 (2)에 따르면,
Figure pct00186
은 다음의 최적화를 이용하여 추정될 수 있다:
Figure pct00187
(7)
수학식 (4)에 따르면, 근사 내쉬 평형은 T 개의 반복들 상에서의 모든 이전의 전략들의 가중화된 평균이다. 누적 후회와 유사하게,
Figure pct00188
로서 나타내어진 또 다른 신경망 ASN(430)은 평균 전략의 분자를 학습하기 위하여 이용될 수 있다. 또 다른 메모리
Figure pct00189
(406)를 다음으로서 정의한다
Figure pct00190
Figure pct00191
의 각각의 멤버는 방문된 정보 세트 Ii
Figure pct00192
의 값을 포함할 수 있고, 여기서, Qj는 t 번째 반복에서의 샘플링된 블록이다. 그 다음으로, ASN(430)의 파라미터
Figure pct00193
는 다음의 공식에 의해 추정될 수 있다:
Figure pct00194
(8)
일부 실시예들에서는, 각각의 반복에서, 양자의
Figure pct00195
Figure pct00196
는 이하의 도 7에 대하여 설명된 미니-배치 확률론적 경사 하강 방법과 같은 경사 하강 방법에 따라 수학식 (7) 및 수학식 (8)에서의 목적들을 최적화함으로써 최적화될 수 있다.
일부 실시예들에서, 다수의 반복들 내에서
Figure pct00197
를 집합시키고 저장하기 위하여 큰 메모리가 이용가능할 경우에, 평균 전략은 각각의 반복에서 업데이트할 필요가 없다. 메모리
Figure pct00198
가 가득 차 있을 경우에, 증분 값은 수학식 (8)을 최적화함으로써 학습될 수 있다.
일부 실시예들에서, 각각의 반복에서, 정보 세트들의 오직 작은 서브세트가 샘플링되고, 이것은 신경망 RSN(420) 및 ASN(430)이 그 비관찰되거나 비샘플링된 정보 세트들의 값들을 잊는 것으로 이어질 수 있다. 이 쟁점을 해결하기 위하여, 이전의 반복으로부터의 신경망 파라미터들은 현재의 반복의 초기화로서 이용될 수 있고, 이것은 온라인 학습/적응 특징을 업데이트들에 부여한다. 또한, 신경망들의 일반화 능력으로 인해, 작은 수의 정보 세트들로부터의 샘플들조차 새로운 신경망들을 업데이트하기 위하여 이용될 수 있고, 새롭게 업데이트된 신경망들은 누적 후회 및 평균 전략을 위한 양호한 값들을 생성할 수 있다.
일부 실시예들에서는, 반복들 t의 수가 증가함에 따라,
Figure pct00199
의 값은 점점 더 커질 수 있어서, 신경망이 학습하는 것을 잠재적으로 불가능하게 할 수 있다. 이 쟁점을 해결하기 위하여, 누적 후회는 그 범위를 더 안정적으로 하기 위하여
Figure pct00200
배만큼 정규화될 수 있다. 이것은 온라인 학습의 후회 경계로부터 이해될 수 있다. 더 구체적으로,
Figure pct00201
Figure pct00202
이라고 한다.
Figure pct00203
이고, 여기서,
Figure pct00204
이다. 일부 실시예들에서, 신경망 RSN(420)은
Figure pct00205
를 추적하고, 그것을 다음에 의해 업데이트하기 위하여 이용될 수 있고
Figure pct00206
(9)
여기서,
Figure pct00207
이다.
일부 실시예들에서, 이중 증분 CFR 알고리즘에서, 메모리들
Figure pct00208
Figure pct00209
는 예를 들어, 메모리들
Figure pct00210
Figure pct00211
의 제한된 크기로 인해 각각의 반복 후에 소거될 수 있다. 일부 실시예들에서, 예를 들어, 대형 게임에서는, 누적 후회들 및 평균 전략을 학습하기 위하여 신경망들을 이용하는 이중 증분 CFR 알고리즘으로도, 메모리들
Figure pct00212
Figure pct00213
의 크기는 각각의 반복을 위한 누적 후회 및 평균 전략들을 기록하기 위하여 매우 클 필요가 여전히 있을 수 있다.
일부 실시예들에서, 제한된 메모리이지만 그러나 무한한 반복들로 평균 전략을 계속적으로 개선시키기 위하여, 및/또는 메모리 크기에 대한 요건을 추가로 완화시키기 위하여, 상이한 반복들을 가로질서 샘플링된 누적 후회들 및 평균 전략들을 저장하고 누적 후회 및 평균 전략을 동적으로 학습하기 위하여 2 개의 저장소(reservoir)들 MR 및 MS를 이용하는 이중 저장소 CFR 알고리즘이 이용될 수 있다.
일부 실시예들에서, T 개의 반복들 후의 평균 누적 후회는 수학식 (2)를 다시 기재함으로써 수학식 (10)에 따라 획득될 수 있다:
Figure pct00214
(10)
유사하게, 평균 전략은 수학식 (4)에서 도시된 바와 같은 누적 전략의 정규화일 수 있고, 이 정규화는 그 도달 확률
Figure pct00215
에 의해 가중화된 평균 전략
Figure pct00216
이다.
일부 실시예들에서, 2 개의 균일한 저장소들 MR 및 MS는 샘플링된
Figure pct00217
Figure pct00218
을 각각 저장하기 위하여 이용될 수 있다. 구체적으로, MR
Figure pct00219
에서의 샘플들을 저장하기 위한 저장소일 수 있고, MS
Figure pct00220
에서의 샘플들을 저장하기 위한 저장소일 수 있다. 새로운 샘플들은 저장소 샘플링 알고리즘에 의해 저장소로 삽입될 수 있다. 저장소 샘플링은 n 개의 항목들을 포함하는 리스트로부터 k 개의 항목들을 무작위적으로 선택하기 위한 무작위화된 알고리즘들의 계열을 포함한다. 예를 들어, 저장소가 가득 차 있지 않을 경우에, 새로운 샘플들은 저장소에 직접적으로 추가될 수 있다. 저장소가 가득 차 있을 경우에, 새로운 샘플들은 예를 들어, 선입선출(first in first out; FIFO) 원리에 따라, 또는 균일한 무작위 분포 또는 또 다른 분포에 따라, 과거의 샘플들을 대체할 수 있다.
양자의 이중 증분 CFR 알고리즘 및 이중 저장소 CFR 알고리즘은 온라인 학식에서의 아이디어들을 채용하고, 후회 및 평균 전략을 각각 업데이트하는 것을 학습하기 위하여 2 개의 신경망들을 이용한다는 것에 주목한다. 일부 실시예들에서, ASN은 각각의 반복에서 업데이트될 필요가 없지만, RSN은 새로운 거동 전략을 생성하기 위하여 몬테 카를로 샘플링 후에 최적화될 필요가 있을 수 있다. 예를 들어, 새로운 거동 전략이 게임 트리를 횡단하기 위하여 이용될 때, RSN은 각각의 반복에서 업데이트될 필요가 있을 수 있다. 다른 한편으로, ASN은 거동 전략의 가중화된 평균인 최종적인 근사화된 내쉬 평형으로서 이용될 수 있다. ASN은 이중 신경 CFR 알고리즘의 출력으로서 역할을 할 수 있다. 모든 샘플들을 저장하기 위하여 충분히 큰 데이터 스토어(data store)가 있을 경우에, 최후 단계에서 평균 전략을 최적화하는 것이 오직 필요하게 된다. 실제로, 대형 게임을 위하여, 대형 데이터 스토어는 매우 고가일 수 있다. 이와 같이, 평균 전략은 데이터 스토어(예컨대, 저장소
Figure pct00221
)가 가득 차 있을 경우에 증분식으로 최적화될 수 있다. 이와 같이, 이중 신경 CFR 알고리즘은 2 개의 변형들을 포함할 수 있다. 이중 증분 알고리즘에서, 신경망(예컨대, 하나 또는 양자의 RSN 및 ASN)은 오직 증분 샘플들에 의해 최적화되는 반면, 이중 저장소 알고리즘들에서는, 신경망(예컨대, 하나 또는 양자의 RSN 및 ASN)이 저장소들에서의 모든 샘플들에 의해 최적화될 수 있다.
이중 신경 CFR 알고리즘 및 이중 저장소 CFR 알고리즘은 상이한 샘플 집합들을 가진다. 이중 증분 CFR을 위하여, 신경망은 새롭게 추가된 샘플들에 기초하여 최적화된다. 이중 저장소 CFR을 위하여, 신경망은 고정된-크기 저장소들에서의 샘플들에 기초하여 최적화된다. 추가적으로, 이중 저장소 방법에서는, 평균 전략이 최소 제곱된 오차가 아니라 최대 로그-우도(maximum log-likelihood)에 의해 최적화될 수 있다.
도 5는 이 명세서의 실시예들에 따른 이중 신경 CFR 알고리즘의 예의 의사코드(500)이다. 이중 신경 CFR 알고리즘의 예는 이중 신경 CFR 알고리즘 또는 이중 저장소 CFR 알고리즘을 이용하는 옵션을 포함한다.
의사코드(500)의 라인들 3 내지 7은 제 1 반복에서의 초기화 전략들의 예들을 도시한다. 예를 들어, 시스템이 현존하는 CFR 방법(예컨대, 표-기반 CFR 또는 MCCFR 방법들 또는 이중 신경 CFR 방법)으로부터 웜 스타트(warm start)할 경우에, 신경망들은 누적 후회들 및 전략을 복제하기 위하여 현존하는 전략 프로파일로부터 초기화될 수 있다. 웜 스타트 초기화가 없을 경우에, 이중 신경 CFR 알고리즘은 반복 t = 1에서 RSN 및 ASN에서의 파라미터들을 무작위적으로 초기화함으로써 시작할 수 있다.
일부 실시예들에서, 의사코드(500)의 라인 8에서 도시된 바와 같이, 이중 증분 CFR 알고리즘이 이용될 경우에, 샘플링 방법들은 이 반복들에서의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자를 반환하기 위하여 이용될 수 있다. 이 반복에서의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자는 각각 메모리들
Figure pct00222
Figure pct00223
에서 저장될 수 있다. 샘플링 방법들은 예를 들어, 도 7에 대하여 설명된 미니-배치 강인한 샘플링 방법 알고리즘을 포함할 수 있다. 일부 실시예들에서, 이 반복에서의 샘플링된 정보 세트들에 대한 반사실적 후회들은 예를 들어, 이하의 수학식 (11), 및 도 7에 대하여 설명된 바와 같은 미니-배치 MCCFR 알고리즘에 따라, 정보 세트에 의해
Figure pct00224
에서의 집합 값을 제공하기 위하여 합산될 수 있다. 일부 실시예들에서,
Figure pct00225
에서의 복제된 레코드들은 제거될 수 있다.
일부 실시예들에서, 이중 저장소 CFR 알고리즘이 이용될 경우에, (이중 증분 CFR 알고리즘에서 메모리들
Figure pct00226
Figure pct00227
에서 저장된 것들과 같은) 이 반복에서의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자는 각각 저장소들 MR 및 MS에서 저장될 수 있다. 저장소 샘플링은 저장소들 MR 및 MS 중의 하나 또는 양자가 가득 차 있을 경우에 이용될 수 있다.
의사코드(500)의 라인들 13 내지 15에서 도시된 바와 같이, 이 반복에서의 샘플링된 정보 세트들에 대한 이 반사실적 후회 및 평균 전략의 분자는 2 개의 신경망들 RSN 및 ASN을 최적화하고 RSN 및 ASN(예컨대,
Figure pct00228
Figure pct00229
)의 파라미터들(예컨대,
Figure pct00230
Figure pct00231
)을 반환하기 위하여, 도 6에서 도시된 바와 같은 NeuralAgent 알고리즘에 의해 이용될 수 있다.
도 6은 이 명세서의 실시예들에 따른 이중 신경 CFR 알고리즘과 관련하여 신경망을 최적화하기 위한 알고리즘의 예의 의사코드(600)이다. 알고리즘의 예는 NeuralAgent 알고리즘으로서 지칭된다. 설명된 이중 신경 CFR 알고리즘은 이중 신경 CFR 알고리즘에서 이용된 하나 또는 양자의 신경망들을 최적화하기 위한 다른 알고리즘들을 이용할 수 있다.
Figure pct00232
을 훈련 에포크(training epoch)로서,
Figure pct00233
을 학습 레이트로서,
Figure pct00234
을 조기 정지 또는 종결을 위한 기준들로서,
Figure pct00235
을 최소 손실 최후 시간을 얻는 것으로부터의 반복들의 수에 대한 상한으로서,
Figure pct00236
을 최적화하기 위한 파라미터로서,
Figure pct00237
을 신경망으로서, M을 훈련 샘플 구성 정보 세트 및 대응하는 타겟으로서 정의한다. 표기들을 단순화하기 위하여, 신경망의 파라미터들의 세트를 나타내기 위해
Figure pct00238
을 이용한다. 예를 들어,
Figure pct00239
Figure pct00240
은 각각 RSN 및 ASN에서의 파라미터들의 세트를 지칭한다. 실험들은 신중하게 설계된 NeuralAgent 알고리즘이 신경망들 RSN 및 ASN을 최적화할 시에 활용가능성의 상대적으로 더 높은 수렴 레이트를 획득할 수 있다는 것을 보여준다. 의사코드(600)는 설명 주석들을 갖는 NeuralAgent 알고리즘의 세부사항들을 도시한다.
일부 실시예들에서, 현존하는 최적화기들은 잠재적인 안장 포인트(saddle point) 또는 국소적 최소들 대문에 상대적으로 충분히 낮은 손실을 반환하지 않을 수 있다. 상대적으로 더 높은 정확도 및 더 낮은 최적화 손실을 획득하기 위하여, 스케줄러는 손실이 감소를 멈출 때, 학습 레이트를 감소시키도록 구체적으로 설계된다. 구체적으로, 스케줄러는 메트릭 양, 예컨대, 평균 제곱된 오차를 판독하고, 다수의 에포크들에 대하여 개선이 보이지 않을 경우에, 학습 레이트는 계수만큼 감소된다. 추가적으로, 일단 손실이
Figure pct00241
에포크들에서 감소를 멈추면, 학습 레이트는 양자의 최적화기 및 스케줄러에서 재설정될 수 있다. 경사 클리핑 메커니즘(gradient clipping mechanism)은 파라미터 경사의 크기를 제한하고 가파른 절벽들 근처에서 최적화기를 더 양호하게 거동하게 하기 위하여 이용될 수 있다. 각각의 에포크 후에, 최상의 파라미터가 업데이트될 것이다. 일단 가장 낮은 손실이 특정된 기준들
Figure pct00242
보다 더 작으면, 조기 정지 메커니즘이 이용된다.
실험들에서, 신경망의 하이퍼파라미터(hyperparameter)들은 다음과 같이 설정될 수 있다. 예를 들어, RSN에 대하여, 신경 배치 크기(neural batch size)는 256d이고, 학습 레이트
Figure pct00243
이다. 에포크들의 수 및 손실의 수렴 레이트에 기초하여 학습 레이트를 감소시킬 스케줄러는 신경 에이전트(neural agent)가 높은 정확도를 획득하는 것을 돕는다. 손실이 10 개의 에포크들 후에 개선을 멈출 때, 학습 레이트는 0.5만큼 감소될 수 있다. 이 스케줄러에서의 모든 파라미터들의 학습 레이트에 대한 하한은 10- 6이다. 알고리즘이 잠재적인 국소적 최소들 또는 안장 포인트로 수렴하는 것을 회피하기 위하여, 학습 레이트는 예를 들어, 0.001로 재설정될 수 있고, 최적화기가 더 양호한 성능을 학습하는 것을 도울 수 있다.
Figure pct00244
은 T 개의 에포크들 후에 가장 낮은 손실을 달성하기 위한 최상의 파라미터들이다. 에포크 t에 대한 평균 손실이 특정된 기준들
Figure pct00245
보다 더 작을 경우에, 최적화기는 조기 정지를 가질 수 있다. 예로서,
Figure pct00246
을 설정하고, 최적화기를 2000 개의 최대 에포크들로 업데이트한다.
ASN에 대하여, 조기 정지 기준들의 손실은 10-5로서 설정될 수 있다. 손실이 15 개의 에포크들 후에 개선을 멈출 때, 학습 레이트는 0.7만큼 감소될 수 있다. ASN에서의 다른 하이퍼파라미터들은 RSN의 것들과 유사할 수 있다.
도 7은 이 명세서의 실시예들에 따른 미니-배치 MCCFR 알고리즘의 예의 의사코드(700)이다. (Mini-Batch-MCCFR-NN으로서 나타내어진) 미니-배치 MCCFR 알고리즘은 게임의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자를 획득하기 위한 샘플링 알고리즘을 포함한다. 반복에서 하나의 블록을 오직 샘플링하고 원점 CFV의 비편향된 추정기(unbiased estimator)를 제공하는 전통적인 결과 샘플링 및 외부 샘플링과는 달리, 미니-배치 샘플링 기법은 하나의 반복에서 b 개의 블록들을 무작위적으로 샘플링할 수 있다. 의사코드(700)에서 도시된 미니-배치 MCCFR 알고리즘의 예는 위에서 설명된 강인한 샘플링에 기초한다. 일부 실시예들에서, 미니-배치 MCCFR 알고리즘은 깊이-종속적 샘플링 방식과 같은 다른 샘플링 방식들과 관련하여 이용될 수 있다. 미니-배치 MCCFR 알고리즘은 게임의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자를 획득하기 위한 알고리즘의 예인 것에 주목한다. 이중 신경 CFR 알고리즘은 게임의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자를 획득하기 위한 다른 알고리즘들을 이용할 수 있다.
Figure pct00247
이 j 번째 시간에서 강인한 샘플링 방식에 따라 샘플링된 종결들의 블록을 나타낸다고 하고, 그 다음으로, 정보 세트 Ii에 대한 b 개의 미니-배치들을 갖는 미니-배치 CFV는 다음으로서 정의될 수 있다:
Figure pct00248
(11)
또한,
Figure pct00249
은 Ii의 반사실적 값의 비편향된 추정기인 것이 도시될 수 있다:
Figure pct00250
.
유사하게, 액션 **스캔**의 누적 미니-배치 후회는 다음이고
Figure pct00251
(12)
여기서,
Figure pct00252
이다. 일부 실시예들에서, 미니-배치 MCCFR은 b 개의 블록들을 병렬로 샘플링할 수 있고, MCCFR이 더 빨리 수렴하는 것을 도울 수 있다.
미니-배치 MCCFR는 누적 미니-배치 후회
Figure pct00253
을 업데이트하기 위하여 후회-정합 알고리즘을 이용한다는 것에 주목한다. 일부 실시예들에서, 미니-배치 MCCFR의 변종으로서, 미니-배치 MCCFR+ 알고리즘은 누적 미니-배치 후회
Figure pct00254
를 다음에 의해 반복 T까지 업데이트하기 위하여 이용될 수 있고:
Figure pct00255
(13)
여기서,
Figure pct00256
이다. 일부 실시예들에서, 적당한 미니-배치 크기를 특정할 때, 미니-배치 MCCFR+는 미니-배치 MCCFR보다 더 빨리 수렴한다는 것이 발견된다.
의사코드(700)에서 도시된 함수 Mini-Batch-MCCFR-NN은 미니-배치 샘플링 방법을 제시하고, 여기서, b 개의 블록들은 병렬로 샘플링될 것이다. 이 미니-배치 방법은 MCCFR이 CFV의 더 정확한 추정을 달성하는 것을 도울 수 있다. 병렬 샘플링은 이 방법을 실제로 효율적으로 만든다.
의사코드(700)의 라인들 1 내지 6에서 도시된 바와 같이, Mini-Batch-MCCFR-NN은 반복들 t의 총 수의 입력을 갖는 반복적 알고리즘이다. 각각의 반복 내에서, (라인들 4 및 5에서 도시된 바와 같이) MCCFR-NN 함수는 플레이어 0 및 플레이어 1에 대하여 호출되고, 이 반복에서의 샘플링된 정보 세트들에 대한 반사실적 후회 및 평균 전략의 분자가 반환되고, 각각 메모리들
Figure pct00257
Figure pct00258
에서 저장된다.
함수 MCCFR-NN은 의사코드(700)의 라인들 8 내지 33에서 도시된 바와 같이 정의될 수 있다. 함수 MCCFR-NN은 표 형식의 MCCFR과 같은 게임 트리를 횡단하고, 게임 트리는 루트 이력
Figure pct00259
으로부터 시작된다. Ii를 h의 정보 세트로서 정의한다. 플레이어 i가 강인한 샘플링에 따라 k 개의 액션들을 샘플링할 것이라는 것을 가정한다. 그 다음으로, 함수는 다음과 같이 정의될 수 있다. (1) 이력이 종결(예컨대,
Figure pct00260
)일 경우에, 함수는 가중화된 효용을 반환한다. (2) 이력이 기회 플레이어(예컨대,
Figure pct00261
,)일 경우에, 하나의 액션
Figure pct00262
은 전략
Figure pct00263
에 따라 샘플링될 수 있다. 그 다음으로, 이 액션은 이력에 추가될 것이고, 즉,
Figure pct00264
. (3)
Figure pct00265
일 경우에, 현재의 전략은 RSN에 의해 예측된 누적 후회에 의해 업데이트될 수 있다. 그 다음으로, 특정된 샘플링 전략 프로파일
Figure pct00266
(예컨대, 깊이-종속적 샘플링을 갖거나 갖지 않는 강인한 샘플링)에 따라 k 개의 액션들을 샘플링한다. 재귀적 업데이트 후에, Ii에서의 각각의 액션의 반사실적 값 및 후회가 획득될 수 있다. 방문된 노드에 대하여, 그 반사실적 후회들 및 대응하는 평균 전략의 분자들은 각각
Figure pct00267
Figure pct00268
에서 저장될 수 있다. (4)
Figure pct00269
이 상대방일 경우에, 오직 하나의 액션이 전략
Figure pct00270
에 따라 샘플링될 것이다.
도 8은 이 명세서의 실시예들에 따른 MCCFR을 수행하기 위한 샘플링 프로세스(800)의 예의 플로우차트이다. 샘플링 프로세스(800)는 2 이상의 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위하여 위에서 설명된 깊이-종속적 샘플링 방식의 예일 수 있다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. IIG는 2 이상의 당사자들을 수반하는, 자원 할당, 제품/서비스 추천, 사이버-공격 예측 및/또는 방지, 트래픽 라우팅, 사기 관리 등과 같은 하나 이상의 실세계 시나리오들을 표현할 수 있고, 여기서, 각각의 당사자는 다른 당사자의 판정들에 대한 미완성 또는 불완전한 정보를 가질 수 있다. 예로서, IIG는 적어도 제 1 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현할 수 있다. 제 1 플레이어는 예를 들어, 고객(또는 사용자) 정보, 제품 및 서비스 정보, 고객들의 구매 이력 등을 가지는 온라인 소매업자(online retailer)일 수 있다. 제 2 플레이어는 예를 들어, 고객들의 소셜 네트워킹 데이터를 가지는 소셜 네트워크 플랫폼, 고객들의 금융 정보를 가지는 은행 또는 또 다른 금융 기관, 자동차 영업소(car dealership), 또는 고객들에 대한 제품들 및 서비스들의 예측 및 추천들에서 고객들의 선호도들, 요구들, 금융 상황들, 위치들 등에 대한 고객들의 정보를 가질 수 있는 임의의 다른 당사자들일 수 있다. 제 1 플레이어 및 제 2 플레이어는 다른 사람들과 공유하기를 원하지 않는 독점적 데이터를 가질 수 있다. 제 2 플레이어는 상이한 시간들에서 부분적 정보를 제 1 플레이어에게 오직 제공할 수 있다. 이와 같이, 제 1 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 오직 가질 수 있다. 편의상, 프로세스(800)는, 하나 이상의 위치들에서 위치되고, 이 명세서에 따라 적절하게 프로그래밍된 하나 이상의 컴퓨터들의 시스템과 같은 데이터 프로세싱 장치에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 도 10의 컴퓨터 시스템(1000)은 프로세스(800)를 수행할 수 있다.
810에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 1 상태에서의 제 1 플레이어의 N1 개의 가능한 액션들을 식별한다. 일부 실시예들에서, IIG는 게임 트리(예컨대, 게임 트리(102, 104, 202, 204, 또는 206))에 의해 표현될 수 있다. 제 1 플레이어의 제 1 상태는 게임 트리의 제 1 노드(예컨대, 게임 트리(102)에서의 플레이어 0의 노드 h1)에 의해 표현될 수 있고, N1 개의 가능한 액션은 게임 트리의 제 1 노드의 에지들 또는 분기들(예컨대, 게임 트리(102)에서의 플레이어 0의 노드 h1의 P 및 B 에지들)일 수 있다. 협업 제품-서비스 추천 서비스의 예에서, 제 1 플레이어의 제 1 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 제 1 플레이어의 N1 개의 가능한 액션들은 제품-서비스 추천들을 고객에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 N1 개의 가능한 액션들을 포함한다. 제 1 플레이어의 제 1 상태 및 가능한 액션들은 IIG에 의해 모델링되는 다른 실세계 시나리오들에서의 다른 특징들을 포함할 수 있다.
820에서, 데이터 프로세싱 장치는 제 1 샘플링 확률로 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링한다. 일부 실시예들에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링할 수 있고, 여기서, k1 개의 가능한 액션들의 각각은 동일한 제 1 샘플링 확률로 샘플링된다.
830에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 2 상태에서의 제 1 플레이어의 N2 개의 가능한 액션들을 식별하고, 여기서, 제 1 플레이어의 제 1 상태는 제 1 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가깝다. 게임 트리(102)의 예에서, 제 1 플레이어의 제 2 상태는 예를 들어, h7 노드일 수 있고, 이 h7 노드는 제 1 플레이어의 제 1 상태(예컨대, 게임 트리(102)에서의 플레이어 0의 노드 h1)보다 게임 트리(102)의 시작 상태(예컨대, h0 노드)로부터 더 멀다.
840 에서, 데이터 프로세싱 장치는 제 2 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고, 여기서, 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작다. 일부 실시예들에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하고, 여기서, k2 개의 가능한 액션들의 각각은 동일한 제 2 샘플링 확률로 샘플링된다.
850에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행한다. 일부 실시예들에서, CFR은 도 3 및/또는 도 7에 대하여 설명된 일 예의 기법들에 따라 수행될 수 있다.
일부 실시예들에서는, IIG를 해결하는 것으로부터 기인하는 제 1 플레이어의 전략이 출력된다. 전략은 IIG에 의해 모델링되는 실세계 시나리오에서의 제 1 플레이어의 일련의 액션들을 포함할 수 있다. 예를 들어, 협업 제품-서비스 추천 시나리오에서, IIG를 해결하는 것으로부터 기인하는 제 1 플레이어의 전략은 예를 들어, 제 2 플레이어에 의해 제공된 정보, 제 1 플레이어의 정보에 기초한 고객들에 대한 대응하는 제품-서비스 추천들, 및 제 2 플레이어에 의해 제공된 정보에 응답하는 일련의 액션들을 포함할 수 있다. IIG를 해결하는 것으로부터 기인하는 제 1 플레이어의 출력 전략은 IIG에 의해 모델링되는 다른 실세계 시나리오들에서의 다른 정보를 포함할 수 있다.
일부 실시예들에서, 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하는 것은, (예컨대, 수학식 (1a) 및/또는 수학식 (2)에 따라) 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하는 것; (예컨대, 수학식 (1a) 및/또는 수학식 (2)에 따라) 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하는 것; (예컨대, 수학식 (3)에 따라) N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 1 상태에서의 제 1 플레이어의 제 1 전략을 업데이트하는 것; 및 (예컨대, 수학식 (3)에 따라) N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 2 상태에서의 제 1 플레이어의 제 2 전략을 업데이트하는 것을 포함한다.
일부 실시예들에서, 데이터 프로세싱 장치는 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들에 기초하여 CFR을 수행한다.
일부 실시예들에서, 강인한 샘플링은 깊이-종속적 샘플링과 관련하여 수행될 수 있다. 예를 들어, 제 1 샘플링 확률은 k1/N1이고, 제 2 샘플링 확률은 k2/N2이다. 이와 같이, 가능한 액션들은 균일 분포에 따라 샘플링된다.
일부 실시예들에서, 2 <= k1 <= N1이고, 2 <= k2 <= N2이어서, 하나 초과의 가능한 액션이 플레이어의 각각의 상태에 대하여 방문된다.
일부 실시예들에서, k1 = k2이어서, 동일한 수의 샘플들이 제 1 플레이어의 제 1 상태 및 제 2 상태에서 선택되거나 방문된다.
유사하게, 깊이-종속적 샘플링은 제 2 플레이어와 관련하여 수행될 수 있다. 예를 들어, 데이터 프로세싱 장치는 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별한다. 데이터 프로세싱 장치는 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링한다. 데이터 프로세싱 장치는 제 2 플레이어의 제 2 상태에서의 제 2 플레이어의 M2 개의 가능한 액션들을 식별하고, 여기서, 제 2 플레이어의 제 1 상태는 제 2 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가깝다. 데이터 프로세싱 장치는 제 4 샘플링 확률로 제 2 플레이어의 제 2 상태에서의 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고, 여기서, 제 3 샘플링 확률은 제 4 샘플링 확률보다 더 작다.
일부 실시예들에서, 깊이-종속적 샘플링은 양자의 제 1 플레이어 및 제 2 플레이어와 관련하여 수행될 수 있다. 일부 실시예들에서, 데이터 프로세싱 장치는 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하고, 여기서, 제 1 플레이어의 제 1 상태(예컨대, 게임 트리(102)에서의 플레이어 0의 상태 h1)는 제 2 플레이어의 제 1 상태(예컨대, 게임 트리(102)에서의 플레이어 1의 상태 h4)보다 IIG의 시작 상태(예컨대, h0 상태)에 더 가깝다. 데이터 프로세싱 장치는 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고, 여기서, 제 3 샘플링 확률은 제 1 샘플링 확률보다 더 크다.
도 9는 이 명세서의 실시예들에 따른 MCCFR을 수행하기 위한 이중 신경 CFR 알고리즘(900)의 예의 플로우차트이다. 샘플링 프로세스(900)는 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위하여 도 4 내지 도 7에 대하여 위에서 설명된 이중 저장소 CFR 알고리즘의 예일 수 있다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. IIG는 2 이상의 당사자들을 수반하는, 자원 할당, 제품/서비스 추천, 사이버-공격 예측 및/또는 방지, 트래픽 라우팅, 사기 관리 등과 같은 하나 이상의 실세계 시나리오들을 표현할 수 있고, 여기서, 각각의 당사자는 다른 당사자의 판정들에 대한 미완성 또는 불완전한 정보를 가질 수 있다. 예로서, IIG는 적어도 제 1 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현할 수 있다. 제 1 플레이어는 예를 들어, 고객(또는 사용자) 정보, 제품 및 서비스 정보, 고객들의 구매 이력 등을 가지는 온라인 소매업자일 수 있다. 제 2 플레이어는 예를 들어, 고객들의 소셜 네트워킹 데이터를 가지는 소셜 네트워크 플랫폼, 고객들의 금융 정보를 가지는 은행 또는 또 다른 금융 기관, 자동차 영업소, 또는 고객들에 대한 제품들 및 서비스들의 예측 및 추천들에서 고객들의 선호도들, 요구들, 금융 상황들, 위치들 등에 대한 고객들의 정보를 가질 수 있는 임의의 다른 당사자들일 수 있다. 제 1 플레이어 및 제 2 플레이어는 다른 사람들과 공유하기를 원하지 않는 독점적 데이터를 가질 수 있다. 제 2 플레이어는 상이한 시간들에서 부분적 정보를 제 1 플레이어에게 오직 제공할 수 있다. 이와 같이, 제 1 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 오직 가질 수 있다. 편의상, 프로세스(900)는, 하나 이상의 위치들에서 위치되고, 이 명세서에 따라 적절하게 프로그래밍된 하나 이상의 컴퓨터들의 시스템과 같은 데이터 프로세싱 장치에 의해 수행되는 것으로서 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 도 10의 컴퓨터 시스템(1000)은 프로세스(900)를 수행할 수 있다.
910에서, 데이터 프로세싱 장치는 제 1 신경망의 파라미터들 및 제 2 신경망의 파라미터들을 초기화한다. 제 1 신경망(예컨대, RegretSumNetwork(RSN)(420))은 플레이어의 상태에서의 가능한 액션의 후회 값을 예측하기 위하여 이용될 수 있다. 협업 제품-서비스 추천 서비스의 예에서, 플레이어의 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 플레이어의 가능한 액션은 제품-서비스 추천들을 고객에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 가능한 액션을 포함한다. 제 2 신경망(예컨대, AveStrategyNetwork(ASN)(430))은 플레이어의 상태에서의 가능한 액션의 전략 값을 예측하기 위하여 이용될 수 있다. 일부 실시예들에서, 데이터 프로세싱 장치는 예를 들어, 각각 이전의 반복에서의, 또는 현존하는 CFR 알고리즘에 기초하여 획득된 제 1 신경망의 파라미터들 및 제 2 신경망의 파라미터들에 기초하여, 웜 스타트(warm start)에 따라 파라미터들을 초기화한다. 일부 실시예들에서, 데이터 프로세싱 장치는 제 1 신경망의 파라미터들 및 제 2 신경망의 파라미터들을 무작위적으로 초기화한다.
920에서, 데이터 프로세싱 장치는 다수의 후회 샘플들을 제 1 데이터 스토어(예컨대, 저장소 MR)에서 저장하고, 여기서, 다수의 후회 샘플들의 각각은 플레이어의 상태, 및 플레이어의 상태에서의 가능한 액션의 후회 값을 포함한다. 일부 실시예들에서, 플레이어의 상태에서의 가능한 액션의 후회 값은 플레이어의 상태에서의 가능한 액션의 반사실적 값에 기초하여 계산된 플레이어의 상태에서의 가능한 액션의 반사실적 후회 값을 포함한다. 예를 들어, 각각의 후회 샘플은 후회 튜플(Ii,
Figure pct00271
)을 포함할 수 있다. 일부 실시예들에서, 다수의 후회 샘플들은 플레이어와 적어도 다른 플레이어 사이의 전략적 상호 작용에서의 전략 검색에서의 반사실적 후회 최소화(CFR) 알고리즘의 2 이상의 반복들에서 획득된다. 일부 실시예들에서, CFR 알고리즘은 강인한 샘플링 CFR 알고리즘을 포함한다.
일부 실시예들에서, IIG를 해결할 시의 CFR 알고리즘의 2 이상의 반복들의 각각에서, 데이터 프로세싱 장치는 샘플링 방식에 따라 플레이어의 제 2 상태에서의 다수의 가능한 액션들로부터의 가능한 액션을 샘플링하고; (예컨대, 수학식 (1)에 따라) 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값을 계산하고; (예컨대, 수학식 (1a) 및/또는 수학식 (2)에 따라) 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 후회 값을 계산하고; (예컨대, 수학식 (3)에 따라) 후회 정합 알고리즘에 따라 플레이어의 제 2 상태에서의 가능한 액션의 후회 값에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 업데이트된 전략을 계산하고; 그리고 (예컨대, 수학식 (4) 및/또는 수학식 (5)에 따라) 플레이어의 제 2 상태에서의 가능한 액션의 업데이트된 전략에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 전략 값을 계산한다.
일부 실시예들에서, 데이터 프로세싱 장치는 (예컨대, MCCFR의 또 다른 반복을 수행함으로써) 새로운 후회 샘플을 획득할 수 있다. 데이터 프로세싱 장치는 저장소 샘플링 알고리즘에 따라 새로운 후회 샘플을 제 1 데이터 스토어로 저장할 수 있다. 예를 들어, 저장소 샘플링 알고리즘에 따라 새로운 후회 샘플을 제 1 데이터 스토어로 저장하는 것은: 제 1 데이터 스토어가 가득 차 있는지 여부를 결정하는 것; 및 제 1 데이터 스토어가 가득 차 있는 것으로 결정하는 것에 응답하여, 제 1 데이터 스토어에서의 다수의 후회 샘플들 중의 하나를 새로운 후회 샘플로 대체하는 것을 포함한다.
930에서, 데이터 프로세싱 장치는 다수의 전략 샘플들을 제 2 데이터 스토어(예컨대, 저장소 MS)에서 저장하고, 여기서, 다수의 전략 샘플들의 각각은 플레이어의 상태, 및 플레이어의 상태에서의 가능한 액션의 전략 값을 포함한다. 일부 실시예들에서, 플레이어의 상태에서의 가능한 액션의 전략 값은 평균 전략의 분자를 포함한다. 예를 들어, 다수의 전략 샘플들의 각각은 전략 튜플(
Figure pct00272
)을 포함할 수 있다.
940에서, 데이터 프로세싱 장치는 예를 들어, 수학식 (7)에 따라, 제 1 데이터 스토어에서의 다수의 후회 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 후회 값을 예측하기 위한 제 1 신경망의 파라미터들을 업데이트한다. 일부 실시예들에서, 제 1 신경망의 파라미터들은 도 6에서 도시된 NeuralAgent 알고리즘, 또는 신경망을 최적화하기 위한 임의의 다른 알고리즘에 따라 업데이트될 수 있다.
950에서, 데이터 프로세싱 장치는 예를 들어, 수학식 (8)에 따라, 제 2 데이터 스토어에서의 다수의 전략 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 전략 값을 예측하기 위한 제 2 신경망의 파라미터들을 업데이트한다. 일부 실시예들에서, 제 2 신경망의 파라미터들은 도 6에서 도시된 NeuralAgent 알고리즘, 또는 신경망을 최적화하기 위한 임의의 다른 알고리즘에 따라 업데이트될 수 있다.
960에서, 데이터 프로세싱 장치는 플레이어의 제 1 상태 및 플레이어의 제 1 상태에서의 제 1 가능한 액션을 식별한다.
970에서, 데이터 프로세싱 장치는 제 1 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 후회 값을 예측한다. 일부 실시예들에서, 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 후회 값은 CFR 알고리즘의 다음 반복에서 이용될 수 있다.
980에서, 데이터 프로세싱 장치는 제 2 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 전략 값을 예측한다. 일부 실시예들에서, 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 전략 값은 CFR 알고리즘의 다음 반복에서 이용될 수 있다. 일부 실시예들에서, 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 전략 값은 근사 내쉬 평형을 계산하기 위하여 이용될 수 있고, CFR 알고리즘의 출력으로서 역할을 할 수 있다. 일부 실시예들에서, 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 전략 값은 IIG에 의해 모델링된 실세계 시나리오에서의 제 1 플레이어의 일련의 액션들을 포함할 수 있다. 예를 들어, 협업 제품-서비스 추천 시나리오에서, 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 전략 값은 예를 들어, 제 2 플레이어에 의해 제공된 정보, 제 1 플레이어의 정보에 기초한 고객들에 대한 대응하는 제품-서비스 추천들, 및 제 2 플레이어에 의해 제공된 정보에 응답하는 일련의 액션들을 포함할 수 있다. 플레이어의 제 1 상태에서의 제 1 가능한 액션의 예측된 제 1 전략 값은 IIG에 의해 모델링되는 다른 실세계 시나리오들에서의 다른 정보를 포함할 수 있다.
도 10은 이 명세서의 실시예들에 따른 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들, 및 절차들과 연관된 계산 기능성들을 제공하기 위하여 이용된 컴퓨터-구현된 시스템의 예를 예시하는 블록도를 도시한다. 도 10은 본 개시내용의 실시예에 따른, 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들, 및 절차들과 연관된 연산 기능성들을 제공하기 위하여 이용된 컴퓨터-구현된 시스템(1000)의 예를 예시하는 블록도이다. 예시된 실시예에서, 시스템(1000)은 컴퓨터(1002) 및 네트워크(1030)를 포함한다.
예시된 컴퓨터(1002)는 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트폰, 개인 정보 단말(personal data assistant; PDA), 태블릿 컴퓨터, 이 디바이스들 내의 하나 이상의 프로세서들, 또 다른 컴퓨팅 디바이스, 또는 컴퓨팅 디바이스의 물리적 또는 가상적 사례들 또는 컴퓨팅 디바이스의 물리적 또는 가상적 사례들의 조합을 포함하는 컴퓨팅 디바이스들의 조합과 같은 임의의 컴퓨팅 디바이스를 망라하도록 의도된다. 추가적으로, 컴퓨터(1002)는 키패드, 키보드, 터치스크린, 또 다른 입력 디바이스, 또는 사용자 정보를 받아들일 수 있는 입력 디바이스들의 조합과 같은 입력 디바이스, 및 디지털 데이터, 시각적, 청각적, 또 다른 유형의 정보, 또는 정보의 유형들의 조합을 포함하는, 컴퓨터(1002)의 동작과 연관된 정보를 그래픽-유형 사용자 인터페이스(graphical-type user interface)(UI)(또는 GUI) 또는 다른 UI 상에서 전달하는 출력 디바이스를 포함할 수 있다.
컴퓨터(1002)는 분산형 컴퓨팅 시스템에서의 역할로, 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 또 다른 영속성, 또 다른 역할, 또는 본 개시내용에서 설명된 발명 요지를 수행하기 위한 역할들의 조합으로서 작용할 수 있다. 예시된 컴퓨터(1002)는 네트워크(1030)와 통신가능하게 결합된다. 일부 실시예들에서, 컴퓨터(1002)의 하나 이상의 컴포넌트들은 클라우드-컴퓨팅-기반, 로컬, 전역적, 또 다른 환경, 또는 환경들의 조합을 포함하는 환경 내에서 동작하도록 구성될 수 있다.
하이 레벨에서, 컴퓨터(1002)는 설명된 발명 요지와 연관된 데이터 및 정보를 수신하거나, 송신하거나, 프로세싱하거나, 저장하거나, 관리하도록 동작가능한 전자 컴퓨팅 디바이스이다. 일부 실시예들에 따르면, 컴퓨터(1002)는 또한, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 또 다른 서버, 또는 서버들의 조합을 포함하는 서버를 포함할 수 있거나 이 서버와 통신가능하게 결합될 수 있다.
컴퓨터(1002)는 (예를 들어, 또 다른 컴퓨터(1002)상에서 실행되는 클라이언트 소프트웨어 애플리케이션으로부터) 네트워크(1030) 상에서 요청들을 수신할 수 있고, 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션들의 조합을 이용하여 수신된 요청들을 프로세싱함으로써 수신된 요청들에 대해 응답할 수 있다. 추가적으로, 요청들은 또한, 내부 사용자들로부터(예를 들어, 커맨드 콘솔로부터 또는 또 다른 내부 액세스 방법에 의해), 외부 또는 제3-당사자들, 또는 다른 엔티티들, 개인들, 시스템들, 또는 컴퓨터들로부터 컴퓨터(1002)로 전송될 수 있다.
컴퓨터(1002)의 컴포넌트들의 각각은 시스템 버스(1003)를 이용하여 통신할 수 있다. 일부 실시예들에서, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 포함하는, 컴퓨터(1002)의 컴포넌트들 중의 임의의 것 또는 전부는 애플리케이션 프로그래밍 인터페이스(application programming interface; API)(1012), 서비스 계층(1013), 또는 API(1012) 및 서비스 계층(1013)의 조합을 이용하여 시스템 버스(1003) 상에서 인터페이싱할 수 있다. API(1012)는 루틴들, 데이터 구조들, 및 오브젝트 클래스들에 대한 사양들을 포함할 수 있다. API(1012)는 컴퓨터-언어 독립적 또는 종속적인 것의 어느 하나일 수 있고, 완전한 인터페이스, 단일 함수, 또는 심지어 API들의 세트를 지칭할 수 있다. 서비스 계층(1013)은 소프트웨어 서비스들을 컴퓨터(1002), 또는 컴퓨터(1002)에 통신가능하게 결합되는 다른 컴포넌트들(예시되든지 또는 그렇지 않든지 간에)에 제공한다. 컴퓨터(1002)의 기능성은 서비스 계층(1013)을 이용하는 모든 서비스 소비자들을 위하여 액세스가능할 수 있다. 서비스 계층(1013)에 의해 제공된 것들과 같은 소프트웨어 서비스들은 정의된 인터페이스를 통해 재이용가능한 정의된 기능성들을 제공한다. 예를 들어, 인터페이스는 JAVA, C ++, 또 다른 컴퓨팅 언어, 또는 확장가능한 마크업 언어(extensible markup language; XML) 포맷, 또 다른 포맷, 또는 포맷들의 조합으로 데이터를 제공하는 컴퓨팅 언어들의 조합으로 기재된 소프트웨어일 수 있다. 컴퓨터(1002)의 통합된 컴포넌트로서 예시되지만, 대안적인 실시예들은 API(1012) 또는 서비스 계층(1013)을, 컴퓨터(1002)의 다른 컴포넌트, 또는 컴퓨터(1002)에 통신가능하게 결합되는 다른 컴포넌트들(예시되든지 또는 그렇지 않든지 간에)과 관련하여 독립형 컴포넌트들로서 예시할 수 있다. 또한, API(1012) 또는 서비스 계층(1013)의 임의의 또는 모든 부분들은 본 개시내용의 범위로부터 이탈하지 않으면서, 또 다른 소프트웨어 모듈, 기업 애플리케이션, 또는 하드웨어 모듈의 자식(child) 또는 서브-모듈로서 구현될 수 있다.
컴퓨터(1002)는 인터페이스(1004)를 포함한다. 단일 인터페이스(1004)로서 예시되지만, 2 이상의 인터페이스들(1004)이 컴퓨터(1002)의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 이용될 수 있다. 인터페이스(1004)는 분산된 환경에서 네트워크(1030)에 통신가능하게 링크되는 또 다른 컴퓨팅 시스템(예시되든지 또는 그렇지 않든지 간에)과 통신하기 위하여 컴퓨터(1002)에 의해 이용된다. 일반적으로, 인터페이스(1004)는 네트워크(1030)와 통신하도록 동작가능하고, 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 조합으로 인코딩된 로직을 포함한다. 더 구체적으로는, 네트워크(1030) 또는 인터페이스(1004)의 하드웨어가 예시된 컴퓨터(1002)의 내부 및 외부에서 물리적 신호들을 통신하게 동작가능하도록, 인터페이스(1004)는 통신들과 연관된 하나 이상의 통신 프로토콜들을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(1002)는 프로세서(1005)를 포함한다. 단일 프로세서(1005)로서 예시되지만, 2 이상의 프로세서들(1005)이 컴퓨터(1002)의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 이용될 수 있다. 일반적으로, 프로세서(1005)는 본 개시내용에서 설명된 바와 같은 컴퓨터(1002)의 동작들 및 임의의 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들, 및 절차들을 수행하기 위하여 명령들을 실행하고 데이터를 조작한다.
컴퓨터(1002)는 또한, 컴퓨터(1002), 네트워크(1030)(예시되든지 또는 그렇지 않든지 간에)에 통신가능하게 링크된 또 다른 컴포넌트, 또는 컴퓨터(1002) 및 또 다른 컴포넌트의 조합을 위한 데이터를 유지할 수 있는 데이터베이스(1006)를 포함할 수 있다. 예를 들어, 데이터베이스(1006)는 본 개시내용과 부합하는 데이터를 저장하는 메모리내(in-memory), 기존, 또는 또 다른 유형의 데이터베이스일 수 있다. 일부 실시예들에서, 데이터베이스(1006)는 컴퓨터(1002) 및 설명된 기능성의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 2 이상의 상이한 데이터베이스 유형들(예를 들어, 하이브리드 메모리내 및 기존의 데이터베이스)의 조합일 수 있다. 단일 데이터베이스(1006)로서 예시되지만, 유사한 또는 상이한 유형들의 2 이상의 데이터베이스들은 컴퓨터(1002) 및 설명된 기능성의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 이용될 수 있다. 데이터베이스(1006)는 컴퓨터(1002)의 일체형 컴포넌트로서 예시되지만, 대안적인 실시예들에서, 데이터베이스(1006)는 컴퓨터(1002)에 외부적일 수 있다. 예로서, 데이터베이스(1006)는 후회 샘플들(1026)을 저장하는 위에서 설명된 저장소 MR(1016), 및 전략 샘플들(1028)을 저장하는 저장소 MS(1018)를 포함할 수 있다.
컴퓨터(1002)는 또한, 컴퓨터(1002), 네트워크(1030)(예시되든지 또는 그렇지 않든지 간에)에 통신가능하게 링크된 또 다른 컴포넌트 또는 컴포넌트들, 또는 컴퓨터(1002) 및 또 다른 컴포넌트의 조합을 위한 데이터를 유지할 수 있는 메모리(1007)를 포함할 수 있다. 메모리(1007)는 본 개시내용과 부합하는 임의의 데이터를 저장할 수 있다. 일부 실시예들에서, 메모리(1007)는 컴퓨터(1002) 및 설명된 기능성의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 2 이상의 상이한 유형들의 메모리의 조합(예를 들어, 반도체 및 자기 스토리지의 조합)일 수 있다. 단일 메모리(1007)로서 예시되지만, 유사한 또는 상이한 유형들의 2 이상의 메모리들(1007)은 컴퓨터(1002) 및 설명된 기능성의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 이용될 수 있다. 메모리(1007)는 컴퓨터(1002)의 일체형 컴포넌트로서 예시되지만, 대안적인 실시예들에서, 메모리(1007)는 컴퓨터(1002)에 외부적일 수 있다.
애플리케이션(1008)은 특히, 본 개시내용에서 설명된 기능성에 대하여, 컴퓨터(1002)의 특정한 필요성들, 희망들, 또는 특정한 실시예들에 따라 기능성을 제공하는 알고리즘 소프트웨어 엔진이다. 예를 들어, 애플리케이션(1008)은 하나 이상의 컴포넌트들, 모듈들, 또는 애플리케이션들로서 역할을 할 수 있다. 또한, 단일 애플리케이션(1008)으로서 예시되지만, 애플리케이션(1008)은 컴퓨터(1002) 상의 다수의 애플리케이션들(1008)로서 구현될 수 있다. 추가적으로, 컴퓨터(1002)에 일체형으로서 예시되지만, 대안적인 실시예들에서, 애플리케이션(1008)은 컴퓨터(1002)에 외부적일 수 있다.
컴퓨터(1002)는 또한 전력 공급부(1014)를 포함할 수 있다. 전력 공급부(1014)는 사용자-교체가능 또는 비-사용자-교체가능의 어느 하나가 되도록 구성될 수 있는 재충전가능한 또는 비-재충전가능한 배터리를 포함할 수 있다. 일부 실시예들에서, 전력 공급부(1014)는 (재충전, 대기, 또는 또 다른 다른 전력 관리 기능성을 포함하는) 전력-변환 또는 관리 회로들을 포함할 수 있다. 일부 실시예들에서, 전력 공급부(1014)는 예를 들어, 컴퓨터(1002)에 급전하거나 재충전가능한 배터리를 재충전하기 위하여, 컴퓨터(1002)가 벽 소켓 또는 또 다른 전원으로 플러그되는 것을 허용하기 위한 전력 플러그를 포함할 수 있다.
컴퓨터(1002)를 포함하는 컴퓨터 시스템과 연관된, 또는 컴퓨터(1002)를 포함하는 컴퓨터 시스템에 외부적인 임의의 수의 컴퓨터들(1002)이 있을 수 있고, 각각의 컴퓨터(1002)는 네트워크(1030) 상에서 통신할 수 있다. 또한, 용어 "클라이언트", "사용자", 또는 다른 적절한 전문용어는 본 개시내용의 범위로부터 이탈하지 않으면서, 적절한 바와 같이 상호 교환가능하게 이용될 수 있다. 또한, 본 개시내용은 많은 사용자들이 하나의 컴퓨터(1002)를 이용할 수 있다는 것, 또는 하나의 사용자가 다수의 컴퓨터들(1002)을 이용할 수 있다는 것을 고려한다.
도 11은 이 명세서의 실시예들에 따른 장치(1100)의 모듈들의 하나의 예의 도면이다. 장치(1100)는 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 데이터 프로세싱 장치의 일 예의 실시예일 수 있다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 예로서, IIG는 적어도 제 1 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 제 1 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 가진다. 장치(1100)는 위에서 설명된 실시예들에 대응할 수 있고, 장치(1100)는 다음: 제 1 플레이어의 제 1 상태에서의 제 1 플레이어의 N1 개의 가능한 액션들을 식별하기 위한 제 1 식별 모듈(1101); 제 1 샘플링 확률로 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 1 샘플링 모듈(1102); 제 1 플레이어의 제 2 상태에서의 제 1 플레이어의 N2 개의 가능한 액션들을 식별하기 위한 제 2 식별 모듈(1103) - 제 1 플레이어의 제 1 상태는 제 1 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 제 2 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 2 샘플링 모듈(1104) - 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작음 -; 및 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하기 위한 프로세싱 모듈(1105)을 포함한다. 일부 실시예들에서, 제 1 플레이어의 제 1 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 제 1 플레이어의 N1 개의 가능한 액션들은 제품-서비스 추천들을 고객에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 N1 개의 가능한 액션들을 포함한다.
임의적인 실시예에서, 프로세싱 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하기 위한 제 1 계산 모듈; 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하기 위한 제 2 계산 모듈; N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 1 상태에서의 제 1 플레이어의 제 1 전략을 업데이트하기 위한 제 1 업데이트 모듈; 및 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 2 상태에서의 제 1 플레이어의 제 2 전략을 업데이트하기 위한 제 2 업데이트 모듈을 포함한다.
임의적인 실시예에서, 제 1 샘플링 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하고, 여기서, k1 개의 가능한 액션들의 각각은 동일한 제 1 샘플링 확률로 샘플링되고; 그리고 제 2 샘플링 모듈은 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하고, 여기서, k2 개의 가능한 액션들의 각각은 동일한 제 2 샘플링 확률로 샘플링된다.
임의적인 실시예에서, 프로세싱 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들에 기초하여 CFR을 수행한다.
임의적인 실시예에서, 제 1 샘플링 확률은 k1/N1이고, 제 2 샘플링 확률은 k2/N2이다.
임의적인 실시예에서, 2 <= k1 <= N1이고, 2 <= k2 <= N2이다.
임의적인 실시예에서, k1 = k2이다.
임의적인 실시예에서, 장치(1100)는 다음: 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하기 위한 제 3 식별 모듈; 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 3 샘플링 모듈; 제 2 플레이어의 제 2 상태에서의 제 2 플레이어의 M2 개의 가능한 액션들을 식별하기 위한 제 4 식별 모듈 - 제 2 플레이어의 제 1 상태는 제 2 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 4 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 4 샘플링 모듈 - 제 3 샘플링 확률은 제 4 샘플링 확률보다 더 작음 - 을 더 포함한다.
임의적인 실시예에서, 장치(1100)는 다음: 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하기 위한 제 5 식별 모듈 - 제 1 플레이어의 제 1 상태는 제 2 플레이어의 제 1 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 5 샘플링 모듈 - 제 3 샘플링 확률은 제 1 샘플링 확률보다 더 큼 - 을 더 포함한다.
이전의 실시예들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티를 이용함으로써 구현될 수 있거나, 어떤 기능을 가지는 제품을 이용함으로써 구현될 수 있다. 전형적인 실시예 디바이스는 컴퓨터이고, 컴퓨터는 개인용 컴퓨터, 랩톱 컴퓨터, 셀룰러 전화, 카메라 전화, 스마트폰, 개인 정보 단말(personal digital assistant), 미디어 플레이어(media player), 내비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔(game console), 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이 디바이스들의 임의의 조합일 수 있다.
장치에서의 각각의 모듈의 기능들 및 역할들의 실시예 프로세스에 대하여, 이전의 방법에서의 대응하는 단계들의 실시예 프로세스에 대해 참조들이 행해질 수 있다. 세부사항들은 간략화를 위하여 여기에서 생략된다.
장치 실시예는 방법 실시예에 기본적으로 대응하므로, 관련된 부분들에 대하여, 방법 실시예에서의 관련된 설명들에 대해 참조들이 행해질 수 있다. 이전에 설명된 장치 실시예는 단지 예이다. 별도의 부분들로서 설명된 모듈들은 물리적으로 별도일 수 있거나 아닐 수 있고, 모듈들로서 디스플레이된 부분들은 물리적 모듈들일 수 있거나 또는 아닐 수 있거나, 하나의 포지션에서 위치될 수 있거나, 또는 다수의 네트워크 모듈들 상에서 분산될 수 있다. 모듈들의 일부 또는 전부는 명세서의 해결책들의 목적들을 달성하기 위하여 실제적인 요구들에 기초하여 선택될 수 있다. 당해 분야의 당업자는 창조적인 노력들 없이 본 출원의 실시예들을 이해할 수 있고 구현할 수 있다.
다시 도 11을 참조하면, 도 11은 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 데이터 프로세싱 장치의 내부 기능적인 모듈 및 구조를 예시하는 것으로서 해독될 수 있다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 실행 본체는 본질적으로 전자 디바이스일 수 있고, 전자 디바이스는 다음: 하나 이상의 프로세서들; 및 하나 이상의 프로세서들의 실행가능 명령을 저장하도록 구성된 메모리를 포함한다.
하나 이상의 프로세서들은 제 1 플레이어의 제 1 상태에서의 제 1 플레이어의 N1 개의 가능한 액션들을 식별하고; 제 1 샘플링 확률로 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고; 제 1 플레이어의 제 2 상태에서의 제 1 플레이어의 N2 개의 가능한 액션들을 식별하고 - 제 1 플레이어의 제 1 상태는 제 1 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 제 2 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고 - 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작음 -; 그리고 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하도록 구성된다.
임의적으로, 하나 이상의 프로세서들은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하고; 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하고; N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 1 상태에서의 제 1 플레이어의 제 1 전략을 업데이트하고; 그리고 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 2 상태에서의 제 1 플레이어의 제 2 전략을 업데이트하도록 구성된다.
임의적으로, 하나 이상의 프로세서들은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하고 - k1 개의 가능한 액션들의 각각은 동일한 제 1 샘플링 확률로 샘플링됨 -; 그리고 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하도록 - k2 개의 가능한 액션들의 각각은 동일한 제 2 샘플링 확률로 샘플링됨 - 구성된다.
임의적으로, 하나 이상의 프로세서들은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들에 기초하여 CFR을 수행하도록 구성된다.
임의적으로, 제 1 샘플링 확률은 k1/N1이고, 제 2 샘플링 확률은 k2/N2이다.
임의적으로, 2 <= k1 <= N1이고, 2 <= k2 <= N2이다.
임의적으로, k1 = k2이다.
임의적으로, 하나 이상의 프로세서들은 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하고; 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하고; 제 2 플레이어의 제 2 상태에서의 제 2 플레이어의 M2 개의 가능한 액션들을 식별하고 - 제 2 플레이어의 제 1 상태는 제 2 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 그리고 제 4 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하도록 - 제 3 샘플링 확률은 제 4 샘플링 확률보다 더 작음 - 구성된다.
임의적으로, 하나 이상의 프로세서들은 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하고 - 제 1 플레이어의 제 1 상태는 제 2 플레이어의 제 1 상태보다 IIG의 시작 상태에 더 가까움 -; 그리고 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하도록 - 제 3 샘플링 확률은 제 1 샘플링 확률보다 더 큼 - 구성된다.
도 12는 이 명세서의 실시예들에 따른 또 다른 장치(1200)의 모듈들의 하나의 예의 도면이다. 장치(1200)는 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 데이터 프로세싱 장치의 일 예의 실시예일 수 있다. 장치(1200)는 위에서 설명된 실시예들에 대응할 수 있고, 장치(1200)는 다음: 다수의 후회 샘플들을 제 1 데이터 스토어에서 저장하기 위한 제 1 저장 모듈(1201) - 다수의 후회 샘플들의 각각은 플레이어의 상태 및 플레이어의 상태에서의 가능한 액션의 후회 값을 포함하고, 다수의 후회 샘플들은 플레이어와 적어도 또 다른 플레이어 사이의 전략적 상호작용에서의 전략 검색에서의 반사실적 후회 최소화(CFR) 알고리즘의 2 이상의 반복들에서 획득됨 -; 다수의 전략 샘플들을 제 2 데이터 스토어에서 저장하기 위한 제 2 저장 모듈(1202) - 다수의 전략 샘플들의 각각은 플레이어의 상태 및 플레이어의 상태에서의 가능한 액션의 전략 값을 포함함 -; 제 1 데이터 스토어에서의 다수의 후회 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 후회 값을 예측하기 위한 제 1 신경망의 파라미터들을 업데이트하기 위한 제 1 업데이트 모듈(1203); 및 제 2 데이터 스토어에서의 다수의 전략 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 전략 값을 예측하기 위한 제 2 신경망의 파라미터들을 업데이트하기 위한 제 2 업데이트 모듈(1204)을 포함한다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 예로서, IIG는 적어도 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 가지고, 여기서, 플레이어의 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 그리고 여기서, 플레이어의 가능한 액션은 제품-서비스 추천들을 고객들에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 가능한 액션을 포함한다.
상기한 그리고 다른 설명된 실시예들은 다음의 특징들 중의 하나 이상을 각각 임의적으로 포함할 수 있다:
임의적인 실시예에서, 장치(1200)는 다음: 플레이어의 제 1 상태 및 플레이어의 제 1 상태에서의 제 1 가능한 액션을 식별하기 위한 식별 모듈; 제 1 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 후회 값을 예측하기 위한 제 1 예측 모듈; 및 제 2 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 전략 값을 예측하기 위한 제 2 예측 모듈을 더 포함한다.
임의적인 실시예에서, 여기서, 제 1 저장 모듈은 새로운 후회 샘플을 획득할 수 있고; 그리고 저장소 샘플링 알고리즘에 따라 새로운 후회 샘플을 제 1 데이터 스토어로 저장할 수 있다.
임의적인 실시예에서, 여기서, 저장소 샘플링 알고리즘에 따라 새로운 후회 샘플을 제 1 데이터 스토어로 저장하는 것은: 제 1 데이터 스토어가 가득 차 있는지 여부를 결정하는 것; 및 제 1 데이터 스토어가 가득 차 있는 것으로 결정하는 것에 응답하여, 제 1 데이터 스토어에서의 다수의 후회 샘플들 중의 하나를 새로운 후회 샘플로 대체하는 것을 포함한다.
임의적인 실시예에서, 여기서, CFR 알고리즘은 강인한 샘플링 CFR 알고리즘을 포함한다.
임의적인 실시예에서, 여기서, 플레이어의 상태에서의 가능한 액션의 전략 값은 평균 전략의 분자를 포함한다.
임의적인 실시예에서, 여기서, 플레이어의 상태에서의 가능한 액션의 후회 값은 플레이어의 상태에서의 가능한 액션의 반사실적 값에 기초하여 계산된 플레이어의 상태에서의 가능한 액션의 반사실적 후회 값을 포함한다.
임의적인 실시예에서, 장치(1200)는 다음: 플레이어와 적어도 또 다른 플레이어 사이의 전략적 상호작용에서의 전략 검색에서의 반사실적 후회 최소화(CFR) 알고리즘의 2 이상의 반복들의 각각에서, 샘플링 방식에 따라 플레이어의 제 2 상태에서의 다수의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 샘플링 모듈; 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값을 계산하기 위한 제 1 계산 모듈; 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 후회 값을 계산하기 위한 제 2 계산 모듈; 후회 정합 알고리즘에 따라 플레이어의 제 2 상태에서의 가능한 액션의 후회 값에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 업데이트된 전략을 계산하기 위한 제 3 계산 모듈; 및 플레이어의 제 2 상태에서의 가능한 액션의 업데이트된 전략에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 전략 값을 계산하기 위한 제 4 계산 모듈을 더 포함하는 것을 더 포함한다.
임의적인 실시예에서, 장치(1200)는 다음: 이전 반복에서의 제 1 신경망의 파라미터들에 기초하여 제 1 신경망의 파라미터들을 초기화하기 위한 제 1 초기화 모듈; 및 이전 반복에서의 제 2 신경망의 파라미터들에 기초하여 제 2 신경망의 파라미터들을 초기화하기 위한 제 2 초기화 모듈을 더 포함하는 것을 더 포함한다.
이전의 실시예들에서 예시된 시스템, 장치, 모듈, 또는 모듈은 컴퓨터 칩 또는 엔티티를 이용함으로써 구현될 수 있거나, 어떤 기능을 가지는 제품을 이용함으로써 구현될 수 있다. 전형적인 실시예 디바이스는 컴퓨터이고, 컴퓨터는 개인용 컴퓨터, 랩톱 컴퓨터, 셀룰러 전화, 카메라 전화, 스마트폰, 개인 정보 단말, 미디어 플레이어, 내비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이 디바이스들의 임의의 조합일 수 있다.
장치에서의 각각의 모듈의 기능들 및 역할들의 실시예 프로세스에 대하여, 이전의 방법에서의 대응하는 단계들의 실시예 프로세스에 대해 참조들이 행해질 수 있다. 세부사항들은 간략화를 위하여 여기에서 생략된다.
장치 실시예는 방법 실시예에 기본적으로 대응하므로, 관련된 부분들에 대하여, 방법 실시예에서의 관련된 설명들에 대해 참조들이 행해질 수 있다. 이전에 설명된 장치 실시예는 단지 예이다. 별도의 부분들로서 설명된 모듈들은 물리적으로 별도일 수 있거나 아닐 수 있고, 모듈들로서 디스플레이된 부분들은 물리적 모듈들일 수 있거나 또는 아닐 수 있거나, 하나의 포지션에서 위치될 수 있거나, 또는 다수의 네트워크 모듈들 상에서 분산될 수 있다. 모듈들의 일부 또는 전부는 명세서의 해결책들의 목적들을 달성하기 위하여 실제적인 요구들에 기초하여 선택될 수 있다. 당해 분야의 당업자는 창조적인 노력들 없이 본 출원의 실시예들을 이해할 수 있고 구현할 수 있다.
다시 도 12를 참조하면, 도 12는 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 데이터 프로세싱 장치의 내부 기능적인 모듈 및 구조를 예시하는 것으로서 해독될 수 있다. 실행 본체는 본질적으로 전자 디바이스일 수 있고, 전자 디바이스는 다음: 하나 이상의 프로세서들; 및 하나 이상의 프로세서들의 실행가능 명령을 저장하도록 구성된 메모리를 포함한다.
하나 이상의 프로세서들은 다수의 후회 샘플들을 제 1 데이터 스토어에서 저장하고 - 다수의 후회 샘플들의 각각은 플레이어의 상태 및 플레이어의 상태에서의 가능한 액션의 후회 값을 포함하고, 다수의 후회 샘플들은 플레이어와 적어도 또 다른 플레이어 사이의 전략적 상호작용에서의 전략 검색에서의 반사실적 후회 최소화(CFR) 알고리즘의 2 이상의 반복들에서 획득됨 -; 다수의 전략 샘플들을 제 2 데이터 스토어에서 저장하고 - 다수의 전략 샘플들의 각각은 플레이어의 상태 및 플레이어의 상태에서의 가능한 액션의 전략 값을 포함함 -; 제 1 데이터 스토어에서의 다수의 후회 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 후회 값을 예측하기 위한 제 1 신경망의 파라미터들을 업데이트하고; 그리고 제 2 데이터 스토어에서의 다수의 전략 샘플들에 기초하여 플레이어의 상태에서의 가능한 액션의 전략 값을 예측하기 위한 제 2 신경망의 파라미터들을 업데이트하도록 구성된다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 예로서, IIG는 적어도 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 가지고, 여기서, 플레이어의 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 그리고 여기서, 플레이어의 가능한 액션은 제품-서비스 추천들을 고객들에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 가능한 액션을 포함한다.
임의적으로, 하나 이상의 프로세서들은 플레이어의 제 1 상태 및 플레이어의 제 1 상태에서의 제 1 가능한 액션을 식별하고; 제 1 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 후회 값을 예측하고; 그리고 제 2 신경망의 파라미터들을 이용하여 플레이어의 제 1 상태에서의 제 1 가능한 액션의 제 1 전략 값을 예측하도록 구성된다.
임의적으로, 하나 이상의 프로세서들은 새로운 후회 샘플을 획득하고; 그리고 저장소 샘플링 알고리즘에 따라 새로운 후회 샘플을 제 1 데이터 스토어로 저장하도록 구성된다.
임의적으로, 하나 이상의 프로세서들은 제 1 데이터 스토어가 가득 차 있는지 여부를 결정하고; 그리고 제 1 데이터 스토어가 가득 차 있는 것으로 결정하는 것에 응답하여, 제 1 데이터 스토어에서의 다수의 후회 샘플들 중의 하나를 새로운 후회 샘플로 대체하도록 구성된다.
임의적으로, CFR 알고리즘은 강인한 샘플링 CFR 알고리즘을 포함한다.
임의적으로, 플레이어의 상태에서의 가능한 액션의 전략 값은 평균 전략의 분자를 포함한다.
임의적으로, 플레이어의 상태에서의 가능한 액션의 후회 값은 플레이어의 상태에서의 가능한 액션의 반사실적 값에 기초하여 계산된 플레이어의 상태에서의 가능한 액션의 반사실적 후회 값을 포함한다.
임의적으로, 하나 이상의 프로세서들은 플레이어와 적어도 또 다른 플레이어 사이의 전략적 상호작용에서의 전략 검색에서의 반사실적 후회 최소화(CFR) 알고리즘의 2 이상의 반복들의 각각에서, 샘플링 방식에 따라 플레이어의 제 2 상태에서의 다수의 가능한 액션들로부터의 가능한 액션을 샘플링하고; 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값을 계산하고; 플레이어의 제 2 상태에서의 가능한 액션의 반사실적 값에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 후회 값을 계산하고; 후회 정합 알고리즘에 따라 플레이어의 제 2 상태에서의 가능한 액션을 업데이트된 전략을 계산하고; 그리고 플레이어의 제 2 상태에서의 가능한 액션의 업데이트된 전략에 기초하여 플레이어의 제 2 상태에서의 가능한 액션의 전략 값을 계산하도록 구성된다.
임의적으로, 하나 이상의 프로세서들은 이전 반복에서의 제 1 신경망의 파라미터들에 기초하여 제 1 신경망의 파라미터들을 초기화하고; 그리고 이전 반복에서의 제 2 신경망의 파라미터들에 기초하여 제 2 신경망의 파라미터들을 초기화하도록 구성된다.
발명 요지의 설명된 실시예들은 단독으로 또는 조합하여, 하나 이상의 특징들을 포함할 수 있다. 예를 들어, 제 1 실시예에서, 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 컴퓨터-구현된 방법. 방법은 제 1 플레이어의 제 1 상태에서의 제 1 플레이어의 N1 개의 가능한 액션들을 식별하는 단계; 제 1 샘플링 확률로 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계; 제 1 플레이어의 제 2 상태에서의 제 1 플레이어의 N2 개의 가능한 액션들을 식별하는 단계 - 제 1 플레이어의 제 1 상태는 제 1 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 제 2 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계 - 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작음 -; 및 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하는 단계를 포함한다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 예로서, IIG는 적어도 제 1 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 제 1 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 가지고, 여기서, 제 1 플레이어의 제 1 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 그리고 제 1 플레이어의 N1 개의 가능한 액션들은 제품-서비스 추천들을 고객들에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 N1 개의 가능한 액션들을 포함한다.
상기한 그리고 다른 설명된 실시예들은 다음의 특징들 중의 하나 이상을 각각 임의적으로 포함할 수 있다:
다음의 특징들 중의 임의의 것과 조합가능한 제 1 특징으로서, 여기서, 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하는 것은: 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하는 것; 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하는 것; N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 1 상태에서의 제 1 플레이어의 제 1 전략을 업데이트하는 것; 및 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 2 상태에서의 제 1 플레이어의 제 2 전략을 업데이트하는 것을 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 2 특징으로서, 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하는 것 - k1 개의 가능한 액션들의 각각은 동일한 제 1 샘플링 확률로 샘플링됨 -; 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하는 것 - k2 개의 가능한 액션들의 각각은 동일한 제 2 샘플링 확률로 샘플링됨 - 을 더 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 3 특징으로서, 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들에 기초하여 CFR을 수행하는 것을 더 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 4 특징으로서, 여기서, 제 1 샘플링 확률은 k1/N1이고, 제 2 샘플링 확률은 k2/N2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 5 특징으로서, 여기서, 2 <= k1 <= N1이고, 2 <= k2 <= N2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 6 특징으로서, 여기서, k1 = k2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 7 특징으로서, 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하는 것; 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 것; 제 2 플레이어의 제 2 상태에서의 제 2 플레이어의 M2 개의 가능한 액션들을 식별하는 것 - 제 2 플레이어의 제 1 상태는 제 2 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 4 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 것 - 제 3 샘플링 확률은 제 4 샘플링 확률보다 더 작음 - 을 더 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 8 특징으로서, 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하는 것 - 제 1 플레이어의 제 1 상태는 제 2 플레이어의 제 1 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 것 - 제 3 샘플링 확률은 제 1 샘플링 확률보다 더 큼 - 을 더 포함한다.
제 2 실시예에서, 시스템은 하나 이상의 프로세서들; 및 하나 이상의 프로세서들에 결합되고, 제 1 실시예 및 위에서 설명된 특징들 중의 하나 이상의 그 임의적인 조합 중의 임의의 것의 방법을 수행하기 위하여 하나 이상의 프로세서들에 의해 실행가능한 명령들을 그 상에 저장한 하나 이상의 컴퓨터-판독가능 메모리들을 포함한다.
제 3 실시예에서, 2 이상의 플레이어들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 장치. 장치는 제 1 플레이어의 제 1 상태에서의 제 1 플레이어의 N1 개의 가능한 액션들을 식별하기 위한 제 1 식별 모듈; 제 1 샘플링 확률로 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 1 샘플링 모듈; 제 1 플레이어의 제 2 상태에서의 제 1 플레이어의 N2 개의 가능한 액션들을 식별하기 위한 제 2 식별 모듈 - 제 1 플레이어의 제 1 상태는 제 1 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 제 2 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 2 샘플링 모듈 - 제 1 샘플링 확률은 제 2 샘플링 확률보다 더 작음 -; 및 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션에 기초하여 CFR을 수행하기 위한 프로세싱 모듈을 포함한다. 일부 실시예들에서, 2 이상의 플레이어들 사이의 전략적 상호작용은 2 이상의 플레이어들을 수반하는 불완전 정보 게임(IIG)에 의해 모델링될 수 있다. 예로서, IIG는 적어도 제 1 플레이어 및 제 2 플레이어를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 제 1 플레이어는 제 2 플레이어의 정보에 대한 제한된 액세스를 가지고, 여기서, 제 1 플레이어의 제 1 상태는 제 2 플레이어에 의해 제공된 정보의 이력을 포함하고, 그리고 제 1 플레이어의 N1 개의 가능한 액션들은 제품-서비스 추천들을 고객들에게 제공하기 위하여 제 2 플레이어에 의해 제공된 정보의 이력에 응답하는 N1 개의 가능한 액션들을 포함한다.
상기한 그리고 다른 설명된 실시예들은 다음의 특징들 중의 하나 이상을 각각 임의적으로 포함할 수 있다:
다음의 특징들 중의 임의의 것과 조합가능한 제 1 특징으로서, 여기서, 프로세싱 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하기 위한 제 1 계산 모듈; 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값을 계산하기 위한 제 2 계산 모듈; N1 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 1 상태에서의 제 1 플레이어의 제 1 전략을 업데이트하기 위한 제 1 업데이트 모듈; 및 N2 개의 가능한 액션들로부터의 가능한 액션의 후회 값에 기초하여 제 2 상태에서의 제 1 플레이어의 제 2 전략을 업데이트하기 위한 제 2 업데이트 모듈을 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 2 특징으로서, 여기서, 제 1 샘플링 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하고, 여기서, k1 개의 가능한 액션들의 각각은 동일한 제 1 샘플링 확률로 샘플링되고; 그리고 제 2 샘플링 모듈은 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하고, 여기서, k2 개의 가능한 액션들의 각각은 동일한 제 2 샘플링 확률로 샘플링된다.
다음의 특징들 중의 임의의 것과 조합가능한 제 3 특징으로서, 여기서, 프로세싱 모듈은 제 1 플레이어의 제 1 상태에서의 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들 및 제 1 플레이어의 제 2 상태에서의 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들에 기초하여 CFR을 수행한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 4 특징으로서, 여기서, 제 1 샘플링 확률은 k1/N1이고, 제 2 샘플링 확률은 k2/N2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 5 특징으로서, 여기서, 2 <= k1 <= N1이고, 2 <= k2 <= N2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 6 특징으로서, 여기서, k1 = k2이다.
다음의 특징들 중의 임의의 것과 조합가능한 제 7 특징으로서, 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하기 위한 제 3 식별 모듈; 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 3 샘플링 모듈; 제 2 플레이어의 제 2 상태에서의 제 2 플레이어의 M2 개의 가능한 액션들을 식별하기 위한 제 4 식별 모듈 - 제 2 플레이어의 제 1 상태는 제 2 플레이어의 제 2 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 4 샘플링 확률로 제 1 플레이어의 제 2 상태에서의 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 4 샘플링 모듈 - 제 3 샘플링 확률은 제 4 샘플링 확률보다 더 작음 - 을 더 포함한다.
다음의 특징들 중의 임의의 것과 조합가능한 제 8 특징으로서, 제 2 플레이어의 제 1 상태에서의 제 2 플레이어의 M1 개의 가능한 액션들을 식별하기 위한 제 5 식별 모듈 - 제 1 플레이어의 제 1 상태는 제 2 플레이어의 제 1 상태보다 IIG의 시작 상태에 더 가까움 -; 및 제 3 샘플링 확률로 제 2 플레이어의 제 1 상태에서의 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 5 샘플링 모듈 - 제 3 샘플링 확률은 제 1 샘플링 확률보다 더 큼 - 을 더 포함한다.
이 명세서에서 설명된 발명 요지의 실시예들 및 액션들 및 동작들은 디지털 전자 회로부로, 유형적으로-구체화된 컴퓨터 소프트웨어 또는 펌웨어로, 이 명세서에서 개시된 구조들 및 그 구조적 등가물들을 포함하는 컴퓨터 하드웨어로, 또는 이들 중의 하나 이상의 조합들로 구현될 수 있다. 이 명세서에서 설명된 발명 요지의 실시예들은 하나 이상의 컴퓨터 프로그램들, 예컨대, 데이터 프로세싱 장치에 의한 실행을 위하여, 또는 데이터 프로세싱 장치의 동작을 제어하기 위하여, 컴퓨터 프로그램 캐리어(computer program carrier) 상에서 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 예를 들어, 컴퓨터 프로그램 캐리어는 그 상에서 인코딩되거나 저장된 명령들을 가지는 하나 이상의 컴퓨터-판독가능 저장 매체들을 포함할 수 있다. 캐리어는 자기적, 자기 광학적, 또는 광학적 디스크, 솔리드 스테이트 드라이브(solid state drive), 랜덤 액세스 메모리(random access memory; RAM), 판독-전용 메모리(read-only memory; ROM), 또는 다른 유형들의 매체들과 같은 유형의 비-일시적 컴퓨터-판독가능 매체일 수 있다. 대안적으로 또는 추가적으로, 캐리어는 인공적으로 생성된 전파된 신호, 예컨대, 데이터 프로세싱 장치에 의한 실행을 위하여 적당한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위하여 생성되는 머신-생성된 전기적, 광학적, 또는 전자기적 신호일 수 있다. 컴퓨터 저장 매체는 컴퓨터-판독가능 저장 디바이스, 머신-판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중의 하나 이상의 조합일 수 있거나, 그 일부일 수 있다. 컴퓨터 저장 매체는 전파된 신호가 아니다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱(app), 모듈, 소프트웨어 모듈, 엔진, 스크립트, 또는 코드로서 또한 지칭될 수 있거나 설명될 수 있는 컴퓨터 프로그램은 컴파일링된 또는 해독된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기입될 수 있고; 컴퓨터 프로그램은 단독형 프로그램 또는 모듈로서, 컴포넌트, 엔진, 서브루틴, 또는 그 환경이 하나 이상의 위치들에서 데이터 통신 네트워크에 의해 상호접속된 하나 이상의 컴퓨터들을 포함할 수 있는 컴퓨팅 환경에서 실행하기 위하여 적당한 다른 유닛을 포함하는 임의의 형태로 전개될 수 있다.
컴퓨터 프로그램은 파일 시스템에서의 파일에 대응할 수 있지만, 파일 시스템에서의 파일에 대응할 필요는 없다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터, 예컨대, 마크업 언어 문서에서 저장된 하나 이상의 스크립트들을 유지하는 파일의 부분에서, 논의 중인 프로그램에 전용인 단일 파일에서, 또는 다수의 조정된 파일들, 예컨대, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 부분들을 저장하는 파일들에서 저장될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은 예로서, 범용- 및 특수-목적 마이크로프로세서들의 양자와, 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 프로세서에 결합된 비-일시적 컴퓨터-판독가능 매체로부터, 실행을 위한 컴퓨터 프로그램의 명령들 뿐만 아니라 데이터를 수신할 것이다.
용어 "데이터 프로세싱 장치"는 프로그래밍가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 예로서 포함하는, 데이터를 프로세싱하기 위한 모든 종류들의 장치들, 디바이스들, 및 머신들을 망라한다. 데이터 프로세싱 장치는 특수-목적 로직 회로부, 예컨대, FPGA(field programmable gate array; 필드 프로그래밍가능 게이트 어레이), ASIC(application specific integrated circuit; 애플리케이션 특정 집적 회로), 또는 GPU(graphics processing unit; 그래픽 프로세싱 유닛)를 포함할 수 있다. 장치는 하드웨어에 추가적으로, 컴퓨터 프로그램들을 위한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 오퍼레이팅 시스템, 또는 이들 중의 하나 이상의 조합을 구성하는 코드를 또한 포함할 수 있다.
이 명세서에서 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작함으로써 그리고 출력을 생성함으로써, 동작들을 수행하기 위한 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 컴퓨터들 또는 프로세서들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수-목적 로직 회로부, 예컨대, FPGA, ASIC, 또는 GPU에 의해, 또는 특수-목적 로직 회로부 및 하나 이상의 프로그래밍된 컴퓨터들의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행을 위하여 적당한 컴퓨터들은 일반 또는 특수-목적 마이크로프로세서들 또는 양, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양자로부터 명령들 및 데이터를 수신할 것이다. 컴퓨터의 엘리먼트들은 명령들을 실행하기 위한 중앙 프로세싱 유닛, 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들을 포함할 수 있다. 중앙 프로세싱 유닛 및 메모리는 특수-목적 로직 회로부에 의해 보충될 수 있거나, 특수-목적 로직 회로부 내에 편입될 수 있다.
일반적으로, 컴퓨터는 또한, 하나 이상의 저장 디바이스들을 포함할 것이거나, 하나 이상의 저장 디바이스들로부터 데이터를 수신하거나 데이터를 하나 이상의 저장 디바이스들로 전송하기 위하여 동작가능하게 결합될 것이다. 저장 디바이스들은 예를 들어, 자기적, 자기 광학적, 또는 광학적 디스크들, 솔리드 스테이트 드라이브들, 또는 임의의 다른 유형의 비-일시적 컴퓨터-판독가능 매체들일 수 있다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 이에 따라, 컴퓨터는 로컬 및/또는 원격인, 하나 이상의 메모리들과 같은 하나 이상의 저장 디바이스들에 결합될 수 있다. 예를 들어, 컴퓨터는 컴퓨터의 일체적 컴포넌트들인 하나 이상의 로컬 메모리들을 포함할 수 있거나, 컴퓨터는 클라우드 네트워크 내에 있는 하나 이상의 원격 메모리들에 결합될 수 있다. 또한, 컴퓨터는 또 다른 디바이스, 예컨대, 몇몇을 거명하면, 이동 전화, 개인 정보 단말(personal digital assistant; PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System; GPS) 수신기, 또는 휴대용 저장 디바이스, 예컨대, 유니버셜 직렬 버스(USB) 플래시 드라이브(flash drive)에서 내장될 수 있다.
컴포넌트들은 직접적으로 또는 하나 이상의 중간 컴포넌트들을 통한 것 중의 어느 하나로, 서로에 전기적으로 또는 광학적으로 접속되는 것과 같이 통신가능하게 됨으로써, 서로에 "결합"될 수 있다. 컴포넌트들은 또한, 컴포넌트들 중의 하나가 다른 것에 통합될 경우에 서로에 "결합"될 수 있다. 예를 들어, 프로세서 내로 통합되는 저장 컴포넌트(예컨대, L2 캐시 컴포넌트)는 프로세서에 "결합"된다.
사용자와의 상호작용을 제공하기 위하여, 이 명세서에서 설명된 발명 요지의 실시예들은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예컨대, LCD(liquid crystal display; 액정 디스플레이) 모니터, 및 사용자가 입력을 컴퓨터에 제공할 수 있게 하는 입력 디바이스, 예컨대, 키보드 및 포인팅 디바이스(pointing device), 예컨대, 마우스(mouse), 트랙볼(trackball), 또는 터치패드(touchpad)를 가지는 컴퓨터 상에서 구현될 수 있거나, 컴퓨터와 통신하도록 구성될 수 있다. 다른 종류들의 디바이스들은 마찬가지로 사용자와의 상호작용을 제공하기 위하여 이용될 수 있고; 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서류 피드백, 예컨대, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 문서들을 사용자에 의해 이용되는 디바이스로 전송함으로써 그리고 이러한 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저(web browser)로부터 수신된 요청들에 응답하여 웹 페이지들을 사용자의 디바이스 상의 웹 브라우저로 전송함으로써, 또는 사용자 디바이스, 예컨대, 스마트폰 또는 전자 태블릿 상에서 작동하는 앱과 상호작용함으로써 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 텍스트 메시지들 또는 다른 형태들의 메시지들을, 개인용 디바이스, 예컨대, 메시징 애플리케이션을 작동시키고 있는 스마트폰으로 전송함으로써, 반환 시에 사용자로부터 응답 메시지들을 수신함으로써 사용자와 상호작용할 수 있다.
이 명세서는 시스템들, 장치, 및 컴퓨터 프로그램 컴포넌트들과 관련하여 용어 "~하도록 구성된"을 이용한다. 하나 이상의 컴퓨터들의 시스템이 특정한 동작들 또는 액션들을 수행하도록 구성되는 것은 시스템이, 동작 시에, 시스템으로 하여금, 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 컴퓨터 상에서 설치한 것을 의미한다. 하나 이상의 컴퓨터 프로그램들이 특정한 동작들 또는 액션들을 수행하도록 구성되는 것은, 하나 이상의 프로그램들이, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금, 동작들 또는 액션들을 수행하게 하는 명령들을 포함한다는 것을 의미한다. 특수-목적 로직 회로부가 특정한 동작들 또는 액션들을 수행하도록 구성되는 것은 회로부가 동작들 또는 액션들을 수행하는 전자 로직을 가진다는 것을 의미한다.
이 명세서는 많은 특정 실시예 세부사항들을 포함하지만, 이들은 청구항들 자체에 의해 정의되는, 청구되고 있는 것의 범위에 대한 제한들로서 해석되어야 하는 것이 아니라, 오히려, 특정한 실시예들에 특정적일 수 있는 특징들의 설명들로서 해석되어야 한다. 별도의 실시예들의 맥락에서 이 명세서에서 설명되는 어떤 특징들은 또한, 단일 실시예에서 조합으로 실현될 수 있다. 반대로, 단일 실시예들의 맥락에서 설명되는 다양한 특징들은 또한, 다수의 실시예들에서 별도로 또는 임의의 적당한 하위조합으로 실현될 수 있다. 또한, 특징들은 어떤 조합들로 작동하고 심지어 이와 같이 초기에 청구되는 것으로서 위에서 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에는, 조합으로부터 삭제될 수 있고, 청구항은 하위조합 또는 하위조합의 변형에 관한 것일 수 있다.
유사하게, 동작들은 특정한 순서로 도면들에서 도시되고 청구항들에서 기재되어 있지만, 이것은 바람직한 결과들을 달성하기 위하여, 이러한 동작들이 도시된 특정한 순서로 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행될 것을 요구하는 것으로서 이해되어야 하는 것은 아니다. 어떤 상황들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 실시예들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로서 이해되지 않아야 하고, 설명된 프로그램 컴포넌트들 및 시스템들은 단일 소프트웨어 제품에서 일반적으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
발명 요지의 특정한 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구항들에서 기재된 액션들은 상이한 순서로 수행될 수 있고, 바람직한 결과들을 여전히 달성할 수 있다. 하나의 예로서, 동반 도면들에서 도시된 프로세스들은 바람직한 결과들을 달성하기 위하여 도시된 특정한 순서 또는 순차적인 순서를 반드시 요구하지는 않는다. 일부 경우들에는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.

Claims (20)

  1. 2 이상의 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(counterfactual regret minimization; CFR)를 수행하기 위한 컴퓨터-구현된 방법으로서,
    제 1 당사자의 제 1 상태에서의 상기 제 1 당사자의 N1 개의 가능한 액션들을 식별하는 단계;
    제 1 샘플링 확률로 상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계;
    상기 제 1 당사자의 제 2 상태에서의 상기 제 1 당사자의 N2 개의 가능한 액션들을 식별하는 단계 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 1 당사자의 상기 제 2 상태보다 IIG의 시작 상태에 더 가까움 -;
    제 2 샘플링 확률로 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계 - 상기 제 1 샘플링 확률은 상기 제 2 샘플링 확률보다 더 작음 -; 및
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션들 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션에 기초하여 상기 CFR을 수행하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션에 기초하여 상기 CFR을 수행하는 단계는,
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션의 후회 값을 계산하는 단계;
    상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션의 후회 값을 계산하는 단계;
    상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션의 상기 후회 값에 기초하여 상기 제 1 상태에서의 상기 제 1 당사자의 제 1 전략을 업데이트하는 단계; 및
    상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션의 상기 후회 값에 기초하여 상기 제 2 상태에서의 상기 제 1 당사자의 제 2 전략을 업데이트하는 단계를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하는 단계 - 상기 k1 개의 가능한 액션들의 각각은 상기 동일한 제 1 샘플링 확률로 샘플링됨 -; 및
    상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하는 단계 - 상기 k2 개의 가능한 액션들의 각각은 상기 동일한 제 2 샘플링 확률로 샘플링됨 - 를 더 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 k1 개의 가능한 액션들 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 k2 개의 가능한 액션들에 기초하여 CFR을 수행하는 단계를 더 포함하는, 방법.
  5. 제 3 항에 있어서,
    상기 제 1 샘플링 확률은 k1/N1이고, 상기 제 2 샘플링 확률은 k2/N2인, 방법.
  6. 제 3 항에 있어서,
    2 <= k1 <= N1이고, 2 <= k2 <= N2인, 방법.
  7. 제 3 항에 있어서,
    k1 = k2인, 방법.
  8. 제 1 항에 있어서,
    제 2 당사자의 제 1 상태에서의 상기 제 2 당사자의 M1 개의 가능한 액션들을 식별하는 단계;
    제 3 샘플링 확률로 상기 제 2 당사자의 상기 제 1 상태에서의 상기 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계;
    상기 제 2 당사자의 제 2 상태에서의 상기 제 2 당사자의 M2 개의 가능한 액션들을 식별하는 단계 - 상기 제 2 당사자의 상기 제 1 상태는 상기 제 2 당사자의 상기 제 2 상태보다 상기 IIG의 시작 상태에 더 가까움 -; 및
    제 4 샘플링 확률로 상기 제 1 당사자의 상기 제 2 상태에서의 상기 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계 - 상기 제 3 샘플링 확률은 상기 제 4 샘플링 확률보다 더 작음 - 를 더 포함하는, 방법.
  9. 제 1항에 있어서,
    제 2 당사자의 제 1 상태에서의 상기 제 2 당사자의 M1 개의 가능한 액션들을 식별하는 단계 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 2 당사자의 상기 제 1 상태보다 상기 IIG의 시작 상태에 더 가까움 -; 및
    제 3 샘플링 확률로 상기 제 2 당사자의 상기 제 1 상태에서의 상기 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계 - 상기 제 3 샘플링 확률은 상기 제 1 샘플링 확률보다 더 큼 - 를 더 포함하는, 방법.
  10. 2 이상의 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 장치로서,
    제 1 당사자의 제 1 상태에서의 상기 제 1 당사자의 N1 개의 가능한 액션들을 식별하기 위한 제 1 식별 모듈;
    제 1 샘플링 확률로 상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 1 샘플링 모듈;
    상기 제 1 당사자의 제 2 상태에서의 상기 제 1 당사자의 N2 개의 가능한 액션들을 식별하기 위한 제 2 식별 모듈 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 1 당사자의 상기 제 2 상태보다 상기 IIG의 시작 상태에 더 가까움 -;
    제 2 샘플링 확률로 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 2 샘플링 모듈 - 상기 제 1 샘플링 확률은 상기 제 2 샘플링 확률보다 더 작음 -; 및
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션들 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션에 기초하여 상기 CFR을 수행하기 위한 프로세싱 모듈을 포함하는, 장치.
  11. 제 10 항에 있어서,
    상기 프로세싱 모듈은,
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션의 후회 값을 계산하기 위한 제 1 계산 모듈;
    상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션의 후회 값을 계산하기 위한 제 2 계산 모듈;
    상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션의 상기 후회 값에 기초하여 상기 제 1 상태에서의 상기 제 1 당사자의 제 1 전략을 업데이트하기 위한 제 1 업데이트 모듈; 및
    상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션의 상기 후회 값에 기초하여 상기 제 2 상태에서의 상기 제 1 당사자의 제 2 전략을 업데이트하기 위한 제 2 업데이트 모듈을 포함하는, 장치.
  12. 제 10 항에 있어서,
    상기 제 1 샘플링 모듈은 상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 k1 개의 가능한 액션들을 샘플링하고, 상기 k1 개의 가능한 액션들의 각각은 상기 동일한 제 1 샘플링 확률로 샘플링되고; 그리고
    상기 제 2 샘플링 모듈은 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 k2 개의 가능한 액션들을 샘플링하고, 상기 k2 개의 가능한 액션들의 각각은 상기 동일한 제 2 샘플링 확률로 샘플링되는, 장치.
  13. 제 12 항에 있어서,
    상기 프로세싱 모듈은 상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 k1 개의 가능한 액션들 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 k2 개의 가능한 액션들에 기초하여 상기 CFR을 수행하는, 장치.
  14. 제 12 항에 있어서,
    상기 제 1 샘플링 확률은 k1/N1이고, 상기 제 2 샘플링 확률은 k2/N2인, 장치.
  15. 제 12 항에 있어서,
    2 <= k1 <= N1이고, 2 <= k2 <= N2인, 장치.
  16. 제 12 항에 있어서,
    k1 = k2인, 장치.
  17. 제 10 항에 있어서,
    제 2 당사자의 제 1 상태에서의 상기 제 2 당사자의 M1 개의 가능한 액션들을 식별하기 위한 제 3 식별 모듈;
    제 3 샘플링 확률로 상기 제 2 당사자의 상기 제 1 상태에서의 상기 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 3 샘플링 모듈;
    상기 제 2 당사자의 제 2 상태에서의 상기 제 2 당사자의 M2 개의 가능한 액션들을 식별하기 위한 제 4 식별 모듈 - 상기 제 2 당사자의 상기 제 1 상태는 상기 제 2 당사자의 상기 제 2 상태보다 상기 IIG의 시작 상태에 더 가까움 -; 및제 4 샘플링 확률로 상기 제 1 당사자의 상기 제 2 상태에서의 상기 M2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 4 샘플링 모듈 - 상기 제 3 샘플링 확률은 상기 제 4 샘플링 확률보다 더 작음 - 을 더 포함하는, 장치.
  18. 제 10 항에 있어서,
    제 2 당사자의 제 1 상태에서의 상기 제 2 당사자의 M1 개의 가능한 액션들을 식별하기 위한 제 5 식별 모듈 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 2 당사자의 상기 제 1 상태보다 상기 IIG의 시작 상태에 더 가까움 -; 및
    제 3 샘플링 확률로 상기 제 2 당사자의 상기 제 1 상태에서의 상기 M1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하기 위한 제 5 샘플링 모듈 - 상기 제 3 샘플링 확률은 상기 제 1 샘플링 확률보다 더 큼 - 을 더 포함하는, 장치.
  19. 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 결합되고, 제 1 항 내지 제 9 항 중 어느 한 항의 방법을 수행하기 위하여 상기 하나 이상의 프로세서에 의해 실행가능한 명령들을 그 상에 저장한 하나 이상의 컴퓨터-판독가능 메모리를 포함하는, 시스템.
  20. 2 이상의 당사자들을 수반하는 불완전 정보 게임(imperfect information game; IIG)을 해결하기 위한 반사실적 후회 최소화(CFR)를 수행하기 위한 컴퓨터-구현된 방법으로서,
    상기 IIG는 적어도 제 1 당사자 및 제 2 당사자를 수반하는 협업 제품-서비스 추천 서비스를 표현하고, 상기 제 1 당사자는 상기 제 2 당사자의 정보에 대해 제한된 액세스를 가지고,
    상기 방법은,
    상기 제 1 당사자의 제 1 상태에서의 상기 제 1 당사자의 N1 개의 가능한 액션들을 식별하는 단계 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 2 당사자에 의해 제공된 정보의 이력을 포함하고, 상기 제 1 당사자의 상기 N1 개의 가능한 액션들은 제품-서비스 추천들을 고객들에게 제공하기 위하여 상기 제 2 당사자에 의해 제공된 상기 정보의 이력에 응답하는 N1 개의 가능한 액션들을 포함함 -;
    제 1 샘플링 확률로 상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계;
    상기 제 1 당사자의 제 2 상태에서의 상기 제 1 당사자의 N2 개의 가능한 액션들을 식별하는 단계 - 상기 제 1 당사자의 상기 제 1 상태는 상기 제 1 당사자의 상기 제 2 상태보다 IIG의 시작 상태에 더 가까움 -;
    제 2 샘플링 확률로 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 가능한 액션을 샘플링하는 단계 - 상기 제 1 샘플링 확률은 상기 제 2 샘플링 확률보다 더 작음 -; 및
    상기 제 1 당사자의 상기 제 1 상태에서의 상기 N1 개의 가능한 액션들로부터의 상기 가능한 액션들 및 상기 제 1 당사자의 상기 제 2 상태에서의 상기 N2 개의 가능한 액션들로부터의 상기 가능한 액션에 기초하여 상기 CFR을 수행하는 단계를 포함하는, 컴퓨터-구현된 방법.
KR1020217006197A 2019-01-17 2019-01-17 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들 KR102288785B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/072200 WO2020147074A1 (en) 2019-01-17 2019-01-17 Sampling schemes for strategy searching in strategic interaction between parties

Publications (2)

Publication Number Publication Date
KR20210029826A true KR20210029826A (ko) 2021-03-16
KR102288785B1 KR102288785B1 (ko) 2021-08-13

Family

ID=71610026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217006197A KR102288785B1 (ko) 2019-01-17 2019-01-17 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들

Country Status (9)

Country Link
US (1) US10769544B2 (ko)
EP (1) EP3827383A4 (ko)
JP (1) JP7078799B2 (ko)
KR (1) KR102288785B1 (ko)
CN (1) CN112639841B (ko)
AU (1) AU2019422026C1 (ko)
CA (1) CA3110589C (ko)
SG (1) SG11202101861XA (ko)
WO (1) WO2020147074A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3827383A4 (en) * 2019-01-17 2021-08-25 Advanced New Technologies Co., Ltd. SAMPLE SCHEMES FOR STRATEGY SEARCH IN STRATEGIC INTERACTIONS BETWEEN PARTICIPANTS
SG11202010204TA (en) 2019-12-12 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Determining action selection policies of an execution device
SG11202010172WA (en) 2019-12-12 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Determining action selection policies of execution device
WO2020098821A2 (en) * 2019-12-12 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Determining action selection policies of an execution device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197359A (ja) * 2000-12-27 2002-07-12 Nippon Lca:Kk 商品情報提示方法及び装置
US20040143524A1 (en) * 2003-01-22 2004-07-22 Hilton Kenneth W. Cash flow optimization using a genetic algorithm
US20080306891A1 (en) * 2007-06-07 2008-12-11 International Business Machines Corporation Method for machine learning with state information
KR20140001101A (ko) * 2012-06-26 2014-01-06 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 게임 플레이-스타일 컨버전스 검출 및 게임 변경
KR20180091841A (ko) * 2015-11-12 2018-08-16 딥마인드 테크놀로지스 리미티드 결투 심층 신경 네트워크

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
US8545332B2 (en) * 2012-02-02 2013-10-01 International Business Machines Corporation Optimal policy determination using repeated stackelberg games with unknown player preferences
US20140039913A1 (en) 2012-07-31 2014-02-06 Tuomas W. Sandholm Medical treatment planning via sequential games
CN103559363B (zh) * 2013-11-15 2016-06-01 南京大学 一种不完美信息扩展式博弈中计算最佳反应策略的方法
US9602530B2 (en) * 2014-03-28 2017-03-21 Zitovault, Inc. System and method for predicting impending cyber security events using multi channel behavioral analysis in a distributed computing environment
WO2017026533A1 (ja) 2015-08-11 2017-02-16 株式会社フォワードサイエンスラボラトリ 三重水素吸収材、重水中からの三重水素の分離方法
FR3044438A1 (fr) * 2015-11-27 2017-06-02 Thales Sa Systeme et procede d'aide a la decision
US10057367B2 (en) 2016-03-02 2018-08-21 Huawei Technologies Canada Co., Ltd. Systems and methods for data caching in a communications network
CN106296006A (zh) * 2016-08-10 2017-01-04 哈尔滨工业大学深圳研究生院 非完备信息博弈中风险与收益均衡的最少遗憾的评估方法
US10694526B2 (en) 2016-09-30 2020-06-23 Drexel University Adaptive pursuit learning method to mitigate small-cell interference through directionality
US11138513B2 (en) 2017-06-13 2021-10-05 Princeton University Dynamic learning system
US20190122140A1 (en) 2017-10-20 2019-04-25 STATGRAF Research LLP. Data analysis and rendering
US20190163515A1 (en) 2017-11-24 2019-05-30 Wipro Limited Method and system for resolving anomaly events occurring in a virtual environment in real-time
CN108537339A (zh) * 2018-04-11 2018-09-14 中国电子科技集团公司第二十九研究所 一种对局策略获取方法及装置
US20190392309A1 (en) 2018-06-21 2019-12-26 Denso International America, Inc. LSTM Training For Neural Network Based Course Of Action Selection
EP3827383A4 (en) * 2019-01-17 2021-08-25 Advanced New Technologies Co., Ltd. SAMPLE SCHEMES FOR STRATEGY SEARCH IN STRATEGIC INTERACTIONS BETWEEN PARTICIPANTS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197359A (ja) * 2000-12-27 2002-07-12 Nippon Lca:Kk 商品情報提示方法及び装置
US20040143524A1 (en) * 2003-01-22 2004-07-22 Hilton Kenneth W. Cash flow optimization using a genetic algorithm
US20080306891A1 (en) * 2007-06-07 2008-12-11 International Business Machines Corporation Method for machine learning with state information
KR20140001101A (ko) * 2012-06-26 2014-01-06 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 게임 플레이-스타일 컨버전스 검출 및 게임 변경
KR20180091841A (ko) * 2015-11-12 2018-08-16 딥마인드 테크놀로지스 리미티드 결투 심층 신경 네트워크

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Marc Lanctot et al., 'Monte Carlo Sampling for regret minimization in extensive Games', Proc. of the 23rd Annual Conf. on Neural Information Processing Systems, pp. 1078-1086, 2009.12.31. *
Richard Gibson et al., 'Generalized sampling and variance in counterfactual regret minimization', Proc. of the 26th AAAi Conf. on Artificial Intelligence, pp. 1355-1361, 2012.12.31. *
Viliam Lisý et al., 'Online Monte Carlo Counterfactual Regret Minimization for Search in Imperfect Information Games', Proc. of AAMAS 2015, pp. 27-36, 2015.05.08. *

Also Published As

Publication number Publication date
SG11202101861XA (en) 2021-03-30
JP2021534514A (ja) 2021-12-09
CN112639841A (zh) 2021-04-09
AU2019422026B2 (en) 2021-10-07
JP7078799B2 (ja) 2022-05-31
AU2019422026A1 (en) 2021-03-18
CN112639841B (zh) 2024-02-06
WO2020147074A1 (en) 2020-07-23
EP3827383A1 (en) 2021-06-02
KR102288785B1 (ko) 2021-08-13
US20200234164A1 (en) 2020-07-23
AU2019422026C1 (en) 2022-04-07
CA3110589A1 (en) 2020-07-23
US10769544B2 (en) 2020-09-08
CA3110589C (en) 2022-04-12
EP3827383A4 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
KR102133143B1 (ko) 당사자 간의 전략적 상호 작용에서의 전략 검색
KR102288785B1 (ko) 당사자들 사이의 전략적 상호작용에서의 전략 검색을 위한 샘플링 방식들
US20210311778A1 (en) Determining action selection policies of an execution device
US10675537B1 (en) Determining action selection policies of an execution device
US11204803B2 (en) Determining action selection policies of an execution device
US10789810B1 (en) Determining action selection policies of an execution device
US10765949B1 (en) Determining action selection policies of an execution device
US10719358B1 (en) Determining action selection policies of an execution device

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right