Inteligência Artificial Geral, uma Breve História
Desde Alan Turing até os avanços recentes em Inteligência Artificial Geral

O hype em inteligência artificial está no seu ápice na história, e não é à toa, temos hoje carros autônomos (e elétricos), a possibilidade de táxis autônomos pela Tesla e outras empresas, modelos de linguagem que realizam traduções melhores do que nunca e que podem gerar imagens artificiais impressionantes (como usando Stable Diffusion ou GANS). Mesmo a velocidade de algoritmos você pode analisar rapidamente num Chat GPT da vida, ou trocar uma função de uma linguagem de programação para outra. Porém nem sempre as coisas foram assim, o objetivo aqui é apenas dar uma noção do começo da Inteligência Artificial Geral, sem focar nos detalhes, mas em eventos e papers essenciais para a evolução do tema, embora de forma breve. O Paper de Alan Turing em 1950 É impossível não começar com o paper “Computing Machinery and Intelligence” de Alan Turing. Turing talvez seja o pai da inteligência artificial, não seria um exagero, nesse artigo ele demonstra não só a possibilidade, mas que de fato seria possível criar funções computacionais que aprendem. Ele mesmo que veio com a noção de Máquina de Turing, que visava uma máquina universal que poderia operar qualquer função recursiva que fosse computável (embora existam funções não computáveis, como o décimo problema de Hilbert). Ele deu formas de medir a capacidade de aprender de um sistema como esse, e sugeriu (essa é a melhor parte), que seria melhor simular a mente de uma criança primeiro ao invés de um adulto, e que usar componentes randômicos no modelo de aprendizado (algo que é usado hoje), seria uma forma de dar um start inicial no sistema, o que é chamado em alguns algoritmos de e–greedy. Em manuscritos que podem ser achados no Turing Archive, um site que dispõe todos os artigos e manuscritos de Turing, incluindo alguns sobre a famosa máquina que decifrou a enigma dos alemães na Segunda Guerra Mundial (um dos menores feitos de Turing na minha opinião), sobre formas de computar a Riemann zeta function, sobre morfogênese química, sobre análise combinatória em Poker (num dos manuscritos), mas principalmente de um tema peculiar. Turing também tinha um manuscrito em que ele falava da possibilidade de criar um algoritmo que jogasse xadrez, dando razões dessa possibilidade, e em outro mais breve, até sugerindo um que pudesse jogar Go, o que é conveniente, pois décadas depois o Alphazero e o Alphago da Deep mind chegaram no nível mais alto nesses jogos, algo que na época, era visto como algo impossível. Assim, Alan Turing é também o pai da Inteligência Artificial nos Games. O algoritmo que mudou tudo: Backpropagation Um divisor de águas após os dois Invernos da IA, onde o hype não correspondeu aos resultados que eram dados na época, seja por falta de capacidade computacionais, modelos fracos teoricamente e um ambiente onde fazer o que é feito hoje seria literalmente impossível (são invernos justificáveis até aí), foi o algoritmo chamado Backpropagation, que é uma forma de Descida de Gradiente (Gradient Descent). O que é Descida de Gradiente? É basicamente uma forma de achar as partes mais baixas de funções convexas e não convexas (o caso da IA), é uma técnica de cálculo que podemos ver inicialmente num artigo de Cauchy chamado "Méthode générale pour la résolution des systèmes d’équations simultanées" (1847), um pequeno artigo mostrando a solução para um sistema de equações simultâneas em que você gostaria de buscar o menor valor, no contexto aqui, devemos chamar essa região topológica de “Global Minima” para a região mais baixa dessa função e “local minimas” para regiões mais baixas, mas não tanto quanto a anterior. Jacobi também buscou demonstrar um problema similar só que de forma mais expansiva em “De determinantibus functionalibus” (1847), embora não da mesma forma de Jacobi. E isso é importante, pois vai fazer diferença para a descoberta da equação posteriormente. No início do século 20 vemos Hadamard tratando sobre o problema que Cauchy começando com o Teorema Cauchy–Kowavelysk e tentando mostrar as possíveis soluções de forma bem ampla. Porém foi somente com um artigo de Linnainmaa que o tema pegou corpo para uma possível aplicação em IA posteriormente, um artigo chamado “Taylor expansion of the accumulated rounding error” (1976). De forma independente Rumelhart,Hinton e Williams em 1984 num artigo chamado “Learning representations by back-propagating errors”, descobriram uma forma de aplicar esse algoritmo usando o conceito de achar as partes mais baixas desse gradiente para corrigir erros do sistema, então seria como um algoritmo de otimização de erros, um algoritmo que iria se atualizar depois de calcular os erros nos gradientes, sendo essa funções não convexas. Um problema NP-Hard até então, e mesmo agora ele deveria ser (mas aparentemente não é um problema praticamente). Esse algoritmo de fato é