Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertacao submetida ao
Instituto de Ciencias Exatas e Biologicas
Universidade Federal de Ouro Preto
para obtencao do ttulo de Mestre em Ciencia da Computacao
F866m
Catalogao: sisbin@sisbin.ufop.br
CDU: 669.162.16
ii
iii
iv
M
usica Evolutiva: Uma Abordagem Computacional para
Composic
ao Algortmica
Resumo
Este trabalho descreve uma abordagem para composicao algortmica baseada em algoritmos geneticos. Sao desenvolvidos dois modulos principais, que sao os geradores
melodico e harmonico. Um dos maiores problemas quando se usa algoritmos geneticos
para evoluir melodias e criar uma medida esteticamente consciente de fitness. Neste
trabalho, descreve-se uma nova abordagem com uma medida mnima de fitness na qual
um conjunto de boas melodias e retornado no fim do processo. Logo depois, uma abordagem multiobjetivo e usada para harmonizacao da melodia. O algoritmo evolucionario
multiobjetivo define mudancas de acordes com diferentes graus de simplicidade e dissonancia. Experimentos foram feitos e comparados a julgamento humano dos resultados.
As descobertas sugerem ser possvel desenvolver funcoes de fitness que refletem intencoes
humanas para m
usica.
vi
This work describes an approach for algorithmic composition based on genetic algorithms. Two main modules are described, which are the melodic and harmonic generators. One of the greatest problems when using genetic algorithms to evolve melodies is
creating an aesthetically conscious measure of fitness. In this work, we describe a new
approach with a minimum measure of fitness in which a set of good melodies is returned
at the end of the process. Afterwards, a multiobjective approach is used for melody
harmonization. This multiobjective evolutionary algorithm defines chord changes with
diering degrees of simplicity and dissonance. Experiments were held and compared to
human judgment of the results. The findings suggest that it is possible to devise fitness
functions which reflect human intentions for music.
vii
viii
Declarac
ao
Esta dissertacao e resultado de meu proprio trabalho, exceto onde referencia explcita e
feita ao trabalho de outros, e nao foi submetida para outra qualificacao nesta nem em
outra universidade.
ix
Agradecimentos
xi
xii
Pref
acio
nesta secao. Logo apos, sao definidas as abordagens especficas deste trabalho para a
geracao de melodias e harmonias.
No gerador de melodias, medidas mnimas de fitness sao utilizadas para retornar um
grupo de bons indivduos que representam compassos de uma melodia. Sao descritos
detalhes da implementacao e operadores geneticos especficos. Define-se uma Matriz de
Takeover para medir as relacoes entre diferentes geracoes, levando em conta um valor
de compromisso entre originalidade e diversidade. Atraves desta matriz de Takeover, o
proprio processo evolutivo pode ser usado como um criterio de decisao em vez de se usar
apenas simples medidas individuais de fitness.
Apresentam-se alguns resultados experimentais utilizando-se a melodia da m
usica
Samba de uma nota so (Jobim & Mendonca 1959), composicao de Tom Jobim e Newton
Mendonca, com varias interpretacoes disponveis em portugues e ingles.
Ja para a geracao de harmonias, existem varios metodos e resultados possveis para
uma melodia de entrada, considerando padroes musicais gerais da m
usica ocidental.
Uma abordagem multiobjetivo e utilizada para a geracao de harmonias. Algumas regras
podem ser extradas da teoria musical, porem alguns aspectos harmonicos podem ser
definidos apenas por preferencias do compositor. Por isso, a abordagem multiobjetivo
pode ser u
til para permitir que o processo evolucionario procure um conjunto de solucoes
que represente o trade-o entre funcoes objetivo distintas.
Por final, sao descritos os resultados dos experimentos feitos e suas devidas conclusoes. Sao apresentadas as medidas esteticas de qualidade das solucoes utilizadas no
trabalho assim como suas implicacoes. As primeiras implicacoes importantes sao as do
gerador melodico, onde sao analisados os resultados provenientes do uso da Matriz de
Takeover. A populacao inicial contem um papel fundamental neste tipo de algoritmo,
que pode ser utilizado tanto para desenvolver novas melodias como para estender melodias ja criadas anteriormente. A abordagem multiobjetivo para a geracao de harmonias
cria progressoes harmonicas com varios graus de simplicidade e dissonancia. A comparacao dos resultados a uma avaliacao humana sugere como a definicao automatica de
fitness pode refletir suposicoes humanas sobre a qualidade de diferentes harmonias.
xiv
Sum
ario
Lista de Figuras
xix
Lista de Tabelas
xxiii
Nomenclatura
1 Introduc
ao
1.1
Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Revisao Bibliografica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.5
Organizacao do Texto
16
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Composic
ao Algortmica
2.1
2.2
17
Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.1.1
Altura Tonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.1.2
Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.1.3
Timbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.1.4
Outras terminologias . . . . . . . . . . . . . . . . . . . . . . . . .
26
Definicoes de M
usica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
xv
2.3
2.2.1
A Arte da M
usica . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
2.2.2
M
usica como IHC . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3 Metodologia
3.1
3.2
3.3
41
Algoritmos Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.1.1
Biologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.1.2
Representacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.1.3
49
3.1.4
Selecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.1.5
Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .
53
3.1.6
. . . . . . . . . . . .
57
3.1.7
63
3.1.8
Consideracoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
Gerador Melodico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
3.2.1
67
3.2.2
Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.2.3
74
3.2.4
75
Gerador Harmonico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
3.3.1
Representando Harmonias . . . . . . . . . . . . . . . . . . . . . .
84
3.3.2
Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .
87
3.3.3
Harmonizacao Multiobjetivo . . . . . . . . . . . . . . . . . . . . .
88
3.3.4
91
3.3.5
Executando a harmonia . . . . . . . . . . . . . . . . . . . . . . .
94
xvi
3.4
Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Resultados
95
97
4.1
Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.2
Gerador de Melodias . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.2.1
Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.2.2
Resultados e Discussao . . . . . . . . . . . . . . . . . . . . . . . .
99
4.3
4.4
4.3.2
Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5 Conclus
oes
115
5.1
Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.2
Refer
encias Bibliogr
aficas
119
Indice Remissivo
127
xvii
xviii
Lista de Figuras
1.1
2.1
18
2.2
19
2.3
20
2.4
20
2.5
23
2.6
24
2.7
25
2.8
. . . . . . . . . . . . . . . . .
26
2.9
28
33
2.11 Modelo de Norman para Interacao do Usuario (Norman 1988) e seu relativo musical (Biles 2007b) . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.1
44
3.2
Metodo da Roleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.3
52
3.4
54
xix
. . . . . . . . . . . . . . . . . . . . .
3.5
55
3.6
68
3.7
70
3.8
Cruzamento Melodico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
3.9
72
77
79
90
95
4.1
98
4.2
Escala Cromatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
4.3
98
4.4
N
umero de geracoes para alcancar o takeover . . . . . . . . . . . . . . . .
99
4.5
4.6
4.7
4.8
4.9
xxi
xxii
Lista de Tabelas
2.1
22
2.2
24
2.3
24
2.4
29
2.5
29
2.6
31
2.7
34
3.1
48
3.2
49
3.3
49
3.4
. . . . . . . . . . .
67
3.5
81
3.6
82
3.7
84
3.8
Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
3.9
86
xxiii
89
94
. . . . . . . . . . . . . . . . . . . . .
4.1
4.2
xxiv
Lista de Algoritmos
3.1
AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
3.2
91
xxv
xxvi
Music is the eort we make to explain to ourselves how our brains work.
We listen to Bach transfixed because this is listening to a human mind.
Lewis Thomas
xxvii
xxviii
Nomenclatura
AE
Algoritmo Evolucionario
AG
Algoritmo Genetico
Bemol
CA
Composicao Algortmica
CE
Computacao Evolutiva
dB
Decibeis
Hz
Hertz
IA
Inteligencia Artificial
IHC
Interacao Homem-Computador
ME
M
usica Evolutiva
MIDI
NSGA-II
RNA
SST
Sustenido
Captulo 1
Introduc
ao
1.1
Introduc
ao
Este trabalho apresenta uma possvel abordagem para Composicao Algortmica (CA),
processo no qual determinado algoritmo pode criar uma composicao de maneira automatica. Para a criacao destes algoritmos, e comum estudar como padroes ocorrem
em metodos tradicionais de composicao e como estes influenciam a formacao de novas
m
usicas. Existem varios padroes de composicao que podem ser algortmicos ou nao.
A criacao feita desta maneira e muito intrigante pois alem de haver a necessidade
de desvendar os padroes de composicao que podem ser algortmicos, e preciso trabalhar
com d
uvidas que surgem sobre os conceitos pessoais em relacao a` arte em questao e as
expectativas sobre a habilidade de computadores para produzir obras de arte.
Os algoritmos para CA sao normalmente (i) estocasticos; (ii) baseados em regras;
ou (iii) baseados em IA, sendo que nos u
ltimos se encontram os metodos evolucionarios
(Miranda & Biles 2007).
Metodos baseados em Computacao Evolutiva (CE) podem ser empregados em diversas aplicacoes. Varias delas sao tarefas musicais, em uma area que se convencionou
chamar de M
usica Evolutiva (ME). A CE tem grande potencialidade para auxiliar estas
tarefas musicais, ja que estas sao altamente relacionadas com tarefas de decisao.
A estrutura de um Algoritmo Genetico (AG) se adapta bem aos problemas de composicao musical pois ambos funcionam com base em experiencias passadas que levam a
novas criacoes. Algoritmos geneticos podem comecar com um conjunto de informacoes
3
Introduc
ao
1.2
Justificativa
Introduc
ao
Introduc
ao
1.3
Objetivos
Introduc
ao
Complexidade Efetiva
Vida Artificial
Fractais
Simetria
Ordem
Sistemas
Caticos
Aleatoriedade
Desordem
maneira top-down, ou seja, definindo estruturas de nvel mais alto primeiro e depois
criando a m
usica de acordo com o arcabouco criado em nveis mais baixos.
Estruturas de nvel mais alto podem representar partes de uma m
usica, como refroes
e versos, podem definir parametros, como volume e timbre, ou ate mesmo definir quais
instrumentos serao utilizados em uma composicao, enquanto estruturas de nvel mais
baixo podem representar elementos musicais tao simples quanto frequencias. As melodias
e harmonias, que estarao em estruturas de nvel mais baixo, terao suas definicoes guiadas
pelas estruturas de nvel mais alto.
Para a criacao de m
usica, modulos de nveis mais baixos devem ser criados. Estes sao
os geradores de melodia e harmonia descritos neste trabalho. Cada um destes modulos
pode utilizar informacoes recebidas por estruturas de mais alto nvel ou por outros
modulos.
Se um algoritmo evolucionario livre de fitness e usado para a geracao de melodias,
Introduc
ao
o n
umero de geracoes utilizadas e arbitrario e depende da experiencia do usuario. Se
o n
umero de geracoes e muito pequeno, a melodia final pode se parecer muito com a
desejavel que a solucao final seja original em
inicial e nao ter muita originalidade. E
relacao `a melodia inicial, especialmente quando seu autor nao e o usuario do algoritmo.
Apos um certo n
umero de geracoes, um takeover 2 ocorrera, mesmo com a ausencia de
uma funcao de fitness que force uma pressao seletiva, devido ao fenomeno de deriva
genetica3 . Apos isto, todas as alteracoes na populacao serao provenientes da mutacao
apenas. Ocorre entao um compromisso entre originalidade e diversidade: durante o
processo evolucionario, a originalidade aumenta enquanto a diversidade diminui.
A procura de harmonias e outro campo de estudo, normalmente com a vantagem
de ter funcoes de fitness mais faceis de serem especificadas. Mostrou-se que algoritmos
podem criar harmonias com sucesso (Papadopoulos & Wiggins 1999). Varios destes
trabalhos descrevem sistemas para gerar harmonias de quatro partes para uma dada
melodia (chamada tambem de harmonizacao SATB). Neste problema, os algoritmos
propostos normalmente procuram um grupo de notas para cada nota original na melodia e este problema pode ser facilmente contornado quando a progressao harmonica e
tambem dada com a melodia (Horner & Ayers 1995). De maneira analoga a metodos
para a geracao de melodias, o desenvolvimento de metodos de harmonizacao focados em
estilos particulares podem ser interessantes (McIntyre 1994).
Quando criam-se progressoes harmonicas para melodias ja existentes, e necessario
definir alguns fatores que devem ser penalizados ou recompensados no fitness de um
indivduo. Contudo, estes fatores sao normalmente subjetivos e se baseiam fortemente
em preferencias do usuario. Assim, neste trabalho, apresenta-se uma abordagem de otimizacao multiobjetivo para harmonizacao que seja capaz de evoluir harmonias enquanto
se trabalha o equilbrio entre harmonias com ou sem tensao4 .
importante basear metodos de composicao em aspectos formais desenvolvidos para
E
m
usica tonal. Contudo, respeitar algum conjunto basico de regras nao garante que o
resultado tera sentido musical ou sera interessante. Criatividade e novas ideias podem
ate mesmo surgir da violacao de algumas regras, mas o problema e saber quais regras
violar e quando faze-lo. Nestes casos, e necessario a analise de algoritmos que tratem
2
Em um Algoritmo Evolucion
ario, um takeover ocorre quando todos os indivduos sao iguais e a
populac
ao n
ao apresenta diversidade alguma.
3
A n
ao ser que haja uma taxa de mutacao tao alta que se sobreponha ao efeito do cruzamento de
herdar caractersticas de indivduos de populacoes passadas.
4
Tens
ao e criada em um acorde atraves de inclusao de uma nota dissonante extra que cria a necessidade de relaxamento ou liberac
ao para o ouvinte.
Introduc
ao
Como o espaco de busca deve ser delineado de modo a nao limitar demasiadamente
a criatividade do sistema e nem levar a solucoes inadequadas
Como atingir um bom equilbrio entre originalidade e diversidade neste tipo de
evolucao artificial de melodias
Quais criterios que podem ser utilizados para selecionar uma melodia entre varios
candidatos gerados pelo processo evolucionario
Como pode ser feita a geracao de material artstico sem intervencao humana
Quais seriam indivduos u
teis para a geracao de m
usica em diferentes contextos de
tarefas musicais
Como podem ser gerados operadores geneticos que sao musicalmente cientes
Como representar melodias e harmonias que podem ser mono ou polifonicas
10
Introduc
ao
1.4
Revis
ao Bibliogr
afica
Quando se pensa em CA, pode haver equvocos ao relaciona-los com metodos computacionais complexos. Na verdade, a utilizacao de algoritmos para criar composicoes e muito
mais antigo. Uma grande exemplo e em 1757, quando Johann Kimberger, tutelado de
Bach, publica um livro para ensinar leitores a compor polonaises e minuetos (Kirnberger
& Kupper 1994).
Depois da morte de Mozart, foi publicada e atribuda a ele a autoria de Musikalisches
W
urfelspiel (Jogos de Dados Musicais), metodo que tambem criava composicoes atraves
Introduc
ao
11
de n
umeros jogados em dados (Mozart 1787), o metodo foi publicado em 1793. O dado
e jogado para escolher aleatoriamente pequenas secoes de m
usica, que sao juntadas ao
final para formar uma peca inteira. Versoes computacionais do mesmo metodo foram
implementadas (Chuang 1995).
Os computadores com certeza criaram opcoes para as finalidades de composicao. Ja
no seculo XIX, em 1840, Ada Lovelace propoe a utilizacao da maquina analtica para a
criacao de m
usica:
Supposing, for instance, that the fundamental relations of pitched sound
in the signs of harmony and of musical composition were susceptible of such
expression and adaptations, the engine might compose elaborate and scientific
pieces of music of any degree of complexity or extent. 5 (Alpern 1995)
Outro algoritmo para composicao utilizado na epoca em que computadores ainda
nao eram utilizados e o serialismo dodecafonico, ou metodo de doze tons, criado por
Arnold Schonberg na decada de 1920 (Hyde 1985). Neste metodo ocorre a repeticao de
um elemento atomico que sofre transformacoes. Decisoes sobre a peca eram tomadas em
relacao a series pre-formadas, o que automatizava bastante o processo de composicao.
O metodo dodecafonico assegura igualdade no n
umero de ocorrencias de cada nota
da escala temperada. Com uma base inicial, chamada de prime series, que e uma
permutacao das 12 notas da escala, percebe-se que e um metodo um pouco mais flexvel,
ja que existem 12! (ou 4, 7 108 ) prime series possveis. A composicao e feita por um
n
umero aleatorio de repeticoes das prime series, que a cada repeticao ha transformacoes,
que podem ser retrogadas ou inversas.
Ainda nos metodos algortmicos sem a utilizacao de computadores, John Cage, compositor inovador e polemico por suas composicoes semi-aleatorias, cria em 1951 um
metodo para composicao com a utilizacao do I-Ching como oraculo para tomar varias
decisoes, como qual nota usar e quando inclu-la na composicao (Pritchett 1996). O
metodo foi utilizado na composicao Imaginary Landscape no 4, onde 24 interpretes utilizam 12 radios em tempo real.
A considerada primeira composicao gerada por computador e The Illiac Suite for
String Quartet, gerada por Lejaren Hiller e Leonard Isaacson. Varios artifcios eram
5
12
Introduc
ao
usados, incluindo cadeias de Markov (Hiller 1981). A composicao foi feita em 1957 e
conseguiu codificar parametros estilsticos. O processo de composicao foi primeiramente
geracao de material pelo computador, depois modificar este material de acordo com
funcoes estabelecidas e por final selecionar os melhores resultados de acordo com o
conjunto de regras (Alpern 1995). Esse paradigma de geracao, modificacao e selecao
seria mais vezes utilizado no futuro.
O metodo de Hiller e proposto da seguinte maneira: primeiramente as notas sao
distribudas com probabilidade uniforme. Apos esta etapa, notas comecam a sofrer
restricoes. As regras utilizadas sao regras classicas, como escalas, e depois regras do
serialismo. Finalmente as notas recebem funcoes que sao aplicadas em relacao a`s notas
anteriores (Hiller 1959).
Um outro exemplo deste tipo de composicao e o formula composition (Felder &
Stockhausen 1977), criado por Karlheinz Stockhausen em 1970. O formula composition
e derivado do serialismo dodecafonico e conjuntos de formulas melodicas.
Para todos os algoritmos de CA existe uma enorme dificuldade para a introducao
de parametros externos ao processo de composicao. Exemplos destes parametros sao
dados do passado, como experiencias e dados culturais do ouvinte que influenciam na
maneira como ele interpretara a peca, e dados do presente, como formulas e teorias que
nao restrinjam demais as possibilidades do algoritmo ao mesmo tempo que nao gera
muito material musicalmente inadequado ou que nao seria considerado m
usica na maior
parte dos contextos.
Os metodos ate entao descritos foram basicamente estocasticos e baseados em regras,
o que leva `a geracao de m
usicas muito pouco diversas na maioria das vezes. Como alternativa a estes metodos, existem os metodos baseados em Inteligencia Artificial (IA), que
incluem Redes Neurais Artificiais (RNA), Automatos Celulares e Algoritmos Geneticos,
o foco deste trabalho. Atualmente, grande parte dos algoritmos modernos para assistencia a m
usicos estao nesta categoria.
Algoritmos Geneticos tem uma grande extensao de aplicacoes em ciencia e engenharia, em problemas complexos para os quais uma solucao especfica e difcil de se
encontrar. A capacidade de busca de AG chamou o interesse de varias comunidades
cientficas, incluindo ate aplicacoes de arte e m
usica (Corne & Bentley 2001, Miranda
& Biles 2007, Romero & Machado 2007, Todd & Latham 1992). Houve varios estudos
envolvendo computacao evolucionaria e arte tentando entender a influencia possvel de
sistemas bioinspirados e arte, tecnologia e avaliacao estetica (Romero & Machado 2007).
Introduc
ao
13
14
Introduc
ao
(Waschka II 2007).
Brown (2002) descreve como varias aplicacoes de AG para analise musical e sntese
de sons foram bem sucedidas. Uma das utilizacoes principais de AG neste contexto
e a formacao de melodias. Um algoritmo para a criacao de solos de jazz em tempo
real e proposto por Biles (1994), mostrando como o desenvolvimento de composicao
automatizada para um genero particular de m
usica pode ser abordado com AG. Isso e
feito com um AG que considera varias tarefas musicais, como audicao e improvisacao.
Apesar de varios resultados interessantes, a M
usica Evolucionaria ainda encara varios
desafios (McCormack 2005).
A criacao de m
usica com programas de computador tem algumas caractersticas
comum ver prodistintas quando comparadas a problemas classicos de otimizacao. E
cedimentos onde um indivduo de uma populacao representa um compasso que pode
ser usado em uma composicao final. Isso faz com que procurar uma boa populacao
com indivduos diversos seja mais importante que a procura de um indivduo otimo
(Waschka II 1999). Isso e uma caracterstica particular a ser explorada em sistemas
feitos para criar arte.
Alguns compositores podem tambem querer estender ideias melodicas a partir de
uma ideia inicial. Neste sentido, AG podem gerar variacoes melodicas ou contra melodias (Polito, Daida & Bersano-Begey 1997). Ja Jacob (1995) estudou como fragmentos
melodicos tambem podem ser combinados em linhas maiores. Alem de melodias, AE
tambem podem ser usados para determinar harmonias correspondentes a uma dada melodia. Algoritmos podem gerar partes harmonicas (McIntyre 1994) ou gerar mudancas de
acordes (Horner & Ayers 1995). A tarefa de harmonizacao tambem pode ser direcionada
a um estilo especfico, como demonstra o trabalho de Maddox & Otten (2000).
Para a criacao de arranjos, o problema nao e normalmente estudado diretamente, e
outras aplicacoes para o desenvolvimento de melodias sao normalmente usados (Jacob
1995), podendo ter certos ajustes para que as melodias se adaptem a instrumentos
especficos.
Assim, AG podem ser utilizados para criacao e extensao de melodias, harmonias e
arranjos. Alem disso, e possvel criar sistemas que trabalhem com estruturas musicais
de mais alto nvel como refroes e versos de maneira top-down (Unemi & Senda 2002)
ou bottom-up (Jacob 1996).
No sentido de explorar similaridades entre o processo evolutivo e o musical (mais
Introduc
ao
15
16
Introduc
ao
1.5
Organizac
ao do Texto
Captulo 2
Composic
ao Algortmica
Neste captulo sera apresentada uma discussao sobre Composicao Algortmica (CA),
alem de nocoes sobre conceitos musicais que sao importantes para qualquer aplicacao
computacional musical.
Pelo menos ao se tratar de m
usica ocidental, pode-se dizer que compositores sempre
usam, de uma maneira ou de outra, processos algortmicos1 para a criacao de suas
composicoes. Algoritmos fazem parte do processo criativo.
Nao obstante, a definicao de onde estao os processos algortmicos e mais difcil. Isso
ocorre pois nem todos os processos sao intrinsecamente algortmicos, ja que se trata de
uma arte contextual. Assim, um passo inicial para se determinar um sistema de CA e
delinear limites entre o que e ou nao fundamentalmente algortmico. Alem disso, alguns
processos podem ser algortmicos, porem com um certo grau de aceitacao para quando
as regras deste algoritmo sejam quebradas para levar a resultados mais criativos.
A maioria dos compositores aplicam regras e especialmente passos especficos quando
compoem. Porem, sistemas que coletem um grande conjunto de regras se assemelhara
a um livro de instrucoes musicais. Isso levara `a criacao de musicas u
teis para treino
musical mas nao muito artsticas em si.
Analisando como compositores trabalham, pode-se tambem deduzir que essas regras
podem ser utilizadas ou nao de acordo com um estilo particular de composicao, o que faz
com que a criacao de algoritmos especializados para um estilo especfico normalmente
funcionem melhor.
1
Com algortmico, denomina-se um processo ou conjunto de regras bem definidas a serem seguidas
em operac
oes de c
alculo ou soluc
ao de problemas.
17
18
Composic
ao Algortmica
Informao
Algoritmo
Msica
2.1
Definic
oes
Para a criacao de um sistema que criara musicas, e necessario compreender os elementos que formam a m
usica, ou seja, entender como definir a m
usica entre um conjunto
preciso antes entender o som, como onda
maior dos sons organizados temporalmente. E
mecanica, para que se possa criar algoritmos que gerem resultados em seus subconjuntos
musicais.
Os sons sao um grande emaranhado de sinais, porem um som monotonico pode ter
a sua frequencia medida em hertz (Hz) e sua amplitude medida em decibeis. Assim,
e possvel representar um onda sonora assim como na Figura 2.2. O eixo horizontal
representa o tempo enquanto o eixo vertical representa a amplitude da onda.
Os sons tem varias propriedades, sendo que as mais importantes para algoritmos de
composicao sao a altura tonal, o volume e o timbre. Para outras aplicacoes musicais, outras caractersticas tambem devem ser analisadas, como o comprimento de onda, n
umero
de onda, intensidade, velocidade e direcao.
Neste captulo, algumas definicoes importantes serao apresentadas. Para mais detalhes sobre os conceitos relacionados a teoria musical, Kennedy & Bourne (2004) oferece
uma boa referencia.
19
Amplitude
Composic
ao Algortmica
Tempo
2.1.1
Altura Tonal
As notas musicais sao definidas pelas frequencias sonoras, ou seja, cada nota musical
corresponde a uma frequencia especfica. A frequencia indica o n
umero de ocorrencias
de um certo evento, no caso, ciclos de onda. Essas frequencias sonoras sao medidas em
oscilacoes por segundo, que e a unidade de medida hertz (Hz), em honra a Heinrich
Hertz. O ouvido humano e limitado em relacao `a percepcao das frequencias, sendo que
apenas frequencias entre 20 e 20.000 Hz podem ser percebidas e criar sensacoes neurais.
As frequencias podem ser compreendidas como notas pelo ouvido humano, e a os
conceitos de altura tonal de cada nota devem ser utilizados. Quando a frequencia da
onda e muito baixa, ou seja, ocorre um menor n
umero de ciclos de onda por unidade de
tempo, diz-se que a nota e grave (ou baixa). Caso contrario, esta sera uma nota aguda
(ou alta). O conceito de altura tonal esta assim relacionado a` frequencia percebida de um
som. Nao uma propriedade fsica mas um atributo subjetivo do som (Plack, Oxenham,
Fay & Popper 2005). Trata-se da maneira como humanos percebem estas frequencias e
as colocam em um certo contexto.
Representacoes de varias ondas senoidais de varias frequencias estao na Figura 2.3.
As ondas superiores tem as maiores frequencias, representando as notas mais agudas.
Novamente o eixo horizontal representa o tempo enquanto o eixo vertical representa a
amplitude da onda.
Varias frequencias estao relacionadas a uma nota, mas estes conceitos nao sao sinonimos.
Nas doze notas existentes em uma escala temperada, cada uma esta relacionada com
Composic
ao Algortmica
Ampl i tude
20
Te mp o
mais de uma frequencia pois se uma frequencia x representa uma nota y, a frequencia
2x ainda representa a nota y, porem diz-se que a nota y esta em uma oitava musical
mais aguda. Em conceitos musicais, uma oitava e um intervalo entre uma nota e outra
com o dobro ou metade de sua frequencia. Este nome vem da sequencia das notas de
uma escala natural (do, re, mi, fa, sol, la, si, do), pois o segundo do e dito estar uma
oitava acima do primeiro.
Assim, pode-se deduzir que a relacao entre altura tonal e frequencia de onda e logartmica. Isto quer dizer que precisa-se dobrar a frequencia para se avancar as 12 notas
da escala cromatica (do, do sustenido ou re bemol, re, re sustenido ou mi bemol, mi, fa,
fa sustenido ou sol bemol, sol, sol sustenido ou la bemol, la, la sustenido ou si bemol,
si, do) ou 7 notas de uma escala natural (do, re, mi, fa, sol, la, si, do) - considerando-se
ainda uma escala temperada.
Em partituras, as notas - com suas respectivas frequencias - sao representadas em
relacao a` posicao da nota na pauta, como representado na Figura 2.4. Quanto mais acima
a nota esta representada na pauta, mais aguda ela e. A primeira nota representada e um
do, assim como a oitava nota na mesma pauta. Ambas as notas sao dos, porem o segundo
e mais agudo que o primeiro, tendo uma frequencia duas vezes maior (Olson 1967).
" # ! ! ! ! ! ! ! !
Mi F Sol L
D R
Si D
Figura 2.4: Representacao das Alturas Tonais pela Posicao das Notas na Pauta
Composic
ao Algortmica
21
2.1.2
Volume
O volume esta relacionado com a amplitude de uma onda. Quando se quer definir sons
de diferentes volumes, os conceitos de sons altos e baixos nao podem ser usados, ja que
estes sao relacionados `a altura tonal do som. Para se especificar a intensidade do som,
os sons devem ser definidos como sons fortes e fracos.
Sons mais fortes tem uma amplitude de onda maior. Na Figura 2.5, a amplitude da
nota representada dobra a partir do momento marcado no centro do grafico. Isso indica
que o volume sera duas vezes mais forte, apesar da nota ter a mesma altura.
Formalmente, a amplitude e a medida da magnitude da maxima perturbacao do meio
em um ciclo da onda, o que faz com que a unidade apropriada para medir a amplitude
dependa do tipo de onda. A amplitude de ondas sonoras costuma ser medida em decibeis
(dB), pois e u
til nesse caso uma unidade de medida logartmica.
Quando o ouvido humano percebe um som, o conceito de intensidade se aplica mais
do que o conceito de amplitude. Assim como frequencia e altura tonal nao sao sinonimos
e sim logaritmicamente relacionados, a percepcao da intensidade pelo ouvido humano e
2
Os outros valores de frequencia que correspondem `as mesmas notas podem ser calculados multiplicando ou dividindo a frequencia por 2
22
Composic
ao Algortmica
Nomenclatura Latina
Nomenclatura Anglo-Sax
onica
Frequencia (Hz)
Do
261,63
Do sustenido
C#
ou
ou
Re bemol
D[
Re
Re sustenido
D#
ou
ou
Mi bemol
E[
Mi
329,63
Fa
349,23
Fa sustenido
F#
ou
ou
Gol bemol
G[
Sol
Sol sustenido
G#
ou
ou
La bemol
A[
La
La sustenido
A#
ou
ou
Si bemol
B[
Si
B
Tabela 2.1: Notacoes para representacao das notas.
277,18
293,66
311,13
369,99
392,00
415,30
440,00
466,16
493,88
Composic
ao Algortmica
23
Ampl i tude
Amplitude 1
Amplitude 2
Te mp o
24
Composic
ao Algortmica
Smbolo
Nome
Intensidade
ppp
molto pianissimo
pp
pianissimo
muito fraco
piano
fraco
mp
mezzo-piano
moderadamente fraco
mf
mezzo-forte
moderadamente forte
forte
forte
fortissimo
muito forte
molto fortissimo
!
!
" # !
ppppp pppp ppp
10
" !
fff
!
ffff
!
fp
!
pp
!
sf
!
p
!
mp
!
sff
!
sp
!
mf
!
f
!
ff
!
spp
!
sfz
!
rfz
Gradac
ao
Velocidade
ppp
16
pp
33
49
mp
64
mf
80
96
112
126
Composic
ao Algortmica
25
# " ! ! ! ! ! ! ! !
Figura 2.7: Sinais de Crescendo e Decrescendo
2.1.3
Timbres
Sons que tem a mesma altura e volume, ainda tem claramente outra caracterstica que
os fazem substancialmente distinguveis: o timbre. Ondas com diferentes timbres geram
sensacoes muito variadas ao ouvido humano e esta caracterstica tambem nao pode ser
negligenciada (Ward 1970).
Quando o som e produzido por diferentes instrumentos musicais, pode-se identificar
os sons como sendo a mesma nota mas as caractersticas sonoras sao muito distintas.
Alem do formato da onda, o modo como ouvimos o som tambem influencia o timbre dos
instrumentos.
Quando um objeto produz sons, varias ondas senoidais sao produzidas. A frequencia
mais baixa e a nota fundamental mas outros sobretons sao criados, e podem incluir
harmonicos. O harmonicos sao criados a partir de m
ultiplos da frequencia fundamental.
Somando-se a amplitude da frequencia fundamental `a dos harmonicos, a forma da onda
nao e mais senoidal. Assim, cada instrumento produz um formato de onda diferente.
Na Figura 2.8 estao representados os timbres de alguns diferentes instrumentos.
Envelope Sonoro
Alem da forma da onda existe um segundo aspecto que determina o timbre de um
instrumento: o envelope sonoro (Erickson 1975). O envelope sonoro depende da forma
como o som comeca, se mantem e termina ao longo do tempo.
O envelope sonoro tem 4 momentos principais:
Composic
ao Algortmica
Ampl i tude
26
Violoncelo
Flauta
Obo
Piano
Xilofone
Te mp o
2.1.4
Outras terminologias
Outros conceitos tambem sao importantes para a compreensao do metodos computacionais propostos neste trabalho. Segue uma lista com os principais itens importantes:
Notas e frequ
encias A ideia de nota pode se referir ao smbolo usado para representar
uma altura tonal e duracao ou a` altura tonal de uma certa nota. Notas sao
Composic
ao Algortmica
27
28
Composic
ao Algortmica
% & ! ! "
! !
Pa ra bns pra vo
5
"
! !
fe
li
ci
"'
! ! "
Ne ssa da
! ! "
! ! #
da des
Mui tos a
! ! # ! !
ta que ri da
nos de
Mui tas
! ! $
vi da
(Malm 1996). O estudo da harmonia envolve progressoes de acordes que normalmente governam a m
usica. A harmonia e o aspecto vertical da m
usica, enquanto
a melodia define seu aspecto horizontal.
Existem algumas tradicoes na m
usica ocidental que implicam em certas regras
harmonicas.
Apesar da harmonia se tratar de notas que soam simultaneamente, e possvel
deduzir uma harmonia atraves de uma melodia que faca o uso de arpejos. Varias
pecas contem a harmonia implcita em sua melodia.
Na Tabela 2.4 estao os nomes dos intervalos mais comuns entre as notas.
Composic
ao Algortmica
Tonica
29
Terceira Maior
Terceira Menor
Quinta
E[
D[
F[
A[
F#
E[
G[
B[
G#
A[
A#
C#
B[
A[
C[
E[
C#
B[
D[
D#
F#
F#
Grau
Nota
F#
G#
C#
D#
F#
30
Composic
ao Algortmica
Composic
ao Algortmica
31
Trade
Terceira
Quinta
Exemplo
Smbolos
Maior
Maior
Perfeita
C-E-G
Menor
Menor
Perfeita
C-E[-G
Aumentada
Maior
Aumentada
C-E-G#
Diminuta
Menor
Diminuta
C-E[-G[
Cm([5), Co , Cdim
32
Composic
ao Algortmica
Ja os acordes com setima sao construdos pela adicao de uma quarta nota a` trade.
Existem varios tipos de acordes de setimas e eles dependem da trade e da setima
adicionada (que pode ser maior ou menor).
Acordes estendidos sao aqueles que tem notas alem da setima nota da escala, como
a nona, a decima-primeira ou a decima-terceira. Estes acordes sao construdos com
adicao de notas que estao fora das sete notas iniciais da escala diatonica.
As notas aqui citadas que para compor um acorde podem tambem ser alteradas
por acidentes3 . Estas marcacoes sao feitas nas notas que estao sendo mudadas.
Estes acordes sao denominados acordes alterados.
Em alguns acordes, a terceira pode dar lugar a uma outra nota vizinha, a segunda
ou a quarta. Estes sao os acordes suspensos.
Ritmo Na terminologia musical, o ritmo define como os sons e silencios sao organizados
no tempo. Na m
usica ocidental, esta sempre relacionado com uma metrica. A
duracao de cada unidade de pulso e o tempo. O tempo e uma medida de quao
rapido os pulsos devem fluir.
Diferentes estilos de m
usica fazem uso diferente do ritmo e a notacao musical pode
ter informacao adaptada para instrumentos de percussao de altura tonal indefinida.
Estes instrumentos sao muitas vezes utilizados para manter os outros instrumentos
respeitando a metrica.
Compasso Os pulsos de uma m
usica tem uma duracao definida pelo tempo da m
usica e
podem ser agrupados em segmentos chamados de compassos. Uma m
usica normalmente consiste em varios compassos de mesmo tamanho e o n
umero de pulsos de
cada compasso e especificado no comeco da partitura (Nickol 1999). A formula do
compasso e escrita no incio da composicao e quando ocorre mudanca de formula.
O numerador da formula do compasso indica o n
umero de pulsos de um compasso
enquanto o denominador indica em quantas partes uma semibreve deve ser dividida
para formar uma unidade de tempo. A Figura 2.10 mostra a formula de uma
compasso 4/4. Isso quer dizer que uma unidade de tempo tem duracao de 1/4 da
semibreve e o compasso tem 4 unidades de tempo.
Na verdade, os conceitos de numerador e denominador nao podem ser aplicados
a formulas de compasso. Numerador e denominador devem estar com um traco e
tem a funcao de dividir o valor do numerador pelo do denominador. Ja em uma
3
No caso de alterac
oes na nota fundamental ou na terceira, o nome do acorde deve mudar
Composic
ao Algortmica
! 42 " 44 #
33
3 "$
4
34
Composic
ao Algortmica
Escala de tempo
Perodo de tempo
Exemplos musicais
Infinito
Infinidade
Supra
Macro
Composicao individual
Meso
Objeto de som
Segundos ou frac
oes de segundos
Micro
Milissegundos
Amostra
Microssegundos
Subamostra
Nanosegundos
Infinitesimal
Zero
2.2
Definic
oes de M
usica
Qualquer problema a ser resolvido precisa primeiramente ser bem definido. A definicao
de m
usica, todavia, pode nao ser tao trivial do ponto de vista computacional.
Varias pessoas podem afirmar que alguns sons nao sao m
usica e sim barulho, o
que pode levar a pensar que barulho e a anttese de m
usica. Todavia, e difcil delimitar
exatamente quais sons sao barulho e quais sao m
usica pois estes conceitos sao individuais
e dependem das experiencias culturais do ouvinte.
Pode ser comum tambem imaginar que alguns ouvintes podem nao entender muito
bem de m
usica mas saberem de quais sons gostam. Ora, estas mesmas pessoas podem na
Composic
ao Algortmica
35
2.2.1
A Arte da M
usica
Um dos maiores problemas para criacao de sistemas musicais automaticos, assim como
os relativos a outras artes, e a definicao do problema, que leva em consideracao muitos
conceitos individuais para ser formulado matematicamente. A definicao feita pelo criador
do algoritmo pode aumentar ou diminuir substancialmente o espaco de possveis solucoes
de um algoritmo.
A seguinte definicao pode ser encontrada no dicionario de Oxford (McKean 2005):
Music
noun
1. the art or science of combining vocal or instrumental sounds (or both)
to produce beauty of form, harmony, and expression of emotion : he
devoted his life to music.
the vocal or instrumental sound produced in this way : couples were
dancing to the music baroque music.
a sound perceived as pleasingly harmonious : the background music
of softly lapping water.
2. the written or printed signs representing such sound : Tony learned to
read music.
the score or scores of a musical composition or compositions : the
music was open on a stand.
36
Composic
ao Algortmica
Da primeira definicao de m
usica, infere-se que m
usica e considerada mais do que
apenas sons organizados no tempo mas tambem expressao de emocao e deve ter beleza
em sua forma, ou seja, estes sons devem ser organizados de uma forma harmoniosa
para o ouvinte. A maneira como estes sons podem ser organizados e subjetiva e sons
da natureza, como passaros ou cachoeiras, podem ou nao ser considerados musicais de
acordo com as preferencias de um certo ouvinte. Assim, de certo ponto de vista, m
usica
pode ser qualquer coisa desde que as pessoas queiram a reconhecer como tal, enquanto
barulho e reconhecido como perturbador ou desagradavel (Nattiez 1990).
Alem desta definicao, m
usica tambem pode ser vista por alguns como uma linguagem
(Ashby 2004). Deste modo, ela transmite conceitos dos compositores para os ouvintes,
podendo tambem utilizar generos especficos de m
usica.
Como qualquer outra arte, m
usica tambem pode ser vista como algo definido pelo
contexto social do momento (Nattiez 1990). A base cultural de uma pessoa pode determinar fortemente o que sera ou nao considerado m
usica. A exposicao de algumas
pessoas a apenas um tipo de m
usica pode criar conceitos particulares sobre a percepcao
musical. Isso pode fazer com que pessoas de cultura ocidental, por exemplo, sejam mais
acostumados a m
usicas que utilizam a escala diatonica.
Um exemplo de m
usica que desafia as formas da m
usica convencional e a 433,
composta por Cage (1961), que contem 3 movimentos que sao percebidos como apenas
4 minutos e 33 segundos de silencio.
Apesar das possibilidades de tentativa de definir m
usica serem varias, de qualquer
maneira, o conceito ainda permanece subjetivo bastante para ser formulado matematicamente. Assim, mais discussao e necessaria para formularmos a base de um processo
qualquer de CA.
2.2.2
M
usica como IHC
Alem dos conceitos basicos apresentados, e difcil definir modelos matematicos, mesmo
que complexos, para definir m
usica enquanto arte ja que isso implica em codificar
questoes esteticas e subjetivas. Por isso e interessante entender por que e como isto
ocorre. Uma abordagem muito interessante e a tentativa de definicao a partir do modelo
de Norman (1988) para interacao do usuario. Este modelo esta na Figura 2.11.
O diagrama superior da Figura 2.11 mostra o modelo original de interacao do designer
Composic
ao Algortmica
37
Modelo Mental
do Designer
Imagem do
Sistema
Modelo Mental
do Usurio
Modelo Mental
do Compositor
Composio
Modelo Mental
do Ouvinte
com o usuario, que na verdade, nao consegue ter relacao direta alguma com o designer. O
designer pode criar recursos para o sistema que o usuario nao entendera completamente
e alguns recursos nao poderao ser usados pelo usuario. De qualquer maneira, a intencao
e que tanto o usuario como o designer tenham a mesma imagem do sistema, o que nunca
e completamente possvel.
Biles (2007b) descreve como o modelo de Norman (1988) pode ser entendido do ponto
de vista musical. Esta analogia esta no diagrama inferior da Figura 2.11 e se baseia em
uma composicao no lugar da imagem do sistema. Agora, esta imagem inclui varios
aspectos definidos pelo designer (o compositor) que vao alem da partitura. A peca, seu
ttulo, suas notas, o local da apresentacao, a aparencia e comportamento dos m
usicos e
as crticas, assim como a partitura, influenciam a imagem sobre a composicao inferida
pela audiencia.
Assim como no modelo de Norman (1988), o modelo intencionado pelo compositor
nunca sera completamente compreendido pelo ouvinte. Da mesma maneira que um
sistema qualquer pode ter varios recursos que nao sao conhecidos ou compreendidos
pelo usuario, a peca tem estruturas de varios nveis. Nuancas sobre as melodias podem
nao ser percebidas por um certo ouvinte.
O usuario, ou o ouvinte, absorve uma composicao tendo como referencia suas experiencias passadas e sua cultura, o que leva diferentes pessoas a terem diferentes percepcoes das mesmas m
usicas. Quando escuta uma m
usica, o ouvinte pode ter um modelo
mental mais desenvolvido para compreender aquele compositor especfico, que pode ter
um estilo musical muito caracterstico. Quando o ouvinte nao tem um modelo desenvolvido para certo estilo musical ou grupo de composicoes, provavelmente se perguntara o
38
Composic
ao Algortmica
que foi a peca que acabou de ouvir, dizer que nao entendeu ou simplesmente nao gostar.
Assim, para a mesma composicao, cada pessoa tem uma resposta diferente. Isso
faz com que seja difcil o desenvolvimento de modelos matematicos para uma m
usica
perfeita, ao mesmo tempo que e um motivo pelo qual as pessoas gostam de m
usica:
as m
usicas nos falam individualmente.
Outra observacao importante que pode ser feita a partir do modelo de Norman (1988)
e que cada pessoa tem uma estrutura para cada m
usica. Quando se refere a` organizacao
das estruturas de alto nvel de uma m
usica, agora, e fundamental perceber que e importante definir se esta organizacao de alto nvel e a pretendida pelo compositor ou a
inferida pelo ouvinte. No papel de designer de algoritmos que criarao composicoes, na
maior parte das vezes se refere ao modelo do compositor.
Dependendo da configuracao do modelo, a organizacao das estruturas do ouvinte
e do compositor podem ser similares ou nao. Um exemplo e um jazz que tenha uma
estrutura muito comum de normalmente se iniciar com um tema, fazer uma improvisacao
e retornar ao tema principal. Varios ouvintes podem nao entender completamente quais
partes da m
usica sao improvisadas e pessoas que nao conhecem o modelo do compositor
podem pensar que toda a improvisacao nao e improvisada. Igualmente, alguns ouvintes
podem nao ter a mnima ideia do que e uma improvisacao.
Apesar disto, varios ouvintes podem nao entender bem o modelo do compositor e
gostarem da m
usica - ou entender bem a estrutura pretendida pelo compositor e odia-la.
Assim, ouvintes diferentes procuram e entendem coisas diferentes de maneiras diferentes.
Isso deixa mais claro ainda a dificuldade implcita na criacao de modelos matematicos
para criacao de composicoes.
Sons da natureza podem ser organizados claramente. Exemplos sao os cantos dos
passaros, as quedas de cachoeiras ou sons naturais do funcionamento de um carro. Por
mais que estes sons tenham sido criados por um compositor nao-humano e nao tenham
uma intencao explcita de serem organizados daquela maneira, estes sons estao organizados no tempo, nao importa quem os organiza e como os organiza. Estruturas podem
ser organizados mesmo com a ausencia de qualquer compositor.
Composic
ao Algortmica
2.3
39
Conclus
ao
40
Captulo 3
Metodologia
Este captulo descreve a abordagem utilizada neste trabalho para o desenvolvimento de
um sistema de CA.
Inicialmente, sao dadas as definicoes basicas de um AG e suas implicacoes no universo
musical. Nesta secao, alem das definicoes basicas de um AG, estuda-se com mais detalhes
como uma m
usica pode ser representada ou avaliada em relacao a uma medida de fitness.
Com uma definicao de AG, a proxima secao aborda os metodos especficos utilizados
neste trabalho para geracao de m
usica de forma algortmica. Dois algoritmos diferentes
podem formar uma composicao, gerando separadamente melodias e harmonias.
3.1
Algoritmos Gen
eticos
42
Metodologia
Estes sistemas podem, por exemplo, encontrar resultados para a tarefa de harmonizar
melodias (Phon-Amnuaisuk, Tuson & Wiggins 1999), porem existem algumas dificuldades. A primeira delas e que nao ha garantia de se encontrar a solucao otima, o que e
compreensvel para programas dos quais se esperam que resolvam tais problemas. A
segunda complicacao e que AG podem se tornar sistemas com alto custo computacional quando muito conhecimento e adicionado ao sistema. Este tipo de conhecimento e
indispensavel para qualquer sistema que produz bons resultados.
fundamental que pelo menos uma mnima base de conhecimento sobre a area seja
E
modelada para o AG para que este possa ao menos distinguir entre solucoes boas e
ruins. Para sistemas de CA, informacao deve ser embutida em todo o sistema para
Metodologia
43
pois um algoritmo nao pode gerar nenhuma solucao nao codificavel em seu formato de
representacao.
Ha muita discussao sobre o papel de sistemas adaptativos em m
usica, principalmente
pela natureza do problema, que pode nao ser tao bem definido como outros problemas
de otimizacao1 . De qualquer maneira, a CE oferece um arcabouco que pode ser extremamente u
til para trabalhos criativos e nesta secao sera feita uma discussao sobre o
papel destes sistemas para aplicacoes musicais.
3.1.1
Biologia
44
Metodologia
Pais
Inicializar
Seleo
Avaliar a
Populao
Recombinao
Mutao
Avaliar
Descendentes
Substituio
Algoritmo 3.1.
Algoritmo 3.1: AG
Entrada: Populacao de indivduos, Funcao Objetivo
Resultado: Indivduo
1 enquanto crit
erio de parada nao e satisfeito faca
2
Lista dos Pais
Selecao(Populacao de Indivduos, Funcao Objetivo);
3
Populacao
Reproducao(Lista de Pais);
4
Populacao
Mutacao(Populacao);
5
6
fim
retorna O melhor indivduo analisado durante o processo;
Metodologia
45
especfico, como feito por Biles (1994). Quando o trabalho e desenvolvido no sentido
de um estilo particular de composicao, e mais facil definir criterios que levarao ao objetivo proposto. Ja em trabalhos com a necessidade de composicoes mais criativas ou
inovadoras, a criacao de um algoritmo e mais desafiadora.
Na area de design de som, a tecnica ja tem a sua eficacia comprovada para sintetizar
sons a partir de sons alvos ou desenvolver novos sons (Johnson 2003). O genotipo dos
indivduos pode ser feito pelos parametros que definem os sons. Nos casos em que se
precisa achar sons parecidos com um certo instrumento tradicional, a proximidade com
o dado instrumento pode ser a funcao-objetivo. Ja para o procura de novos sons e mais
difcil a relacao com funcoes objetivo e a avaliacao humana e a norma (Woolf 1999).
A melhor escolha dos operadores geneticos, da forma de representacao, funcao de
avaliacoes, assim como outros pontos da implementacao dependem muito do ramo de
aplicacao do algoritmo e uma analise dos experimentos realizados presentes na literatura
e fundamental para o desenvolvimento de um algoritmo deste tipo.
Talvez uma das mais intrigantes perguntas a serem respondidas antes de determinar
como criar um AE para CA e como determinar a qualidade de uma solucao e, caso esta
determinacao seja feita por um mentor humano, como evitar um gargalo de fitness, ou
seja, o tempo gasto para avaliar varias solucoes que pode atrapalhar ou ate impedir o
mentor de fazer uma avaliacao justa das solucoes. Alem disso, e importante definir quais
serao as solucoes iniciais, que podem ser diversas porem nao musicais, ou musicais e nao
criativas. Em muitos casos a definicao do problema nao e coerente, o que faz o algoritmo
convergir para solucoes corretasque nao atendem ao objetivo inicial.
AG sao sistemas muito complexos e difceis de analisar. Varios resultados puramente
empricos sao encontrados na literatura, sendo a`s vezes inconsistentes para a comparacao
entre metodos para a mesma aplicacao. Porem o entendimento de como os AE funcionam
sempre pode ser obtido por analise de alguns estudos previos que sao u
teis para poupar
tempo consideravelmente no desenvolvimento de novos sistemas.
Nas proximas subsecoes serao analisadas quais questoes precisam de resposta para o
desenvolvimento de sistemas de CA baseados em AG.
46
3.1.2
Metodologia
Representac
ao
Metodologia
47
Absoluta Existem codigos MIDI que se referem a notas especficas. Assim, pode-se usar
um n
umero para representar cada nota de maneira absoluta. A grande vantagem
desta abordagem e sua simplicidade.
Relativa As notas podem tambem ser especificadas em relacao a outra nota de referencia. Assim, apenas a diferenca entre a nota em questao e a nota de referencia
precisa ser especificada. Exemplos de notas que podem ser usadas como notas
de referencias sao a u
ltima nota de uma determinada frase, verso ou compasso; a
primeira nota de uma frase; a base da harmonia, ou seja, a nota fundamental da
harmonia no momento em que a nota e executada; ou qualquer outra nota que sirva
como base para a melodia. Nesta abordagem, quando ocorrem mudancas geneticas
no genotipo, o fenotipo continua sempre a corresponder `a nota de referencia. O
genotipo pode ser mapeado em um fenotipo de acordo com a progressao harmonica
de dado compasso e a referencia de escalas como as da Tabela 3.1 (Biles 1994).
Deslocamento de Escala A harmonia pode ser utilizada para determinar um codigo
para cada nota. Deste modo, se se define que escalas serao sempre respeitadas as
notas poderao ser as notas em relacao `a escala dada. Pode-se inclusive descartar
notas nao pertencentes `as escalas em questao.
Outra abordagem possvel para representacao das notas seria, e claro, o codigo da
frequencia absoluta de cada nota. Esta abordagem e raramente utilizada em sistemas de
composicao, ja que a intencao final e trabalhar com alturas tonais e nao com frequencias.
Alem das notas, e usualmente importante definir como sera representado o ritmo, o
tempo de incio e duracao de cada nota. A representacao mais comum e a orientada por
necessario
ritmo, ou seja, com o tempo definido em relacao a`s pulsacoes da m
usica. E
lembrar de definir a duracao de cada nota quando projetar um modo de representacao
da solucao. Esse tipo de representacao e muito u
til para m
usicas que sao orientadas pela
pulsacao.
Outra abordagem e a absoluta, que e a utilizacao de medidas de tempo reais, como
milissegundos. Estas representacoes fogem ao contexto de m
usicas orientadas a pulsacao
e sao mais apropriadas para composicoes onde eventos acontecem em tempos especficos.
Em alguns casos tambem e necessario codificar sequencias de eventos que podem representar linhas melodicas com seu ritmo e notas. Para isto, as abordagens normalmente
sao:
48
Metodologia
Escala
Notas
a
Cmaj7
Maior (sem 4 )
CDEGAB
C7
Mixolidiana (sem 4a )
C D E G A B[
Cm7
Menor (sem 6a )
C D E[ F G B[
Cm7[5
Locria (sem 2 )
C E[ F G[ A[ B[
Cdim
C D E[ F F# G# A B
C+
Lidiana Aumentada
C D E F# G# A B
C7+
Whole Tone
C D E F# G# A#
C7#11
Lidiana Dominante
C D E F# G A B[
C7#9
Alterada
C D[ E[ E F# G# B[
C7[9
C D[ E[ E F# G A B[
Cm7[9
Frgia
C D[ E[ F G A B[
Cmaj7#11
Lidiana
C D E F# G A B
Baseadas em posic
ao para a representacao de compassos ou frases. Nesta abordagem, existe uma posicao de memoria disponvel para cada pulso ou subdivisao de
pulso e a nota a ser executada fica salva nesta posicao. Assim, os genes representam
notas e ritmos ao mesmo tempo, enquanto o tamanho do cromossomo pode ser fixo
e ser definido pela granularidade da divisao tomada como necessaria (Biles 1994).
Por exemplo, com uma codificacao de 4 bits, o smbolo 0 pode representar uma
pausa na melodia, 15 a continuidade da nota anterior e os smbolos de 1 a 14 notas
especficas, assim como na Tabela 3.2 e 3.3.
Baseadas em ordem para resolver tambem o problema de duracao. Nesta abordagem,
as notas sao salvas de acordo com a ordem em que aparecem na m
usica. Cada
nota e representada por sua altura, tempo e duracao.
Baseadas em
arvores para abordagens que definam a m
usica como uma estrutura
hierarquica. Esta abordagem vem da programacao genetica (Johanson & Poli
1998). Os nos interiores podem mapear funcoes musicais como sequencias, repeticoes e acordes. Ja as folhas podem mapear notas, descansos ou melodias.
Assim existe a vantagem de se estender a estruturas de nveis mais altos.
Metodologia
49
Valor Decimal
Representac
ao
0000
Pausa
0001
0010
C#
0011
0100
D#
0101
0110
0111
F#
1000
1001
G#
1010
10
1011
11
A#
1100
12
1101
13
1110
14
C#
1111
15
Sustentacao
Gen
otipo Decimal
2 15 15 7 12 2 15 15
Fen
otipo
3.1.3
&
# " !$% !$ $ !$%
'
Inicializac
ao e Estrutura da Populac
ao
50
Metodologia
solucoes boas pois mais opcoes do espaco de busca estao sendo exploradas. Este modo
de inicializar a populacao, apesar de ser natural na perspectiva de AG e normalmente
muito pouco musical e artstico. Isso se deve principalmente ao fato desta abordagem
gerar intervalos horizontais muito largos na composicao. Alem disto, desta maneira,
compassos teriam uma distribuicao aleatoria de notas, o que pode nao ser considerado
muito musical.
Quando a populacao inicial e criada aleatoriamente e um mentor avalia a populacao
para definir sua funcao objetivo, esta avaliacao fica muito difcil. Isso ocorre pois e
extremamente complicado distinguir qual melodia e mais musical em uma populacao
de melodias criadas aleatoriamente. Nesta populacao, provavelmente todas as melodias
serao igualmente ruins, o que impede o processo evolucionario. O importante e que haja
como definir pelo menos quais elementos da populacao sao bons ou ruins. Um exemplo
de uma aplicacao destas foi feita por Burton & Vladimirova (1997).
Para a criacao de um material inicial mais discernvel, pode-se usar uma populacao
inicial semi-aleatoria. Neste caso, usa-se normalmente material realcomo populacao
inicial. Este material tera assim relacao com material real antes de partir para o processo
evolutivo. Assim, o processo evolutivo pode iniciar-se a partir deste material melodico
ate alcancar novas composicoes. Para a geracao deste material inicial semi-aleatorio,
existem aplicacoes utilizando desde geradores fractais (Gardner 1978) ate cadeias de
Markov (Hiller & Isaacson 1958). A ideia e criar inicializadores aleatorios inteligentes,
que pelo menos se assemelhem com m
usica, e assim possibilitar a avaliacao por um
mentor.
Uma terceira possibilidade para inicializar a populacao e a utilizacao de um banco de
dados de m
usicas de qualidade. Neste caso, e garantida a inicializacao da populacao com
indivduos aceitaveis, o que torna o processo evolutivo um pouco mais facil com o que
pode ser considerado uma trapaca do ponto de vista dos AG onde a populacao inicial
e totalmente aleatoria para facilitar a exploracao do espaco de busca. Esta populacao
inicial pode vir tanto do usuario (Ralley 1995) quanto do estudo de um estilo especfico
(Prerau 2001).
Mesmo com indivduos que nao sejam criados de forma aleatoria, e possvel desenvolver outros indivduos muito pouco relacionados com os iniciais, diversos e muito
musicais se existem operadores geneticos musicalmente cientes, como sera analisado na
importante que, caso possvel, a origem de cada um destes compassos seja
secao 3.1.5. E
sempre marcada como modo de manter a diversidade na populacao.
Metodologia
51
Apos a criacao destes indivduos iniciais, a populacao tera os genotipos de seus indivduos e suas informacoes associadas, como o fitness. A populacao e normalmente de
tamanho fixo e muda a cada geracao.
3.1.4
Selec
ao
Quando os indivduos sao selecionados para reproduzir ou para sobreviver, isto nao
ocorre de forma totalmente aleatoria: os indivduos mais aptos tem maior chance de
selecao. Isto e o que faz crer que apos algumas geracoes existirao indivduos melhores
que seus ascendentes.
O modo mais simples para resolver este problema e o metodo da roleta. Neste
metodo, e utilizada uma roleta onde os indivduos mais aptos tem uma maior parte
da roleta. Assim, a roleta gira e os indivduos mais aptos normalmente sobrevivem,
deixando tambem uma chance para os indivduos menos aptos, assim como demonstrado
na Figura 3.2.
A roleta rodada
escolhendo-se um ponto aleatrio
52
Metodologia
P (x) = fx /
n
X
fi
(3.1)
i=1
Probabilidade de Seleo
Uma maneira simples de resolver este problema e utilizar uma selecao baseada em
posicoes, onde a possibilidade de selecao de um indivduo nao fosse dependente de seu
fitness mas sim de sua posicao entre os melhores e piores indivduos, de acordo com uma
formula especfica, assim como na Figura 3.3.
Mtodo 1
Mtodo 2
Posio
Figura 3.3: Duas Maneiras Possveis de Fazer uma Selecao baseada em Posicoes
Na Figura 3.3, duas funcoes possveis para fazer uma selecao baseada em posicoes
sao representadas. Com esta abordagem, os indivduos sao ordenados do melhor para o
pior, sendo x a posicao do indivduo nesta ordenacao. O valor de fx que define a porcao
deste indivduo na roleta, passa a ser f (x), de acordo com uma funcao como uma das
duas representadas na Figura 3.3. Deste modo, pode-se evitar a diferenca de valores na
roleta entre as primeiras e as u
ltimas geracoes.
O processo de selecao sera dependente do modo como os indivduos sao avaliados.
A selecao pode ser totalmente baseada em aptidao, o que e o mais puro do ponto de
Metodologia
53
vista dos AG. Este e um modo bom de fazer o processo em esquemas de otimizacao
porem pode ser ruim para processos em que se usa a CE para gerar arte. Isso ocorre
pois `as vezes, em arte, nao e importante encontrar o melhor indivduo possvel de acordo
com um criterio e sim achar uma populacao de frases boas e coerentes entre si. Esta
caracterstica destaca bem a diferenca entre otimizacao e exploracao do espaco de busca.
A selecao tambem pode ser musicalmente ciente, onde os indivduos selecionados
dependem da compatibilidade entre si ou existe um mentor humano que avalia os indivduos. A utilizacao de um mentor pode ser boa para sistemas colaborativos mas tem
varias desvantagens sendo a maior delas o gargalo de fitness, onde o longo tempo levado
para a avaliacao atrasa muito o processo evolutivo.
Uma outra sada possvel, e fazer esta selecao aleatoriamente, o que tira a pressao
seletiva, fator fundamental dos AG. Estas abordagens podem ser apropriadas quando
existe uma medida de fitness porem deve-se estudar como a populacao pode melhorar
na falta desta medida. Estas especificidades serao melhor discutidas na secao 3.1.6.
Em sistemas evolutivos que trabalham com arte, e ainda mais importante que nem
sempre apenas os melhores indivduos passem para as proximas geracoes, ja que a manutencao da diversidade pode ser tao importante quanto a geracao de bons indivduos.
Assim como na natureza, nem sempre os melhores indivduos sao os que procriam mais.
Na natureza, errarpode ser um modo importante de testar novas possibilidades. Na
definicao de um sistema destes, e necessario definir o quanto e possvel explorar solucoes
que podem talvez ser vistas no momento como insuficientemente boas para explorar algo
diferente do que pode dominar a populacao.
3.1.5
Operadores Gen
eticos
A criacao de novos indivduos atraves das geracoes e feita pelos operadores geneticos, que
possibilitam que nao so os indivduos iniciais sejam testados mas que tambem ocorra
de fato um processo evolutivo. Os operadores mais comuns sao os de cruzamento e
mutacao, porem diferentes operadores mais complexos podem surgir dependendo da
area de aplicacao.
Estes operadores podem ser cegos ou guiados, ou seja, podem nao ocorrer de forma
totalmente aleatoria. Isto pode ajudar em aplicacoes musicais ja que nem sempre transformacoes totalmente aleatorias sao bem vindas. Se o gene e uma nota, por exemplo, as
mutacoes podem ser guiadas para que certas regras harmonicas ou melodicas nao sejam
54
Metodologia
quebradas no processo.
O processo de cruzamento, via de regra, se baseia em criar um ponto de corte que
possa unir um elemento ao outro para criar um novo indivduo enquanto a mutacao,
normalmente e feita atraves da troca de valor de um gene qualquer2 . Exemplos basicos
destes operadores estao na Figura 3.4.
Cruzamento
Mutao
Cruzamento
No operador de cruzamento tradicional e escolhido um ponto de corte aleatorio para
a divisao dos pais e formacao dos filhos. Deste modo, o potencial da populacao pode
ser muito bem explorado ja que mais combinacoes entre os pais podem ser formadas
e os filhos podem ter fenotipos bem diferentes dos pais. Esta e uma boa abordagem
para problemas de otimizacao e problemas musicais que se reduzem a otimizacao, como
combinacao de sons e harmonia.
Quando se trata de ME, o operador de cruzamento quase nunca podera ser usado
plenamente na sua forma tradicional3 pois muitas vezes a intencao e gerar uma populacao
boa e nao um bom indivduo apenas. Com a analise do fenotipo dos indivduos, e possvel
assim escolher pontos de corte que sejam vantajosos para a geracao de material melodico
como, por exemplo, os pulsos de uma m
usica. Alem do ponto de corte, a maneira como
2
Metodologia
55
o material e trocado entre os pais tambem pode ser usada para fazer o operador mais
musicalmente ciente.
Via de regra, em ME, os pontos de corte operam a nvel de notas mais do que a nvel
de bits. Isso ocorre pois a nvel de bits novas notas poderiam ser geradas no cruzamento
e estas novas notas provavelmente levariam a solucoes que ou nao valem a pena ser
consideradas ou nao criam mudanca substancial no indivduo. Essas mudancas seriam
provavelmente intervalos verticais absurdos, como o exemplo da Figura 3.5, onde e usado
como exemplo o mesmo mapeamento da Tabela 3.2 e o cruzamento a nvel de bits cria
eventos que sao inexistentes em ambos os pais e fazem pouco sentido musical.
Pai 1
Pais
Filhos 1
Filhos 2
Pai 2
$ " ####
Filho 2
Indivduo
Corte `a esquerda
Corte a` direita
Em decimal
Pai 1
6 12 10 13 15 11 10 11
Pai 2
14 15 0 14 8 6 2 0
Filho 1
6 12 10 13 14 6 2 0
Filho 2
14 15 0 14 9 11 10 11
Filho 1
6 12 10 13 15 6 2 0
Filho 2
14 15 0 14 8 11 10 11
Mutac
ao
O operador de mutacao e utilizado para que mais solucoes do espaco de busca possam
ser exploradas e e normalmente feito com uma simples mudanca do valor de um gene
qualquer do indivduo (bit-flop). Esta abordagem raramente funciona em ME, principalmente por gerar deslocamentos horizontais muito grandes na melodia, alem de nao ter
relacao estetica qualquer com a arte em questao. Alem disto, no caso da utilizacao de
56
Metodologia
um mentor, este nao pode ouvir um excesso de opcoes absurdas de melodias geradas por
processos que apenas as mudam mas provavelmente nao as melhoram. Em sistemas que
funcionam em tempo real, tambem existe a expectativa que as geracoes futuras soem
bem logo apos a mutacao.
Em sistemas para criacao de arte e normalmente desejavel que os indivduos mutados
sejam melhores do que seus ancestrais - ou pelo menos nao piores. Assim, em ME os
operadores nao podem ser burrose baseados em baixas probabilidades. As mutacoes
devem ser musicalmente significativas.
Uma alternativa muito simples e que os usuarios possam mutar estes indivduos a
mao (Unemi & Senda 2002). Isso pode tambem ser considerado trapaca em relacao a
abordagens mais convencionais de CE porem pode gerar bons resultados para usuarios
interessados em gerar sons agradaveis mais do que mostrar do que a CE e capaz. Um
problema deste tipo de mutacao e o mesmo da utilizacao de um mentor para avaliacao
musical: o gargalo de fitness.
Operadores Musicais
Podem tambem entrar na fase de mutacao, outros operadores que facam mudancas no
indivduo e que podem funcionar em paralelo. Operadores especficos sempre ocorrem em
problemas de codificacao mais complexa. Alguns exemplos do que operadores musicais
podem fazer sao:
Inverter as posicoes das notas de uma sessao aleatoriamente determinada de um
genotipo
Levar uma sessao de um lugar para outro ou fazer uma troca entre duas partes.
Adicionar copias extras de genes em outra parte da composicao
Apagar partes da melodia ou troca-las por pausas
Mudar a altura tonal de algumas ou todas as notas
Deslizar a posicao das notas em um compasso
Ordenar uma sessao de notas por suas alturas tonais
Inverter os intervalos horizontais de uma melodia, considerando a media das alturas
tonais ou nao
Metodologia
57
3.1.6
Func
ao de Avaliac
ao e Definic
ao do Fitness
A avaliacao dos indivduos e talvez a area que gera mais questionamentos em sistemas de
CA. Em qualquer sistema de producao artstica automatica e muito difcil decidir como
necessario responder estas
medir o fitness e quais as necessidades de uma boa solucao. E
perguntas para que se defina quem produzira a proxima geracao. No fim do processo,
de uma maneira ou de outra, a qualidade de uma solucao devera ser medida por escalas
numericas.
Um ponto que nao pode ser esquecido e que de qualquer maneira a funcao de avaliacao
de uma solucao deve pelo menos distinguir entre bons e ruins indivduos, pois e isto
que levara o processo adiante. Avaliacao pode ser uma simples funcao matematica ou
resultado de uma simulacao mais complexa. A avaliacao tambem depende muito da
aplicacao especfica de um problema, cuja intencao de avaliacao pode ser a similaridade
58
Metodologia
com uma m
usica alvo, o respeito a teorias musicais ou tecnicas musicais especficas.
A avaliacao de uma melodia, por exemplo, pode incluir varios aspectos esteticos.
Assim, a questao sera como codifica-los em escalas numericas que estejam bem forma difcil criar definicoes matematicas para aspectos puramente esteticos e por
lizadas. E
estas razoes, medidas totalmente automaticas de fitness costumam gerar varios problemas. Como alternativa a estas medidas automaticas, pode-se fazer o processo sem
fitness, com fitness mnimo ou aleatorio, como sera descrito nas proximas subsecoes.
Cada modo de avaliar os indivduos possui problemas especficos. As principais maneiras de se medir o fitness de indivduos sao as seguintes:
Automatico
Heursticas
Baseados em regras
Aprendidos
Interativo
Sem aptidao
Apostilas de formas musicais podem ser consideradas para definir aspectos a serem
avaliados em composicoes e demonstram ser naturalmente algortmicas. Isso ocorre
principalmente com aquelas baseadas em modelos ja existentes de estilos musicais. Um
problema de se basear demais neste metodo de criacao de regras e que pode se perder a essencia artstica dos resultados. O objetivo da ME e sempre criar composicoes
proximas ao que compositores humanos realmente compoem e os metodos podem se
tornar ineficazes quando um excesso de regras e aplicado. O processo criativo nao se
baseia puramente em apostilas e composicoes boas normalmente quebram estas regras
de algum modo.
importante lembrar que um AE sempre sera naturalmente limitado por seu proE
jeto (genotipo, operadores, funcoes) e nao criara aspectos novos para os quais nao foi
programado. Os maiores problemas de avaliacao das solucoes e que nos casos em que a
aptidao e medida de forma automatica, a sada deve ser formalmente codificada e esta
codificacao de aspectos esteticos e muito difcil. Ja na aptidao humana, o problema e
que as solucoes devem ser comprimidas para que o mentor possa escutar pelo menos um
pouco de cada indivduo antes de analisa-los.
Metodologia
59
Assim deve ser definido inicialmente no que sera baseada a avaliacao, em regras ou
em modelos de composicao reais. Mesmo m
usicas que podem ter de algum modo um
modelo especfico podem mudar este modelo com o passar do tempo. Pode ocorrer
inclusive uma juncao destes diferentes modelos para a criacao de novas composicoes mas
nao se sabe se isto poderia ser considerada uma composicao, de fato, livre.
Independente de como as regras do sistema serao definidas, e necessario ter a base do
sistema no que os compositores realmente fazem. A criacao de m
usica nao e simplesmente
baseada em regras simples de composicao, pois estas regras sao definidas apenas quando
um certo perodo musical passado e analisado. Nao se pode entao basear a m
usica
fortemente em modelos que sao normalmente descritos com fins pedagogicos e tem uma
forte tendencia a simplificar ou distorcer em demasia pensamentos que sao complexos
em sua raiz.
Existe um dilema claro na definicao destes parametros ja que um sistema essencialmente baseado em regras provavelmente tera resultados que se assemelharao com
exerccios ou replicas de m
usicas conhecidas. Enquanto isso, para a criacao de material mais criativo, poder-se-ia imaginar um sistema com poucas regras, do qual sairiam
varias ideias criativas. Porem, neste caso a abordagem seria mais uma vez problematica
pois uma quantidade enorme de material inadequado seria gerada sem aproveitamento.
De qualquer maneira, e necessario fornecer opcoes de que algumas regras sejam quebradas em qualquer sistema em que exista a intencao de criar material mais criativo.
Senao, os sistemas serao mais criadores de replicas do que compositores. Tudo que o
computador avalia pode ser feito apenas de maneira algortmica.
Avaliac
ao Autom
atica
Varias funcoes de avaliacoes heursticas foram desenvolvidas e normalmente levam em
um metodo
consideracao avaliacoes e percepcoes do autor do algoritmo (Ames 1992). E
muito usado em melodias e normalmente definem consideracoes sobre intervalos, densidade das notas sobre a quantidade de pausas, variedade rtmica entre outras.
Percepcoes musicais do autor podem levar a conclusoes que ocorrem via de regra sobre
o processo de composicao. Estas percepcoes podem tambem, claro, vir de apostilas de
teoria musical. Usualmente, o autor do algoritmo desenvolve algum conceito e soma a
ele alguns valores. Os conceitos utilizados nestes algoritmos, deste modo, tendem a ser
fracos e ter validade questionavel.
60
Metodologia
Interativo
Para todos os sistemas evolutivos para criacao de arte, sempre ocorre a discussao de
um modo de avaliacao das solucoes obvio: a avaliacao humana4 . Teoricamente, a avaliacao poderia resolver todos os problemas existentes nos modos de avaliacao automatica.
4
Metodologia
61
Sem embargo, existem tambem varios problemas envolvidos na aplicacao deste modo de
avaliacao.
O primeiro deles, e talvez o mais obvio e simples, e que deve-se desenvolver um
sistema coerentemente funcional e robusto de IHC. A interface da aplicacao deve ser
simples para que o mentor possa focar em sua tarefa. Profissionais com interesse nesta
area precisam dar sua contribuicao para que usuarios com experiencia em m
usica possam
ter assistencia adequada para fazer seus julgamentos de forma simples e intuitiva.
Outro problema, e talvez mais complexo, e o tamanho da populacao. Este tamanho
da populacao normalmente vai de d
uzias a centenas de indivduos e como a m
usica e
uma arte temporal, o usuario precisara de tempo para ouvir todos estes indivduos por
todas as geracoes. Em sistemas de domnio temporais com avaliacao humana, existe este
problema denominado gargalo de fitness.
Uma maneira de resolver o problema do tempo necessario de uma maneira relativamente simples e mostrar apenas alguns trechos da m
usica ao usuario. Por outro lado,
como a avaliacao de apenas um pedaco de uma composicao pode levar a conclusoes
precipitadas, isto gera um outro inconveniente que e uma decisao a ser tomada entre
o tamanho da amostra e a validade da avaliacao. Um ouvinte tambem pode dar uma
avaliacao insensata para a m
usica por ter escutado uma parte que nao gostou pois pessoas diferentes tem diferentes gostos em partes diferentes. Este problema e denominado
problema de granularidade.
Alem disto, a questao vai alem de o usuario ter ou nao tempo para fazer todas as
avaliacoes, ja que tarefas de avaliacao exigem concentracao do usuario, o que em m
usica
se diz quando o m
usico esta com ouvidos frescospara analisar e avaliar uma certa
m
usica. O usuario nao deve apenas avaliar as m
usicas individualmente mas compara-las
e dar notas boas a indivduos que mesmo ruins sejam melhores do que os outros. Assim,
com o passar de pouco tempo, a avaliacao do mentor pode estar tao prejudicada que leve
a medidas de fitness piores do que as automaticas, enquanto deveriam apenas solucionar
seus problemas.
Sem aptid
ao
Em alguns casos, uma abordagem mais minimalista pode ser aplicada tanto ao problema
do gargalo de fitness quanto ao das dificuldades de codificacao de medidas automaticas
de estetica: fazer um AG sem pressao seletiva. Com esta abordagem os problemas
62
Metodologia
Metodologia
63
que pedacos musicais que tenham frequencias muito altas nao possam reproduzir muitas
vezes, o que pode deixar a melodia mais natural.
Esta abordagem sera frequentemente usada quando a populacao inicial e gerada por
m
usicos, que podem criar um banco de dados. Uma populacao criada por m
usicos
dificilmente sera pior do que uma criada sem interferencia humana, ja que os metodos
para faze-lo sao baseados em codificacao da estetica humana. Em muitos casos de
aplicacoes artsticas, apenas mutacoes podem criar indivduos tao bons quanto os pais,
sem ajuda de um mentor, com mudancas puramente artsticas.
Apesar deste modo de avaliacao nao refletir completamente o paradigma mais purista
do funcionamento de AE, pode levar a resultados que agradem ouvintes desinteressados
no modo como a peca foi produzida e sim em sua qualidade. De certo ponto de vista,
algoritmos com este tipo de avaliacao podem nao ser considerados CE. Por outro lado,
podem existir medidas de fitness implcitas quando ocorre a utilizacao de heursticas na
selecao dos compassos que farao cruzamento ou no modo como os operadores geneticos
serao aplicados em relacao a` configuracao da populacao. De qualquer maneira, algoritmos deste tipo sao pelo menos inspirados em CE.
Eliminando-se o gargalo de fitness desta maneira alguns algoritmos podem nao ser
mais considerados CE, mesmo com o fitness implcito dos operadores. Ja sendo inspirado
em CE e tendo operadores geneticos robustos, da perspectiva de algoritmos que geram
e testam solucoes ate certo criterio de parada ser atingido, estes algoritmos podem ser
algoritmos tao bons que nao precisam nem testar as solucoes (Biles 2002b). Isso cria
um paradoxo entre sistemas de arte evolutiva, com operadores geneticos inteligentes e
medidas de fitness burras, e a CE convencional, com operadores burros e medidas de
avaliacao inteligentes.
Finalmente, e importante tirar o foco desta questao na medida em que nao e muito
relevante se tais sistemas sao considerados CE ou nao, desde que funcionem bem.
3.1.7
Substituic
ao dos Pais
64
Metodologia
A substituicao tambem pode ser de maneira contnua, `a medida que os filhos sao
gerados, um a um, ou em estilo geracional, ou seja, a populacao inteira e substituda
apos a geracao de todos os filhos.
Como em m
usica, muitas vezes, a busca por uma populacao boa que pode ser usada
em conjunto pode ser mais importante do que a descoberta de uma u
nica solucao otima,
algumas peculiaridades podem ocorrer no processo de substituicao dos indivduos.
Quando e desejavel que haja, alem de varias solucoes de qualidade, solucoes que
sejam diversas entre si para serem usadas em um contexto mais amplo, a diversidade
entre os elementos pode ser levada em consideracao para a escolha dos elementos a serem
substitudos. Essa abordagem deve ser considerada em sistemas onde toda a populacao
sera usada para a geracao de um conte
udo musical mais amplo, como no estudo de Biles
(1994).
O modo como a substituicao ocorrera tambem deve ser bem analisado quando existe
a intencao de se criar algoritmos de CA que funcionem em tempo real, em que o tempo
de espera entre uma geracao e a outra nao pode ser muito longo. Nestes sistemas,
uma caracterstica presente tanto na m
usica quanto na evolucao pode ser aproveitada
de maneira tacita: ambos sao processos temporais (Lischka 1991). Estudos deste tipo
foram feitos por Moroni, Manzolli, Zuben & Gudwin (2000).
As criacoes dos algoritmos realizadas em tempo real devem considerar uma base
harmonica que mudara em tempo real e pode ser uma repeticao da m
usica, uma progressao harmonica baseada no improviso ou uma modificacao de uma progressao ja
presente na m
usica. A consideracao de que o improviso pode ocorrer isoladamente, desenvolvendo ideias com ajuda de um mentor ou com uma base de dados de referencia,
ou em resposta ao improviso de outra pessoa complica substancialmente o problema.
Quando aproveitando a caracterstica temporal da evolucao para geracao de composicoes e importante notar o fato de que apos varias geracoes um processo ocorre em
algoritmos evolutivos: o takeover . Isto quer dizer que apos algumas geracoes os indivduos comecam a ficar semelhantes entre si, o que no caso de uma analogia com o
processo temporal representara uma repeticao de material musical. Nestes casos, alguma
solucao deve ser tomada. Se esta repeticao de material musical leva a um fim coerente
do material musical, o algoritmo provavelmente pode ser encerrado. Se o takeover ocorre
muito prematuramente, uma opcao e reinicializar a populacao, aumentar o tamanho da
populacao inicial ou ambas.
Metodologia
65
Outra u
ltima opcao para o takeover pode ser manter alguns indivduos de geracoes
passadas ainda como candidatos a` reproducao (holdover ). Assim como na biologia,
indivduos podem reproduzir em tempos diferentes e talvez possam esperar mais de uma
geracao e ainda ter uma chance para reproduzir.
Alem disto, caso a populacao inicial nao seja gerada aleatoriamente, a populacao
pode receber indivduos de um banco de dados externo de acordo com necessidades
especficas do problema. Isso pode ocorrer trocando um indivduo ruim por outro que
seja de alguma maneira considerado bom e que pode levar diversidade para a populacao
antes da convergencia para um takeover , esse indivduo pode vir de outras partes da
m
usica quando uma representacao hierarquica da m
usica e utilizada.
3.1.8
Considerac
oes
66
Metodologia
3.2
Gerador Mel
odico
O gerador de melodias proposto neste trabalho utiliza uma populacao de compassos com
uma avaliacao de fitness implcita mnima. O processo de composicao e o proprio processo evolucionario e todos os indivduos de todas as geracoes sao candidatos a estarem
na melodia final.
Neste contexto, apresentamos neste trabalho um algoritmo evolucionario para a
evolucao de melodias representadas como uma populacao de varios compassos, sem a
intervencao de um humano como mentor do processo. Contudo, nossa abordagem se
diferencia de abordagens anteriores pelos seguintes aspectos:
O gerador de melodias proposto tem uma populacao de compassos e uma medida
mnima de fitness
A populacao de cada geracao representa uma melodia
O processo de composicao e o proprio processo evolutivo e todos os indivduos sao
candidatos a estarem na melodia final
Os operadores geneticos sao criados e adaptados da literatura
Uma estrategia baseada na ordem das notas e definida
proposto um metodo para monitorar o takeover e estas informacoes sao usadas
E
para selecionar a geracao da qual a populacao formara a melodia final retornada
pelo algoritmo
Evita-se a dificuldade de definir o n
umero de geracoes necessarios para executar o
algoritmo simplesmente com sua execucao ate que ocorra um takeover
Com esta abordagem, tenta-se resolver o compromisso entre originalidade e diversidade em um sistema evolucionario musical. Uma Matriz de Takeover e definida com
Metodologia
67
Canal
Nota
Velocidade
Note on
Note o
60
90
0.0
0.5
62
95
0.5
1.0
...
...
...
...
...
...
74
93
10.5
11.0
3.2.1
68
Metodologia
respectiva nota. Todas as notas executadas por um mesmo instrumento devem utilizar
a mesma faixa para que estas sigam mais tarde parametros especficos que podem ser
determinados para certo instrumento. Ja cada canal representa um timbre com o qual
as notas podem ser executadas. Desta maneira, podemos ter duas faixas que usam o
mesmo canal para termos o mesmo timbre executando duas partituras diferentes.
As notas sao representadas de forma absoluta. Via de regra, apenas as notas da
escala igualmente temperada podem ser representadas pelo padrao MIDI. Cada n
umero
nao-negativo pode ser usado para representar uma nota, a partir do primeiro do. Como
referencia, quando os n
umeros sao mapeados em notas, a notacao anglo-saxonica (Tabela
2.1) e comumente utilizada.
A distancia tonal entre cada uma destas notas e de meio tom e as notas que nao
sao sustenidas sao consideradas notas naturais, ou as teclas brancas do teclado, como
na Figura 3.6. Assim, a distancia entre notas naturais pode ser de meio ou um tom. O
conjunto das notas naturais compoe tambem a escala natural de do. As notas que estao
entre as notas naturais podem ser consideradas sustenidas em relacao a` mais baixa das
duas notas ou bemol em relacao `a mais alta das duas notas. Quando representamos
notas de forma absoluta na notacao MIDI, normalmente nao se fala em nota bemois
pois o correspondente sustenido e utilizado.
...
$ %
C
' ( "
F
$ %
B
' ( "
F
$
B
...
Metodologia
69
que a oitava seria a primeira nota novamente porem em uma frequencia mais alta.
Como as notas sao representadas com valores absolutos, os operadores geneticos tem
a liberdade de gerar qualquer nota, contrastando assim com as formas de representacao
relativas baseadas em escalas musicais.
Na Tabela 3.4 tambem pode-se perceber uma coluna chamada velocidade e esta
pode assumir valores de 7 bits. O conceito de velocidade vem da ideia de que quanto
maior a velocidade com que se ataca um instrumento, maior sera a amplitude do som
gerado por ele. Assim, com os valores de velocidade podemos controlar a intensidade de
uma nota em relacao `as outras.
Por u
ltimo, e necessario especificar quando uma nota deve ser executada e qual sua
duracao. Para isso, e necessario o valor de note on, onde sera especificado quando uma
nota deve ser executada, e o valor de note o que deve ser igual ao valor do note on mais
a duracao desejada para a nota. As medidas sao em unidades de tempo relativas. Se se
tem um compasso de quatro pulsos e quer-se considerar que o tamanho do compasso sao
de 2 unidades relativas de tempo, para o primeiro compasso, temos o pulso 1 iniciando no
tempo 0.0, o pulso 2 em 0.5, o pulso 3 em 1.0 e o pulso 4 em 1.5. Assim, considerando-se
um compasso de tamanho n, qualquer valor k 1 multiplicado por n resulta no tempo
em que o compasso k esta iniciando, sendo k um inteiro positivo.
Os operadores geneticos propostos trabalham basicamente com os valores das colunas
3, 5 e 6, que sao relacionadas aos parametros (i , ti , i ), sendo i 2 {0, . . . , 127} a altura
tonal de uma nota i, ti 2 R+ a posicao de incio desta nota no tempo e i 2 R+ a duracao
desta.
Como uma representacao baseada na ordem das notas e utilizada, melodias sao representadas como uma lista de elementos com alturas tonais e posicoes no tempo (i , ti , i ).
Isso cria a possibilidade de qualquer valor de tempo para ti e i . Este modelo tem feicoes
diferentes das estruturas de cromossomos baseados na posicao dos genes, como feito por
Biles (2007b). Em abordagens baseadas em posicao, cada gene representa uma fracao
de tempo e indivduos tem um tamanho fixo. Cada gene tem um valor de i enquanto
a propria posicao de um gene define ti . Alem das notas, alguns valores adicionais sao
necessarios para representar eventos de pausas ou sustentacoes das notas para parar ou
manter as notas soando. So assim, o valor de i pode ser definido porem apenas como
valores m
ultiplos da duracao de apenas um gene.
Uma melodia com qualquer estrutura rtmica pode ser representada em um esquema
70
Metodologia
de representacao baseado em ordem. Assim, esta opcao e mais apropriada para este
trabalho pois assim resultados com relacao estetica com a populacao inicial podem ser
gerados. Alem disto, outras implicacoes desta escolha ocorrem na aplicacao dos operadores geneticos, como descrito nas proximas secoes.
No gerador de melodias, cada compasso e um indivduo. Se nao existem notas em um
dado compasso, este e considerado uma pausa e pode continuar no processo evolutivo
normalmente. Para nao haver a necessidade de percorrer toda a tabela `a procura de
indivduos, pode ser criado um vetor que aponta para a posicao inicial de cada indivduo,
assim como na Figura 3.7. Deste modo, a populacao deixa de ser a lista de notas e eventos
em si e cada indivduo passa a ser um ponteiro para a posicao da lista onde estao as
notas `as quais e relativo. Os ponteiros que nao apontam para lugar algum da lista nao
tem eventos e representam um compasso de pausa apenas.
Indivduos
xxxxxxxxxxxxxxxxxxxxxxxxx
Eventos/Notas
Para a geracao de melodias, e utilizada uma abordagem na qual cada indivduo representa um compasso. Assim, como e muito comum em sistemas de arte evolutiva, o
objetivo maior nao e exatamente a geracao de um indivduo otimo e sim de uma populacao de indivduos bons. Com varios indivduos bons, ao fim do processo, varios
indivduos podem ser escolhidos de maneira musicalmente ciente para formar uma populacao final.
Na selecao projetada para este gerador melodico, algumas vantagens apenas possveis
em sistemas que nao trabalham em tempo real foram exploradas. A principal delas e que
os indivduos utilizados como resposta do algoritmo e considerados como os melhores
nao precisam ser necessariamente os da u
ltima geracao analisada.
Como uma medida boa da qualidade de uma populacao de melodias, tomadas como
um todo para compor uma peca maior, pode ser a diversidade, esta u
ltima pode nao
ser maior na u
ltima geracao analisada, `a medida que o takeover tera ocorrido ou estara
Metodologia
71
iminente. O modo de avaliar a qualidade das solucoes implicitamente por sua diversidade
em relacao aos outros elementos e feito por um metodo criado denominado matriz de
takeover e sera melhor definido na secao 3.2.4.
3.2.2
Operadores Gen
eticos
Mutacoes e cruzamentos entre dois pais, sem consideracao de sexo5 , sao utilizados para
conduzir melodias iniciais a material novo, que tera com certeza relacao com o estilo da
` medida que a evolucao ocorre, a relacao entre o
populacao inicial escolhida pelo autor. A
material musical utilizado e o novo sendo gerado podera ser percebido pelo usuario. Nos
compassos 3 e 4 da Figura 3.8 estao representados dois filhos possveis de um cruzamento
entre os pais dos compassos 1 e 2, tendo o tempo 3 como ponto de corte.
" # ! ! ! ! ! ! ! !
Pai1
" ! ! ! ! ! ! ! !
Filho1
Pai2
! ! ! ! !
! ! !
! ! ! ! ! ! ! !
Filho2
Os operadores geneticos sao as principais ferramentas para a criacao de novos indivduos e eles podem ser guiados para considerar algum tipo de conhecimento implcito
do problema (Michalewicz & Fogel 2004). Operadores guiados corrigem o genotipo para
que solucoes absurdas nao sejam geradas.
Tradicionalmente a escolha do ponto de corte e feita aleatoriamente, o que e bom
para explorar o potencial da populacao. Isto e apropriado para tarefas musicais que
podem ser reduzidas a um problema de otimizacao, como a combinacao/geracao de
sons e geracao de harmonias. Porem, como a`s vezes nao queremos um indivduo bom
mas uma populacao, o ponto de corte pode ser limitado a pontos que sao vantajosos
musicalmente, analisando-se o fenotipo primeiro.
Nao e interessante para o gerador de melodias ter simplesmente um percentual das
5
A considerac
ao de sexo pode ser comum em ME, ja que a relacao existente entre dois indivduos
com material musical pode ser uma boa medida de fitness
72
Metodologia
$ ' ! ! ! ! ! ! ! !
! !
!
!
&
!
! ! !
Mutao simples
Escala de D
$ ! ! ! ! ! ! !
!
$ !
! !
!
!
!
!
! !
$ ! ! ! ! ! ! ! !
! ! ! ! %
8
Apagamento
e Pausa
"
! ! !
$ ! ! # ! # ! ! ! !" !
!
6
Apagamento e Sustentao
Este simples bit-flop da mutacao simples raramente gera boas solucoes em tarefas
musicais que nao tem funcoes de avaliacao bem definidas, sendo assim um operador
que nao e recomendavel ser usado `as cegas. Por isto foi determinado que esta mutacao
simples nao seja apenas um bit-flop, mas sim a mudanca do valor de uma nota inteira
que nao podera criar um intervalo vertical muito maior do que o original, o que e o
problema mais serio de simples mutacoes aleatorias de bit-flop nestes tipos de aplicacao.
A mutacao simples deste trabalho pode alterar uma nota no intervalo de no maximo 2
Metodologia
73
semitons.
Os operadores geneticos musicais devem ser guiados, podendo ocorrer correcoes no
genotipos para que estes nao representem solucoes absurdas. Este tipo de controle
pode ser necessario principalmente quando ocorre uma mutacao, que nao respeita regras
musicais para ocorrer, e pode gerar solucoes que nao sao mais consideradas factveis
importante lembrar que por se tratar de arte evolutiva,
para a maioria dos usuarios. E
agora o conceito de solucoes factveis pode depender mais de preferencias do usuario do
que outros problemas de otimizacao onde a definicao de uma funcao de avaliacao e mais
clara. Assim, uma alternativa pode ser dar opcoes para o usuario.
tambem comum definir taxas para a aplicacao de cada um destes operadores,
E
pois eles podem levar a resultados indesejaveis quando taxas inconvenientes sao usadas
(Back, Homeister & Schwefel 1991). Estas taxas podem ate ser ajustadas durante o
processo ou ajustadas por outro algoritmo evolucionario. Neste trabalho, as mutacoes
inicialmente propostas que copiam ou apagam partes da melodia (compassos 7 a 9 da
Figura 3.9) serao definidas com uma taxa de aplicacao de 0%, ja que estas mudam
diretamente o tamanho dos compassos. A utilizacao destes operadores pode levar a uma
rapida perda de material genetico da populacao inicial alem de levar a uma populacao
final com menos notas que a original, no caso do apagamento de notas, ou serem difceis
de trabalhar em uma populacao de compassos se uma duplicacao gasta mais de um
compasso, no caso da duplicacao de um trecho.
Exceto estes dois operadores, todos os outros tem a mesma probabilidade de serem
aplicados.
O uso de uma representacao baseada em ordem das melodias implica em algumas diferencas nos resultados destes operadores. Em uma representacao baseada em posicao,
os genes representam notas mas tambem sustentacoes e pausas. Assim estes eventos
tambem estao suscetveis a serem mudados pelos operadores. Nestes casos, a aplicacao
dos operadores pode mudar os genes em maneiras que criam novos eventos de sustentacao, pausas ou notas, modificando o n
umero e duracao de notas. Em contraste,
em uma representacao baseada na ordem das notas, a posicao das notas no tempo pode
ser mais facilmente herdada dos pais ja que os elementos (i , ti , i ) estao explicitamente
definidos nos cromossomos.
74
Metodologia
3.2.3
Metodologia
75
3.2.4
Avaliac
ao das Soluc
oes e Selec
ao pela Matriz de Takeover
Os u
nicos indivduos diferentes da populacao serao devidos ao operador de mutacao.
76
Metodologia
Pureza do AE em relac
ao `
a press
ao seletiva, que e fundamental para a geracao de melhores solucoes
em relac
ao `
a func
ao de fitness definida.
Metodologia
77
Originalidade em relac
ao ao material utilizado como populacao inicial
78
Metodologia
Metodologia
79
Individual 3! ! ! !
! ! ! !
!
!
" # ! ! ! ! ! ! ! ! ! ! ! ! ! !
2 2 2 2
3 3 3 3 3 3 3 3
1 1 1 1
Individual 1
Individual 2
1 1 1 1
2 2 2 2
! ! ! !
Crossover 2+3
3 3 3 3
2 2 2 2
Crossover 1+2
! ! ! !
Crossover 1+3
1 1 1 1
2 2 2 2
1 1 1 1
" ! ! ! !
! ! ! !
! ! ! !
! ! ! !
3 3 3 3
os indivduos de uma certa geracao intermediaria que equilibre estes dois conceitos.
Assim, o takeover , que seria um motivo para reinicializar a populacao em estruturas
de tempo real, aqui e um motivo para encerramento do algoritmo. Precisamos entao
calcular quando ocorre o takeover .
Para manter a populacao longe de um takeover por um tempo maior, uma abordagem de holdover tambem e utilizada. Apos cada geracao, um de seus indivduos e
escolhido para ser mantido, o que significa que o indivduo tambem sera um candidato
para procriar na proxima geracao. Esta estrategia evita uma rapida convergencia do
algoritmo.
Para descobrir se ja ocorreu o takeover em uma dada populacao, cada nota da populacao inicial foi marcada com um n
umero que lembra de qual compasso da populacao
inicial esta pertencia. Estes valores nao se alteram quando uma nota sofre mutacao. Um
exemplo de aplicacao de cruzamento em uma populacao com os marcadores da populacao
inicial sao mostrados na Figura 3.11. Neste exemplo, os tres primeiros compassos sao
interessante notar
a populacao inicial e os outros sao resultados de um cruzamento. E
que algum material genetico ja foi perdido neste processo (pulsos 3 e 4 do indivduo 1 e
pulsos 1 e 2 do indivduo 3).
Um caso simples no qual e facil de se descobrir quando ocorre o takeover e quando
todas as notas da u
ltima geracao vieram de apenas um indivduo da populacao inicial.
Porem, isto nao ocorre sempre, pois pode ocorrer o aparecimento de indivduos com
notas provenientes de diferentes indivduos da solucao inicial - ja que apenas pontos que
definam um tempo inteiro do compasso sao aceitos para o cruzamento. Esses indivduos
se reproduzem de tal maneira que o takeover ocorre apenas entre eles. Desta maneira,
nenhuma combinacao de cruzamento e capaz de levar os indivduos a terem notas de
apenas um indivduo da solucao inicial.
80
Metodologia
Inicializando-se a matriz com 0 em todas as suas posicoes, para cada nota da geracao
corrente e acrescentado 1 `a posicao da matriz correspondente ao respectivo indivduo da
populacao inicial e tempo em que esta a nota. Apos este procedimento, todos os valores
da matriz sao divididos pelo somatorio dos valores do tempo correspondente.
A Tabela 3.5 mostra dois exemplos de Matriz de Takeover. A tabela em a) mostra
T para um geracao inicial, onde 25% das notas em cada pulso sao provenientes deste
mesmo indivduo.
Quando a populacao se aproxima de um takeover , estes percentuais se aproximam
de 100%, o que significa que todas as notas de um pulso vem do mesmo indivduo da
geracao inicial. No exemplo b) da Tabela 3.5, todas as notas da suposta populacao no
pulso 3 vem do indivduo 2 da geracao inicial. Neste exemplo, o material genetico do
indivduo 1 foi completamente perdido.
Isto gera uma matriz que representa em valores percentuais a origem de cada nota,
como mostram as matrizes de exemplo da Tabela 3.5. Podemos perceber que todos os
`
valores da tabela serao proximos a 1/n, sendo n o n
umero de pulsos por compasso. A
medida que se aproxima das geracoes finais, os valores da tabela se aproximam de 1,
ja que algumas notas da populacao inicial acabam dominando um tempo especfico da
Metodologia
81
Tabela 3.5: Matriz com Percentual de Origem das Notas em Dois Casos Diferentes
Pulso
Ind.1
Ind.2
Ind.3
Ind.4
0.25
0.25
0.25
0.25
a) 2
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
0.25
Pulso
Ind.1
Ind.2
Ind.3
Ind.4
1.0
b) 2
1.0
1.0
1.0
82
Metodologia
Ind.1
Ind.2
Ind.3
Ind.4
0.50
0.25
0.15
0.10
0.18
1.00
0.50
0.25
0.25
0.25
0.25
0.20
0.30
0.50
0.10
0.17
Total
0.85
c=
n
X
i=1
2v
u X
n
X
u1 p
t
4
=
(Tij
p j=1
i=1
)2 5
(3.2)
Metodologia
83
possvel encontrar uma melodia que nao e muito proxima a um takeover nem tao similar
a` melodia original, a ponto de nao ser considerada uma nova melodia. Para fazer isto,
a mediana de todos os valores de compromisso e utilizada para selecionar a geracao
da qual os compassos finais serao retornados como resultado. Geracoes com valores de
compromisso proximos a` mediana formam bons candidatos para o resultado retornado
pelo algoritmo. Escolhe-se arbitrariamente entao os indivduos na geracao com o valor
mais proximo `a mediana para serem retornados como uma nova melodia.
3.3
Gerador Harm
onico
O gerador harmonico tem como entrada uma melodia previamente gerada e gera uma
harmonia com um segundo AG. A tarefa de harmonizar melodias pode ser considerada
de certo modo mais simples do que a tarefa de criacao de melodias, pois esta e mais
dificilmente conversvel em uma tarefa de otimizacao do que aquela.
Para este tipo de abordagem um novo esquema para representacao de harmonias
que define acordes em relacao aos compassos, ou fracoes de compasso, que pode levar a
resultados que diferem daqueles algoritmos normalmente propostos para harmonizacao
SATB, nos quais um grupo de notas e definido para cada nota na melodia. Alem disto,
cinco notas sao permitidas em um acorde, sendo que algumas podem nao ser usadas.
Diferentemente da geracao de melodias, a criacao de harmonias e uma tarefa que
pode ser mais facilmente resolvida com AG ja que a definicao do fitness pode ser a
relacao existente entre a harmonia criada e a melodia em questao. Assim, o AG gera
harmonias em relacao `as notas da melodia dada e do campo harmonico da composicao.
No seu caso mais simples, cada acorde do gerador harmonico sera composto por uma
trade, que inclui as 1a , 3a e 5a notas da escala correspondente. Por exemplo, no campo
harmonico natural de do maior da Tabela 3.7, a trade de do sera do (1a ), mi (3a ) e sol
(5a ). Como o intervalo entre C e E e de 2 tons, este e considerado um acorde maior. No
mesmo campo harmonico, se se quer a trade do acorde que tem base na segunda nota
da escala natural teremos a trade re (1a ), fa (3a ) e la (5a ). Este e um acorde menor, ja
que o intervalo entre a primeira e a terceira nota da trade e de 1 tom e meio.
Tal como para as outras aplicacoes, e necessario compreender a natureza do problema
e tentar transmitir este conhecimento ao algoritmo. As proximas subsecoes descrevem
84
Metodologia
Notacao Anglo-saxonica
Notacao Latina
Do
Re Mi
Fa
Sol
La
Si
como isso e feito em varias partes do processo, incluindo a representacao das solucoes e
no modo que elas interagem entre si na abordagem evolucionaria.
3.3.1
Representando Harmonias
importante ter uma representacao das solucoes que seja conveniente para mapear asE
pectos fundamentais da m
usica ocidental, nomeadamente alturas tonais e acordes. Ainda
considerando regras implcitas de composicao ocidental, o grupo de notas formando a
trade de um acorde especfico e normalmente a base do processo de harmonizacao. As
outras caractersticas de acordes sao normalmente descritas pelo grau da escala no qual
uma nota dada esta.
Como sistemas de afinacao de escalas igualmente temperadas910 sao o padrao na
m
usica ocidental, na maior parte dos casos, pode ser conveniente usar distancias relativas
entre as notas ao inves de valores de altura tonal absolutos. Assim, o resultado final
pode ser normalizado para representar esta solucao em um tom conveniente para o
usuario. Tambem no resultado final, a oitava na qual cada nota sera executada pode ser
convenientemente decidida, assim como a duracao de cada nota do acorde que formara
seu ritmo.
Os nomes das notas estao especificados na Tabela 3.8, com o grau das notas respectivas, considerando a escala natural de do. Existem doze notas, sete delas representando
graus da escala natural (a escala de do e considerada no exemplo da Tabela 3.8). O
grau das notas restantes devem ser representados em relacao ao grau de sua nota mais
proxima (por exemplo, F# pode ser 5-). O intervalo entre duas notas consecutivas e um
intervalo de semitom (por exemplo, C e C#, ou E e F). Um intervalo de dois semitons e
um intervalo de um tom (por exemplo, C e D, ou E e F#). Mais informacao sobre estas
9
O sistema de temperamento igual e baseado na divisao de uma oitava em doze semitons com a
mesma dist
ancia entre si.
10
Uma oitava e o intervalo entre duas notas, uma tendo metade ou o dobro da frequencia da outra.
Metodologia
85
C#
D#
F F#
G#
Grau
A A#
86
Metodologia
...
...
5 Nota
4a Nota
...
3 Nota
...
2a Nota
...
Nota fundamental
...
fundamental e usada como uma ancora para decidir a altura tonal das outras notas. A
nota fundamental define a altura tonal da nota mais grave enquanto as outras notas
sao definidas com o menor intervalo vertical possvel em relacao `a u
ltima nota. Esta
codificacao faz o sistema tambem ser mais flexvel que outros com apenas 4 notas (que
nao tem a capacidade de representar alguns acordes dissonantes) e evita problemas como
intervalos verticais muito largos (por causa da definicao das notas em termos relativos
a` fundamental), que seria provavelmente tratado com penalidades na funcao de fitness
se outras abordagens de representacao fossem usadas.
As notas podem ser representadas por n
umeros inteiros de 1 a 12 pois a codificacao
nao precisa definir a qual oitava pertence a nota. Os n
umeros de 1 a 12 nao precisam necessariamente sempre corresponder `as mesmas notas ja que a harmonia pode ser
transposta para qualquer tom quando o genotipo e passado para o fenotipo. Assim,
na representacao da Tabela 3.9, os nomes das notas sao meramente representativos.
Isso acontece pois um sistema de igual temperamento e usado no trabalho e consequentemente a relacao dos intervalos entre as notas se torna mais importante que o valor
absoluto de cada nota. O conjunto de notas em cada acorde j e representado por:
hj = 1j , 2j , 3j , 4i , 5j , j = 1, . . . , n
(3.3)
Metodologia
3.3.2
87
Operadores Gen
eticos
A criacao de novos cromossomos atraves das geracoes e feita por operadores geneticos
cuidadosamente projetados, que de fato permitem a ocorrencia do processo evolucionario.
Os operadores mais comuns sao a mutacao e o cruzamento, apesar de operadores mais
complexos poderem ser projetados para um campo especfico de problemas. Estes operadores podem ser cegos ou guiados, o que significa que eles nem sempre ocorrem de
uma maneira completamente aleatoria. Operadores guiados podem ajudar aplicacoes
musicais ja que mudancas completamente aleatorias em cromossomos nao sao convenientes em algumas situacoes. Por exemplo, se um gene representa uma nota, a mutacao
pode ser guiada para respeitar algumas regras harmonicas ou melodicas.
Alguns operadores musicais comuns sao utilizados na implementacao deste trabalho
para fazer o processo evolucionario mais eficiente. Kennedy & Bourne (2004) descrevem alguns possveis operadores para harmonizacao, porem, com um esquema de representacao diferente. Alem do cruzamento, todos os outros operadores ocorrem na fase de
mutacao. A probabilidade de se entrar na fase de mutacao e de 20% e cada operador de
mutacao tem outra probabilidade de ocorrer. Este valor de 20% e definido relativamente
alto pois algumas das mutacoes possveis que nao afetam muito a qualidade das solucoes
tem uma grande chance de serem escolhidos. A probabilidade de se entrar na fase de
cruzamento e de 90% e apenas um cruzamento musical pode ocorrer. Os operadores
musicais utilizados para evoluir harmonias estao descritos abaixo:
88
Metodologia
um operador ou mesmo por varias mutacoes na altura tonal mas nao com uma
u
nica mutacao da altura tonal. Intervalos de no maximo um tom tambem forcam o
algoritmo a explorar mais acordes dissonantes pois uma nota de uma trade nunca
sera mutada para outra nota da trade. Note que intervalos realmente muito largos nao sao mesmo previstos pela representacao. A probabilidade de usar este
operador e de 30%. Se nao ha nota alguma na posicao aleatoriamente selecionada
(apenas possvel na quinta nota de um compasso), o operador nao e aplicado.
Troca entre o mesmo acorde Para trocar a posicao das notas no mesmo compasso.
Este operador cria inversoes em um acorde dado. A probabilidade de usar este
operador e de 50%. Se uma posicao sem nota e selecionada, uma nova posicao e
selecionada.
Reinicializac
ao do acorde Reinicializa todas as notas de um compasso usando uma
trade com uma nota da melodia no compasso correspondente. Isso gera novos
acordes com uma grande possibilidade de serem aceitaveis. Todas as trades tem a
mesma probabilidade de serem escolhidas e a probabilidade de se aplicar o operador
e de 15%.
C
opia Copia a informacao de um compasso para outro, criando a repeticao de alguns
acordes na harmonia. A probabilidade deste operador e de 5%.
A probabilidade de se entrar na fase de mutacao e definida como 20% devido a
algumas mutacoes que nao alteram expressivamente o fitness das solucoes, como a troca
de notas entre o mesmo acorde, que pode apenas interferir na condicao da posicao da
nota fundamental.
A Tabela 3.10 resume os operadores geneticos utilizados neste trabalho com suas
respectivas probabilidades de serem aplicados.
3.3.3
Harmonizac
ao Multiobjetivo
Duas funcoes de avaliacao sao definidas para resolver o compromisso entre dissonancia ou
simplicidade das harmonias. Isto e feito considerando que harmonias contendo acordes
com apenas a trade simples (fundamental, terceira e quinta) ou a trade simples mais
a setima em alguns casos sao boas harmonias de acordo com o criterio de simplicidade.
Nestas harmonias, uma setima nao e considerada uma nota desejavel a nao ser em um
Metodologia
89
Probabilidade
Fase de Cruzamento
90%
1: Cruzamento musical
100%
Fase de Mutacao
20%
30%
50%
3: Reinicializacao do acorde
15%
4: Copia de acorde
5%
contexto no qual ela resulta em uma nota apropriada do acorde seguinte. A maximizacao
de uma funcao de fitness definida pela funcao simplicidade f1 representara a avaliacao
deste tipo de harmonias.
Uma segunda funcao de avaliacao a ser maximizada, chamada funcao dissonancia f2 ,
valoriza mais harmonias com dissonancia em seus acordes, e compassos com mais notas
do que a trade sao normalmente recompensados. Apesar desta consideracao, notas alem
da trade que nao se encaixam `a melodia sao penalizados da mesma maneira que seriam
na primeira funcao de avaliacao.
Talvez poderia ser possvel conciliar ambos os objetivos se se soubesse previamente
as preferencias do usuario ou se o projetista do algoritmo se tornasse o proprio usuario
e usasse suas proprias preferencias para pesar opcoes contraditorias. Enquanto alguns
objetivos sao normalmente comuns a todas as harmonias, tal com definir trades especficas para guiar a progressao de acordes, alguns objetivos sao muito contraditorios
de acordo com as preferencias do usuario. Por exemplo, a inclusao de notas dissonantes
necessariamente dara diferentes recompensas e penalidades em funcoes diferentes.
Uma outra ideia poderia ser permitir alguns compassos a atender objetivos diferentes. No caso deste trabalho, isso resultaria em uma harmonia que e dissonante em alguns
compassos e simples em outros. Mesmo com harmonias dissonantes podendo tambem
ter acordes simples em alguns casos, provavelmente esta abordagem teria resultados
que desagradariam a maior parte dos usuarios ja que nenhuma preferencia seria atendida. Fazendo isto, as possibilidades entre harmonias complexas e simples nao seriam
exploradas.
90
Metodologia
Metodologia
91
*/
*/
*/
*/
*/
fim
3.3.4
Avaliac
ao das Soluc
oes
comum imaginar um mentor humano para avaliar as solucoes quando geradores muE
sicais estao em questao, tendo assim uma avaliacao legtima. Esta nao e sempre uma
abordagem indicada, primeiramente, porque a avaliacao e tendenciosa na direcao das
92
Metodologia
preferencias dos usuarios. Outro fator que nao pode ser negligenciado e que um mentor
humano e sempre suscetvel a ficar cansado, entediado e perder a atencao.
Alem disto, o uso de um mentor humano evitaria o estudo de como a funcao de
fitness deve funcionar, e consequentemente, negligenciar a propria natureza do problema.
Uma questao clara de preferencias do mentor pode ser entre harmonias dissonantes
ou simples, que e objeto de estudo deste gerador harmonico. Alem disto, o objetivo
principal deste trabalho e produzir um sistema automatico capaz de funcionar com base
em conhecimento musical apenas. Isso nos permite analisar o comportamento do sistema.
Para classificar quao boa e uma solucao, e necessario definir como conhecimento
sobre o assunto sera definido no sistema. Como previamente descrito, grande parte
deste conhecimento ja esta implementado nos operadores geneticos mas estes nao sao
capazes de distinguir quais sao boas ou mas solucoes. O fitness de uma solucao e dado
de acordo com as duracoes das notas e intervalos verticais da harmonia.
necessario determinar fatores que podem ou nao ser desejaveis a`s solucoes, como
E
descrito abaixo com as penalidades usadas neste trabalho.
Metodologia
93
pois a distancia entre as notas e definida quando estas sao transcritas do genotipo
para o fenotipo.
Notas e Acordes Inv
alidos: Notas que nao pertencem a`s escalas implicitamente
definidas pela melodia sao penalizadas em 30. Uma nota e considerada invalida na
funcao simplicidade se (i) ela nao pertence `a escala principal implcita da melodia
e (ii) ela nao existe no respectivo compasso da melodia. Uma nota e considerada
invalida na funcao dissonancia se (i) ela nao pertence `a escala implcita principal
de melodia, (ii) ela nao existe no compasso respectivo da melodia, (iii) ela nao
leva a outra nota no acorde seguinte atraves de um cromatismo e (iv) nao ha
notas dissonantes a meio tom de distancia no acorde. A penalidade para esta
restricao e de 30 pois ela deve ser uma penalidade maior que a recompensa por
notas dissonantes na funcao dissonancia.
Evitar unssonos: Nao e desejavel haver unssonos gastando notas que poderiam
ser usadas para formar novos acordes. Unssonos da nota fundamental podem ser
normais enquanto unssonos da terceira nao sao normalmente aceitos. A maior
parte dos unssonos sao penalizados em 5, unssonos das terceiras sao penalizados
em 10 e unssonos com a fundamental nao sao penalizados.
Omiss
ao de notas: Quando a trade nao esta completa. Como ha 5 possveis
notas no esquema de representacao proposto, e possvel ter notas extras sem excluir
notas da trade. A omissao da quinta pode ser considerada normal para se adicionar
notas extras. A u
nica restricao relativa a` ausencia de notas e a ausencia de trades
ja discutidas.
Extens
ao das notas: As notas devem respeitar uma extensao de alturas tonais
para evitar variacoes estranhas entre os acordes. Neste esquema de representacao,
a altura tonal de cada nota e definida quando o genotipo e passado para fenotipo.
Nao ha, assim, necessidade de penalizacao neste aspecto.
S
etimas Significativas: Setimas que levam a outra nota no acorde seguinte sao
recompensadas em 10 na funcao dissonancia. Elas sao recompensadas em 10 na
funcao simplicidade apenas se levam a uma terceira no acorde seguinte.
Progress
oes: Progressoes especficas de acordes ou cadencias na harmonia podem ter algum tipo de preferencia, especialmente quando compondo em um estilo
particular de m
usica. Este tipo de recompensa nao e considerado neste trabalho
94
Metodologia
Func
ao
Func
ao
Simplicidade
Disson
ancia
1: Ausencia de trade
-40
-40
-15
-5
2: Nota dissonante
-10
+10
+10
-20
-20
3: Unssonos
-5
-5
-10
-10
-30
-30
5: Setima significativab
+10
+10
6: Posicao da fundamental
+10
+3
a
b
3.3.5
Executando a harmonia
Apos a definicao de quais acordes serao tocados em quais compassos, e preciso convertelos em partituras. Essas partituras finais serao representadas da mesma maneira que as
Metodologia
95
Baixo
Guitarra
"
#
!
"
"$
""""
!"$
"
"" "! ""
"" "
"
#
!
"
melodias do gerador melodico. O resultado de todo este processo sera anexado a novas
faixas (coluna 1 da representacao das melodias, como na Tabela 3.4) no arquivo MIDI
final.
Podem ser definidos ritmos que sempre seguem o mesmo padrao, porem, com acordes
diferentes. Mostramos um exemplo no qual a criacao do baixo e feita com uma variacao
entre a nota base e sua 5a , assim como o exemplo da Figura 3.13, que representa dois
compassos de baixo no qual a base e do maior. As notas utilizadas para o baixo estao
na quinta oitava permitida pela codificacao MIDI.
As notas referentes ao segundo instrumento da base estao uma oitava acima da oitava
central do baixo, na sexta oitava da codificacao. Uma guitarra pode ser utilizada para
representar este instrumento, por exemplo. A base do segundo instrumento normalmente
tem uma relacao com a faixa do baixo e comumente trabalha com as notas do acorde
que ainda nao foram emitidas por outros instrumentos.
No possvel exemplo para execucao da solucao, a faixa do segundo instrumento gerado
para a base contem as mesmas notas do baixo nos mesmos tempos, porem uma oitava
acima. Alem disso, um outro ritmo que inclui as outras notas da trade e colocado junto
a`s notas do primeiro instrumento. Um exemplo de dois compassos criados para guitarra
estao tambem na Figura 3.13.
3.4
Conclus
ao
96
Metodologia
Captulo 4
Resultados
4.1
Introduc
ao
Neste captulo, durante a analise das abordagens utilizadas, sao mostrados experimentos
especficos que ajudam a compreensao completa do funcionamento dos algoritmos, seus
valores de compromisso, takeovers e possveis resultados.
Primeiramente, e analisado o funcionamento do gerador de melodias e a influencia de
seus possveis parametros, como a melodia inicial e a medida de fitness. Em seguida, o
gerador de harmonias e analisado em relacao a` sua efetividade e em relacao `a avaliacao
humana dos resultados.
4.2
4.2.1
Gerador de Melodias
Base de dados
Diferentes melodias foram utilizadas para analisar as possibilidades do metodo. Os primeiros experimentos envolvem a geracao de uma nova melodia tendo como referencia
para o algoritmo 16 compassos retirados de Samba de Uma Nota So. Estes compassos
foram retirados de partes diversas do m
usica e sao mostrados na Figura 4.1. Os compassos 1-8 sao retirados do verso enquanto os compassos 9-16 sao retirados do refrao.
Esta pode ser considerada uma boa m
usica para analisar o algoritmo, ja que o verso tem
uma melodia simples, com apenas duas notas e um padrao rtmico repetitivo, enquanto
97
98
Resultados
13
! !
! !
!
# $ ! " ! ! " ! ! ! ! "! ! " ! ! ! " ! ! " !
Figura 4.2: Escala Cromatica
" & !! $
5
"
! !
! !
$'
!! $
! ! % ! ! $
! !
! ! % !!
! !
! ! #
Resultados
99
500
Geraes
400
300
200
100
0
4
Indivduos 16
32
Figura 4.4: N
umero de geracoes para alcancar o takeover
4.2.2
Resultados e Discuss
ao
100
Resultados
1
0.9
Valor de Compromisso
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
10
20
30
Gerao
40
50
! ! ! ! ! ! ! !
!
!
!
!
!
!
!
!
%
#
#
#
#
#
$ "
"
"
"
"
5
! ! ! #!
!
!
!
!
!
!
!
!
!
!
!
!
#
#
#
#
$
"
"
" "
"
Figura 4.6: Um resultado utilizando o verso da m
usica
Resultados
101
)
% ( "! ! *
4
"! ! $
! " ! "! !
! ! $
! !
"
"
!
!
!
!
"
!
"! "! #! ! ! "!&
%
$&
! "!
102
Resultados
" #" $ #" !" " #" !" $ " #" !" '
& &
' " " " " # " !" $ " $ " ' "
Resultados
103
!
# $ ! " ! ! " ! ! ! ! "! ! " ! ! ! " ! ! " !
b) Resultado 1 - Usando um AG livre de fitness
# " ! ! ! ! ! ! ! ! ! ! !! ! ! ! !
fitness pode ser considerado tao musical (ou nao musical) como a escala cromatica utilizada como populacao inicial. Eles nao respeitam escalas especficas, assim como a
populacao inicial, e o padrao rtmico e tambem o mesmo.
Por outro lado, o resultado utilizando uma abordagem baseado em fitness mnimo
que penaliza indivduos com notas fora da escala de C fizeram a melodia final respeitar
este aspecto. Mesmo com o padrao rtmico repetitivo novamente herdado da populacao
inicial, a restricao aplicada `as notas fez a melodia inteira soar muito mais conservadora
em relacao a` escala diatonica.
A desvantagem da abordagem baseada em fitness mnimo e que uma limitacao forte
foi imposta a`s melodias mesmo com os indivduos tendo o mesmo valor de fitness na
maioria da geracoes. Isso leva a um resultado que perdeu parte de sua ligacao com a
melodia original, fazendo o algoritmo perder uma de suas feicoes. Neste caso especfico,
os resultados utilizando uma abordagem baseada em fitness mnimo pode ser melhor
pois nao havia uma melodia inicial boa, que e o modo mais efetivo de controlar os
resultados de uma solucao livre de fitness. Assim, a abordagem baseada em fitness pode
ter limitado a ligacao entre os resultados e uma melodia ruim. Mesmo com a melodia
inicial nao sendo considerada boa por varias pessoas, o usuario pode ter a intencao
explcita de criar uma outra melodia ruim tendo a primeira como uma referencia para
controlar o algoritmo.
Em casos nos quais as solucoes iniciais sao muito musicais e criativas, estas restricoes
poderiam provavelmente restringir esta criatividade da solucao inicial, tornando-a uma
104
Resultados
" & !! $
5
"
! !
! !
$'
!! $
! ! % ! ! $
! !
! ! % !!
! !
! ! #
# $ ! " ! "
! ! ! !
! " ! !! ! ! ! !!
!
!
!
# !
! ! ! !
! ! " ! ! ! " ! ! !
melodia mais simples. Nestas abordagens, melodias como a da Figura 4.7 nunca seriam
geradas.
Tambem `a medida que o algoritmo tem resultados relacionados `a populacao inicial,
uma abordagem livre de fitness pode ser utilizada com uma populacao inicial boa que
ja respeita algumas regras especficas. Isso resultaria em novas melodias que podem
ser criativas mas serao tambem relacionadas com a populacao inicial. Nestes casos, um
controle de fitness pode ate remover algum controle sobre o algoritmo, se o usuario
espera ter algo similar `a populacao inicial.
Por exemplo, uma melodia inicial simples que respeita a escala natural de do provavelmente resultara em outra melodia simples que ainda respeita a escala ate certo ponto.
O proximo experimento pode dar evidencia disto.
A Figura 4.10 mostra uma solucao inicial simples que respeita a escala natural de C.
Aplicando um esquema de selecao livre de fitness, a solucao final e tambem uma solucao
simples que nem tem notas que duram fracoes pequenas de tempo nem desrespeitam a
escala original de C. Todo o controle do algoritmo e assim feito pela populacao inicial
em vez de se usar funcoes de fitness que poderiam mudar o estilo dos resultados.
Resultados
105
" "
# & "" $
5
" "
$'
"" $
" "
" "
" " !
4.3
4.3.1
Gerador de Harmonias
Par
ametros e Dados de Entrada
106
Resultados
Notes
Total
C#
D#
F#
G#
A#
escalas previamente definidas na coluna total, uma escala que contenha todas as notas da
coluna total sera escolhida. Por outro lado, se a melodia tem tantas notas que qualquer
escala falta alguma nota para corresponder a` coluna total, alguns compassos da melodia
devem ser considerados excecoes ate que um padrao de excecoes corresponda `a coluna
total.
Apenas escalas naturais foram consideradas neste experimento. Apesar disto, e facil
perceber que qualquer escala pode ser utilizada com este metodo.
4.3.2
Resultados e Discuss
ao
Resultados
107
50
Influncia no Fitness
50
Ausncia de Trade
Notas dissonantes
Unssonos
Notas invlidas
Stima significativas
Posio da Tnica
100
150
200
120
4160
81100
Gerao
121140
161180
unssonos tem o maior peso na avaliacao das solucoes. Isso acontece principalmente por
causa das solucoes com bons valores na funcao simplicidade f1 . Estes indivduos nao
tem varias notas dissonantes e estas sao substitudas por unssonos de outras notas. O
grafico considera as 200 geracoes iniciais do experimento.
A Figura 4.13 mostra uma solucao retirada da frente de Pareto com um bom valor na
funcao simplicidade (fitness (50, 61)). A harmonia gerada e muito simples e tem muita
similaridade com a harmonia original da m
usica, representada na Figura 4.14, a qual o
algoritmo nao tem acesso explcito. As u
nicas diferencas seriam os acordes menores, que
sao inexistentes na cancao original (Dm e o acorde relativo menor de F).
A possibilidade de se gerar harmonias similares a` original e uma evidencia de que
o algoritmo esta resultando em solucoes musicais. Isso nao significa que uma solucao
que nao se parece com a original nao e musical. Tais harmonias podem ser encontradas
mas copiar ou encontrar a harmonia original de uma melodia nao e o objetivo deste
trabalho. Por este motivo, testes ground truth, baseados nas harmonias originais, nao
se aplicam a este algoritmo pois a intencao e criar harmonias factveis tao diversas e
criativas quanto possvel.
A Figura 4.15 mostra uma solucao retirada da frente de Pareto com um bom valor na
108
Resultados
" ' !! %
7
C
5
"
! !
! !
Am
%&
Dm
! ! $
!! %
G
! ! %
! !
! ! $ !!
C
! ! #
# & !! $
5
! !
! !
F
$'
!! $
G
! ! $
! ! %
! !
! !
! ! % !!
! ! "
Resultados
109
" & !! $
6
D
5
"
! !
7/add6
! !
F
$'
! !
!! $
Em
! ! % ! ! $
! !
! ! % !!
C
! ! #
110
Resultados
x 10
1.8
Hipervolume
1.6
1.4
Mdia
Mediana
Mximo
Mnimo
Percentil 25
Percentil 75
1.2
0.8
0
10
10
10
Gerao
n o n
umero inicial de indivduos, e um valor de fitness medio de (4, 38, 178, 14).
O algoritmo avaliou 20,000 solucoes em 200 geracoes e o hipervolume medio do Pareto
final foi 1, 8197 106 (desvio padrao de 3, 1243 104 ) enquanto o Pareto inicial formado
por 100 solucoes aleatorias teve um hipervolume medio de 9, 3421 105 . Um Pareto
produzido por 20.000 solucoes aleatoriamente geradas teve um hipervolume medio de
1, 1833 106 (desvio padrao de 3, 0844 104 ).
Para confirmar a confiabilidade da funcao de fitness em relacao a conceitos externos
de arte, uma pesquisa tambem foi feita com 12 participantes. Estes foram pedidos a dar
uma medida de qualidade de 12 harmonias retiradas das frentes de Pareto em diferentes
geracoes.
A seguinte abordagem foi utilizada para selecionar as harmonias avaliadas pelos participantes. O hipervolume medio na primeira geracao e g0 = 9, 3421 105 e na u
ltima
6
geracao e g200 = 1, 8197 10 . Por conseguinte,
= g200 g0 = 8, 8554 105 . As
geracoes com hipervolumes medios mais proximos a g0 + (i 1) n 1 foram usados com
amostras alem das geracoes 0 e 200, sendo n o n
umero de amostras e i a amostra desejada.
Este metodo foi utilizado pois a evolucao dos hipervolumes acontece logaritmicamente,
como pode ser percebido na Figura 4.16.
Resultados
111
400
200
Fitness function 2
0
200
400
600
800
1000
1200
1200
1000
800
600
400
Fitness function 1
200
200
112
Resultados
Harm.1
Harm.2
Harm.3
Media
2,0
1,1
4,3
2,5
(100,7782 )
4,3
5,6
4,0
4,6
16 (101,2041 )
5,1
5,0
4,1
4,7
8,7
7,7
7,5
8,0
5,0
4,9
5,0
5,0
200
(102,3010 )
Media
Resultados
113
tas que solucoes completamente aleatorias) em relacao a`s solucoes finais que tiveram
notas significativamente mais altas (320% mais alta que as solucoes iniciais). Isso oferece evidencias para inferir que, de acordo com a avaliacao humana, solucoes quebrando
poucas restricoes podem ser consideradas quase tao inadequadas quanto solucoes que
quebram varias restricoes ou ate solucoes aleatorias.
De qualquer maneira, quanto mais alta foi a avaliacao humana dos resultados, maior
foram os valores de fitness retornados pelo algoritmo. Apesar de avaliacoes de solucoes
poderem depender fortemente de analises estilsticas, isso da fortes evidencias de que a
codificacao descrita neste trabalho representa pelo menos em parte o que os participantes
da pesquisa consideram uma harmonia bem sucedida enquanto e capaz de funcionar com
diferentes preferencias dos usuarios. Afinal, estes sao os principais objetivos do algoritmo
proposto.
4.4
Conclus
ao
Os experimentos apresentados demonstram abordagens para resolver duas tarefas musicais diferentes.
Para a geracao de melodias, e possvel perceber a influencia da populacao inicial
nos resultados da abordagem apresentada assim como e possvel perceber diferentes
implicacoes da maneira como o AG e especificado. O algoritmo pode assim ser usado
para gerar novas ideias mas tambem para expandir ideias previamente existentes.
Ja em relacao `a geracao de harmonias, foi demonstrada a efetividade do metodo
NSGA-II para o problema definido utilizando-se a medida do hipervolume das solucoes
obtidas. A geracao de novas harmonias, tanto dissonantes quanto simples, puderam ser
realizadas para uma mesma melodia.
114
Captulo 5
Conclus
oes
5.1
Conclus
oes
Talvez o fato mais importante a ser notado no desenvolvimento de sistemas evolucionarios para CA e que esta e uma tarefa na qual discussao no domnio relevante e
estritamente necessaria. Qualquer tentativa de se criar um sistema composicional sem
discussao sobre teoria musical e desnecessaria. Os algoritmos propostos neste trabalho
mostram que e possvel criar novas composicoes e misturar elementos conhecidos relacionados a novas m
usicas. Apesar da influencia da populacao inicial no resultado final das
melodias, o modo como o algoritmo e controlado pode levar a resultados completamente
novos ja que regras estritas (como uma funcao de fitness usual) nao sao aplicadas no
processo evolucionario.
A influencia rtmica parcialmente explica o funcionamento do gerador de melodias
e como ele gera m
usica de generos similares, ja que ele mantem uma grande parte da
estrutura rtmica da melodia inicial. Isto nao deve ser um problema de criatividade
se houver um banco de dados de melodias grande o suficiente para cobrir varios tipos
de estruturas melodicas de onde o gerador pode aprender. De fato, novas melodias
criativas puderam ser criadas a partir das iniciais. Ao final, e muito difcil identificar de
qual melodia da populacao inicial a solucao herdou seu estilo.
Ainda no gerador de melodias, mudancas atraves das geracoes tem mais importancia
do que a procura por um resultado particular que satisfaz melhor um conjunto especfico
de regras. Assim, e mais significante ter operadores cientes musicalmente robustos que
funcoes de fitness baseadas em regras que podem ao contrario remover alguma criati115
116
Conclus
oes
vidade dos resultados. A matriz de takeover e uma boa abordagem nova desenvolvida
para encontrar um bom conjunto de solucoes relacionadas entre si.
As melodias, como um resultado do processo criativo, nao podem ser criadas baseadas
apenas em regras musicais simples, o sistema deve ter alguma experiencia implcita sobre
o que compositores humanos fazem. Mais do que isto, um processo que cria melodias com
menos regras pode ser muito mais facil de ser implementado e usado quando comparado
com algoritmos que usam o artifcio de um mentor humano para avaliar a populacao
inteira. Este algoritmo pode nao apenas ser u
til para desenvolver novas ideias mas
tambem para estender e mesclar ideias previamente criadas, que podem ser competitivas
com ideias geradas por humanos.
Melodias, como resultado do processo criativo que sao, podem ser criadas sem base
em velhas regras musicais que limitam a criatividade da composicao. Alem disto, o
processo de criacao de melodias com menos regras e avaliacao automatica pode funcionar
de maneira mais facil em relacao ao com avaliacao humana devido ao problema do gargalo
de avaliacao do fitness que e automaticamente resolvido e acaba com o trade-o entre
tamanho da amostra e qualidade da avaliacao.
Os experimentos com duas funcoes de fitness para avaliar as harmonias tornaram claros aspectos importantes deste tipo de algoritmo. O conhecimento implcito do sistema
tem grande influencia nos resultados. O modo como solucoes que sao boas em relacao
a apenas uma funcao de avaliacao diferem de outras solucoes com outros padroes de
preferencia demonstram este aspecto claramente. Esta abordagem possibilita que o algoritmo ignore preferencias estritamente especficas do usuario e gere um conjunto de
solucoes factveis.
O algoritmo convergiu para varias solucoes interessantes como as da Figura 4.15.
Estas solucoes sao resultado da flexibilidade embutida na sistema que leva a outro compromisso a ser analisado: aquele entre diversidade e obediencia a certas regras. A u
ltima
opcao nao e normalmente u
til para compositores procurando novas ideias. Ja sistemas
com criatividade podem gerar conjuntos com varias solucoes factveis em vez de dar
sempre a mesma solucao excessivamente baseada em regras.
Modelos baseados em regras podem ser mais eficientes em alguns casos especficos de
harmonizacao, especialmente quando compondo em um estilo especfico. Nao obstante,
sistemas evolucionarios tem claras vantagens de flexibilidade e possibilidades de novas
solucoes criativas. A abordagem multiobjetivo demonstra como estas possibilidades de
novas solucoes criativas podem ser utilizadas.
Conclus
oes
5.2
117
Trabalhos Futuros
Seguem sugestoes de trabalhos futuros que podem ser realizados em todas as etapas de
desenvolvimento deste trabalho.
Metodos que permitissem que o AG tivesse uma ideia de como a m
usica inteira deve
ser e que tivessem algum tipo de influencia externa poderiam provavelmente levar a
melhores abordagens. Atualmente, a maior parte das condicoes de avaliacao de uma
solucao consideram apenas o acorde seguinte, no maximo. Seria interessante imaginar
sistemas que pudessem analisar os compassos como um todo antes de aplicar os operadores geneticos.
Existe trabalho potencial na representacao das solucoes. A mesma notacao musical
que faz a comunicacao mais facil entre m
usica pode ser eficiente quando se procura
uma solucao otima com um AG, ja que e uma linguagem criada para representar mais
eficientemente a linguagem dos acordes. Tambem, foi concludo que a codificacao de
acordes com 5 vozes nao foi muito fundamental para o gerador harmonico pois cerca
de 76% das solucoes nao utilizaram a quinta nota nos experimentos feitos. Apesar
disto, varias solucoes usaram a quinta nota mas tambem continham unssonos no acorde.
Talvez, uma boa abordagem seja eliminar a quinta da trade quando se criar acordes
dissonantes em vez de haver uma posicao opcional.
Na geracao de melodias, outras abordagens podem ser estudadas para a manutencao
da diversidade da populacao. Entre elas, as principais seriam (i) abordagens multiobjetivo, (ii) organizacao da populacao nichos e (iii) a utilizacao de sistemas imunologicos.
Alem ainda existe potencial trabalho a ser desenvolvido na formacao da solucao final
para que nesta haja uma relacao mais harmoniosa entre os compassos que foram unidos.
Um planejamento de mais alto nvel antes da inicializacao do AG pode ser u
til para
extrair mais informacao sobre o problema antes do incio do processo evolucionario. Isso
permitiria o desenvolvimento de melhores operadores especficos para o domnio e um
processo musicalmente ciente mais eficiente. Os algoritmos atuais aqui descritos operam
apenas em nveis temporais locais e nao globais, como a organizacao da m
usica com
repeticoes, frases ou motivos.
Em trabalhos futuros, uma definicao mais aprofundada de quais aspectos sao regras
podem levar a uma abordagem evolucionaria ainda criativa que poderia ser mais baseada
em regras.
118
Conclus
oes
Alem da avaliacao implcita do gerador melodico, testes utilizando a matriz de takeover - que contem uma medida de diversidade da populacao - para diferenciar o fitness
de indivduos que criam mais diversidade no conjunto seriam importantes.
Ja que a populacao inicial tem tal importancia na geracao de melodias e importante
tambem criar uma base de dados de melodias que podem ser usadas como populacao
inicial. A partir da, pode-se definir novas regras, como por exemplo impedir material
utilizado na criacao de um verso de ser utilizado em outro verso em uma heurstica de
nvel mais alto.
Refer
encias Bibliogr
aficas
Alpern, A. (1995). Techniques for algorithmic composition of music, On the web:
http://hamp. hampshire. edu/ adaF92/algocomp/algocomp 95.
Ames, C. (1992). Quantifying musical merit, Journal of New Music Research 21(1): 53
93.
Ashby, A. (2004). The pleasure of modernist music: listening, meaning, intention, ideology, Univ of Rochester Pr.
Back, T., Homeister, F. & Schwefel, H.-P. (1991). A survey of evolution strategies,
Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 2
9.
Biles, J. (1994). Genjam: A genetic algorithm for generating jazz solos, Proceedings of
the International Computer Music Conference, Citeseer, pp. 131131.
Biles, J. (2001). Autonomous genjam: eliminating the fitness bottleneck by eliminating
fitness, Proceedings of the GECCO-2001 Workshop on Non-routine Design with
Evolutionary Systems, San Francisco.
Biles, J. (2002a). Genjam: evolutionary computation gets a gig, Proceedings of the 2002
Conference for Information Technology Curriculum, Rochester, New York, Society
for Information Technology Education, Citeseer.
Biles, J. (2002b). Genjam in transition: from genetic jammer to generative jammer,
Proceedings of Generative Art, Milan, Italy.
Biles, J. (2007a). Evolutionary Computation for Musical Tasks, Evolutionary Computer
Music pp. 2851.
Biles, J. (2007b). Improvizing with genetic algorithms: Genjam, Evolutionary Computer
Music pp. 137169.
119
120
REFERENCIAS
BIBLIOGRAFICAS
Biles, J., Anderson, P. & Loggi, L. (1996). Neural network fitness functions for a musical iga, Proceedings of the International ICSC Symposium on Intelligent Industrial
Automation (IIA96) and Soft Computing (SOCO96). .
Biles, J. & Eign, W. (1995). Genjam populi: Training an iga via audience-mediated
performance, Proceedings of the 1995 International Computer Music Conference,
Vol. 12.
Brown, A. R. (2002). Opportunities for evolutionary music composition, Proceedings of
the Australasian Computer Music Conference, Melbourne, pp. 2734.
Burton, A. R. & Vladimirova, T. (1997). Genetic algorithm utilizing neural network evaluation for musical composition, Proceedings of the 1997 International Conference
on Artificial Neural Networks and Genetic Algorithms. Springer-Verlag, Berlin. .
Cage, J. (1961). Silence: lectures and writings, Wesleyan Univ Pr.
Chuang, J. (1995). Mozarts musikalisches wurfelspiel, URL: http://sunsite. univie. ac.
at/Mozart/dice .
Corne, D. W. & Bentley, P. J. (eds) (2001). Creative Evolutionary Systems, The Morgan
Kaufmann Series in Artificial Intelligence, Morgan Kaufmann.
Darwin, C. (2003). The origin of species, Signet Classic.
Deb, K., Agrawal, S., Pratap, A. & Meyarivan, T. (2000). A fast elitist non-dominated
sorting genetic algorithm for multi-objective optimization: Nsga-ii, Parallel Problem
Solving from Nature PPSN VI, Springer, pp. 849858.
Eiben, A. E. & Smith, J. E. (2003). Introduction to Evolutionary Computing, Natural
Computing Series, Springer.
Erickson, R. (1975). Sound structure in music, Univ of California Pr.
Federman, F. (2003). The nextpitch learning classifier system: Representation, information theory and performance, Leonardo 36(1): 4750.
Felder, D. & Stockhausen, K. (1977). An interview with karlheinz stockhausen, Perspectives of New Music 16(1): 85101.
Fonseca, C., Knowles, J., Thiele, L. & Zitzler, E. (2005). A tutorial on the performance
assessment of stochastic multiobjective optimizers, Third International Conference
on Evolutionary Multi-Criterion Optimization (EMO 2005), Vol. 216.
REFERENCIAS
BIBLIOGRAFICAS
121
Galanter, P. (2008). Complexism and the role of evolutionary art, The Art of Artificial
Evolution pp. 311332.
Gardner, M. (1978). White and brown music, fractal curves and 1/f fluctuations, Scientific American 238(4): 1632.
Gartland-Jones, A. (2003). Musicblox: a real-time algorithmic composition system incorporating a distributed interactive genetic algorithm, Proceedings of the 2003 international conference on Applications of evolutionary computing, Springer-Verlag,
pp. 490501.
Goldberg, D. E. & Deb, K. (1991). A comparative analysis of selection schemes used in
genetic algorithms, Foundations of Genetic Algorithms, Morgan Kaufmann, pp. 69
93.
Graf, J. & Banzhaf, W. (1995). Interactive evolution of images, in D. B. Fogel (ed.), Proceedings of the Fourth Annual Conference on Evolutionary Programming, pp. 5365.
Grahan-Rowe, D. (2001). Computer dj uses biofeedback to pick tracks, New Scientist .
Greenfield, G. R. (2002). Simulated aesthetics and evolving artworks: a coevolutionary
approach, Leonardo 35(3).
Hiller, L. (1959). Computer music, Scientific American 201(6): 109120.
Hiller, L. (1981). Composing with computers: A progress report, Computer Music
Journal 5(4): 721.
Hiller, L. & Isaacson, L. (1958). Musical composition with a high-speed digital computer,
Machine models of music pp. 921.
Hillis, W. (1990). Co-evolving parasites improve simulated evolution as an optimization
procedure, Physica D: Nonlinear Phenomena 42(1-3): 228234.
Horner, A. & Ayers, L. (1995). Harmonisation of musical progression with genetic
algorithms, ICMC Proceedings 1995, pp. 483484.
Horner, A., Beauchamp, J. & Haken, L. (1993). Methods for multiple wavetable synthesis
of musical instrument tones, Journal-Audio Engineering Society 41: 336336.
Horowitz, D. (1995). Generating rhythms with genetic algorithms, Proceedings of the
national conference on artificial intelligence, John Wiley & Sons LTD, pp. 1459
1459.
122
REFERENCIAS
BIBLIOGRAFICAS
REFERENCIAS
BIBLIOGRAFICAS
123
124
REFERENCIAS
BIBLIOGRAFICAS
Nattiez, J. (1990). Music and discourse: Toward a semiology of music, Princeton Univ
Pr.
Nickol, P. (1999). Learning to Read Music: How to Make Sense of Those Mysterious
Symbols, How to Books Ltd.
Norman, D. (1988). The design of everyday things., Basic Book Inc./New York .
Olson, H. (1967). Music, physics and engineering, Dover Pubns.
Papadopoulos, G. & Wiggins, G. (1999). Ai methods for algorithmic composition: A
survey, a critical view and future prospects, AISB Symposium on Musical Creativity,
Citeseer, pp. 110117.
Phon-Amnuaisuk, S., Tuson, A. & Wiggins, G. (1999). Evolving musical harmonisation, Artificial neural nets and genetic algorithms: proceedings of the international
conference in Portoroz, Slovenia, 1999, Springer Verlag Wien, p. 229.
Pierce, J. (1999). Introduction to pitch perception, Music, cognition, and computerized
sound, MIT Press, p. 70.
Plack, C., Oxenham, A., Fay, R. & Popper, A. (2005). Pitch: neural coding and perception, Springer Verlag.
Polito, J., Daida, J. & Bersano-Begey, T. (1997). Musica ex machina: composing 16thcentury counterpoint with genetic programming and symbiosis, Evolutionary Programming VI, Springer, pp. 113123.
Prerau, M. (2001). On the possibilities of an analytic synthesis system, Proceedings of
the European Conference on Artificial Life 2001 Workshop: Artificial Life Models
for Musical Applications.
Pritchett, J. (1996). The Music of John Cage, Cambridge Univ Pr.
Putnam, J. (1996). A grammar-based genetic programming technique applied to music
generation, Evolutionary Programming V, MIT Press, Cambridge, MA pp. 363368.
Ralley, D. (1995).
101: 61801.
REFERENCIAS
BIBLIOGRAFICAS
125
126
REFERENCIAS
BIBLIOGRAFICAS
Indice Remissivo
Acorde, 14, 28, 3032, 48, 8386, 88, 89, Fitness, 5, 8, 9, 41, 42, 45, 5153, 5658,
9295, 107, 109, 117
61, 63, 66, 67, 71, 7478, 83, 86,
Algoritmo
88, 89, 91, 92, 94, 9698, 102107,
Evolucionario, 45, 46, 57, 58, 63, 66, 76
109, 110, 112, 113, 115, 116, 118
Genetico, 3, 1214, 4143, 45, 46, 49,
Implcito, 63
50, 53, 61, 74, 83, 85, 90, 95, 96,
Mnimo, 58, 74, 76, 103
102, 106, 113, 117
Funcao, 8, 9, 13, 42, 4446, 50, 57, 62,
Altura Tonal, 16, 1821, 26, 27, 32, 33, 46,
7375, 86, 8994, 98, 102, 105107,
56, 57, 69, 8489, 93
109, 110, 112, 115, 116
Amplitude, 18, 19, 21, 23, 25, 39, 69
Avaliacao, 5, 12, 13, 15, 42, 45, 50, 53, 56 Gerador Melodico, 33, 66, 67, 7072, 74,
77, 78, 97, 102, 115, 118
63, 66, 67, 73, 75, 78, 85, 8789, 91,
94, 97, 107, 112, 113, 116118
Harmonia, 69, 11, 14, 16, 27, 28, 30, 41,
42, 47, 54, 71, 83, 85, 8790, 9294,
Compasso, 5, 14, 15, 32, 33, 4648, 50, 56,
96, 107, 109, 110, 112, 113, 116
57, 63, 66, 67, 6973, 75, 7880, 83,
85, 8789, 9295, 97, 99, 101, 102,
105, 106, 109, 117
Composicao Algortmica, 3, 10, 12, 13, 15
18, 36, 39, 41, 42, 45, 46, 57, 60,
64, 65, 76, 115
Computacao Evolutiva, 3, 6, 13, 15, 16, 39,
41, 43, 53, 56, 62, 63, 65, 76
Crowding Distance, 91
Cruzamento, 43, 5355, 57, 63, 71, 79, 87,
101
128
INDICE REMISSIVO