Em fevereiro, numa secretaria municipal de educação do interior, três problemas dividem a mesma mesa: as rotas do transporte escolar, a grad...
Caso 01
Fevereiro na secretaria
Fevereiro é o mês em que a educação básica brasileira resolve, no braço, alguns dos problemas mais estudados da ciência da computação. São 46,018 milhões de matrículas espalhadas por 178,76 mil escolas públicas e privadas, segundo o Censo Escolar de 2025 (Almeida; Verdélio, 2026). Cada uma dessas escolas precisa de uma grade de horários que caiba nas restrições dos professores. Boa parte precisa de rotas de transporte que caibam no orçamento e na jornada das crianças. E quase todas, hoje, têm alguma plataforma que precisa decidir qual conteúdo mostrar primeiro.
Nas três salas onde esses problemas são resolvidos, a ferramenta costuma ser a mesma: uma planilha, um café e a experiência de quem já fez isso ano passado. Não há nada de errado nisso — mas há algo curioso. Os três problemas têm exatamente a mesma forma matemática, e a literatura que os resolve é a mesma desde 1968.
Nas duas postagens anteriores, a série tratou das buscas cegas e das buscas informadas como máquinas de laboratório: uma malha quadriculada, um quebra-cabeça de oito peças, um robô que tremia. Esta postagem sai do laboratório. A pergunta agora é outra: quando alguém resolve um problema de verdade — recomendar, planejar, otimizar —, o que sobra do algoritmo do livro-texto?
Adianto a resposta, porque ela organiza o resto do texto: sobra o laço inteiro, e some a garantia.
Caso 02
O laço, pela terceira vez
Vale recompor o esqueleto em três linhas, porque ele é o fio de tudo o que vem depois. Uma busca precisa de um estado, de ações que levam de um estado a outro, de um custo por ação e de um teste de objetivo. O algoritmo mantém uma fronteira de estados conhecidos mas ainda não expandidos, retira um deles segundo alguma chave de ordenação, testa e gera os sucessores (Russell; Norvig, 2021). Busca cega e busca informada diferem apenas na chave.
Formular o problema — decidir o que é um estado — é a parte que o livro-texto resolve em meia página e a vida real cobra caro. Repare como a mesma frase muda de sentido nos três casos da secretaria:
A terceira ficha é a que quebra o padrão, e é bom encarar isso logo. Nos dois primeiros casos, um estado é um pedaço de solução e a busca vai construindo — é a busca em espaço de estados dos posts anteriores, com árvore, fronteira e caminho. No terceiro, cada estado já é uma solução completa, possivelmente ruim, e a busca não constrói: ela mexe. Quando o estado passa a ser a solução inteira, o caminho percorrido deixa de interessar e só o destino conta — e isso muda tanto o algoritmo quanto o que se pode prometer sobre ele.
Três seções, três casos. Em cada um, a mesma pergunta: qual é a fronteira, qual é a chave, e o que se perde.
Caso 03
Recomendação: a busca gulosa que roda o dia inteiro
Comece pelo problema que parece menos um problema de busca. Uma plataforma de conteúdo tem um catálogo — cem mil vídeos, dois milhões de produtos, quarenta mil questões de banco — e alguns milissegundos para escolher o que mostrar. A arquitetura padrão, descrita com clareza no artigo em que o YouTube abriu seu sistema de recomendação, tem dois estágios: um de geração de candidatos, que reduz milhões de itens a algumas centenas, e um de ordenação, que só então gasta um modelo pesado sobre esse punhado (Covington; Adams; Sargin, 2016).
O primeiro estágio é o que interessa aqui, e os autores o descrevem sem rodeios: cada item e cada usuário viram um vetor, e escolher os candidatos "se reduz a uma busca dos vizinhos mais próximos" nesse espaço. Um espaço de gosto, se quiser: itens parecidos ficam perto.
Por que não olhar todos
A solução óbvia é varrer o catálogo inteiro e ficar com os mais próximos. Ela é exata, trivial de programar e, num catálogo de dois milhões de itens sob um orçamento de dezenas de milissegundos, impossível. É o mesmo beco da busca cega: correta, completa e cara demais.
A saída que virou padrão da indústria é construir, uma única vez, um grafo de vizinhança: cada item guarda ponteiros para uns poucos itens parecidos. A consulta então não varre nada — ela caminha. Parte de um item qualquer, olha os vizinhos dele, pula para o que estiver mais perto do alvo, repete. Quando nenhum vizinho melhora, parou. É a receita do HNSW, hoje o motor por trás de boa parte dos bancos de dados vetoriais, e os autores a descrevem exatamente assim: uma busca gulosa numa hierarquia de grafos de proximidade (Malkov; Yashunin, 2018).
A consulta não varre o catálogo: ela salta de vizinho em vizinho, sempre para quem parece mais perto do alvo. Nada aqui é novo — é a busca gulosa do post anterior, com o mapa trocado.
Pare um segundo nessa frase, porque ela é o ponto da seção. O algoritmo que decide o que aparece na sua tela é, literalmente, a busca gulosa de melhor escolha: chave de ordenação f = h, sem nenhum g. E ela herda o defeito inteiro da gulosa: pode parar num mínimo local — um item que é melhor que todos os seus vizinhos e ainda assim não é o melhor do catálogo.
A correção é a mesma de 1968
A indústria corrigiu o problema do mesmo jeito que Hart, Nilsson e Raphael corrigiram a gulosa: guardando alternativas (Hart; Nilsson; Raphael, 1968). Em vez de manter só o melhor candidato do momento, a busca mantém uma fronteira com ef candidatos e só para quando nenhum deles promete melhorar. Com ef = 1, é a gulosa pura. Quanto maior o ef, mais o algoritmo se parece com uma busca de melhor escolha bem-comportada — e mais caro fica.
Montei um catálogo fictício de 180 itens num plano de gosto de duas dimensões, liguei cada item aos cinco mais parecidos e rodei 300 consultas sorteadas. O que a fronteira compra aparece na proporção de vezes em que a busca devolve exatamente o item mais próximo:
A leitura é a de sempre nesta série: a garantia tem preço, e o preço é trabalho. A diferença é que aqui ninguém paga o preço inteiro. Em produção, 95% de acerto entregue em oito milissegundos vale mais do que 100% entregue em oitenta — e essa frase, que seria heresia num curso de algoritmos, é a decisão de engenharia mais comum do setor.
O que acontece quando o catálogo cresce
O argumento decisivo, porém, não está no acerto: está na escala. Repeti a medição com catálogos cada vez maiores, mantendo a fronteira em oito candidatos.
Tabela 1 — Busca em grafo de vizinhança por tamanho do catálogo, em catálogos fictícios, 2026
| Itens no catálogo | Acerto exato (%) | Comparações por consulta | Proporção do catálogo (%) |
|---|---|---|---|
| 180 | 97,3 | 46,2 | 25,7 |
| 1 000 | 94,7 | 94,3 | 9,4 |
| 5 000 | 88,3 | 187,5 | 3,8 |
| 20 000 | 91,3 | 350,8 | 1,8 |
Fonte: elaborado pelo autor; medição própria em catálogos fictícios gerados em quatro agrupamentos, com 300 consultas sorteadas por tamanho.Nota: grafo de vizinhança com os cinco itens mais próximos de cada item, tornado simétrico; fronteira de oito candidatos; entrada sempre pelo item de índice zero. "Acerto exato" é a proporção de consultas em que a busca devolveu o mesmo item que a varredura completa devolveria. "Comparações" é a média de distâncias efetivamente calculadas por consulta.
Multiplique o catálogo por 111 e o trabalho por consulta se multiplica por menos de oito. O catálogo cresce como um bolo; o trabalho da busca cresce como a régua que se usa para medi-lo. É esse descompasso — e não o acerto — que torna o método inevitável: numa varredura, dobrar o acervo dobra a conta; aqui, quase não muda nada.
A coluna do acerto, porém, tem um recado incômodo: ela não sobe junto. Vai de 97,3% a 88,3% e volta a 91,3%, sem padrão. O motivo é estrutural: com um número fixo de vizinhos por item, um catálogo maior fica localmente mais denso, e a busca gulosa passa a ter mais chances de ficar presa antes de atravessar a região certa. Um grafo achatado não escala de graça: o acerto se degrada em silêncio conforme o acervo cresce. É exatamente esse problema que o HNSW resolve empilhando camadas — os saltos longos ficam numa camada de cima, esparsa, e os ajustes finos embaixo. O que medi aqui é a versão sem a hierarquia, e o preço dela aparece na tabela.
Caso 04
Planejamento: o neto do Shakey
O segundo problema da mesa é a van. Quatro alunos esperam em pontos diferentes de uma zona rural, a van leva dois por vez, e a escola fica na outra ponta. Qual é a sequência de ações que entrega todo mundo com o menor número de movimentos?
Repare que a pergunta mudou de natureza. No caso da recomendação, o objetivo era um lugar no espaço; aqui, o objetivo é uma condição — "todos entregues" —, e o que se procura não é um ponto, é uma sequência. Esse é o problema de planejamento, e ele tem uma certidão de nascimento: o STRIPS, escrito por Richard Fikes e Nils Nilsson em 1971 para dar um cérebro ao mesmo robô Shakey da postagem anterior (Fikes; Nilsson, 1971).
A ideia do STRIPS é de uma simplicidade que sobreviveu a cinquenta e cinco anos: um estado é um conjunto de fatos; uma ação tem pré-condições (os fatos que precisam valer para que ela possa ocorrer), uma lista de adição (os fatos que ela cria) e uma lista de remoção (os fatos que ela destrói). Planejar é buscar, no espaço desses estados, uma sequência que leve do estado inicial a um estado em que o objetivo valha. A notação mudou de nome — hoje se escreve em PDDL, a linguagem das competições internacionais de planejamento —, mas a anatomia é essa.
E o problema é o de sempre: o espaço explode. Na versão minúscula da van — sete pontos, quatro alunos, três situações possíveis por aluno — já são 567 combinações no papel, das quais 504 efetivamente alcançáveis. Troque por vinte alunos e trinta pontos e não há máquina.
A heurística que vem de apagar uma regra
A postagem anterior terminou com uma receita: para obter uma heurística admissível, apague uma restrição do problema, resolva o problema mais fácil que sobrar e use esse custo como estimativa. O planejamento moderno é, em boa medida, a aplicação industrial dessa receita — e a restrição que se apaga tem nome e endereço: a lista de remoção.
A intuição é bonita. Se as ações só adicionam fatos e nunca destroem nenhum, o mundo deixa de ter conflitos: nada do que você conquistou pode ser perdido depois. O problema relaxado que sobra é resolvido rápido, e o tamanho do plano relaxado vira a estimativa do que falta. Foi essa a ideia que o planejador FF, de Jörg Hoffmann e Bernhard Nebel, levou ao primeiro lugar da competição de 2000 e transformou em padrão da área (Hoffmann; Nebel, 2001).
Risque a lista de remoção e o problema perde os conflitos. O plano que sobra é otimista por construção — exatamente o que a admissibilidade pede.
Para a van, o plano relaxado dá uma conta simples: cada aluno que ainda espera exige pelo menos um embarque e um desembarque; cada aluno já a bordo exige pelo menos um desembarque; e é preciso, no mínimo, ir até o aluno pendente mais distante e voltar. Verifiquei por enumeração que essa estimativa nunca supera o custo real em nenhum dos 504 estados alcançáveis: é admissível. Com ela na chave da fila, o resultado é este:
Tabela 2 — Desempenho de três estratégias no problema fictício da van escolar, 2026
| Estratégia | Estados expandidos | Ações do plano | Plano ótimo? |
|---|---|---|---|
| Busca em largura (cega) | 480 | 24 | Sim, sempre |
| Busca em profundidade (cega) | 35 | 28 | Em 23 de 200 ordenações |
| A* com plano relaxado | 228 | 24 | Sim, sempre |
Fonte: elaborado pelo autor; medição própria por implementação independente em Python.Nota: problema fictício com sete pontos ligados em árvore, quatro alunos, capacidade de dois passageiros e custo 1 por ação (mover, embarcar, desembarcar); 504 estados alcançáveis. Os valores da busca em profundidade são as medianas de 200 execuções com ordens de sucessores sorteadas (expandidos: mínimo 25, máximo 49; plano: mínimo 24, máximo 32). O plano ótimo tem 24 ações, verificado por busca em largura.
Duas leituras, e a segunda é a interessante.
A primeira é a esperada: a heurística corta mais da metade do trabalho da busca em largura sem abrir mão de nada. Mesma resposta, 52,5% menos estados abertos.
A segunda é um contraexemplo que eu não planejava encontrar. A busca em profundidade — cega, sem nenhuma informação, a mais simplória do repertório — expandiu trinta e cinco estados, sete vezes menos que o A*. E devolveu um plano com 28 ações em vez de 24. Mudando apenas a ordem em que os sucessores entram na pilha, ela vai de 25 a 49 estados expandidos e de 24 a 32 ações no plano, acertando o ótimo em pouco mais de um décimo das tentativas. A busca em profundidade é barata porque é uma loteria: quando o problema não tem becos sem saída, quase qualquer caminho chega — e "quase qualquer caminho" é exatamente o que ela devolve.
Isso não é uma curiosidade de laboratório. É a razão pela qual tanto sistema em produção roda uma heurística construtiva simples e para por aí: em problemas sem armadilhas, o resultado fica perto o bastante. A diferença entre esse projeto e um erro é saber que se escolheu isso.
Caso 05
Otimização: quando a busca perde a árvore
O terceiro problema é a roteirização. Uma van, um depósito, treze paradas, e a pergunta clássica: em que ordem visitar todas e voltar, gastando o mínimo?
Aqui o espaço de busca muda de forma. Não há caminho parcial a expandir: qualquer ordem das treze paradas já é uma rota válida. O que existe é um conjunto de soluções completas, e ele tem 13!/2 = 3 113 510 400 elementos — três bilhões de rotas para treze entregas. Uma busca cega que enumerasse todas a um milhão por segundo levaria 52 minutos para decidir o itinerário de uma van. Com quinze paradas, seriam sete dias e meio.
Quando o estado é uma solução inteira, a busca deixa de ser uma árvore e vira um passeio: o algoritmo mantém uma solução na mão e tenta trocá-la por uma vizinha melhor. É a busca local (Russell; Norvig, 2021), e ela tem três peças: uma solução inicial, uma definição de vizinhança e uma regra de aceitação.
Rodei as três peças numa instância fictícia de um depósito e treze paradas, com o ótimo calculado exatamente por programação dinâmica, para ter um parâmetro honesto de comparação:
Tabela 3 — Qualidade e esforço de quatro estratégias de roteirização em instância fictícia de 14 pontos, 2026
| Estratégia | Distância | Em relação ao ótimo (%) | Avaliações de rota |
|---|---|---|---|
| Ótimo exato (programação dinâmica) | 1 406,7 | 100,0 | 229 376 |
| Vizinho mais próximo | 1 865,3 | 132,6 | 91 |
| 2-opt a partir dele | 1 528,0 | 108,6 | 293 |
| 2-opt com 200 reinícios aleatórios | 1 406,7 | 100,0 | 86 766 |
Fonte: elaborado pelo autor; medição própria por implementação independente em Python sobre instância fictícia com coordenadas sorteadas e semente fixa.Nota: distâncias euclidianas em unidades arbitrárias do plano da instância. O ótimo foi obtido pelo algoritmo de Held-Karp, cuja contagem de avaliações corresponde às células da tabela de programação dinâmica. "Avaliações de rota" conta cada cálculo de distância entre pares feito pela estratégia. O 2-opt adota a regra da primeira melhora e para no primeiro mínimo local; os reinícios partem de ordens sorteadas.
A linha do meio é a aula inteira. O 2-opt saiu de 132,6% e chegou a 108,6% do ótimo com nove trocas e menos de trezentas contas — e então parou, não porque tivesse chegado, mas porque nenhuma troca de dois trechos melhorava mais nada. Estava num mínimo local. Os 200 reinícios encontram o ótimo, mas custam trezentas vezes mais.
A busca informada trocou completude por tempo; a busca local troca a própria noção de resposta certa por "a melhor que eu consegui até agora". É por isso que a área inteira gira em torno de truques para escapar de mínimos locais, e não em torno de heurísticas melhores. A biblioteca de roteirização mais usada em produção hoje oferece, lado a lado, uma lista de construtores de solução inicial — vizinho mais próximo, economias de Clarke e Wright, varredura, Christofides — e uma lista de metaheurísticas para depois: descida gulosa, busca tabu, recozimento simulado e a busca local guiada, que a própria documentação indica como "geralmente a metaheurística mais eficiente para roteirização de veículos" (Google, 2026). Nenhuma delas promete o ótimo. Todas prometem parar na hora que você mandar.
Na busca local não existe fronteira: existe uma bolinha num vale. O trabalho todo é convencê-la a sair de um vale raso sem perder o que já ganhou.
Um aviso sobre o seu aplicativo de mapas
Vale desfazer um mal-entendido que esta série pode ter ajudado a criar. É verdade que o A* nasceu para achar caminhos e que ele está em todo lugar; não é verdade que o seu aplicativo de rotas rode um A* puro sobre a malha viária do país a cada consulta. Sistemas de rota em redes grandes fazem um pesado pré-processamento da malha — a técnica mais conhecida, as hierarquias de contração, adiciona atalhos calculados uma vez e depois responde consultas ordens de grandeza mais rápido que uma busca clássica (Geisberger, 2008). Em escala real, a maior parte do ganho não vem de buscar melhor: vem de ter buscado antes.
Caso 06
Os três no mesmo tabuleiro
Os números das três tabelas acima ficam mais convincentes quando se vê o formato do trabalho. Abaixo, os três problemas da secretaria, cada um com as estratégias da sua seção. Escolha um domínio, escolha uma estratégia e rode. O que interessa não é quem vence: é reparar que a mancha deixada por cada uma tem um desenho próprio — e que o desenho é o argumento.
Recomendação · busca gulosa · ef = 1
Cada bolinha é um item do catálogo, ligado aos cinco itens mais parecidos. A busca parte de um item qualquer e salta sempre para o vizinho que parece mais perto do alvo — a cruz. Clique no palco para mudar o alvo e em Rodar para ver o caminho.
Rode as nove combinações antes de seguir. Na primeira aba, a gulosa toca algumas dezenas de itens e às vezes erra o alvo por pouco; a varredura acerta sempre e acende o catálogo inteiro. Na segunda, a busca em largura pinta quase todo o quadro de estados, a profundidade acende meia dúzia de quadradinhos espalhados e traz um plano pior, e o A* com plano relaxado fica no meio com a resposta da largura. Na terceira, a rota gulosa se cruza sozinha, o 2-opt desfaz os cruzamentos e trava, e os reinícios encontram o que o 2-opt sozinho não achou.
Caso 07
O que sobra do livro-texto
Juntando as três seções, dá para montar o quadro que eu gostaria de ter visto no começo do semestre:
Quadro 1 — Formulação e garantias da busca em três classes de aplicação
| Aspecto | Recomendação | Planejamento | Otimização |
|---|---|---|---|
| O que é um estado | Um item do catálogo | Uma situação do mundo | Uma solução completa |
| O que é uma ação | Pular para um vizinho | Aplicar um operador | Alterar a solução |
| De onde vem a heurística | A distância no espaço de gosto | Relaxamento do problema | Não há: há função objetivo |
| O que se mede | Acerto e latência | Tamanho do plano e nós abertos | Distância do ótimo e tempo |
| Garantia realista | Nenhuma; erro conhecido | Ótimo, se a heurística for admissível | Nenhuma; melhor achado até agora |
| Quando parar | Quando nenhum vizinho melhora | Quando o objetivo sai da fronteira | Quando o relógio mandar |
Fonte: elaborado pelo autor com base em Russell e Norvig (2021), Hoffmann e Nebel (2001), Malkov e Yashunin (2018) e na documentação da biblioteca OR-Tools (Google, 2026).Nota: o quadro descreve o uso corrente em sistemas de produção, não o conjunto de variantes possíveis de cada classe. Em planejamento, a garantia de otimalidade vale para a busca com heurística admissível; muitos planejadores de produção abrem mão dela em troca de velocidade.
A busca cega não morreu
Um risco desta série é deixar a impressão de que a busca cega é uma peça de museu, útil só para explicar a busca informada. Ela não é — e vale nomear onde ela continua sendo a escolha certa, não a escolha ingênua.
- Quando não existe heurística barata. Estimar o que falta pode custar mais que buscar. Se o palpite não sai de graça, a chave f = g volta a ser a melhor que existe.
- Quando o espaço é pequeno. Quinhentos estados cabem na memória de qualquer coisa. Montar uma heurística para eles é engenharia desperdiçada — como mostra a segunda linha da Tabela 2.
- Quando a pergunta é "existe caminho?", não "qual o melhor?". Verificar alcançabilidade, resolver dependências entre pacotes, varrer o que um coletor de lixo ainda consegue enxergar: tudo isso é busca em profundidade, e nenhum desses problemas tem noção de "mais perto".
- Quando o custo é uniforme e a resposta é rasa. A busca em largura devolve o menor número de passos sem precisar de nada. É o algoritmo por trás de qualquer "graus de separação".
Busca cega e busca informada não são degraus de uma escada: são ferramentas com faixas de uso diferentes, e a faixa é decidida pelo custo do palpite.
Aplicação prática
Seis perguntas antes de escrever a primeira linha
Marque os itens conforme conseguir respondê-los sobre um problema de decisão da sua própria área — a escala do plantão, a distribuição das turmas, a fila de atendimento, a trilha de estudo.
0 de 6 — comece definindo o estado.
Caso encerrado
De volta à mesa de fevereiro
A coordenadora que monta a grade de horários no braço está fazendo busca com retrocesso e uma heurística de ordenação de variáveis: ela começa pelo professor com menos janelas disponíveis, porque aprendeu que deixar esse para o fim dá retrabalho. É a heurística do valor mais restrito, que está no capítulo de satisfação de restrições de qualquer livro da área (Luger, 2013), e ela chegou lá sozinha, em três anos de fevereiro.
O motorista que desenha a rota da van faz construção gulosa com busca local: monta o trajeto pelo ponto mais próximo e depois desfaz os dois cruzamentos que incomodam. É vizinho mais próximo com 2-opt, sem esse nome.
E a plataforma que a rede contratou faz uma busca gulosa num grafo de vizinhança para decidir o que aparece na tela do aluno — só que essa ninguém na secretaria pode inspecionar, ajustar ou auditar, porque ela chega pronta, embrulhada em contrato.
Essa assimetria é, para mim, a razão pedagógica de a série existir. Saber que aquilo é uma busca gulosa com uma fronteira de tamanho configurável muda a conversa de "a inteligência artificial recomendou" para "qual é o critério, e quanto ele erra". É uma pergunta de licitação, não de laboratório.
Pense na decisão que a sua instituição toma todo ano no braço, sempre do mesmo jeito. Qual é o estado, qual é a ação, e qual é o palpite que a pessoa experiente usa sem saber que está usando?
Nota do autor: todos os números das Tabelas 1, 2 e 3 e do painel de barras são medição própria, obtida por implementação independente em Python durante a preparação deste texto, sobre instâncias fictícias com sementes fixas; não são reproduções de tabelas de livro-texto nem de benchmarks publicados. As instâncias foram escolhidas de propósito para separar os comportamentos: no caso da roteirização, foram testadas quarenta sementes e escolhida uma em que o 2-opt trava acima do ótimo, porque nas sementes em que ele alcança o ótimo o contraste do mínimo local desaparece — em instâncias fáceis, o 2-opt simples resolve tudo e a terceira linha da Tabela 3 seria dispensável. A admissibilidade da heurística de plano relaxado foi verificada por enumeração dos 504 estados alcançáveis da instância da van, comparando a estimativa ao custo ótimo real de cada estado. Os valores da busca em profundidade são medianas de 200 ordens de sucessores sorteadas, porque uma única execução diz mais sobre a ordem escolhida que sobre o algoritmo; no simulador desta página, a busca em profundidade usa uma ordem fixa, e por isso seus números diferem da mediana da tabela. As medições de recomendação usam distância euclidiana em duas dimensões, enquanto sistemas reais trabalham com dezenas ou centenas de dimensões, onde a vantagem do grafo sobre a varredura é maior, não menor; o efeito da dimensionalidade não foi medido aqui. Sobre as fontes: o artigo do HNSW é citado na versão de acesso aberto depositada em repositório de pré-publicações, que é a que se pode consultar sem assinatura; a documentação do OR-Tools não traz data explícita de atualização, e o ano indicado na referência é o do acesso. O número de matrículas e de escolas vem da divulgação do Censo Escolar de 2025 noticiada em fevereiro de 2026, e não da tabulação completa do Inep.
Referências
- ALMEIDA, Daniella; VERDÉLIO, Andreia. Censo registra queda de 1 milhão de matrículas na educação básica. Agência Brasil, Brasília, 26 fev. 2026. Disponível em: https://agenciabrasil.ebc.com.br/educacao/noticia/2026-02/censo-registra-queda-de-1-milhao-de-matriculas-na-educacao-basica. Acesso em: 20 set. 2026.
- COVINGTON, Paul; ADAMS, Jay; SARGIN, Emre. Deep neural networks for YouTube recommendations. In: ACM CONFERENCE ON RECOMMENDER SYSTEMS, 10., 2016, Boston. Proceedings of the 10th ACM Conference on Recommender Systems. Nova York: ACM, 2016. p. 191-198. Disponível em: https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45530.pdf. Acesso em: 20 set. 2026.
- FIKES, Richard E.; NILSSON, Nils J. STRIPS: a new approach to the application of theorem proving to problem solving. Artificial Intelligence, Amsterdã, v. 2, n. 3-4, p. 189-208, 1971. Disponível em: https://ai.stanford.edu/~nilsson/OnlinePubs-Nils/PublishedPapers/strips.pdf. Acesso em: 20 set. 2026.
- GEISBERGER, Robert. Contraction hierarchies: faster and simpler hierarchical routing in road networks. 2008. Diplomarbeit (Diplom em Informática) – Institut für Theoretische Informatik, Universität Karlsruhe, Karlsruhe, 2008. Disponível em: https://ae.iti.kit.edu/download/diploma_thesis_geisberger.pdf. Acesso em: 20 set. 2026.
- GOOGLE. Routing options: OR-Tools. [S. l.]: Google for Developers, 2026. Disponível em: https://developers.google.com/optimization/routing/routing_options. Acesso em: 20 set. 2026.
- HART, Peter E.; NILSSON, Nils J.; RAPHAEL, Bertram. A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, Nova York, v. 4, n. 2, p. 100-107, jul. 1968. Disponível em: https://ieeexplore.ieee.org/document/4082128/. Acesso em: 20 set. 2026.
- HOFFMANN, Jörg; NEBEL, Bernhard. The FF planning system: fast plan generation through heuristic search. Journal of Artificial Intelligence Research, [s. l.], v. 14, p. 253-302, 2001. Disponível em: https://www.jair.org/index.php/jair/article/view/10276. Acesso em: 20 set. 2026.
- LUGER, George F. Inteligência artificial. 6. ed. São Paulo: Pearson Education do Brasil, 2013.
- MALKOV, Yury A.; YASHUNIN, Dmitry A. Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs. [S. l.]: arXiv, 2018. Pré-publicação arXiv:1603.09320v4. Disponível em: https://arxiv.org/abs/1603.09320. Acesso em: 20 set. 2026.
- RUSSELL, Stuart; NORVIG, Peter. Artificial intelligence: a modern approach. 4. ed. Hoboken: Pearson, 2021.
Comentários