Pessoal, seguinte:

Como alguns têm acompanhado, estive desenvolvendo uma extensão para o
Postgres. Após grande esforço a mesma encontra-se concluída (versão
0.0.0.0.1 hehehe). Estou providenciando a publicação do projeto e dos
códigos fontes para a comunidade e brevemente estarei informando aqui onde
estes podem ser encontrados.

Antes disso, gostaria de discutir sobre as funcionalidades que ela
(extensão) pretende atender. De início, trata-se de uma implementação de um
algoritmo genético (http://www.obitko.com/tutorials/genetic-algorithms/)
para ser utilizado dentro do postgres.

As aplicações podem ser as seguintes:
Otimização de consultas – Consultas de avaliação de grandes massas podem ser
otimizadas, para terem um tempo de resposta menor.
Mineração de dados – Dados podem ser minerados utilizando-se de heurísticas
específica.
Automação de processos de decisões – Este é o foco! Fazer com que decisões
sejam sugeridas com base em alguns critérios (mais informações serão dadas
posteriormente);
Dentre outras possibilidades.

Como funciona:
A extensão já possui a implementação básica do algoritmo, bastando apenas
que o usuário informe algumas operações básicas (criação, mutação,
cruzamento e avaliação de uma solução) em qualquer linguagem suportada pelo
postgres, as demais etapas já estão implementadas. Os tipos de dados podem
ser os mais diversos, desde tipos primitivos a tipos definidos pelo usuário,
dependendo da necessidade.

Testes:
Foram realizados alguns testes e constatado que a funcionalidade pode ser
bem aproveitada. Uma consulta que durava cerca de 3 horas para ser executada
pode ser realizada em 20 segundos. O tempo de resposta pode ser ainda
aprimorado, dependendo da necessidade. A margem de acerto (média) ficou em
torno dos 80%, já que a consulta genética não é determinística e sim,
probabilística.

Pode-se afirmar que em determinadas situações, com maior massa de dados e em
um ambiente de produção em que os critérios de avaliação podem ser os mais
diversos esse tempo de 3 horas poderia ser muito maior, talvez dias!! Com a
extensão o tempo de resposta pode ser controlado de modo a retornar, em
curto tempo, uma resposta cerca de 80% verdadeira. Em uma organização
começar a lucrar hoje 80% do que seria lucrado em dias à frente pode fazer
toda diferença.

A proposta ainda está meio teórica e ainda tem grande caminho a percorrer
rumo ao cliente final, mas comprovadamente a aplicabilidade existe e faz
sentido (ao menos para mim :-). No futuro serão implementadas outras
metaheurísticas (ant, vns e outras).

Vantagens:
Controle de tempo de resposta em determinadas consultas;
Funcionalidade genética incorporada ao postgres. Isso contribui para que a
base de dados avance para base de informações e até decisões;
Implementação simples – as implementações das operações necessárias são
focadas no problema, abstraindo-se da manipulação genética propriamente
dita;

Estou aberto para discutirmos o assunto. Sei que a explicação não foi
suficiente mas as dúvidas sobre a ferramenta serão sanadas à medida que
surgirem.

As principais perguntas são:
Qual a opinião de vocês sobre essa funcionalidade?
Alguém consegue vislumbrar uma aplicação desta para seu negócio?
Quais pontos fracos podem ser apontados?


Críticas são muito bem-vindas.

Grande abraço a todos!!
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a