• Nenhum resultado encontrado

Algoritmos dos operadores StreamPref

Código 9 Ű Consulta para experimentos com os algoritmos PartitionBest,

8.2.3 Teste de estresse

Além dos experimentos comparativos entre os algoritmos, foi realizado também um teste de estresse com o algoritmo IncPartitionBest utilizando bases de dados sintéticas. O objetivo do teste de estresse é traçar os limites para o algoritmo IncPartitionBest em relação ao número de tuplas inseridas (INS) e ao número de regras (RUL). Este parâmetros foram escolhidos porque eles estão diretamente relacionados com a complexidade do algoritmo PartitionInsert que deve ser executado a cada instante para atualizar a hierarquia de preferências. A variação usada no parâmetro INS foi 500, 1000, 2000, 4000, 8000, 16000, 32000, 64000, 128000, 256000 e 512000. Já o parâmetro RUL teve os valores 8, 16, 32, 64, 128, 256, 512, 1024, 2048 e 4096.

A Figura 44 mostra os resultados do teste de estresse. O número de inserções igual a 512000 não aparece na plotagem porque esta conĄguração de experimentos não foi suportada pelo algoritmo no computador descrito no início deste capítulo. Observe que para INS=256000 o consumo de memória chegou a mais de 15GB. Com o número de inserções igual a 512000, a memória disponível (32GB) não foi suĄciente para a execução do algoritmo.

Considerando a variação no número de regras, mesmo com o valor máximo da variação (4096), o consumo de memória Ącou longe do total de memória disponível. Entretanto, a limitação para este parâmetro é o tempo de execução que chegou a mais de 11 dias para RUL=4096. No gráĄco que mostra o tempo de execução para a variação do parâmetro RUL também foram incluídos o tempo para criar a base de conhecimento e o

8 16 32 64 128 256 512 1024 2048 4096 100 105 T emp o de ex ecuç ã o (segundos)

IncPartitionBest Base de conhecimento Processamento das tuplas

500 1000 2000 4000 8000 16000 32000 64000 128000 256000 101 103 105 8 16 32 64 128 256 512 1024 2048 4096 0 1000 2000 3000

Número de regras (RUL)

Consumo de memória (MB) 500 1000 2000 4000 8000 16000 32000 64000 128000 256000 0 5000 10000 15000

Número de Inserções (INS)

Figura 44 Ű Teste de estresse com o algoritmo IncPartitionBest

tempo gasto para processar as tuplas. A partir de 64 regras, o tempo gasto para criar a base de conhecimento passa a ser maior do que o tempo gasto para processar as tuplas. Contudo, em situações práticas, não é muito comum a especiĄcação de preferências com grandes número de regras pelos usuários. Além disto, mesmo tendo gasto um tempo maior para construção da base de conhecimento, o algoritmo IncPartitionBest ainda é a melhor opção para o processamento de consultas contínuas com preferências condicionais.

8.3 Terceira etapa de experimentos

No Capítulo 6 foram apresentados os operadores da linguagem StreamPref junta- mente com suas respectivas operações equivalentes na linguagem CQL. Foram executados experimentos para comparar o desempenho dos algoritmos de cada operador StreamPref com sua contraparte em CQL. Além disto, foram conduzidos experimentos para demonstrar como as possíveis combinações de operadores em consultas podem afetar a quantidade de sequências comparadas.

Bases de dados

Os experimentos usaram dados sintéticos e reais. Devido a inexistência de geradores de dados adequados aos parâmetros usados nos experimentos, foi desenvolvido um gerador de dados especíĄco (RIBEIRO, 2017)7. O gerador desenvolvido gera Ćuxos de dados

8.3. Terceira etapa de experimentos 165 compostos por atributos inteiros e também as consultas StreamPref e CQL usadas nos experimentos.

Para os experimentos com dados reais, foi utilizada a base de dados Soccer2014DS contendo eventos de jogadores nas partidas da Copa do Mundo de Futebol de 2014 (RIBEIRO et al., 2017b)8. Os experimentos foram conduzidos sobre os dados da partida

Ąnal com 2.742 tuplas distribuídas em 7.722 instantes de tempo.

Parâmetros

Os experimentos da terceira etapa também consideraram certos parâmetros com variações de valores. A Tabela 6 exibe todos os parâmetros usados. Certos parâmetros são especíĄcos de alguns operadores que possuem características especíĄcas para serem avaliadas

Tabela 6 Ű Parâmetros dos experimentos com os operadores da linguagem StreamPref

Parâmetro Variação Valor Padrão

Número de atributos (ATT) 8, 10, 12, 14, 16 8 Número de sequências (NSQ) 4, 8, 16, 24, 32 16 Porcentagem de tuplas consecutivas (PCT) 0%, 25%, 50%, 75% e 100% 50% Abrangência temporal (RAN) 10, 20, 30, 40, 50, 60 30 Intervalo de deslocamento (SLI) 1, 10, 20, 30, 40 10 Comprimento mínimo (MIN) 2, 3, 4, 5, 6 2 Comprimento máximo (MAX) 2, 4, 6, 8, 10 10 Número de regras (RUL) 4, 8, 16, 24, 32 8 Nível de preferência máximo (LEV) 1, 2, 3, 4, 5, 6 2

Os parâmetros ATT, NSQ e PCT dizem respeito à geração dos dados sintéticos, sendo que a porcentagem de tuplas consecutivas (PCT) é considerada apenas nos experi- mentos com o operador CONSEQ. O parâmetro ATT permite comparar os algoritmos de acordo com a dimensionalidade dos dados. As variações no parâmetro NSQ afetam o número de identiĄcadores de sequência por instante (igual a NSQ ×0.75). Com as variações dos parâmetros RAN e SLI é possível analisar o comportamento dos algoritmos considerando diferentes abrangências temporais e intervalos de deslocamento.

Os parâmetros MIN e MAX são usados pelos operadores MINSEQ e MAXSEQ, respectivamente, para realizar a Ąltragem de sequências por comprimento. O número de regras (LEV) e o nível de preferência máximo (LEV) dizem respeito às preferências das consultas processadas pelo operador BESTSEQ. As variações nos valores destes parâme- tros possibilitam analisar o funcionamento dos algoritmos usando diferentes conĄgurações de preferências.

Para cada experimento, ocorre a variação nos valores de um parâmetro e os demais parâmetros são Ąxados em seus valores padrões. O número de iterações nos experimentos sobre dados sintéticos é igual ao valor do parâmetro RAN acrescido do maior valor de intervalo de deslocamento. No caso dos dados reais, o número de iterações é igual ao número de instantes de tempo disponíveis (7.722). A análise dos resultados dos experimentos leva em consideração o tempo gasto em todas as iterações e a quantidade média de memória usada em todas as iterações. Os intervalos de conĄança dos experimentos são apresentados no Apêndice E.

O restante desta seção está organizado como se segue. Da Seção 8.3.1 até a Seção 8.3.6 são apresentados os experimentos comparativos entre os algoritmos e as equivalências CQL usados para processar os operadores da linguagem StreamPref. Em seguida, a Seção 8.3.7 apresenta os experimentos para analisar como as combinações de operadores inĆuenciam na comparação de sequências.