BR112019022542A2 - métodos implementado por computador, aparelho para a realização de minimização de arrependimento contrafactual e sistema - Google Patents

métodos implementado por computador, aparelho para a realização de minimização de arrependimento contrafactual e sistema Download PDF

Info

Publication number
BR112019022542A2
BR112019022542A2 BR112019022542-0A BR112019022542A BR112019022542A2 BR 112019022542 A2 BR112019022542 A2 BR 112019022542A2 BR 112019022542 A BR112019022542 A BR 112019022542A BR 112019022542 A2 BR112019022542 A2 BR 112019022542A2
Authority
BR
Brazil
Prior art keywords
state
regret
party
strategy
player
Prior art date
Application number
BR112019022542-0A
Other languages
English (en)
Inventor
Hui Li
Kailiang Hu
Le Song
Original Assignee
Alibaba Group Holding Limited
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 Alibaba Group Holding Limited filed Critical Alibaba Group Holding Limited
Publication of BR112019022542A2 publication Critical patent/BR112019022542A2/pt

Links

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/042Knowledge-based neural networks; Logical representations of neural 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F2001/005Poker
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/632Methods for processing data by generating or executing the game program for controlling the execution of the game in time by branching, e.g. choosing one of several possible story developments at a given point in time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Cookers (AREA)
  • Filling Or Discharging Of Gas Storage Vessels (AREA)

Abstract

MÉTODOS IMPLEMENTADO POR COMPUTADOR, APARELHO PARA A REALIZAÇÃO DE MINIMIZAÇÃO DE ARREPENDIMENTO CONTRAFACTUAL E SISTEMA. São aqui descritos métodos, sistemas e aparelhos, incluindo programas de computador codificado em mídia de armazenamento do computador, para realizar minimização de arrependimento contrafactual (CRF) para estratégia de busca na interação estratégica entre duas ou mais partes. Um dos métodos inclui: armazenar múltiplas amostras de arrependimento em um primeiro armazenador de dados, em que as múltiplas amostras de arrependimento são obtidas em duas ou mais iterações de um algoritmo de CRF em estratégia de busca em interação estratégica entre duas ou mais partes; armazenar múltiplas amostras de estratégia em um segundo armazenamento de dados; atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma ação possível no estado de uma parte com base nas múltiplas amostras de arrependimento no primeiro armazenamento de dados; e atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado da parte com base nas múltiplas amostras de estratégia no segundo armazenamento de dados.

Description

