15.07.2013 Views

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

algoritmo Multi-Way se <strong>de</strong>teriora quando aumenta o número <strong>de</strong> dimensões em consequência do elevado<br />

custo associado à construção da MMST [Tam1998].<br />

2.5 Variantes ao problema tradicional<br />

Os trabalhos mais recentes na área <strong>de</strong> OLAP e geração <strong>de</strong> hipercubos inci<strong>de</strong>m sobre uma variante do<br />

problema tradicional da computação <strong>de</strong> cubos. Como se viu, o problema tradicional consiste, muito<br />

resumidamente, em calcular todos os agregados da forma mais eficiente possível, tendo em conta que o<br />

problema é exponencial em relação ao número <strong>de</strong> dimensões consi<strong>de</strong>radas. Além disso, há que ter em<br />

atenção que o tamanho <strong>de</strong> cada agregado <strong>de</strong>pen<strong>de</strong> da cardinalida<strong>de</strong> das dimensões que o compõem.<br />

Como os dados reais ten<strong>de</strong>m a ser <strong>de</strong> natureza esparsa, uma estratégia para aumentar o <strong>de</strong>sempenho<br />

dos algoritmos nessas situações passa por i<strong>de</strong>ntificar antes da computação quais os subconjuntos <strong>de</strong><br />

interesse [Beyer1999] apresentaram uma variante ao problema tradicional da geração <strong>de</strong> cubos a que<br />

<strong>de</strong>ram o nome <strong>de</strong> cubos iceberg (iceberg cubes). O problema icerberg-CUBE consiste em computar<br />

todas as agregações para todas as combinações <strong>de</strong> atributos que satisfazem uma <strong>de</strong>terminada<br />

condição, à semelhança da cláusula HAVING numa interrogação SQL. Tendo em conta o contexto <strong>de</strong><br />

dados esparsos, a condição envolvida estabelece que uma partição <strong>de</strong>ve ter pelo menos N tuplos, sendo<br />

N <strong>de</strong>signado como o suporte mínimo da partição.<br />

2.5.1 Computação da base para o topo (bottom-up computation)<br />

Beyer e Ramakrishnan propuseram o algoritmo BUC como resposta ao problema dos cubos iceberg.<br />

Este algoritmo procura combinar a eficiência a nível <strong>de</strong> entradas/saídas do algoritmo Partitioned-Cube<br />

com a possibilida<strong>de</strong> <strong>de</strong> recorrer a filtragem em função do suporte mínimo pretendido [Beyer1999]. A sua<br />

<strong>de</strong>signação <strong>de</strong>ve-se ao facto do algoritmo começar nos agregados mais pequenos e prosseguir até aos<br />

agregados maiores, ao contrário da maioria dos restantes algoritmos. Cada dimensão é lida e dividida<br />

segundo o número <strong>de</strong> ocorrências para cada um dos valores <strong>de</strong>ssa dimensão, sendo as restantes<br />

dimensões computadas recursivamente para cada partição.<br />

O algoritmo recorre à estratégia dividir para conquistar (divi<strong>de</strong>-and-conquer) uma vez que, após uma<br />

<strong>de</strong>terminada partição ter sido calculada, todos os cubói<strong>de</strong>s <strong>de</strong>scen<strong>de</strong>ntes são calculados antes do<br />

algoritmo passar à partição seguinte. O movimento da base para o topo, ou seja, no sentido dos<br />

agregados mais pequenos para os agregados maiores, permite que seja realizada uma filtragem<br />

recorrendo à proprieda<strong>de</strong> anti-monotónica empregue no algoritmo Apriori, usado na <strong>de</strong>scoberta <strong>de</strong><br />

associações frequentes entre objectos [Agrawal1994] que estabelece que, se a contagem numa célula c<br />

<strong>de</strong> um cubói<strong>de</strong> A é inferior a um limite mínimo estabelecido, então o valor para qualquer uma das células<br />

que partilhem com essa célula um prefixo comum nunca será superior ao limite pré-estabelecido; logo,<br />

essas células <strong>de</strong>scen<strong>de</strong>ntes não precisam <strong>de</strong> ser calculadas.<br />

42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!