Post on 29-Oct-2020
CENTRO UNIVERSITÁRIO DA FUNDAÇÃO ASSIS GURGACZ
COORDENAÇÃO DE PÓS-GRADUAÇÃO
ESPECIALIZAÇÃO EM BUSINESS INTELLIGENCE E BIG DATA
APLICAÇÃO DO ALGORITMO GENÉTICO NO BIG DATA PARA UTILIZAÇÃO
NA INDÚSTRIA FARMACÊUTICA
RICARDO MIODUTZKI
CASCAVEL – PR
2018
RICARDO MIODUTZKI
APLICAÇÃO DO ALGORITMO GENÉTICO NO BIG DATA PARA UTILIZAÇÃO
NA INDÚSTRIA FARMACÊUTICA
Projeto apresentado como forma de
aproveitamento parcial na disciplina de
Trabalho de Conclusão de Curso, Curso de
Especialização em Business Intelligence e Big
Data, Centro Universitário da Fundação Assis
Gurgacz.
Orientador: Profº. Wendel Brustolin da Silva.
3
CASCAVEL – PR
2018
SUMÁRIO
LISTA DE FIGURAS ............................................................................................................... 1
INTRODUÇÃO ........................................................................................................................ 2
1 IDENTIFICAÇÃO ............................................................................................................... 4
1.1 Nome ............................................................................................................................. 4
1.2 Título do projeto .......................................................................................................... 4
1.3 Orientador .................................................................................................................... 4
1.4 Área e sub-área de estudo ........................................................................................... 4
2 OBJETIVOS ........................................................................................................................ 4
2.1 Objetivo geral .............................................................................................................. 4
2.2 Objetivos específicos ................................................................................................... 5
3 JUSTIFICATIVA ................................................................................................................ 5
4 FUNDAMENTAÇÃO TEÓRICA ...................................................................................... 9
4.1 Revisão da literatura ................................................................................................. 10
4.2 Identificação do problema de pesquisa ................................................................... 11
5 HIPÓTESES ....................................................................................................................... 13
6 DEFINIÇÃO DAS VARIÁVEIS ...................................................................................... 14
7 METODOLOGIA .............................................................................................................. 14
7.1 Desenvolvimento ........................................................................................................... 17
7.2 Execução dos Testes...................................................................................................... 24
7.2.1 Teste 01 .............................................................................................................. 24
7.2.2 Teste 02 .............................................................................................................. 28
7.2.3 Resumo dos Testes ............................................................................................. 32
8. CRONOGRAMA ............................................................................................................... 33
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 34
LISTA DE FIGURAS
Figura 1: Fases de desenvolvimento de um novo medicamento. Fonte EFPIA. ........................ 8
Figura 2: Custo total estimado de trazer uma nova entidade química ou biológica para o
mercado (Milhões $, 2013). Fonte EFPIA. ................................................................................. 9
Figura 3: Código Genético representando a formula de um medicamento completo. ............. 12
Figura 4: Destaque de um Gene em um código genético composto por 8 genes. .................... 12
Figura 5: Dois códigos filhos gerados através da seleção 3 como ponto de corte. ................... 15
Figura 6: Código genético filho gerado através do Crossover entre dois indivíduos pais. ....... 15
Figura 7: Mutação ocorrendo no 6º caractere do código genético, o alterando de 5 para 1. .... 16
Figura 8: Representação de todos os métodos do AG. ............................................................. 16
Figura 9: Pseudocódigo do Algoritmo Genético. ..................................................................... 17
Figura 10: Tela Inicial. ............................................................................................................. 18
Figura 11: Início. ...................................................................................................................... 18
Figura 12: Tela Inicial do Algoritmo Genético. ....................................................................... 19
Figura 13: Menu Dashboards.................................................................................................... 19
Figura 14: Dashboards. ............................................................................................................. 20
Figura 15: Menu Apresentação Visual. .................................................................................... 21
Figura 16: Apresentação Gráfica. ............................................................................................. 22
Figura 17: Menu Data Warehouse. ........................................................................................... 22
Figura 18: Data Warehouse’s / Bancos de Dados..................................................................... 23
Figura 19: Ajuda. ...................................................................................................................... 24
Figura 20: Início do Processamento do Teste 01. ..................................................................... 25
Figura 21: Dashboards Referente aos 15 Primeiros DW’s do Teste 01. .................................. 26
Figura 22: Dashboards Referente aos 15 Últimos DW’s do Teste 01. ..................................... 27
Figura 23: Apresentação Gráfica do Teste 01. ......................................................................... 28
Figura 24: Início do Processamento do Teste 02. ..................................................................... 29
Figura 25: Dashboards Referente aos 15 Primeiros DW’s do Teste 02. .................................. 30
Figura 26: Dashboards Referente aos 15 Últimos DW’s do Teste 02. ..................................... 31
Figura 27: Apresentação Gráfica do Teste 02. ......................................................................... 32
2
INTRODUÇÃO
A quantidade de informações e dados gerados atualmente está além da capacidade
humana de analisá-los e interpreta-los de uma maneira que gere uma contribuição significativa
para determinadas áreas do conhecimento. Além do mais, uma grande quantidade de
informações é atualizada em tempo real em diversos sistemas que se encontram distribuídos
por diversas localidades, e se estes mesmos forem relevantes para uma tomada de decisão,
pode haver discrepâncias significativas na projeção se analisados poucos instantes antes de
ocorrer suas atualizações. Big Data é o termo utilizado atualmente para descrever essa grande
quantidade de dados estruturados e não estruturados que se encontram armazenados. Uma das
áreas do conhecimento que será muito beneficiada com uma analise eficiente e inteligente
dessas informações armazenadas é a Farmacologia, que pode ser classificada como o ramo da
medicina que estuda as propriedades químicas dos medicamentos e suas respectivas
classificações, área a qual será direcionado o projeto desenvolvido nesta pesquisa, ou seja,
será desenvolvido um software que realizará a simulação do processo de confecção de um
novo medicamento que atende a certas especificações estabelecidas. Para tanto, uma
metodologia com altos padrões de eficiência será utilizada, também será realizado a
integração entre diversos bancos de dados permitindo assim o cruzamento de informações de
diferentes fontes e portanto colocando em prática a análise e classificação de dados do Big
Data, processo comumente denominado Data Mining, o processamento das informações será
realizado por uma metodologia da área de Inteligência Artificial chamada Algoritmo
Genético, que por sua vez é uma técnica baseada na biologia evolutiva para alcançar
resultados satisfatórios em problemas complexos. A Farmacologia foi à área escolhida para
ganhar uma atenção especial nesta pesquisa devido os altos custos para desenvolvimento e
confecção de um novo medicamento para combater novas ameaças à saúde, assim como os
problemas enfrentados pela indústria farmacêutica na obtenção de licenciamento para
utilização de compostos químicos que atualmente estão patenteados por empresas que não tem
intenção de utiliza-los e/ou empresas internacionais que não autorizam sua utilização, com o
3
grande volume de dados e informações gerados e disponíveis atualmente o autor desta
pesquisa acredita que utilizando técnicas de Inteligência Artificial pode-se encurtar o processo
de pesquisa e produção de novos fármacos, direcionando os pesquisadores a áreas mais
produtivas e promissoras. Os resultados das simulações serão armazenados em Data
Warehouse’s, com o objetivo de simplificar a rastreabilidade e compreensão dos fatores que
levaram chegar até determinado resultado.
1 IDENTIFICAÇÃO
1.1 Nome
Ricardo Miodutzki.
1.2 Título do projeto
Aplicação do Algoritmo Genético no Big Data para Utilização na Indústria Farmacêutica.
1.3 Orientador
Profº. Wendel Brustolin da Silva.
1.4 Área e sub-área de estudo
Área: Big Data.
Sub-área: Inteligência Artificial.
2 OBJETIVOS
2.1 Objetivo geral
Desenvolvimento de um software capaz de auxiliar pesquisadores no processo de
confecção de novos medicamentos a partir de dados e informações cedidas através de diversos
bancos de dados distribuídos, o mesmo terá a capacidade de integração dos bancos de dados
para realizar o cruzamento, analise e classificação das informações. Em seu núcleo de
processamento um método da área de Inteligência Artificial será utilizado a fim de obter
resultados satisfatórios compatíveis com o objetivo. O software terá a capacidade de realizar
simulações de produção de novos componentes genéticos a partir de dados armazenados, o
processo tem como característica comparar o resultado gerado com uma série de
especificações pré-estabelecidas, caso o resultado encontrado atenda as especificações o
5
mesmo foi bem sucedido e a combinação genética encontrada pode ser utilizada para
direcionar pesquisadores a áreas promissoras na produção de novos fármacos.
2.2 Objetivos específicos
Simular a integração de vários bancos de dados em um único software, permitindo
assim a analise, manipulação e classificação das informações do Big Data.
A manipulação das informações será realizada por uma técnica da área de
Inteligência Artificial chamada Algoritmo Genético, processo que é utilizado em
resoluções de problemas complexos.
Os resultados gerados deverão ser validados com as especificações pré-definidas,
a fim de se obter um resultado satisfatório que atenda os objetivos.
Os dados gerados terão como finalidade a simulação do processo de fabricação de
novos medicamentos a partir das informações armazenadas nos bancos de dados,
permitindo assim que os pesquisadores invistam mais atenção e recursos a áreas
mais promissoras.
Os resultados obtidos serão armazenados em Data Warehouse’s, com o proposito
de simplificar a rastreabilidade e compreensão dos fatores que levaram chegar até
determinados resultados.
3 JUSTIFICATIVA
Atualmente a indústria farmacêutica encontra diversos desafios no processo de
fabricação de novos medicamentos, entre eles estão o licenciamento da utilização de
determinados compostos químicos necessários, moléculas patenteadas por multinacionais que
não autorizam a utilização por terceiros mesmo que a detentora dos direitos não possua
intenção de utilizá-la, o tempo que é empregado nas pesquisas e desenvolvimento de novos
fármacos, a capacitação de profissionais preparados para atender a nova demanda de
produção, e se este mesmo não estiver atento a todas as informações que o circula, detalhes
cruciais podem ser deixados de lado e interferir no resultado final, os altos custos no processo
de fabricação de novos medicamentos, tempo e recursos disponibilizados nos testes a fim de
se obter a regulamentação e autorização de uso, dentre outros fatores podemos destacar estes
em que a solução proposta irá atuar no preenchimento destas rupturas.
6
Para fundamentar a justificativa acima, a seguir será descrito os procedimentos
internos de desenvolvimento de novos medicamentos pela indústria multinacional GSK.
Como descobrimos novos medicamentos
A criação de um medicamento requer um processo longo e rigoroso, e muitos sequer
chegam aos pacientes. Em nossa busca por novos medicamentos, a principal preocupação é a
segurança do paciente.
A partir de uma ideia até a aprovação dos órgãos reguladores, pode levar 15 anos para
um produto chegar ao paciente. Conheça as sete etapas de desenvolvimento de um novo
tratamento:
Pesquisa – identificando uma nova abordagem para o tratamento de uma doença
Usamos o crescente conhecimento da biologia para identificar um “alvo”. Um alvo é
uma estrutura – como uma enzima – no corpo que é associada ao desenvolvimento de uma
doença ou de seus sintomas. A primeira coisa que deve-se comprovar é a validade do alvo,
que efetivamente afeta o processo de formão de uma doença.
Uma vez que o alvo tenha sido identificado, o próximo passo é encontrar compostos
químicos ou naturais que possam inibir ou intensificar a atividade do alvo. Compostos que
mostram o tipo de efeito que buscamos são chamados de “hit” ou de composto-candidato.
Descoberta – pesquisando e desenvolvendo compostos que podem alterar o processo
de uma doença
Uma vez identificados os “hits”, limitamos o número de testes com o objetivo de
trabalhar apenas com os compostos mais adequados. Estes compostos, por ventura, podem
ainda precisar ser “melhorados” – usamos tecnologias químicas que modificam suas
propriedades.
Testes pré-clínicos – entendendo como um composto atua e quais são seus efeitos
Nesta fase, nossos pesquisadores realizam investigações mais detalhadas nos
compostos escolhidos previamente. Através de testes com células vivas, bactérias ou culturas
de tecidos em laboratórios, ou em animais, os cientistas podem entender como compostos
agem. Se este trabalho pré-clínico for bem sucedido, o composto será considerado apto para
testes em seres humanos.
7
Ensaios clínicos – realizando testes em seres humanos
Antes do início de qualquer pesquisa individual, um plano de desenvolvimento feito
pela empresa define quais os tipos de pesquisa são necessários para aquele determinado
composto ser avaliado como eficaz e seguro.
Este plano é compartilhado com as principais Agências Regulatórias do mundo, que
fazem sugestões e adições caso necessário, bem como solicitam novo plano se assim
entenderem.
Normalmente, novos medicamentos devem passar por três fases de estudo em seres
humanos antes de serem aprovados para uso.
Neste processo, olhamos para os componentes que:
- Atingiram consideravelmente as metas de cura, controle ou prevenção da doença.
- Podem ser absorvidos e eliminados pelo corpo de forma segura.
- Atingem o tecido corporal de forma a permitir a ação do composto.
- Permanecem em contato com o sistema imunológico tempo suficiente para gerar uma
resposta adequada.
- Possuem poucos efeitos adversos.
A segurança de todos que participam dos estudos clínicos é de suma importância.
Todos os ensaios clínicos seguem as diretrizes elaboradas pela Conferência Internacional de
Harmonização (ICH, em inglês), as normas brasileiras de saúde e a Declaração de Helsinki de
2008 da Associação Médica Mundial sobre os princípios éticos da investigação médica em
seres humanos.
Aprovação regulatória – recebendo aprovação de órgãos governamentais para um
novo medicamento
Após a obtenção de resultados científicos robustos, os dados são enviados para os
órgãos reguladores das regiões e/ou países. Este é o pedido formal em busca da aprovação do
novo medicamento. No Brasil, esta submissão é feita para a Agência Nacional de Vigilância
Sanitária (ANVISA).
Com base em nossas pesquisas, levantamos que pacientes podem ser beneficiados pelo
medicamento, mas são os órgãos reguladores que tomam a decisão final. O pedido de
aprovação do medicamento incluíra informações sobre a doença, restrições, advertências e
8
como ele atuará no corpo. Apenas após esta aprovação podemos disponibilizar o medicamento
para venda, que deve ser prescrito por um profissional de saúde capacitado e habilitado.
Distribuição – fabricando e distribuindo o medicamento aprovado
O novo medicamento agora é fabricado e distribuído e médicos recebem as
informações aprovadas, ajudando-os a decidir quando prescrever o novo tratamento.
Monitoramento – continuando o processo de entendimento de como um medicamento
atua
À medida que novos medicamentos são utilizados de forma mais ampla, construímos
uma compreensão mais profunda sobre sua segurança e eficácia em diferentes circunstâncias,
permitindo que possamos adequar nosso entendimento sobre um tratamento. (Fonte GSK)
Figura 1: Fases de desenvolvimento de um novo medicamento. Fonte EFPIA¹.
- Triagem de 10.000 moléculas
- Desenvolvimento pré-clínico
Pedido de patente
Toxicidade aguda
Farmacologia
Toxicidade crônica
- Testes clínicos
Fase I
Fase II
9
Fase III
- Registro / Autorização de Introdução no Mercado
- 1 Medicamento desenvolvido
Preço
Reembolso
Farmacovigilância. (Fonte EFPIA)
Figura 2: Custo total estimado de trazer uma nova entidade química ou biológica para o mercado
(Milhões $, 2013). Fonte EFPIA¹.
¹EFPIA: Federação Europeia das Indústrias Farmacêuticas e Associações.
4 FUNDAMENTAÇÃO TEÓRICA
10
4.1 Revisão da literatura
4.1.1 Bancos de Dados Distribuídos
Ao contrário dos sistemas paralelos, em que os processadores são fortemente
acoplados e constituem um único sistema de banco de dados, um sistema de banco de dados
distribuído consiste em sítios fracamente acoplados, que não compartilham componentes
físicos. Além do mais, os sistemas de banco de dados que executam em cada sítio podem ter
um grau de independência mútua substancial.
Cada sítio pode participar da execução de transações que acessam dados em um ou
vários sítios. A diferença principal entre sistemas de banco de dados centralizados e
distribuídos é que, no primeiro, os dados residem em um único local, enquanto no segundo os
dados residem em vários locais (SILBERSCHATZ, KORTH, SUDARSHAN 2012).
4.1.2 Data Warehouse
Um depósito de dados (data warehouse) é um repositório (ou arquivo) de informações
colhidas de várias origens, armazenadas sob um esquema unificado, em um único local. Uma
vez reunidos, os dados são armazenados por muito tempo, permitindo o acesso a dados
históricos. Assim, os depósitos de dados oferecem ao usuário uma única interface consolidada
para os dados, facilitando a escrita de consultas de apoio a decisão. Além do mais, acessando
informações para apoio a decisão a partir de um depósito de dados, quem toma decisões pode
garantir que os sistemas de processamento de transação on-line não serão afetados pela carga
de trabalho de apoio a decisão (SILBERSCHATZ, KORTH, SUDARSHAN, 2012).
4.1.3 Algoritmos Genéticos
Um algoritmo genético (ou AG) é uma variante de busca em feixe estocástica na qual
os estados sucessores são gerados pela combinação de dois estados pais, em vez de serem
gerados pela modificação de um único estado. A analogia em relação à seleção natural é a
mesma que se dá na busca em feixe estocástica, exceto pelo fato de agora estarmos lidando
com a reprodução sexuada, e não com a reprodução assexuada.
Como ocorre com a busca em feixe, os AGs começam com um conjunto de k estados
gerados aleatoriamente, chamado população. Cada estado, ou individuo, é representado como
uma cadeia sobre um alfabeto finito – muito frequentemente, uma cadeia de valores 0 e 1
(RUSSELL, NORVIG 2012).
11
4.1.4 Mineração de Dados
“Encontrar o que era desconhecido, o que estava escondido” pode ser entendido como
o ato de descobrir. Considerando que as bases de dados são geralmente volumosas e que o
conhecimento pode estar implícito, faz-se necessário um trabalho de busca detalhado – o que,
metaforicamente, diz-se ser um trabalho de “mineração” – associado a um processo analítico,
sistemático e, até onde possível, automatizado.
É nesse cenário que, finalmente, a Mineração de Dados (do inglês, Data Mining) é
definida, De forma simplificada, a mineração de dados pode ser definida como um processo
automático ou semiautomático de explorar analiticamente grandes bases de dados, com a
finalidade de descobrir padrões relevantes que ocorrem nos dados e que sejam importantes
para embasar a assimilação de informação importante, suportando a geração de conhecimento.
Trata-se de uma subárea de conhecimento geralmente estudada em cursos de Computação ou
Engenharia e que faz uso de conceitos provenientes de Inteligência Artificial, Aprendizado de
Máquina, Estatística e Banco de Dados (SILVA, PERES, BOSCARIOLI, 2016).
4.1.5 Inteligência Artificial
Denominamos nossa espécie Homo sapiens – homem sábio – porque nossa
inteligência é tão importante para nós. Durante milhares de anos, procuramos entender como
pensamos, isto é, como um mero punhado de matéria pode perceber, compreender, prever e
manipular um mundo muito maior e mais complicado que ela própria. O campo de
inteligência artificial, ou IA, vai ainda mais além: ele tenta não apenas compreender, mas
também construir entidades inteligentes.
Atualmente, a IA abrange uma enorme variedade de subcampos, do geral
(aprendizagem e percepção) até tarefas específicas, como jogos de xadrez, demonstração de
teoremas matemáticos, criação de poesia, direção de um carro em estrada movimentada e
diagnósticos de doenças. A IA é relevante para qualquer tarefa intelectual; é verdadeiramente
um campo universal. (RUSSELL, NORVIG 2012).
4.2 Identificação do problema de pesquisa
No processo de confecção de novos fármacos, existem bancos de dados com
informações já conhecidas sobre suas fórmulas, às várias maneiras de manipulação,
12
combinações de componentes que devem ser evitados, efeitos colaterais que podem ocorrer
nos pacientes, tipos de doenças que podem ser combatidas com determinadas combinações
genéticas, dentre outras características. O problema se resume em como se pode simular o
procedimento de produção de novos medicamentos através de métodos computadorizados
utilizando-se do grande volume de informações disponíveis atualmente, para isso será criado
um ambiente virtual que receberá informações armazenadas em diversos bancos de dados
distribuídos, ou seja, o Big Data, essas informações representam códigos genéticos, e cada
código genético é formado por diversos genes.
No modelo computadorizado cada código genético representa uma fórmula de
medicamento finalizada. Por exemplo, a imagem a seguir representa a formula de um
determinado fármaco:
Figura 3: Código Genético representando a formula de um medicamento completo.
Cada código genético é formado por vários Genes, no modelo computadorizado os genes
representam os componentes necessários para a fabricação do novo fármaco, ou seja, os genes
serão manipulados a fim de se obter um novo medicamento que atenda as especificações
estabelecidas.
Figura 4: Destaque de um Gene em um código genético composto por 8 genes.
Uma série de regras serão definidas a fim de simular os fatores que não deverão
ocorrer em hipótese alguma, sendo assim, o modelo virtual de simulações deverá encontrar
um código genético através da manipulação dos genes, compatível com as regras
estabelecidas, em outras palavras, o Algoritmo Genético através de todos os seus processos
deverá realizar a manipulação dos componentes (genes) e gerar um novo medicamento
(código genético) que atenda as especificações (regras).
Este procedimento é chamado de engenharia reversa, pois temos as especificações que
devem ser atendidas, entretanto não temos as formulas que podem se encaixar nestas regras.
13
5 HIPÓTESES
No modelo computadorizado será definido três regras que não poderão ser quebradas
de forma alguma, elas simularão o conhecimento já adquirido na produção de fármacos, ou
seja, cada regra corresponderá a um procedimento que não deverá ocorrer.
Para que seja possível o acompanhamento visual da simulação do procedimento, um
conjunto de genes representando os componentes necessários para fabricação do novo
medicamento, serão dispostos sobre um tabuleiro que por sua vez representará o ambiente
onde a manipulação e comparação das regras irá acontecer.
A primeira regra será definida como combinação de componentes inadequada, ou seja,
se dois ou mais componentes forem combinados na mesma fórmula o resultado deverá ser
rejeitado. Para simulação desta regra no modelo computacional, supomos que dois ou mais
componentes não deverão estar na mesma linha do tabuleiro, se ocorrer à duplicação de
componentes na mesma linha significa que houve a combinação inadequada e a fórmula
deverá ser rejeitada, caso contrário à mesma será válida.
A segunda regra será definida como efeitos colaterais no paciente, ou seja, se dois ou
mais componentes forem combinados na mesma fórmula o resultado deverá ser rejeitado. Para
simulação desta regra no modelo computacional, supomos que dois ou mais componentes não
deverão estar na mesma coluna do tabuleiro, se ocorrer à duplicação de componentes na
mesma coluna significa que houve a combinação inadequada e a fórmula deverá ser rejeitada,
caso contrário à mesma será valida.
A terceira regra será definida como combinação ineficaz contra a enfermidade que se
deseja combater, ou seja, se dois ou mais componentes forem combinados na mesma fórmula
o resultado deverá ser rejeitado. Para simulação desta regra no modelo computacional,
supomos que dois ou mais componentes não deverão estar na mesma diagonal do tabuleiro, se
ocorrer à duplicação de componentes na mesma diagonal do tabuleiro significa que houve a
combinação inadequada e a fórmula deverá ser rejeitada, caso contrário à mesma será válida.
Com base nos resultados obtidos será analisado se o Algoritmo Genético conseguiu
gerar uma nova fórmula que atende as especificações estabelecidas, para que o processo
chegue ao seu objetivo à fórmula gerada deverá se encaixar em todas as regras, caso contrario
a fórmula será rejeitada.
14
6 DEFINIÇÃO DAS VARIÁVEIS
Genes: Cada gene representa um componente necessário para a fabricação de um
fármaco.
Código Genético: Cada código genético representa a formula de um medicamento
finalizado.
Colisões: Uma colisão será gerada todas as vezes que uma regra for quebrada.
Gerações: A quantidade de gerações definirá o número de vezes que o processo de
recombinação genética ocorrerá.
7 METODOLOGIA
O software proposto terá como finalidade a simulação do processo de fabricação de
um novo medicamento que atenda certas especificações, para isso será explorado o grande
volume de dados gerados e disponíveis atualmente, mais conhecido como Big Data, o
programa terá a capacidade de realizar a integração entre diversos bancos de dados para
capturar as informações relevantes e efetuar o processamento destes dados.
A parte central do processamento será realizado por uma técnica da área de
inteligência artificial chamada Algoritmo Genético, utilizado principalmente na resolução de
problemas complexos assim como na mineração de dados, a seguir será descrito
detalhadamente o conjunto de métodos utilizados por esse algoritmo:
População Inicial: São os dados brutos sem classificação que serão utilizados como
amostrar iniciais, essas informações serão capturadas dos diversos bancos de dados que o
software terá a capacidade de integrar, assim que esses dados forem populados, os mesmos
serão transmitidos para o próximo método que dará continuidade na classificação.
Função de Adaptação: Este método terá como finalidade verificar os códigos
genéticos que melhor se adaptam ao problema proposto, através da comparação do código
com as regras estabelecidas, como foi dito antes, o software terá uma variável chamada
Colisões, esta variável será incrementada todas as vezes que uma regra for quebrada, assim a
quantidade de problemas encontrados em cada código genético será conhecido e apenas os
15
melhores adaptados ao problema serão escolhidos para compor a próxima geração, os demais
serão desconsiderados.
Seleção: Aqui o pesquisador terá a oportunidade de escolher o local onde o ponto de
corte do código genético ocorrerá, como este algoritmo realiza o processamento de dados
simulando a reprodução sexuada, será necessário 2 indivíduos para que seja possível gerar um
terceiro e/ou quarto, por exemplo: supondo que o código genético representando nossa
fórmula de um novo medicamento contenha 8 componentes, se o pesquisador escolher o
número 3 como ponto de corte dos códigos pais, será gerado outros dois códigos filhos
concatenando os 3 primeiros componentes de um dos pais, com os outros 5 componentes do
outro pai, conforme ilustrado na imagem abaixo:
Figura 5: Dois códigos filhos gerados através da seleção 3 como ponto de corte.
Crossover: Método responsável pela concatenação dos componentes dada a
informação parametrizada no método Seleção, em outras palavras é o Crossover que irá gerar
os código genéticos filhos com base no ponto de corte de seus pais, abaixo temos a
representação gráfica do Crossover:
Figura 6: Código genético filho gerado através do Crossover entre dois indivíduos pais.
Mutação: Nesta etapa ocorrerá a troca de um gene, que no modelo computadorizado
representa um componente utilizado na fórmula do novo medicamento, esta substituição
ocorrerá de forma aleatória no código genético com uma frequência estabelecida pelo
pesquisador, abaixo está representado o método Mutação:
16
Figura 7: Mutação ocorrendo no 6º caractere do código genético, o alterando de 5 para 1.
Acima foi descrito os processos que serão realizados na manipulação das informações
capturadas dos diversos bancos de dados distribuídos, para que o resultado final tenha sido
satisfatório eles serão aplicados a todos os códigos genéticos, quando o processo terminar pela
primeira vez será verificado a quantidade de gerações parametrizada pelo pesquisador, se a
quantidade for maior que 1, será realizado a leitura dos resultados gravados no primeiro Data
Warehouse, a seleção dos códigos genéticos com uma tolerância a quantidade de regras
quebradas (problemas), em outras palavras, a cada geração será selecionado os indivíduos
com a menor quantidade de problemas possível, logo após esta classificação todos os outros
métodos do algoritmo serão refeitas sobre os código remanescentes.
Os procedimentos descritos até neste ponto se repetirão até ser encontrada uma
fórmula que se encaixe perfeitamente nas regras estabelecidas ou até a quantidade de gerações
parametrizadas pelo pesquisador se esgotar, o modelo de fórmula ideal conforme definido
pelas regras é o que não terá nenhum problema, ou seja, com o número de colisões igual à
zero, na figura 1.5 está representado todas as etapas do algoritmo que se repetirão pela
quantidade de gerações definidas, e na 1.6 o seu pseudocódigo:
Figura 8: Representação de todos os métodos do AG.
17
Figura 9: Pseudocódigo do Algoritmo Genético.
7.1 Desenvolvimento
Para a demonstração prática do projeto, foi desenvolvido o software proposto
juntamente com uma série de facilidades que podem auxiliar o pesquisador na parametrização
das configurações iniciais e analise dos resultados obtidos. O software também oferece ao
usuário uma interface intuitiva de visualização dos processos em andamento, autonomia para
excluir dados antigos e geração de novos para testes posteriores, a seguir será apresentado
todas as funcionalidades que o software oferece.
Tela inicial: Contêm um menu com as opções Home, Data Warehouse, Dashboards e
Ajuda, cada um possibilitando abrir opções que seus nomes sugerem.
18
Figura 10: Tela Inicial.
Início: Abre a janela principal que permite a parametrização das configurações e
realizar o início do processamento.
Figura 11: Início.
Tela Inicial do Algoritmo Genético: Esta janela foi dividida em três painéis, o
primeiro localizado na parte superior esquerda permite ao pesquisador inserir a quantidade
máxima de indivíduos utilizados para os testes, a quantidade máxima de gerações que se
repetirão, a taxa de crossover medida em porcentagem entre o primeiro e o segundo indivíduo
e a taxa de mutação.
O segundo painel localizado na parte inferior esquerda permite ao usuário selecionar
quais bancos de dados serão manipulados, o mesmo terá que selecionar dois entre dez opções,
também foi inserido a possibilidade de informar uma sequência genética manualmente a ser
procurada. Já o terceiro painel localizado ao lado direito é onde ocorrerá a visualização de
todo o processamento das informações contidas nos bancos de dados.
19
Figura 12: Tela Inicial do Algoritmo Genético.
Menu Dashboards: Opção do menu que permite abrir a janela onde será apresentado
os dashboards correspondentes aos dados processados.
Figura 13: Menu Dashboards.
Dashboards: Localizado na parte superior esquerda, encontra-se o painel que permite
a geração dos dashboards com base nos dados processados, no total é possível gerar três
gráficos, o primeiro mostrando a quantidade de indivíduos processados em cada Data
Warehouse, o segundo mostra a quantidade média de colisões (problemas ou regras
20
quebradas) em cada Data Warehouse, já o último identifica a quantidade total de colisões, por
conveniência e por custos de processamento cada geração de dados é armazenada em um Data
Warehouse separado, onde é possível apresentar os dashboards referente aos 15 primeiros ou
aos 15 últimos Data Warehouses.
Figura 14: Dashboards.
Menu Apresentação Visual: Item de menu responsável pela abertura da janela onde é
apresentado graficamente o processamento dos dados, esta opção é apenas para um melhor
entendimento de como o processamento ocorrer e como as regras estabelecidas são
comparadas com o novo indivíduo gerado através dos métodos do algoritmo genético, ou seja,
os dados apresentados aqui são os mesmos que foram armazenados nos Data Warehouse’s.
21
Figura 15: Menu Apresentação Visual.
Apresentação Visual: Esta janela foi dividida em quatro painéis, o primeiro
localizado na parte superior esquerda contem os botões Iniciar, Limpar e Revalidar DW, se o
primeiro botão for pressionado o processamento irá iniciar, Limpar voltará as propriedades
gráficas ao padrão inicial e Revalidar DW realizará uma nova consulta nos DW’s a fim de
checar se os mesmos possuem informações novas.
O segundo painel localizado na parte inferior esquerda apresentará as informações
armazenadas nos DW’s no formato texto, o terceiro painel localizado na parte superior direita
apresentará estas mesmas informações porem de forma gráfica, os ícones na cor azul
representam o ambiente virtual onde os indivíduos gerados são comparados com as regras
estabelecidas, se uma ou mais regras são quebradas indica que o indivíduo não esta apto, ou
seja, na simulação de produção de um novo medicamento esta fórmula falhou e os ícones que
há representam serão indicados na cor vermelha, entretanto se nenhuma regra for quebrada a
simulação retornará um resultado favorável indicando que uma possível nova formula foi
identificada e os ícones que há representam serão indicados na cor verde.
O último painel mostrará os status atuais dos Data Warehouse’s, se os mesmos
contiverem dados a serem apresentados um ícone na cor verde o identificará, caso contrário o
ícone será na cor vermelha, o botão Revalidar DW’s é o responsável a atualizar este painel
sempre que o usuário solicitar.
Como pode ser observado no painel Disponibilidade dos DW’s, os 20 primeiros Data
Warehouse’s possuem dados que podem ser apresentados de forma gráfica e textual,
indicados pelos ícones de cor verde, já os últimos 10 estão vazios.
22
Figura 16: Apresentação Gráfica.
Menu Data Warehouse: Este item de menu abrirá a janela onde será possível realizar
atualizações, inserções e exclusões dos dados armazenados nos Data Warehouse’s assim
como nos Bancos de Dados, permitindo assim a realização de novos testes com novas
informações.
Figura 17: Menu Data Warehouse.
Data Warehouse’s / Bancos de Dados: Ao lado esquerdo desta tela se pode notar os
campos a serem parametrizados para inserir novas informações nos Bancos de Dados que
23
serão manipulados, o primeiro é a quantidade de indivíduos a serem inseridos, logo abaixo o
pesquisador tem a opção de informar se deseja gerar os novos dados entre um intervalo
máximo e mínimo, o último campo deste painel é para seleção do Banco de Dados onde estas
informações serão inseridas.
O painel Excluir Data Warehouse permite ao usuário realizar uma exclusão de
informações contidas no DW, logo abaixo o painel Excluir Banco de Dados funciona de
forma similar.
Na parte superior direita é apresentado os ícones representando os Bancos de Dados,
se o mesmo possui informações que podem ser processadas o ícone correspondente a este
banco será identificado com a cor verde, caso contrário vermelho. Também foi incluso um
campo de texto onde é possível realizar consultas das informações contidas nos Bancos de
Dados, após inseri-la e clicar em Consultar a mesma é apresentada na tabela abaixo.
Figura 18: Data Warehouse’s / Bancos de Dados.
24
Ajuda: Contém itens de menu com opções sobre as tecnologias e metodologias
utilizadas no projeto, como Algoritmo Genético, Inteligência Artificial, Data Warehouse, Data
Mining e Big Data.
Figura 19: Ajuda.
7.2 Execução dos Testes
7.2.1 Teste 01
Para realização do primeiro teste foi definido uma configuração dos parâmetros
conforme descrito a seguir:
Quantidade Máxima de Indivíduos: 500
Quantidade Máxima de Gerações: 20
Taxa de Crossover 01: 37,5
Taxa de Crossover 02: 62,5
Taxa de Mutação: 0,05
Primeiro Banco de Dados: 02
Segundo Banco de Dados: 05
Informar Sequência a Buscar: Não
Logo após a o término da parametrização foi iniciado o processamento dos dados.
25
Figura 20: Início do Processamento do Teste 01.
26
Figura 21: Dashboards Referente aos 15 Primeiros DW’s do Teste 01.
27
Figura 22: Dashboards Referente aos 15 Últimos DW’s do Teste 01.
28
Figura 23: Apresentação Gráfica do Teste 01.
7.2.2 Teste 02
Para realização do segundo teste foi definido uma configuração dos parâmetros
conforme descrito a seguir:
Quantidade Máxima de Indivíduos: 500
Quantidade Máxima de Gerações: 20
Taxa de Crossover 01: 50,0
Taxa de Crossover 02: 50,0
Taxa de Mutação: 0,03
Primeiro Banco de Dados: 05
Segundo Banco de Dados: 07
Informar Sequência a Buscar: Não
Logo após a o término da parametrização foi iniciado o processamento dos dados.
29
Figura 24: Início do Processamento do Teste 02.
30
Figura 25: Dashboards Referente aos 15 Primeiros DW’s do Teste 02.
31
Figura 26: Dashboards Referente aos 15 Últimos DW’s do Teste 02.
32
Figura 27: Apresentação Gráfica do Teste 02.
7.2.3 Resumo dos Testes
Como pode ser observado nas capturas de telas tiradas durante os testes realizados, o
primeiro teste não teve um resultado satisfatório, ou seja, todas as combinações geradas
durante as diversas gerações não atenderam as regras estabelecidas e portanto os resultados
foram rejeitados, entretanto no segundo teste logo na primeira geração uma combinação
correspondente com as especificações foi encontrada, as diferenças entre os dois testes foram
as configurações dos parâmetros e os Bancos de Dados com as informações originais a serem
processadas, em outras palavras o pesquisador também terá que se atentar a estas
configurações.
Os dashboards mostram algumas comparações de resultados divididos por geração, o
primeiro gráfico mostra a quantidade total de indivíduos processados em cada geração, se
pode notar que a quantidade diminui com o passar das gerações, isso se deve a um processo
do algoritmo genético onde é escolhidos os indivíduos com a melhor probabilidade de
corresponder as regras estabelecidas, e os menos aptos são desconsiderados, processo que
pode ser comprovado no segundo dashboard, onde é apresentado uma média de colisões
33
(problemas ou regras quebradas) de cada geração, também pode-se observar que a quantidade
diminui com o passar das gerações, o último dashboard apresenta o somatório de colisões.
A tela de apresentação gráfica mostra como ocorre à validação dos indivíduos gerados
com as regras estabelecidas.
8. CRONOGRAMA
1 7 15 21 1 7 15 21 1 7 15 21 1 7 15 21 1 7 15 21
Elaboração do Projeto
Análise de Viabiliade
Análises Técnicas
Análise de Tecnologias
Análise de Requisistos
Referências
Desenvolvimento
Testes
Documentação
Apresentação
NovembroOutubroSetembroAgostoJulhoAtividades
34
REFERÊNCIAS BIBLIOGRÁFICAS
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de
Dados 6ª Ed. Rio de Janeiro: Elsevier Editora Ltda, 2012.
SILVA, Leandro Augusto da; PERES, Sarajane Marques; BOSCARIOLI, Clodis. Introdução à
Mineração de Dados Com Aplicações em R. Rio de Janeiro: Elsevier Editora Ltda, 2016.
RUSSELL, Stuart; NORVIG, Peter. Inteligência Artificial 3ª Ed. Rio de Janeiro: Elsevier
Editora Ltda, 2013.
COMO DESCOBRIMOS NOVOS MEDICAMENTOS. GSK. Disponível em:
<http://br.gsk.com/pt-br/pesquisa/como-desenvolvemos-nossos-produtos/como-descobrimos-
novos-medicamentos/>. Acesso em 21 de outubro de 2018.
FASES DO PROCESSO DE PESQUISA E DESENVOLVIMENTO. EFPIA. Disponível em:
<https://www.efpia.eu/publications/data-center/the-pharma-industry-in-figures-rd/rd-
process/>. Acesso em 21 de outubro de 2018.
CUSTO ESTIMADO DE TRAZER UMA NOVA ENTIDADE PARA O MERCADO.
EFPIA. Disponível em: <https://www.efpia.eu/publications/data-center/the-pharma-industry-
in-figures-rd/estimated-costs-of-bringing-a-new-entity-to-market/>. Acesso em 21 de outubro
de 2018.