No último artigo, falamos sobre a importância do conhecimento matemático para aplicações de IA. Hoje, vamos falar sobre uma situação real e analisar como dois algoritmos baseados em modelos matemáticos diferentes podem nos apresentar resultados diferentes, ressaltando assim a importância da escolha do modelo. Para elucidar nosso cenário, vamos falar sobre cidades inteligentes.
O termo cidade inteligente nos remete a um assunto muito amplo, e seria complicado tratá-lo em poucas páginas. Sendo assim, vamos falar apenas da infraestrutura necessária para se desenvolver uma cidade inteligente e nos ater a uma específica, o Smart Grid.
O que é um Smart Grid?
O Smart Grid é uma rede elétrica inteligente baseada em recursos avançados de TI, telecomunicações, sensoriamento, medição e automação. O objetivo de um Smart Grid é aumentar sua eficiência em lidar com cenários com fontes intermitentes e distribuídas de energia, altos requisitos de qualidade e confiabilidade.
Além disso, o Smart Grid deve ter baixo impacto ambiental e estar apto a trabalhar com novos mercados de energia, ou seja, de ser capaz de se integrar com energia solar, eólica e aceitar o consumidor final como um produtor de energia.
O problema no Brasil
Dentro da realidade brasileira, esse cenário fica um pouco mais complexo. As cargas elétricas variam constantemente, e isso gera uma variação na tensão. Sendo assim, fica muito complicado para os gerenciadores de sistema, pois eles precisam injetar ou absorver potência reativa para controlar a tensão.
Essas cargas variam por motivos como horários de pico, quedas de subestações, distância dos ramos de distribuição, intempéries, mau funcionamento de equipamentos, dentre outros.
Outro problema encontrado é que a rede de distribuição elétrica brasileira não está totalmente apta a receber energia produzida por um consumidor final – uma casa que produza energia elétrica por meio de energia solar tem dificuldade em vender o excedente para o distribuidor, por exemplo. Além disso, existem problemas mais técnicos, como ilhamentos.
Na imagem abaixo, conseguimos ter dimensão da dificuldade dada a ramificação dessa distribuição.
Outro ponto é a legislação brasileira, já que, segundo a ANEEL, as concessionárias de energia devem manter um limite de qualidade de energia que é baseado na variação de tensão. Essa variação deve ser mantida dentro do espectro 0,95TC ≤ TL ≤ 1,05 TC, onde TL = tensão de leitura e TC = tensão contratada. Caso esse valor não seja mantido, a concessionária paga multa relativa ao tempo em que passa fora desse limiar.
Algoritmos vs algoritmos
Vamos tentar resumir o problema para podermos entendê-lo melhor. Imagine um grafo com vários pontos. Todas as arestas devem ser percorridas e todos os pontos são capazes de gerar energia, mas esses pontos podem falhar a qualquer momento e toda a rede precisa ser recalculada para que o limiar de tensão permaneça intacto.
Existem vários algoritmos capazes de nos ajudar com esse problema. Se pensarmos nele como um típico problema do caixeiro viajante, podemos trabalhar com ACO (ant colony optimization), já visto em edições anteriores.
Porém, precisamos levar em consideração o recálculo baseado no caos. Sendo assim, uma possível abordagem seria trabalharmos com lógica fuzzy ou SIA (Sistemas imunológicos artificiais), ambos também já vistos em edições anteriores.
Mas, se pesquisarmos na literatura, vemos que outras soluções também são possíveis, como nuvem de partículas, algoritmos de seleção negativa, RNA e otimização multiobjetivo. Então, qual algoritmo melhor se adapta ao nosso problema?
Abaixo podemos ver a comparação de alguns algoritmos.
Comparação entre técnicas de classificação
Comparação entre técnicas de regressão
Comparação entre técnicas de clustering
Observando as comparações acima, podemos identificar que a escolha do algoritmo depende do tipo de problema e dos recursos disponíveis para a resolução dele. Em relação aos recursos disponíveis, é simples entendermos a necessidade de sua compreensão.
Poucos recursos computacionais ou um data set restrito podem ser limitantes na resolução do nosso problema. Porém, o entendimento do nosso problema e dos algoritmos nos ajuda a fazer uma escolha mais assertiva.
Primeiro, vamos levar em consideração o problema da extensão da rede e o princípio do caos. O tamanho da rede é um problema, porque precisamos identificá-lo de forma a otimizar onde podem ser instalados os reguladores de tensão.
Outro ponto interessante é a ideia de caos que a rede pode apresentar devido ao grande número de variáveis. Sob esse espectro, seria interessante a utilização da lógica fuzzy, visto que ela funciona muito bem para redução do espaço da busca e por ela ser uma lógica que lida muito bem com imprecisões.
Veja que a lógica fuzzy trabalha como um sistema especialista, ou seja, por meio de regras predefinidas, é possível estabelecer um critério que permite eliminar as barras cujas instalações de reguladores não seriam factíveis.
Com isso, nós limitamos a nossa busca. Agora, vamos falar sobre as imprecisões. Mais uma vez, partimos de um sistema especialista que identifica as principais variáveis que podem influenciar nas decisões a serem tomadas. Essas variáveis são expressas por meio de funções de pertinência capazes de expressar o grau de compatibilidade com o conhecimento especialista de forma quantitativa.
Bom, conseguimos identificar que a lógica fuzzy é uma boa opção para resolução desse tipo de problema, mas ela é suficiente?
Nada está escrito em pedra
A beleza da IA é que não ficamos limitados a uma única solução. Dentro do estudo da IA, um paralelo interessante é trabalharmos com lógicas híbridas.
Encontramos uma boa solução para a resolução do problema, mas será que ela pode ser melhorada? Com os algoritmos genéticos (AG), somos capazes de otimizar nossa solução.
Se aplicarmos um AG após a aplicação da lógica fuzzy, podemos otimizar nosso sistema. Lembre-se de que um algoritmo genético é baseado na criação aleatória de uma população inicial. Ou seja, ao aplicar o AG após a aplicação da fuzzy, diminuímos o espaço amostral e encontramos os melhores pontos de instalação, e ainda podemos fazer cruzamentos genéticos e diminuir mais a quantidade de recursos utilizados.
Mas nosso sistema especialista pode não ter levado em consideração todas as possíveis anomalias. Sendo assim, podemos pensar em aplicar algoritmos imunológicos, que são especialistas em identificar anormalidades.
Um sistema imunológico artificial é capaz de diagnosticar rápida e precisamente as possíveis anomalias do sistema.
Temos um campeão?
Bom, depois de passarmos por todos esses algoritmos, acredito que esteja simples identificar o que devemos utilizar sempre, certo? Não. Um sistema de distribuição de energia elétrica dentro de um Smart Grid é extremamente complexo, e não podemos reduzi-lo de tal maneira.
O que fizemos aqui foi tentar entender um problema e transformá-lo em algo mais simples e tátil, desmembrando suas principais características e, assim, sugerindo possíveis soluções.
A ideia principal é entender como cada algoritmo funciona para podermos decidir os possíveis candidatos a solução. Outro ponto interessante foi observarmos que um algoritmo de IA pode ser híbrido, ou seja, constituído de mais de um tipo de algoritmo.
***
Artigo publicado na revista iMasters, edição #28: https://issuu.com/imasters/docs/imasters_28_v5_issuu