A percepção humana, em geral, parece se dar através da observação do mundo e da geração de abstrações do mesmo. O que se busca fazer é construir modelos, sejam eles modelos mentais ou definidos através de algum tipo de linguagem, para representar e analisar os problemas. Linguagens naturais, tais como português e inglês, podem ser utilizadas neste intuito, contudo pelo seu caráter às vezes ambíguo ou impreciso podem tornar as observações inadequadas ou errôneas. Na tentativa de evitar estes tipos de problemas procura-se utilizar algum tipo de formalismo que seja mais simples e claro o suficiente para representar o problema. Uma das abordagens utilizadas é a construção de modelos matemáticos onde se procura ter um rigor formal maior. Assim, os problemas são definidos e interpretados à ótica de uma maior precisão semântica.
O termo jogo tem sido utilizado como uma metáfora em diversas áreas do conhecimento para modelar situações onde agentes (jogadores) interagem em ambientes compartilhados para a realização de seus objetivos sejam eles individuais ou coletivos. Diversos modelos para jogos têm sido propostos por diferentes áreas do conhecimento, tais como matemática, ciência da computação, ciência política e social, entre outras. Dentre as diversas formas de modelar jogos, neste trabalho apresentamos algumas abordagens: a Teoria dos Jogos; as lógicas para Jogos; e seus algoritmos em computação.
A Teoria dos Jogos (OR94) tem como marco principal a publicação do livro de von Neumann e Morgenstern, Theory of Games and Economic
Be-havior(1944) (NM44), onde buscou-se utilizar o rigor matemático para
esta-belecer critérios de racionalidade aos agentes que interagem em um ambiente comum na busca por certos objetivos individuais ou coletivos.
Naquela época a utilização da matemática não era amplamente aceita na economia, e, na verdade, era muita controversa. Nesta publicação, discutiu-se e comparou-se a economia a outras ciências com respeito à utilização da ma-temática. Para von Neumann e Morgenstern tais ciências jamais teriam obtido o grau de desenvolvimento à época sem o uso da matemática, ressaltando que esta evolução se deu de forma lenta e gradual através da contribuição de vários
trabalhos ao longo dos anos. Assim, para os autores o mesmo poderia ser reali-zado para a economia levando-se em consideração o sucesso das outras ciências e ressaltando-se, também, que não existiria um motivo para crer que haveria um caminho mais curto ao desenvolvimento da Teoria dos Jogos. Este processo deveria ser feito de forma evolutiva, onde os modelos seriam descritos e aper-feiçoados durante o passar dos anos. O que se pretendia, aparentemente, nesta publicação era iniciar uma Teoria dos Jogos, sem necessariamente ter objeti-vos imediatos de modelar e interpretar o comportamento humano e econômico como um todo.
O que von Neumann e Morgenstern pareciam acreditar na época, de fato, vem se comprovando. A Teoria dos Jogos evoluiu e a cada passo foram criados novos conceitos que a tornaram mais próxima dos problemas reais. Esta abordagem obteve relativo sucesso e tem sido empregada em diversas áreas do conhecimento, a exemplo de economia, relações internacionais e até mesmo de biologia. O prêmio Nobel de economia já foi concedido em duas oportunidades aos pesquisadores da área de Teoria dos Jogos: John C. Harsanyi, John F. Nash Jr. e Reinhard Selten em 1994; Robert J. Aumann e Thomas C. Schelling em 2005.
Esta área procura utilizar-se do rigor matemático na descrição dos seus problemas e na forma de interpretar o comportamento de seus agentes, partindo do princípio que os jogadores são racionais, na medida em que, ao tomarem suas decisões eles estão tentando maximizar seus objetivos levando em consideração que os outros jogadores também estão. A partir desta ótica são criados modelos matemáticos que tentam abstrair características comuns a determinados tipos de interações entre os agentes, tais como jogos estratégicos, extensivos e coalizões. Criando-se conceitos e provas matemáticas do que seriam as análises, ou seja, o que se está interessado em observar de cada tipo de problema, tais como os conceitos de equilíbrio de Nash, de subjogo perfeito e core.
Por outro lado, recentemente, diversas linguagens lógicas têm sido utili-zadas para descrever e analisar jogos de uma forma qualitativa ao invés de uma análise basicamente quantitativa, como no caso da Teoria dos Jogos. Como é de se esperar, estas lógicas tem uma forte relação com a Teoria dos Jogos.
Como crenças e conhecimentos acerca do comportamento dos jogadores são aspectos fundamentais da Teoria dos Jogos, lógicas epistêmicas foram as primeiras a serem utilizadas (BK01, BA95).
Lógicas temporais também são utilizadas, como em (Bon01), onde o conceito de equilíbrio de subjogo perfeito é descrito como um caso particular da definição de prediction.
Em (vB03), o resultado de que todo jogo extensivo finito entre dois jogadores possui uma estratégia ganhadora para um dos jogadores (Zer13) é definido como uma fórmula em µ − calculus.
Coalition Logic (CL) (Pau01) é uma lógica para raciocinar sobre grupos
de agentes. O operador modal [C]α formaliza a idéia de que um grupo de agentes C toma decisões tal que α vale independente das decisões dos outros agentes. Basicamente os modelos de CL são, essencialmente, jogos extensivos com informação quase perfeita, onde cada perfil de ações é associado a um novo estado, o resultado do jogo.
Assim como CL, Alternating-time Temporal Logic (ATL) (AHK02) é uma lógica para raciocinar sobre grupos de agentes. A lógica ATL é uma extensão da lógica temporal de tempo ramificado Computation Tree Logic (CTL) (CE81), cujos os operadores temporais são parametrizados por um conjunto de agentes. Em (Gor01), é demonstrado que a lógica CL é um fragmento de ATL. Uma extensão com operadores epistêmicos da lógica ATL é apresentado em ATEL (vdHW03).
Counterfactual ATL (CATL) (vdHJW05) é uma outra extensão da lógica
ATL que possui operadores modais Ci(σ, α)que podem ser lidos como se fosse o caso do jogador i escolher a estratégia σ, então α valerá. Para exemplificar este
operador, considere o exemplo “se Napoleão tivesse ganho a guerra, então todos nós falaríamos francês”. Com estes operadores é demonstrado como representar o conceito de equilíbrio de Nash.
Em (HvdHMW00, HMvdHW03), a lógica Propositional Dynamic Logic (PDL) é utilizada para representar jogos extensivos com informação perfeita e também caracterizar os conceitos de soluções de equilíbrio de Nash e equilíbrio de subjogo perfeito através de fórmulas de PDL.
A lógica Coalitional Game Logic (CGL) (ÅWvdH06) utiliza operadores para representar as relações de preferências dos jogadores, assim como opera-dores para raciocinar sobre grupos de agentes, onde os modelos são jogos de coalizão sem utilidades transferíveis. Os conceitos de soluções core, stable sets e bargaining set são definidos em CGL. Em (ÅWvdH06) é demonstrado que não existe uma forma direta de mapear os modelos de CGL aos modelos de ATL, preservando a relação de satisfação.
Para uma boa referência sobre lógica modal e Teoria dos Jogos veja (Bon02). Para mais detalhes sobre problemas em abertos entre lógicas e jogos veja (vB05). Contudo, uma observação se faz necessária: existem diversas lógicas cujas semânticas são apresentadas através de jogos, todavia, esta abordagem foge ao escopo desta tese.
Do ponto de vista prático costuma-se abordar lógicas a partir de duas
técnicas: a verificação de modelos (model checking) (CGP99); e provas au-tomáticas de teoremas (automated theorem proving) (Fit96). Neste trabalho tratamos apenas de verificação de modelos.
A técnica de verificação de modelos (model checking) (CGP99) é freqüen-temente aplicada na ciência da computação para a validação de software e
hard-ware (BCL91). Esta técnica consiste na verificação (automática) de
proprie-dades acerca do comportamento de sistemas. Diversas implementações estão disponíveis na literatura, tais como o Symbolic Model Verifier (SMV) (McM93) e o SPIN (Hol97). Alguns outros também incluem características especifi-cas na sua modelagem: UPPAAL (BLL+95) trata de tempo-real; HYTECH
(HHWT95) de autômatos híbridos; e o PRISM (Par02) de autômatos estocás-ticos. Recentemente, a verificação de modelos vem sendo empregada na verifica-ção de propriedades de jogos (Vas03, BSWZ01, vOvdHW04, vdHW02, KP04). O propósito deste trabalho é propor uma lógica modal de primeira-ordem baseada na lógica CTL, chamada Game Analysis Logic (GAL), para raciocinar sobre jogos. Esta lógica modal de tempo ramificado difere das lógicas citadas acima por apresentar características de primeira-ordem podendo representar, assim, diversos tipos de funções e predicados, tais como as funções de utilidades e as relações de preferências, que são aspectos importantes em Teoria dos Jogos com análise quantitativa.
Em (VHPB04, VHB05), ilustramos nossa abordagem mostrando que GAL é capaz de expressar os modelos cooperativos e não-cooperativos da Teoria dos Jogos, assim como os seus principais conceitos de soluções. Pre-cisamente, especificamos jogos estratégicos, jogos extensivos com informação perfeita, e jogo de coalizão com utilidades transferíveis como estruturas de GAL. Também expressamos os seus principais conceitos de soluções, que são equilíbrio de Nash, equilíbrio de subjogo perfeito e core, respectivamente, como fórmulas de GAL. A figura 1.1 abaixo resume o relacionamento entre a Teoria dos Jogos e a lógica GAL.
Conceito de Solução
=
⇒
Fórmula de GALJogo
=
⇒
Modelo de GALFigura 1.1: Relacionamento entre a Teoria dos Jogos e GAL.
Afirmamos que GAL pode definir jogos de uma maneira mais fácil e
intuitiva. Para ilustrar isto, consideramos soluções alternativas para jogos extensivos e jogos de coalizão. Representamos também outros tipos de jogos de coalizão, quando consideramos uma seqüência ou uma árvore de jogos de coalizão.
Os operadores modais de ATL e GAL são semelhantes, pois ambas as lógicas são baseadas na lógica CTL. Contudo, os operadores de ATL são parametrizados por um conjunto de jogadores. Na seção 7.1, demonstramos que esta parametrização pode ser embutida em GAL utilizando as características de primeira-ordem de GAL.
Neste trabalho, apresentamos um algoritmo para verificação de mode-los de GAL com a finalidade de demonstrar como GAL pode ser utilizada na prática para analisar jogos de forma automática. Contudo, para a verifi-cação de modelos de GAL as seguintes restrições são feitas: os jogos são de domínio finito; e as funções e os predicados utilizados nos jogos são decidíveis. Um protótipo, chamado de Game Analysis Logic Verifier (GALV), desenvol-vido como um framework em Java foi implementado e pode ser encontrado em www.tecmf.inf.puc-rio.br/DaviRomero. Todos os jogos apresentados neste trabalho estão ou serão implementados no verificador de modelos.
Em (Vas03, VH03) é proposta uma linguagem para descrever jogos, chamada de RollGame, assim como uma tradução para a linguagem do verificador de modelos SMV. A partir daí, o SMV pode ser utilizado para demonstrar propriedades de jogos. O exemplo do jogo da velha é utilizado para ilustrar como as ações de um dos jogadores que segue certa estratégia consegue garantir que ele nunca perderá. O outro jogador não possui estratégia, desta forma todas as possibilidades para ele são levadas em consideração. Na seção 8.2, modelamos este mesmo jogo no verificador de modelos no GALV e comparamos as duas abordagens.
É sabido que os jogos acompanham a ciência da computação desde o seu início (RN02). Apesar de não haver uma definição formal única do que seria um jogo, diversos algoritmos foram propostos para solucionarem jogos. Boa parte deles se baseiam na idéia do algoritmo minimax. De forma geral, veremos na seção 8.3 como a abordagem aqui proposta pode ser utilizada para verificar propriedades de jogadores que se baseiam em algoritmos clássicos da ciência da computação para resolver jogos, a exemplo do minimax.
Na seção 8.4, exemplificamos como um jogo de leilão, que mais se parece com um mercado de ações, pode ser definido e analisado. Neste exemplo, os agentes poderão definir suas estratégias através de um planejamento de ofertas de vendas e compras de ações. Este planejamento pode se dar de forma não-determinística, i.e., a cada momento eles podem ter possibilidades alternativas
para as vendas e compras. Neste caso, o que estamos interessados em analisar são propriedades semelhantes a: quanto de uma ação um agente pode garantir levando em consideração todas as possibilidades de interações; ou ainda todos os jogadores obtêm um número mínimo de ofertas atendidas sejam elas de compra ou venda.
Na década de 90, as representações formais de ambientes com diver-sos agentes (jogadores) interagindo se deram através das estruturas cognitivas dos agentes, tais como crenças (beliefs), desejos (desires), intenções
(inten-tions), entre outras. Assim, uma família de linguagens lógicas baseadas em Belief-Desire-Intention (BDI) (RG95) foi desenvolvida para tal propósito. Os
modelos BDI são fundamentados na teoria do raciocínio prático em humanos, desenvolvida pelo filósofo Michael Bratman (Bra87). A arquitetura de agentes BDI tornou-se muito popular na área de sistemas multi-agentes (Woo02).
Em particular, a lógica Logic Of Rational Agent (LORA) (Woo00) foi utilizada para caracterizar diversas noções sobre a racionalidade dos agentes de forma individual ou coletiva.
Outro resultado deste trabalho é caracterizar uma classe de sistemas multi-agentes (Woo02), os modelos de LORA, para a qual existem jogos extensivos e vice-versa. Como conseqüência, os critérios de racionalidade da Teoria dos Jogos (equilíbrio de Nash, de subjogo perfeito, etc) podem ser aplicadas diretamente para os sistema multi-agentes baseados na arquitetura BDI e vice-versa. Por outro lado, relacionamos os jogos extensivos aos modelos de GAL. Desta forma, podemos utilizar a abordagem deste trabalho para os sistema multi-agentes via o relacionamento com os jogos. A figura 1.2 abaixo resume o relacionamento entre LORA, Teoria dos Jogos e GAL.
Fórmula de LORA
⇐=
Conceito de Solução=
⇒
Fórmula de GALModelo de LORA Jogo Extensivo Modelo de GAL
=
⇒
⇐=
=
⇒
Figura 1.2: Relacionamento entre LORA, Teoria dos Jogos e GAL.
1.1
Por quê CTL de primeira-ordem?
Como iremos ver ao longo deste trabalho a utilização de uma linguagem de primeira-ordem é predominante na definição e interpretação de jogos. Em
geral, cada jogador possui um conjunto de ações disponíveis para ele, bem como uma relação de preferência sobres os possíveis resultados do jogo. Estas definições são facilmente modeladas através de uma linguagem de primeira-ordem. Além disso, os conceitos de soluções que são apresentados acabam por referirem-se a esta linguagem através de quantificações sobre as ações dos jogadores e das relações de preferências. Também veremos que diversos tipos de interações possuem aspectos seqüenciais, como no caso de jogos extensivos, onde as ações dos jogadores são dadas através da evolução de cada instante do jogo. Com isto, aspectos de linguagens modais também são utilizados quando nos referimos a estes jogos, a exemplo do conceito de solução de equilíbrio de subjogo perfeito.
Por este motivo, vemos como parte essencial deste trabalho a utilização de uma linguagem de primeira-ordem com operadores modais. Todavia, ló-gicas modais de primeira-ordem não são apenas lóló-gicas modais que possuem uma aparato de primeira-ordem. Diversos problemas surgem quando estes dois componentes são colocados em uma mesma linguagem. Neste trabalho, estu-daremos a inter-relação entre os quantificadores e os operadores modais no contexto de jogos. Em particular, estaremos interessados em estudar as alter-nativas de quantificação De Re e De Dicto no contexto dos jogos extensivos.
Possivelmente, pelas dificuldades encontradas nas lógicas modais de primeira-ordem, é que as lógicas para jogos são lógicas modais proposicionais, que embutem as características de primeira-ordem dos jogos em suas estru-turas, utilizando operadores modais para representá-las. Desta forma, cada tipo de interação acaba por ser embutido na estrutura da lógica, tornando-a dependente do tipo de interação. Como exemplo disso, temos as lógicas ATL (AHK02) e Coalition Logic (Pau01) que são interpretadas através de jogos ex-tensivos, enquanto que a lógica Coalitional Game Logic (ÅWvdH06) considera as relações de preferências em sua linguagem, e sua estrutura é basicamente um jogo de coalizão sem utilidades transferíveis. Estas lógicas apresentam carac-terísticas importantes do ponto de vista lógico, como a existência de sistemas corretos e completos, além de decidibilidade, enquanto que lógicas de primeira-ordem, em geral, são indecidíveis.
Apesar disso, consideramos que a distinção entre os aspectos de primeira-ordem e modal dos jogos é de fundamental importância para um melhor entendimento dos jogos e de seus conceitos de soluções. Esperamos demonstrar isto durante o desenvolver deste trabalho.
Apenas para motivar o leitor que já tenha algum conhecimento sobre os conceitos de equilíbrio de Nash e de equilíbrio de subjogo perfeito para jogos extensivos com informação perfeita, gostaríamos que observasse as definições
1.1 e 1.2, e tentasse deduzir se as mesmas são equivalentes. Note o enfoque em negrito dado a quantificação das estratégias. De forma semelhante para as definições 1.3 e 1.4. Como iremos constatar no desenvolvimento deste trabalho, estas definições envolvem quantificação sobre a estrutura seqüencial do jogo, e desta forma pode-se obter definições errôneas. As respostas serão dadas ao longo deste trabalho, especificamente na seção 6.2.7.
Definição 1.1 Um equilíbrio de subjogo perfeito para um jogo extensivo
com informação perfeita $N, H, P, (ui)% é um perfil de estratégias s∗ = (s∗i) tal
que para todo jogador i ∈ N e para todo histórico não-terminal h ∈ H para o qual P (h) = i, temos que
ui(Oh(h, s∗1, . . . , s∗n))≥ ui(Oh(h, s∗1, . . . , si, . . . , s∗n))
para toda estratégia si ∈ Si.
Definição 1.2 Um equilíbrio de subjogo perfeito para um jogo extensivo
com informação perfeita $N, H, P, (ui)% é um perfil de estratégias s∗ = (s∗i)
tal que para todo jogador i ∈ N, para toda estratégia si ∈ Si e para todo
histórico não-terminal h ∈ H para o qual P (h) = i, temos que ui(Oh(h, s∗1, . . . , s∗n)) ≥ ui(Oh(h, s∗1, . . . , si, . . . , s∗n)).
Definição 1.3 Um equilíbrio de Nash para um jogo extensivo com
informa-ção perfeita Γ = $N, H, P, (ui)% é um perfil de estratégias s∗ = (s∗i)tal que para
todo jogador i e para todo histórico não-terminal h ∈ H ao longo do histórico
terminal que resulta do perfil de estratégias s∗ (i.e. h ∈ O(s∗)) para o qual
P (h) = i, temos que
ui(Oh(h, s∗1, . . . , s∗n))≥ ui(Oh(h, s∗1, . . . , si, . . . , s∗n)),
para toda estratégia si ∈ Si.
Definição 1.4 Um equilíbrio de Nash para um jogo extensivo com
infor-mação perfeita Γ = $N, H, P, (ui)% é um perfil de estratégias s∗ = (s∗i) tal
que para todo jogador i, para toda estratégia si ∈ Si e para todo histórico
não-terminal h ∈ H ao longo do histórico terminal que resulta do perfil de
estratégias s∗ (i.e. h ∈ O(s∗)) para o qual P (h) = i, temos que
ui(Oh(h, s∗1, . . . , s∗n))≥ ui(Oh(h, s∗1, . . . , si, . . . , s∗n)).
Escolhemos desenvolver uma lógica de primeira-ordem baseada em CTL, chamada de Game Analysis Logic (GAL), por acreditarmos que esta é uma linguagem expressiva o suficiente para tratarmos um vasto espectro de tipos de interações e suas possíveis soluções. Além de CTL de primeira-ordem, GAL caracteriza-se por ter constantes lógicas que são utilizadas para representar os jogadores. Devido às possíveis combinações entre os operadores modais de CTL e os jogadores, é que podemos expressar diversos tipos de interações entre os jogadores. Apesar de, à primeira vista, os operadores modais de GAL serem “iguais” ao de CTL, suas interpretações são dadas de forma ligeiramente distintas, como veremos em mais detalhes posteriormente. Na verdade, eles são interpretados à ótica dos jogadores que agem de forma conjunta a cada instante. Quando os jogadores são desconsiderados, temos que GAL coincide com CTL de primeira-ordem.
A lógica ATL também é uma lógica que estende a lógica CTL. Dife-rentemente de GAL, ATL é interpretada sobre jogos extensivos com ações simultâneas1, no qual cada jogador possui um conjunto de ações a cada
mo-mento do jogo. A relação de transição é então definida através das escolhas de cada jogador e os operadores modais são interpretados sob esta ótica. Note que neste conceito exige-se que todos os jogadores tomem decisões e influenciem o jogo a todo momento.
Para representar jogos como xadrez, onde apenas um jogador atua a cada instante, em ATL o que se faz é considerar as ações do jogador que não deve atuar como um conjunto unitário. Desta forma, a ação resultante é determinada apenas pelo outro jogador. Na verdade, essa é uma semântica que não difere situações onde um jogador atua em um estado com apenas uma possibilidade, e situações onde o jogador de fato não tem influência alguma. Como exemplo, considere as seguintes interações entre dois homens: 1- Os dois homens estão para cometer um crime e um deles sempre concorda com a decisão do outro, isto é, ele é também responsável pelo crime; 2- Um homem está para cometer um crime, enquanto o outro não tem responsabilidade nenhuma sobre o crime, por exemplo, ele pode nem ter conhecimento sobre este fato. Em ATL, modelaríamos ambas as situações da mesma forma em um jogo no qual um dos homens tem duas possibilidades enquanto que o outro tem apenas uma possibilidade. A diferença entre estas duas situações em ATL é, então, desconsiderada.
Outro ponto que pode ser debatido sobre ATL, ainda mais importante, é que a relação de transição entre os estados de um jogo se dá através das escolhas individuais que não consideram as escolhas dos outros jogadores. Assim, a
1Também chamados de jogos extensivos com informação quase perfeita.
transição se dá através de escolhas individuais dos jogadores, o que claramente extirpa a possibilidade das ações de cada jogador serem possíveis somente de acordo com algum outro critério. Por exemplo, considere o caso onde um casal está casado. Nesta situação existem duas possibilidades eles permanecerem casados ou se separarem. Note que esta decisão usualmente ocorre de forma conjunta. Se utilizássemos ATL para modelar esta situação, teríamos que considerar as escolhas dos jogadores de forma individual. Assim, cada jogador teria duas possibilidades, que iremos denotar por {Casado, Separado}, e a combinação destas possibilidades nos traz a quatro possíveis ações. As ações $Casado, Casado% e $Separado, Separado% têm conseqüências claras, contudo as ações $Casado, Separado% e $Separado, Casado% não têm uma contrapartida intuitiva, e o que acaba-se por fazer é arbitrar uma conseqüência para estes estados. Iremos apresentar este exemplo de forma mais detalhada posteriormente.
Por esses motivos, escolhemos tomar uma interpretação extensional de como se dão as ações, ou seja, as ações a cada instante são tomadas pelos jogadores que devem atuar naquele instante sem necessariamente serem definidas pelas escolhas individuais de cada jogador. Além disso, iremos demonstrar que a parametrização dos operadores temporais de ATL pode ser expressa na lógica GAL utilizando as características de primeira-ordem. Por conseqüência, não há a necessidade de tornar a linguagem restrita a interpretação de ATL.
Uma outra razão que influenciou a escolha de CTL foi a existência de verificadores de modelos com algoritmos eficientes (complexidade linear), a exemplo do SMV (CGP99). O que não ocorre com lógicas mais expressivas do que CTL, a exemplo de CTL* que o problema da verificação de modelos é PSPACE-Completo.
Por fim, a escolha de domínios constante se deveu ao fato de que estamos procurando ter um melhor entendimento sobre jogos. Por este motivo, se GAL fosse uma lógica de domínios variáveis, adicionaríamos à nossa linguagem diversos problemas que, numa primeira análise, fogem da proposta desta tese. Só para exemplificarmos alguns dos problemas de lógicas modais de primeira-ordem com domínios variáveis, conseguimos expressar situações onde não há designação, como nos casos em que nos referimos ao ‘unicórnio’ ou ainda ao ‘círculo quadrado’. Para ver mais detalhes sobre lógica modal de primeira-ordem veja (FM99).
1.2
Organização da Tese
Os primeiros capítulos destinam-se as definições que são utilizadas para jogos e verificação de modelos na literatura. Alguns exemplos destas seções serão utilizados nas seções posteriores quando situarmos a nossa abordagem em relação às existentes na literatura. A estrutura básica desta tese é a seguinte:
– No capítulo 2, apresentamos os principais modelos da Teoria dos Jogos, assim como os seus principais conceitos. Especificamente, apresentamos os principais modelos não-cooperativos, que são jogo estratégico, jogo extensivo com informação perfeita (quase perfeita e imperfeita), assim como os seus principais conceitos de soluções, que são equilíbrio de Nash, equilíbrio de Nash de estratégias mistas, equilíbrio de subjogo perfeito e equilíbrio de estratégias comportamentais; Do lado dos modelos coopera-tivos apresentamos o jogo de coalizão com (e sem) utilidades transferíveis, assim como o conceito de solução core. Foram escolhidos apenas os tó-picos da Teoria dos Jogos que foram tratados até este momento neste trabalho. Nesta seção, além de introduzirmos os principais conceitos da Teoria dos jogos, iremos propor uma redução na representação de um jogo extensivo e também a utilização de um certo tipo de jogo extensivo com informação imperfeita para prover um solução para jogo extensivo com informação perfeita. Como conseqüência, um menor esforço compu-tacional é necessário para encontrar os conceitos de soluções de forma automática.
– No capítulo 3, introduziremos as lógicas temporais que são freqüente-mente utilizadas para a validação de software e hardware em ciência da computação. Especificamente, as lógicas full Computation Tree Logic (CTL*), Computation Tree Logic (CTL) e Linear Temporal Logic (LTL) são apresentadas. Em particular, estaremos interessados na lógica CTL, que é base da lógica proposta neste trabalho. Do ponto de vista prático, iremos nos concentrar na técnica de verificação de modelos para CTL, apresentando dois algoritmos para verificação de CTL.
– Algumas das lógicas que são utilizadas para raciocinar sobre jogos são apresentadas no capítulo 4. Abordaremos as lógicas: Alternating-time
Temporal Logic (ATL) e sua variante Counterfactual ATL (CATL), cujos
modelos são jogos extensivos com informação quase perfeita; e Coalitional
Game Logic (CGL), cujos modelos são jogos de coalizão sem utilidades
transferíveis. Escolhemos estas 3 lógicas por acreditarmos que elas são
as mais representativas para modelar cada tipo de interação (modelos não-cooperativos e cooperativos).
– No capítulo 5, iremos apresentar a lógica Game Analysis Logic (GAL) que é a lógica proposta nesta tese para raciocinar sobre jogos. Consideraremos ainda nesta seção alguns dos aspectos pertinentes a lógicas modais de primeira-ordem, bem como algumas propriedades de certos tipos de jogos. Iremos prover também um algoritmo para a verificação de modelos de GAL conjuntamente com um protótipo desenvolvido como um framework em Java. O verificador de modelos de GAL permite aspectos computacionais, assim, diversos algoritmos podem ser utilizados para as ações/estratégias de cada jogador. Isto não ocorre na maioria dos verificadores de modelos, tais como o SMV e o SPIN.
– Os principais modelos da Teoria dos Jogos assim como seus conceitos de soluções são expressos em GAL através de modelos de GAL e fórmulas de GAL, respectivamente, no capítulo 6. Os modelos e conceitos de soluções tratados aqui são os apresentados no capítulo 2. Estudaremos ainda as alternativas de quantificação no contexto dos jogos extensivos. Por fim, iremos considerar outros modelos para jogos de coalizões com o intuito de demonstrar que a lógica GAL pode facilmente definir novos modelos e conceitos de soluções.
– Iremos demonstrar que as lógicas ATL e CGL são fragmentos da lógica GAL no capítulo 7.
– O capítulo 8 destina-se a apresentar alguns experimentos desenvolvidos utilizando o verificador de modelos de GAL. Mostramos como o nosso algoritmo pode ser utilizado para achar algumas das soluções da Teoria dos Jogos. Iremos também descrever como alguns dos algoritmos para jogos da ciência da computação podem ser utilizados na abordagem aqui proposta utilizando o protótipo desenvolvido para GAL. Um exemplo de leilão será apresentado nesta seção.
– No capítulo 9 concluímos este trabalho apresentando os principais resul-tados, e ainda apontando os desdobramentos e trabalhos futuros.
– O relacionamento entre os modelos de LORA (sistemas multi-agentes baseados em BDI) e os jogos extensivos foi apresentado em (VHB06), e uma versão estendida do mesmo é apresentada no apêndice C desta tese. A justificativa para este resultado não aparecer no corpo da tese é que o seu relacionamento com a lógica GAL se dá apenas de forma indireta, através do mapeamento dos jogos extensivos em GAL.