Eurisko é um programa pioneiro de inteligência artificial criado pelo cientista da computação Douglas Lenat na Universidade Stanford e, posteriormente, na Microelectronics and Computer Technology Corporation (MCC), no final dos anos 1970 e início dos anos 1980. Ele foi projetado para descobrir e refinar heurísticas - regras práticas para resolução de problemas - usando uma base de conhecimento de heurísticas gerais e específicas de domínio, e aplicando um conjunto de meta-heurísticas que podiam modificar, combinar ou substituir heurísticas existentes com base em seu desempenho. Eurisko é notável por sua arquitetura automodificável, que permitia melhorar suas próprias estratégias de resolução de problemas ao longo do tempo, e por seu sucesso em descobrir heurísticas inovadoras em domínios como matemática, jogos e descoberta científica.
O desenvolvimento de Eurisko fez parte de um esforço de pesquisa mais amplo em inteligência artificial durante os anos 1970, que se concentrava em sistemas baseados em conhecimento e busca heurística. Diferentemente de programas anteriores que dependiam de algoritmos fixos, Eurisko visava automatizar o processo de descoberta de heurísticas, tornando-se um precursor das abordagens modernas de aprendizado de máquina e meta-aprendizado. Seu nome, derivado da palavra grega para "eu descubro", refletia seu objetivo de encontrar novas soluções em vez de meramente aplicar as conhecidas.
Origens e Desenvolvimento
Eurisko foi concebido por Douglas Lenat, que havia desenvolvido anteriormente o programa AM (Matemático Automatizado) em 1976, que descobria conceitos e conjecturas matemáticas. AM usava um conjunto de heurísticas para guiar sua exploração, mas Lenat observou que seu desempenho estagnava porque as heurísticas eram estáticas. Para resolver isso, ele projetou Eurisko para tratar heurísticas como objetos de primeira classe que podiam ser examinados, avaliados e modificados por outras heurísticas. O programa foi implementado na linguagem de programação Lisp, que facilitava a manipulação simbólica e a autorreferência.
Lenat desenvolveu Eurisko enquanto estava na Universidade Stanford e, posteriormente, continuou o trabalho na MCC em Austin, Texas, a partir de 1984. O programa foi testado em várias tarefas, incluindo descobrir conceitos em teoria dos números, resolver quebra-cabeças e jogar jogos. A arquitetura de Eurisko consistia em uma memória global de heurísticas, cada uma com uma condição e uma ação, e um conjunto de meta-heurísticas que controlavam a criação, exclusão e alteração dessas heurísticas. O programa usava uma forma de atribuição de crédito para rastrear quais heurísticas contribuíam para resultados bem-sucedidos, permitindo reforçar regras eficazes e descartar as ineficazes.
Conquistas e Aplicações
Uma das conquistas mais famosas de Eurisko foi seu desempenho no jogo Traveller TCS, um wargame de ficção científica. Em 1981, Eurisko, com orientação humana mínima, projetou uma frota de naves que derrotou frotas projetadas por humanos em um torneio nacional, vencendo o campeonato. O sucesso do programa foi atribuído à sua capacidade de descobrir heurísticas não convencionais, como projetar naves com configurações específicas de armas e armaduras que exploravam as regras do jogo de maneiras que os jogadores humanos não haviam considerado. No entanto, as regras do jogo foram posteriormente alteradas para impedir as estratégias de Eurisko, destacando a capacidade do programa de encontrar soluções não óbvias.
Em matemática, Eurisko foi usado para explorar conceitos em teoria dos conjuntos e teoria dos números, redescobrindo resultados conhecidos e ocasionalmente sugerindo novas conjecturas. Por exemplo, identificou relações entre certas estruturas matemáticas, embora suas descobertas nem sempre fossem inovadoras. Eurisko também demonstrou potencial em descoberta científica, como hipotetizar regras para reações químicas, embora essas aplicações fossem menos desenvolvidas do que seu sucesso em jogos.
Arquitetura e Métodos
A inovação central de Eurisko era seu sistema de heurísticas automodificáveis. O programa mantinha uma base de conhecimento de heurísticas, cada uma representada como uma regra com uma condição e uma ação. Meta-heurísticas, que eram elas mesmas heurísticas, podiam ser aplicadas a outras heurísticas, permitindo que Eurisko gerasse novas regras combinando, especializando ou generalizando as existentes. O programa usava um mecanismo chamado "busca heurística" para explorar o espaço de heurísticas possíveis, guiado por uma função de utilidade que estimava o valor potencial de uma regra com base em seu desempenho passado e novidade.
Eurisko empregava uma forma de aprendizado por reforço, pois atualizava a força das heurísticas com base em seu sucesso em alcançar objetivos. Também usava uma técnica semelhante a Curriculum Learning, aumentando gradualmente a complexidade das tarefas que tentava. A capacidade do programa de modificar seu próprio código no nível simbólico o distinguia de abordagens estatísticas posteriores, que tipicamente ajustam parâmetros numéricos. A abordagem de Eurisko era mais próxima da síntese de programas e da descoberta automatizada, que permanecem áreas ativas de pesquisa em Artificial intelligence.
Influência e Legado
Eurisko influenciou pesquisas subsequentes em meta-aprendizado e sistemas de IA automelhoráveis. Suas ideias sobre descoberta automatizada de heurísticas prenunciaram técnicas modernas como busca de arquitetura de Neural network e otimização de hiperparâmetros em Machine learning. No entanto, o sucesso de Eurisko foi limitado por restrições computacionais e pela dificuldade de escalar sua abordagem simbólica para problemas grandes e do mundo real. Lenat posteriormente mudou seu foco para o projeto Cyc, que visava codificar conhecimento de senso comum, e Eurisko não foi ativamente desenvolvido após meados dos anos 1980.
Apesar de sua idade, Eurisko permanece um exemplo notável de um sistema de IA que podia melhorar a si mesmo, um objetivo que continua a impulsionar a pesquisa em Generative AI e desenvolvimento de Large language model. Seu legado é evidente na ênfase em descoberta automatizada e algoritmos adaptativos na IA moderna, embora sistemas contemporâneos dependam de Deep learning e arquiteturas Transformer (architecture) em vez de heurísticas simbólicas. Eurisko é frequentemente citado em discussões sobre a história da IA e os desafios de criar sistemas autônomos de resolução de problemas verdadeiramente autossuficientes.
Comparação com a IA Moderna
Eurisko operava com regras simbólicas explícitas, enquanto sistemas modernos de IA como Large language models usam padrões estatísticos aprendidos de vastos conjuntos de dados. A automodificação de Eurisko era deliberada e interpretável, enquanto modelos modernos ajustam pesos por meio de Stochastic Gradient Descent Variants e métodos semelhantes a Backpropagation, que são menos transparentes. Eurisko exigia especificação manual de heurísticas iniciais, enquanto sistemas modernos aprendem de dados brutos. No entanto, ambas as abordagens compartilham o objetivo de melhorar o desempenho por meio da experiência, e a ênfase de Eurisko em descobrir novas estratégias ressoa com a pesquisa atual em Reinforcement Learning from AI Feedback (RLAIF) e engenharia automatizada de prompts.
As limitações de Eurisko - como sua dependência de conhecimento artesanal e sua dificuldade em escalar - destacam as vantagens das abordagens modernas de Neural network, que podem lidar com dados de alta dimensionalidade e tarefas complexas. No entanto, as contribuições conceituais de Eurisko para automelhoria e descoberta de heurísticas permanecem relevantes, e sua história oferece insights sobre a evolução da IA do raciocínio simbólico para Machine learning.
Referências e Leitura Adicional
- Lenat, D. B. (1983). "Eurisko: A program that learns new heuristics and domain concepts." Artificial Intelligence, 21(1-2), 61-98.
- Lenat, D. B., & Brown, J. S. (1984). "Why AM and Eurisko appear to work." Artificial Intelligence, 23(3), 269-294.
- Buchanan, B. G., & Shortliffe, E. H. (1984). "Rule-Based Expert Systems." Addison-Wesley.
Essas obras fornecem relatos detalhados do design, experimentos e fundamentos teóricos de Eurisko, e situam o programa no contexto mais amplo da pesquisa em Artificial intelligence nos anos 1980.