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.

Kim Rossmo discusses geographic profiling with Big Ideas TXST : Newsroom : Texas State University

Segundo o IMDB Rossmo também participou indireta ou diretamente de outras produções cinematográficas envolvendo True Crime como The Code, Dark Water e The Exhibition.

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:

  1. Gerar uma aplicação Desktop na linguagem Microsoft C#.
  2. Simular os crimes na cidade de Belo Horizonte.
  3. Plotar as localizações dos crimes utilizando o Google Maps.
  4. 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.

 

Resultado Desktop

Tela dividida de um Aplicativo para Computadores pessoais. No lado esquerdo há um gráfico de barras, sendo a barra maior sinalizada como Praça da Liberdade. Em contrapartida no lado direito, há um mapa da Cidade de Belo Horizonte, sem nenhuma marcação.

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.

Rossmo em Javascript

Marcações em Javascript

 

Rossmo em Javascript

Gráfico em Javascript

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).

Fórmula de Rossmo com Prompt

Mapa da cidade de Belo Horizonte, com uma marca em amarelo sinalizando a região central e pontos vermelhos ao redor sinalizando os locais em que os crimes fictícios foram cometidos.

A partir daí, retomei minha confiança na ferramenta.

Section Three - Why Do We Need A GIS? | Vector Based GIS

Personagem Charlie Eppes da Série Numb3rs apontando para um mapa de calor da Califórnia

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.