Baixe o app para aproveitar ainda mais
Prévia do material em texto
14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 1/36 INTELIGÊNCIAINTELIGÊNCIA ARTIFICIAL PARAARTIFICIAL PARA JOGOSJOGOS UNIDADE 1 - DEFINIÇÕESUNIDADE 1 - DEFINIÇÕES DE INTELIGÊNCIADE INTELIGÊNCIA ARTIFICIALARTIFICIAL Autor: George Santiago AlvesAutor: George Santiago Alves Revisor: Felipe Oviedo FrosiRevisor: Felipe Oviedo Frosi INICIAR Introdução Caro(a) estudante, Embora tenhamos razões para discordar, a situação cultural vivida hoje é um marco inicial que enseja por uma reorientação na práxis social. Todavia, deseja-se crer que a síntese dialética entre o real e o virtual se dará pelo sujeito, como centro do seu imaginário. Observe, portanto, que as perspectivas que se delineiam sobre o horizonte da subjetividade que compõe o homem são, de fato, uma revolução multifacetada, dinâmica e tecnologicamente multidimensional. A polêmica, contudo, é que a ludicidade dos jogos eletrônicos é um fenômeno com raízes que transcendem o imaginário do homem, isto é, é um instrumento que busca compor a autoexpressão criativa. Dessa forma, conviria lembrar que a Inteligência Artificial é uma abordagem que trabalha com a 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 2/36 dimensão dinâmica dos jogos eletrônicos para modelar os processos que compõem a subjetividade das experiências lúdicas dos jogadores. Diante disso, como que a Inteligência Artificial pode, de fato, auxiliar no avanço da indústria dos jogos? A partir desse contexto, nesta unidade, discutiremos sobre os conceitos gerais da Inteligência Artificial e suas principais vertentes no setor mais lucrativo da indústria de entretenimento: os jogos eletrônicos. Bons estudos! 1.1 Conceitos gerais Nos últimos anos, muito tem se falado sobre como a Inteligência Artificial mudará fundamentalmente a indústria do entretenimento, uma vez que essa tecnologia se tornou um dos principais meios para automatizar ações rotineiras que auxiliam os indivíduos no cotidiano e no trabalho. Quando se trata da implementação de sistemas com a capacidade de autoaprendizagem em aplicações interativas – como os jogos eletrônicos –, torna-se um desafio lidar com as estruturas complexas e a adequação para narrativa de jogo e jogabilidade (RABIN, 2015). Para começar, precisamos descrever, brevemente, a história dos sistemas artificiais de autoaprendizagem para definir algumas terminologias e, portanto, traduzir o real significado da aplicação da Inteligência Artificial em aplicações interativas. Neste sentido, verifica-se que a interseção entre os termos "aprendizado" – como um aspecto biológico – e "máquina" – como uma entidade abstrata – promoveu uma mudança nas concepções vigentes sobre a interação do homem com a tecnologia. Por meio das máquinas, ou melhor, do processo pelo qual um dispositivo é capaz de "aprender” sozinho, é possível realizar previsões baseadas em dados que podem nortear a tomada de decisão – seja em instruções de programas, nos negócios, na filtragem de e-mails e até nas redes neurais biológicas. Para Hurwitz e Kirsch (2018), o aprendizado de máquina se tornou um dos tópicos mais importantes dentro das organizações de desenvolvimento, que buscam maneiras inovadoras de aproveitar ativos de dados para ajudar a empresa a obter um novo nível de compreensão. Precisamos nos perguntar, porém: como uma máquina pode aprender? Como funciona 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 3/36 seu processo de autoaprendizagem? Qual a relação entre o aprendizado biológico e o aprendizado de máquina? Para responder aos questionamentos realizados, primeiro é necessário compreender que a consciência de uma entidade individual, mecânica, constante, com habilidades e inteligência aprimorada, que se assemelha à consciência humana, convém lembrar, é uma herança do berço da civilização. 1.1.1 Ilusão de inteligência em jogos A inteligência dos jogos eletrônicos opera com o imaginário do homem desde o berço das primeiras civilizações; por exemplo, na Grécia Antiga, a capacidade abstrata do ser humano encontrava-se difundida entre os questionamentos sobre os fenômenos da natureza e a existência de divindades mitológicas; assim, sabe-se que existia uma discussão sobre entidades de bronze e metal com inteligência aprimorada, histórias de homens mecânicos com a capacidade de raciocínio e fala, máquinas e projetos idealizados por mentes em tempos imemoriais. O acontecimento e a capacidade imaginária do homem em criar contos e histórias fantásticas ao longo das eras permitiu que ele chegasse à consciência coletiva desta transmutação; noutros termos, a busca por elementos que simulem a capacidade do ser humano de pensar é um processo histórico ainda não concluído, que caminha para um desenvolvimento suficiente, desafiando a humanidade. Em um segundo momento, precisamente no século XVII e XVIII, pensadores como Gottfried Wilhelm, Charles Babbage e René Descartes já idealizavam o pensamento computacional, no qual dispositivos seriam capazes de imitar as ações humanas. A consciência do aprendizado para uma entidade artificial está relacionada às primeiras formas de calcular as quatro operações fundamentais; relacionava-se a uma ação realizada pelo homem por meio de um dispositivo mecânico – que podia somar, subtrair, multiplicar e dividir. Por sua vez, nota-se que a linguagem matemática e as descobertas em torno da álgebra serviram de marco ou ponto de partida para uma transformação cujo conceito estava em torno da criação de uma máquina analítica. Neste âmbito, observa-se que o aprendizado de máquina e IA tem fortes laços com a otimização matemática. No entanto, o período de nascimento do conceito que compõe a consciência por trás das "máquinas inteligentes” 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 4/36 remonta a década de 1930, com o trabalho do matemático britânico Alan Turing – o artigo de Alan Turing, datado de 1936 e intitulado como On Computable Numbers, with an Application to the entscheidungsproblem , estabeleceu as bases teóricas para a computação moderna. Considerado o "pai da computação", Alan Turing passou a se dedicar à criação de um dispositivo capaz de realizar o equivalente à mente humana no que tange ao cálculo matemático, inicialmente realizando operações simples. Além disso, o cientista descreveu uma máquina universal, capaz de simular o funcionamento de outros dispositivos computacionais, denominada, posteriormente, como máquina de Turing – um conceito abstrato que possibilitou formalizar a base teórica para os algoritmos modernos. O trabalho de Turing estabeleceu novos desafios e oportunidades para o estudo da comunicação e a reflexão sobre um dispositivo capaz de raciocinar como uma pessoa. Esse posicionamento é discutido pelo cientista em seu artigo " Computing Machinery and Intelligence ", sob a perspectiva: "as máquinas podem pensar?". O trabalho discute um método no qual fosse possível avaliar a inteligência de uma máquina através da comunicação – inicialmente, o autor intitulou o método como "jogo da imitação”; posteriormente, no entanto, o termo original foi utilizado como uma versão da abordagem e, em seguida, denominado de teste de Turing. Classificações entre ramos da ciência moderna » Clique nas abas para saber mais sobre o assunto Inteligência artificial Aprendizado de máquina Redes neurais artificais Pode ser descrito como um modelo matemático, desenvolvido e implementado à imagem e semelhança do sistema nervoso central; assim como o cérebro humano, é possível treinaruma rede neural para resolver problemas complexos e auxiliar na tomada de decisões. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 5/36 1.1.2 Princípios de design de Inteligência Artificial para jogos A clássica conceituação sobre Inteligência Artificial de 1943, de Warren McCulloch e Walter Pitts, intitulado “ A Logical Calculus of the Ideas Immanet in Nervous Activity ”, é considerado o marco inicial das pesquisas na área de rede neural artificial; sendo descrita como a primeira referência para uma rede neural artificial – os cientistas propuseram um modelo matemático baseado nas características fisiológicas de neurônios biológicos. Vale ressaltar que Warren McCulloch era um neurofisiologista e Walter Pitts um matemático, ou seja, o conhecimento multifacetado entre a lógica matemática e as propriedades fisiológicas abriu caminho para as pesquisas usando circuitos elétricos. Importa ressaltar que o trabalho do neuropsicólogo Donald Hebb em sua obra lançada em 1949 “The Organization of Behavior: A Neuropsychological Theory ”, foi o próximo avanço nas discussões das teorias e modelos de interação nos sistemas neurais biológicos – características da plasticidade sináptica que estabeleceu as bases para a criação das chamadas redes neurais artificiais. VOCÊ QUER LER? A neuroplasticidade é um fenômeno complexo que afeta praticamente todos os mecanismos moleculares das células nervosas do cérebro humano, cuja definição se refere à capacidade do sistema nervoso de adaptar-se às influências fisiológicas e patológicas do meio, alterando a transmissão da informação sináptica. Em outras palavras, o sistema nervoso é capaz de alterar as bases da sua estrutura quando confrontado com novas experiências; assim, é possível relacionar à teoria hebbiana ao aprendizado de máquinas. Para saber mais sobre esse assunto, leia o artigo “Modelo hebb-albus-marr, controle neuromotor e cerebelo”, de Vilela Júnior, disponível em: < https://bit.ly/3aMNZIg > Ainda na década de 1950, Arthur Lee Samuel, um cientista da computação e pesquisador de IA da IBM, desenvolveu um programa de autoaprendizagem denominado Checkers Player , que basicamente era capaz de jogar damas. https://bit.ly/3aMNZIg 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 6/36 Era, no sentido de prover soluções decorrentes dos algoritmos, que uma tendência à abstração nos softwares foi explorada no Checkers Player . O design do algoritmo de autoaprendizagem de Arthur Samuel foi projetado utilizando os conceitos de árvore de busca; para tanto, a implementação da abordagem Poda alfa-beta no jogo de damas permitiu a otimização do algoritmo MiniMax, cujo objetivo era tentar medir as chances de vitória de cada jogador. MiniMax e os games » Clique nas abas para saber mais sobre o assunto Aplicando os conceitos da busca MiniMax no jogo da velha (Figura 1), podemos atribuir valores aos estados possíveis do jogo – valor máximo para uma jogada de vitória, valor mínimo para derrota e valor neutro para um possível empate. Posteriormente, serão estudados vários métodos de aprendizagem, técnicas (algoritmos) e ferramentas de Machine Learning e suas aplicações. Figura 1– Demonstração do Algoritmo MiniMax aplicado ao Jogo da Velha. Fonte: KAMIL, 2003, p. 2. (Adaptado). MiniMax Aplicado aos jogos 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 7/36 Além de pioneiro no campo de jogos de computador e IA, Arthur Samuel foi o primeiro a abordar conceitos sobre a ML – na verdade, em 1959, o cientista cunhou o termo aprendizado de máquina. Ele definiu o termo supracitado como um “campo de estudo que dá aos computadores a capacidade de aprender sem serem explicitamente programados” (SIMON, 2013, p. 89). O programa de jogar damas de Arthur Samuel e a teoria hebbiana forneceu parâmetros para o perceptron, um projeto de rede neural artificial inventada pelo psicólogo americano Frank Rosenblatt, em 1957. Inicialmente, o perceptron foi projetado como um dispositivo #PraCegoVer: A Figura 1 apresenta uma demonstração do algoritmo MiniMax aplicado ao Jogo Da Velha. A demonstração está representada por 3 etapas: Turno da Máquina (em azul), Turno do Jogador Humano (em vermelho), e novamente o Turno da Máquina (em azul). Cada etapa é composta por interações entre a Máquina e o Jogador Humano, sendo 10 jogadas ao total; cada jogada é representada por um quadrado de três linhas e três colunas. O primeiro quadrado representa o turno da máquina, contendo na primeira linha, respectivamente, “X”, “X” e “O”; na segunda linha, “X”, “O”, “Vazio”; na terceira linha, “Vazio”, “O”, “Vazio”. A partir da primeira jogada, existem três possibilidades: seguir para o segundo, terceiro ou quarto quadrado – representando as possíveis jogadas e interações entre a Máquina e o Jogador. No Segundo quadrado, à direita, a primeira linha, respectivamente, contém “X”, “X” e “O; na segunda linha, “X”, “O”, “X”; na terceira linha, “Vazio”, “O”, “Vazio”. No terceiro quadrado, no centro (cor azul), pode retornar ao primeiro quadrado, dessa forma, a primeira linha, respectivamente, contém “X”, “X” e “O”; na segunda linha, “X”, “O”, “Vazio”; na terceira linha, “X”, “O” e “Vazio”. No quarto quadrado, a direita, contém, na primeira linha, respectivamente, “X”, “X”, “O”; na segunda linha, “X”, “O”, “Vazio”; na terceira linha “Vazio”, “O”, “X”. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 8/36 físico, em vez de uma aplicação. Embora a sua primeira implementação tenha sido em um computador IBM 704, o programa demandava um hardware específico. Assim, ele foi subsequentemente implementado em um dispositivo customizado, denominado de Mark 1 perceptron. O dispositivo idealizado por Frank Rosenblatt era projetado para mapear as entradas de dados – um vetor de valor real –, para um valor binário simples. Noutros termos, o psicólogo buscava uma aplicação para o reconhecimento de padrões visuais. O algoritmo do perceptron é descrito como a primeira implementação baseada no sistema sensorial humano – a forma mais básica de rede neural projetada para um neurocomputador, usando um classificador linear. Embora as tarefas propostas por Rosenblatt fossem triviais aos seres humanos, o sistema sensorial humano é um dos problemas mais difíceis de serem modelados por uma máquina. VOCÊ SABIA? É a partir desse ponto que o aprendizado de máquinas evoluiu de um simples registro em um banco de dados para o reconhecimento de fala de um indivíduo, corroborando com a definição do termo “aprendizado”. Importante ressaltar que o aprendizado é um conceito amplo e difícil de ser definido. O consenso na literatura, entretanto, descreve o aprendizado como a capacidade de se adaptar; associando o termo aos mecanismos biológicos, portanto, aprender vai além de se adaptar, é modificar uma estrutura para melhorar as funções básicas de um sistema diante de novas situações (ZHANG et al., 2016). Teste seus conhecimentos Atividade não pontuada. 1.2 Máquina de estados 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc=… 9/36 Tendo previamente estabelecido uma relação entre a consciência humana e à dimensão subjetiva da autoaprendizagem das máquinas, podemos concluir que a discussão de tópicos referentes à adaptabilidade de entidades artificiais é antes um paradigma que tende a ser ensejado, conforme avança a produção técnico-científica.São tópicos associados à Inteligência Artificial, redes neurais, sistemas complexos, modelos matemáticos, plasticidade neuronal, máquinas de estados e todas as abordagens biológicas e cognitivas que compõem a inteligência humana. Nesse sentido, vamos analisar o conceito de autoaprendizagem com base nos conhecimentos sobre tipos de máquinas de estados. 1.2.1 Máquina de estados simples Em síntese, quando falamos em uma máquina de estados, estamos nos referindo a uma abordagem baseada no comportamento de elementos. Em outros termos, é um método que trabalha com o número de estados quantificáveis, logo, é um número finito. Dessa forma, é uma abordagem denominada de máquina de estados finitos (FSM). Observe, portanto, que o método analisa o estado atual em um contexto específico e, com base nas entradas, realiza cálculos, transições entre estados, produz saídas e aguarda por novas informações (entradas ou inputs) em um ciclo de estados. De maneira formal e, de acordo com Faceli et al. (2011, p.23), um autômato finito determinístico é um autômato finito para o qual uma data regra denominada de ρ é uma função classificada apenas do estado atual e do elemento (ou, símbolo) de entrada. Convém lembrar, que ao invés da função ρ, um conjunto finito de regras da expressão: A × Σ → Σ (triplas) pode ser aplicado, e é necessário que para cada elemento A × Σ (A vezes Sigma- álgebra) haja no máximo uma regra. Por exemplo: A = {a, b, c} (três caracteres de entrada possíveis); Σ (Sigma-álgebra) = {0, 1, 2, 3, 4} (cinco estados possíveis da máquina); s 0 = 0; F = {4} (um estado receptor); ρ = {(a, 0) → 1, (b, 1) → 2, (b, 2) → 4, (c, 2) → 3, (b, 4) → 1, (qualquer símbolo, 3) → 0}, conforme a Figura 2. #PraCegoVer: Às vezes Sigma-álgebra é equivalente a triplas 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 10/36 Figura 2 – Demonstração de uma máquina de estados. Fonte: Elaborado pelo autor. Dessa forma, com base nas máquinas de estados, o conceito de autoaprendizagem está, antes de tudo, incluído na análise de padrões em dados para estabelecer previsões para a tomada de decisões – um treinamento com base em um conjunto de dados. Por exemplo, analisar os números 2 - 4..., 3 – 9..., 4 – 16..., 5 – e tentar definir o próximo número da sequência. Se observarmos a relação dos números e o cálculo da potenciação, chegaremos ao número 25 como próximo termo da sequência. Como chegamos a esse resultado? Analisando uma pequena base de dados, representada pela relação numérica dos termos supracitados. Após um diagnóstico inicial, recorremos à multiplicação para obter um produto com base em fatores iguais. Logo: #PraCegoVer: A Figura 2 demonstra uma máquina de estados, contendo a sequência de estados 0-1-2-3-0. Cada estado é representado por um círculo, dessa forma, a transição – denominada de a – opera entre o estado (0) e o estado (1); a transição – denominada de b – opera entre o estado (1) e o estado (2); a transição – denominada de c– opera entre o estado (2) e o estado (3). 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 11/36 5² = 5 · 5 = 25 1.2.2 Máquinas de estados hierárquica Diferente da máquina de estado com uma abordagem finita, temos a máquina de estado hierárquico, que pode lidar com quaisquer alterações baseadas em um contexto específico e por conta própria. Idealmente, a abordagem hierárquica é estruturada para que cada estado possa ser projetado como dois estados aninhados; o primeiro estado corresponde ao resto da hierarquia e o outro é um estado único que fornece parâmetros de aproximação da forma de comportamento implementada (COPPIN, 2010). De acordo com Santos (2004, p. 27), é “importante notar que a hierarquia não se limita a dois níveis; quaisquer estados da sub-Máquina poderiam ter outras sub-Máquinas associadas a eles, e a noção de hierarquia se estende trivialmente”. Posteriormente, quando discutirmos sobre a lógica fuzzy, será demonstrado, na prática, o uso das máquinas de estado em jogos digitais. Teoricamente, podemos conceber uma relação entre dados para identificar padrões que resultam na previsão de certos eventos. O exemplo anterior demonstra uma simples tarefa executada pelo cérebro humano, em que suas funções cerebrais típicas são acionadas, praticamente, a nível inconsciente. Assim, uma tarefa simples é executada com base na dedução, indução e abdução naturalmente processada pelo raciocínio lógico humano. Seguindo essa hipótese, temos a premissa que sustenta o estudo da AI e o ML, um pipeline que coleta dados para imitar o comportamento humano – noutros termos, aprender com base na experiência. Em termos de aprendizado, os algoritmos buscam conexões entre os dados para fornecer soluções semelhantes e melhores do que uma análise humana. Na Figura 3, pode-se observar uma arquitetura típica de um agente AI - um conceito relacionado a uma entidade que adota a melhor ação para um contexto distinto. A manifestação de um agente inteligente transcorre de acordo com as informações do ambiente, modelando e computando as informações para diagnosticar cenários, antecipar eventos e executar ações apropriadas (NILSSON, 1998). #PraCegoVer : 5 elevado ao quadrado é igual a 5 vezes 5 que é igual a 25. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 12/36 Figura 3 – Demonstração de uma arquitetura simples de um Agente AI. Fonte: NILSSON, 2014, p. 2. (Adaptado). #PraCegoVer: A Figura 3 demonstra uma arquitetura simples de um Agente AI. Inicialmente, existe uma seta que representa os sinais sensoriais e faz ligação com um quadro com o nome de Percepção, que faz uma ligação (utilizando uma seta) com o quadro Modelo; o quadro Modelo realiza duas conexões, a primeira aponta uma seta para um quadro com o nome de Ação da Máquina, que, por sua vez, retorna com uma seta para o quadro Modelo e uma seta para uma saída de dados com o nome de Ação. A segunda interação do quadro Modelo é uma relação bidirecional para o quadro Planejamento e Raciocínio, que, por sua vez, realiza uma ligação para o quadrado de Ação da Máquina. Na direção do quadro de Planejamento e Raciocínio e de Ação da máquina, à direita da imagem, parte uma reta que indicam os objetivos. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 13/36 Portanto, de acordo com a Figura 3, se quisermos treinar ou compor os possíveis estados de uma máquina, precisaremos de três elementos: dados, sinais e algoritmos. Conforme observado, o termo "dados" é frequentemente apontado ao longo da discussão como uma dimensão quanto à tomada de consciência de uma entidade não biológica. A partir dos dados de entrada, é possível encontrar padrões em um conjunto de informações, embora o resultado dependa de um número expressivo de dados – por exemplo, é necessário muito conteúdo analisado para detectar um possível e-mail de spam. No que tange à coleta de dados, uma simples pesquisa no Google, as curtidas em fotos e postagens, os comentários em websites, visitas em blogs e tantas outras atividades diárias na internet são formas de detectar interesses do usuário e, em seguida, promover serviços e produtos. Outro exemplo comum e presente no cotidiano da web é o famoso "ReCaptcha", um mecanismo do Google projetado para verificação humana. Conforme explica Brito (2018, p. 101), o “CAPTCHA, abreviatura de Completely Automated Public Turing test to tell Computers and Humans Apart, é um teste interativo, completamente automatizado, para diferenciar computadores de seres humanos”. Uma verificaçãoque pode ser implementada utilizando caracteres (Figura 4), palavras ou imagens em websites, sistemas, aplicações, ferramentas antispam etc. Figura 4 – Um mecanismo simples de CAPTCHA textual. Fonte: BRITO, 2018, p. 101. #PraCegoVer: A Figura 4 demonstra um mecanismo simples de CAPTCHA textual. É um retângulo de cor vermelha, dentro do retângulo contém um outro retângulo menor e de cor branca. Dentro do retângulo de cor branca, contém a palavra KILL CAPTCHA em formato distorcido, dificultando a leitura. Logo abaixo 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 14/36 No âmbito da aprendizagem, a verificação realizada por um humano no mecanismo CAPTCHA é, na verdade, uma forma para treinar IA sem que os usuários percebam – por exemplo, em um formulário que solicita dados para verificar se o indivíduo é totalmente humano, simultaneamente, o sistema pode estar digitalizando textos para internet. Essencialmente, o usuário está fornecendo dados classificados de acordo com a forma de verificação – se o mecanismo solicita ao usuário selecionar imagens de carros, as informações já classificadas são utilizadas para construir uma rede neural com agentes IA, que podem identificar carros de outras imagens. Noutros termos, o usuário está ensinando a máquina. Nesse sentido, o ML constitui um processo que, segundo Faceli et al. (2011), medeia e se apoia sobretudo nos parâmetros fornecidos ao longo de um treinamento. Essa premissa, todavia, peca pela abstração, pois os recursos ou sinais podem apresentar, basicamente, qualquer característica – até mesmo a ocorrência de uma palavra em um texto. De maneira análoga, implementar dados em uma tabela no Excel vai ao encontro da classificação de informações do ML, dado que as linhas e colunas são elementos que descrevem as características dos dados, a fim de classificar as informações da tabela. Dentre inúmeras situações, pondera-se que existam múltiplas respostas para um subconjunto de premissas em um contexto específico. Os métodos e algoritmos do ML estão intimamente relacionados às estatísticas computacionais, no campo da análise de dados. Assim, o ML é uma técnica utilizada para estudar e desenvolver algoritmos complexos, que se concentram na previsão e tendências em dados, aplicados ao campo comercial, denominados de análise preditiva, pois permite que profissionais possam criar do retângulo de cor branca, temos um outro retângulo menor e de cor amarela, com a frase “Type the two words” ou, traduzindo, “Digite as duas Palavras”, logo abaixo, uma seta indica um retângulo branco para o usuário inserir as duas palavras. Do lado do retângulo “amarelo”, temos 3 quadrados menores, em coluna: o primeiro quadrado tem duas setas em círculo, o segundo quadrado uma figura de som, o último quadrado um símbolo de interrogação dentro de um círculo branco; do lado dos quadros menores, temos a palavra “CAPTCHA”. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 15/36 soluções, tomar decisões e analisar tendências com base na percepção de um modelo matemático. O ML trata de identificar padrões utilizando métodos para implementar algoritmos, já que um problema pode ser estudado por métodos diferentes; todavia, a escolha do algoritmo depende de alguns fatores – desde as amostras fornecidas, a definição do problema, a velocidade de trabalho, os recursos, a modelagem, etc. No entanto, dentro da abordagem do ML, há o aprendizado indutivo, que trata da análise e identificação de padrões em dados empíricos; dessa forma, o aprendizado de um sistema se enquadra, de maneira geral, em três partes: aprendizado não supervisionado, aprendizado semissupervisionado e aprendizado supervisionado – conceitos e aplicações que serão discutidos posteriormente. Clique nos Cards para saber sobre as dimensões do conhecimento. As dimensões do conhecimento » Clique nas setas ou arraste para visualizar o conteúdo Levando tudo isso em conta, nota-se um esforço para que experiências artificiais tenham a capacidade de se adaptarem às condições do meio. Para tanto, a autoaprendizagem é São elementos necessários para compor a conclusão de uma premissa, sendo um material primário e não processado. INFORMAÇÕES São dados estruturados, objeto de armazenamento ou processados, quase sempre descritos por uma entidade. CONHECIMENTO Um elemento que descreve a compreensão da realidade pela consciência sobre determinado fato; um conjunto de informações compreendidas. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 16/36 um termo utilizado para descrever as mudanças de um sistema, associados ao diagnóstico, reconhecimento e análise de um contexto específico para alterar rotinas e aperfeiçoar a execução de funções estabelecidas. Esse paradigma é um passo largo, mas, ainda assim, uma direção na ciência moderna que explora conceitos que podem auxiliar todas as áreas da vida humana. Teste seus conhecimentos Atividade não pontuada. 1.3 Planejamento de trajetória Especificamente no que tange aos algoritmos, observa-se que é um dos conceitos matemáticos mais elementares. De acordo com seus princípios, praticamente todos os elementos que compõem a sequência de eventos na natureza, incluindo o comportamento de animais, pessoas e até máquinas pode ser chamada de algoritmo. Esta premissa, de maneira sucinta, pode ser descrita como uma sequência de ações que leva à solução de um problema, usando etapas executáveis elementares. Assim, os desenvolvedores prescrevem sequências de ações, que devem fornecer algum resultado previsível diante de um evento ou contexto particular. Neste âmbito, embora seja temerário fazer generalizações, diversos sinais nos sugerem que encontrar um atalho ou o melhor caminho é um questionamento que todos fazem diariamente; isto é, seja em casa, no trabalho, ou em qualquer ambiente, deseja-se crer que o ser humano busca reunir e interpretar as informações do ambiente externo para tomar decisões eficientes, embora, de acordo com Lent (2010), parte da análise aos estímulos externos leve em consideração conhecimentos prévios sobre um contexto semelhante, de maneira inconsciente. Partindo dessas premissas e com base no pressuposto de que as sequências de instruções que chamamos de algoritmos são, à primeira vista, baseadas nas características dos seres vivos, verifica-se que os críticos mais sensatos e perspicazes nos sugerem que a implementação de soluções baseadas na escolha da melhor 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 17/36 trajetória é uma das principais problemáticas discutidas pelos desenvolvedores de jogos (LUGER, 2004; COPPIN, 2010; RABIN, 2012). Retornando à questão da subjetividade, os desenvolvedores procedem com uma reflexão sobre o pensamento computacional em um processo que enseja por abordagens e métodos que resolvam problemas de localização, rotas, trajetórias e prevenções de colisão para compor as rotinas dos agentes em jogos eletrônicos. No entanto, realizando uma reflexão pela ótica do game design de um videogame, parte da percepção do jogador - análise do ambiente - sugere que a jogabilidade e as mecânicas que compõem as regras de comportamento das unidades do jogo possam influenciar, paradoxalmente, a experiência do usuário (SCHELL, 2008). Falando noutros termos, os problemas do comportamento e da movimentação das unidades de um jogo são, especialmente, dimensões relevantes para compor a dinâmica entre o jogador e as manifestações das entidades de uma experiência lúdica. A convergência dessasideias com algumas reflexões de estudiosos e profissionais técnicos das indústrias de games é notável, dado que as abordagens, como o aprendizado de máquina e a própria IA, permitem que os desenvolvedores identifiquem possíveis indicadores em algoritmos para modelar processos e rotinas que compõem a tomada de decisões dos agentes; em outras palavras, como identificar o melhor caminho do ponto A ao ponto B. Então, o que os métodos matemáticos dos algoritmos podem fazer para resolver problemas de localização da rota mais curta? Em primeiro lugar, existem muitos algoritmos para resolver essa problemática, no entanto, de acordo com Rosa (2008) e Rabin (2012), os métodos mais populares adotados pelos desenvolvedores são as implementações únicas do método pathfinding. Em síntese, o pathfinding está ligado a um processo amplo, multifacetado e complexo, excepcionalmente bem estudado pelos profissionais de diferentes áreas; sobretudo na implementação de soluções, cujo objetivo é avaliar o custo real e estimado de qualquer rota entre dois pontos (RABIN, 2012). O notável nisso tudo é que o pathfinding significa a busca de caminhos, em que se explora o fato de que agentes portadores de consciência nos jogos são entidades abstratas e, potencialmente, dotados de consciência crítica sobre o meio ambiente. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 18/36 Nesse sentido, aliás, a pergunta que ainda precisamos responder é a de como os algoritmos podem resolver o problema da rota mais curta entre dois pontos, zonas, lugares, posições, etc. Rabin (2012) nos lembra que o funcionamento geral do pathfinding é avaliar o contexto em que o agente está inserido; para tanto, caso uma entidade do jogo - como um personagem não jogável, ou NPC - tenha um script para navegar entre pontos no jogo, em síntese, é necessário levar em consideração os obstáculos no cálculo da melhor trajetória com base no ambiente. Importa ressaltar que em jogos, à primeira vista, o termo "melhor" pode denotar uma pluralidade de conceitos, que vão desde o menor caminho entre dois pontos, o mais seguro, o mais rápido, o viável, aquele que pode levar à conclusão de uma determinada tarefa, a busca por um elemento específico - como um objeto mágico -, assim por diante. Observe, portanto, que o "melhor" depende do contexto em que o agente está inserido, pois será necessário avaliar o contexto para, em seguida, realizar diversos cálculos. Evidentemente, quando falamos em analisar o contexto, o agente precisa ser dotado de uma implementação via script para, de fato, buscar o melhor caminho. Em terceiro lugar, em games, uma entidade pode ser dotada de um comportamento no qual seja possível avaliar outras entidades, para, por exemplo, detectar colisões, ações coordenadas em equipes, priorizar a exploração de caminhos, assim por diante. 1.3.1 Algortimo A* No momento, portanto, o chamado algoritmo A* (A-estrela) é uma das principais ferramentas utilizadas em videogames para trabalhar com a navegação de entidades. Convém lembrar, em linhas gerais, que assim como outros algoritmos implementados para estruturar o comportamento das entidades de um jogo, o A* possui características específicas e uma aplicação baseada na pluralidade multidimensional dos seus conceitos. Falando noutros termos, é necessário realizar um estudo aprofundado sobre os seus principais aspectos e, em seguida, implementar na prática a sua abordagem. Diante disso, vamos compreender um pouco sobre os fundamentos básicos que compõem o algoritmo A*; para tanto, será utilizado um exemplo prático de uma aplicação na análise do melhor caminho entre dois pontos. Inicialmente, precisamos implementar uma rotina para que um determinado agente seja 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 19/36 capaz de calcular a melhor trajetória entre o ponto inicial, denominado de ponto A (azul) e o ponto final, denominado de ponto B (amarelo); assim, o nosso agente precisa encontrar o melhor caminho entre os obstáculos (quadrados em preto) para coletar a estrela no ponto B, conforme Figura 5. Figura 5 – Sistema de grade inicial para o algoritmo A*. Fonte: Elaborado pelo autor, 2020. #PraCegoVer: A Figura 5 demonstra um sistema de grade inicial para o algoritmo A*. O grid possui um formato quadriculado 10x10 (10 colunas e 10 linhas). As dez linhas horizontais do grid são chamadas de fileiras e dez colunas verticais do grid são chamadas de colunas. O tabuleiro ou grid é composto por linhas em preto e os quadrados em vermelho. São 6 paredes ou obstáculos sendo representado no mapa; o primeiro está localizado na linhas 9 e 10, coluna 3; o segundo obstáculo está localizado na 8 e 9, coluna F; o terceiro obstáculo está na linha 6, coluna B,C,D,E; o quarto obstáculo está localizado na linhas 2, 3 e 4, coluna D; o quinto obstáculo está localizado nas linhas 6 e 7, coluna H e I; o quinto 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 20/36 De acordo com Rabin (2012), o primeiro passo na busca por caminhos consiste na análise preliminar do ambiente em que o agente está inserido para, em seguida, delimitar a área de busca. Para facilitar a compreensão do funcionamento da abordagem, o ambiente será dividido por um sistema de grades, o que facilita a implementação de uma rotina. Dessa forma, os quadrados vermelhos representam a superfície onde o agente pode transitar no ambiente, já os pontos pretos representam os obstáculos, como paredes e buracos. Observe, portanto, que cada quadrado deve assumir um estado. Para o exemplo, cada quadrado só poderá assumir dois estados possíveis - (passável ou não-passável, ocupado ou desocupado, aberto ou fechado). Conforme sugerimos anteriormente, o agente precisa descolar-se do ponto A ao ponto B, em um sistema de grade, em que o movimento é realizado entre os quadrados disponíveis até o objetivo inicial. Conforme observa Coppin (2010), precisamos assumir que cada quadrado possui um centro, também denominado de nó; assim, o algoritmo buscará o caminho mais curto com base na análise de todos os quadrados adjacentes. Mas qual é o critério para realizar um movimento entre um ponto a outro? Basicamente, precisamos saber o custo para realizar o movimento do centro de um quadrado para outro. Em síntese, até então, o agente precisa analisar o seu destino, os quadrados abertos ou fechados, e o custo do movimento. Já temos o destino, em seguida, precisamos definir quais quadrados adjacentes estarão disponíveis - abertos - para permitir o movimento. Importa ressaltar que o agente só pode movimentar-se de um quadrado para outro, ou melhor, do centro do quadrado atualmente ocupado pelo agente até o centro de outro quadrado desocupado. Para tanto, delimitaremos os quadrados adjacentes aos agentes que estão abertos e que permitem o movimento do personagem, conforme Figura 6. obstáculo está localizado na linhas 2 e 3, coluna H e I. O jogador ou ponto inicial está localizado na linha 2, coluna B, em um quadrado azul; o ponto de destino está localizado na linha 3, coluna F, em um quadrado amarelo, com uma estrela no centro. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 21/36 Figura 6 – Quadrados adjacentes e abertos na cor verde. Fonte: Elaborada pelo autor. #PraCegoVer: A Figura 6 demonstra um sistema de grade inicial para o algoritmo A*. O grid possui um formato quadriculado 10x10 (10 colunas e 10 linhas). As dez linhas horizontais do grid são chamadas de fileiras e dez colunas verticais do grid são chamadasde colunas. O tabuleiro ou grid é composto por linhas em preto e os quadrados em vermelho. São 6 paredes ou obstáculos sendo representado no mapa; o primeiro está localizado na linhas 9 e 10, coluna 3; o segundo obstáculo está localizado na 8 e 9, coluna F; o terceiro obstáculo está na linha 6, coluna B,C,D,E; o quarto obstáculo está localizado na linhas 2, 3 e 4, coluna D; o quinto obstáculo está localizado nas linhas 6 e 7, coluna H e I; o quinto obstáculo está localizado na linhas 2 e 3, coluna H e I. O jogador ou ponto inicial está localizado na linha 2, coluna B, em um quadrado azul; o ponto de destino está localizado na linha 3, coluna F, em um 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 22/36 Obviamente, notemos que os quadrados adjacentes, que permitem o movimento, foram representados pela cor verde. Agora, precisamos calcular o menor custo entre os nós adjacentes. Clique nos Cards para conhecer a equação básica do algoritmo A*. Equação básica do algoritmo A* » Clique nas setas ou arraste para visualizar o conteúdo A polêmica, contudo, é que muitas vezes a entidade não sabe, de fato, o valor real que representa a distância entre todos os nós até o destino final. Segundo Faceli et al. (2011), após realizar um movimento entre quadrados, é necessário remover o nó com menor F da lista de quadrados com o estado aberto e inserir à lista dos nós fechados. Em seguida, procede-se uma nova análise no ambiente para verificar os nós abertos ou fechados. Assim, para calcular o F, o agente precisa encontrar o valor de G. Referir-se a essas ideias do algoritmo A* pode, à primeira vista, parecer um conceito abstrato, mas esse entendimento fica mais fácil quando compreendido utilizando na prática o cálculo citado. Dessa forma, vamos atribuir valores ou pesos para cada nó do quadrado adjacente ao agente, conforme Figura 7. Figura 7 – Pesos nos quadrados adjacentes e abertos na cor verde. Fonte: Elaborada pelo autor, 2020. quadrado amarelo, com uma estrela no centro. Além disso, todas as casas adjacentes ao jogador estão na cor verde. F = G + H Uma variável que representa o custo do movimento para se deslocar do ponto de origem até o nó do quadrado de destino, ou seja, G + G do nó atual + custo até o nó adjacente; H É o custo estimado da distância do quadrado adjacente até o destino. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 23/36 #PraCegoVer: A Figura 7 demonstra um sistema de grade inicial para o algoritmo A*. O grid possui um formato quadriculado 10x10 (10 colunas e 10 linhas). As dez linhas horizontais do grid são chamadas de fileiras e dez colunas verticais do grid são chamadas de colunas. O tabuleiro ou grid é composto por linhas em preto e os quadrados em vermelho. São 6 paredes ou obstáculos sendo representado no mapa; o primeiro está localizado na linhas 9 e 10, coluna 3; o segundo obstáculo está localizado na 8 e 9, coluna F; o terceiro obstáculo está na linha 6, coluna B,C,D,E; o quarto obstáculo está localizado na linhas 2, 3 e 4, coluna D; o quinto obstáculo está localizado nas linhas 6 e 7, coluna H e I; o quinto obstáculo está localizado na linhas 2 e 3, coluna H e I. O jogador ou ponto inicial está localizado na linha 2, coluna B, em um quadrado azul; o ponto de destino está localizado na linha 3, coluna F, em um quadrado amarelo, com uma estrela no centro. Além disso, todas as casas adjacentes ao jogador estão na cor verde. Após analisar a Figura 7, vamos explicar o porquê dos valores atribuídos para os nós dos quadrados adjacentes. O G é uma variável que armazena o valor baseado na posição atual do agente (isto é, valor 0) somado ao custo de movimento até o nó do quadrado adjacente. Assim, o peso do movimento para quadrados diagonais é 14, enquanto todos os nós ortogonais são 10. Obviamente, os valores 10 e 14 não são atribuições arbitrárias para o exemplo em questão, pois em um sistema em grade, ou melhor, em uma matriz bidimensional, cada célula (quadrados) tem um valor para o movimento em diagonal maior do que um movimento ortogonal. De fato, se consideramos o teorema de Pitágoras e o valor de um para cada célula na matriz, temos que a hipotenusa (diagonal) assume um tamanho de 1,414213562, que é maior do que as arestas de tamanho um nas células. Partindo dessas premissas, observe o cálculo a seguir, que corrobora com o entendimento de que o custo para movimentos em diagonal é maior do que em movimentos ortogonais, conforme Figura 8. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 24/36 Figura 8 – Aplicando o teorema de Pitágoras para demonstrar o movimento em diagonal. Fonte: Elaborada pelo autor, 2020. #PraCegoVer: A Figura 9 representa o teorema de Pitágoras para demonstrar o movimento em diagonal. Contendo um triângulo retângulo (com um ângulo de 90 graus), com o valor de 1 para os catetos. Logo abaixo, temos a seguinte expressão matemática: H é igual a raiz quadrada da soma dos quadrados dos catetos (ou, basicamente, a potência de base um elevada ao expoente dois, somada a potência de base um elevada ao expoente dois). O resultado é H igual a raiz quadrada de 2, que é igual a um número decimal denominado de: um virgula quatro um dois quatro um, ou, um inteiro e quarenta e um mil e duzentos e quarenta e um milésimos. Nesse sentido, podemos afirmar que o custo para o agente se deslocar em um movimento ortogonal é menor do que ao realizar um movimento em diagonal. No entanto, quando se trabalha com cálculos matemáticos em um algoritmo, sobretudo em um loop, deve-se evitar atribuir valores com pontos flutuantes. O que explica, em síntese, atribuir os valores 10 (movimento ortogonal) e 14 (movimento diagonal) como números inteiros para realizar o custo da movimentação. O próximo passo no exemplo é calcular o custo do movimento do agente; assim, para calcular o H, podemos estimar a distância entre os nós e suas respectivas posições na matriz, utilizando o método de Manhattan. Além disso, a abordagem permite contabilizar o número total de nós horizontais e verticais, ignorando os obstáculos diagonais para multiplicar o valor encontrado por 10. VAMOS PRATICAR Experimente montar uma breve narrativa sobre um jogo eletrônico de tabuleiro, que simule o confronto entre dois jogadores; em seguida, utilizando o algoritmo 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 25/36 A*, busque calcular o melhor caminho para cada peça. Inicialmente, comece apenas com duas peças no tabuleiro (uma para o jogador Humano e outra para a Máquina). Para ajudar, é possível usar o site < https://qiao.github.io/PathFinding.js/visual/ >, que busca simular algoritmos de IA para compor jogos eletrônicos. Assim, a concepção teórica para o exemplo, à primeira vista, sugere que o destino final para o agente se encontra a quatro células (quadrados) de distância da sua origem. Observando os nós adjacentes disponíveis para realizar o primeiro movimento, temos oito na lista aberta e um na lista fechada - o nó em que o agente está ocupando. Observando a Figura 9, temos que o melhor caminho é, para o cálculo de H, contar o número de nós até o destino final e multiplicar por 10, em seguida, calculando o valor de F, para tal basta somar G (custo de movimento) + H. Figura 9 – Cálculo do melhor caminho – menor trajetória de movimento. Fonte: Elaborada pelo autor, 2020. #PraCegoVer: A figura 10 demonstra um sistema de grade inicial para o algoritmo A*. O grid possui um formato quadriculado 10x10 (10 colunase 10 linhas). As dez linhas horizontais do grid são chamadas de fileiras e dez colunas verticais do grid são chamadas de colunas. O tabuleiro ou grid é composto por linhas em preto e os quadrados em vermelho. São 6 paredes ou obstáculos sendo representado no mapa; o primeiro está localizado na linhas 9 e 10, coluna 3; o segundo obstáculo está localizado na 8 e 9, coluna F; o terceiro obstáculo está na linha 6, coluna B, C, D, E; o quarto obstáculo está localizado na linhas 2, 3 e 4, coluna D; o quinto obstáculo está localizado nas linhas 6 e 7, coluna H e I; o quinto obstáculo está localizado na linhas 2 e 3, coluna H e I. O jogador ou ponto inicial está localizado na linha 2, coluna B, em um quadrado azul; o ponto de destino está localizado na linha 3, coluna F, em um https://qiao.github.io/PathFinding.js/visual/ 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 26/36 1.4 Busca heurística É inegável que o avanço técnico-científico-informacional proporcionou mudanças expressivas na economia mundial, no qual consolidou a chamada sociedade digital. No entanto, isso também implica em alguns questionamentos nas pesquisas de tecnologias no sentido de restrições éticas. Especificamente, a Inteligência Artificial (IA) vem sendo debatido no âmbito da literatura e indústria pelo seu impacto em todos os setores da sociedade. Em termos concisos, a IA se refere a um conjunto de métodos, funções e abordagens que permitem às máquinas ou sistemas computacionais raciocinarem, resolverem problemas e aprenderem com suas próprias experiências - realizando tarefas complexas e comumente associadas a seres inteligentes. Atualmente, é improvável pensar em um cenário em que a IA não possa auxiliar ou maximizar os resultados de tarefas sobre a abordagem humana. Nesse sentido, os avanços prometidos pela tecnologia representam um fenômeno que governa a transformação digital; uma expansão que, segundo cremos, medeia e se apoia na Inteligência Artificial para suplantar a inovação em todas as áreas da sociedade. No entanto, é necessário implementar métodos para otimizar o resultado de operações ou, à primeira vista, resolver problemas de otimização. Para tanto, é possível utilizar o conceito de heurísticas. 1.4.1 Usando heurísticas em jogos De acordo com Beheshti, Mariyam, & Shamsuddin, (2013, p. 2), "as palavras ‘ meta ’ e ‘ heurística ’ são gregas, onde ‘meta’ é ‘nível superior’ ou ‘Além’ e heurística significa ‘encontrar’, ‘saber’, ‘guiar uma investigação’ ou ‘para descobrir’. Portanto, heurística ou, literalmente, “procurando” e “descobrindo”, é uma abordagem, método, forma ou teoria pautada na busca sistemática por uma organização seletiva, que visa classificar possíveis soluções de problemas complexos. Por sua vez, a meta-heurísticas, segundo Laporte e Osman (1995, p. 12), é "um processo de geração iterativo que orienta um subordinado heurística, combinando de forma inteligente conceitos diferentes para explorar e explorando o espaço de busca”, quadrado amarelo, com uma estrela no centro. Além disso, todas as casas adjacentes ao jogador estão na cor verde. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 27/36 além de possíveis estratégias de aprendizado para compor métricas utilizadas para estruturar informações a fim de encontrar soluções quase ótimas com eficiência. Na visão de Voss et al. (1999, p. 32), uma meta-heurística é: "um processo mestre iterativo que orienta e modifica as operações de heurísticas subordinadas para produzir com eficiência soluções de alta qualidade.” No contexto dos jogos eletrônicos, as avaliações heurísticas são abordagens utilizadas para, por exemplo, avaliar a usabilidade da aplicação; sendo uma prática implementada desde a fase de ideação e prototipação do projeto, pois permite discutir e avaliar as melhores práticas, soluções, direções e até mesmo erros gerais ou específicos de uma determinada área ou contexto do projeto. Idealmente, Desurvire e El-Nasr (2013) apontam que as heurísticas são comumente utilizadas para identificar problemas de usabilidade já no início do projeto, evitando erros que podem comprometer o projeto ou, à primeira vista, indicando melhores práticas para minimizar os erros e gastos desnecessários dos recursos. Nesse sentido, vejamos nos subtópicos subsequentes exemplos e práticas heurísticas utilizadas nos jogos eletrônicos. 1.4.2 Meta-heurística de busca populacional e algoritmos genéticos Idealmente, para os jogos eletrônicos e aplicações gerais, o desenvolvimento importante para o ML foi a concepção das heurísticas do vizinho mais próximo – em inglês: Nearest Neighbor Search (NNS), algoritmos genéticos, populacional e tabu. Em síntese, as meta- heurísticas podem ser classificadas de acordo com sua aplicação, desde o número de soluções, comportamento estocástico, de alto (ou baixo) nível, pela busca local, e assim por diante. Enquanto as heurísticas com abordagem do tipo trajetória trabalham com algoritmos de acordo com uma única solução, os baseados em população podem realizar buscas com diferentes pontos iniciais, encontrando os melhores elementos possíveis. Por sua vez, “o algoritmo genético é uma metaheurística baseada em população que pode ser utilizada para resolver problemas complexos de otimização” (HERBERT; RAO, 2017, p. 3). O algoritmo genético foi inventado pelo cientista e professor John Holland (HOLLAND, 1975), propondo uma abordagem que imita a biologia natural dos seres vivos para resolver problemas de otimização computacional. Dessa forma, de acordo 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 28/36 com Herbert e Rao (2017, p. 3), “o algoritmo genético usa o conhecimento de gerações anteriores para direcionar a pesquisa futura.” Posteriormente, será discutido com detalhes as abordagens supracitadas em aplicações práticas. O método apresentando em 1967 era um modelo para reconhecimento de padrões, utilizado inicialmente para mapear rotas mais eficientes. A heurística foi uma das primeiras a serem implementadas para a resolução do problema do caixeiro viajante (PCV), esse problema é avaliado como um problema de otimização que busca a menor distância entre pontos de um circuito. De acordo com Marques (2007, p. 21), o NNS é um método “usualmente utilizado para se encontrar uma solução inicial para o problema, solução esta que é então gradativamente melhorada por outras técnicas e modelos”. Segundo a Figura 11, pode- se inferir o método NSS aplicado para problemas de otimização analisando um espaço métrico de pontos semelhantes para determinar a proximidade dos objetos. Inicialmente, o algoritmo começa em um nó de origem, percorrendo o nó mais próximo ainda não visitado; percorrendo gradativamente o grafo até que todos os nós tenham sido analisados. Figura 11 - Demonstração do Algoritmo do vizinho mais próximo. Fonte: MARQUES, 2007, p. 21. (Adaptado). #PraCegoVer: A Figura 11 demonstra o algoritmo do vizinho mais próximo, contendo 8 quadrados – 3 quadrados na primeira linha, 3 quadros na segunda linha e 2 quadros na terceira linha. Cada 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 29/36 quadro contém 8 pontos distribuídos aleatoriamente – no entanto, a localização dos pontos é o mesmo para todos os quadros. Em cada quadro, o algoritmo do vizinho mais próximo busca qual ponto está mais próximo do ponto de origem, localizado no canto superior direito, em seguida, realiza uma conexão com o próximo ponto – mais próximos – até conectar os 8 pontos, nos 8 quadrados.1.4.5 Meta-heurística de busca em trajetória e busca tabu Evidentemente, a necessidade de sistemas pré-programados iniciou um diálogo sobre o campo da análise de dados e otimização computacional, incluindo o processamento de dados via texto, vídeo e áudio. No que diz respeito às máquinas, caberia pensar além e considerar o processo de autoaprendizagem como uma esfera comunicativa, marcada por profundas transformações no que tange a relação da tecnologia com a estrutura biológica humana. Nesse contexto, para entender o processo de aprendizado e de análise de dados, podemos relacionar as características do aprendizado animal e discutir o papel da Inteligência Artificial. Por exemplo, a abordagem tabu, um algoritmo metaheurístico que trabalha com operações baseadas na otimização combinatória, em que a solução visa uma ordenação e seleção de elementos ótimos. De acordo com Shalev-Shwartz & BenDavid (2014), os fundamentos do ML surgem de contextos que estão enraizados na biologia, por exemplo, em algoritmos de busca em trajetória, verifica-se que a proposta do planejamento de um caminho é buscar rotas específica para alcançar determinado objetivo – quando analisamos o modus operandi de um roedor aprendendo a evitar alimentos tóxicos, é observado que o seu comportamento sugere claramente um mecanismo de aprendizagem, pois o animal ingere pequenas porções de um novo alimento para, em seguida, relacionar o sabor com o efeito fisiológico; assim, caso o alimento ingerido produza um efeito prejudicial, o roedor associará o sabor a um elemento perigoso e, subsequentemente, não comerá o alimento. Ainda de acordo com os autores supracitados, o mecanismo de aprendizagem é reforçado pela reação dos roedores aos elementos do seu habitat, logo as experiências 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 30/36 são rotuladas como positivas ou negativas – alterando a tomada de decisão do animal, que prevê ações com base em uma análise de dados. VAMOS PRATICAR Com base nos conhecimentos sobre a Inteligência Artificial e suas principais vertentes, projete um jogo de tabuleiro (Xadrez ou Jogo da Velha) para demonstrar o algoritmo Minimax; não se esqueça de implementar a Árvore Minimax com algumas jogadas que demonstrem o jogo de tabuleiro escolhido. No campo do ML, podemos associar os termos "treinamento “e "dados" como parâmetros para o aprendizado de máquina; uma vez que a previsão de resultados de um algoritmo é baseada na análise de um número expressivo de dados e no treinamento dos sistemas. Um exemplo presente no cotidiano para entender o aprendizado pela análise de dados é relacionar o processo de aprendizagem por memorização: por exemplo, o cérebro de uma criança é treinado com base em suas experiências, para cada objeto que ela vê e interage, existe um mecanismo biológico que associa as suas características – forma, dimensões, cores, sabores, cheiros, etc - a um elemento específico; dessa forma, o objeto pode ser imediatamente identificado. Clique nos cards para saber mais sobre banco de dados, informatização e tecnologia da informação. As dimensões do conhecimento » Clique nas setas ou arraste para visualizar o conteúdo Uma coleção organizada de dados que exibe o estado dos elementos, 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 31/36 Em sentido amplo, a maior parte dos problemas resolvidos pela análise de dados serve a métodos de suporte à decisão, baseados no fornecimento de dados que são associados a um conjunto de características. Assim como os mecanismos biológicos, as máquinas mudam sua estrutura de funcionamento com base no input de informações externas – um mecanismo que aprende e desempenha seu papel continuamente. Observe, portanto, que os conhecimentos discutidos são introdutórios e, posteriormente, serão analisados conforme sua aplicação em jogos eletrônicos, bem como suas vantagens e desvantagens em contextos distintos. Síntese Nas últimas décadas, foi possível observar um rápido avanço no paradigma do desenvolvimento de abordagens, formas e métodos inovativos para compor a otimização de entidades inteligentes. No entanto, apenas da maioria dos algoritmos apresentarem um bom desempenho em problemas distintos, para os jogos, convém lembrar, os desenvolvedores trabalham com o conceito abstrato e subjetivo da ludicidade. Dessa forma, é necessário observar que os conceitos discutidos ao longo da unidade são introdutórios e demonstram que existe a necessidade de um estudo aprofundado nos métodos de otimização para experiências lúdicas, como os jogos. Portanto, é imprescindível trabalhar com conceitos dinâmicos, adaptáveis e flexíveis para superar as limitações e desafios no setor dos jogos eletrônicos. além do relacionamento com outros objetos.INFORMATIZAÇÃO Um processo que busca atender às necessidades de uma organização com base na utilização de recursos de informação. TECNOLOGIA DA INFORMAÇÃO Um elemento que descreve a compreensão da realidade pela consciência sobre determinado fato; um conjunto de informações compreendidas. 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 32/36 SAIBA MAIS Título: Inteligência Artificial Autor: Ben Coppin Editora: LTC Ano: 2010 Comentário: leia o Capítulo 1, que ampliara o entendimento sobre os principais conceitos que compõem as abordagens da Inteligência Artificial, bem como as características gerais dos algoritmos e metodologias comumente utilizados por desenvolvedores na indústria de games. Onde encontrar? Biblioteca Virtual da Ânima Título: Introdução ao desenvolvimento de games - Volume 2: Programação: técnica, linguagem e arquitetura Autor: Steve Rabin Editora: Cengage Learning Ano: 2012 Comentário: A obra de Steve Rabin é uma das principais referências no que tange o estudo e implementação de soluções para games; abrangendo uma grande quantidade de tópicos importantes sobre programação, algoritmos, arquitetura de sistemas, estrutura de dados, e assim por diante. Leia o Capítulo 1, do volume 2 da obra, que introduz os principais conceitos sobre a programação de jogos eletrônicos. Onde encontrar? Biblioteca Virtual da Laureate 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 33/36 Referências bibliográficas 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 34/36 BRITO, R. G. G. Acessibilidade na internet para pessoas com deficiência visual: uma análise das páginas web dos tribunais do Poder Judiciário tocantinense . 2018. 186 f. Dissertação (Mestrado profissional e interdisciplinar em Prestação Jurisdicional e Direitos Humanos) – Universidade Federal do Tocantins, Programa de Pós-Graduação em Prestação Jurisdicional em Direitos Humanos, Palmas, 2018. BEHESHTI, Z.; MARIYAM, S.; SHAMSUDDIN, H. A review of population-based meta- heuristic algorithms. International Journal of Advances in Soft Computing and its Applications , [s. l.], v . 5, n. 1, p. 1–35, 2013. Disponível em: < https://www.researchgate.net/publication/270750820_A_review_of_population- based_meta-heuristic_algorithm >. Acesso em: 09 dez. 2020. CERRI, R.; BARROS, R. C.; CARVALHO, A. C. P. L. F. Hierarchical Multi-label Classification using Local Neural Networks. Journal of Computer and System Sciences , [s. l.], v. 80, p. 39-56, 2014. COPPIN, B. Inteligência Artificial . São Paulo: LTC, 2010. DESURVIRE, H.; EL-NASR, M. S. Métodos para pesquisa do usuário do jogo: estudar o comportamentodo jogador para aprimorar o design do jogo. Computer Graphics and Applications, IEEE , [s. l.], v. 33, n. 4, p. 82-87, 2013. FERNANDES, A. M.; CAMARA, B. H. P.; PASCHOAL, A. R.; DAMASCENO, E. F. Inteligência Artificial aplicada a jogos de tabuleiro com realidade aumentada. In: WORKSHOP DE REALIDADE VIRTUAL DE AUMENTADA, 15., 2014. Anais […] Marília, SP, 2014. FACELI, K.; LORENA, A. C.; GAMA, J.; CARVALHO, A. C. P. L. F. Inteligência Artificial : uma abordagem de aprendizado de máquina. Rio de Janeiro: LTC, 2011. HURWITZ, J.; KIRSCH, D. Machine Learning for Dummies : IBM Limited Edition. Hoboken: John Wiley and Sons, 2018. HOLLAND, J. H. Adaptation in natural and artificial systems . Ann Arbor, MI: The University of Michigan Press, 1975. https://www.researchgate.net/publication/270750820_A_review_of_population-based_meta-heuristic_algorithm 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 35/36 HERBERT, M.; RAO, S. Population based metaheuristic algorithm approach for analysis of multi-item multi-period procurement lot sizing problem. Advances in Operations Research , [s. l.], v. 2017, 2017. Disponível em: < http://210.212.194.26/jspui/handle/123456789/12576 >. Acesso em: 09 dez. 2020. KAMIL, A. Minimax . Califórnia: UC Berkeley/CS61B, 2003. Disponível em:< web.eecs.umich.edu/~akamil/teaching/sp03/minimax.pdf >. Acesso em: 20 nov. 2020. LAPORTE, G.; OSMAN, I. H., Routing problems: a bibliography. Annals Operations Research , [s. l.], v. 61, p. 227-262, 1995. LENT, R. Cem Bilhões de Neurônios? Conceitos Fundamentais de Neurociência. São Paulo: Atheneu, 2010. LUGER, G. F. Inteligência Artificial . Porto Alegre: Bookmann, 2004. MARQUES, A. Feature extraction and PVC detection using neural networks and support vector machines . Master’s thesis, University of Coimbra, 2007. NILSSON, Nils John. Principles of Artificial Intelligence . Morgan Kaufmann: Reprint edição, 2014. RABIN, S. Introdução ao desenvolvimento de games . São Paulo, 2012. RABIN, S. (Ed.). Game AI pro 2 : collected wisdom of game AI professionals. CRC Press, 2015. ROSA, J. G. Fundamentos da Inteligência Artificial . São Paulo: LTC, 2008. SANTOS, G. L. Máquinas de Estados Hierárquicas em Jogos Eletrônicos . 2004. 54 f. Dissertação (Mestrado) – Programa de Pós-Gradução em Informática, PUC, Rio de Janeiro, 2004. Disponível em: < https://www.maxwell.vrac.puc-rio.br/4711/4711_1.PDF >. Data de acesso: 04/11/2013. http://210.212.194.26/jspui/handle/123456789/12576 http://web.eecs.umich.edu/~akamil/teaching/sp03/minimax.pdf https://www.maxwell.vrac.puc-rio.br/4711/4711_1.PDF 14/02/2023 15:40 Unidade 1 - Inteligência artificial para jogos https://student.ulife.com.br/ContentPlayer/Index?cd=wfakkD%2f8QmIiKBcv3yGbPg%3d%3d&l=g2gOA0tmP%2fef%2b7uN7hZZJQ%3d%3d&lc… 36/36 SCHELL, J. The Art of Game Design A Book of Lenses . Burlington, MA Morgan Kaufmann Publishers. SHALEV-SCWARTZ, S; BEN-DAVID, S. Understanding machine learning : From theory to algorithms. Cambridge: Cambridge university press, 2014. SIMON, P. Too Big to Ignore : The Business Case for Big Data. [s. l.]: Wiley, 2013. STOJANOVA, D.; CECI, M.; MALERBA, D.; DZEROSKI, S. Using PPI network autocorrelation in hierarchical multi-label classification trees for gene function prediction. BMC Bioinformatics , [s. l.], v. 14, n. 1, p. 1-18, 2013. ZHANG, C.; BENGIO, S.; HARDT, M.; RECHT, B.; VINYALS, O. Understanding deep learning requires rethinking generalization . ICLR, New York, arXiv:1611.03530, 2016. Disponível em: < https://arxiv.org/abs/1611.03530 >. Disponível em: 09 dez. 2020. VILELA JUNIOR, G. B. Modelo Hebb-Albus-Marr, controle neuromotor e cerebelo . Revista CPAQV – Centro de Pesquisas Avançadas em Qualidade de Vida , [s. l.], v. 10, n. 3, 2018. Disponível em:< https://www.researchgate.net/publication/328880732_MODELO_HEBB-ALBUS- MARR_CONTROLE_NEUROMOTOR_E_CEREBELO_Hebb-Albus- Marr_Model_Neuromotor_Control_and_Cerebellum >. Acesso em: 09 dez. 2020. VOSS, S.; MARTELLO, S.; OSMAN, I. H.; ROUCAIROL, C. Meta-heuristics : advances and trends in local search paradigms for optimization. [s. l.]: Kluwer Academic Publishers, 1999. https://arxiv.org/abs/1611.03530 https://www.researchgate.net/publication/328880732_MODELO_HEBB-ALBUS-MARR_CONTROLE_NEUROMOTOR_E_CEREBELO_Hebb-Albus-Marr_Model_Neuromotor_Control_and_Cerebellum
Compartilhar