“MÉTODOS IMPLEMENTADO POR COMPUTADOR, APARELHO PARA A REALIZAÇÃO DE MINIMIZAÇÃO DE ARREPENDIMENTO CONTRAFACTUAL E SISTEMA” CAMPO DA INVENÇÃO
[001] Este relatório descritivo se refere à pesquisa de estratégia em interação estratégica entre duas ou mais partes.
ANTECEDENTES DA INVENÇÃO
[002] A interação estratégica entre duas ou mais partes pode ser modelada por um jogo que envolve duas ou mais partes (também conhecidas como jogadores). Em um Jogo de Informações Imperfeitas (IIG) que envolve dois ou mais jogadores, um jogador só tem acesso parcial ao conhecimento de seus oponentes antes de tomar uma decisão. Isso é semelhante aos cenários do mundo real, como negociação, roteamento de tráfego e leilão público. Muitos cenários da vida real podem ser representados como IIGs, tal como concorrência comercial entre diferentes empresas, relacionamentos de lances em cenários de leilão, relacionamentos de jogos entre uma parte de fraude e uma parte antifraude.
[003] Os métodos para resolver um IIG são de grandes benefícios econômicos e sociais. Devido às informações ocultas, um jogador deve raciocinar sob a incerteza sobre as informações de seus oponentes e também precisa agir para tirar proveito da incerteza de seus oponentes sobre suas próprias informações.
DESCRIÇÃO RESUMIDA DA INVENÇÃO
[004] As formas de realização deste relatório descritivo incluem métodos implementados por computador para pesquisa de estratégia em interação estratégica entre as partes. Mais especificamente, este relatório descritivo descreve exemplos de esquemas de amostragem para executar um algoritmo de minimização do arrependimento contrafactual (CRF) na resolução de um jogo de informações imperfeitas (IIG), que pode reduzir a complexidade e a variação computacional enquanto melhora a velocidade de convergência do algoritmo de CRF. Este relatório descritivo também descreve técnicas para executar a minimização do arrependimento contrafactual (CRF) com redes neurais, que podem economizar espaço de memória e fornecer convergência mais rápida devido à capacidade de generalização das redes neurais.
[005] A matéria objeto descrita neste relatório descritivo, conforme implementada em formas de realização particulares, realiza um ou mais dos seguintes efeitos e vantagens técnicos. Em algumas formas de realização, as técnicas de amostragem descritas podem ajudar a encontrar melhores estratégias de cenários do mundo real, como alocação de recursos, recomendação de produtos/ serviços, previsão e/ ou prevenção de ataques cibernéticos, roteamento de tráfego, gerenciamento de fraudes etc. que podem ser modelados ou representados pela interação estratégica entre as partes, tal como um IIG que envolve duas ou mais partes de maneira mais eficiente. Em algumas formas de realização, as técnicas descritas podem melhorar a eficiência computacional e reduzir a carga computacional do algoritmo de minimização do arrependimento contrafactual (CRF) em encontrar as melhores estratégias dos cenários do mundo real modeladas pelo IIG. Em algumas formas de realização, as técnicas de amostragem descritas podem fornecer uma variação menor do que a amostragem de resultados, além de serem mais eficientes em memória que a amostragem externa. Em algumas formas de realização, as técnicas descritas podem melhorar a velocidade de convergência do algoritmo de CRF na busca do equilíbrio de Nash para resolver um jogo que representa um ou mais cenários do mundo real. Em algumas formas de realização, as técnicas descritas fornecem informações mais equilibradas e abrangentes de uma árvore de jogo que representa o IIG, para que o algoritmo de CRF possa ter uma variação menor e uma velocidade de convergência mais rápida. Em algumas formas de realização, as técnicas descritas economizam espaço na memória e fornecem convergência mais rápida usando redes neurais em conexão com o algoritmo de CRF. Em algumas formas de realização, as técnicas descritas podem precisar apenas de uma pequena quantidade de espaço em memória para cada iteração do algoritmo de CRF.
[006] Este relatório descritivo também fornece um ou mais meios de armazenamento legíveis por computador não transitórios acoplados a um ou mais processadores e com instruções armazenadas nos mesmos que, quando executadas por um ou mais processadores, fazem com que um ou mais processadores executem operações de acordo com formas de realização dos métodos aqui fornecidos.
[007] Este relatório descritivo fornece ainda um sistema para implementar os métodos aqui fornecidos. O sistema inclui um ou mais processadores e um meio de armazenamento legível por computador acoplado a um ou mais processadores com instruções armazenadas nele que, quando executadas por um ou mais processadores, fazem com que um ou mais processadores executem operações de acordo com formas de realização dos métodos aqui fornecidos.
[008] É apreciado que os métodos de acordo com este relatório descritivo podem incluir qualquer combinação dos aspectos e características aqui descritos. Ou seja, os métodos de acordo com este relatório descritivo não se limitam às combinações de aspectos e características especificamente descritos neste documento, mas também incluem qualquer combinação dos aspectos e características fornecidos.
[009] Os detalhes de uma ou mais formas de realização deste relatório descritivo são estabelecidos nos desenhos anexos e na descrição abaixo. Outras características e vantagens deste relatório descritivo serão evidentes a partir da descrição e desenhos e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0010] A Figura 1 é um diagrama que ilustra exemplos de árvores de jogo parciais no pôquer de uma carta, de acordo com as formas de realização deste relatório descritivo.
[0011] A Figura 2 é um diagrama que ilustra exemplos de diferentes esquemas de amostragem de acordo com formas de realização deste relatório descritivo.
[0012] A Figura 3 é um pseudocódigo de um exemplo de amostragem robusta CFR de Monte Carlo (MCCFR) de acordo com formas de realização deste relatório descritivo.
[0013] A Figura 4 é um diagrama que ilustra um exemplo de um algoritmo CFR neural duplo aplicado a uma árvore de jogo de acordo com formas de realização deste relatório descritivo.
[0014] A Figura 5 é um pseudocódigo de um exemplo de um algoritmo de CFR neural duplo, de acordo com formas de realização deste relatório descritivo.
[0015] A Figura 6 é um pseudocódigo de um exemplo de um algoritmo para otimizar uma rede neural em conexão com um algoritmo CFR neural duplo, de acordo com formas de realização deste relatório descritivo.
[0016] A Figura 7 é um pseudocódigo de um exemplo de um algoritmo MCCFR de mini-lote de acordo com formas de realização deste relatório descritivo.
[0017] A Figura 8 é um fluxograma que ilustra um exemplo de um processo de amostragem para executar o MCCFR de acordo com formas de realização deste relatório descritivo.
[0018] A Figura 9 é um fluxograma que ilustra um exemplo de um algoritmo CFR neural duplo, de acordo com formas de realização deste relatório descritivo.
[0019] A Figura 10 representa um diagrama de blocos que ilustra um exemplo de um sistema implementado por computador usados para fornecer funcionalidades computacionais associadas a algoritmos, métodos, funções, processos, fluxos e procedimentos descritos, de acordo com formas de realização deste relatório descritivo.
[0020] A Figura 11 representa exemplos de módulos de um aparelho de acordo com formas de realização deste relatório descritivo.
[0021] A Figura 12 representa exemplos de módulos de outro aparelho de acordo com formas de realização deste relatório descritivo.
[0022] Números de referência semelhantes e as designações nos vários desenhos indicam elementos semelhantes.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0023] As formas de realização deste relatório descritivo incluem métodos implementados por computador para pesquisa estratégica em interação estratégica entre as partes, por exemplo, resolvendo um jogo de informações imperfeitas (IIG). O IIG pode representar um ou mais cenários do mundo real, tal como alocação de recursos, recomendação de produtos/ serviços, previsão e/ ou prevenção de ataques cibernéticos, roteamento de tráfego, gerenciamento de fraudes etc. que envolvem duas ou mais partes (também conhecidas como jogadores), onde cada parte pode ter informações incompletas ou imperfeitas sobre as decisões da outra parte. Mais especificamente, este relatório descritivo descreve exemplos de esquemas de amostragem para executar um algoritmo de minimização do arrependimento contrafactual (CRF) na resolução de um IIG, o que pode reduzir a complexidade e a variação computacional enquanto melhora a velocidade de convergência do algoritmo de CRF. Este relatório descritivo também descreve técnicas para executar a minimização do arrependimento contrafactual (CRF) com redes neurais, que podem economizar espaço de memória e fornecer convergência mais rápida devido à capacidade de generalização das redes neurais.
[0024] O equilíbrio de Nash é uma solução típica para um IIG que envolve dois ou mais jogadores. A minimização do arrependimento contrafactual (CRF) é um algoritmo projetado para encontrar aproximadamente o equilíbrio de Nash para jogos grandes. A CRF tenta minimizar o arrependimento contrafactual geral. Está provado que a média das estratégias em todas as iterações convergiria para um equilíbrio de Nash. Ao resolver um jogo, a CRF em sua forma original (também conhecido como CRF original, CRF padrão, CFR de baunilha ou simplesmente, CRF) percorre toda a árvore do jogo em cada iteração. Assim, a CRF original requer muita memória para jogos grandes, jogos extensos com soma zero, tal como o Texas Hold’em sem limite de atenção. Em alguns casos, a CRF original pode não lidar com jogos grandes com memória limitada.
[0025] Uma CFR de Monte Carlo (MCCFR) foi introduzida para minimizar o arrependimento contrafactual. A MCCFR pode calcular uma estimativa imparcial do valor contrafactual e evitar atravessar toda a árvore do jogo. Como apenas subconjuntos de todos os conjuntos de informações são visitados em cada iteração, a MCCFR requer menos memória que a CRF original.
[0026] A MCCFR pode ser realizada com um algoritmo de amostragem de resultados ou um algoritmo de amostragem externo. O algoritmo de amostragem de resultados na MCCFR tem uma grande variação e é difícil convergir para uma solução aproximada de equilíbrio de Nash em menos etapas de iteração. O algoritmo de amostragem externa na MCCFR tem uma variação menor do que o algoritmo de amostragem de resultados, mas esse método é semelhante à desvantagem da CFR. Quando a árvore do jogo é grande, ela requer um espaço de memória muito grande e não pode ser estendida para um IIG complexo de grande escala.
[0027] Este relatório descritivo descreve um esquema de amostragem robusto. No esquema de amostragem robusto, cada jogador usa um método de amostragem uniforme para colher amostras em um ponto de decisão atual e a outra parte faz a amostragem de acordo com a estratégia correspondente. A probabilidade de alcance correspondente a diferentes iterações pode ser corrigida. Pode-se provar que o esquema de amostragem robusto apresenta uma variação menor do que o esquema de amostragem de resultados na MCCFR, enquanto é mais eficiente em termos de memória que a amostragem externa. Em algumas formas de realização, o esquema de amostragem robusto pode fazer a MCCFR resolver o equilíbrio de Nash com convergência mais rápida.
[0028] Este relatório descritivo descreve um esquema de amostragem dependente da profundidade. O esquema de amostragem dependente da profundidade pode alocar uma maior probabilidade de amostragem para um estado mais próximo de um estado terminal do que outro estado mais distante do estado terminal (ou próximo de um estado inicial ou preliminar). Em algumas formas de realização, o esquema de amostragem dependente da profundidade pode permitir que mais estados próximos de um estado terminal sejam amostrados, fornecendo mais informações gerais do IIG e, assim, melhorando a taxa de convergência da MCCFR em comparação com os esquemas de amostragem existentes.
[0029] Este relatório descritivo descreve ainda um algoritmo de CFR neural duplo. Os métodos de CFR existentes, como CFR e MCCFR, usam duas grandes memórias baseadas em tabelas para registrar o arrependimento acumulado e a estratégia média para todos os conjuntos de informações. Essa representação tabular dificulta a aplicação desses métodos a grandes jogos de formas extensas com tempo e espaço limitados.
[0030] Por outro lado, o algoritmo de CFR neural duplo usa duas redes neurais para calcular o equilíbrio de Nash aproximado de IIG. Por exemplo, uma das redes neurais pode ser usada para aprender o arrependimento cumulativo e a outra pode ser usada para aprender o numerador cumulativo do perfil médio da estratégia. Com a ajuda dessas duas redes, o algoritmo de CFR neural duplo não precisa usar duas grandes memórias baseadas em tabelas.
Com base na capacidade de generalização da rede neural compacta, o arrependimento cumulativo e a estratégia média podem ser aprendidos e produzidos. O algoritmo de CFR neural duplo divulgado pode manter o benefício da MCCFR em exigir menos carga computacional, mas sem a necessidade de duas grandes memórias baseadas em tabelas. O algoritmo de CFR neural duplo divulgado pode ser usado em jogos grandes, mesmo com restrições de memória.
Em algumas formas de realização, o método neural duplo pode alcançar uma capacidade de exploração menor com menos iterações do que as técnicas existentes. Além disso, em algumas formas de realização, a CRF neural dupla também pode melhorar continuamente após a inicialização de uma estratégia tabular ruim.
[0031] Em algumas formas de realização, as técnicas descritas podem ser usadas, por exemplo, no pôquer de IA, plataformas de recomendação e muitos outros aplicativos de IA e aprendizado de máquina. As técnicas descritas usam o método de Monte Carlo e não requerem variáveis para toda a árvore do jogo.
[0032] Em algumas formas de realização, um jogo de forma extensa com um conjunto finito N = {0, 1,..., n - 1} de jogadores pode ser representado da seguinte maneira. Defina hvi como uma variável oculta do jogador i em um IIG. Por exemplo, em um jogo de pôquer, hvi pode se referir às cartas privadas do jogador i. H se refere a um conjunto finito de histórias. Cada membro ℎ = (ℎ𝑖𝑣 )𝑖=0,1,…,𝑛−1 (𝑎𝑙 )𝑙=0,…,𝐿−1 = ℎ0𝑣 ℎ1𝑣 … ℎ𝑛−1 𝑣 𝑎0 𝑎1 … 𝑎𝐿−1 de H denota uma possível história (ou estado), que inclui a variável oculta de cada jogador e as ações L realizadas pelos jogadores, incluindo o acaso. Para o jogador i, h também pode ser indicado como ℎ𝑖𝑣 ℎ−𝑖 𝑣 𝑣 𝑎0 𝑎1 … 𝑎𝐿−1 , onde ℎ−𝑖 se refere às variáveis ocultas do oponente. A sequência vazia ∅ é um membro de H. A expressão hj ⊑ h indica que hj é um prefixo de h, onde ℎ𝑗 = (ℎ𝑖𝑣 )𝑖=0,1,…,𝑛−1 (𝑎𝑙 )𝑙=1,…𝐿′ −1 e 0 < L’< L. Z ⊆ H denota os históricos terminais e qualquer membro z ∈ Z não é um prefixo de nenhuma outra sequência. A(h) = {a : ha ∈ H } é o conjunto de ações disponíveis após história não terminal h ∈ H \ Z. Uma função de jogador P atribui um membro de N ∪ {c} a cada história não terminal, em que c indica o identificador de jogador eventual (ID), que normalmente pode ser, por exemplo, -1. P (h) é o jogador que executa uma ação após o histórico h.
[0033] Ii de uma história {h ∈ H: P(h) = i} é uma partição de informação do jogador i. Um conjunto Ii ∈ Ii é um conjunto de informações do jogador i. Ii (h) se refere ao conjunto de informações Ii no estado h. Em algumas formas de realização, Ii só poderia se lembrar da informação observada pelo jogador i incluindo jogador i da variável oculta e ações públicas. Portanto, Ii indica uma sequência no IIG, ou seja, hvi a0 a2... aL−1. Em algumas formas de realização, para Ii ∈ Ii e para qualquer h ∈ Ii, o conjunto A(h) pode ser indicado por A(Ii) e o jogador de P(h) é indicado por P(Ii). Para cada jogador i ∈ N, uma função de utilidade ui(z) define uma recompensa do estado terminal z. Uma explicação mais detalhada dessas notações e definições será discutida abaixo, incluindo um exemplo mostrado na Figura 1
[0034] A Figura 1 é um diagrama (100) que ilustra exemplos de árvores de jogo parciais (102 e 104) no pôquer com uma carta de acordo com formas de realização deste relatório descritivo. O pôquer com uma carta é um IIG de dois jogadores. O pôquer com uma carta é um exemplo de um jogo extenso. As regras do jogo são definidas da seguinte forma. Cada jogador recebe uma carta de um baralho de X cartas. O primeiro jogador pode passar ou apostar. Se o primeiro jogador apostar, o segundo jogador pode pagar ou desistir. Se o primeiro jogador passar, o segundo jogador pode passar ou apostar. Se o segundo jogador apostar, o primeiro jogador pode desistir ou pagar. O jogo termina com dois passes, uma aposta ou uma desistência. O jogador da vez que desistir vai perder 1 ficha. Se o jogo terminar com dois passes, o jogador com a carta mais alta ganha 1 ficha. Se o jogo terminar com um pagamento, o jogador com a carta mais alta ganha 2 fichas.
[0035] Uma árvore de jogo é um gráfico direcionado. Os nós da árvore de jogo representam as posições (ou estados de um jogador) em um jogo e a árvore de jogo pode representar movimentos ou ações de um jogador do jogo. Na Figura 1, zi indica um nó terminal, representando um estado terminal, e hi indica um nó não terminal. Cada uma das árvores parciais de jogo (102 e 104) tem um nó raiz h0 representando uma chance. Existem 19 nós distintos na primeira árvore parcial (102), correspondendo a 9 nós não terminais hi, incluindo a chance h0 e 10 nós terminais zi na árvore esquerda.
[0036] Na primeira árvore parcial (102), dois jogadores (jogador 0 e jogador 1) são tratados (dama, valete) como mostrado como “0: Q 1: J” na sub- árvore esquerda e (rainha, rei) como mostrado “0: Q 1: K” na sub-árvore direita.
[0037] A trajetória do nó raiz para cada nó é um histórico de ações.
As ações são apresentadas por letras (por exemplo, F, C, P e B) ou representações (por exemplo, “0: Q 1: J”) próximas às bordas (indicadas por setas) da árvore de jogo. As letras F, C, P, B referem-se a desistir, pagar, passar e apostar, respectivamente.
[0038] Em um jogo extenso, hi se refere à história das ações. Por exemplo, como ilustrado na primeira árvore parcial (102), h3 inclui ações 0:Q, 1:J e P. h7 inclui ações 0:Q, 1:J, P e B. h8 inclui ações 0:Q, 1:K, P e B. Na primeira árvore parcial (102), h3 ⊑ h7, ou seja, h3 é um prefixo de h7. A(h3)= {P, B} indicando que o conjunto de ações disponíveis após o histórico não terminal h7 são P e B. P(h3) = 1 indicando que o jogador que executa uma ação após o histórico h3 é jogador 1.
[0039] No IIG, o cartão privado do jogador 1 é invisível ao jogador 0, portanto h7 e h8 são realmente os mesmos para o jogador 0. Um conjunto de informações pode ser usado para indicar o conjunto desses estados indistintos.
Da mesma forma, h1 e h2 estão no mesmo conjunto de informações. Para a árvore parcial direita (104), e estão no mesmo conjunto de informações; e estão no mesmo conjunto de informações;
[0040] Normalmente, qualquer Ii ∈ I só conseguia se lembrar da informação observada pelo jogador i incluindo variáveis ocultas e ações públicas do jogador i. Por exemplo, como ilustrado na primeira árvore parcial (102), o conjunto de informações de h7 e h8 indica uma sequência de 0:Q, P e B. Como h7 e h8 não são distinguidos pelo jogador 0 no IIG, se I0 é o conjunto de informações de h7 e h8, I0 = I0 (h7) = I0 (h8).
[0041] Um perfil de estratégia σ = {σi |σi ∈ Σi, i ∈ N } é um conjunto de estratégias para todos os jogadores, onde Σi é o conjunto de todas as estratégias possíveis para o jogador i. σ-i se refere à estratégia de todos os jogadores, exceto o jogador i. Para jogador i ∈ N, a estratégia σi (Ii) é uma função, que atribui uma distribuição de ação sobre A (Ii) para definir a informação Ii. σi (a|h) indica a probabilidade de ação a executada pelo jogador i ∈ N ∪ {c} no estado h. Em um IIG, se dois ou mais estados tiverem o mesmo conjunto de informações, os dois ou mais estados terão a mesma estratégia. Isto é, ∀h1, h2 ∈ Ii, Ii = Ii(h1) = Ii(h2), σi (Ii) = σi(h1) = σi(h2), σi (a|Ii) = σi (a|h1) = σi (a|h2). Por exemplo, I0 é o conjunto de informações de h7 e h8, I0 = I0(h7) = I0(h8), σ0 (I0) = σ0(h7)= σ0(h8), σ0 (a|I0) = σ0 (a|h7) = σ0 (a|h8). Na Figura 1, a mesma cor, exceto cinza, para cada estado no mesmo conjunto de informações.
[0042] Para o jogador i, o utilitário de jogo esperado do perfil de estratégia σ é indicado como 𝑢𝑖𝜎 = ∑𝑧∈𝑍 𝜋 𝜎 (𝑧)𝑢𝑖 (𝑧), que é o retorno esperado de todos os nós terminais possíveis. Dado um perfil fixo de estratégia σ-i, qualquer (𝜎𝑖′ ,𝜎−𝑖) estratégia σi∗ = arg max𝜎′ ∈∑ 𝑢𝑖 do jogador i que alcance maximizar o retorno 𝑖 𝑖 𝜎 contra 𝜋−𝑖 é uma melhor resposta. Para os dois jogadores de jogos extensos, o equilíbrio de Nash é um perfil estratégico 𝜎 ∗ = (𝜎0∗ , 𝜎1∗ ) de modo que a estratégia de cada jogador seja a melhor resposta ao oponente. Um equilíbrio 𝜖-Nash é uma aproximação de um equilíbrio de Nash, cuja estratégia de perfil σ* satisfaz: 𝜎 (𝜎𝑖′ ,𝜎−𝑖) ∀𝑖 ∈ 𝑁, 𝑢𝑖 𝑖 + 𝜖 ≥ 𝑚𝑎𝑥𝜎′ ∈∑ 𝑢𝑖 . 𝑖 𝑖
[0043] A exploração de uma estratégia σi pode ser definida como ∗ ∗ (𝜎𝑖, 𝜎−𝑖) 𝜖𝑖 (𝜎𝑖 ) = 𝑢𝑖𝜎 − 𝑢𝑖 . Uma estratégia é inexplorável se 𝜖𝑖 (𝜎𝑖 ) = 0. Em jogos ∗ grandes de soma zero para dois jogadores como o pôquer, 𝑢𝑖𝜎 , pode ser difícil de calcular. No entanto, se os jogadores alternarem suas posições, o valor de ∗ ∗ um par de jogos é zero, ou seja 𝑢0𝜎 + 𝑢1𝜎 = 0. A capacidade de exploração do (𝜎0 ,𝜎1∗ ) (𝜎0∗ ,𝜎1 ) perfil da estratégia σ pode ser definida como 𝜖(𝜎) = (𝑢1 + 𝑢0 )/ 2.
[0044] Para métodos iterativos tais como CFR, σt pode se referir ao perfil de estratégia na iteração t-ésima. O estado atinge probabilidade de histórico h pode ser indicado por πσ(h) se os jogadores realizarem ações de acordo com σ. Para uma sequência vazia πσ(∅) = 1. A probabilidade de alcance pode ser decomposta em 𝜋 𝜎 (ℎ) = ∏𝑖∈𝑁∪{𝑐} 𝜋𝑖𝜎 (ℎ) = 𝜋𝑖𝜎 (ℎ)𝜋−𝑖 𝜎 (ℎ) de acordo com a contribuição de cada jogador, onde 𝜋𝑖𝜎 (ℎ) = ∏ℎ′ 𝑎⊑ℎ,𝑃(ℎ′ )=𝑃(ℎ′ ) 𝜎𝑖 (𝑎|ℎ′ ) e 𝜋−𝑖 𝜎 (ℎ) = ∏ℎ′ 𝑎⊑ℎ,𝑃(ℎ′ )≠𝑃(ℎ) 𝜎−𝑖 (𝑎|ℎ′ ).
[0045] A probabilidade de alcance do conjunto de informações Ii (também referido como conjunto de informações de alcance de probabilidade) pode ser definida como 𝜋 𝜎 (𝐼𝑖 ) = ∑ℎ∈𝐼𝑖 𝜋 𝜎 (ℎ). Se h’ ⊑ h, o estado do intervalo atinge a probabilidade do estado h’ a h pode ser definido como πσ(h’, h), então πσ(h’, h) = πσ(h)/ πσ(h’). As probabilidades de alcance 𝜋𝑖𝜎 (𝐼𝑖 ), 𝜋−𝑖 𝜎 (𝐼𝑖 ), 𝜋𝑖𝜎 (ℎ′ , ℎ) e 𝜎 𝜋−𝑖 (ℎ′ , ℎ) podem ser definidas da mesma forma.
[0046] Em IIGs grandes e de soma zero, a CRF é comprovadamente um método eficiente para calcular o equilíbrio de Nash. Está provado que o estado de alcance de probabilidade de um jogador é proporcional 𝑣 à probabilidade posterior de variável oculta do adversário, ou seja 𝑝(ℎ−𝑖 |𝐼𝑖 ) ∝ 𝜎 𝜋−𝑖 (ℎ) onde hvi e Ii indicam um h determinado.
[0047] Para o jogador i e perfil de estratégia σ, o valor contrafactual (CFV) viσ(h) no estado h pode ser definido como 𝑣𝑖𝜎 (ℎ) = ∑ℎ⊑𝑧,𝑧∈𝑍 𝜋−𝑖 𝜎 (ℎ)𝜋 𝜎 (ℎ, 𝑧)𝑢𝑖 (𝑧) = ∑ℎ⊑𝑧,𝑧∈𝑍 𝜋𝑖𝜎 (ℎ, 𝑧)𝑢′ 𝑖 (𝑧) (1) onde 𝑢′ 𝑖 (𝑧) = 𝜋−𝑖 𝜎 (𝑧)𝑢𝑖 (𝑧) é a recompensa esperada do jogador i com a respectiva distribuição posterior aproximada da variável oculta do oponente. O valor contrafactual da ação a ser executada pode ser indicada como viσ (a|h) = viσ(ha) e o arrependimento de executar essa ação é riσ (a|h) = viσ (a|h) - viσ(h).
[0048] Da mesma forma, o CFV do conjunto de informações 𝐼𝑖 pode ser definido como 𝑣𝑖𝜎 (𝐼𝑖 ) = ∑ℎ∈𝐼𝑖 𝑣𝑖𝜎 (ℎ) e o arrependimento da ação a dado o conjunto de informações 𝐼𝑖 pode ser definido como 𝑟𝑖𝜎 (𝑎|𝐼𝑖 )=∑𝑧∈𝑍,ℎ𝑎⊑𝑧,ℎ∈𝐼𝑖 𝜋𝑖𝜎 (ℎ𝑎, 𝑧)𝑢′ 𝑖 (𝑧) − ∑𝑧∈𝑍,ℎ⊑𝑧,ℎ∈𝐼𝑖 𝜋𝑖𝜎 (ℎ, 𝑧)𝑢′ 𝑖 (𝑧) (1a)
[0049] Então, o arrependimento acumulado da ação a após T iterações pode ser calculado de acordo com a Eq. (2): 𝑡 𝑡 𝑇 𝑅𝑖𝑇 (𝑎|𝐼𝑖 ) = ∑𝑇𝑡=1 (𝑣𝑖𝜎 (𝑎|𝐼𝑖 ) − 𝑣𝑖𝜎 (𝐼𝑖 )) = 𝑅𝑖𝑇−1 (𝑎|𝐼𝑖 ) + 𝑟𝑖𝜎 (𝑎|𝐼𝑖 ) (2) onde Ri0 (a|Ii) = 0. Define RiT,+ (a|Ii) = max (RiT (a|Ii), 0), a estratégia atual (ou estratégia de comportamento) em T + 1 iteração pode ser atualizada, por exemplo, com base na correspondência de arrependimento, de acordo com a Eq. (3) abaixo: 𝑅𝑖𝑇,+ (𝑎|𝐼𝑖 ) , if ∑𝑎∈𝐴(𝐼𝑖 ) 𝑅𝑖𝑇,+ (𝑎|𝐼𝑖 ) > 0 ∑𝑎∈𝐴(𝐼 𝑅𝑖𝑇,+ (𝑎|𝐼𝑖 ) 𝜎𝑖𝑇+1 (𝑎|𝐼𝑖 ) ={ 𝑖) (3). 1 , caso contrário
[0050] A estratégia|𝐴(𝐼 𝑖) | média 𝜎̅𝑖𝑇 da iteração 1 a T pode ser definida como: 𝑡 ∑𝑇 𝜎 𝑡 𝑡=1 𝜋𝑖 (𝐼𝑖 )𝜎𝑖 (𝑎|𝐼𝑖 ) 𝜎̅𝑖𝑇 (𝑎|𝐼𝑖 ) = 𝜎 𝑡 (4) ∑𝑇 𝑡=1 𝜋𝑖 (𝐼𝑖 ) 𝑡 onde 𝜋𝑖𝜎 (𝐼𝑖 ) indica o conjunto de informações de alcance de probabilidade de Ii na t-enésima iteração e é usada para pesar a estratégia atual correspondente 𝜎𝑖𝑡 (𝑎|𝐼𝑖 ). 𝑡
[0051] Define 𝑠 𝑡 (𝑎|𝐼𝑖 ) = 𝜋𝑖𝜎 (𝐼𝑖 )𝜎𝑖𝑡 (𝑎|𝐼𝑖 ) como um numerador adicional na iteração t, então o numerador cumulativo da estratégia média 𝜎̅𝑖𝑇 pode ser definido como 𝑡 𝑆 𝑇 (𝑎|𝐼𝑖 ) = ∑𝑇𝑡=1 𝜋𝑖𝜎 (𝐼𝑖 )𝜎𝑖𝑡 (𝑎|𝐼𝑖 ) = 𝑆 𝑇−1 (𝑎|𝐼𝑖 ) + 𝑠𝑖𝑇 (𝑎|𝐼𝑖 ) (5) onde S0 (a|Ii) = 0.
[0052] Ao resolver um jogo, a CRF original percorre toda a árvore de jogo em cada iteração. Portanto, a CRF original pode não lidar com jogos grandes com memória limitada. Uma CFR de Monte Carlo (MCCFR) foi introduzida para minimizar o arrependimento contrafactual. A MCCFR pode calcular uma estimativa imparcial do valor contrafactual e evitar percorrer toda a árvore de jogo. Como apenas subconjuntos de todos os conjuntos de informações são visitados em cada iteração, a MCCFR requer menos memória que a CRF original.
[0053] Por exemplo, definir Q = {Q1, Q2,..., Qm}, onde Qj ∈ Z é um bloco de históricos de terminais de amostragem em cada iteração, de tal modo que Qj abrange o conjunto Z. De um modo geral, diferente Qj pode ter uma sobreposição de acordo com um esquema de amostragem específico. Vários esquemas de amostragem podem ser usados.
[0054] A Figura 2 é um diagrama (200) que ilustra exemplos de diferentes esquemas de amostragem de acordo com formas de realização deste relatório descritivo. Especificamente, a sub-parcela A ilustra um exemplo de um esquema de amostragem externa (202) de uma árvore de jogo; a sub-parcela B ilustra um exemplo de um esquema de amostragem de resultados (204) de uma árvore de jogo, e a sub-parcela C ilustra um exemplo de um esquema de amostragem robusto (206) de uma árvore de jogo.
[0055] Como ilustrado na Figura 2, um círculo representa um nó do jogador 0, um retângulo representa um nó do jogador 1 e um triângulo representa um nó de chance. As bordas ou flechas sólidas apresentam ações amostradas, enquanto as bordas ou flechas tracejadas apresentam ações não amostradas.
Os nós sombreados apresentam nós amostrados, enquanto os nós em branco apresentam nós não amostrados.
[0056] Pegue a atualização do jogador 0 como exemplo, com o esquema de amostragem externo (202), como mostrado na sub-parcela A, o nó jogador 0 atravessa todas as ramificações do nó jogador 0, um nó não jogador 0 (por exemplo, nó jogador 1 e nó de chance) amostra aleatoriamente uma ramificação de acordo com uma estratégia de amostragem correspondente.
[0057] O esquema de amostragem de resultados não distingue diferentes jogadores. Como mostrado na sub-parcela B, o esquema de amostragem de resultados (204) coleta aleatoriamente uma ramificação para todos os jogadores de acordo com a estratégia de amostragem correspondente.
Como tal, apenas uma trajetória será amostrada no esquema de amostragem de resultados.
[0058] Como mostrado na sub-parcela C, o esquema de amostragem robusto (206) seleciona aleatoriamente k ramificações de acordo com uma distribuição uniforme para o jogador 0 e executa amostragem aleatória em uma ramificação para um nó não jogador 0 de acordo com uma estratégia de amostragem correspondente. Ao variar o valor de k, o esquema de amostragem robusto pode amostrar vários caminhos ou um único caminho, por exemplo, dependendo das necessidades reais de memória ou das especificações do sistema. Ao contrário do esquema de amostragem externo, o plano de amostragem robusta não exige o conhecimento de todas as ações possíveis e as variáveis para o jogador atual i’s tomam pontos de decisão de cada vez.
[0059] Em algumas formas de realização, nos esquemas de amostragem externos e de amostragem de resultados, cada bloco Qj ∈ Q representa uma partição de Z. Define 𝑞𝑄𝑗 como a probabilidade de considerar o bloco Qj, onde ∑𝑚 𝑗=1 𝑞𝑄𝑗 = 1. Define 𝑞(𝑧) = ∑𝑗:𝑧∈𝑄𝑗 𝑞𝑄𝑗 como a probabilidade de considerar um histórico terminal específico z. Em algumas formas de realização, a CRF de baunilha pode ser considerado como um caso especial de MCCFR, onde Q = {Z} contém apenas um bloco e qQ 1 = 1.
[0060] No esquema de amostragem de resultados, apenas uma trajetória será amostrada, de modo que ∀Qj ∈ Q, |Qj| = 1 e |Qj| = |Z|. Para o conjunto de informações Ii, uma amostra estimada do valor contrafactual é 1 ṽ σi (Ii |Qj ) = ∑h∈Ii ,z∈Qj ,h⊑z q(z) πσ−i (z)πσi (h, z)ui (z).
[0061] Está provado que o valor de amostragem contrafactual em MCCFR é a estimativa imparcial do valor contrafactual real no CFR: 𝐸𝑗~𝑞𝑄 [𝑣̅𝑖𝜎 (𝐼𝑖 |𝑄𝑗 )] = 𝑣𝑖𝜎 (𝐼𝑖 ). 𝑗
[0062] Definir σrs como um perfil de estratégia de amostragem, 𝑟𝑠 onde σirs é a estratégia de amostragem para o jogador i e 𝜎−𝑖 são as estratégias de amostragem para os jogadores, exceto jogador i. Em algumas formas de 𝑟𝑠 realização, ambas as amostragens externa e amostragens de resultados, 𝜎−𝑖 = 𝜎−𝑖 .O arrependimento da ação amostrada a ∈ A (Ii) pode ser definido como: 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) = ∑𝑧∈𝑄𝑗,ℎ𝑎⊑𝑧,ℎ∈𝐼𝑖 𝜋𝑖𝜎 (ℎ𝑎, 𝑧)𝑢𝑖𝑟𝑠 (𝑧) − ∑𝑧∈𝑄𝑗,ℎ⊑𝑧,ℎ∈𝐼𝑖 𝜋𝑖𝜎 (ℎ, 𝑧)𝑢𝑖𝑟𝑠 (𝑧), (6) 𝑢𝑖 (𝑧) 1 onde 𝑢𝑖𝑟𝑠 (𝑧) = 𝑟𝑠 é um novo utilitário ponderado por 𝑟𝑠 . 𝜋𝑖𝜎 (𝑧) 𝜋𝑖𝜎 (𝑧) A estimativa da amostra para arrependimento acumulado da ação a após T iterações pode ser definida como 𝑅̃𝑖𝑇 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) = 𝑅̃𝑖𝑇−1 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) +
𝑇 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) com 𝑅̃𝑖0 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) = 0.
[0063] Para uma amostragem robusta, o perfil de amostragem pode ser definido como 𝜎 𝑟𝑠(𝑘) = (𝜎𝑖𝑟𝑠(𝑘) , 𝜎−𝑖 ), onde o jogador i pode selecionar aleatoriamente k ações de acordo com a estratégia de amostragem 𝜎𝑖𝑟𝑠(𝑘) (𝐼𝑖 ) para cada conjunto de informações Ii e outros jogadores podem selecionar aleatoriamente uma ação de acordo com a estratégia σ- i.
[0064] Em algumas formas de realização, se o jogador i seleciona aleatoriamente min (k,|A(Ii)|) ações de acordo com a distribuição uniforme discreta unif(0,|A(Ii)|) no conjunto de informações 𝐼𝑖 . Ou seja, 𝜎𝑖𝑟𝑠(𝑘) (𝑎|𝐼𝑖 ) = min (𝑘,|𝐴(𝐼𝑖 )|) , então a probabilidade de alcance do conjunto de informações 𝐼𝑖 se |𝐴(𝐼𝑖 )| o jogador i executar ações de acordo com a amostragem de estratégia ou perfil 𝜎𝑖𝑟𝑠(𝑘)puder ser calculado por: 𝑟𝑠(𝑘) min (𝑘,𝐴(𝐼𝑖′ )|) 𝜋𝑖𝜎 (𝐼𝑖 ) = ∏ℎ∈𝐼 ,ℎ′ ⊑ℎ,ℎ′ 𝑎⊑ℎ,ℎ′ ∈𝐼′ , 𝑖 𝑖 |𝐴(𝐼𝑖′ )| e a utilidade ponderada 𝑢𝑖𝑟𝑠(𝑘) (𝑧) pode ser um número constante em cada iteração, considerando o perfil de amostragem σrs (k), que apresenta uma baixa variação. Além disso, como o utilitário ponderado não requer mais conhecimento explícito da estratégia do oponente, uma amostragem robusta pode ser usada para minimizar o arrependimento on-line.
[0065] Para simplificar notações, faça referência a k = max. Se referir a k = maxIi∈I|A(Ii)|. Se 𝑘 = 𝑚𝑎𝑥 e jogador i seleciona aleatoriamente k ações de acordo com uma distribuição uniforme discreta unif (0,|A(Ii)|) no conjunto de informações Ii, ∀𝑖 ∈ 𝑁, ∀𝐼𝑖 ∈ 𝐿𝑖 , ∀𝑎 ∈ 𝐴(𝐼𝑖 ), 𝜎𝑖𝑟𝑠(𝑘) (𝑎|𝐼𝑖 )~𝑢𝑛𝑖𝑓(0, |𝐴(𝐼𝑖 )|), em seguida amostragem robusta pode ser semelhante à amostragem externa quando k = maxIi∈I|A(Ii)|. 𝑟𝑠(𝑘)
[0066] Se k = 1 e 𝜎𝑖 = 𝜎𝑖 , apenas uma história z é amostrado no presente caso, em seguida 𝑢𝑖 (𝑧) 𝑢𝑖𝑟𝑠(1) (𝑧) = 𝑟𝑠(𝑘) , ∃h ∈ Ii, para a ∈ Ars (k (Ii), 𝜋𝜎 (𝑧) 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) = 𝑟̃𝑖𝜎 ((𝑎|ℎ)|𝑄𝑗 ) = ∑ 𝜋𝜋 𝜋𝜋 𝜋 (𝜋𝜋, 𝜋)𝜋𝜋 (𝜋) − ∑ 𝜋𝜋 𝜋𝜋 𝜋 (𝜋, 𝜋)𝜋𝜋 (𝜋) (1 𝜋∈𝜋− 𝜎𝑖 (𝑎|ℎ))𝑢𝜋𝑖 (𝑧) 𝜋 ,𝜋𝜋⊑𝜋,𝜋∈𝜋 𝜋∈𝜋𝜋 ,𝜋⊑𝜋,𝜋∈𝜋𝜋 = 𝜎 𝜋𝑖 (ℎ𝑎)
[0067] Se uma ação a não é amostrada no estado h, ou seja, a ∉ Ars(k)(Ii), o arrependimento é 𝑟̃𝑖𝜎 ((𝑎|ℎ)|𝑗) = 0 − 𝑣̃𝑖𝜎 (ℎ|𝑗). Nesse caso, a amostragem robusta é semelhante à amostragem de resultados quando k = 1 e 𝑟𝑠(𝑘) 𝜎𝑖 = 𝜎𝑖 .
[0068] Se k = 1, e o jogador i seleciona aleatoriamente uma ação de acordo com a distribuição uniforme discreta unif (0,|A(Ii)|) no conjunto de informações Ii. Então a amostragem robusta pode ser semelhante à amostragem de resultados. Por exemplo, se k = 1, e jogador i seleciona aleatoriamente uma ação de acordo com uma distribuição uniforme discreta unif(0,|A(Ii)|) no conjunto de informações Ii, em seguida, 𝑢𝑖 (𝑧) 𝑢𝑖𝑟𝑠(1) (𝑧) = 𝑟𝑠(𝑘) é uma constante, ∃ h ∈ Ii, para um ∈ ar (k (Ii), 𝜋𝜎 (𝑧) 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) = ∑ 𝜋𝑖𝜎 (ℎ𝑎, 𝑧)𝑢𝑖𝑟𝑠 (𝑧) − ∑ 𝜋𝑖𝜎 (ℎ, 𝑧)𝑢𝑖𝑟𝑠 (𝑧) 𝑧∈𝑄𝑗 ,ℎ𝑎⊑𝑧,ℎ∈𝐼𝑖 𝑧∈𝑄𝑗 ,ℎ⊑𝑧,ℎ∈𝐼𝑖 = (1 − 𝜎𝑖 (𝑎|ℎ))𝜋𝑖𝜎 (ℎ𝑎, 𝑧)𝑢𝑖𝑟𝑠(1) (𝑧)
[0069] Se uma ação a não é amostrada no estado h, ou seja, a ∉ Ars(k (Ii), o arrependimento é 𝑟̃𝑖𝜎 ((𝑎|ℎ)|𝑗) = 0 − 𝑣̃𝑖𝜎 (ℎ|𝑗). Comparada à amostragem de resultados, a amostragem robusta nesse caso tem uma variação menor por causa da constante 𝑢𝑖𝑟𝑠(1) (𝑧).
[0070] A Figura 3 é um pseudocódigo (300) de um exemplo de MCCFR de amostragem robusta de acordo com formas de realização deste relatório descritivo. Como mostrado nas linhas 1-5 do pseudocódigo (300), a MCCFR de amostragem robusta geral é um algoritmo iterativo com uma entrada do número total de iterações, t. Em cada iteração t, uma função robusta de amostragem MCCFR (RS-MCCFR) é chamada para o jogador 0 e o jogador 1 (como mostrado nas linhas 3 e 4) para atualizar o arrependimento cumulativo 𝑅 𝑡 (∙ |𝐼𝑖 ) e o numerador médio da estratégia 𝑆 𝑡 (𝑎|𝐼𝑖 ). A função RS-MCCFR pode ser definida como mostrado nas linhas 6-30 do pseudocódigo (300). A função RS-MCCFR retorna o valor contrafactual de cada conjunto de informações como saída. Em algumas formas de realização, o valor contrafactual pode ser usado para calcular o arrependimento contrafactual. Como tal, o arrependimento acumulado e a estratégia de tempo médio podem ser obtidos em conformidade.
[0071] Especificamente, a função RS-MCCFR mostra as ações de acordo com o esquema de amostragem robusto conforme descrito acima em conexão com a Figura 2. Tal como mostrado na linha 16 do pseudocódigo (300), k ações diferentes podem ser amostrados e coletados como Ars(k (Ii) de acordo com a estratégia de amostragem robusta 𝜎𝑖𝑟𝑠(𝑘).
[0072] Em algumas formas de realização, um esquema de amostragem dependente da profundidade pode ser usado para fornecer informações mais equilibradas ou abrangentes de um jogo representado por uma árvore de jogo. Por exemplo, a estratégia de amostragem 𝜎𝑖𝑟𝑠 (𝑎|ℎ) pode ser uma função de uma profundidade do estado h em uma árvore de jogo. Por exemplo, a estratégia de amostragem 𝜎𝑖𝑟𝑠 (𝑎|ℎ) pode ser projetada de modo que um estado mais próximo ao estado terminal tenha maior probabilidade de ser amostrado do que um estado mais próximo ao estado inicial (por exemplo, representado pela raiz da árvore de jogo). Como exemplo, o esquema de amostragem dependente de profundidade pode ser implementado aplicando pesos diferentes às probabilidades de amostragem de diferentes estados com diferentes profundidades. Essa amostragem dependente de profundidade pode ajudar a fornecer mais informações sobre estados mais próximos aos estados terminais, o que pode ser vantajoso, porque normalmente há mais estados próximos aos estados terminais do que aqueles próximos ao estado inicial (por exemplo, devido à estrutura de ramificação da árvore de jogo) e esses nós têm uma chance menor de serem amostrados do que os nós mais próximos do nó raiz nas trajetórias amostradas sob os esquemas de amostragem existentes.
[0073] Em algumas formas de realização, o esquema de amostragem dependente da profundidade pode ser usado em combinação com a amostragem robusta, amostragem de resultados, amostragem externa ou qualquer outro algoritmo de amostragem adequado. Por exemplo, o esquema de amostragem dependente de profundidade pode melhorar ainda mais a variação e a velocidade de convergência de uma amostragem robusta, amostragem de resultados e amostragem externa, como os três últimos esquemas de amostragem se concentram mais na amostragem horizontal entre as diferentes ações do estado de um jogador (por exemplo, representado pelos diferentes ramos de um nó de uma árvore de jogo).
[0074] A Figura 4 é um diagrama que ilustra um exemplo (400) de um algoritmo de CFR neural duplo aplicado a uma árvore de jogo (410) de acordo com formas de realização deste relatório descritivo. O algoritmo de CFR neural duplo (400) usa duas redes neurais (420 e 430) para calcular o equilíbrio aproximado de Nash de um IIG, tal como representado pela árvore de jogo (410).
Como ilustrado na Figura 4, uma rede neural (420) é usada para obter um arrependimento cumulativo e é referida como RegretSumNetwork (RSN). As outras redes neurais (430) são usadas para obter uma estratégia média e são referidas como AveStrategyNetwork (ASN).
[0075] Em algumas formas de realização, as atualizações iterativas do algoritmo de CFR mantem duas estratégias: a atual estratégia σit (a|Ii), e da estratégia média 𝜎̅𝑖𝑡 (𝑎|𝐼𝑖 ) para ∀i ∈ N, ∀Ii ∈ Ii, ∀a ∈ A(Ii), ∀t ∈ {1,..., T}. Por conseguinte, as duas redes neurais (420 e 430) podem ser designadas para registrar essas duas estratégias, respectivamente, de maneira iterativa. Em algumas formas de realização, o exemplo (400) do algoritmo de CFR neural duplo pode ser referido a um algoritmo de CFR incremental duplo à medida que as redes neurais são treinadas ou otimizadas com base em novas amostras adicionais em cada iteração.
[0076] De acordo com a Equação (3), uma estratégia atual σt+1(a|Ii) pode ser calculada pelo arrependimento acumulado Rt (a|Ii). Em algumas formas de realização, apenas o numerador na Equação (3) é rastreado, pois a normalização no denominador pode ser facilmente calculada quando a estratégia é usada. Dados os conjuntos informações Ii e ação a, a rede neural RSN (420), denotado como ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡 ), pode ser usado para aprender Rt (a|Ii),
onde 𝜃𝑅𝑡 é o parâmetro no RSN (420) no t-enésima iteração.
[0077] Como mostrado na Figura 4, uma memória 𝑀𝑅𝑡 pode ser definida como 𝑀𝑅𝑡 = {(Ii, r˜iσ ((a|Ii)|Qj))|∀i ∈ N, ∀ a ∈ A (Ii), h ∈ Ii, h v z, z ∈ Qj}. Cada membro 𝑀𝑅𝑡 pode incluir o conjunto de informações visitadas Ii e o 𝑡 arrependimento correspondente 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ), onde Qj é o bloco amostrado em t-enésima iteração. De acordo com a Equação (2), ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡+1 ) pode ser estimado usando a seguinte otimização: 𝑡 𝜃𝑅𝑡+1 ⟵ argmin ∑ 𝑡 (ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡 ) + ̃𝑟𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) − 𝑡+1 (𝐼𝑖 , ̃𝑟𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ))∈𝑀𝑅 𝑡 𝜃𝑅 ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡+1 ))2 (7)
[0078] De acordo com a Equação (4), o equilíbrio aproximado de Nash é a média ponderada de todas as estratégias anteriores sobre T iterações.
Semelhante ao arrependimento acumulado, outra rede neural ASN (430), denotada como 𝑆(𝑎, 𝐼𝑖 |𝜃𝑆𝑡 ), pode ser usada para aprender o numerador da estratégia média. Define outra memória 𝑀𝑆𝑡 como 𝑀𝑆𝑡 = {(𝐼𝑖 , 𝑠 𝑡 (𝑎|𝐼𝑖 ))|∀𝑖 ∈ 𝑁, ∀𝑎 ∈ 𝐴(𝐼𝑖 ), ℎ ∈ 𝐼𝑖 , ℎ ⊑ 𝑧, 𝑧 ∈ 𝑄𝑗 } = 𝑡 {(𝐼𝑖 , 𝜋𝑖𝜎 (𝐼𝑖 )𝜎𝑖𝑡 (𝑎|𝐼𝑖 )) |∀𝑖 ∈ 𝑁, ∀𝑎 ∈ 𝐴(𝐼𝑖 ), ℎ ∈ 𝐼𝑖 , ℎ ⊑ 𝑧, 𝑧 ∈ 𝑄𝑗 }
[0079] Cada membro de 𝑀𝑆𝑡 pode incluir o conjunto de informações visitadas Ii e o valor de πiσt (Ii)σit(a|Ii), onde Qj é o bloco amostrado na t-enésima iteração. Em seguida, o parâmetro 𝜃𝑠𝑡+1 do ASN (430) pode ser estimado pela seguinte fórmula: 𝜃𝑆𝑡+1 ← argmin ∑(𝐼𝑖 , 𝑠𝑡(𝑎|𝐼𝑖 ))∈𝑀𝑡 (𝑆(𝑎, 𝐼𝑖 |𝜃𝑆𝑡 ) + 𝑠𝑖𝑡 (𝑎|𝐼𝑖 ) − 𝑆(𝑎, 𝐼𝑖 |𝜃𝑆𝑡+1 ))2 (8) 𝑖 𝑆 𝜃𝑆𝑡+1
[0080] Em algumas formas de realização, em cada iteração, ambas ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡 )e 𝑆(𝑎, 𝐼𝑖 |𝜃𝑆𝑡 )podem ser otimizadas otimizando os objetivos na Equação (7) e Equação (8) de acordo com um método de descida de gradiente, tal como um método de descida de gradiente estocástico de mini-lote descrito em relação à Figura 7 abaixo.
[0081] Em algumas formas de realização, a estratégia média não precisa ser atualizada em cada iteração se uma memória grande estiver disponível para agregar e salvar 𝑠𝑖𝑡 (𝑎|𝐼𝑖 ) em várias iterações. Se a memória 𝑀𝑆𝑡 estiver cheia, o valor incremental pode ser aprendido otimizando a Equação (8).
[0082] Em algumas formas de realização, em cada iteração, apenas um pequeno subconjunto de conjuntos de informações é amostrado, o que pode levar a que a rede neural RSN (420) e ASN (430) esqueça valores desses conjuntos de informações não observados ou não amostrados. Para resolver esse problema, os parâmetros de rede neural de uma iteração anterior podem ser usados como a inicialização de uma iteração atual, o que dá um sabor de aprendizado/ adaptação on-line às atualizações. Além disso, devido à capacidade de generalização das redes neurais, mesmo amostras de um pequeno número de conjuntos de informações podem ser usadas para atualizar as novas redes neurais, e as redes neurais recém-atualizadas podem produzir bons valores para o arrependimento cumulativo e a estratégia média em algumas formas de realização.
[0083] Em algumas formas de realização, como o número de iterações t aumenta, o valor de Rit(a|Ii) pode tornar-se cada vez maior, dificultando potencialmente para a rede neural aprender. Para resolver esse problema, o arrependimento acumulado pode ser normalizado por um fator de √𝑡 para tornar seu intervalo mais estável. Isso pode ser entendido a partir do arrependimento da aprendizagem on-line. Mais especificamente, deixe ∆ = maxIi,a,t|R (a|Ii)- Rt−1(a|Ii)|, ∀Ii ∈ I, a ∈ A (Ii), t ∈ {1,..., T }. 𝑅𝑖𝑡 (𝑎|𝐼𝑖 ) ≤ ∆√|𝐴|𝑡 onde |A| = maxIi∈I|A(Ii)|. Em algumas formas de realização, a rede neural RSN (420) pode ser usada para rastrear 𝑅𝑖𝑡 (𝑎|𝐼𝑖 ) 𝑅̂𝑖𝑡 (𝑎|𝐼𝑖 ) = ̂ 𝑡−1 (𝑎|𝐼𝑖 ) √𝜎𝑡𝑡 √𝑡−1𝑅𝑖 𝑟𝑖 (𝑎|𝐼𝑖 ) e atualizá-la 𝑅̂𝑖𝑡 (𝑎|𝐼𝑖 ) = + , (9) √𝑡 √𝑡 onde Rˆi0(a|Ii) = 0.
[0084] Em algumas formas de realização, no algoritmo de CFR incremental duplo, as memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 podem ser apagadas após cada iteração, por exemplo, devido ao tamanho limitado das memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 . Em algumas formas de realização, por exemplo, em um jogo grande, mesmo com o algoritmo de CFR de incremento duplo que usa as redes neurais para aprender os arrependimentos cumulativos e a estratégia média, o tamanho das memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 ainda precisam ser muito grandes para registrar o acumulado arrependimento e estratégias médias para cada iteração.
[0085] Em algumas formas de realização, para melhorar continuamente a estratégia média com memória limitada mas iterações infinitas e/ ou para aliviar ainda mais a exigência do tamanho da memória, pode ser usado um algoritmo de CFR reservatório duplo que utilize dois reservatórios MR e MS para salvar os arrependimentos cumulativos amostrados e as estratégias médias em diferentes iterações e para aprender dinamicamente o arrependimento cumulativo e a estratégia média.
[0086] Em algumas formas de realização, um arrependimento cumulativo médio após iterações T pode ser obtido de acordo com a Equação (10) reescrevendo a Equação 2): 𝑅̅𝑖𝑇 (𝑎|𝐼𝑖 ) = 𝑅𝑖𝑇 (𝑎|𝐼𝑖 )/ 𝑇 (10)
[0087] Da mesma forma, a estratégia média pode ser a normalização da estratégia cumulativa, como mostrado na Equação (4), que é a 𝑡 estratégia média ponderada 𝜎𝑖𝑡 (𝑎|𝐼𝑖 ) por sua probabilidade de alcance 𝜋𝑖𝜎 (𝐼𝑖 ).
[0088] Em algumas formas de realização, dois reservatórios 𝑡 uniformes MR e MS podem ser usados para guardar a amostra 𝑟̃𝑖𝜎 ((𝑎|𝐼𝑖 )|𝑄𝑗 ) e 𝑠 𝑡 (𝑎|𝐼𝑖 ), respectivamente. Especificamente, MR pode ser o reservatório para guardar amostras em 𝑀𝑅𝑡 e MS pode ser o reservatório para salvar as amostradas em 𝑀𝑆𝑡 . Novas amostras podem ser inseridas no reservatório por um algoritmo de amostragem. A amostragem de reservatório inclui uma família de algoritmos aleatórios para escolher aleatoriamente k itens de uma lista contendo n itens.
Por exemplo, se o reservatório não estiver cheio, novas amostras podem ser adicionadas diretamente ao reservatório. Se um reservatório estiver cheio, novas amostras podem substituir amostras antigas de acordo com, por exemplo, um princípio do primeiro dentro primeiro fora (FIFO) ou de acordo com uma distribuição aleatória uniforme ou outra distribuição.
[0089] Observe que o algoritmo de CFR de incremento duplo e a CRF de reservatório duplo empregam as ideias no aprendizado on-line e usam duas redes neurais para aprender a atualização do arrependimento e a estratégia média, respectivamente. Em algumas formas de realização, o ASN não precisa ser atualizado em cada iteração, enquanto o RSN pode precisar ser otimizado após a amostragem de Monte Carlo, a fim de produzir uma nova estratégia de comportamento. Por exemplo, quando uma nova estratégia de comportamento é usada para percorrer a árvore de jogo, o RSN pode precisar ser atualizado a cada iteração. Por outro lado, o ASN pode ser usado como o equilíbrio final aproximado de Nash, que é a média ponderada da estratégia de comportamento. O ASN pode servir como saída do algoritmo de CFR neural duplo. Se houver um armazenamento de dados grande o suficiente para salvar todas as amostras, será necessário otimizar a estratégia média na última etapa.
Na prática, para um jogo grande, o grande armazenamento de dados pode ser muito caro. Como tal, a estratégia média pode ser otimizada incrementalmente se o armazenamento de dados (por exemplo, o reservatório 𝑀𝑆𝑡 ) estiver cheio.
Como tal, o algoritmo de CFR neural duplo pode incluir duas variações. No algoritmo incremental duplo, a rede neural (por exemplo, um ou ambos RSN e ASN) é otimizada apenas por amostras incrementais, enquanto os algoritmos de reservatório duplo, a rede neural (por exemplo, um ou ambos RSN e ASN) pode ser otimizada por todas as amostras nos reservatórios.
[0090] O algoritmo de CFR neural duplo e o algoritmo de CFR de reservatório duplo têm diferentes coleções de amostras. Para a CRF incremental dupla, a rede neural é otimizada com base nas amostras recém-adicionadas.
Para CFR de reservatório duplo, a rede neural é otimizada com base nas amostras nos reservatórios de tamanho fixo. Além disso, no método de reservatório duplo, a estratégia média pode ser otimizada pela máxima probabilidade logarítmica e não pelo erro quadrado mínimo.
[0091] A Figura 5 é um pseudocódigo (500) de um exemplo de um algoritmo de CFR neural duplo, de acordo com formas de realização deste relatório descritivo. O exemplo do algoritmo de CFR neural duplo inclui uma opção de usar o algoritmo de CFR neural duplo ou o algoritmo de CFR de reservatório duplo.
[0092] As linhas 3-7 do pseudocódigo (500) mostram exemplos de estratégias de inicialização na primeira iteração. Por exemplo, se o sistema iniciar a quente a partir de um método de CFR existente (por exemplo, métodos de CFR ou MCCFR baseados em tabela ou método de CFR neural duplo), as redes neurais poderão ser inicializadas a partir de um perfil de estratégia existente para clonar os arrependimentos cumulativos e estratégia. Se não houver inicialização a quente, o algoritmo de CFR neural duplo pode iniciar aleatoriamente os parâmetros no RSN e ASN na iteração t = 1.
[0093] Em algumas formas de realização, se o algoritmo de CFR incremental duplo for usado, como mostrado na linha 8 do pseudocódigo (500), os métodos de amostragem podem ser usados retornam o arrependimento contrafactual e o numerador da estratégia média para os conjuntos de informações amostrados nesta iteração. O arrependimento contrafactual e o numerador da estratégia média para os conjuntos de informações amostrados nesta iteração podem ser salvos nas memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 respectivamente. Os métodos de amostragem podem incluir, por exemplo, um algoritmo de método de amostragem robusto de mini-lote descrito em relação à Figura 7. Em algumas formas de realização, os arrependimentos contrafactuais para os conjuntos de informações amostrados nesta iteração podem ser somados para fornecer valor agregado no 𝑀𝑅𝑡 pelo conjunto de informações, por exemplo, de acordo com a Equação (11) abaixo e um algoritmo MCCFR de mini lote como descrito em relação à Figura 7. Em algumas formas de realização, registros duplicados 𝑀𝑆𝑡 podem ser removidos.
[0094] Em algumas formas de realização, se o algoritmo de CFR de reservatório duplo for usado, o arrependimento contrafactual e o numerador da estratégia média para os conjuntos de informações amostrados nesta iteração (como aqueles salvos em memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 no algoritmo de CFR incremental duplo) podem ser salvos em reservatórios MR e MS, respectivamente. Amostragem de reservatório pode ser utilizada se um ou ambos os reservatórios MR e MS estiverem cheios.
[0095] Como mostrado nas linhas 13 a 15 do pseudocódigo (500), esses arrependimentos contrafactuais e o numerador da estratégia média para os conjuntos de informações amostradas nesta iteração podem ser usados por um algoritmo NeuralAgent, como mostrado na Figura 6 para otimizar as duas redes neurais, RSN e ASN e retornar os parâmetros (por exemplo, 𝜃𝑅𝑡 e 𝜃𝑆𝑡 ) do RSN e ASN (por exemplo, ℛ(𝑎, 𝐼𝑖 |𝜃𝑅𝑡 ) e 𝑆(𝑎, 𝐼𝑖 |𝜃𝑆𝑡 )).
[0096] A Figura 6 é um pseudocódigo (600) de um exemplo de um algoritmo para otimizar uma rede neural em conexão com um algoritmo de CFR neural duplo, de acordo com formas de realização deste relatório descritivo. O exemplo do algoritmo é chamado de algoritmo NeuralAgent. O algoritmo de CFR neural duplo descrito pode usar outros algoritmos para otimizar uma ou ambas as redes neurais usadas no algoritmo de CFR neural duplo.
[0097] Definir βperíodo como período de treinamento, βlr como uma taxa de aprendizagem, βperda como critérios para a interrupção precoce ou rescisão, βre como o limite superior para o número de iterações de obter a perda mínima da última vez, θt -1 como o parâmetro otimizar, f(·|θt−1) como a rede neural, M como a amostra de treinamento que consiste em conjunto de informações e o alvo correspondente. Para simplificar as notações, use β∗ para indicar o conjunto de parâmetros de uma rede neural. Por exemplo, e βS∗ referem-se aos conjuntos de parâmetros no RSN e ASN, respectivamente. Os experimentos mostram que o algoritmo NeuralAgent cuidadosamente projetado pode obter uma taxa de convergência relativamente maior de exploração na otimização das redes neurais RSN e ASN. O pseudocódigo (600) mostra os detalhes do algoritmo NeuralAgent com comentários explicativos.
[0098] Em algumas formas de realização, os otimizadores existentes podem não retornar uma perda relativamente baixa o suficiente devido a um potencial ponto de sela ou mínimos locais. Para obter uma precisão relativamente mais alta e uma menor perda de otimização, um planejador foi projetado especificamente para reduzir a taxa de aprendizado quando a perda parou de diminuir. Especificamente, o planejador lê uma quantidade de métricas, por exemplo, erro quadrado médio e, se nenhuma melhoria for vista em vários períodos, a taxa de aprendizado é reduzida por um fator. Além disso, a taxa de aprendizado pode ser redefinida no otimizador e no planejador quando a perda parar de diminuir nos períodos βre. O mecanismo de recorte de gradiente pode ser usado para limitar a magnitude do gradiente de parâmetro e fazer com que o otimizador se comporte melhor nas proximidades de falésias íngremes. Após cada período, o melhor parâmetro será atualizado. Mecanismo de paragem precoce é utilizado uma vez que a menor perda é menor do que os critérios especificados βperda.
[0099] Em experimentos, os hiperparâmetros da rede neural podem ser definidos da seguinte forma. Por exemplo, para o RSN, o tamanho do lote neural é 256 e a taxa de aprendizado βlr = 0. 001. Um planejador, que reduzirá a taxa de aprendizado com base no número de períodos e na taxa de perda de convergência, ajuda o agente neural a obter uma alta precisão. A taxa de aprendizado pode ser reduzida em 0,5 quando a perda parar de melhorar após 10 períodos. O limite inferior da taxa de aprendizado de todos os parâmetros neste planejador é 10−6. Para evitar a convergência do algoritmo para possíveis mínimos locais ou pontos de sela, a taxa de aprendizado pode ser redefinida para, por exemplo, 0,001 e ajudar o otimizador a obter um melhor desempenho. θ T é o melhor parâmetro para alcançar a menor perda após melhor períodos de T. Se a perda média para o período t for menor que o critério especificado βperda = 10−4, o otimizador poderá ter uma parada precoce. Como exemplo, defina βperíodo = 2000 e atualize os períodos máximos do otimizador
2000.
[00100] Para o ASN, a perda dos critérios de parada antecipada pode ser definida como 10-5. A taxa de aprendizado pode ser reduzida em 0,7 quando a perda parar de melhorar após 15 períodos. Outros hiperparâmetros no ASN podem ser semelhantes aos do RSN.
[00101] A Figura 7 é um pseudocódigo (700) de um exemplo de um algoritmo MCCFR de mini-lote de acordo com formas de realização deste relatório descritivo. O algoritmo MCCFR de mini-lote (indicado como Mini-Lote- MCCFR-NN) inclui um algoritmo de amostragem para obter arrependimento contrafactual e numerador da estratégia média para conjuntos de informações amostradas de um jogo. Ao contrário da amostragem tradicional de resultados e da amostragem externa, que apenas amostram um bloco em uma iteração e fornecem um estimador imparcial de CFV de origem, a técnica de amostragem de mini-lote pode amostrar aleatoriamente blocos b em uma iteração. O exemplo do algoritmo MCCFR de mini-lote mostrado no pseudocódigo (700) é baseado na amostragem robusta descrita acima. Em algumas formas de realização, o algoritmo MCCFR de mini-lote pode ser usado em conexão com outros esquemas de amostragem, como o esquema de amostragem dependente da profundidade. Observe que o algoritmo MCCFR de mini-lote é um exemplo de algoritmo para obter arrependimento contrafactual e numerador da estratégia média para conjuntos de informações amostradas de um jogo. O algoritmo de CFR neural duplo pode usar outros algoritmos para obter arrependimento contrafactual e numerador da estratégia média para conjuntos de informações amostradas de um jogo.
[00102] Deixe Qj indicar um bloco de terminais amostrados de acordo com o esquema de amostragem robusto em j-ésima vez; em seguida, mini-lote CFV com b mini-lotes para o conjunto de informações Ii pode ser definido como: (11)
[00103] Além disso, pode ser demonstrado que v˜i σ (Ii |b) é um estimador imparcial do valor contrafactual de Ii : EQj ∼ Amostragem Robusta [ v˜i σ (Ii|b)] = viσ (Ii).
[00104] Da mesma forma, o arrependimento cumulativo de mini-lote da ação a é (12) onde R~i0 ((a|Ii)|b)=0. Em algumas formas de realização, o mini-lote MCCFR pode amostrar blocos b em paralelo e ajudar MCCFR para convergir mais rápido.
[00105] Note que o mini-lote MCCFR usando o algoritmo de arrependimento correspondente para atualizar o acumulado mini-lote arrependimento R~T,+ ((a|Ii)|b). Em algumas formas de realização, como uma variante do mini-lote MCCFR, um algoritmo de mini-lote MCCFR+ pode ser usado para atualizar mini-lote de arrependimento cumulativo R~T,+((a|Ii)|b) até iteração T por:
(13) onde (x)+ = max(x,0). Em algumas formas de realização, verificou- se que a MCCFR+ de mini-lote converge mais rapidamente que a MCCFR de mini-lote ao especificar um tamanho de mini-lote adequado.
[00106] A função Mini-Lote-MCCFR-NN mostrada no pseudocódigo (700) apresenta um método de amostragem de mini-lote, em que os blocos b serão amostrados em paralelo. Esse método de mini-lote pode ajudar a MCCFR a obter uma estimativa mais precisa do CFV. A amostragem paralela torna esse método eficiente na prática.
[00107] Como mostrado nas linhas 1-6 do pseudocódigo (700), o Mini-Lote-MCCFR-NN é um algoritmo iterativo com uma entrada do número total de iterações, t. Em cada iteração, uma função MCCFR-NN é chamada para o jogador 0 e o jogador 1 (como mostrado nas linhas 4 e 5), e o arrependimento contrafactual e o numerador estratégia média para conjuntos de informações amostrados nessa iteração são retornados e salvos em memórias 𝑀𝑅𝑡 e 𝑀𝑆𝑡 , respectivamente.
[00108] A função MCCFR-NN pode ser definida como mostrado nas linhas 8-33 do pseudocódigo (700). A função MCCFR-NN percorre a árvore de jogo como MCCFR tabular, que começa a partir do histórico raiz h = ∅. Definir Ii como conjunto de informações apresentadas de h. Suponha que o jogador i experimente k ações de acordo com a amostragem robusta. Então a função pode ser definida da seguinte maneira. (1) Se o histórico for terminal (por exemplo, h ∈ Z), a função retornará o utilitário ponderado. (2) Se histórico for o jogador eventual (por exemplo, P (Ii) = -1,), uma ação de a ∈ A (I i) podem ser amostrados de acordo com a estratégia σ- i (Ii). Em seguida, essa ação será adicionada ao histórico, ou seja, h ← há. (3) Se P (Ii) = i, a estratégia atual pode ser atualizada pelo arrependimento acumulado previsto pelo RSN. Em seguida, a amostra de k ações de acordo com o perfil de estratégia de amostragem especificado (por exemplo, amostragem robusta com ou sem amostragem dependente da profundidade). Após uma atualização recursiva, o valor contrafactual e o arrependimento de cada ação em Ii podem ser obtidos. Para o nó visitado, seus arrependimentos contrafactuais e numeradores da estratégia média correspondente podem ser armazenados em 𝑀𝑅𝑡 e 𝑀𝑆𝑡 , respectivamente.
(4) Se P(I i) for o oponente, apenas uma ação será amostrada de acordo com a estratégia σ-i (Ii).
[00109] A Figura 8 é um fluxograma de um exemplo de um processo de amostragem (800) para executar MCCFR de acordo com formas de realização deste relatório descritivo. O processo de amostragem (800) pode ser um exemplo do esquema de amostragem dependente da profundidade descrito acima para realizar a minimização do arrependimento contrafactual (CRF) para pesquisa de estratégia na interação entre duas ou mais partes. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. O IIG pode representar um ou mais cenários do mundo real, como alocação de recursos, recomendação de produtos/ serviços, previsão e/ ou prevenção de ataques cibernéticos, roteamento de tráfego, gerenciamento de fraudes etc. que envolvem duas ou mais partes, nas quais cada parte pode ter informações incompletas ou imperfeitas sobre as decisões da outra parte. Como exemplo, o IIG pode representar um serviço de recomendação de produto colaborativo que envolve pelo menos um primeiro e um segundo jogador. O primeiro jogador pode ser, por exemplo, um varejista on-line que possui informações de clientes (ou usuários), informações sobre produtos e serviços, histórico de compras dos clientes etc. O segundo jogador pode ser, por exemplo, uma plataforma de rede social que possui dados de rede dos clientes, um banco ou outra instituição financeira que possua informações financeiras dos clientes, uma concessionária de carros ou quaisquer outras partes que possam ter informações dos clientes sobre as preferências, necessidades, situações financeiras, locais, etc. na previsão e recomendações de produtos e serviços aos clientes. O primeiro e o segundo jogadores podem ter dados proprietários que não desejam compartilhar com outros. O segundo jogador só pode fornecer informações parciais para o primeiro jogador em momentos diferentes. Como tal, o primeiro jogador pode ter apenas acesso limitado às informações do segundo jogador. Por conveniência, o processo (800) será descrito como sendo executado por um aparelho de processamento de dados, tal como um sistema de um ou mais computadores, localizado em um ou mais locais, e programado adequadamente de acordo com este relatório descritivo. Por exemplo, um sistema de computador (1000) da Figura 10, adequadamente programado, pode executar o processo (800).
[00110] Em (810), um aparelho de processamento de dados identifica N1 possíveis ações de um primeiro jogador em um primeiro estado do primeiro jogador. Em algumas formas de realização, o IIG pode ser representado por uma árvore de jogo (por exemplo, a árvore de jogo (102, 104, 202, 204 ou 206)). O primeiro estado do primeiro jogador pode ser representado por um primeiro nó da árvore de jogo (por exemplo, nó h1 do jogador 0 na árvore de jogo (102)) e a ação possível N1 pode ser as bordas ou ramificações do primeiro nó da árvores de jogo (por exemplo, as bordas P e B do nó h1 do jogador 0 na árvore de jogo (102)). No exemplo do serviço de recomendação de serviço ou produto colaborativo, o primeiro estado do primeiro jogador inclui um histórico de informações fornecido pelo segundo jogador, e as possíveis ações N1 do primeiro jogador incluem N1 possíveis ações em resposta ao histórico de informações fornecido pelo segundo jogador para fornecer recomendações de serviço ou produto aos clientes. O primeiro estado do primeiro jogador e as ações possíveis podem incluir outros recursos em outros cenários do mundo real modelados pelo IIG.
[00111] Em (820), o aparelho de processamento de dados mostra uma ação possível dentre as N1 possíveis ações no primeiro estado do primeiro jogador com uma primeira probabilidade de amostragem. Em algumas formas de realização, o aparelho de processamento de dados pode amostrar k1 ações possíveis dentre as possíveis ações N1 no primeiro estado do primeiro jogador, em que cada uma das ações possíveis k1 é amostrada com a mesma primeira probabilidade de amostragem.
[00112] Em (830), o aparelho de processamento de dados identifica N2 possíveis ações do primeiro jogador em um segundo estado do primeiro jogador, em que o primeiro estado do primeiro jogador está mais próximo de um estado inicial do IIG do que o segundo estado do primeiro jogador. No exemplo da árvore de jogo (102), o segundo estado do primeiro jogador pode ser, por exemplo, o nó h7, que está mais longe do estado inicial (por exemplo, o nó h0) da árvore de jogo (102) do que o primeiro estado do primeiro jogador (por exemplo, nó h1 do jogador 0 na árvore de jogo (102)).
[00113] Em (840), o aparelho de processamento de dados prova uma ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador com uma segunda probabilidade de amostragem, em que a primeira probabilidade de amostragem é menor que a segunda probabilidade de amostragem. Em algumas formas de realização, o aparelho de processamento de dados coleta amostras k2 de ações possíveis dentre as N2 possíveis ações no segundo estado do primeiro jogador, em que cada uma das ações possíveis de k2 é amostrada com a mesma segunda probabilidade de amostragem.
[00114] Em (850), o aparelho de processamento de dados executa CRF com base nas ações possíveis dentre as N1 possíveis ações no primeiro estado do primeiro jogador e a ação possível dentre as ações possíveis
N2 no segundo estado do primeiro jogador. Em algumas formas de realização, a CRF pode ser realizado de acordo com as técnicas descritas em relação à Figura 3 e/ ou Figura 7)
[00115] Em algumas formas de realização, uma estratégia do primeiro jogador resultante da resolução do IIG é gerada. A estratégia pode incluir uma série de ações do primeiro jogador no cenário do mundo real modelado pelo IIG. Por exemplo, no cenário de recomendação de serviço ou produto colaborativo, a estratégia do primeiro jogador resultante da solução do IIG pode incluir, por exemplo, uma série de ações em resposta às informações fornecidas pelo segundo jogador, recomendações de serviço ou produto correspondentes para clientes com base nas informações do primeiro jogador e nas informações fornecidas pelo segundo jogador. A estratégia de saída do primeiro jogador resultante da solução do IIG pode incluir outras informações em outros cenários do mundo real modelados pelo IIG.
[00116] Em algumas formas de realização, a realização de CRF com base na possível ação fora das N1 possíveis ações no primeiro estado do primeiro jogador e a possível ação fora das N2 possíveis ações no segundo estado do primeiro jogador inclui o cálculo de um valor de arrependimento da possível ação fora das N1 possíveis ações no primeiro estado do primeiro jogador (por exemplo, de acordo com a Equação (1a) e/ ou a Equação (2)); calculando um valor de arrependimento da ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador (por exemplo, de acordo com as Equação (1a) e/ ou Equação (2)); atualizando uma primeira estratégia do primeiro jogador no primeiro estado com base no valor de arrependimento da ação possível dentre as N1 possíveis ações (por exemplo, de acordo com a Equação (3)); e atualizar uma segunda estratégia do primeiro jogador no segundo estado, com base no valor de arrependimento da ação possível dentre as N2 possíveis ações (por exemplo, de acordo com a Equação (3)).
[00117] Em algumas formas de realização, o aparelho de processamento de dados executa CRF com base nas ações possíveis de k1 dentre as N1 possíveis ações no primeiro estado do primeiro jogador e as ações possíveis de k2 dentre as N2 possíveis ações no segundo estado do primeiro jogador.
[00118] Em algumas formas de realização, a amostragem robusta pode ser realizada em conexão com a amostragem dependente da profundidade. Por exemplo, a primeira probabilidade de amostragem é k1/ N1 e a segunda probabilidade de amostragem é k2/ N2. Como tal, as ações possíveis são amostradas de acordo com uma distribuição uniforme.
[00119] Em algumas formas de realização, 2<=k1<=N1 e 2<=k2<=N2, para que mais de uma ação possível seja visitada para cada estado do jogador.
[00120] Em algumas formas de realização, k1 = k2, para que um número igual de amostras seja selecionado ou visitado no primeiro estado e no segundo estado do primeiro jogador.
[00121] Da mesma forma, a amostragem dependente da profundidade pode ser realizada em conexão com um segundo jogador. Por exemplo, o aparelho de processamento de dados identifica M1 possíveis ações de um segundo jogador em um primeiro estado do segundo jogador. O aparelho de processamento de dados mostra uma ação possível dentre as M1 possíveis ações no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem. O aparelho de processamento de dados identifica M2 possíveis ações do segundo jogador em um segundo estado do segundo jogador, em que o primeiro estado do segundo jogador está mais próximo de um estado inicial do IIG do que o segundo estado do segundo jogador. O aparelho de processamento de dados coleta uma possível ação dentre as possíveis ações M2 no segundo estado do primeiro jogador com uma quarta probabilidade de amostragem, em que a terceira probabilidade de amostragem é menor que a quarta probabilidade de amostragem.
[00122] Em algumas formas de realização, a amostragem dependente da profundidade pode ser realizada em conexão com o primeiro jogador e o segundo jogador. Em algumas formas de realização, o aparelho de processamento de dados identifica M1 possíveis ações de um segundo jogador em um primeiro estado do segundo jogador, em que o primeiro estado do primeiro jogador (por exemplo, estado h1 do jogador 0 na árvore de jogo (102)) está mais próximo de um estado inicial (por exemplo, estado h0) do IIG que o primeiro estado do segundo jogador (por exemplo, estado h4 do jogador 1 na árvore de jogo (102)). O aparelho de processamento de dados mostra uma ação possível dentre as M1 possíveis ações no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem, em que a terceira probabilidade de amostragem é maior que a primeira probabilidade de amostragem.
[00123] A Figura 9 é um fluxograma de um exemplo do algoritmo de CFR duplo neural (900) para executar MCCFR de acordo com formas de realização deste relatório descritivo. O processo de amostragem (900) pode ser um exemplo do algoritmo de CFR de reservatório duplo descrito acima em relação às Figuras 4-7, para realizar a minimização do arrependimento contrafactual (CRF) para pesquisa estratégica em interação estratégica entre dois ou mais jogadores. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. O IIG pode representar um ou mais cenários do mundo real, como alocação de recursos, recomendação de produtos/ serviços, previsão e/ ou prevenção de ataques cibernéticos, roteamento de tráfego, gerenciamento de fraudes etc. que envolvem duas ou mais partes, nas quais cada parte pode ter informações incompletas ou imperfeitas sobre as decisões da outra parte. Como exemplo, o
IIG pode representar um serviço de recomendação de serviço ou produto colaborativo que envolve pelo menos um primeiro e um segundo jogador. O primeiro jogador pode ser, por exemplo, um varejista on-line que possui informações de clientes (ou usuários), informações sobre produtos e serviços, histórico de compras dos clientes etc. O segundo jogador pode ser, por exemplo, uma plataforma de rede social que possui dados de rede dos clientes, um banco ou outra instituição financeira que possua informações financeiras dos clientes, uma concessionária de carros ou quaisquer outras partes que possam ter informações dos clientes sobre as preferências, necessidades, situações financeiras, locais, etc. na previsão e recomendações de produtos e serviços aos clientes. O primeiro e o segundo jogador podem ter dados proprietários que não desejam compartilhar com outros. O segundo jogador só pode fornecer informações parciais para o primeiro jogador em momentos diferentes. Como tal, o primeiro jogador pode ter apenas acesso limitado às informações do segundo jogador. Por conveniência, o processo (900) será descrito como sendo executado por um aparelho de processamento de dados, como um sistema de um ou mais computadores, localizado em um ou mais locais, e programado adequadamente de acordo com este relatório descritivo. Por exemplo, um sistema de computador (1000) da Figura 10, adequadamente programado, pode executar o processo (900).
[00124] Em (910), um aparelho de processamento de dados inicializa parâmetros de uma primeira rede neural e parâmetros de uma segunda rede neural. A primeira rede neural (por exemplo, RegretSumNetwork (RSN) (420)) pode ser usada para prever um valor de arrependimento de uma ação possível no estado do jogador. No exemplo do serviço de recomendação de serviço ou produto colaborativo, o estado do jogador inclui um histórico de informações fornecido pelo segundo jogador, e a ação possível do jogador inclui uma ação possível em resposta ao histórico de informações fornecido pelo segundo jogador por fornecer recomendações de serviço ou produto aos clientes. A segunda rede neural (por exemplo, AveStrategyNetwork (ASN) (430)) pode ser usada para prever um valor estratégico de uma ação possível no estado do jogador. Em algumas formas de realização, o aparelho de processamento de dados inicializa parâmetros de acordo com um início a quente, por exemplo, com base nos parâmetros da primeira rede neural e nos parâmetros da segunda rede neural em uma iteração anterior ou obtidos com base em um algoritmo de CRF existente, respectivamente. Em algumas formas de realização, o aparelho de processamento de dados inicializa parâmetros da primeira rede neural e parâmetros da segunda rede neural aleatoriamente.
[00125] Em (920), o aparelho de processamento de dados armazena um número de amostras de arrependimento em um primeiro armazenamento de dados (por exemplo, o reservatório MR), em que cada um do número de amostras de arrependimento inclui um estado do jogador e um valor de arrependimento de uma possível ação no estado do jogador. Em algumas formas de realização, o valor de arrependimento de uma ação possível no estado do jogador inclui um valor de arrependimento contrafactual da ação possível no estado do jogador calculado com base em um valor contrafactual da ação possível no estado do jogador. Por exemplo, cada amostra de arrependimento pode incluir uma tupla de arrependimento (Ii, r˜iσt (a|Ii)). Em algumas formas de realização, o número de amostras de arrependimento é obtido em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca em interação estratégica entre o jogador e pelo menos outro jogador. Em algumas formas de realização, o algoritmo de CRF inclui um algoritmo de CRF de amostragem robusto.
[00126] Em algumas formas de realização, em cada uma ou mais iterações do algoritmo de CRF na resolução do IIG, o aparelho de processamento de dados mostra uma ação possível dentre várias ações possíveis em um segundo estado de um jogador de acordo com um esquema de amostragem; calcula-se um valor contrafactual da ação possível no segundo estado do jogador (por exemplo, de acordo com a Equação (1)); calcula-se um valor de arrependimento da ação possível no segundo estado do jogador com base no valor contrafactual da ação possível no segundo estado do jogador (por exemplo, de acordo com as Equação (1a) e/ ou Equação (2)); calcula-se uma estratégia atualizada da ação possível no segundo estado do jogador com base no valor de arrependimento da ação possível no segundo estado do jogador, de acordo com um algoritmo de correspondência de arrependimento (por exemplo, de acordo com a Equação (3)); e calcula-se um valor de estratégia da ação possível no segundo estado do jogador com base na estratégia atualizada da ação possível no segundo estado do jogador (por exemplo, de acordo com as Equação (4) e/ ou Equação (5)).
[00127] Em algumas formas de realização, o aparelho de processamento de dados pode obter uma nova amostra de arrependimento (por exemplo, executando outra iteração da MCCFR). O aparelho de processamento de dados pode armazenar a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório. Por exemplo, armazenando a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório inclui: determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir um dos números de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
[00128] Em (930), o aparelho de processamento de dados armazena um número de amostras de estratégia em um segundo armazenamento de dados (por exemplo, o reservatório MS), em que cada um do número de amostras de estratégia inclui um estado do jogador e um valor de estratégia de uma ação possível no estado do jogador. Em algumas formas de realização, o valor de estratégia de uma ação possível no estado do jogador inclui um numerador de uma estratégia média. Por exemplo, cada número de amostras de estratégia pode incluir uma tupla de estratégia (𝐼𝑖 , 𝑠 𝑡 (𝑎|𝐼𝑖 )).
[00129] Em (940), o aparelho de processamento de dados atualiza os parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma possível ação em um estado do jogador com base no número de amostras de arrependimento no primeiro armazenamento de dados, por exemplo, de acordo com a Equação (7). Em algumas formas de realização, os parâmetros da primeira rede neural podem ser atualizados de acordo com o algoritmo agente neural mostrado na Figura 6 ou qualquer outro algoritmo para otimizar uma rede neural.
[00130] Em (950), o aparelho de processamento de dados atualiza os parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado do jogador com base no número de amostras de estratégia no segundo armazenamento de dados, por exemplo, de acordo com a Equação (8). Em algumas formas de realização, os parâmetros da segunda rede neural podem ser atualizados de acordo com o algoritmo do agente neural mostrado na Figura 6 ou qualquer outro algoritmo para otimizar uma rede neural.
[00131] Em (960), o aparelho de processamento de dados identifica um primeiro estado do jogador e uma primeira ação possível no primeiro estado do jogador.
[00132] Em (970), o aparelho de processamento de dados prevê um primeiro valor de arrependimento da primeira ação possível no primeiro estado do jogador usando os parâmetros da primeira rede neural. Em algumas formas de realização, o primeiro valor previsto de arrependimento da primeira ação possível no primeiro estado do jogador pode ser usado em uma próxima iteração do algoritmo de CFR.
[00133] Em (980), o aparelho de processamento de dados prevê um primeiro valor estratégico da primeira ação possível no primeiro estado do jogador, usando os parâmetros da segunda rede neural. Em algumas formas de realização, o primeiro valor previsto da estratégia da primeira ação possível no primeiro estado do jogador pode ser usado em uma próxima iteração do algoritmo de CFR. Em algumas formas de realização, o primeiro valor previsto da estratégia da primeira ação possível no primeiro estado do jogador pode ser usado para calcular um equilíbrio aproximado de Nash e servir como uma saída do algoritmo de CFR. Em algumas formas de realização, o primeiro valor previsto da estratégia da primeira ação possível no primeiro estado do jogador pode incluir uma série de ações do primeiro jogador no cenário do mundo real modelado pelo IIG. Por exemplo, no cenário de recomendação de serviço ou produto colaborativo, o primeiro valor previsto da estratégia da primeira ação possível no primeiro estado do jogador pode incluir, por exemplo, uma série de ações em resposta às informações fornecidas pelo segundo jogador, recomendações de serviço ou produto correspondentes aos clientes com base nas informações do primeiro jogador e nas informações fornecidas pelo segundo jogador. O valor previsto da primeira estratégia da primeira ação possível no primeiro estado do jogador pode incluir outras informações em outros cenários do mundo real modelados pelo IIG.
[00134] A Figura 10 representa um diagrama de blocos que ilustra um exemplo de um sistema implementado por computador usado para fornecer funcionalidades computacionais associadas a algoritmos, métodos, funções, processos, fluxos e procedimentos descritos, de acordo com formas de realização deste relatório descritivo. A Figura 10 é um diagrama de blocos que ilustra um exemplo de um Sistema (1000) implementado por computador usado para fornecer funcionalidades computacionais associadas a algoritmos,
métodos, funções, processos, fluxos e procedimentos descritos, de acordo com uma forma de realização da presente divulgação. Na forma de realização ilustrada, o Sistema (1000) inclui um Computador (1002) e uma Rede (1030).
[00135] O Computador ilustrado (1002) destina-se a abranger qualquer dispositivo de computação, tal como servidor, computador de mesa, laptop/ notebook, porta de dados sem fio, telefone inteligente, assistente de dados pessoais (PDA), tablet, um ou mais processadores dentro desses dispositivos, outro dispositivo de computação ou uma combinação de dispositivos de computação, incluindo instâncias físicas ou virtuais do dispositivo de computação ou uma combinação de instâncias físicas ou virtuais do dispositivo de computação. Além disso, o Computador (1002) pode incluir um dispositivo de entrada, como keypad, teclado, tela sensível ao toque, outro dispositivo de entrada ou uma combinação de dispositivos de entrada que podem aceitar informações do usuário e um dispositivo de saída que transmite informações associadas à operação do Computador (1002), incluindo dados digitais, visuais, áudio, outro tipo de informação ou uma combinação de tipos de informação, em uma interface de usuário de tipo gráfico (UI) (ou GUI) ou outra UI.
[00136] O Computador (1002) pode servir em uma função em um sistema de computação distribuído como cliente, componente de rede, servidor, banco de dados ou outra persistência, outra função ou uma combinação de funções para executar o assunto descrito na presente divulgação. O Computador (1002) ilustrado é acoplado de forma comunicável a uma Rede (1030). Em algumas formas de realização, um ou mais componentes do Computador (1002) podem ser configurados para operar dentro de um ambiente, incluindo computação baseada em nuvem, local, global, outro ambiente ou uma combinação de ambientes.
[00137] Em um nível alto, o Computador (1002) é um dispositivo de computação eletrônica operável para receber, transmitir, processar, armazenar ou gerenciar dados e informações associados ao assunto descrito. De acordo com algumas formas de realização, o Computador (1002) também pode incluir ou ser acoplado de forma comunicável a um servidor, incluindo um servidor de aplicativos, servidor de e-mail, servidor web, servidor de cache, servidor de dados de streaming, outro servidor ou uma combinação de servidores.
[00138] O Computador (1002) pode receber solicitações pela Rede (1030) (por exemplo, de um aplicativo de software de um cliente executando em outro Computador (1002)) e responder às solicitações recebidas processando as solicitações recebidas usando um aplicativo de software ou uma combinação de aplicativos de software. Além disso, as solicitações também podem ser enviadas ao Computador (1002) de usuários internos (por exemplo, de um console de comando ou de outro método de acesso interno), externos ou de terceiros ou outras entidades, indivíduos, sistemas ou computadores.
[00139] Cada um dos componentes do Computador (1002) pode se comunicar usando um barramento do sistema (1003). Em algumas formas de realização, qualquer um ou todos os componentes do computador (1002), incluindo hardware, software ou uma combinação de hardware e software, podem fazer interface com o barramento do sistema (1003) usando uma interface de programação de aplicativos (API) (1012), uma Camada de Serviço (1013) ou uma combinação da API (1012) e Camada de Serviço (1013).
A API (1012) pode incluir especificações para rotinas, estruturas de dados e classes de objetos. A API (1012) pode ser independente ou dependente da linguagem do computador e se referir a uma interface completa, uma única função ou até um conjunto de APIs. A Camada de Serviço (1013) fornece serviços de software para o Computador (1002) ou outros componentes (ilustrados ou não) que estão acoplados de forma comunicável ao Computador
(1002). A funcionalidade do Computador (1002) pode ser acessível a todos os consumidores de serviços que usam a Camada de Serviço (1013). Serviços de software, tal como os fornecidos pela camada de serviço (1013), fornecem funcionalidades definidas e reutilizáveis por meio de uma interface definida. Por exemplo, a interface pode ser um software escrito em JAVA, C++, outra linguagem de computação ou uma combinação de linguagens de computação que fornece dados no formato XML (linguagem de marcação extensível), outro formato ou combinação de formatos. Embora ilustrado como um componente integrado do Computador (1002), formas de realização alternativas podem ilustrar a API (1012) ou a Camada de serviço (1013) como componentes independentes em relação a outros componentes do Computador (1002) ou outros componentes (ilustrados ou não) que são acoplados de forma comunicável para o computador (1002). Além disso, qualquer uma ou todas as partes da API (1012) ou da camada de serviço (1013) podem ser implementadas como filho ou sub-módulo de outro módulo de software, aplicativo corporativo ou módulo de hardware sem sair do escopo da presente divulgação.
[00140] O Computador (1002) inclui uma Interface (1004).
Embora ilustrado como uma única Interface (1004), duas ou mais Interfaces (1004) podem ser usadas de acordo com necessidades, desejos ou formas de realização particulares do Computador (1002). A Interface (1004) é usada pelo Computador (1002) para comunicação com outro sistema de computação (ilustrado ou não) que esteja vinculado comunicativamente à Rede (1030) em um ambiente distribuído. Geralmente, a Interface (1004) é operável para se comunicar com a Rede (1030) e inclui lógica codificada em software, hardware ou uma combinação de software e hardware. Mais especificamente, a Interface (1004) pode incluir software que suporta um ou mais protocolos de comunicação associados a comunicações, de modo que a Rede (1030) ou o hardware da Interface (1004) seja operável para comunicar sinais físicos dentro e fora do
Computador (1002) ilustrado.
[00141] O Computador (1002) inclui um Processador (1005).
Embora ilustrado como um único Processador (1005), dois ou mais processadores (1005) podem ser usados de acordo com necessidades, desejos ou formas de realização particulares do Computador (1002). Geralmente, o Processador (1005) executa instruções e manipula dados para executar as operações do Computador (1002) e quaisquer algoritmos, métodos, funções, processos, fluxos e procedimentos, conforme descrito na presente divulgação.
[00142] O Computador (1002) também inclui um Banco de Dados (1006) que pode armazenar dados para o Computador (1002), outro componente conectado comunicativamente à Rede (1030) (ilustrada ou não), ou uma combinação do Computador (1002) e outro componente. Por exemplo, o Banco de Dados (1006) pode ser um tipo de banco de dados em memória, convencional ou outro tipo de banco de dados que armazena dados consistentes com a presente divulgação. Em algumas formas de realização, o Banco de Dados (1006) pode ser uma combinação de dois ou mais tipos diferentes de banco de dados (por exemplo, um híbrido na memória e banco de dados convencional) de acordo com necessidades, desejos ou formas de realização particulares do Computador (1002) e a funcionalidade descrita. Embora ilustrado como um único banco de dados (1006), dois ou mais bancos de dados de tipos semelhantes ou diferentes podem ser usados de acordo com necessidades, desejos ou formas de realização particulares do computador (1002) e da funcionalidade descrita. Embora o Banco de Dados (1006) seja ilustrado como um componente integral do Computador (1002), em formas de realização alternativas, o Banco de Dados (1006) pode ser externo ao Computador (1002).
Como exemplo, o Banco de Dados (1006) pode incluir o repositório MR (1016) descrito acima que armazena amostras de arrependimento (1026) e repositório MS (1018) que armazena amostras de estratégia de (1028).
[00143] O Computador (1002) também inclui uma Memória (1007) que pode armazenar dados para o Computador (1002), outro componente ou componentes comunicativamente ligados à Rede (1030) (ilustrada ou não), ou uma combinação do Computador (1002) e outro componente. A memória (1007) pode armazenar quaisquer dados consistentes com a presente divulgação. Em algumas formas de realização, a Memória (1007) pode ser uma combinação de dois ou mais tipos diferentes de memória (por exemplo, uma combinação de semicondutor e armazenamento magnético) de acordo com necessidades, desejos ou formas de realização particulares do Computador (1002) e a funcionalidade descrita. Embora ilustrado como uma única memória (1007), duas ou mais memórias (1007) ou tipos semelhantes ou diferentes podem ser usadas de acordo com necessidades, desejos ou formas de realização particulares do computador (1002) e a funcionalidade descrita.
Enquanto a Memória (1007) é ilustrada como um componente integral do Computador (1002), em formas de realização alternativas, a Memória (1007) pode ser externa ao Computador (1002).
[00144] O Aplicativo (1008) é um mecanismo de software algorítmico que fornece funcionalidade de acordo com necessidades, desejos ou formas de realização particulares do Computador (1002), particularmente no que diz respeito à funcionalidade descrita na presente divulgação. Por exemplo, o Aplicativo (1008) pode servir como um ou mais componentes, módulos ou aplicativos. Além disso, embora ilustrado como um único aplicativo (1008), o aplicativo (1008) pode ser implementado como vários aplicativos (1008) no computador (1002). Além disso, embora ilustrado como parte integrante do computador (1002), em formas de realização alternativas, o aplicativo (1008) pode ser externo ao computador (1002)
[00145] O Computador (1002) também pode incluir uma fonte de alimentação (1014). A fonte de alimentação (1014) pode incluir uma bateria recarregável ou não recarregável que pode ser configurada para ser substituível pelo usuário ou não pelo usuário. Em algumas formas de realização, a Fonte de Alimentação (1014) pode incluir circuitos de conversão ou gerenciamento de energia (incluindo recarga, espera ou outra funcionalidade de gerenciamento de energia). Em algumas formas de realização, a Fonte de Alimentação (1014) pode incluir um plugue de energia para permitir que o Computador (1002) seja conectado a uma tomada de parede ou outra fonte de energia para, por exemplo, energizar o Computador (1002) ou recarregar uma bateria recarregável.
[00146] Pode haver qualquer número de computadores (1002) associados ou externos a um sistema de computador contendo o computador (1002), cada computador (1002) se comunicando pela rede (1030).
Além disso, o termo “cliente”, “usuário” ou outra terminologia apropriada pode ser usada de forma intercambiável, conforme apropriado, sem se afastar do escopo da presente divulgação. Além disso, a presente divulgação contempla que muitos usuários podem usar um computador (1002) ou que um usuário pode usar vários computadores (1002).
[00147] A Figura 11 é um diagrama do exemplo de módulos de um aparelho (1100) de acordo com formas de realização deste relatório descritivo. O aparelho (1100) pode ser uma forma de realização exemplificativa de um aparelho de processamento de dados para realizar minimização de arrependimento contrafactual (CRF) para pesquisa estratégica em interação estratégica entre dois ou mais jogadores. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. Como exemplo, o IIG representa um serviço colaborativo de recomendação de serviço ou produto que envolve pelo menos um primeiro e um segundo jogador, tendo o primeiro jogador acesso limitado às informações do segundo jogador. O aparelho (1100) pode corresponder às formas de realização descritas acima, e o aparelho
(1100) inclui o seguinte: um primeiro módulo de identificação (1101) para identificar N1 possíveis ações de um primeiro jogador em um primeiro estado do primeiro jogador; um primeiro módulo de amostragem (1102) para amostrar uma ação possível dentre as N1 possíveis ações no primeiro estado do primeiro jogador com uma primeira probabilidade de amostragem; um segundo módulo de identificação (1103) para identificar N2 possíveis ações do primeiro jogador em um segundo estado do primeiro jogador, em que o primeiro estado do primeiro jogador está mais próximo de um estado inicial do IIG do que o segundo estado do primeiro jogador; um segundo módulo de amostragem (1104) para amostrar uma ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador com uma segunda probabilidade de amostragem, em que a primeira probabilidade de amostragem é menor que a segunda probabilidade de amostragem; e um módulo de processamento (1105) para executar a CRF com base nas possíveis ações fora da N1 possíveis ações no primeiro estado do primeiro jogador e na possível ação fora das N2 possíveis ações no segundo estado do primeiro jogador. Em algumas formas de realização, o primeiro estado do primeiro jogador inclui um histórico de informações fornecido pelo segundo jogador e as N1 possíveis ações do primeiro jogador incluem N1 possíveis ações em resposta ao histórico de informações fornecido pelo segundo jogador para fornecer recomendações de produto ou serviço aos clientes.
[00148] Em uma forma de realização opcional, o módulo de processamento inclui: um primeiro módulo de cálculo para calcular um valor de arrependimento da ação possível dentre as N1 possíveis ações no primeiro estado do primeiro jogador; um segundo módulo de cálculo para calcular um valor de arrependimento da ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador; um primeiro módulo de atualização para atualizar uma primeira estratégia do primeiro jogador no primeiro estado com base no valor de arrependimento da ação possível dentre as ações possíveis da
N1; e um segundo módulo de atualização para atualizar uma segunda estratégia do primeiro jogador no segundo estado, com base no valor de arrependimento da ação possível dentre as N2 possíveis ações.
[00149] Em uma forma de realização opcional, o primeiro módulo de amostragem mostra k1 ações possíveis dentre as N1 possíveis ações no primeiro estado do primeiro jogador, em que cada uma das ações possíveis k1 é amostrada com a mesma primeira probabilidade de amostragem; e o segundo módulo de amostragem mostra ações possíveis de k2 dentre as N2 possíveis ações no segundo estado do primeiro jogador, em que cada uma das ações possíveis de k2 é amostrada com a mesma segunda probabilidade de amostragem.
[00150] Em uma forma de realização opcional, o módulo de processamento executa a CRF com base nas ações possíveis k1 dentre as N1 possíveis ações no primeiro estado do primeiro jogador e as ações possíveis de k2 nas N2 possíveis ações no segundo estado do primeiro jogador.
[00151] Em uma forma de realização opcional, a primeira probabilidade de amostragem é k1/ N1, e a segunda probabilidade de amostragem é k2/ N2.
[00152] Em uma forma de realização opcional, 2<=k1<=N1 e 2<=k2<=N2.
[00153] Em uma forma de realização opcional, k1 = k2.
[00154] Em uma forma de realização opcional, o aparelho (1100) inclui ainda o seguinte: um terceiro módulo de identificação para identificar M1 possíveis ações de um segundo jogador em um primeiro estado do segundo jogador; um terceiro módulo de amostragem para amostrar uma ação possível dentre as M1 possíveis ações no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem; um quarto módulo de identificação para identificar M2 possíveis ações do segundo jogador em um segundo estado do segundo jogador, em que o primeiro estado do segundo jogador está mais próximo de um estado inicial do IIG do que o segundo estado do segundo jogador; e um quarto módulo de amostragem para amostrar uma possível ação dentre as possíveis ações M2 no segundo estado do primeiro jogador com uma quarta probabilidade de amostragem, em que a terceira probabilidade de amostragem é menor que a quarta probabilidade de amostragem.
[00155] Em uma forma de realização opcional, o aparelho (1100) inclui ainda o seguinte: um quinto módulo de identificação para identificar M1 possíveis ações de um segundo jogador em um primeiro estado do segundo jogador, em que o primeiro estado do primeiro jogador está mais próximo de um estado inicial do IIG que o primeiro estado do segundo jogador; e um quinto módulo de amostragem para amostragem de uma ação possível dentre as M1 possíveis ações no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem, em que a terceira probabilidade de amostragem é maior que a primeira probabilidade de amostragem.
[00156] O sistema, aparelho, módulo ou unidade ilustrados nas formas de realização anteriores podem ser implementados usando um chip de computador ou uma entidade, ou podem ser implementados usando um produto com uma determinada função. Um dispositivo de forma de realização típico é um computador e o computador pode ser um computador pessoal, um laptop, um telefone celular, um telefone com câmera, um smartphone, um assistente digital pessoal, um reprodutor de media, um dispositivo de navegação, recebimento e envio de e-mail pelo dispositivo, console de jogos, tablet, dispositivo vestível ou qualquer combinação desses dispositivos.
[00157] Para um processo de forma de realização das funções e papéis de cada módulo no aparelho, podem ser feitas referências a um processo de realização das etapas correspondentes no método anterior. Os detalhes são omitidos aqui para simplificar.
[00158] Como uma forma de realização de aparelho corresponde basicamente a uma forma de realização de método, para partes relacionadas, referências podem ser feitas relacionadas a descrições na forma de realização de método. A forma de realização de aparelho descrita anteriormente é apenas um exemplo. Os módulos descritos como partes separadas podem ou não ser fisicamente separados, e as partes exibidas como módulos podem ou não ser módulos físicos, podem estar localizadas em uma posição ou podem ser distribuídas em vários módulos de rede. Alguns ou todos os módulos podem ser selecionados com base nas demandas reais para atingir os objetivos das soluções da especificação. Uma pessoa comum na técnica pode entender e implementar as formas de realização da presente aplicação sem esforços criativos.
[00159] Referindo novamente a Figura 11, pode ser interpretado como ilustração de um módulo funcional interno e uma estrutura de um aparelho de processamento de dados para executar minimização de arrependimento contrafactual (CRF) para estratégia de busca na interação estratégica entre dois ou mais jogadores. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. Um corpo de execução em essência pode ser um dispositivo eletrônico, e o dispositivo eletrônico inclui o seguinte: um ou mais processadores; e uma memória configurada para armazenar uma instrução executável de um ou mais processadores.
[00160] Um ou mais processadores estão configurados para identificar N1 possíveis ações de um primeiro jogador no primeiro estado do primeiro jogador; amostrar uma ação possível dentre as N1 possíveis ações no primeiro estado do primeiro jogador com uma primeira probabilidade de amostragem; identificar N2 possíveis ações do primeiro jogador em um segundo estado do primeiro jogador, em que o primeiro estado do primeiro jogador está mais próximo de um estado inicial do IIG do que o segundo estado do primeiro jogador; amostrar uma ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador com uma segunda probabilidade de amostragem, em que a primeira probabilidade de amostragem é menor que a segunda probabilidade de amostragem; e executar a CRF com base nas ações possíveis dentre as ações possíveis da N1 no primeiro estado do primeiro jogador e na ação possível dentre as ações possíveis da N2 no segundo estado do primeiro jogador.
[00161] Opcionalmente, um ou mais processadores são configurados para calcular um valor de arrependimento da ação possível dentre as N1 possíveis ações no primeiro estado do primeiro jogador; calcular um valor de arrependimento da ação possível dentre as N2 possíveis ações no segundo estado do primeiro jogador; atualizar uma primeira estratégia do primeiro jogador no primeiro estado com base no valor de arrependimento da ação possível dentre as ações possíveis da N1; e atualizar uma segunda estratégia do primeiro jogador no segundo estado, com base no valor de arrependimento da ação possível dentre as N2 possíveis ações.
[00162] Opcionalmente, um ou mais processadores são configurados para amostrar k1 ações possíveis dentre as N1 possíveis ações no primeiro estado do primeiro jogador, em que cada uma das ações possíveis k1 é amostrada com a mesma primeira probabilidade de amostragem; e amostrar ações possíveis de k2 dentre as N2 possíveis ações no segundo estado do primeiro jogador, em que cada uma das ações possíveis de k2 é amostrada com a mesma segunda probabilidade de amostragem.
[00163] Opcionalmente, um ou mais processadores são configurados para executar CRF com base nas ações possíveis k1 dentre as N1 possíveis ações no primeiro estado do primeiro jogador e ações possíveis de k2 dentre as N2 possíveis ações no segundo estado do primeiro jogador.
[00164] Opcionalmente, a primeira probabilidade de amostragem é k1/ N1 e a segunda probabilidade de amostragem é k2/ N2.
[00165] Opcionalmente, 2<=k1<=N1 e 2<=k2<=N2.
[00166] Opcionalmente, k1 = k2.
[00167] Opcionalmente, um ou mais processadores são configurados para identificar as ações possíveis de M1 de um segundo jogador em um primeiro estado do segundo jogador; amostrar uma ação possível dentre as ações possíveis do M1 no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem; identificar M2 possíveis ações do segundo jogador em um segundo estado do segundo jogador, em que o primeiro estado do segundo jogador está mais próximo de um estado inicial do IIG do que o segundo estado do segundo jogador; e amostrar uma ação possível dentre as ações M2 possíveis no segundo estado do primeiro jogador com uma quarta probabilidade de amostragem, em que a terceira probabilidade de amostragem é menor que a quarta probabilidade de amostragem.
[00168] Opcionalmente, um ou mais processadores são configurados para: identificar M1 possíveis ações de um segundo jogador em um primeiro estado do segundo jogador, em que o primeiro estado do primeiro jogador está mais próximo de um estado inicial do IIG do que o primeiro estado de o segundo jogador; e amostrar uma ação possível dentre as M1 possíveis ações no primeiro estado do segundo jogador com uma terceira probabilidade de amostragem, em que a terceira probabilidade de amostragem é maior que a primeira probabilidade de amostragem.
[00169] A Figura 12 é um diagrama de exemplo de módulos de outro aparelho (1200) de acordo com formas de realização deste relatório descritivo. O aparelho (1200) pode ser uma forma de realização exemplificativa de um aparelho de processamento de dados para realizar minimização de arrependimento contrafactual (CRF) para pesquisa estratégica em interação estratégica entre dois ou mais jogadores.
O aparelho (1200) pode corresponder às formas de realização descritas acima, e o aparelho (1200) inclui o seguinte:
um primeiro módulo de armazenamento (1201) para armazenar um número de amostras de arrependimento em um primeiro armazenamento de dados, em que cada um do número de amostras de arrependimento inclui um estado de jogador e um valor de arrependimento de uma ação possível no estado do jogador, em que o número de amostras de arrependimento é obtido em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual
(CRF) na estratégia de busca em interação estratégica entre o jogador e pelo menos outro jogador; um segundo módulo de armazenamento (1202) para armazenar um número de amostras de estratégia em um segundo armazenamento de dados, em que cada um do número de amostras de estratégia inclui um estado do jogador e um valor de estratégia de uma ação possível no estado do jogador; um primeiro módulo de atualização (1203) para atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma ação possível em um estado do jogador com base no número de amostras de arrependimento no primeiro armazenamento de dados;
e um segundo módulo de atualização (1204) para atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado do jogador com base no número de amostras de estratégia no segundo armazenamento de dados.
Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores.
Como exemplo, o IIG representa um serviço colaborativo de recomendação de serviço ou produto que envolve pelo menos o jogador e um segundo jogador, tendo o jogador acesso limitado às informações do segundo jogador, em que o estado do jogador inclui um histórico de informações fornecido pelo segundo jogador, e em que a ação possível do jogador inclui uma ação possível em resposta ao histórico de informações fornecido pelo segundo jogador para fornecer recomendações de serviço ou produto aos clientes.
[00170] As formas de realização anteriores e outras formas de realização descritas podem, opcionalmente, incluir uma ou mais das seguintes características:
[00171] Em uma forma de realização opcional, o aparelho (1200) inclui ainda o seguinte: um módulo de identificação para identificar um primeiro estado do jogador e uma primeira ação possível no primeiro estado do jogador; um primeiro módulo de previsão para prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado do jogador usando os parâmetros da primeira rede neural; e um segundo módulo de previsão para prever um primeiro valor de estratégia da primeira ação possível no primeiro estado do jogador usando os parâmetros da segunda rede neural.
[00172] Em uma forma de realização opcional, em que o primeiro módulo de armazenamento é capaz de obter uma nova amostra de arrependimento; e armazenar a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório.
[00173] Em uma forma de realização opcional, em que o armazenamento da nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório inclui: determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir um dos números de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
[00174] Em uma forma de realização opcional, em que o algoritmo de CRF inclui um algoritmo de CRF de amostragem robusto.
[00175] Em uma forma de realização opcional, em que o valor de estratégia de uma ação possível no estado do jogador inclui um numerador de uma estratégia média.
[00176] Em uma forma de realização opcional, em que o valor de arrependimento de uma ação possível no estado do jogador inclui um valor de arrependimento contrafactual da ação possível no estado do jogador calculado com base em um valor contrafactual da ação possível no estado do jogador.
[00177] Em uma forma de realização opcional, o aparelho (1200) inclui ainda o seguinte: incluindo ainda: em cada uma das duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de pesquisa em interação estratégica entre o jogador e pelo menos outro jogador, um módulo de amostragem para amostrar uma ação possível dentre várias ações possíveis em um segundo estado de um jogador, de acordo com um esquema de amostragem; um primeiro módulo de cálculo para calcular um valor contrafactual da ação possível no segundo estado do jogador; um segundo módulo de cálculo para calcular um valor de arrependimento da ação possível no segundo estado do jogador com base no valor contrafactual da ação possível no segundo estado do jogador; um terceiro módulo de cálculo para calcular uma estratégia atualizada da ação possível no segundo estado do jogador, com base no valor de arrependimento da ação possível no segundo estado do jogador, de acordo com um algoritmo de correspondência de arrependimento; e um quarto módulo de cálculo para calcular um valor de estratégia da ação possível no segundo estado do jogador com base na estratégia atualizada da ação possível no segundo estado do jogador.
[00178] Em uma forma de realização opcional, o aparelho
(1200) inclui ainda o seguinte: um primeiro módulo de inicialização para inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e um segundo módulo de inicialização para inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
[00179] O sistema, aparelho, módulo ou módulo ilustrado nas formas de realização anteriores podem ser implementados usando um chip de computador ou uma entidade, ou pode ser implementado usando um produto com uma determinada função. Um dispositivo de forma de realização típico é um computador, e o computador pode ser um computador pessoal, um laptop, um telefone celular, um telefone com câmera, um smartphone, um assistente digital pessoal, um reprodutor de media, um dispositivo de navegação, um dispositivo de recebimento e envio de e-mail, console de jogos, tablet, dispositivo vestível ou qualquer combinação desses dispositivos.
[00180] Para um processo de realização das funções e papéis de cada módulo no aparelho, podem ser feitas referências a um processo de realização das etapas correspondentes no método anterior. Os detalhes são omitidos aqui para simplificar.
[00181] Como uma forma de realização de aparelho corresponde basicamente a uma forma de realização de método, para partes relacionadas, podem ser feitas referências a descrições relacionadas na forma de realização de método. A forma de realização de aparelho descrita anteriormente é apenas um exemplo. Os módulos descritos como partes separadas podem ou não ser fisicamente separados, e as partes exibidas como módulos podem ou não ser módulos físicos, podem estar localizadas em uma posição ou podem ser distribuídas em vários módulos de rede. Alguns ou todos os módulos podem ser selecionados com base nas demandas reais para atingir os objetivos das soluções da especificação. Uma pessoa comum na técnica pode entender e implementar as formas de realização do presente aplicativo sem esforços criativos.
[00182] Referindo novamente a Figura 12, pode ser interpretado como ilustração de um módulo funcional interno e uma estrutura de um aparelho de processamento de dados para realizar minimização de arrependimento contrafactual (CRF) para busca de interação estratégica entre dois ou mais jogadores. Um corpo de execução em essência pode ser um dispositivo eletrônico, e o dispositivo eletrônico inclui o seguinte: um ou mais processadores; e uma memória configurada para armazenar uma instrução executável de um ou mais processadores.
[00183] Um ou mais processadores são configurados para armazenar um número de amostras de arrependimento em um primeiro armazenamento de dados, em que cada um do número de amostras de arrependimento inclui um estado de um jogador e um valor de arrependimento de uma ação possível no estado do jogador, em que o número de amostras de arrependimento é obtido em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca na interação estratégica entre o jogador e pelo menos outro jogador; armazenar um número de amostras de estratégia em um segundo armazenamento de dados, em que cada um do número de amostras de estratégia inclui um estado do jogador e um valor de estratégia de uma ação possível no estado do jogador; atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma possível ação em um estado do jogador com base no número de amostras de arrependimento no primeiro armazenamento de dados; e atualizar os parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado do jogador com base no número de amostras de estratégia no segundo armazenamento de dados. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. Como exemplo, o IIG representa um serviço colaborativo de recomendação de serviço ou produto que envolve pelo menos o jogador e um segundo jogador, tendo o jogador acesso limitado às informações do segundo jogador, em que o estado do jogador inclui um histórico de informações fornecido pelo segundo jogador, e em que a ação possível do jogador inclui uma ação possível em resposta ao histórico de informações fornecido pelo segundo jogador para fornecer recomendações de serviço ou produto aos clientes.
[00184] Opcionalmente, um ou mais processadores estão configurados para: identificar um primeiro estado do jogador e uma primeira ação possível no primeiro estado do jogador; prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado do jogador usando os parâmetros da primeira rede neural; e prever um primeiro valor de estratégia da primeira ação possível no primeiro estado do jogador usando os parâmetros da segunda rede neural.
[00185] Opcionalmente, um ou mais processadores estão configurados para: obter uma nova amostra de arrependimento; e armazenar a nova amostra de arrependimento no primeiro armazenamento de dados, de acordo com um algoritmo de amostragem de reservatório.
[00186] Opcionalmente, um ou mais processadores estão configurados para: determinar se o primeiro armazenamento de dados está cheio; e, em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir um número de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
[00187] Opcionalmente, o algoritmo de CRF inclui um algoritmo de CRF de amostragem robusto.
[00188] Opcionalmente, o valor de estratégia de uma ação possível no estado do jogador inclui um numerador de uma estratégia média.
[00189] Opcionalmente, o valor de arrependimento de uma ação possível no estado do jogador inclui um valor de arrependimento contrafactual da ação possível no estado do jogador calculado com base em um valor contrafactual da ação possível no estado do jogador.
[00190] Opcionalmente, um ou mais processadores estão configurados para: em cada uma das duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca em interação estratégica entre o jogador e pelo menos outro jogador, experimente uma ação possível de um número de ações possíveis em um segundo estado de um jogador de acordo com um esquema de amostragem; calcular um valor contrafactual da ação possível no segundo estado do jogador; calcular um valor de arrependimento da ação possível no segundo estado do jogador com base no valor contrafactual da ação possível no segundo estado do jogador; calcular uma estratégia atualizada da ação possível no segundo estado do jogador com base no valor de arrependimento da ação possível no segundo estado do jogador, de acordo com um algoritmo de correspondência de arrependimento; e calcule um valor de estratégia da ação possível no segundo estado do jogador com base na estratégia atualizada da ação possível no segundo estado do jogador.
[00191] Opcionalmente, um ou mais processadores são configurados para inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
[00192] As formas de realização descritas na matéria objeto podem incluir uma ou mais características, isoladamente ou em combinação. Por exemplo, em uma primeira forma de realização, um método implementado por computador para executar a minimização do arrependimento contrafactual
(CRF) para pesquisa de estratégia na interação estratégica entre dois ou mais jogadores. O método inclui: armazenar um número de amostras de arrependimento em um primeiro armazenamento de dados, em que cada um do número de amostras de arrependimento inclui um estado de um jogador e um valor de arrependimento de uma ação possível no estado do jogador, em que o número de amostras de arrependimento é obtido em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca na interação estratégica entre o jogador e pelo menos outro jogador; armazenar um número de amostras de estratégia em um segundo armazenamento de dados, em que cada um do número de amostras de estratégia inclui um estado do jogador e um valor de estratégia de uma ação possível no estado do jogador; atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma ação possível em um estado do jogador com base no número de amostras de arrependimento no primeiro armazenamento de dados; e atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado do jogador com base no número de amostras de estratégia no segundo armazenamento de dados.
[00193] As formas de realização anteriores e outras formas de realização descritas podem, opcionalmente, incluir uma ou mais das seguintes características:
[00194] Uma primeira característica, combinável com qualquer uma das seguintes características, incluindo ainda: identificar um primeiro estado do jogador e uma primeira ação possível no primeiro estado do jogador; prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado do jogador usando os parâmetros da primeira rede neural; e prever um primeiro valor estratégico da primeira ação possível no primeiro estado do jogador usando os parâmetros da segunda rede neural.
[00195] Uma segunda característica, combinável com qualquer uma das seguintes características, incluindo ainda: obter uma nova amostra de arrependimento; e armazenar a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório.
[00196] Uma terceira característica, combinável com qualquer uma das seguintes características, em que o armazenamento da nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório inclui: determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir um dos números de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
[00197] Uma quarta característica, combinada com qualquer uma das seguintes características, em que o algoritmo de CRF inclui um algoritmo de amostragem de CRF robusto.
[00198] Uma quinta característica, combinável com qualquer uma das seguintes características, em que o valor de estratégia de uma ação possível no estado do jogador inclui um numerador de uma estratégia média.
[00199] Uma sexta característica, combinável com qualquer uma das seguintes características, em que o valor de arrependimento de uma ação possível no estado do jogador inclui um valor de arrependimento contrafactual da ação possível no estado do jogador calculado com base em um valor contrafactual da possível ação no estado do jogador.
[00200] Uma sétima característica, combinável com qualquer uma das seguintes características, incluindo ainda: em cada uma das duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca em interação estratégica entre o jogador e pelo menos outro jogador, amostrar uma ação possível dentre várias ações possíveis em um segundo estado de um jogador, de acordo com um esquema de amostragem; calcular um valor contrafactual da ação possível no segundo estado do jogador; calcular um valor de arrependimento da ação possível no segundo estado do jogador com base no valor contrafactual da ação possível no segundo estado do jogador; calcular uma estratégia atualizada da ação possível no segundo estado do jogador com base no valor de arrependimento da ação possível no segundo estado do jogador, de acordo com um algoritmo de correspondência de arrependimento; e calcular um valor de estratégia da ação possível no segundo estado do jogador com base na estratégia atualizada da ação possível no segundo estado do jogador.
[00201] Uma oitava característica, combinável com qualquer uma das seguintes características, incluindo ainda: inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
[00202] Em uma segunda forma de realização, um sistema, incluindo: um ou mais processadores; e uma ou mais memórias legíveis por computador acopladas a um ou mais processadores e com instruções armazenadas nas mesmas que são executáveis por um ou mais processadores para executar o método de qualquer uma da primeira forma de realização e sua combinação opcional de um ou mais recursos descritos acima.
[00203] Em uma terceira forma de realização, um aparelho para realizar minimização contrafactual de arrependimento (CRF) para pesquisa estratégica em interação estratégica envolve dois ou mais jogadores, incluindo: um primeiro módulo de armazenamento para armazenar múltiplas amostras de arrependimento em um primeiro armazenamento de dados, em que cada um dos o número de amostras de arrependimento inclui um estado de um jogador e um valor de arrependimento de uma ação possível no estado do jogador, em que o número de amostras de arrependimento são obtidas em duas ou mais iterações de um algoritmo de minimização contrafactual de arrependimento (CRF) em estratégia de busca em interação estratégica entre o jogador e pelo menos outro jogador; um segundo módulo de armazenamento para armazenar um número de amostras de estratégia em um segundo armazenamento de dados, em que cada um do número de amostras de estratégia inclui um estado do jogador e um valor de estratégia de uma ação possível no estado do jogador; um primeiro módulo de atualização para atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma ação possível em um estado do jogador com base no número de amostras de arrependimento no primeiro armazenamento de dados; e um segundo módulo de atualização para atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado do jogador com base no número de amostras de estratégia no segundo armazenamento de dados. Em algumas formas de realização, a interação estratégica entre dois ou mais jogadores pode ser modelada por um jogo de informações imperfeitas (IIG) que envolve dois ou mais jogadores. Como exemplo, o IIG representa um serviço colaborativo de recomendação de serviço ou produto que envolve pelo menos o jogador e um segundo jogador, tendo o jogador acesso limitado às informações do segundo jogador, em que o estado do jogador inclui um histórico de informações fornecido pelo segundo jogador, e em que a ação possível do jogador inclui uma ação possível em resposta ao histórico de informações fornecido pelo segundo jogador para fornecer recomendações de serviço ou produto aos clientes.
[00204] As formas de realização anteriores e outras formas de realização descritas podem, opcionalmente, incluem uma ou mais das seguintes características:
[00205] Uma primeira característica, combinável com qualquer uma das seguintes características, incluindo ainda: um módulo de identificação para identificar um primeiro estado do jogador e uma primeira ação possível no primeiro estado do jogador; um primeiro módulo de previsão para prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado do jogador usando os parâmetros da primeira rede neural; e um segundo módulo de previsão para prever um primeiro valor de estratégia da primeira ação possível no primeiro estado do jogador usando os parâmetros da segunda rede neural.
[00206] Uma segunda característica, combinável com qualquer uma das seguintes características, em que o primeiro módulo de armazenamento é capaz de obter uma nova amostra de arrependimento; e armazenar a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório.
[00207] Uma terceira característica, combinável com qualquer uma das seguintes características, em que o armazenamento da nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório incluem: determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir um dos números de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
[00208] Uma quarta característica, combinada com qualquer uma das seguintes características, em que o algoritmo de CRF inclui um algoritmo de amostragem de CRF robusto.
[00209] Um quinta característica, combinável com qualquer uma das seguintes características, em que o valor de estratégia de uma ação possível no estado do jogador inclui um numerador de uma estratégia média.
[00210] Uma sexta característica, combinável com qualquer uma das seguintes características, em que o valor de arrependimento de uma ação possível no estado do jogador inclui um valor de arrependimento contrafactual da ação possível no estado do jogador calculado com base em um valor contrafactual da possível ação no estado do jogador.
[00211] Uma sétima característica, combinável com qualquer uma das seguintes características, incluindo ainda: em cada uma das duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de pesquisa em interação estratégica entre o jogador e pelo menos outro jogador, um módulo de amostragem para amostrar uma ação possível dentre várias ações possíveis em um segundo estado de um jogador, de acordo com um esquema de amostragem; um primeiro módulo de cálculo para calcular um valor contrafactual da ação possível no segundo estado do jogador; um segundo módulo de cálculo para calcular um valor de arrependimento da ação possível no segundo estado do jogador com base no valor contrafactual da ação possível no segundo estado do jogador; um terceiro módulo de cálculo para calcular uma estratégia atualizada da ação possível no segundo estado do jogador, com base no valor de arrependimento da ação possível no segundo estado do jogador, de acordo com um algoritmo de correspondência de arrependimento; e um quarto módulo de cálculo para calcular um valor de estratégia da ação possível no segundo estado do jogador com base na estratégia atualizada da ação possível no segundo estado do jogador.
[00212] Uma oitava característica, combinável com qualquer uma das seguintes características, incluindo ainda: um primeiro módulo de inicialização para inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e um segundo módulo de inicialização para inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
[00213] As formas de realização da matéria objeto e as ações e operações descritas neste relatório descritivo podem ser implementadas em circuitos eletrônicos digitais, em software ou firmware de computador tangível, em hardware de computador, incluindo as estruturas divulgadas neste relatório descritivo e seus equivalentes estruturais ou em combinações de um ou mais deles. As formas de realização da matéria objeto neste relatório descritivo podem ser implementadas como um ou mais programas de computador, por exemplo, um ou mais módulos de instruções de programas de computador, codificados em um suporte de programa de computador, para execução por, ou para controlar a operação de, aparelhos de processamento de dados. Por exemplo, um veículo de programa de computador pode incluir uma ou mais mídias de armazenamento legíveis por computador que possuem instruções codificadas ou armazenadas nela. O veículo pode ser um meio legível por computador não transitório tangível, como um disco magnético, magneto-óptico ou disco óptico, uma unidade de estado sólido, um acesso de memória aleatório (RAM), uma memória só de leitura (ROM), ou outra tipos de mídia. Alternativamente, ou além disso, o veículo pode gerar um sinal propagado artificialmente, por exemplo, um sinal elétrico, óptico ou eletromagnético que é gerado para codificar informações para transmissão a um aparelho receptor adequado para execução por um aparelho de processamento de dados. O meio de armazenamento do computador pode ser ou fazer parte de um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória de acesso aleatório ou série ou uma combinação de um ou mais deles. Um meio de armazenamento de computador não é um sinal propagado.
[00214] Um programa de computador, que também pode ser referido ou descrito como programa, software, aplicativo de software, aplicativo, módulo, módulo de software, mecanismo, script ou código, pode ser escrito em qualquer forma de linguagem de programação, incluindo idiomas compilados ou interpretados ou idiomas declarativos ou processuais; e pode ser implantado de qualquer forma, inclusive como um programa independente ou como um módulo, componente, mecanismo, sub-rotina ou outra unidade adequada para execução em um ambiente de computação, ambiente que pode incluir um ou mais computadores interconectados por dados de rede de comunicação em um ou mais locais.
[00215] Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos. Um programa de computador pode ser armazenado em uma parte de um arquivo que contém outros programas ou dados, por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação, em um único arquivo dedicado ao programa em questão ou em vários arquivos coordenados, por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou partes do código.
[00216] Os processadores para execução de um programa de computador incluem, a título de exemplo, microprocessadores de uso geral e especial e qualquer um ou mais processadores de qualquer tipo de computador digital. Geralmente, um processador receberá as instruções do programa de computador para execução, bem como dados de um meio legível por computador não transitório acoplado ao processador.
[00217] O termo “aparelho de processamento de dados” engloba todos os tipos de aparelhos, dispositivos e máquinas para o processamento de dados, incluindo a título de exemplo, um processador programável, um computador, ou múltiplos processadores ou computadores. Os aparelhos de processamento de dados podem incluir circuitos lógicos para fins especiais, por exemplo, um FPGA (matriz de portas programável em campo), um ASIC (circuito integrado específico da aplicação) ou uma GPU (unidade de processamento gráfico). O aparelho também pode incluir, além do hardware, código que cria um ambiente de execução para programas de computador, por exemplo, código que constitui o firmware do processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional ou uma combinação de um ou mais eles.
[00218] Os processos e fluxos lógicos descritos neste relatório descritivo podem ser executados por um ou mais computadores ou processadores executando um ou mais programas de computador para executar operações, operando com dados de entrada e gerando saída. Os processos e fluxos lógicos também podem ser executados por circuitos lógicos para fins especiais, por exemplo, um FPGA, um ASIC ou um GPU, ou por uma combinação de circuitos lógicos para fins especiais e um ou mais computadores programados.
[00219] Os computadores adequados para a execução de um programa de computador podem basear-se em microprocessadores para fins gerais ou especiais ou em ambos, ou em qualquer outro tipo de unidade central de processamento. Geralmente, uma unidade central de processamento receberá instruções e dados de uma memória somente leitura ou de uma memória de acesso aleatório ou de ambas. Os elementos de um computador podem incluir uma unidade central de processamento para executar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. A unidade central de processamento e a memória podem ser complementadas por, ou incorporadas em, circuitos lógicos para fins especiais.
[00220] Geralmente, um computador também inclui ou é acoplado operacionalmente para receber dados ou transferir dados para um ou mais dispositivos de armazenamento. Os dispositivos de armazenamento podem ser, por exemplo, discos magnéticos, magneto ópticos ou ópticos, unidades de estado sólido ou qualquer outro tipo de mídia não transitória legível por computador. No entanto, um computador não precisa desses dispositivos.
Assim, um computador pode ser acoplado a um ou mais dispositivos de armazenamento, como uma ou mais memórias locais e/ ou remotas. Por exemplo, um computador pode incluir uma ou mais memórias locais que são componentes integrais do computador ou o computador pode ser acoplado a uma ou mais memórias remotas que estão em uma rede em nuvem. Além disso, um computador pode ser incorporado em outro dispositivo, por exemplo, um telefone celular, um assistente digital pessoal (PDA), um reprodutor de áudio ou vídeo móvel, um console de jogos, um receptor de sistema de posicionamento global (GPS) ou um dispositivo de armazenamento portátil, por exemplo, uma unidade flash USB (Universal Serial Bus), para citar apenas alguns.
[00221] Os componentes podem ser “acoplados a” um ao outro, sendo comutativamente tal como eletricamente ou opticamente ligado um ao outro, quer diretamente ou através de um ou mais componentes intermediários. Os componentes também podem ser “acoplados a” um ao outro se um dos componentes estiver integrado no outro. Por exemplo, um componente de armazenamento integrado a um processador (por exemplo, um componente de cache L2) é “acoplado” ao processador.
[00222] Para proporcionar interação com um usuário, as formas de realização do objeto descritos neste relatório descritivo podem ser implementadas ou configuradas para se comunicar com um computador com um dispositivo de exibição, por exemplo, um monitor LCD (display de cristal líquido), para exibir informações ao usuário e um dispositivo de entrada pelo qual o usuário pode fornecer entrada ao computador, por exemplo, um teclado e um dispositivo apontador, por exemplo, um mouse, um trackball ou touchpad. Outros tipos de dispositivos também podem ser usados para fornecer interação com o usuário; por exemplo, o feedback fornecido ao usuário pode ser qualquer forma de feedback sensorial, por exemplo, feedback visual, feedback auditivo ou feedback tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo entrada acústica, de fala ou tátil. Além disso, um computador pode interagir com um usuário enviando e recebendo documentos de um dispositivo usado pelo usuário; por exemplo, enviando páginas da web para um navegador da web no dispositivo de um usuário em resposta a solicitações recebidas do navegador da web ou interagindo com um aplicativo em execução no dispositivo do usuário, por exemplo, um smartphone ou tablet eletrônico. Além disso, um computador pode interagir com um usuário enviando mensagens de texto ou outras formas de mensagem para um dispositivo pessoal, por exemplo, um smartphone que esteja executando um aplicativo de mensagens e recebendo mensagens responsivas do usuário em troca.
[00223] Este relatório descritivo usa o termo “configurado para” em conexão com sistemas, aparelhos e componentes de programas de computador. Para que um sistema de um ou mais computadores seja configurado para executar operações ou ações específicas, significa que o sistema instalou nele software, firmware, hardware ou uma combinação deles que em operação faz com que o sistema execute as operações ou ações. Para que um ou mais programas de computador sejam configurados para executar operações ou ações específicas, significa que um ou mais programas incluem instruções que, quando executadas por um aparelho de processamento de dados, fazem com que o aparelho execute as operações ou ações. Para que o circuito lógico de finalidade especial seja configurado para executar operações ou ações específicas, significa que o circuito possui lógica eletrônica que executa as operações ou ações.
[00224] Embora este relatório descritivo contenha muitos detalhes específicos da forma de realização, eles não devem ser interpretados como limitações no escopo do que está sendo reivindicado, definido pelas próprias reivindicações, mas como descrições de recursos que podem ser específicos para as formas de realização particulares. Certas características que são descritas neste relatório descritivo no contexto de formas de realização separadas também podem ser realizadas em combinação em uma única forma de realização. Por outro lado, várias características que são descritas no contexto de uma única forma de realização também podem ser realizadas em várias formas de realização separadamente ou em qualquer sub combinação adequada. Além disso, embora os recursos possam ser descritos acima como agindo em certas combinações e até mesmo inicialmente reivindicados como tal, um ou mais recursos de uma combinação reivindicada podem, em alguns casos, ser excluídos da combinação, e a reivindicação pode ser direcionada a uma sub combinação ou variação de uma sub combinação.
[00225] Da mesma forma, embora as operações sejam representadas nos desenhos e recitadas nas reivindicações em uma ordem específica, isso não deve ser entendido como exigindo que tais operações sejam executadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam executadas para alcançar resultados desejáveis. Em certas circunstâncias, o processamento multitarefa e paralelo pode ser vantajoso. Além disso, a separação de vários módulos e componentes do sistema nas formas de realização descritas acima não deve ser entendida como exigindo essa separação em todas as formas de realização, e deve ser entendido que os componentes e sistemas descritos no programa geralmente podem ser integrados juntos em um único software produto ou empacotado em vários produtos de software.
[00226] As formas de realização particulares da matéria objeto foram descritas. Outras formas de realização estão dentro do escopo das reivindicações a seguir. Por exemplo, as ações citadas nas reivindicações podem ser executadas em uma ordem diferente e ainda alcançar resultados desejáveis. Como um exemplo, os processos representados nas figuras anexas não requerem necessariamente a ordem específica mostrada, ou ordem sequencial, para alcançar resultados desejáveis.
Em alguns casos, multitarefa e processamento paralelo podem ser vantajosos.

