No inicio do ano de 2005 a série Numb3rs fez a sua estreia nos Estados Unidos. O enredo do primeiro episódio chamado Pilot se baseou no trabalho de um pesquisador chamado Kim Rossmo, que conseguiu identificar a localização de vários criminosos, utilizando coordenadas dos locais onde os delitos foram cometidos.
Quando assisti essa série em 2012, eu não sabia que alguns episódios eram baseados em investigações reais. E depois de descobrir uma área complemente nova (Geographic profiling) decidi matar a seguinte curiosidade:
Utilizando as ferramentas computacionais disponíveis em 2024 seria possível eu simular, com dados fictícios, um resultado semelhante ao que inspirou o primeiro episódio de Numb3rs?
Colocando uma IA para trabalhar
Antes de começarmos, eu preciso explicar o contexto dessa empreitada.
Mesmo sendo um programador e conhecendo bem os bairros de Belo Horizonte, nunca analisei a Fórmula de Rossmo em detalhes. A ideia era deixar a ferramenta de IA fazer todo o trabalho.
Gerando uma Versão para Computadores Pessoais
Iniciei a operação na ferramenta passando para ela os seguintes parâmetros iniciais:
- Gerar uma aplicação Desktop na linguagem Microsoft C#.
- Simular os crimes na cidade de Belo Horizonte.
- Plotar as localizações dos crimes utilizando o Google Maps.
- Gerar também um gráfico com os locais com maior probabilidade de serem a localização do criminoso.
Um pequeno problema aconteceu no primeiro resultado: as marcações dos locais dos crimes fictícios no componente do Google Maps em Desktop não aconteceram.
A probabilidade do criminoso morar perto da Praça da Liberdade é coerente. Dado que os locais de crimes fictícios gerados foram os bairros Savassi, Pampulha, Centro e Barreiro .
Gerando uma versão para Internet
Solicitei que a ferramenta de IA reformulasse o mesmo aplicativo utilizando html e javascritpt.
Essa nova versão, produziu as marcações com sucesso no mapa. Porém , a probabilidade de o criminoso morar perto do Mineirão se tornou a maior.
O que me deixou um pouco desconfiado a respeito da eficiência da ferramenta.
Uma terceira abordagem
Após um tempo (alguns dias) resolvi tentar uma nova abordagem: utilizar a ferramenta a partir de um prompt.
Inseri o seguinte prompt em minha requisição:
Quero que você assuma o papel de um Engenheiro de Software Sênior com especialização em C# e também especializado em Geographical Profiling Criminology
A partir de agora, a ferramenta se comportou de uma forma um pouco mais objetiva e construiu um protótipo mais avançado, usando o Framework Web React.
E sem nenhum pedido meu, a ferramenta construiu um mapa de calor para sinalizar a região onde o potencial criminoso mora (espaço em amarelo).
A partir daí, retomei minha confiança na ferramenta.
E o mais legal, passou bem perto do resultado exibido no primeiro episódio de Numb3rs.
Conclusão
Em uma de suas recentes entrevistas Kim Rossmo deu exemplos de aplicações de Geographical Profiling em diferentes áreas. Desde o Combate à malária no Cairo, localização de bombas improvisadas no Afeganistão até a prevenção de ataques de tubarões.
Os dois temas são relativamente novos para mim (Geração de código por IA e Geographical Profiling) e eu fiquei muito feliz de conseguir, em alguns minutos, reproduzir um protótipo usando dados reais.
É um belo incentivo para alguém continuar se aprofundando e gerar algo mais robusto no futuro.
Espero que esse texto tenha sido útil para você de alguma forma.
Um abraço e obrigado pela leitura.