• Nenhum resultado encontrado

4.6 Implementa¸c˜ao da Estrutura de Agrupamento

4.6.3 Regras Preferenciais de Agrupamento

RPA 1 – Comprimento de Grupo

Como dito antes e mostrado na figura 4.2, RPA 1 atua apenas como um checker em rela¸c˜ao a RPA 2 e RPA 3 visando assegurar que nenhum grupo possua somente um elemento. A suposi¸c˜ao b´asica para atingir este objetivo ´e considerar que, em uma lista de fronteiras, duas fronteiras adjacentes com valores maiores do que zero caracteriza um grupo com apenas um ´unico elemento. O algoritmo empregado na implementa¸c˜ao desta regra ´e o seguinte:

1. Atribua a um apontador a posi¸c˜ao do segundo elemento da lista de fronteiras; 2. Se tanto o valor da posi¸c˜ao atual quanto o da anterior s˜ao maiores do que zero, some

os dois valores e coloque o resultado na fronteira que possui o maior valor;

3. Repita as opera¸c˜oes anteriores trocando a posi¸c˜ao anterior pela posterior `a posi¸c˜ao atual;

4. Se o apontador est´a na pen´ultima fronteira, ent˜ao v´a para o passo 6; 5. Sen˜ao, incremente o apontador e v´a para o passo 2;

6. Normalize a lista de fronteiras pela norma unit´aria; Regras 2 e 3 - Proximidade e Similaridade

Tanto a RPA 2 quanto RPA 3 utilizam, na sua implementa¸c˜ao, o sistema nebuloso desen- volvido por Wang & Mendel (1992) e descrito na se¸c˜ao 4.5.2. Nesta pode ser visto como foi treinado e utilizado o sistema no processamento das duas regras.

RPA 4 - Intensifica¸c˜ao

Ap´os o processamento de RPA 2 and RPA 3 ´e necess´ario realizar sua intensifica¸c˜ao. Este procedimento visa resolver os conflitos e ambig¨uidades que emergem devido ao uso con- corrente das duas regras.

S˜ao trˆes os fundamentos que tornam poss´ıvel o algoritmo de intensifica¸c˜ao, a saber, uma estrutura de dados que represente uma fronteira de grupo e seu valor caracter´ıstico, o conceito de limiar de percep¸c˜ao e o conceito de limiar de vizinhan¸ca. Na medida em que os dois primeiros j´a foram anteriormente abordados, resta aqui a necessidade de definir-se o ´ultimo deles.

O limiar de vizinhan¸ca representa o “dom´ınio” que uma fronteira de grupo exerce sobre uma outra sempre que ambas est˜ao no interior de um mesmo intervalo temporal. Em outras palavras, dentro de um mesmo limiar de vizinhan¸ca, somente a fronteira com maior valor permanece ativa, sendo as demais desativadas (recebem valor igual a zero). O limiar de vizinhan¸ca ´e calculado assim:

θ = 2nδ (4.1)

onde θ ´e o limiar de vizinhan¸ca, n ∈ N e δ ´e o quantum de dura¸c˜ao, o qual ´e a menor dura¸c˜ao existente na amostra musical a ser analisada. Nos testes realizados neste trabalho n foi feito igual a 1, o que significa que o limiar de vizinhan¸ca θ ficou igual a dois quanta de dura¸c˜ao.

Estando definidos os conceitos necess´arios para a implementa¸c˜ao de RPA 4, o algo- ritmo completo pode ser agora apresentado:

1. Alocar um vetor G de fronteiras de grupo com dimens˜ao: d = T

δ (4.2)

onde T ´e a dura¸c˜ao total da amostra musical, e o inicializar com zeros.

2. Para cada uma das estruturas de agrupamento a serem intensificadas, varrˆe-las em quanta de dura¸c˜ao e marcar em G onde existem fronteiras de grupos. Em caso de coincidˆencias, os valores devem ser somados.

3. Normalizar G na norma unit´aria observando o limiar de percep¸c˜ao considerado. 4. Aplicar o algoritmo de Elimina¸c˜ao de Vizinhan¸cas:

(a) Fazer I = θ, onde I ´e uma vari´avel auxiliar.

(b) Varrer, em quanta de dura¸c˜ao, o intervalo [I − θ, I + θ] armazenando a posi¸c˜ao (fronteira de grupo) que tem o maior valor.

(c) Varrer novamente o intervalo atribuindo zero a todas posi¸c˜oes que n˜ao tem o valor m´aximo.

(d) Fazer I = I + θ.

RPA 5 – Simetria

Inicialmente, para implementa¸c˜ao da RPA 5 foi imaginado o m´etodo descrito no Apˆendice B. Apesar da elegˆancia e eficiˆencia deste m´etodo, ele foi, entretanto, posteriormente substitu´ıdo pelo algoritmo mostrado abaixo por este ser menos complexo e com custo computacional inverso.

A RPA 5 recebe da RPA 4 uma estrutura de agrupamento resultante da intensifica¸c˜ao entre a RPA 2 e a RPA 3. Sua tarefa ´e calcular os pr´oximos n´ıveis de an´alise at´e que todas as fronteiras sejam iguais a zero, ou seja, o ´unico grupo do ´ultimo n´ıvel coincide com a pe¸ca em sua integridade.

Entretanto, ´e importante lembrar que antes que sa´ıda de RPA 4 possa chegar na entrada de RPA 5 ´e feita uma verifica¸c˜ao se existem fronteiras que quebrem a continuidade de algum padr˜ao (RPA 6) ou cadˆencia (RPA 7). Se isto acontece, a fronteira ´e desativada (seu valor torna-se zero). Segue o algoritmo para a RPA 5:

1. Considerar a sa´ıda dos checkers (para a RPA 6 e a RPA 7) como o primeiro n´ıvel da an´alise (primeira linha da matriz n´ıveis × fronteiras).

2. Ir para o pr´oximo n´ıvel:

a. Copiar o array de fronteiras do n´ıvel anterior para o n´ıvel atual. b. Encontrar o m´ınimo valor (maior do que zero) do n´ıvel atual.

c. Multiplicar seu valor por 1.2 (o limiar de fronteira) e armazenar o resultado. d. Atribuir zero a todas as fronteiras cujos valores s˜ao iguais ou menores do que

o limiar de fronteira.

3. Se todas as fronteiras s˜ao zero, ir para o passo 4; sen˜ao, ir para passo 2. RPA 6 – Paralelismo

Na TGMT o conceito de “paralelismo” ´e vago e abrangente. Neste trabalho o termo paralelismo significa simplesmente a reitera¸c˜ao de motivos, ou, em outras palavras, so- mente as estruturas mel´odicas s˜ao consideradas. O m´etodo empregado para esta tarefa ´e a heur´ıstica j´a descrita em 4.5.1, a qual emprega uma matriz correlativa visando a detec¸c˜ao de estruturas mot´ıvicas.

RPA 7 – Estabilidade Temporal e Prolongacional

A fun¸c˜ao de RPA 7 ´e optar por fronteiras de grupo que minimizem conflitos com a esta- bilidade harmˆonica da amostra sendo analisada. Esta estabilidade harmˆonica reflete-se, principalmente, na manuten¸c˜ao da integridade nas cadˆencias. Visando a realiza¸c˜ao deste trabalho tem-se como primeito passo a an´alise harmˆonica da amostra.

O presente trabalho emprega um analisador harmˆonico baseado numa t´ecnica conhe- cida como Constraint Satisfaction Problem (CSP) e sugerida por Hoffman & Birmingham (2000) e que est´a descrito detalhadamente no cap´ıtulo 7, p´agina 127.