Claims (20)

REIVINDICAÇÕES
1. MÉTODO IMPLEMENTADO POR COMPUTADOR para executar a minimização do arrependimento contrafactual (CRF) para pesquisa estratégica em interação estratégica entre duas ou mais partes, caracterizado pelo método compreender: - armazenar uma pluralidade de amostras de arrependimento em um primeiro armazenamento de dados, em que cada uma da pluralidade de amostras de arrependimento compreende um estado de uma parte e um valor de arrependimento de uma ação possível no estado da parte, em que a pluralidade de amostras de arrependimento é obtida em duas ou mais iterações de um algoritmo de minimização do arrependimento contrafactual (CRF) na pesquisa de estratégia na interação estratégica entre a parte e pelo menos outra parte; - armazenar uma pluralidade de amostras de estratégia em um segundo armazenamento de dados, em que cada uma da pluralidade de amostras de estratégia compreende um estado da parte e um valor de estratégia de uma ação possível no estado da parte; atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma possível ação em um estado da parte com base na pluralidade de amostras de arrependimento no primeiro armazenamento de dados; e - atualizar os parâmetros de uma segunda rede neural para prever um valor de estratégia de uma possível ação em um estado da parte com base na pluralidade de amostras de estratégia no segundo armazenamento de dados.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender ainda: - identificar um primeiro estado da parte e uma primeira ação possível no primeiro estado da parte; - prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado da parte usando os parâmetros da primeira rede neural; e - prever um primeiro valor de estratégia da primeira ação possível no primeiro estado da parte usando os parâmetros da segunda rede neural.
3. MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender ainda: - obter uma nova amostra de arrependimento; e - armazenar a nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório.
4. MÉTODO, de acordo com a reivindicação 3, caracterizado pelo armazenamento da nova amostra de arrependimento no primeiro armazenamento de dados de acordo com um algoritmo de amostragem de reservatório compreender: - determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir uma dentre a pluralidade de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
5. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo algoritmo de CRF compreender um algoritmo de CRF de amostragem robusto.
6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo valor de estratégia de uma ação possível no estado da parte compreender um numerador de uma estratégia média.
7. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo valor de arrependimento de uma possível ação no estado da parte compreender um valor de arrependimento contrafactual da ação possível no estado da parte calculado com base em um valor contrafactual da possível ação no estado da festa.
8. MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender ainda: em cada uma das duas ou mais iterações de um algoritmo de minimização do arrependimento contrafactual (CRF) na pesquisa de estratégia na interação estratégica entre a parte e a pelo menos outra parte, - amostragem de uma ação possível dentre uma pluralidade de ações possíveis em um segundo estado de uma parte de acordo com um esquema de amostragem; - calcular um valor contrafactual da ação possível no segundo estado da parte; - calcular um valor de arrependimento da ação possível no segundo estado da parte com base no valor contrafactual da ação possível no segundo estado da parte; - calcular uma estratégia atualizada da ação possível no segundo estado da parte com base no valor de arrependimento da ação possível no segundo estado da parte de acordo com um algoritmo de correspondência de arrependimento; e - calcular um valor de estratégia da ação possível no segundo estado da parte com base na estratégia atualizada da ação possível no segundo estado da parte.
9. MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender ainda:
- inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e - inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
10. APARELHO PARA A REALIZAÇÃO DE MINIMIZAÇÃO DE ARREPENDIMENTO CONTRAFACTUAL (CRF) para pesquisa de estratégia em interação estratégica entre duas ou mais partes, caracterizado por compreender: - um primeiro módulo de armazenamento para armazenar uma pluralidade de amostras de arrependimento em um primeiro armazenamento de dados, em que cada uma da pluralidade de amostras de arrependimento compreende um estado de uma parte e um valor de arrependimento de uma ação possível no estado da parte, em que a pluralidade de amostras de arrependimento são obtidas em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na pesquisa de estratégia em interação estratégica entre a parte e pelo menos outra parte; - um segundo módulo de armazenamento para armazenar uma pluralidade de amostras de estratégia em um segundo armazenamento de dados, em que cada uma da pluralidade de amostras de estratégia compreende um estado da parte e um valor de estratégia de uma ação possível no estado da parte; - um primeiro módulo de atualização para atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma possível ação em um estado da parte com base na pluralidade de amostras de arrependimento no primeiro armazenamento de dados; e - um segundo módulo de atualização para atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado da parte com base na pluralidade de amostras de estratégia no segundo armazenamento de dados.
11. APARELHO, de acordo com a reivindicação 10, caracterizado por compreender ainda: - um módulo para identificar um primeiro estado da parte e uma primeira ação possível no primeiro estado parte; - um primeiro módulo de previsão para prever um primeiro valor de arrependimento da primeira ação possível no primeiro estado da parte usando os parâmetros da primeira rede neural; e - um segundo módulo de previsão para prever um primeiro valor de estratégia da primeira ação possível no primeiro estado da parte usando os parâmetros da segunda rede neural.
12. APARELHO, de acordo com a reivindicação 10, caracterizado pelo primeiro módulo de armazenamento ser capaz de obter uma nova amostra de arrependimento; e armazenar a nova amostra de arrependimento no primeiro reservatório de dados de acordo com um algoritmo de amostragem reservatório.
13. APARELHO, de acordo com a reivindicação 12, caracterizado pelo armazenamento da nova amostra de arrependimento no primeiro armazenador de dados de acordo com um algoritmo de amostragem reservatório compreender: - determinar se o primeiro armazenamento de dados está cheio; e em resposta à determinação de que o primeiro armazenamento de dados está cheio, substituir uma dentre a pluralidade de amostras de arrependimento no primeiro armazenamento de dados pela nova amostra de arrependimento.
14. APARELHO, de acordo com a reivindicação 10, caracterizado pelo algoritmo de CRF compreender um algoritmo de amostragem de CRF robusto.
15. APARELHO, de acordo com a reivindicação 10, caracterizado pelo valor de estratégia de uma possível ação no estado da parte compreender um numerador de uma estratégia média.
16. APARELHO, de acordo com a reivindicação 10, caracterizado pelo valor de arrependimento de uma possível ação no estado da parte compreender um valor de arrependimento contrafactual de ação possível no estado da parte calculado com base em um valor contrafactual de ação possível no estado da parte.
17. APARELHO, de acordo com a reivindicação 10, caracterizado por compreender ainda: em cada uma das duas ou mais iterações de um algoritmo de minimização do arrependimento contrafactual (CRF) na pesquisa de estratégia na interação estratégica entre a parte e a pelo menos outra parte, - uma amostragem modular para a amostragem de uma possível ação de uma pluralidade de possíveis ações em um segundo estado de uma parte de acordo com um esquema de amostragem; - um primeiro módulo de cálculo para calcular um valor contrafactual da ação possível no segundo estado da parte; - um segundo módulo de cálculo para calcular um valor de arrependimento da ação possível no segundo estado da parte com base no valor contrafactual da ação possível no segundo estado da parte; - um terceiro módulo de cálculo para calcular uma estratégia atualizada da ação possível no segundo estado da parte com base no valor de arrependimento da ação possível no segundo estado da parte de acordo com um algoritmo de correspondência de arrependimento; e - um quarto módulo de cálculo para calcular um valor estratégico da ação possível no segundo estado da parte com base na estratégia atualizada da ação possível no segundo estado da parte.
18. APARELHO, de acordo com a reivindicação 10, caracterizado por compreender ainda: - um primeiro módulo de inicialização para inicializar os parâmetros da primeira rede neural com base nos parâmetros da primeira rede neural em uma iteração anterior; e - um segundo módulo de inicialização para inicializar os parâmetros da segunda rede neural com base nos parâmetros da segunda rede neural em uma iteração anterior.
19. SISTEMA, caracterizado por compreender: - um ou mais processadores; e - uma ou mais memórias legíveis por computador acopladas a um ou mais processadores e com instruções armazenadas nas mesmas que são executáveis por um ou mais processadores para executar o método, conforme definido em qualquer uma das reivindicações 1 a 9.
20. MÉTODO IMPLEMENTADO POR COMPUTADOR para executar a minimização do arrependimento contrafactual (CRF) para resolver um jogo de informações imperfeito (IIG) que envolve duas ou mais partes, caracterizado pelo método compreender: - armazenar uma pluralidade de amostras de arrependimento em um primeiro armazenamento de dados, em que cada uma da pluralidade de amostras de arrependimento compreende um estado de uma parte e um valor de arrependimento de uma ação possível no estado da parte, em que a pluralidade de amostras de arrependimento é obtida em duas ou mais iterações de um algoritmo de minimização de arrependimento contrafactual (CRF) na estratégia de busca em interação estratégica, em que o IIG representa um serviço de recomendação de serviço ou produto colaborativo que envolve pelo menos a parte e uma segunda parte, a parte tendo acesso limitado a informações da segunda parte, em que o estado da parte compreende um histórico de informações fornecido pela segunda parte e em que a ação possível da parte compreende uma possível ação em resposta ao histórico de informações fornecido pela segunda parte para fornecer recomendações de serviço ou produto aos clientes;
- armazenar uma pluralidade de amostras de estratégia em um segundo armazenamento de dados, em que cada uma da pluralidade de amostras de estratégia compreende um estado da parte e um valor de estratégia de uma ação possível no estado da parte;
- atualizar parâmetros de uma primeira rede neural para prever um valor de arrependimento de uma possível ação em um estado da parte com base na pluralidade de amostras de arrependimento no primeiro armazenamento de dados; e
- atualizar parâmetros de uma segunda rede neural para prever um valor de estratégia de uma ação possível em um estado da parte com base na pluralidade de amostras de estratégia no segundo armazenamento de dados.
BR112019022542-0A 2019-01-17 2019-01-17 métodos implementado por computador, aparelho para a realização de minimização de arrependimento contrafactual e sistema BR112019022542A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/072204 WO2020147075A1 (en) 2019-01-17 2019-01-17 Strategy searching in strategic interaction between parties

