Aprendendo estratégias programáticas através de características comporta- mentais
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | LOCUS Repositório Institucional da UFV |
Texto Completo: | https://locus.ufv.br//handle/123456789/31747 https://doi.org/10.47328/ufvbbt.2023.552 |
Resumo: | Nos últimos anos, a pesquisa em síntese de estratégias programáticas tem despertado bastante interesse dos pesquisadores por gerar programas que podem ser interpretados por humanos, sendo até mesmo possível modificá-los manualmente. Entretanto, sinteti- zar estratégias programáticas é uma tarefa desafiadora devido à necessidade de realizar uma busca não diferenciável em um grande espaço de programas. Deste modo, utiliza-se atualmente uma abordagem de self-play para guiar a busca. No entanto, essa abordagem geralmente fornece um fraco sinal para guiar a busca, uma vez que o self-play só é ca- paz de avaliar o desempenho de um programa em relação a outros programas. Assim, enquanto pequenas mudanças em um programa podem não melhorar o seu desempenho, tais mudanças podem representar passos na direção de um programa mais eficiente. Nessa dissertação, apresentaremos duas abordagens que utilizam características comportamen- tais para guiar a busca. A primeira utiliza as características comportamentais provenien- tes de um oráculo através do processo de clonagem comportamental para aprender um sketch de uma estratégia programática. Em nossos experimentos, observamos que até mesmos oráculos fracos podem prover informações úteis, ajudando na síntese. Testamos nossa proposta de aprendizado de sketch juntamente com os algoritmos de busca Simu- lated Annealing e UCT como sintetizadores. Com isso, tentamos sintetizar as melhores respostas aproximadas para uma estratégia tradicional do Can’t Stop e para o vencedor da competição de 2020 do MicroRTS. Nosso método foi capaz de sintetizar estratégias programáticas mais fortes do que os oráculos originais e derrotaram as estratégias alvo. Em nossa segunda abordagem, propomos um algoritmo de busca de dois níveis que busca concorrentemente no espaço de programas e em um espaço de características comporta- mentais. Nossa hipótese é que um algoritmo de self-play em conjunto com uma função baseada em características pode gerar um forte sinal para auxiliar a síntese. Enquanto ambas as funções são usadas para guiar a pesquisa no espaço do programa, a função de self-play é usada para guiar a pesquisa no espaço de características, com o objetivo de permitir a seleção de características com maior probabilidade de levar a programas vitoriosos. Testamos nossa hipótese no MicroRTS, um jogo de estratégia em tempo real. Nossos resultados mostram que a busca de dois níveis sintetiza estratégias mais fortes do que métodos que buscam apenas no espaço do programa. Além disso, as estratégias que nosso método sintetiza obtiveram a maior taxa de vitórias em um torneio simulado com vários agentes, incluindo os melhores agentes das duas últimas competições do MicroRTS. Palavras-chave: Inteligência Artificial. Síntese de Programas. Algoritmo de Busca. Jogos. |
id |
UFV_66191195eef7287144a0503e7dca52f0 |
---|---|
oai_identifier_str |
oai:locus.ufv.br:123456789/31747 |
network_acronym_str |
UFV |
network_name_str |
LOCUS Repositório Institucional da UFV |
repository_id_str |
2145 |
spelling |
Aleixo, David da Silvahttp://lattes.cnpq.br/3878423140335445Lelis, Levi Henrique Santana de2023-11-13T13:02:52Z2023-11-13T13:02:52Z2023-02-24ALEIXO, David da Silva. Aprendendo estratégias programáticas através de características comporta- mentais. 2023. 63 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Viçosa, Viçosa. 2023.https://locus.ufv.br//handle/123456789/31747https://doi.org/10.47328/ufvbbt.2023.552Nos últimos anos, a pesquisa em síntese de estratégias programáticas tem despertado bastante interesse dos pesquisadores por gerar programas que podem ser interpretados por humanos, sendo até mesmo possível modificá-los manualmente. Entretanto, sinteti- zar estratégias programáticas é uma tarefa desafiadora devido à necessidade de realizar uma busca não diferenciável em um grande espaço de programas. Deste modo, utiliza-se atualmente uma abordagem de self-play para guiar a busca. No entanto, essa abordagem geralmente fornece um fraco sinal para guiar a busca, uma vez que o self-play só é ca- paz de avaliar o desempenho de um programa em relação a outros programas. Assim, enquanto pequenas mudanças em um programa podem não melhorar o seu desempenho, tais mudanças podem representar passos na direção de um programa mais eficiente. Nessa dissertação, apresentaremos duas abordagens que utilizam características comportamen- tais para guiar a busca. A primeira utiliza as características comportamentais provenien- tes de um oráculo através do processo de clonagem comportamental para aprender um sketch de uma estratégia programática. Em nossos experimentos, observamos que até mesmos oráculos fracos podem prover informações úteis, ajudando na síntese. Testamos nossa proposta de aprendizado de sketch juntamente com os algoritmos de busca Simu- lated Annealing e UCT como sintetizadores. Com isso, tentamos sintetizar as melhores respostas aproximadas para uma estratégia tradicional do Can’t Stop e para o vencedor da competição de 2020 do MicroRTS. Nosso método foi capaz de sintetizar estratégias programáticas mais fortes do que os oráculos originais e derrotaram as estratégias alvo. Em nossa segunda abordagem, propomos um algoritmo de busca de dois níveis que busca concorrentemente no espaço de programas e em um espaço de características comporta- mentais. Nossa hipótese é que um algoritmo de self-play em conjunto com uma função baseada em características pode gerar um forte sinal para auxiliar a síntese. Enquanto ambas as funções são usadas para guiar a pesquisa no espaço do programa, a função de self-play é usada para guiar a pesquisa no espaço de características, com o objetivo de permitir a seleção de características com maior probabilidade de levar a programas vitoriosos. Testamos nossa hipótese no MicroRTS, um jogo de estratégia em tempo real. Nossos resultados mostram que a busca de dois níveis sintetiza estratégias mais fortes do que métodos que buscam apenas no espaço do programa. Além disso, as estratégias que nosso método sintetiza obtiveram a maior taxa de vitórias em um torneio simulado com vários agentes, incluindo os melhores agentes das duas últimas competições do MicroRTS. Palavras-chave: Inteligência Artificial. Síntese de Programas. Algoritmo de Busca. Jogos.In recent years, research on the synthesis of programmatic strategies has aroused a lot of interest among researchers as it generates programs that can be interpreted by humans, and it is even possible to manually modify them. However, synthesizing programmatic strategies is a challenging task due to the need to perform a non-differentiable search on a large programs’ space. Thus, a self-play approach is currently used to guide the search. Nevertheless, this approach generally provides a weak signal to guide the search, since self-play is only able to evaluate the performance of a program in relation to other programs. Thereby, while small changes to a program may not improve its performance, such changes may represent steps towards a more efficient program. In this dissertation, we will present two approaches that use behavioral features to guide the search. The first uses the behavioral features derived from an oracle through the process of behavioral cloning to learn a sketch of a programmatic strategy. In our experiments, we observed that even weak oracles can provide useful information, helping with the synthesis. We tested our sketch learning proposal with Simulated Annealing and UCT search algorithms as synthesizers. With this, we tried to synthesize the best approximate answers for a traditional Can’t Stop strategy and for the winner of the 2020’s MicroRTS competition. Our method was able to synthesize stronger programmatic strategies than the original oracles and to defeate the target strategies. In our second approach, we propose a bilevel search algorithm that searches concurrently in the programs’ space and in a space of behavioral features. Our hypothesis is that a self-play algorithm in conjunction with a feature-based function can generate a strong signal to aid synthesis. While both functions are used to guide the search in the program space, the self-play function is used to guide the search in the features’ space, with the aim of allowing the selection of features that are more likely to lead to winning programs. We tested our hypothesis on MicroRTS, a real-time strategy game. Our results show that the bilevel search synthesizes stronger strategies than methods that search only in the program space. Furthermore, the strategies that our method synthesizes achieved the highest win rate in a simulated tournament with multiple baseline agents,including the best agents from the last two MicroRTS competitions. Keywords: Artificial Intelligence. Program Synthesis. Search Algorithm. Games.CAPESporUniversidade Federal de ViçosaCiência da ComputaçãoInteligência artificialProgramação de sistemas (Computação)Algoritmo computacionaisJogosCiência da ComputaçãoAprendendo estratégias programáticas através de características comporta- mentaisLearn- ing Programmatic Strategies Though Behavioral Featuresinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal de ViçosaDepartamento de InformáticaMestre em Ciência da ComputaçãoViçosa - MG2023-02-24Mestradoinfo:eu-repo/semantics/openAccessreponame:LOCUS Repositório Institucional da UFVinstname:Universidade Federal de Viçosa (UFV)instacron:UFVORIGINALtexto completo.pdftexto completo.pdftexto completoapplication/pdf2153846https://locus.ufv.br//bitstream/123456789/31747/1/texto%20completo.pdf4433b1b9c02867d74cc9600c19b9a954MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://locus.ufv.br//bitstream/123456789/31747/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52123456789/317472023-11-20 10:17:35.33oai:locus.ufv.br:123456789/31747Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://www.locus.ufv.br/oai/requestfabiojreis@ufv.bropendoar:21452023-11-20T13:17:35LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)false |
dc.title.pt-BR.fl_str_mv |
Aprendendo estratégias programáticas através de características comporta- mentais |
dc.title.en.fl_str_mv |
Learn- ing Programmatic Strategies Though Behavioral Features |
title |
Aprendendo estratégias programáticas através de características comporta- mentais |
spellingShingle |
Aprendendo estratégias programáticas através de características comporta- mentais Aleixo, David da Silva Inteligência artificial Programação de sistemas (Computação) Algoritmo computacionais Jogos Ciência da Computação |
title_short |
Aprendendo estratégias programáticas através de características comporta- mentais |
title_full |
Aprendendo estratégias programáticas através de características comporta- mentais |
title_fullStr |
Aprendendo estratégias programáticas através de características comporta- mentais |
title_full_unstemmed |
Aprendendo estratégias programáticas através de características comporta- mentais |
title_sort |
Aprendendo estratégias programáticas através de características comporta- mentais |
author |
Aleixo, David da Silva |
author_facet |
Aleixo, David da Silva |
author_role |
author |
dc.contributor.authorLattes.pt-BR.fl_str_mv |
http://lattes.cnpq.br/3878423140335445 |
dc.contributor.author.fl_str_mv |
Aleixo, David da Silva |
dc.contributor.advisor1.fl_str_mv |
Lelis, Levi Henrique Santana de |
contributor_str_mv |
Lelis, Levi Henrique Santana de |
dc.subject.pt-BR.fl_str_mv |
Inteligência artificial Programação de sistemas (Computação) Algoritmo computacionais Jogos |
topic |
Inteligência artificial Programação de sistemas (Computação) Algoritmo computacionais Jogos Ciência da Computação |
dc.subject.cnpq.fl_str_mv |
Ciência da Computação |
description |
Nos últimos anos, a pesquisa em síntese de estratégias programáticas tem despertado bastante interesse dos pesquisadores por gerar programas que podem ser interpretados por humanos, sendo até mesmo possível modificá-los manualmente. Entretanto, sinteti- zar estratégias programáticas é uma tarefa desafiadora devido à necessidade de realizar uma busca não diferenciável em um grande espaço de programas. Deste modo, utiliza-se atualmente uma abordagem de self-play para guiar a busca. No entanto, essa abordagem geralmente fornece um fraco sinal para guiar a busca, uma vez que o self-play só é ca- paz de avaliar o desempenho de um programa em relação a outros programas. Assim, enquanto pequenas mudanças em um programa podem não melhorar o seu desempenho, tais mudanças podem representar passos na direção de um programa mais eficiente. Nessa dissertação, apresentaremos duas abordagens que utilizam características comportamen- tais para guiar a busca. A primeira utiliza as características comportamentais provenien- tes de um oráculo através do processo de clonagem comportamental para aprender um sketch de uma estratégia programática. Em nossos experimentos, observamos que até mesmos oráculos fracos podem prover informações úteis, ajudando na síntese. Testamos nossa proposta de aprendizado de sketch juntamente com os algoritmos de busca Simu- lated Annealing e UCT como sintetizadores. Com isso, tentamos sintetizar as melhores respostas aproximadas para uma estratégia tradicional do Can’t Stop e para o vencedor da competição de 2020 do MicroRTS. Nosso método foi capaz de sintetizar estratégias programáticas mais fortes do que os oráculos originais e derrotaram as estratégias alvo. Em nossa segunda abordagem, propomos um algoritmo de busca de dois níveis que busca concorrentemente no espaço de programas e em um espaço de características comporta- mentais. Nossa hipótese é que um algoritmo de self-play em conjunto com uma função baseada em características pode gerar um forte sinal para auxiliar a síntese. Enquanto ambas as funções são usadas para guiar a pesquisa no espaço do programa, a função de self-play é usada para guiar a pesquisa no espaço de características, com o objetivo de permitir a seleção de características com maior probabilidade de levar a programas vitoriosos. Testamos nossa hipótese no MicroRTS, um jogo de estratégia em tempo real. Nossos resultados mostram que a busca de dois níveis sintetiza estratégias mais fortes do que métodos que buscam apenas no espaço do programa. Além disso, as estratégias que nosso método sintetiza obtiveram a maior taxa de vitórias em um torneio simulado com vários agentes, incluindo os melhores agentes das duas últimas competições do MicroRTS. Palavras-chave: Inteligência Artificial. Síntese de Programas. Algoritmo de Busca. Jogos. |
publishDate |
2023 |
dc.date.accessioned.fl_str_mv |
2023-11-13T13:02:52Z |
dc.date.available.fl_str_mv |
2023-11-13T13:02:52Z |
dc.date.issued.fl_str_mv |
2023-02-24 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
ALEIXO, David da Silva. Aprendendo estratégias programáticas através de características comporta- mentais. 2023. 63 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Viçosa, Viçosa. 2023. |
dc.identifier.uri.fl_str_mv |
https://locus.ufv.br//handle/123456789/31747 |
dc.identifier.doi.pt-BR.fl_str_mv |
https://doi.org/10.47328/ufvbbt.2023.552 |
identifier_str_mv |
ALEIXO, David da Silva. Aprendendo estratégias programáticas através de características comporta- mentais. 2023. 63 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Viçosa, Viçosa. 2023. |
url |
https://locus.ufv.br//handle/123456789/31747 https://doi.org/10.47328/ufvbbt.2023.552 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Viçosa |
dc.publisher.program.fl_str_mv |
Ciência da Computação |
publisher.none.fl_str_mv |
Universidade Federal de Viçosa |
dc.source.none.fl_str_mv |
reponame:LOCUS Repositório Institucional da UFV instname:Universidade Federal de Viçosa (UFV) instacron:UFV |
instname_str |
Universidade Federal de Viçosa (UFV) |
instacron_str |
UFV |
institution |
UFV |
reponame_str |
LOCUS Repositório Institucional da UFV |
collection |
LOCUS Repositório Institucional da UFV |
bitstream.url.fl_str_mv |
https://locus.ufv.br//bitstream/123456789/31747/1/texto%20completo.pdf https://locus.ufv.br//bitstream/123456789/31747/2/license.txt |
bitstream.checksum.fl_str_mv |
4433b1b9c02867d74cc9600c19b9a954 8a4605be74aa9ea9d79846c1fba20a33 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV) |
repository.mail.fl_str_mv |
fabiojreis@ufv.br |
_version_ |
1801212836209229824 |