Publications (1)

Publication Number Publication Date
BR112019022542A2 true BR112019022542A2 (pt) 2021-07-27

Family

ID=70973020

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019022542-0A BR112019022542A2 (pt) 2019-01-17 2019-01-17 métodos implementado por computador, aparelho para a realização de minimização de arrependimento contrafactual e sistema

Country Status (15)

Country Link
US (1) US10679125B1 (pt)
EP (1) EP3704647A1 (pt)
JP (1) JP7219228B2 (pt)
KR (1) KR102133143B1 (pt)
CN (1) CN112292701A (pt)
AU (1) AU2019257474A1 (pt)
BR (1) BR112019022542A2 (pt)
CA (1) CA3059744C (pt)
MX (1) MX2019012664A (pt)
MY (1) MY196331A (pt)
PH (1) PH12019502465B1 (pt)
RU (1) RU2743626C1 (pt)
SG (1) SG11201910110QA (pt)
WO (1) WO2020147075A1 (pt)
ZA (1) ZA201907104B (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020191338A1 (en) * 2019-03-20 2020-09-24 Celo Labs Inc. Resource stabilization in a distributed network
SG11202010721QA (en) * 2019-12-12 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Determining action selection policies of execution device
KR102579203B1 (ko) * 2019-12-31 2023-09-15 한국전자통신연구원 게임 결과 예측 장치 및 방법
SG11202102364YA (en) 2020-04-02 2021-04-29 Alipay Hangzhou Inf Tech Co Ltd Determining action selection policies of an execution device
CN112801305B (zh) * 2021-03-19 2021-07-16 腾讯科技(深圳)有限公司 应对策略预测处理方法、装置、计算机设备和存储介质
CN113689001B (zh) * 2021-08-30 2023-12-05 浙江大学 一种基于反事实遗憾最小化的虚拟自我对弈方法和装置
CN114580642B (zh) * 2022-03-17 2023-04-07 中国科学院自动化研究所 构建博弈ai模型和数据处理的方法、装置、设备及介质
CN115017677B (zh) * 2022-04-27 2023-07-25 中国人民解放军军事科学院战略评估咨询中心 一种面向推演仿真的行动策略预判方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185719A (ja) * 1997-09-03 1999-03-30 Matsushita Electric Ind Co Ltd パラメータ推定装置
RU2459254C2 (ru) * 2007-04-27 2012-08-20 Сименс Акциенгезелльшафт Способ компьютеризованного обучения одной или более нейронных сетей
US20140039913A1 (en) * 2012-07-31 2014-02-06 Tuomas W. Sandholm Medical treatment planning via sequential games
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

Also Published As

Publication number Publication date
MY196331A (en) 2023-03-24
EP3704647A4 (en) 2020-09-09
CA3059744A1 (en) 2020-07-17
MX2019012664A (es) 2021-08-20
ZA201907104B (en) 2022-02-23
WO2020147075A1 (en) 2020-07-23
US10679125B1 (en) 2020-06-09
RU2743626C1 (ru) 2021-02-20
SG11201910110QA (en) 2020-08-28
KR102133143B1 (ko) 2020-07-13
AU2019257474A1 (en) 2020-08-06
CN112292701A (zh) 2021-01-29
PH12019502465A1 (en) 2020-09-28
CA3059744C (en) 2021-08-17
JP7219228B2 (ja) 2023-02-07
EP3704647A1 (en) 2020-09-09
JP2021509492A (ja) 2021-03-25
PH12019502465B1 (en) 2020-09-28

Similar Documents

Publication Publication Date Title
BR112019022542A2 (pt) métodos implementado por computador, aparelho para a realização de minimização de arrependimento contrafactual e sistema
WO2020143847A2 (en) Determining action selection policies of an execution device
AU2019422026C1 (en) Sampling schemes for strategy searching in strategic interaction between parties
WO2020227958A1 (en) Determining action selection policies of execution device
US20210311777A1 (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
WO2020098823A2 (en) Determining action selection policies of an execution device
US20220180254A1 (en) Learning robust predictors using game theory
US11077368B2 (en) Determining action selection policies of an execution device

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2757 DE 07-11-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.