You are on page 1of 99

UNIVERSIDADE DE CAXIAS DO SUL ´ DEPARTAMENTO DE INFORMATICA ˆ CURSO DE BACHARELADO EM CIENCIA DA COMPUTACAO ¸˜

JOEL LUIS CARBONERA

Uma abordagem emergente na composi¸˜o musical estoc´stica ca a

Prof. Jo˜o Luis Tavares da Silva a Orientador

Caxias do Sul, Dezembro de 2006

“Trago dentro do meu cora¸˜o, ca Como num cofre que se n˜o pode fechar de cheio, a Todos os lugares onde estive, Todos os portos a que cheguei, Todas as paisagens que vi atrav´s de janelas ou vigias, e Ou de tombadilhos, sonhando, E tudo isso, que ´ tanto, ´ pouco para o que eu quero.” e e ´ — Alvaro de Campos

AGRADECIMENTOS

Agrade¸o aos meus pais, Jos´ e Maria, pelo seu esfor¸o em garantir a minha c e c educa¸ao, pelo seu apoio, incentivo, dedica¸˜o e compreens˜o durante todos os moc˜ ca a mentos da minha vida. Agrade¸o pela confian¸a em mim depositada, por confiarem c c em meu julgamento e nunca duvidarem de minhas capacidades. Agrade¸o pela huc mildade e pela for¸a de esp´ c ırito demonstradas durante toda a minha vida. Vocˆs e s˜o minha inspira¸ao cotidiana. a c˜ Agrade¸o a minha irm˜, Jocinara, por me compreender. Agrade¸o pelos momenc ` a c tos felizes que pudemos compartilhar at´ hoje e pelos que ainda vir˜o. e a Agrade¸o aos meus primos, Mateus e Michele, por representarem constante fonte c de alegria. Agrade¸o aos amigos do grupo Sinagoga e os poetas da pra¸a zen, pessoas c c incr´ ıveis, dotadas de almas sens´ ıveis, com as quais compartilho sonhos. Agrade¸o c por serem quem s˜o, e por me ensinarem que sonhos s˜o realiz´veis. Agrade¸o a a a c tamb´m pela compreens˜o e pelo apoio em tempos t˜o turbulentos. e a a Agrade¸o aos grandes amigos que encontrei na universidade, Alexandre, Cristian, c Marcos, Tiago e Vin´ ıcius. Agrade¸o a todos os professores que conheci na universidade. Cada qual conc tribuiu para meu engrandecimento dentro da Ciˆnca da Computa¸ao e para minha e c˜ evolu¸˜o como ser humano. Agrade¸o, em especial, aos professores que revelaram-se ca c inestim´veis amigos. a E, finalmente, agrade¸o ao meu orientador, Jo˜o, pela dedica¸ao, compreens˜o, c a c˜ a sabedoria e amizade demonstrados durante a realiza¸˜o deste trabalho. ca Obrigado a todos.

´ SUMARIO

LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 INTRODUCAO ¸˜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 7 10 11 12 13

Motiva¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 ca Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Organiza¸˜o do documento . . . . . . . . . . . . . . . . . . . . . . . 16 ca COMPUTACAO MUSICAL . . . . . . . . . . . . . . . . . . . . . . . . ¸˜ 17

Um breve hist´rico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 o Computa¸˜o musical . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 ca

Conceitos b´sicos sobre o som . . . . . . . . . . . . . . . . . . . . . 20 a ´ 2.3.1 Representa¸ao digital de informa¸˜o sonora - Audio digital . . . . . . 21 c˜ ca 2.3.2 2.4 2.4.1 2.4.2 2.4.3 3 3.1 3.2 3.2.1 Aspectos b´sicos do som no contexto musical . . . . . . . . . . . . . . 23 a Composi¸˜o Algor´ ca ıtmica . . . . . . . . . . . . . . . . . . . . . . . . 29 Classifica¸ao quanto ao objetivo . . . . . . . . . . . . . . . . . . . . . 30 c˜ Classifica¸ao quanto ao tipo de informa¸˜o processada . . . . . . . . . 31 c˜ ca Classifica¸ao quanto ao modelo algor´ c˜ ıtmico utilizado . . . . . . . . . . 32 45

SISTEMAS MULTIAGENTES . . . . . . . . . . . . . . . . . . . . . .

Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Agentes cognitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.2 Agentes reativos 3.3 Comunica¸˜o . . ca 3.4 Coordena¸˜o . . ca 3.5 Emergˆncia . . . e 4

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

52 56 60 61

´ ARQUITETURA MULTIAGENTES PARA S´ ıNTESE MELODICA ES´ TOCASTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Camada de gera¸˜o emergente de matrizes de probabilidades ca de transi¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca 4.1.1 Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Gera¸ao de matrizes de probabilidades de transi¸ao . . . . . . . . . . c˜ c˜ 4.2 Camada de defini¸˜o de modelos probabil´ ca ısticos para gera¸˜o ca de segmentos mel´dicos . . . . . . . . . . . . . . . . . . . . . . . . . o 4.3 Camada de s´ ıntese mel´dica estoc´stica . . . . . . . . . . . . . . . o a 5 EXPERIMENTOS E TESTES . . . . . . . . . . . . . . . . . . . . . . 5.1 Parametriza¸˜o inicial . . . . . . . . . . . . . . . . . . . . . . . . . . ca 5.2 Gera¸˜o emergente de matrizes de probabilidades de transi¸˜o ca ca de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Defini¸˜o de MPGSM´s . . . . . . . . . . . . . . . . . . . . . . . . . ca 5.4 Gera¸˜o mel´dica estoc´stica . . . . . . . . . . . . . . . . . . . . . ca o a ˜ 6 CONCLUSAO . . . . . . . . . . . . . 6.1 S´ ıntese do trabalho . . . . . . . . . 6.2 Resultados e contribui¸oes . . . . c˜ 6.3 Perspectivas e trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65 66 67 68 70 74 76 81 81 82 85 86 88 88 89 91 95

ˆ REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LISTA DE ABREVIATURAS E SIGLAS

DAT IA IAD ITI MIDI MIT

Digital Audio Tape Inteligˆncia Artificial e Inteligˆncia Artificial Distribu´ e ıda Instituto Nacional de Tecnologia e Informatica de Campinas Musical Instrument Digital Interface Massachusetts Institute of Technology

MPGSM Modelo Probabil´ ıstico Gerador de Segmentos Musicais MO MT NICS PE RDP SBC SMA SMP UFRGS Matriz de ocorrˆncias e Matriz de Transi¸˜o ca N´cleo Interdisciplinar de Comunica¸ao Sonora u c˜ Processo Estoc´stico a Resolu¸˜o Distribu´ de Problemas ca ıda Sociedade Brasileira de Computa¸ao c˜ Sistema Multiagentes Stochastic Music Program Universidade Federal do Rio Grande do Sul

LISTA DE FIGURAS

Figura 2.1: Representa¸ao gr´fica, no dom´ temporal, de uma onda senoidal. 21 c˜ a ınio Figura 2.2: Represental¸ao gr´fica do processo de quantiza¸ao. . . . . . . . . 23 c˜ a c˜ Figura 2.3: Representa¸ao gr´fica do cliclo de uma forma de onda senoidal c˜ a espec´ ıfica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Figura 2.4: Representa¸oes gr´ficas, valores (relativos a um tempo hipot´tico c˜ a e R) e nomenclaturas das dura¸oes utilizadas pela nota¸˜o musical c˜ ca ocidental. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Figura 2.5: Amplitude, o ponto mais distante da posi¸ao m´dia da onda. . . . 26 c˜ e Figura 2.6: Forma de onda de um som produzido por uma flauta. . . . . . . . 27 Figura 2.7: Forma de onda de um som produzido por um xilofone. . . . . . . 27 Figura 2.8: Formas de onda que apresentam respectivamente os envelopes de onda de uma tabla (executando trˆs notas), uma trompa (execue tando trˆs notas) e uma flauta (executando uma longa nota). . . . 29 e Figura 2.9: Sistema composicional baseado puramente em informa¸oes abc˜ stratas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Figura 2.10: Sistema composicional baseado puramente em amostras de ´udio a digital (informa¸ao sonora pura, com ou sem contextualiza¸˜o c˜ ca musical). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Figura 2.11: Sistema composicional que utiliza tanto informa¸oes abstratas c˜ quanto informa¸ao sonora. . . . . . . . . . . . . . . . . . . . . . . 33 c˜ Figura 2.12: Primeiras 100 itera¸˜es do processo algor´ co ıtmico proposto por Stanley Gill, no qual as possibilidades musicais s˜o geradas em uma a estrutura de arvore (OLIVEIRA, 2003). . . . . . . . . . . . . . . 35 ´ Figura 2.13: As quatro primeiras itera¸oes do processo de reescrita de s´ c˜ ımbolos de um L-System. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Figura 2.14: Matriz de ocorrˆncias (M O) gerada a partir da amostra em quest˜o. 41 e a Figura 2.15: Matriz de transi¸ao (M T ) resultante. . . . . . . . . . . . . . . . . 42 c˜ Figura 2.16: Diagrama de transi¸ao de estados resultante . . . . . . . . . . . . 42 c˜

Figura 3.1: Diagrama esquem´tico que representa uma agente gen´rico intera e agindo com o ambiente atrav´s de sensores e atuadores . . . . . . 48 e Figura 3.2: Diagrama esquem´tico que representa a arquitetura BDI gen´rica a e (que pode ser vista em (BORDINI; VIEIRA; MOREIRA, 2001)). 51

Figura 3.3: Arquitetura de subsun¸˜o que descreve o comportamento de um ca robˆ hipot´tico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 o e Figura 3.4: Exemplo de um campo potencial de atra¸ao. . . . . . . . . . . . . 56 c˜ Figura 3.5: Exemplo de um campo potencial de repuls˜o. . . . . . . . . . . . 56 a Figura 3.6: Exemplo de um campo potencial tangencial. . . . . . . . . . . . . 57 Figura 3.7: Exemplo de um campo potencial perpendicular. . . . . . . . . . . 57 Figura 3.8: Exemplo de um campo potencial uniforme. . . . . . . . . . . . . . 58 Figura 3.9: Fenˆmeno emergente em um perspectiva multi-n´ organizacional 63 o ıvel Figura 4.1: Diagrama esquem´tico do modelo de gera¸ao de sequˆncias mel´dicas a c˜ e o proposto por este trabalho. . . . . . . . . . . . . . . . . . . . . . 66 Figura 4.2: Estrutura l´gica na qual ´ mapeado o ambiente em que os agentes o e interagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Figura 4.3: Estrutura hier´rquica do agente, baseada na arquitetura de suba sun¸ao (BROOKS, 1986). . . . . . . . . . . . . . . . . . . . . . . 69 c˜ Figura 4.4: Interface gr´fica na qual o usu´rio informa os parˆmetros necess´rios a a a a para o disparo do processo de gera¸˜o de matrizes de probabilica dades de transi¸˜o. . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ca Figura 4.5: Interface gr´fica na qual ´ poss´ definir pontos-alvo, visualizar a e ıvel a estrutura l´gica dos ambientes e visualizar as intera¸˜es entre o co os agentes em cada um dos ambientes. Neste caso, ´ importante e perceber que ambos os ambientes est˜o divididos em 4 matrizes a de ocorrˆncias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 e Figura 4.6: Interface gr´fica com a qual o usu´rio pode definir os MPGSM´s . 75 a a Figura 4.7: Interface gr´fica com a qual o usu´rio pode definir os parˆmetros a a a de entrada do processo de s´ ıntese mel´dica estoc´stica. . . . . . 76 o a Figura 4.8: Exemplo de modelo probabil´ ıstico para gera¸ao de segmentos c˜ mel´dicos (MPGSM) constitu´ pela matriz de probabilidades o ıdo de transi¸ao de alturas, A e pela matriz de probabilidades de c˜ transi¸ao de dura¸˜es, B. . . . . . . . . . . . . . . . . . . . . . . 77 c˜ co Figura 4.9: Probabilidades de transi¸˜o de alturas a partir da altura C. . . . 78 ca Figura 4.10: Divis˜o do intervalo [0, 99] em subintervalos proporcionais `s proba a abilidades de transi¸˜o encontrada no passo anterior. . . . . . . . 78 ca Figura 4.11: Probabilidades de transi¸˜o de alturas a partir da dura¸ao Semica c˜ breve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Figura 4.12: Divis˜o do intervalo [0, 99] em subinervalos proporcionais `s proba a abilidades de transi¸˜o encontrada no passo anterior. . . . . . . . 79 ca Figura 5.1: Parametros que definem a estrutura dos ambientes multiagentes e as intera¸˜es nos mesmos. . . . . . . . . . . . . . . . . . . . . . co Figura 5.2: Aspecto geral dos ambientes definidos a partir dos parˆmetros a definidos para o cen´rio de teste. Pode-se ver a distribui¸ao de a c˜ pontos-alvo tamb´m. . . . . . . . . . . . . . . . . . . . . . . . . . e Figura 5.3: Aspecto geral dos ambientes definidos a partir dos parˆmetros a definidos para o cen´rio de teste e as intera¸˜es que neles ocorrem a co Figura 5.4: Visualiza¸ao da distribui¸˜o global de ocorrˆncias. Pode-se ver os c˜ ca e pontos mais visitados (em cores claras) e os menos visitados (em cores escuras) pelos agentes em uma perspectiva global. . . . . . . Figura 5.5: Visualiza¸ao da distribui¸˜o de probabilidades em cada matriz de c˜ ca probabilidades de transi¸ao de estados (cada qual gerada a partir c˜ de uma matriz de ocorrˆncias). . . . . . . . . . . . . . . . . . . . e Figura 5.6: Visualiza¸ao da distribui¸˜o de ocorrˆncias em cada matriz, em c˜ ca e particular. Pode-se ver os pontos mais visitados (em cores claras) e os menos visitados (em cores escuras) pelos agentes em cada matriz de ocorrˆncias. . . . . . . . . . . . . . . . . . . . . . . . . e Figura 5.7: Visualiza¸ao de uma distribui¸ao homogˆnea de probabilidades c˜ c˜ e de transi¸ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c˜ Figura 5.8: Visualiza¸ao de uma distribui¸˜o heterogˆnea de probabilidades c˜ ca e de transi¸ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c˜ Figura 5.9: Melodia final em uma visualiza¸˜o “piano roll”. . . . . . . . . . ca Figura 5.10: Melodia final em uma visualiza¸˜o “piano roll”, na qual pode-se ca identificar regi˜es mel´dicas com caracter´ o o ısticas particulares. . .

82

83 84

84

85

86 86 87 87 87

Figura 6.1: Exemplo: objeto gr´fico que representaria um MPGSM e , abaixo, a a justaposi¸ao desses objetos gr´ficos (3 distintos) que define (“dec˜ a senha”) a forma global da melodia final. . . . . . . . . . . . . . . 94

LISTA DE TABELAS

RESUMO

Este trabalho apresenta um modelo algor´ ıtmico de composi¸ao musical, baseado c˜ em um m´todo estoc´stico de composi¸ao e em uma abordagem emergente para e a c˜ gera¸ao de matrizes de probabilidades de transi¸ao de estados (utilizadas no m´todo c˜ c˜ e estoc´stico). O modelo aqui proposto foi concebido e implementado em uma estrua tura dividida em camadas composta por: camada de gera¸˜o emergente de matrizes ca de probabilidades de transi¸˜o de estados, camada de defini¸ao de modelos probaca c˜ bil´ ısticos para gera¸ao de segmentos musicais e camada de s´ c˜ ıntese musical. Para conceber e implementar o modelo aqui proposto foram realizados estudos na area da computa¸˜o musical, com ˆnfase em composi¸ao algor´ ´ ca e c˜ ıtmica. Tamb´m e foram estudados os conceitos relacionados aos SMA e a processos estoc´sticos, com a ˆnfase nas cadeias de Markov. e Em rela¸ao `s principais contribui¸˜es deste trabalho, podemos citar: a conc˜ a co cep¸ao de uma abordagem emergente para gera¸˜o de matrizes de probabilidades de c˜ ca transi¸ao de estados (baseada em ambientes multiagentes reativos), a introdu¸ao do c˜ c˜ conceito de modelo probabil´ ıstico para gera¸˜o de segmentos mel´dicos (o qual conca o torna o problema da monotonia musical em m´todos composicionais estoc´sticos), e a a cria¸ao de um ambiente capaz de instigar a criatividade do compositor, etc. c˜

Palavras-chave: Sistemas Multiagentes, M´sica Estoc´stica, Cadeia de Markov, u a M´sica Computacional, Composi¸ao Algor´ u c˜ ıtmica, Emergˆncia, Computa¸˜o Musie ca cal.

An emergent approach in the stochastic musical composition

RESUMO

This work presents an algorithmic model of musical composition, based in a stochastic method of composition and an emergent approach for generation of state transition probability matrices (used in the stochastic method). The model considered here was conceived and implemented in a structure splitted in layers composed to: layer of emergent generation of state transition probability matrices, layer of definition of probabilist models for generation of musical segments and layer of musical synthesis. To conceive and implement the model considered here studies in the area of the musical computation had been carried through, with emphasis in algorithmic composition. Also the concepts related to the SMA and the stochastic processes had been studied, with emphasis in the Markov chains. In relation to the main contributions of this work, we can cite: the conception of an emergent approach for generation of state transition probability matrices (based in multiagents reactive environments), the introduction of the concept of probabilist model for generation of melodic segments (which skirtes the problem of the musical monotony in stochastic composition methods), the creation of an environment capable to instigate the creativity of the composer, etc.

Palavras-chave: Multiagent systems, Stochastic Music, Markov Chains, Computacional Music, Algorithmic Composition, Emergence, Musical Computation.

13

1

INTRODUCAO ¸˜

M´sica Computacional ou Computa¸˜o Musical ´ uma area interdisciplinar do u ca e ´ conhecimento que surge da intersec¸ao entre a M´sica e a Ciˆncia da computa¸ao e c˜ u e c˜ cujo interesse ´ a modelagem computacional de problemas inerentes ao dom´ mue ınio sical. Segundo (MILETTO et al., 2004), a “Computa¸ao Musical investiga m´todos, c˜ e t´cnicas e algoritmos para processamento e gera¸˜o de som e m´sica, representa¸oes e ca u c˜ digitais e armazenamento de informa¸˜o sˆnica e musical”. A s´ ca o ıntese (ou composi¸ao) musical refere-se a produ¸ao de sons gerados artificialmente, atrav´s da mac˜ ` c˜ e nipula¸ao direta de ondas (sintetizadores) ou manipula¸ao matem´tica (simula¸˜o c˜ c˜ a ca digital) ou ainda manipula¸˜o de repesenta¸˜e de aspectos musicais. Pesquisas ca co recentes abordam o uso de sistemas inteligentes com capacidades de manipular e evoluir suas pr´prias regras para composi¸ao musical e habilidade de intera¸ao o c˜ c˜ com m´sicos e outros instrumentos de maneiras cada vez mais sofisticadas. Nou vas maneiras de gera¸˜o de conte´do musical est˜o surgindo, requerendo modos de ca u a acesso e intera¸˜o que apontam para t´cnicas inteligentes, como o uso de Comca e puta¸ao Evolutiva (MORONI et al., 2000), Neurociˆncia da m´sica (MIRANDA c˜ e u et al., 2005) e t´cnicas emergentes (BURRASTON; EDMONDS, 2005). e Sistemas atuais de composi¸ao musical podem usar v´rias abordagens computac˜ a cionais: algoritmos abstratos, sistemas baseados em conhecimento, abordagens evolutivas, entre outros. Algoritmos abstratos usam algoritmos usuais que n˜o s˜o a a tradicionalmente voltados ao conte´do musical, tais como algor´ u ıtmos geradores de estuturas fractais (CRUZ, 2001), autˆmatos celulares (BURRASTON; EDMONDS, o 2005), m´todos estoc´sticos (XENAKIS, 1992), etc. Sistemas baseados em cone a hecimento s˜o constru´ a ıdos para gerar m´sica, baseados na teoria musical, freq¨enteu u mente por meio de regras de aprendizagem. Estes dois tipos de sistema pressup˜em a o existˆncia de regras ou amostras musicais a priori, ou seja, programadas ou aprendie das manualmente a partir de um usu´rio externo. Abordagens evolutivas procuram a fazer com que o sistema de composi¸ao possa evoluir e construir suas pr´prias regras c˜ o de composi¸˜o musical. No que diz respeito ` utiliza¸ao de t´cnicas de computa¸˜o ca a c˜ e ca evolutiva, destaca-se o software Vox Populi (MORONI et al., 2000), desenvolvido

14

pelo NICS (N´cleo interdisciplinar de comunica¸ao sonora da Unicamp) em parceu c˜ ria com o ITI (Instituto nacional de tecnologia e inform´tica de Campinas). O a funcionamento do Vox Populi compreende, basicamente, um processo iterativo no qual algoritmos gen´ticos s˜o aplicados sobre popula¸oes de acordes, considerandoe a c˜ se parˆmetros musicais ajust´veis, a fim de gerar novas popula¸˜es de acordes. O a a co resultado deste processo ´ m´sica gerada em tempo real que evolui ao longo do e u tempo. Outras ´reas de pesquisa em M´sica Computacional tˆm seu foco na reprea u e senta¸ao da experiˆncia musical, por meio da an´lise computacional de sinais fic˜ e a siol´gicos (MIRANDA et al., 2005); sistemas de aprendizagem musical, que estudam o metodologias de ensino da m´sica utilizando softwares e instrumentos como apoio u (FERNEDA et al., 2004); concep¸ao de sistemas de m´sica interativa (IAZZETTA, c˜ u 1998) e improvisa¸ao musical (BRYAN-KINNS, 2004), etc. Neste trabalho, nosso c˜ foco ´ a area de S´ e ´ ıntese/Composi¸ao Musical algor´ c˜ ıtmica.

1.1

Motiva¸˜o ca

Observando-se o constante avan¸o da tecnologia em hardware e software voltados c para o processamento de som e composi¸ao musical, e a tendˆncia de renomados c˜ e compositores aderirem sistematicamente a utiliza¸ao de ferramentas computacionais ` c˜ para composi¸˜o musical, pode-se perceber que a area tem ganhado ˆnfase e que ca ´ e muitas s˜o as pesquisas realizadas nesta linha. Todavia, os sistemas de s´ a ıntese musical produzidos pelas iniciativas tradicionais s˜o, geralmente, dependentes do a usu´rio. Ou seja, as constru¸oes musicais n˜o s˜o completamente autom´ticas. a c˜ a a a Amostras iniciais s˜o fornecidas manualmente pelo usu´rio e o sistema de s´ a a ıntese musical limita-se ao processamento de amostras ou dados, em geral, est´ticos e a pr´-definidos. e No que diz respeito ao processo geral de s´ ıntese musical autom´tica ou M´sica a u Gerativa, (WOOLLER et al., 2005) aborda quatro perspectivas b´sicas: a Ling¨´ uıstica/Estrutural: a composi¸˜o musical ´ realizada a partir de teorias ca e anal´ ıticas de gera¸˜o estrutural. S˜o constru´ ca a ıdas gram´ticas gerativas para a m´sica utilizando uma estrutura arb´rea recursiva. u o Interativa/Comportamental: a m´sica ´ gerada por componentes que n˜o posu e a suem entradas ou seja, sistemas “n˜o transformacionais”(ROWE, 1991). a Criativa/Procedural: a composi¸˜o musical ´ gerada por processos definidos ca e pelo compositor. Exemplos que ilustram esta categoria de composi¸˜o s˜o Its ca a gonna rain de Steve Reich e In C de Terry Riley.

15

Biol´gica/Emergente: m´sica n˜o-determin´ o u a ıstica inspirada por algoritmos e modelos da Computa¸ao Evolutiva como algoritmos gen´ticos, autˆmatos celulares, c˜ e o etc. Nesta abordagem, em geral, uma popula¸˜o inicial de indiv´ ca ıduos simples (modelados como componentes musicais), evoluem, gerando uma composi¸˜o ca complexa. Os sistemas de s´ ıntese musical, geralmente, limitam-se a utiliza¸˜o de apenas ` ca uma das abordagens supracitadas, o que evidencia a carˆncia de uma arquitetura de e s´ ıntese musical que motive experimentos usando v´rias estrat´gias ou configura¸˜es. a e co Em trabalhos que exploram abordagens evolutivas ou baseadas em conhecimento, pouco tem se considerado sobre a utiliza¸ao de abordagens distribu´ c˜ ıdas ou colaborativas. Poucos trabalhos usam a abordagem social de sistemas multiagentes (SMA) para modelar aspectos de colabora¸ao e s´ c˜ ıntese distribu´ usando recursos como ıda auto-organiza¸ao, emergˆncia ou mesmo a met´fora social envolvida nas intera¸oes c˜ e a c˜ entre agentes. Trabalhos que apontam nesta dire¸ao s˜o encontrados em (AEKEN; c˜ a ALVARES, 2000), (TRAJANO; GUIGUE; FERNEDA, 2000), entre outros. A motiva¸ao para este trabalho parte da constata¸˜o da inexistˆncia de sisc˜ ca e temas de s´ ıntese musical autom´ticos e que agreguem estrat´gias variadas de s´ a e ıntese em uma mesma arquitetura. Nas arquiteturas comumente propostas, a produ¸ao c˜ musical pode perder em qualidade pela influˆncia da amostra de entrada. Uma e abordagem autom´tica, cujas decis˜es composicionais sejam delegadas ao modelo a o algor´ ıtmico, poderia enriquecer ou tornar os resultados mais dinˆmicos, no sena tido de explorar estruturas musicais n˜o pensadas inicialmente pelo compositor. a O uso de sistemas multiagentes, atrav´s de agentes autˆnomos e colaborativos, e o seja atrav´s de uma abordagem cognitiva ou puramente reativa e emergente, pode e fornecer parˆmetros iniciais de forma completamente autom´tica. O uso de SMA a a pode ainda prover o sistema com a capacidade de gerar mat´ria-prima informae cional em quantidade suficiente para alimentar a base estoc´stica de s´ a ıntese musical utilizada neste trabalho. Dada a complexidade da s´ ıntese musical, este trabalho ser´ focado na estrutura a mel´dica, sem levar em conta estruturas musicais mais complexas, como a estrutura o harmˆnica. Estudos futuros poder˜o agregar ` arquitetura, conhecimentos sobre o a a estruturas harmˆnicas e outros aspectos complexos da m´sica, como contraponto, o u escalas, etc...

1.2

Objetivos

O objetivo deste trabalho ´ a realiza¸˜o de um estudo na area da computa¸ao e ca ´ c˜ musical e, com os conhecimentos adquiridos, propor uma abordagem emergente para composi¸ao musical estoc´stica. O modelo proposto neste trabalho almeja a c˜ a

16

composi¸ao de linhas mel´dicas atrav´s de um processo de s´ c˜ o e ıntese estoc´stica, o qual, a por sua vez, ´ abastecido com informa¸oes geradas de forma emergente atrav´s da e c˜ e intera¸˜o de agentes em ambientes multiagentes. Dois pontos b´sicos s˜o de interesse ca a a deste estudo: • Defini¸ao de um m´todo de Composi¸˜o estoc´stica. c˜ e ca a • Constru¸ao de ambientes multiagentes para a gera¸ao emergente das informa¸˜es c˜ c˜ co que abastecer˜o o processo de s´ a ıntese estoc´stica; a

1.3

Metodologia

A realiza¸˜o deste trabalho ter´ como primeira etapa o levantamento de material ca a bibliogr´fico e sua posterior leitura e s´ a ıntese. Em seguida, ser´ definido um modelo a estoc´stico para gera¸ao musical. A partir da an´lise das entradas do modelo esa c˜ a toc´stico, ser´ concebido um modelo emergente de gera¸ao de tais entradas, baseado a a c˜ em sistemas multiagentes. A modelagem dos agentes, os modelos de intera¸oes e de c˜ ambiente e a estrutura do m´todo estoc´stico utilizado ser˜o baseados nos modelos e a a estudados no levantamento bibliogr´fico. a

1.4

Organiza¸˜o do documento ca

Este trabalho est´ estrutura conforme ´ demonstrado a seguir. a e No cap´ ıtulo 2 explana-se sobre a Computa¸ao Musical. Neste cap´ c˜ ıtulo ´ reale izado um breve hist´rico do desenvolvimento das tecnologias musicais e aborda-se a o composi¸ao algor´ c˜ ıtmica. No cap´ ıtulo 3 aborda-se os sistemas multiagentes (SMA), detalhando os seus componentes, formas de comunica¸ao, intera¸ao e coordena¸ao. Neste cap´ c˜ c˜ c˜ ıtulo tamb´m ´ introduzido o conceito de emergˆncia. e e e No cap´ ıtulo 4 ´ apresentado o modelo proposto neste trabalho, discutindo seus e elementos constituintes e as t´cnicas envolvidas na gera¸ao das seq¨ˆncias mel´dicas. e c˜ ue o No cap´ ıtulo 5 ´ demonstrado um cen´rio de teste da implementa¸˜o do modelo. O e a ca cen´rio de teste demonstrado ´ estruturado em um passo-a-passo no qual ´ disctutida a e e cada uma das etapas envolvidas no modelo de s´ ıntese aqui proposto. Por fim, o cap´ ıtulo 6 apresenta os resultados e a conclus˜o do estudo realizado a neste trabalho, bem como as sugest˜es de trabalhos futuros. o

17

2

COMPUTACAO MUSICAL ¸˜

2.1

Um breve hist´rico o

Realizando uma retrospectiva hist´rica, ´ poss´ perceber que as descobertas o e ıvel cient´ ıficas sempre foram bastante instigadoras para o desenvolvimento da m´sica u em praticamente todos os seus aspectos. Tais descobertas cient´ ıficas, al´m de opore tunizarem o desenvolvimento tecnol´gico dos instrumentos musicais, foram o fator o determinante para o surgimento de novas t´cnicas e abordagens para produ¸˜o mue ca sical, o que, por sua vez, possibilitou o desenvolvimento de novas est´ticas musicais e (UEDA, 2004). Durante o final do s´culo XIX e meados do s´culo XX, inova¸oes atreladas a e e c˜ ` descobertas cient´ ıficas da ´poca revolucionaram a m´sica. Dentre tais inova¸˜es, e u co trˆs foram fundamentalmente significativas. e A primeira delas foi a inven¸˜o do telefone, por Alexander Graham Bell, em ca 1876. O telefone de Graham Bell surge demonstrando a possibilidade da convers˜o a do som em sinais el´tricos e vice-versa. Considerado o marco inicial do desenvolvie mento das tecnologias eletrˆnicas musicais (MILETTO et al., 2004), o telefone abriu o caminhos para uma s´rie de inova¸˜es posteriores relacionadas ao armazenamento, e co a reprodu¸ao e a manipula¸ao de informa¸˜o sonora. Dentre estas inova¸˜es pode` c˜ ` c˜ ca co mos citar o Fon´grafo, um dispositivo inventado por Thomas Edison em 1877, cujo o objetivo era o armazenamento de informa¸ao sonora em camadas de metal (GOHN, c˜ 2001). A segunda inova¸ao significativa foi a cria¸˜o do Telharmonium (ou Dynamoc˜ ca phone) por Thaddeus Cahill, em 1897. Considerado o primeiro instrumento musical eletrˆnico significativo (MILETTO et al., 2004), o Telharmonium consistia, esseno cialmente, em 145 d´ ınamos, rotores e bobinas especiais, que, acionados por um teclado, produziam diferentes freq¨ˆncias de audio que podiam ser combinadas para ue ´ a composi¸ao de uma gama variada de timbres. Para a gera¸ao de material sonoro, c˜ c˜ o Telharmonium utilizava uma t´cnica conhecida como s´ e ıntese aditiva (RATTON, 2001). Esta t´cnica, posteriormente, foi utilizada em muitos dispositivos de s´ e ıntese

18

sonora , como os famosos org˜os Hammond, fabricados nos EUA entre 1935 e 1974. ´ a A inven¸˜o de Cahill oportunizou o avan¸o das pesquisas na ´rea da s´ ca c a ıntese sonora, possibilitando o desenvolvimento de uma s´rie de instrumentos eletrˆnicos, entre os e o quais pode-se destacar os modernos sintetizadores sonoros. A terceira grande inova¸ao foi a utiliza¸˜o efetiva da tecnologia computacional c˜ ca dentro do contexto musical, a partir de meados do s´culo XX. Segundo (MOORE, e 1996), as primeiras utiliza¸oes significativas de t´cnicas computacionais para a produ¸ao c˜ e c˜ de m´sica se deu nos Bell Laboratories por volta da d´cada de 50. Em 1956, Lejaren u e Hiller na University of Illinois, daria o pr´ximo passo com a implementa¸ao de um o c˜ software que gerava partituras musicais atrav´s de regras mapeadas em algoritmos. e Em 1957, Max Mathews e John Pierce implementam o Music I, primeiro software de s´ ıntese digital de som (FARIA, 1997). O software apresentava uma unica voz, ´ gerada atrav´s de uma forma de onda triangular e s´ controlava a altura, intensie o dade e dura¸ao do som. Nos anos seguintes, a partir do Music I foi criada uma s´rie c˜ e de softwares com o mesmo prop´sito, entre eles os emblem´ticos Music II, Music o a III, Music IV e Music V. Tais softwares introduziram conceitos fundamentais para o desenvolvimento dos sistemas eletrˆnicos de s´ o ıntese sonora e tornaram-se paradigmas amplamente utilizados at´ hoje no projeto de sintetizadores e programas para e s´ ıntese e sequenciamento de eventos musicais (FARIA, 1997). Durante a d´cada de e 60, paralelamente ao desenvolvimento das t´cnicas de s´ e ıntese digital de som, John Chowning articula a primeira instala¸ao universit´ria de m´sica computacional na c˜ a u Stanford University. Em 1970, Max Mathews cria o GROOVE, primeiro sistema computacional para performances em tempo real (MOORE, 1996). Na d´cada de e 80, sintetizadores digitais j´ equipavam os computadores. Neste contexto prol´ a ıfico, a ind´stria de instrumentos musicais n˜o tardou em adaptar-se as inova¸˜es, o que u a ` co resultou na cria¸ao do protocolo MIDI em 1983 (LEITE, 2000). Atualmente, o proc˜ tocolo MIDI ´ amplamente utilizado como padr˜o de comunica¸ao entre dispositivos e a c˜ musicais eletrˆnicos em geral. Estas inova¸oes tecnol´gicas foram rapidamente aso c˜ o similadas por uma s´rie de compositores e deram origem ou foram fundamentais e para o desenvolvimento de v´rias correntes est´ticas musicais. a e Nos anos 30, utilizando os recursos de grava¸ao e reprodu¸˜o sonora, composc˜ ca itores adotam uma s´rie de novas abordagens na pr´tica composicional que, entre e a outros procedimentos, incluia-se a grava¸ao de sons concretos para a posterior mac˜ nipula¸ao eletrˆnica dos mesmos. O conjunto de tais pr´ticas e a est´tica musical que c˜ o a e resulta da utiliza¸ao das mesmas, definiram a corrente musical batizada de m´sica c˜ u concreta, pelo m´sico e pesquisador francˆs Pierre Schaeffer, no fim da d´cada de u e e 40 (MOTTA, 1992). Em 1952, na cidade de K¨ln, na Alemanha, nascia a m´sica eletrˆnica. Tendo o u o como principal representante o compositor Karlheinz Stockhausen, esta corrente

19

musical utilizou-se dos avan¸os tecnol´gicos na area da s´ c o ´ ıntese sonora para construir composi¸oes musicais inteiramente eletrˆnicas. Ou seja, contrapondo-se ` m´sica c˜ o a u concreta, esta nova abordagem composicional n˜o preocupava-se em transformar a sons naturais, mas em criar m´sica, sintetizando o som a partir de frequˆncias u e puras. Tamb´m na d´cada de 50, unindo sonoridades concretas e sons eletronicae e mente sintetizados, surge a m´sica eletroac´stica, tendo Stockhausen como pioneiro u u (MOTTA, 1992). Na d´cada de 70, as tecnologias musicais, que at´ ent˜o estavam confinadas em e e a laborat´rios cient´ o ıficos de ponta, tornam-se populares e passam a ser amplamente utilizadas por uma s´rie de compositores e grupos musicais das mais diferentes core rentes est´ticas (MILETTO et al., 2004). Entre os expoentes da populariza¸ao das e c˜ tecnologias musicais eletrˆnicas podemos citar os grupos Emerson, Lake & Palmer, o Yes, Genesis e Pink Floyd, representando o rock progressivo e Kraftwerk, JeanMichel Jarre e Vangelis, representando a m´sica popular eletrˆnica (MILETTO u o et al., 2004). Nas ultimas d´cadas, as tecnologias musicais resultantes das inova¸˜es e pesquisas ´ e co supracitadas foram amplamente difundidas, sendo encontradas em praticamente todas as correntes est´ticas da m´sica contemporˆnea. Este panorama instigador e u a acabou por consolidar uma s´rie de areas de investiga¸˜o cient´ e ´ ca ıfica, entre as quais, a ´rea da computa¸ao musical, contexto no qual encontra-se o presente trabalho. a c˜ Atualmente a area da computa¸ao musical est´ consolidada e reconhecida pela ´ c˜ a comunidade acadˆmica como uma ´rea leg´ e a ıtima da investiga¸˜o cient´ ca ıfica, recebendo aten¸ao de in´meros institutos de pesquisa e universidades ao redor do mundo. Em c˜ u n´ nacional, a SBC possui uma comiss˜o de computa¸ao musical que organiza o ıvel a c˜ Simp´sio Brasileiro de Computa¸˜o Musical (SBCM) periodicamente (MILETTO o ca et al., 2004). Al´m do apoio da SBC, no Brasil j´ existem universidades que dee a senvolvem uma s´rie de projetos voltados para a ´rea. Entre tais universidades e a podemos citar a UNICAMP com o N´cleo Interdisciplinar de Comunica¸ao Sonora u c˜ (NICS) e a UFRGS com o Laborat´rio de Computa¸ao & M´sica. o c˜ u

2.2

Computa¸˜o musical ca

A computa¸˜o musical ´ uma area inerentemente multidisciplinar que envolve ca e ´ todas as ´reas do conhecimento relacionadas a Ciˆncia da Computa¸˜o e a M´sica. a ` e ca ` u Voltada ` aplica¸ao dos computadores a problemas musicais, a computa¸ao musical a c˜ ` c˜ preocupa-se com assuntos que v˜o desde a modelagem computacional de aspectos a musicais at´ o estudo de concep¸˜es est´ticas da express˜o art´ e co e a ıstica musical, passando pelo estudo de t´cnicas de gera¸ao, processamento e armazenamento de som, e c˜ etc. Por ser t˜o ampla, a Computa¸ao musical torna-se uma area de investiga¸˜o a c˜ ´ ca

20

acadˆmica bastante instigadora, o que tem resultado em uma s´rie de linhas de e e pesquisa que vˆm se desenvolvendo na ´rea. Exemplos de estudos e pesquisas na e a area s˜o: representa¸˜o da experiˆncia musical, por meio da an´lise computacional ´ a ca e a de sinais fisiol´gicos (MIRANDA et al., 2005); pesquisas em sistemas de aprendizao gem musical, que estudam metodologias de ensino da m´sica utilizando softwares e u instrumentos como apoio (FERNEDA et al., 2004); concep¸˜o de sistemas de m´sica ca u interativa (IAZZETTA, 1998) e improvisa¸ao musical (BRYAN-KINNS, 2004), etc. c˜ Basta analisar os anais do simp´sio brasileiro em Computa¸ao Musical (TORRES, o c˜ 2007) para ter id´ia da imensa variedade de linhas de pesquisa que est˜o sendo e a desenvolvidas atualmente na area da Computa¸ao Musical no Brasil e no mundo. ´ c˜ Entre tais linhas de pesquisa, podemos citar: composi¸ao algor´ c˜ ıtmica (composi¸ao c˜ autom´tica e composi¸˜o assistida por computador), s´ a ca ıntese sonora, t´cnicas de ese pacializa¸ao sonora, an´lise musical (com t´cnicas de segmenta¸ao musical), cria¸˜o c˜ a e c˜ ca de instrumentos virtuais,etc. Dentre as linhas de pesquisa citadas, destacamos a composi¸ao algor´ c˜ ıtmica, visto que ela compreende o escopo no qual o presente trabalho ser´ desenvolvido. a Como o presente trabalho objetiva propor um modelo computacional para composi¸ao musical algor´ c˜ ıtmica, torna-se importante evidenciar os principais conceitos relacionados a representa¸ao de informa¸ao sonora e musical, bem como os conceitos ` c˜ c˜ pertinentes ` pr´pria sub-´rea da composi¸˜o algor´ a o a ca ıtmica.

2.3

Conceitos b´sicos sobre o som a

Convivemos cotidianamente com uma s´rie de sons que s˜o produzidos pelas e a mais diversas fontes sonoras: autom´veis passando nas ruas, pessoas conversando, o m´sica sendo executada, etc. O fenˆmeno sonoro ´ t˜o comum no cotidiano que n˜o u o e a a nos damos conta da complexidade envolvida no mesmo. Em (MILETTO et al., 2004), ilustram-se os processos envolvidos no fenˆmeno o sonoro (desde a gera¸ao do som at´ sua percep¸˜o pelo sistema nervoso humano) c˜ e ca tomando como exemplo o som de uma campainha. Quando bate-se com um martelo (aplicando energia cin´tica) em uma campainha de metal hipot´tica, ocorre uma dee e forma¸ao desta. A campainha resiste a deforma¸ao, devolvendo a energia cin´tica, c˜ ` c˜ e buscando voltar ao seu estado original. Neste momento inicia-se uma repeti¸ao c˜ peri´dica de deforma¸oes e restaura¸˜es da campainha. A esta repeti¸˜o chamamos o c˜ co ca de vibra¸˜o. Estas vibra¸oes ent˜o produzem mudan¸as de press˜o do ar em volta ca c˜ a c a da campainha. Essas mudan¸as resultam em se¸oes de ar que s˜o mais densas (conc c˜ a densa¸oes) e outras que s˜o rarefeitas (rarefa¸oes), ocorrendo sucessivamente uma c˜ a c˜ depois da outra e expandindo-se (processo an´logo ` forma¸ao de ondas circulares a a c˜ na superf´ de um lago, ap´s arremessarmos uma pedra neste). Estas ondas de ıcie o

21

condensa¸oes e rarefa¸˜es s˜o propagadas para dentro do ouvido humano e fazem c˜ co a o t´ ımpano vibrar. As vibra¸oes s˜o captadas por termina¸oes nervosas e decodic˜ a c˜ ficadas, de forma que n´s as escutamos como sons. Pode-se compreender o som o como uma vibra¸ao que percorre o meio (ar, ´gua,...) e que pode ser percebida c˜ a pelo sistema auditivo humano. Se esta vibra¸ao oscila de acordo com um padr˜o c˜ a repetitivo, dizemos que o som tem uma forma de onda peri´dica. Se n˜o h´ um o a a padr˜o percept´ no som, este ´ chamado de ru´ (MILETTO et al., 2004). a ıvel e ıdo As varia¸oes da press˜o do ar (vibra¸˜o) podem ser representadas atrav´s de c˜ a ca e formas de onda (MILETTO et al., 2004). A representa¸ao gr´fica (Figura 2.1) de c˜ a um som mostra as mudan¸as na press˜o do ar conforme a passagem do tempo. c a

Figura 2.1: Representa¸ao gr´fica, no dom´ c˜ a ınio temporal, de uma onda senoidal. A informa¸ao fundamental com a qual a computa¸˜o musical preocupa-se ´ o c˜ ca e som. E, dentro deste contexto, o som pode ser processado como uma representa¸ao c˜ digital do som anal´gico (´udio digital) ou como uma representa¸ao de aspectos o a c˜ definidos dentro de um contexto musical. 2.3.1 ´ Representa¸˜o digital de informa¸˜o sonora - Audio digital ca ca

Para ilustrar a representa¸ao computacional de informa¸ao sonora, tomaremos c˜ c˜ como exemplo o processo de grava¸ao de um som ambiente em um dispositivo de c˜ armazenamento anal´gico (fita magn´tica) e, posteriormente, em um dispositivo de o e armazenamento digital (DAT - digital audio tape). A primeira etapa do processo de grava¸ao de um som ambiente ´ a capta¸˜o do c˜ e ca mesmo atrav´s de algum dispositivo de capta¸˜o espec´ e ca ıfico, como o microfone. Ao instalar o microfone em um determinado ambiente, o som (naturalmente anal´gico) o propagado atrav´s do mesmo (atrav´s da varia¸ao de press˜o do ar), faz com que e e c˜ a uma fina membrana do microfone vibre em fun¸ao da vibra¸ao do ar. Esta vibra¸˜o c˜ c˜ ca da membrana gera tens˜es proporcionais (sinais el´tricos anal´gicos). Estes sinais o e o el´tricos, por sua vez, podem ser armazenados de forma anal´gica ou digital. Para e o armazenar o sinal el´trico num dispositivo anal´gico, como uma fita magn´tica, e o e por exemplo, as tens˜es deste sinal s˜o utilizadas para alinhar magneticamente as o a

22

part´ ıculas de metal existentes na superf´ da fita. Este processo apresenta alguns ıcie inconvenientes, alguns deles inerentes ao pr´prio meio usado para o armazenamento o da informa¸ao. Por exemplo, quando o sinal el´trico que representa a onda sonora c˜ e ´ convertido em informa¸˜o magn´tica ocorre uma perda de fidelidade com a dise ca e tor¸ao do sinal original e a elimina¸˜o de alguns componentes harmˆnicos de alta c˜ ca o freq¨ˆncia. Al´m disso, existe ainda a adi¸ao de ru´ gerado pela pr´pria fita. J´, ue e c˜ ıdo o a para armazenar o sinal el´trico de forma digital, ocorre o processo de digitaliza¸ao e c˜ do sinal, atrav´s de um circuito conversor anal´gico-digital e uma t´cnica chamada e o e sampling (amostragem) (MILETTO et al., 2004). 2.3.1.1 Amostragem digital

Chama-se de sampling a t´cnica que consiste em realizar um determinado n´mero e u de tomadas de amostra de uma forma de onda espec´ ıfica em um per´ ıodo de tempo determinado (MILETTO et al., 2004). Este processo ´ realizado pela determina¸ao e c˜ de N pontos de amplitude da onda e a representa¸ao destes pontos por valores c˜ que sejam proporcionais `s amplitudes (MILETTO et al., 2004). Para compreena der melhor como ocorre a representa¸ao do som anal´gico (informa¸ao cont´ c˜ o c˜ ınua) em informa¸ao digital (informa¸ao discreta), ´ importante que sejam definidos trˆs c˜ c˜ e e conceitos importantes: taxa de amostragem (samplerate), resolu¸ao da amostra (bic˜ trate) e quantiza¸˜o. ca Taxa de amostragem: Representa o n´mero de tomadas de amostras da forma u de onda de um determinado som em um segundo (LAVRY, 2004);(BARBOSA, 1999). A taxa de amostragem ´ medida em Hertz (ciclos de amostragem por e segundo) e quanto maior for este n´mero, maior ser´ o detalhamento e a u a fidelidade do som digitalizado. Uma analogia bastante ilustrativa para compreender a importˆncia da amostragem a ´ relacion´-la ` capta¸˜o de um determinado movimento em v´ e a a ca ıdeo. Quanto maior o n´mero de quadros captados pela cˆmera, com maior fluidez (sem u a “quebras”) e mais fiel ser´ a representa¸ao do movimento no v´ a c˜ ıdeo. Com a capta¸ao sonora ocorre o mesmo. c˜ De acordo com o teorema de amostragem de Nyquist (LAVRY, 2004), durante o processo de sampling a taxa de amostragem deve ser no m´ ınimo igual ao dobro da maior frequˆncia do som que est´ sendo amostrado. Quando e a esta condi¸ao n˜o se satisfaz ocorrem distor¸oes em determinadas faixas de c˜ a c˜ frequˆncias. e Resolu¸˜o da amostra: A resolu¸ao da amostra est´ relacionada a quantidade ca c˜ a ` de informa¸˜o com a qual pretendemos representar a amostra(LAVRY, 2004);(BARca BOSA, 1999). Quanto maior a resolu¸ao, ou seja, quanto mais informa¸˜o c˜ ca

23

utilizarmos para representar a amostra, mais fiel ao som original ser´ a reprea senta¸ao. A resolu¸˜o da amostra ´ medida em bits. Com N bits, ´ poss´ c˜ ca e e ıvel representar 2N valores. A resolu¸˜o utilizada para o armazenamento de ´udio ca a em CD´s, por exemplo, ´ de 16 bits. Ou seja, num CD, o audio ´ representado e ´ e utilizando-se um conjunto de 216 (65.536) amplitudes poss´ ıveis. Voltando a analogia da capta¸ao de movimento em v´ ` c˜ ıdeo, ´ poss´ e ıvel relacionar a resolu¸˜o da amostra ` resolu¸˜o de cada quadro do movimento a ca a ca ser capturado. Quando mais informa¸ao armazena-se de cada quadro, maior c˜ a fidelidade do mesmo ` imagem real capturada. a Quantiza¸˜o: Durante o processo de sampling, quando o valor de uma determica nada amplitude fica entre dois valores discretos, ocorre uma aproxima¸ao deste c˜ valor (arredondamento) para o valor discreto mais pr´ximo dispon´ (BARo ıvel BOSA, 1999);(MILETTO et al., 2004). Este arredondamento ´ chamado de e quantiza¸˜o. O processo de quantiza¸ao ´ ilustrado na Figura 2.2. ca c˜ e

Figura 2.2: Represental¸ao gr´fica do processo de quantiza¸ao. c˜ a c˜

2.3.2

Aspectos b´sicos do som no contexto musical a

Dentro do contexto musical costuma-se observar certas propriedades f´ ısicas do som, de forma que estas possam ser controlados pelo compositor e pelo instrumentista a fim de gerar um determinado resultado musical esperado. Estas propriedades s˜o representadas abstratamente em padr˜es de nota¸˜o musical, permitindo, desta a o ca forma, que uma pe¸a musical seja composta sem que o compositor necessite utilizar c sons concretos no processo. Ou seja, conhecendo-se estes aspectos b´sicos do som a musical e um sistema de nota¸˜o musical, pode-se descrever de forma totalmente ca abstrata a constru¸˜o de uma determinada pe¸a musical. As propriedades b´sicas ca c a

24

do som musical s˜o: altura, dura¸˜o, intensidade (ou volume) e timbre. Em geral, a ca na nota¸ao musical ocidental, uma altura e uma dura¸ao definem uma nota musical. c˜ c˜ Altura: Define-se como altura, a capacidade que o som tem de ser mais baixo (grave) ou alto (agudo). Esta caracter´ ıstica fica evidente quando tocamos as teclas de um piano, por exemplo. Os sons gerados s˜o mais agudos quando pressionamos uma tecla a mais ` direita e mais graves, quando pressionamos teclas mais a esquerda. a ` Uma oscila¸ao completa de uma onda peri´dica (incluindo um pico e um vale c˜ o completos) ´ chamada de ciclo. Ao comparar um som mais grave com um e som mais agudo em um oscilosc´pio, podemos perceber que sons mais agudos o geram mais ciclos por unidade de tempo que sons mais graves. O n´mero de u ciclos dentro do intervalo de um segundo ´ o que, convencionalmente, chama-se e de freq¨ˆncia, a qual ´ expressa em unidades chamadas hertz (Hz) (MILETTO ue e et al., 2004). A Figura 2.3 representa uma onda senoidal e evidencia um de seus ciclos. Definindo o tempo total de dura¸ao desta onda como sendo um c˜ segundo, ter´ ıamos, neste caso, uma frequˆncia de 3Hz. e

Figura 2.3: Representa¸˜o gr´fica do cliclo de uma forma de onda senoidal espec´ ca a ıfica. Segundo (MILETTO et al., 2004), a faixa de frequˆncias que o ouvido humano e consegue perceber fica, aproximadamente, entre 20Hz e 20000Hz. Em fun¸ao da altura, as notas musicais recebem nomes. Segundo a nomenc˜ clatura utilizada pelo sistema de nota¸ao musical ocidental, as notas poc˜ dem possuir os seguintes nomes: D´, R´, M i, F a, Sol, L´ e Si. Tamb´m o e ´ a e denotadas, respectivamentem, por: C, D, E, F , G, A, B. Para denotar um semitom (o menor intervalo poss´ ıvel entre dois sons dentro do sistema de nota¸ao musical ocidental) acima de uma das notas, utiliza-se o sinal # c˜ (sustenido), para denotar um semitom abaixo de uma nota utiliza-se o sinal b (bemol). Desta forma, o conjunto total de alturas que o sistema de nota¸˜o ca musical utiliza ´ composto por 12 elementos, os quais s˜o (com intervalos de e a um semitom): C, C# ou Db, D, D# ou Eb, E, F , F # ou Gb, G, G# ou

25

Ab, A, A# ou Bb, B. Para entender como funciona a correspondˆncia entre o e nome de uma nota e a freq¨ˆncia a ela associado, ´ importante ter em mente ue e que, no sistema temperado, a sucess˜o dos 12 semitons ´ definida por uma a e 1 progress˜o geom´trica de raz˜o 2 12 . Ou seja, uma determinada nota Y que a e a est´ 12 semitons acima de uma nota X, tem exatamente o dobro da freq¨ˆncia a ue da nota X. A raz˜o 2 entre uma nota Y e uma nota X ´ chamada de oitava a e (e compreende o intervalo de 12 semitons entre ambas). Dura¸˜o: Define-se como dura¸˜o, a quantidade de tempo durante o qual um deca ca terminado fenˆmeno persiste. Num contexto musical, a dura¸˜o determina a o ca quantidade de tempo durante o qual um som ´ executado ou a quantidade e de tempo de “silˆncio” entre a execu¸˜o de dois sons (pausa). O controle das e ca dura¸oes dos fenˆmenos sonoros dentro de um contexto musical possibilita c˜ o a constru¸˜o de ritmos. Dentro do sistema de nota¸˜o musical ocidental, ca ca as dura¸oes s˜o representadas por figuras que representam valores de tempo c˜ a definidos em rela¸˜o a um valor referencial (valores n˜o absolutos). Na Figura ca a 2.4 temos a representa¸ao gr´fica (segundo a nota¸ao musical ocidental) e a c˜ a c˜ nomenclatura das dura¸oes (dos sons e das pausas) em rela¸ao a um valor de c˜ c˜ tempo R. Das dura¸oes representadas pela Figura 2.4, a Longa e a Breve, utilizadas c˜ durante o per´ ıodo medieval da m´sica, j´ n˜o s˜o mais utilizadas atualmente, u a a a a Quartifusa ´ raramente empregada e a Breve ´ assumida como o referencial e e das demais notas. Para compreender melhor o sistema de valores referenciais das dura¸oes, podec˜ mos tomar a Semibreve valendo um segundo. A partir da defini¸˜o do valor ca de uma figura, pode-se definir as demais: M´ ınima assume como valor 1/2 de segundo, a Sem´ ınima assume como valor 1/4 de Segundo, e assim por diante. Intensidade (ou volume): Para ilustrar esta caracter´ ıstica, tomemos como exemplo novamente o piano. Se pressionarmos fortemente uma tecla do piano, o som resultante ser´ mais forte, j´ se uma determinada tecla do piano for a a pressionada suavemente, o som resultante ser´ fraco. Dito isto, ´ importante a e ´ evidenciar um erro que geralmente ocorre. E comum ouvir pessoas utilizando os termos alto e baixo fazendo referˆncia ao volume do som, quando na vere dade, estes termos dizem respeito a uma caracter´ ıstica distinta do som: a altura. Analisando um determinado som atrav´s de um oscilosc´pio, pode-se perceber e o que o volume de um som est´ relacionado a amplitude da onda que o reprea ` senta. Quanto maior for a amplitude de uma onda maior ser´ o volume de um a

26

Figura 2.4: Representa¸oes gr´ficas, valores (relativos a um tempo hipot´tico R) e c˜ a e nomenclaturas das dura¸˜es utilizadas pela nota¸˜o musical ocidental. co ca determinado som. Na Figura 2.5 pode-se ver representada a amplitudade de uma onda.

Figura 2.5: Amplitude, o ponto mais distante da posi¸ao m´dia da onda. c˜ e

Timbre: Para ilustrar esta caracter´ ıstica do som, consideremos dois instrumentos distintos: um viol˜o e um obo´, por exemplo. Mesmo que esses instrumentos a e produzam um determinado som na mesma altura e intensidade, a diferen¸a enc tre o som de ambos ´ evidente. Esta caracter´ e ıstica que difere sons distintos, independentemente da intensidade e da altura dos mesmos ´ convencionalmente e chamada de timbre (LOUREIRO; PAULA, 2006). Popularmente, costuma-se

27

definir o timbre como a “assinatura” de um som. Analizando-se o fenˆmeno sonoro sob uma perspectiva f´ o ısica, podemos observar que quando um determinado corpo (uma corda de um viol˜o, por exema plo) vibra, uma s´rie de ondas senoidais ´ produzida. Al´m da frequˆncia e e e e fundamental, que define a altura do som produzido, o corpo tamb´m proe duz frequˆncias harmˆnicas. Qualquer corpo em vibra¸˜o produz dezenas e o ca de freq¨ˆncias harmˆnicas que oscilam simultaneamente ` frequˆncia fundaue o a e mental. Somando a amplitude da freq¨ˆncia fundamental as amplitudes das ue ` frequˆncias harmˆnicas, a forma de onda resultante n˜o ser´ mais senoidal, e o a a mas sim uma onda irregular repleta de cristas e vales. Na Figura 2.6 e na Figura 2.7, temos, respectivamente as formas de onda de um som produzido por uma flauta e de um som produzido por um xilofone. Em rela¸ao a esta c˜ ` ultima forma de onda, ´ poss´ perceber que inicialmente a quantidade de ´ e ıvel frequˆncias harmˆnicas ´ muito maior que no restante do tempo. Isto por que e o e o in´ da onda reflete a batida da baqueta e o restante da onda reflete apenas ıcio ` a vibra¸ao da madeira. c˜

Figura 2.6: Forma de onda de um som produzido por uma flauta.

Figura 2.7: Forma de onda de um som produzido por um xilofone. Al´m das irregularidades supracitadas, a forma como o som se comporta due rante o espa¸o de tempo que comprende o in´ e o fim do mesmo, tamb´m c ıcio e ´ determinante na defini¸˜o do timbre. As caracter´ e ca ısticas envolvidas na descri¸ao deste comportamento s˜o quatro: ataque, decaimento, sustenta¸ao e c˜ a c˜ relaxamento. Ao conjunto destas caracter´ ısticas d´-se o nome de envelope (ou a envolt´ria ou envolvente) da onda. o 1. Ataque: Diz respeito a forma como o som inicia. Para ilustrar o contexto, `

28

pode-se tomar como exemplo o violino. Ao tocar as cordas do violino com o arco, o som surge e aumenta lentamente de intensidade. Todavia, se as mesmas cordas do violino forem percutidas, o som surgir´ muito a rapidamente e com intensidade alta. Dependendo da fonte sonora, o ataque pode durar de alguns cent´simos e de segundo at´ mais de um segundo. e 2. Decaimento: Diz respeito ` queda de intensidade que o som sofre logo a ap´s o ataque e antes de estabilizar-se. Algumas fontes sonoras produzem o decaimentos bruscos, outras produzem decaimentos suaves, em algumas o decaimento praticamente inexiste. Em um determinado instrumento de sopro, por exemplo, a for¸a inic cial necess´ria para colocar a palheta em vibra¸˜o ´ maior que a for¸a a ca e c necess´ria para para mantˆ-la vibrando, de forma est´vel, em uma freq¨ˆncia a e a ue determinada. 3. Sustenta¸ao: Corresponde ao tempo em que o som sustenta-se com a c˜ mesma intensidade (estabilidade). Entre os instrumentos musicais, grande parte permite o controle da sustenta¸ao (flauta, obo´, violino,...). Toc˜ e davia, em alguns instrumentos este controle n˜o ´ poss´ (como os ina e ıvel strumentos de percuss˜o em geral). Em alguns casos o som nem chega a a sustentar-se e o decaimento inicial j´ leva o som diretamente ao seu a desaparecimento. 4. Relaxamento: Diz respeito ao comportamento do som em sua etapa final, quando a intensidade sonora diminui at´ desaparecer completamente. e Pode ser muito brusco, como em um instrumento de sopro, quando o instrumentista corta o fluxo de ar, ou muito lento, como em um gongo. A Figura 2.8 apresenta trˆs formas de onda com envelopes de onda distintos. e A primeira forma de onda mostra trˆs notas executadas a partir de uma tabla e (instrumento de percuss˜o indiano), a segunda mostra trˆs notas executadas a e a partir de uma trompa (instrumento de sopro) e a terceira mostra uma longa nota executada a partir de uma flauta. No caso do som da tabla, nota-se que o som surge quase instantaneamente ap´s a percuss˜o da pele pelas m˜os do o a a executante, seguido de um decaimento acentuado e relaxamento. Em rela¸ao c˜ ao som da trompa, pode-se perceber que a nota se inicia com um aumento mais gradual de intensidade, sofre um pequeno decaimento ap´s o in´ da o ıcio nota e dura todo o tempo em que o trompista mantˆm o sopro, desaparecendo e de forma bastante r´pida ao final das notas. Por fim, em rela¸˜o ao som da a ca flauta, pode-se perceber que o som surge muito suavemente (ataque suave),

29

se mant´m com amplitude quase constante (per´ e ıodo de sustenta¸˜o) e depois ca desaparece tamb´m lentamente (per´ e ıodo de relaxamento).

Figura 2.8: Formas de onda que apresentam respectivamente os envelopes de onda de uma tabla (executando trˆs notas), uma trompa (executando trˆs notas) e uma e e flauta (executando uma longa nota).

2.4

Composi¸˜o Algor´ ca ıtmica

Um algoritmo ´ definido como uma sequˆncia finita e n˜o amb´ e e a ıgua de instru¸oes c˜ que ´ executada at´ que determinada condi¸ao se verifique (SALVETTI; BARBOSA, e e c˜ 1997). Um algoritmo pode ser visto como o conjunto finito de passos necess´rios para a realizar uma tarefa espec´ ıfica bem definida. Tendo esta defini¸˜o de algoritmo em ca mente, podemos entender composi¸ao algor´ c˜ ıtmica como a composi¸˜o musical, cuja ca estrutura, parcial ou total, ´ formalizada atrav´s de uma sequˆncia de procedimentos e e e bem definidos. Dito de outra forma, a composi¸ao algor´ c˜ ıtmica consiste basicamente no uso de processos formais para a cria¸˜o de m´sica (ROADS, 1996). ca u Contrariando o que indica o senso comum, a composi¸ao algor´ c˜ ıtmica ´ um ree curso utilizado muito antes da idealiza¸˜o dos computadores modernos (UEDA, ca 2004). Ainda no s´culo XI, (por volta de 1026) o monge italiano e regente do coro e da Catedral de Arezzo, Guido d’Arezzo, idealizou e utilizou um sistema formal que gerava melodias a partir de textos lit´rgicos, relacionando cada s´ u ılaba do texto a uma nota de altura espec´ ıfica, de acordo com a vogal da s´ ılaba (ROADS, 1996). Entre os s´culos XIV e XV, v´rios compositores, entre os quais Guillaume de Machaut, relae a cionavam melodias a padr˜es r´ o ıtmicos recorrentes (UEDA, 2004). No s´culo XVII, o e expoente do per´ ıodo cl´ssico, Wolfgang Amadeus Mozart, utilizava o Musikalisches a W¨rfelspiel (o jogo de dados musical). Neste algoritmo, o compositor constru´ um u ıa minueto juntando-se pequenos fragmentos musicais pr´-definidos, os quais eram see lecionados atrav´s da jogada de dados e posterior consulta a uma tabela, onde cada e poss´ resultado do jogo era relacionado a um conjunto de fragmentos (ROADS, ıvel

30

1996). Durante o in´ do s´culo XX, antes do surgimento dos computadores, diverıcio e sos compositores utilizavam procedimentos matem´ticos e estat´ a ısticos na composi¸˜o ca musical (UEDA, 2004). A partir do surgimento do computador, na d´cada de 50, as possibilidades e da composi¸ao algor´ c˜ ıtmica aumentaram drasticamente (UEDA, 2004). Sistemas extremamente complexos de composi¸ao algor´ c˜ ıtmica surgiram, acompanhando a evolu¸ao da tecnologia computacional. N˜o tardou para que surgissem modelos comc˜ a posicionais baseados em t´cnicas de Inteligˆncia Artificial, estruturas matem´ticas e e a complexas e met´foras relacionando parˆmetros musicais a fenˆmenos f´ a a o ısicos. Neste sentido, o compositor grego Iannis Xenakis tornou-se emblem´tico. Xea nakis ficou conhecido pelo desenvolvimento e utiliza¸ao de uma s´rie de id´ias comc˜ e e posicionais que utilizavam modelos algor´ ıtmicos como base. Entre essas id´ias podee mos destacar o Stochastic Music Program (SMP), desenvolvido a partir de modelos estoc´sticos que descrevem o comportamento de mol´culas em gases. O SMP de Xea e nakis comp˜e m´sica modelando uma sequˆncia de blocos, onde cada bloco tem uma o u e dura¸ao e uma densidade de notas. O usu´rio interage com o programa definindo c˜ a parˆmetros globais da m´sica (como, por exemplo, dura¸ao m´dia dos blocos, dena u c˜ e sidades m´ ınima e m´xima dos blocos e parˆmetros de mudan¸a de timbre) (UEDA, a a c 2004). Esta abordagem reflete a vis˜o de Xenakis sobre a m´sica do s´culo XX, a u e onde o design global da obra tem uma importˆncia maior que suas formas locais a (UEDA, 2004). Al´m de Xenakis, muitos outros compositores e pesquisadores desenvolveram e abordagens algor´ ıtmicas para a gera¸ao de material musical. Podemos classificar c˜ estas abordagens atrav´s de trˆs aspectos distintos: objetivo, tipo de informa¸ao e e c˜ que processa e modelo algor´ ıtmico que utiliza. 2.4.1 Classifica¸˜o quanto ao objetivo ca

Em rela¸˜o ao objetivo dos sistemas composicionais, pode-se classific´-los em ca a dois grandes grupos distintos. O primeiro grupo busca gerar uma composi¸˜o comca pleta ao fim do processo algor´ ıtmico. Ou seja, o algor´ ıtmo, mesmo trabalhando sobre parˆmetros fornecidos por um usu´rio humano, ´ o compositor (OLIVEIRA, 2003). a a e Esta abordagem muitas vezes preocupa-se em modelar os processos da criatividade humana e est´ bastante ligada as ciˆncias cognitivas e ` IA forte (OLIVEIRA, 2003). a ` e a J´ no segundo grupo, o sistema tem o objetivo de gerar material musical para posa terior transforma¸ao do mesmo por parte do compositor; ou resolver problemas do c˜ contexto musical (como por exemplo, gerar um acorde que resolva uma determinada harmonia, dadas certas restri¸˜es mel´dicas); ou ainda, fornecer um ambiente co o de testes que instigue a inspira¸˜o do compositor. Nesta abordagem, o algoritmo ca atua como um suporte auxiliar do compositor, e est´ bastante ligada ` IA fraca a a

31

(OLIVEIRA, 2003). 2.4.2 Classifica¸˜o quanto ao tipo de informa¸˜o processada ca ca

Os sistemas composicionais podem utilizar dois tipos de informa¸ao musical: c˜ amostras de ´udio digital (amostras concretas de som digitalizadas) ou informa¸˜o a ca abstrata (que pode ser desde informa¸oes musicais como alturas e dura¸˜es de notas c˜ co musicais, at´ equa¸˜es matem´ticas, modelos f´ e co a ısicos,...). Evidenciados os tipos de informa¸ao utilizados, cabe dizer que os sistemas composicionais, em geral, podem ser c˜ desenhados para utilizar tais tipos de informa¸ao das mais diversas formas, as quais, c˜ em geral, podem ser classificadas em trˆs grandes grupos: sistemas que utilizam apee nas informa¸oes abstratas, sistemas que utilizam somente amostras de audio digital c˜ ´ e sistemas que utilizam ambos os tipos de informa¸˜o em uma abordagem h´ ca ıbrida. No primeiro caso, por exemplo, um sistema obt´m como entrada do processo e composicional, um conjunto de dados abstratos, que pode conter desde abstra¸oes c˜ de informa¸˜es pertinentes ao contexto musical, como alturas e dura¸oes de notas co c˜ musicais, at´ estruturas abstratas diversas, como equa¸˜es matem´ticas que podem e co a sugerir regras para gera¸˜o de informa¸˜o musical. Em seguida, o sistema submete ca ca este conjunto de dados a um determinado modelo algor´ ıtmico que ´ respons´vel e a pela gera¸˜o da composi¸˜o musical final, que, por sua vez, tamb´m ´ representada ca ca e e atrav´s de um modelo abstrato (como uma partitura padr˜o, ou alguma repree a senta¸ao pr´pria). A gera¸ao de uma representa¸ao abstrata da composi¸ao facilita c˜ o c˜ c˜ c˜ uma poss´ interven¸ao do compositor no material gerado, oferecendo a possibiliıvel c˜ dade de se alterar aspectos da composi¸ao, al´m de deixar a interpreta¸ao da obra c˜ e c˜ livre (a representa¸ao da composi¸ao musical pode ser executada por int´rpretes c˜ c˜ e humanos e/ou computacionais). Este processo de composi¸ao algor´ c˜ ıtmica ´ repree sentado pela Figura 2.9, onde A representa o conjunto de informa¸oes abstratas, c˜ neste caso, figuras que representam dura¸oes de notas musicais; B, um modelo c˜ algor´ ıtmico respons´vel pela gera¸ao de C, partindo-se do conjunto A e C, a reprea c˜ senta¸ao abstrata (uma partitura padr˜o) da composi¸ao musical final. c˜ a c˜ No segundo caso, utilizando unicamente informa¸ao sonora, o sistema composic˜ cional ´ abastecido com amostras de som (samples) digital. Sobre estas amostras de e audio ´ aplicada alguma abordagem algor´ ´ e ıtmica em espec´ ıfico. Ao fim do processo algor´ ıtmico, gera-se uma composi¸ao musical em audio digital, j´ pronta para exc˜ ´ a ecu¸ao. Este processo ´ representado pela Figura 2.10, onde A representa o conjunto c˜ e de amostras de audio digital; B, um modelo algor´ ´ ıtmico respons´vel pela gera¸ao a c˜ de C, partindo-se do conjunto A e C, a composi¸ao musical final, j´ pronta para a c˜ a execu¸ao e/ou reprodu¸ao, em formato de ´udio digital. c˜ c˜ a ´ E importante perceber que ao gerar a composi¸ao em audio digital, torna-se c˜ ´ mais complexa a interven¸ao do compositor na composi¸˜o gerada. Neste esquema c˜ ca

32

Figura 2.9: Sistema composicional baseado puramente em informa¸˜es abstratas. co

Figura 2.10: Sistema composicional baseado puramente em amostras de audio digital ´ (informa¸ao sonora pura, com ou sem contextualiza¸˜o musical). c˜ ca de composi¸˜o, o foco ´ a manipula¸ao de informa¸˜o sonora. ca e c˜ ca No terceiro caso, o sistema pode ser abastecido com um conjunto de dados abstratos (alturas e dura¸˜es de notas e informa¸˜es sobre timbres, por exemplo) e/ou co co amostras de audio digital. Sobre este conjunto de dados, s˜o aplicadas determi´ a nadas t´cnicas algor´ e ıtmicas para, por fim, gerar a composi¸ao musical, que, neste c˜ caso, pode tanto ser representada de forma abstrata quanto em formato de ´udio a digital (j´ pronta para a execu¸˜o). Este processo est´ representado na Figura 2.11, a ca a onde A representa o conjunto de amostras de sons concretos e/ou dados abstratos que representam informa¸ao musical; B, um modelo algor´ c˜ ıtmico respons´vel pela a gera¸ao de C, partindo-se do conjunto A e C, a composi¸ao musical concreta, j´ c˜ c˜ a pronta para a execu¸˜o e/ou reprodu¸˜o (em formato de audio digital). ca ca ´ 2.4.3 Classifica¸˜o quanto ao modelo algor´ ca ıtmico utilizado

Os sistemas composicionais algor´ ıtmicos modelam o processo composicional musical a partir de modelos algor´ ıtmicos. Em (OLIVEIRA, 2003), s˜o apresentados trˆs a e modelos algor´ ıtmicos cl´ssicos, utilizados em sistemas de composi¸˜o algor´ a ca ıtmica: modelo heur´ ıstico, modelo gerativo e modelo estoc´stico. a

33

Figura 2.11: Sistema composicional que utiliza tanto informa¸oes abstratas quanto c˜ informa¸ao sonora. c˜ 2.4.3.1 Modelo Heur´stico ı

O modelo algor´ ıtmico heur´ ıstico, como o pr´prio nome sugere, baseia-se na utio liza¸ao de heur´ c˜ ısticas para guiar a composi¸˜o musical. ca Segundo (PUCHKIN, 1969) o termo heur´ ıstica est´ relacionado a abordagens esa ` trat´gicas espec´ e ıficas que o ser humano utiliza para atingir determinados fins, sendo que tal abordagem est´ fortemente relacionada ` processos intuitivos e criativos do a a pensamento humano. Pode-se compreender os sistemas que baseiam-se neste modelo como sistemas que modelam algoritmicamente uma determinada estrat´gia composicional criada e pelo compositor, na maioria das vezes, gerando resultados a partir de regras que tˆm a finalidade de restringir o espa¸o de busca, guiando o processo sempre em e c dire¸ao aos resultados mais satisfat´rios (definidos pelas regras implementadas pelo c˜ o sistema). Modelos heur´ ıticos s˜o muito utilizados em jogos, em geral. Na maioria das a implementa¸˜es de jogos de xadrez, por exemplo, a an´lise de todas as poss´ co a ıveis jogadas a partir de um determinado estado do jogo seria computacionalmente invi´vel. a Neste contexto, utiliza-se heur´ ısticas para diminuir o espa¸o de buscas por jogadas, c utilizando-se determinadas regras que simulam o conhecimento t´cito de um jogador a humano sobre a partida de xadrez. Em uma partida de xadrez, as heur´ ısticas s˜o a definidas a partir da observa¸ao da sequˆncia de movimentos que o advers´rio realc˜ e a iza e da configura¸ao das pr´prias pe¸as. Uma certa sequˆncia de movimentos pode c˜ o c e sugerir o objetivo do jogador. Neste contexto, um oponente atento, visualizando a inten¸ao impl´ c˜ ıcita na sequˆncia de movimentos, pode antecipar-se, disparando detere minados movimentos de defesa ou contra-ataque que tirem proveito da configura¸˜o ca das pe¸as. Tendo-se em mente que o conceito de heur´ c ıstica est´ fortemente relaa cionado a estrat´gias de decis˜o inerentes aos processos criativos do pensamento e a humano e que a m´sica ´, de forma reducionista, o fruto de um processo criativo u e

34

do pensamento humano, pode-se inferir o quanto as heur´ ısticas s˜o comuns dentro a do processo da composi¸ao musical. Em geral, compositores possuem cada qual um c˜ estilo pr´prio de compor. Este estilo ´ definido pelo conjunto de decis˜es que toma o e o durante o processo de cria¸ao da estrutura musical e, na maioria dos casos, pode c˜ ser identificado a partir de uma an´lise profunda desta estrutura. Estas decis˜es a o podem ser vistas como heur´ ısticas e podem ser mapeadas em conjuntos de regras, que, posteriormente, podem ser implementadas em sistemas computacionais. Em (OLIVEIRA, 2003) ´ citado um software para composi¸˜o musical, desene ca volvido por James A. Moorer, no qual foram utilizadas abordagens heur´ ısticas para a gera¸˜o de forma 1 e motivo 2 musical. Neste modelo composicional algor´ ca ıtmico, inicialmente a forma musical ´ definida por rela¸˜es matem´ticas estabelecidas pelo e co a usu´rio/compositor. Em fun¸ao da forma musical estabelecida, ´ gerado um cona c˜ e junto de acordes. E, por ultimo, em fun¸˜o dos acordes gera-se um conjunto de ´ ca notas musicais. Este processo gera seq¨ˆncia mel´dicas que s˜o armazenadas e reue o a utilizadas de uma forma que, segundo Moorer, a coerˆncia mot´ e ıvica da pe¸a em c composi¸ao era assegurada. c˜ Tamb´m em (OLIVEIRA, 2003), cita-se softwares baseados em processos come posicionais que utilizam estruturas baseadas em arvore. Desta forma, para cada ´ quest˜o composicional (“Que acorde utilizar aqui?”, “Que padr˜o r´ a a ıtmico utilizar aqui?”,...) pode-se gerar mais de uma solu¸˜o poss´ ca ıvel. Dentro deste cen´rio, regras a heur´ ısticas s˜o utilizadas para determinar quais das alternativas s˜o mais adequadas a a (o “filtro” est´ relacionado a regra definida). Assim, algumas das alternativas poa ` dem ser desenvolvidas at´ est´gios mais avan¸ados, enquanto outras s˜o descartadas e a c a ´ poss´ perceber que imediatamente, de acordo com as heur´ ısticas estabelecidas. E ıvel nesta abordagem, a utiliza¸˜o de regras heur´ ca ısticas diminui o espa¸o de busca por c solu¸oes. Percebe-se o quanto ´ importante, dentro desta abordagem, escolher regras c˜ e equilibradas, que n˜o restrinjam demais as escolhas, mas que tamb´m n˜o permitam a e a que qualquer alternativa gerada passe pelo “filtro”. Segundo (OLIVEIRA, 2003), o cientista da computa¸˜o, Stanley Gill, propˆs uma estrutura baseada em ´rvore ca o a 3 para a gera¸ao de m´sica dodecafˆnica , onde as regras empregadas para a elei¸ao c˜ u o c˜
Dentro do contexto musical, a forma exprime o plano geral de uma composi¸˜o musical, evica denciando a organiza¸˜o dos elementos constituintes da mesma (temas, motivos, c´lulas r´ ca e ıtmicas e/ou mel´dicas,etc) (BITONDI, 2006). Sob uma perspectiva visual, a forma musical pode ser o compreendida como o desenho da m´sica, no qual evidenciam-se os contrastes entre os elementos u que a comp˜e. o 2 Dentro do contexto musical, chama-se de motivo qualquer pequeno elemento, ou conjunto destes, que s˜o recorrentes ou, de certa forma, evidentes e que objetivam assegurar a unidade do a todo musical (BITONDI, 2006). 3 M´sica baseada na utiliza¸˜o de um sistema no qual o compositor disp˜e, segundo suas necesu ca o sidade composicionais, os 12 intervalos de semitons de uma oitava em uma determinada ordem, chamada de s´rie dodecafˆnica, que deve ser respeitada ao longo da pe¸a. Tal sistema visa garantir e o c a unidade dos elementos utilizados dentro da composi¸˜o atonal. (SCHOENBERG, 1999) ca
1

35

da seq¨ˆncia vencedora eram relacionadas as regras do contraponto dodecafˆnico ue ` o (que est˜o fora do escopo deste trabalho). A gera¸ao de possibilidades musicais do a c˜ modelo implementado por Gill ´ ilustrada na Figura 2.12. e

Figura 2.12: Primeiras 100 itera¸oes do processo algor´ c˜ ıtmico proposto por Stanley Gill, no qual as possibilidades musicais s˜o geradas em uma estrutura de arvore a ´ (OLIVEIRA, 2003).

2.4.3.2

Modelo Gerativo

O modelo algor´ ıtmico gerativo ´ baseado na teoria das gram´ticas gerativas, que e a surgiu a partir dos trabalhos de Noam Chomsky, professor de lingu´ ıstica do MIT (Instituto de Tecnologia de Massachusetts) (OLIVEIRA, 2003). As gram´ticas gerativas propostas por Chomsky, constituem sistemas de regras a formalizadas que possibilitam a gera¸ao de senten¸as gramaticais da l´ c˜ c ıngua que descreve ou caracteriza e a atribui¸˜o de uma descri¸ao estrutural (ou an´lise gramatica c˜ a cal) a cada senten¸a, sem recorrer a nenhuma informa¸˜o que n˜o esteja representada c ca a explicitamente dentro deles (GARDNER, 1996). Ou seja, em geral, as gram´ticas a gerativas possibilitam a produ¸ao de um modelo de competˆncia geral, isto ´, um c˜ e e modelo te´rico cognitivo, da habilidade gramatical de um indiv´ o ıduo (OLIVEIRA, 2003). As gram´ticas propostas por Chomsky tˆm potencial gerativo e anal´ a e ıtico. Utilizando o potencial gerativo de uma gram´tica pode-se gerar todas as senten¸as a c

36

que pertencem a l´ ` ıngua que ela descreve. Analiticamente, uma gram´tica pode ser a utilizada para analisar senten¸as e verificar se tal senten¸a pertence a l´ c c ` ıngua que a gram´tica descreve. Quando fala-se em gram´tica gerativa, na verdade, est´-se a a a fazendo uma alus˜o ` utiliza¸ao de uma gram´tica para gerar senten¸as. a a c˜ a c A gera¸˜o de senten¸as, a partir de uma gram´tica gerativa, ´ realizada utilizandoca c a e se um mecanismo de reescrita de s´ ımbolos. Neste processo, os s´ ımbolos, que podem ser terminais ou n˜o terminais, s˜o concatenados em cadeias. Os s´ a a ımbolos n˜o termia nais podem ser substitu´ ıdos por sub-cadeias (que podem conter s´ ımbolos terminais e n˜o terminais). A substitui¸˜o de s´ a ca ımbolos n˜o terminais ocorre em fun¸ao de um a c˜ conjunto expl´ ıcito de regras de produ¸ao que descrevem formalmente como ocorre a c˜ substitui¸ao de cada s´ c˜ ımbolo (MANOUSAKIS, 2006). Uma gram´tica formal pode ser representada por uma qu´drupla G, em que a a G = (N, T, P, S) , onde (MANOUSAKIS, 2006): 1. N ´ o conjunto de s´ e ımbolos n˜o terminais (vari´veis). a a 2. T ´ o alfabeto de s´ e ımbolos terminais (constantes). 3. N ∩ T = 0. 4. S ´ o s´ e ımbolo inicial (axioma) sobre o qual ser˜o aplicadas as regras de a produ¸ao (P ), onde S ∈ N . c˜ 5. P ´ o conjunto de regras de produ¸ao em que P = α− > β. Onde α ∈ {N ∪T } e c˜ e β ∈ {N ∪ T }. Uma outra abordagem tamb´m abarcada no modelo baseado em gram´ticas e a gerativas utiliza L-Systems para a gera¸ao musical. c˜ Por volta de 1968, o botˆnico e bi´logo te´rico, Aristid Lindenmayer, introduziu a o o um novo modelo de reescrita de cadeias de s´ ımbolos cuja pretens˜o inicial era ser a “um framework te´rico para o estudo do desenvolvimento de organismos multiceluo lares simples” (MANOUSAKIS, 2006). Este novo modelo foi chamado de L-System, ou ainda, Lindenmayer system (sistemas L ou sistemas Lindenmayer), e passou a ser largamente utilizado pela comunidade cient´ ıfica devido a sua capacidade de gerar objetos complexos a partir de um conjunto de s´ ımbolos simples. Desde a sua cria¸ao, os L-Systems foram utilizados em contextos diversos: modelagem do proc˜ cesso de crescimento de organismos vivos, modelagem gr´fica de plantas herb´ceas a a em ambientes virtuais, etc. Os L-Systems s˜o constitu´ a ıdos, basicamente, por um conjunto de s´ ımbolos e regras de substitui¸ao inspirados nos modelos desenvolvidos por Chomsky (MANOUSAKIS, c˜ 2006). A diferen¸a b´sica entre ambos os modelos reside na forma como ocorrem c a as substitui¸˜es dos s´ co ımbolos nas cadeias. Enquanto nos modelos desenvolvidos

37

por Chomsky a substitui¸ao dos s´ c˜ ımbolos ocorre sequencialmente, substituindo-se um s´ ımbolo a cada ciclo iterativo, nos L-Systems todos os s´ ımbolos da cadeia s˜o a substitu´ ıdos simultaneamente, o que possibilita a gera¸˜o de resultados complexos ca dif´ ıceis de prever a priori. Nas senten¸as geradas por um L-System, os s´ c ımbolos representam elementos componentes da estrutura que descrevem (MANOUSAKIS, 2006). Ou seja, se o L-System descreve o crescimento de uma planta, os s´ ımbolos representar˜o ramos a e n´s (que ligam um ramo a outro); se a estrutura descrita for um objeto gr´fico o a qualquer (como um fractal gr´fico), os s´ a ımbolos representar˜o pontos e linhas; se a a estrutura descrita for uma composi¸ao musical, os s´ c˜ ımbolos estar˜o, provavelmente, a representando alturas e dura¸oes de notas musicais (e/ou ainda outros aspectos),etc. c˜ Para ilustrar a capacidade gerativa dos L-Systems, a seguir, demonstra-se a constru¸ao de uma varia¸˜o da curva de Koch (curva fractal) a partir de um sistema c˜ ca Lindenmayer. Vari´veis: F . a Constante: +, −. Axioma (ou semente): F . Regras: F → F + F − F − F + F . Para compreender o sistema definido acima, ´ importante ter em mente que o e objetivo do mesmo ´ desenhar um objeto gr´fico, portanto, os s´ e a ımbolos definidos no mesmo representam componentes gr´ficos, onde: a 1. F representa “Desenhe uma reta para frente”. 2. + representa “Vire 90 graus para a esquerda”. 3. − representa “Vire 90 graus para a direita”. A figura 2.13 mostra as quatro primeiras itera¸oes do processo de reescrita de c˜ cadeias de s´ ımbolos disparado a partir do L-System descrito acima. Pode-se notar que a complexidade das cadeias de s´ ımbolos e, consequentemente, do objeto gr´fico a resultante (curva de Koch) aumenta rapidamente. Em (WORTH; STEPNEY, 2005) relaciona-se alguns trabalhos que demonstram diversas abordagens baseadas em gram´ticas gerativas para a composi¸ao musical. a c˜ Para ilustrar a composi¸˜o musical algor´ ca ıtmica baseada em modelos gerativos, a seguir ser´ definido um L-System cujo objetivo ´ gerar sequˆncias de notas musicais, a e e levando em conta apenas a altura e a dura¸ao das notas. c˜

38

Figura 2.13: As quatro primeiras itera¸oes do processo de reescrita de s´ c˜ ımbolos de um L-System. Vari´veis: A, B. a Constante: +, −, T . Axioma (ou semente): A. Regras: 1. A → −BT − −A.

2. B → AT + +A − BT . Como o L-System acima descreve uma composi¸˜o musical, os s´ ca ımbolos est˜o a relacionados ` aspectos musicais. a 1. − significa que deve-se diminuir a altura do som em um semitom ou dividir a dura¸ao do som por 2. c˜ 2. + significa que deve-se aumentar a altura do som em um semitom ou multiplicar a dura¸˜o do som por 2. ca 3. A significa que o parˆmetro que deve ser alterado (pelos s´ a ımbolos + e −) ´ a e altura do som.

39

4. B significa que o parˆmetro que deve ser alterado (pelos s´ a ımbolos + e −) ´ a e dura¸ao do som. c˜ 5. T significa que a nota deve ser tocada. Ou seja, caso a subcadeia “− − AT ” ocorra na cadeia resultante, a altura do som (indicada pela ocorrˆncia do s´ e ımbolo A) deve ser decrementada em dois semitons e em seguida a nota deve ser tocada. No caso de ocorrer uma subcadeia “+ + BT ”, a dura¸ao do som (indicada pela ocorrˆncia do s´ c˜ e ımbolo B) deve ser multiplicada por 4 (22 ). Neste sistema, a ocorrˆncia de subcadeias do tipo “+T ”, “−T ” (ou variantes), e significa que deve-se incrementar/decrementar o parˆmetro (altura ou dura¸˜o do a ca som) que foi alterado por ultimo e, em seguida tocar a nota. ´ Pode-se perceber que os s´ ımbolos atuam sobre uma altura e uma dura¸˜o refca erenciais. Estes parˆmetros iniciais podem ser informados pelo usu´rio/compositor a a antes do processo de parsing da cadeia simb´lica. o A seguir, temos as quatro primeiras itera¸˜es do processo de reescrita simb´lica, co o aplicado ao L-System definido acima. 1. A. 2. −BT − −A. 3. −AT + +A − BT T − − − BT − −A. 4. − − BT − −AT + + − BT − −A − AT + +A − BT T T − − − AT + +A − BT T − − − BT − −A. Pode-se notar que a quarta itera¸˜o do processo produz 11 notas musicais (uma ca para cada s´ ımbolo T ), cujas alturas e dura¸oes s˜o definidas em fun¸˜o das alturas c˜ a ca e dura¸oes referenciais informadas antes do parsing da cadeia resultante. c˜ 2.4.3.3 Modelo Estoc´stico a

Sistemas baseados em modelos algor´ ıtmicos estoc´sticos s˜o aqueles nos quais a a a gera¸ao de valores ocorre em fun¸˜o de um espa¸o probabil´ c˜ ca c ıstico uniformemente distribuido ou n˜o (OLIVEIRA, 2003). a Segundo (ANTENEODO, 2004), modelos algor´ ıtmicos estoc´sticos simulam fenˆmenos a o aleat´rios. Desta forma, pode-se dizer que modelos algor´ o ıtmicos deste tipo produzem resultados que n˜o podem ser determinados a priori. Todavia, quando lidamos com a fenˆmenos aleat´rios, em geral, podemos conhecer o conjunto de resultados poss´ o o ıveis de serem observados. A partir de um modelo, podemos tamb´m atribuir aos resultae dos ou conjuntos de resultados poss´ ıveis, n´meros que representem as suas chances u de ocorrˆncia. Estes n´meros, n˜o-negativos que denotam a chance de ocorrˆncia de e u a e

40

um determinado resultado em um determinado espa¸o amostral (total de resultados c observados) s˜o denominados probabilidades. O modelo pode ser constru´ a para ıdo tir da freq¨ˆncia de ocorrˆncia observada em um grande n´mero de experimentos ue e u passados (lei dos grandes n´meros) ou, teoricamente, a priori. u Um modelo algor´ ıtmico estoc´stico ´ baseado no conceito de processo estoc´stico, a e a o qual, por sua vez, ´ definido como um conjunto de vari´veis aleat´rias (X(t)) ine a o dexadas por um valor t pertencente a um conjunto T . Em geral, toma-se para T um subconjunto dos inteiros n˜o-negativos (embora seja poss´ realizar um maa ıvel peamento de outros tipos de conjunto para um conjunto de inteiros n˜o-negativos) a e X(t) representa alguma caracter´ ıstica mensur´vel de interesse no tempo t, o que, a formalmente ´ tido como uma realiza¸ao do processo no tempo t (ANTENEODO, e c˜ 2004). Exemplificando, X(t) pode representar o n´mero de unidades de um deteru minado produto no estoque ao fim da semana t. Os processos estoc´sticos podem ser classificados da seguinte forma: a Em rela¸˜o ao estado: PE de estado discreto ou de estado cont´ ca ınuo. 1. PE de estado discreto: X(t) ´ definida sobre um conjunto enumer´vel e a (finito) de valores x. 2. PE de estado cont´ ınuo: X(t) ´ definida sobre um conjunto infinito de e valores x. Em rela¸˜o ao tempo: PE de tempo discreto ou de tempo cont´ ca ınuo. 1. PE de tempo discreto: t ´ finito/enumer´vel. e a 2. PE de tempo cont´ ınuo: t ´ infinito. e Existem v´rios tipos de processos estoc´sticos, cada qual com suas caracter´ a a ısticas pr´prias. Como base de modelos algor´ o ıtmicos para composi¸ao musical, o processo c˜ estoc´stico mais utilizado ´ a cadeia de Markov, um tipo espec´ a e ıfico de processo markoviano (processo de Markov). Um processo Markoviano ´ um processo estoc´stico no qual o estado futuro e a depende apenas do estado atual e independe dos estados passados. Devido ` dea sconsidera¸ao dos estados passados (“o passado ´ esquecido”) o processo Markoviano c˜ e tamb´m ´ conhecido como processo sem mem´ria (memoryless process). e e o Em um processo Markoviano, o valor do pr´ximo estado a ser gerado, depende do o estado atual e de um conjunto de valores (probabilidades de transi¸ao) associados c˜ a ele, que definem as probabilidades de ocorrˆncia de outros estados a partir do e atual. Uma cadeia de Markov, pode ser considerada como uma sucess˜o de vari´veis a a aleat´rias X(t) que podem assumir como valor (em cada uma das realiza¸˜es do o co

41

processo) uma gama discreta de valores (espa¸o determinado por um limite inferior e c um superior e que compreende uma gama de valores n˜o cont´ a ınuos)(ANTENEODO, 2004). Segundo (OLIVEIRA, 2003) as cadeias de Markov apresentam tanto potencial indutivo quanto dedutivo. O potencial indutivo das cadeias de Markov ´ explorado e quando gera-se um modelo probabil´ ıstico (conjunto de estados poss´ ıveis + conjunto de probabilidades de transi¸˜o associado a cada estado) a partir de um espa¸o ca c amostral, descrevendo as propriedades estat´ ısticas deste ultimo (MOORE, 1990). J´ ´ a o potencial dedutivo ´ explorado quando utiliza-se um modelo probabil´ e ıstico para gerar uma cadeia. Dentro do contexto da composi¸˜o musical existe a possibilidade ca de utilizar-se ambos os potenciais, de forma que, por exemplo, se possa gerar um seq¨ˆncia de notas musicas a partir de um modelo probabil´ ue ıstico constru´ a partir ıdo da an´lise estat´ a ıstica de uma seq¨ˆncia de notas musicais com existˆncia pr´via. A ue e e seguir, ilustra-se um caso de uso de ambas as potencialidades das cadeias de Markov para gera¸ao de uma sucess˜o de alturas de notas musicais, a partir de uma amostra c˜ a inicial. Para o exemplo que segue, tomemos como base a seguinte seq¨ˆncia de ue alturas de notas musicais: E − B − B − G − E − B − D − G − D − G − E − D. 1. Analisa-se o espa¸o amostral considerado a fim de identificar o espa¸o de estac c dos sobre os quais a seq¨ˆncia foi constru´ ue ıda. Neste caso, o espa¸o de estados c ´ o conjunto de alturas CA, onde CA = D, E, G, B. e 2. Ent˜o, analisa-se a sucess˜o de alturas, realizando a contagem do n´mero de a a u vezes que uma determinada altura y ocorre ap´s uma altura x. Para o caso o em quest˜o, esta contagem ´ ilustrada na Figura 2.14. a e

Figura 2.14: Matriz de ocorrˆncias (M O) gerada a partir da amostra em quest˜o. e a

Na matriz de ocorrˆncias M O representada na Figura 2.14,cada c´lula M Oij e e representa o n´mero de vezes em que a altura da coluna j aparece imediatau mente ap´s a altura da linha i. o

42

3. Em seguida, determina-se o percentual de vezes que a altura y ocorre ap´s a o altura x em rela¸˜o ` todas as ocorrˆncias de alturas ap´s a altura x. Este ca a e o percentual representar´ a probabilidade de transi¸˜o da altura x para a altura a ca y e ´ calculado dividindo-se o n´mero de vezes que a altura y ocorre imedie u atamente ap´s a altura x pelo total de alturas que ocorrem imediatamente o ap´s a altura x. Para o caso em quest˜o, as probabilidades de transi¸ao resulo a c˜ tantes podem ser vistas na Figura 2.15, representadas atrav´s de uma matriz e de probabilidades de transi¸ao e na Figura 2.16, atrav´s de um diagrama de c˜ e transi¸ao de estados. c˜

Figura 2.15: Matriz de transi¸ao (M T ) resultante. c˜

Figura 2.16: Diagrama de transi¸ao de estados resultante c˜ Na matriz de transi¸˜o M T , representada na Figura 2.15, cada c´lula M Tij ca e representa a probabilidade de uma altura j ocorrer imediatamente ap´s uma o altura i. J´ no diagrama de transi¸ao de estados representado na Figura 2.16, a c˜ cada n´ (nodo) representa um determinado estado e cada arco representa a o probabilidade de transi¸˜o entre os estados. Ou seja, se uma aresta rotulada ca com um valor p partir de um n´ A em dire¸˜o a um n´ B, significa que a o ca o probabilidade do estado B ocorrer imediatamente ap´s o estado A ´ p. o e 4. Constru´ a matriz de transi¸ao de estados no item anterior, pode-se utiliz´ıda c˜ a

43

la para gerar uma cadeia de Markov (na pr´tica, uma sucess˜o de alturas de a a notas musicais). Para tanto, realiza-se o seguinte processo: (a) Define-se um estado inicial a partir do qual os estados seguintes ser˜o a gerados. Este estado deve pertencer ao conjunto discreto de estados sobre o qual a matriz de transi¸˜o de estados foi constru´ ca ıda. Neste exemplo, tomaremos o estado E (que representa a altura de nota musical E). (b) Definido o estado inicial, busca-se na matriz de transi¸˜o de estados a ca linha que representa as probabilidades de transi¸oes a partir do estado c˜ atual. No nosso exemplo, a linha que representa as probabilidades de transi¸oes a partir do estado atual (E) ´ a segunda. c˜ e (c) A partir da linha encontrada, gera-se uma distribui¸ao de valores em c˜ fun¸ao das probabilidades definidas na linha em quest˜o. No nosso exc˜ a emplo, geramos uma escala de 0 a 100, onde o intervalo [0, 33[ representa o estado D e o intervalo [34, 100[ representa o estado B. (d) Obt´m-se um n´mero aleat´rio (ou pseudo-aleat´rio 4 dentro do contexto e u o o computacional) gerado dentro do intervalo estipulado. No nosso exemplo, o n´mero deve ser gerado dentro do intervalo [0, 100[. u (e) O n´mero aleat´rio gerado no passo anterior obrigatoriamente pertencer´ u o a a um dos sub-intervalos definidos no pen´ltimo passo. Sabendo-se qual u o estado o sub-intervalo ao qual o n´mero aleat´rio pertence, obt´m-se o u o e novo estado atual. No nosso exemplo, se o n´mero aleat´rio gerado fosse u o 52, por exemplo, o nosso novo estado atual seria B, porque 52 pertence ao intervalo [34, 100[ que est´ relacionado ao estado B. Para gerar um a novo estado, todos os passos devem ser repetidos a partir do primeiro em fun¸ao do novo estado atual. Desta forma, torna-se f´cil estruturar c˜ a um processo iterativo para gera¸˜o de sucess˜es de estados a partir desde ca o conjunto simples de passos. Segundo (MOORE, 1990), utilizando-se os potenciais indutivo (passos 1 e 2 do caso de uso em quest˜o) e dedutivo (passo 3 do caso de uso em quest˜o) das a a cadeias de Markov, o resultado gerado possui as mesmas caracter´ ısticas estat´ ısticas da amostra inicialmente analisada. Observando-se o caso de uso em quest˜o, ´ importante ter em mente que a cadeia a e de Markov constru´ ´ dita estacion´ria e de primeira ordem. Segundo (ANTEıda e a NEODO, 2004), uma cadeia de Markov ´ dita estacion´ria se as probabilidades e a
N´meros pseudo-aleat´rios s˜o n´meros aproximadamente independentes um dos outros, geru o a u ados atrav´s de um algoritmo. A distribui¸˜o de valores gerada pelo algor´ e ca ıtmo simula as propriedades de distribui¸˜es realmente aleat´rias co o
4

44

de transi¸ao entre estados s˜o constantes no tempo. J´ o conceito de ordem est´ c˜ a a a ligado a capacidade de mem´ria da mesma (o n´mero de estados anteriores que ` o u s˜o considerados para determinar o pr´ximo estado) (ANTENEODO, 2004). Desta a o forma, uma cadeia de Markov ´ considerada de primeira ordem se para determinar e o pr´ximo estado, apenas o ultimo estado ´ considerado, seria de segunda ordem o ´ e se considerasse os dois ultimos estados, de terceira ordem se considerasse os trˆs ´ e ultimos e assim por diante. ´

45

3

SISTEMAS MULTIAGENTES

Os sistemas multiagentes constituem uma ´rea relativamente nova de pesquisas e a fazem parte de uma sub-´rea da Inteligˆncia Artificial chamada Inteligˆncia Artificial a e e Distribu´ (IAD), que dedica-se ao estudo de modelos e t´cnicas para a resolu¸ao de ıda e c˜ problemas cuja a distribui¸ao f´ c˜ ısica ou funcional ´ inerente (GARCIA; SICHMAN, e 2005). ´ E importante salientar que existem diferen¸as fundamentais entre a IAD e as c abordagens cl´ssicas de IA. Enquanto estas ultimas tomam como modelo de ina ´ teligˆncia o comportamento individual humano, utilizando met´foras de origem psie a col´gica, a IAD baseia-se em modelos comportamentais sociais, inspirando-se em o met´foras de cunho sociol´gico e/ou etol´gico (ALVARES; SICHMAN, 1997). a o o A IAD assume como premissa fundamental que “a rela¸˜o do indiv´ ca ıduo com o meio, seja por intera¸ao ou organiza¸˜o, ´ determinante na imers˜o do comportac˜ ca e a mento inteligente” (PARAISO, 1997). Tomando esta premissa como base, a IAD buscou estabelecer modelos, arquiteturas e implementa¸˜es para que conjuntos de co entidades (denominadas agentes) possam executar a¸oes coordenadas dentro de um c˜ contexto social, sempre objetivando um comportamento global coerente (GARCIA; SICHMAN, 2005). Dentro deste contexto, surgem as duas grandes correntes de pesquisa dentro da IAD: a resolu¸˜o distribu´ de problemas (RDP) e os sistemas ca ıda multiagentes (SMA). Os SMA e a RDP diferem em muitos pontos. A principal diferen¸a entre as c abordagens reside na pr´pria concep¸˜o do sistema. Enquanto na RDP, o sistema ´ o ca e explicitamente concebido para que solucione um problema espec´ ıfico proposto, nos sistemas multiagentes o foco est´ na concep¸˜o de modelos gen´ricos de agentes e a ca e nas organiza¸˜es e intera¸oes dos mesmos. Ou seja, os sistemas multiagentes s˜o co c˜ a concebidos de forma que possam ser instanciados num caso particular qualquer. Desta forma, a ˆnfase das pesquisas em sistemas multiagentes ´ nos meios atrav´s e e e dos quais se possa garantir a intera¸ao desej´vel entre os agentes, de modo que c˜ a sociedades de agentes se tornem aptas a resolver problemas propostos a elas, onde a resolu¸ao do problema seja uma conseq¨ˆncia das intera¸oes subjacentes (GARCIA; c˜ ue c˜

46

SICHMAN, 2005). As pesquisas em SMA e RDP interessam a comunidade cient´ ıfica principalmente porque abordagens distribu´ ıdas s˜o mais eficazes quando o objetivo ´ a resolu¸ao de a e c˜ problemas grandes e complexos que necessitam de tipos distintos de conhecimentos e que, eventualmente, envolvam a coleta, manipula¸˜o e armazenamento de dados ca fisicamente distribu´ ıdos (ALVARES; SICHMAN, 1997). Como utilizaremos sistemas multiagentes no modelo proposto neste trabalho, nas pr´ximas se¸˜es eles ser˜o abordados em maiores detalhes, focando-se em seus o co a elementos principais: o ambiente, o agente, a comunica¸˜o e a coordena¸ao. ca c˜

3.1

Ambiente

O ambiente, como o pr´prio termo sugere, representa o “meio” no qual o agente o existe (percebendo e atuando sobre o mesmo). Em (RUSSELL; NORVIG, 2003) ´ e dito que o ambiente representa, essencialmente, o problema para o qual os agentes s˜o a solu¸ao. a c˜ As caracter´ ısticas do ambiente influenciam diretamente o projeto dos agentes que estar˜o inseridos no mesmo. Desta forma, (RUSSELL; NORVIG, 2003) sugere a que antes de projetar um agente, deve-se sempre especificar o ambiente no qual o agente estar´ inserido, de forma t˜o completa quanto poss´ a a ıvel. A variedade de ambientes poss´ ıveis ´, sem d´vida, vasta. Todavia, em (RUSe u SELL; NORVIG, 2003) lista-se um n´mero reduzido de dimens˜es facilmente obu o serv´veis, em fun¸˜o das quais os ambientes podem ser divididos em categorias. a ca Tais categorias s˜o: a Completamente observ´vel versus parcialmente observ´vel: Se os sensores a a do agente permitem acesso completo ao estado completo do ambiente em cada instante, ´ dito que o ambiente ´ completamente observ´vel. Um ambiente ´, e e a e de fato, completamente observ´vel se os sensores do agente detectam todos os a aspectos que s˜o relevantes para a escolha da sua a¸ao neste ambiente. Ama c˜ bientes podem ser parcialmente observ´veis devido ao ru´ no ambiente, a a ıdo sensores imprecisos ou porque aspectos do estado do ambiente est˜o simplesa mente ausentes nos dados do sensor. Determin´ ıstico versus estoc´stico: Um ambiente ´ dito determin´ a e ıstico se o pr´ximo o estado ´ completamente determinado pelo estado corrente e pelas a¸oes selee c˜ cionadas pelo agente, caso contr´rio, o ambiente ´ considerado estoc´stico. Em a e a princ´ ıpio, um agente n˜o precisa se preocupar sobre incerteza em um ambia ente determin´ ıstico e completamente observ´vel. No entanto, se o ambiente for a parcialmente observ´vel, ent˜o ele pode parecer ser estoc´stico. Isto ´ partica a a e

47

ularmente verdade em um ambiente complexo, no qual seja dif´ acompanhar ıcil todos os aspectos inacess´ ıveis. Ent˜o, freq¨entemente ´ prefer´ classificar a u e ıvel um ambiente como determin´ ıstico ou estoc´stico sob a perspectiva do agente. a Epis´dico versus seq¨ encial: Em uma ambiente epis´dico a experiˆncia do agente o u o e ´ dividida em epis´dios atˆmicos. Cada epis´dio consiste na percep¸˜o do e o o o ca ´ crucial que o epis´dio agente e, em seguida, na execu¸ao de uma unica a¸ao. E c˜ ´ c˜ o seguinte n˜o dependa das a¸oes executadas em epis´dios anteriores. Em ama c˜ o bientes epis´dicos, a escolha da a¸˜o em cada apis´dio depende unicamente do o ca o pr´prio epis´dio. Por outro lado, em ambientes seq¨enciais, a decis˜o atual o o u a pode afetar todas as decis˜es futuras. Ou seja, as a¸˜es a curto prazo tˆm o co e efeito a longo prazo, obrigando o agente a “pensar a frente”. ` Est´tico versus dinˆmico: Se o ambiente pode mudar enquanto o agente est´ a a a deliberando, ent˜o o ambiente ´ dinˆmico para este agente, caso contr´rio, ele a e a a ´ est´tico. Ambientes est´ticos s˜o f´ceis de serem tratados porque o agente e a a a a n˜o precisa ficar observando o mundo enquanto est´ decidindo as suas a¸˜es a a co nem se preocupar com a passagem do tempo. Se o ambiente n˜o muda com a a passagem do tempo mas a relac˜o de desempenho (performance score) do a agente sim, ent˜o o ambiente ´ dito semi-dinˆmico (semidynamic). a e a Discreto versus cont´ ınuo: Um ambiente ´ discreto se existe um n´mero limitado e u distinto e claramente definido de percep¸oes e a¸˜es. Por exemplo,o tabuleiro c˜ co de xadrez ´ um ambiente discreto porque existe um n´mero fixo de poss´ e u ıveis movimentos a cada rodada. J´ para dirigir um t´xi, pressup˜e-se um ambiente a a o cont´ ınuo, pois a velocidade e a localiza¸ao do taxi e dos outros ve´ c˜ ıculos varia atrav´s de um intervalo de valores cont´ e ınuos. Agente unico versus multiagente: A distin¸ao entre ambientes que possuem ´ c˜ um unico agente e ambientes que possuem mais de um agente, a princ´ ´ ıpio, parece simples. Todavia, ao projetar um sistema baseado em agentes, deve-se ter o cuidado de observar quais as entidades que far˜o parte deste sistema a devem ser visualizadas como agentes.

3.2

Agente

Analisando a bibliografia dispon´ sobre o assunto, percebe-se que n˜o existe ıvel a um consenso na comunidade acadˆmica em rela¸ao ao conceito de Agente, sendo que e c˜ as defini¸˜es variam conforme o contexto em que o agente encontra-se e conforme a co vis˜o com que o agente ´ abordado neste contexto. Segundo (RUSSELL; NORVIG, a e 2003), um agente ´ tudo que tem a capacidade de perceber o ambiente em que e

48

se encontra atrav´s de sensores e atuar sobre este ambiente atrav´s de atuadores e e (Figura 3.1).

Figura 3.1: Diagrama esquem´tico que representa uma agente gen´rico interagindo a e com o ambiente atrav´s de sensores e atuadores e Analisando sob esta perspectiva, um agente humano percebe o ambiente em que vive atrav´s de seus olhos, ouvidos, entre outros org˜os sensoriais e atua sobre e ´ a este ambiente atrav´s das m˜os, pernas, boca, entre outras partes atuadoras do e a corpo, enquanto, de forma an´loga, um agente software recebe c´digos de teclas a o pressionadas e pacotes de dados de rede, entre outras entradas do ambiente e atua sobre ele exibindo informa¸oes na tela, escrevendo em arquivos, etc. c˜ Em (FERBER, 1999), define-se o agente a partir das propriedades de agenciamento, como uma entidade f´ ısica ou virtual que possui as seguintes propriedades e habilidades: ´ 1. E capaz de atuar em um ambiente. ´ 2. E capaz de comunicar-se com outros agentes. ´ 3. E dirigido por um conjunto de tendˆncias na forma de objetivos individuais. e 4. Possui seus pr´prios recursos. o ´ 5. E capaz de perceber seu ambiente (em uma extens˜o limitada). a 6. Tem somente uma representa¸ao parcial do ambiente. c˜ 7. Possui habilidades e pode oferecer servi¸os. c 8. Pode estar habilitado a se replicar.

49

9. Possui comportamento dirigido de forma a satisfazer seus objetivos, considerando a quantidade e recursos e as habilidades que ele tem dispon´ ıvel, e depende da sua percep¸˜o e das mensagens que recebe. ca Matematicamente falando, o comportamento do agente ´ definido pela fun¸ao e c˜ de agente, a qual mapeia qualquer sequˆncia espec´ e ıfica de percep¸oes em uma a¸˜o. c˜ ca Dentro do contexto da IA que preocupa-se em construir agentes artificiais, a fun¸˜o ca do agente ´ implementada por um programa de agente. e Em geral, os agentes s˜o constru´ a ıdos levando-se em conta o dom´ ınio do problema para o qual s˜o instanciados e a forma com a qual abordamos tal problema. a Dependendo do contexto em que o agente est´ inserido, ´ desej´vel que ele perceba a e a determinados parˆmetros e os mapeie para a¸˜es espec´ a co ıficas, sendo que essas venham a maximizar uma certa medida de desempenho que define o quanto o agente contribuiu para que o estado geral do contexto se aproxime mais da solu¸˜o do ca problema. Em (BORDINI; VIEIRA; MOREIRA, 2001), s˜o sugeridas algumas caracter´ a ısticas gerais de um agente. Note que n˜o se espera todas estas caracter´ a ısticas em todos os agentes, uma vez que algumas delas n˜o teriam utilidade em certas instˆncias de a a problemas. Tais caracter´ ısticas s˜o: a Percep¸˜o: Um agente ´ capaz de perceber o ambiente em que est´. ca e a A¸˜o: As altera¸oes no ambiente s˜o provenientes das a¸oes que os agentes realizam ca c˜ a c˜ constantemente no mesmo. Um agente age sempre com o intuito de atingir seus objetivos. Ou seja, o agente age com o intuito de transformar o ambiente de seu estado atual em um outro estado desejado pelo agente, ou mais pr´ximo o de sua meta; Comunica¸˜o: Umas das a¸oes poss´ ca c˜ ıveis de um agente ´ comunicar-se com outros e agentes da sociedade (que compartilham o mesmo ambiente); Representa¸˜o: O agente possui uma representa¸ao simb´lica expl´ ca c˜ o ıcita daquilo que acredita ser verdade em rela¸˜o ao ambiente e aos outros agentes que ca compartilham aquele ambiente; Motiva¸˜o: Como em SMA os agentes podem ser autˆnomos, ´ essencial que exista ca o e n˜o s´ uma representa¸ao do conhecimento do agente, mas tamb´m uma repa o c˜ e resenta¸˜o dos desejos ou objetivos (aspectos motivacionais) daquele agente; ca em termos pr´ticos, isto significa ter uma representa¸˜o de estados do ambia ca ente que o agente almeja alcan¸ar; como consequˆncia, o agente age sobre o c e ambiente por iniciativa pr´pria para satisfazer estes objetivos; o

50

Delibera¸˜o: Dada uma motiva¸˜o e uma representa¸ao do estado atual do ambica ca c˜ ente em que se encontra o agente, este tem que ser capaz de decidir, dentre os estados de ambiente poss´ ıveis de ocorrerem no futuro, quais de fato ser˜o os a objetivos a serem seguidos por ele; Racioc´ ınio e aprendizagem: T´cnicas de inteligˆncia artificial cl´ssica para racioc´ e e a ınio e aprendizagem podem ser extendidas para m´ltiplos agentes, aumentando u significativamente seu desempenho, por exemplo no que diz respeito a delib` era¸ao; c˜ Em (ALVARES; SICHMAN, 1997) temos a classifica¸ao dos agentes em dois c˜ grandes grupos distintos que incorporam os princ´ ıpios subjacentes ` maioria dos a sistemas inteligentes: agentes cognitivos e agentes reativos. Em (WOOLDRIDGE, 2002) fala-se tamb´m de agentes h´ e ıbridos, os quais mesclam caracter´ ısticas dos dois tipos definidos em (ALVARES; SICHMAN, 1997). Nas subse¸oes a seguir ser´ realc˜ a izada uma breve explana¸˜o sobre os agentes cognitivos e reativos. ca 3.2.1 Agentes cognitivos

Segundo (ALVARES; SICHMAN, 1997) os agentes cognitivos s˜o constru´ a ıdos inspirados em modelos humanos. Desta forma, ambientes nos quais este tipo de agente interage s˜o an´logos a modelos sociais/organizacionais humanos tais como grupos, a a hierarquias, sociedades e mercados. Para compreender melhor os agentes cognitivos, a seguir s˜o apresentadas suas principais caracter´ a ısticas (ALVARES; SICHMAN, 1997): 1. Mantˆm uma representa¸˜o expl´ e ca ıcita de seu ambiente e dos outros agentes da sociedade. 2. Podem manter um hist´rico das intera¸oes e a¸oes passadas, isto ´, tˆm mem´ria o c˜ c˜ e e o do passado. 3. A comunica¸ao entre os agentes ´ feita de modo direto, atrav´s do envio e c˜ e e recebimento de mensagens. 4. Seu mecanismo de controle ´ deliberativo, ou seja, tais agentes raciocinam e e decidem sobre quais objetivos devem alcan¸ar, que planos seguir e quais a¸˜es c co devem ser executadas num determinado momento. 5. Seu modelo de organiza¸˜o ´ baseado em modelos sociol´gicos, como as orgaca e o niza¸oes humanas. c˜ 6. Uma sociedade (coletividade de agentes cognitivos) cont´m tipicamente poucos e agentes, na ordem de uma dezena.

51

3.2.1.1

Arquitetura BDI

Em (BORDINI; VIEIRA; MOREIRA, 2001) ´ dito que as mais importantes e arquiteturas de agentes cognitivos s˜o baseadas na arquitetura BDI. Arquitetura, a esta que representa um modelo de cogni¸ao fundamentado em trˆs aspectos menc˜ e tais principais: cren¸as, desejos e inten¸˜es (beliefs, desires e intentions) (RAO; c co GEORGEFF, 1995). Nesta arquitetura existem trˆs conceitos b´sicos (BORDINI; VIEIRA; MORe a EIRA, 2001): 1. As cren¸as representam aquilo que o agente sabe sobre o estado do ambiente c e dos agentes naquele ambiente (inclusive sobre si mesmo). 2. Os desejos representam estados do mundo que o agente quer atingir. O agente deseja que tais estados se “tornem vedadeiros”. Os desejos podem ser contradit´rios, ou seja, pode-se desejar coisas que s˜o mutuamente exclusivas do o a ponto de vista pr´tico. a 3. As inten¸oes representam seq¨ˆncias de a¸oes espec´ c˜ ue c˜ ıficas que um agente se compromete a fazer para atingir um determinado objetivo. Na Figura 3.2 ilustra-se a arquitetura BDI gen´rica (BORDINI; VIEIRA; MORe EIRA, 2001).

Figura 3.2: Diagrama esquem´tico que representa a arquitetura BDI gen´rica (que a e pode ser vista em (BORDINI; VIEIRA; MOREIRA, 2001)).

52

Em (BORDINI; VIEIRA; MOREIRA, 2001) ´ dito que a ”fun¸ao de revis˜o e c˜ a de cren¸as´´ (chamada FRC Figura 3.2) recebe a informa¸ao sensorial (percebe alc c˜ tera¸oes no ambiente) e, consultando as cren¸as anteriores do agente, atualiza estas c˜ c cren¸as para que elas reflitam o novo estado do ambiente. Com esta nova reprec senta¸ao do estado do ambiente ´ poss´ que novos estados possam ser alcan¸ados c˜ e ıvel c a partir do estado atual. Consultando quais as inten¸oes com as quais o agente j´ c˜ a est´ comprometido, a ”fun¸˜o gera op¸oes´´ verifica as novas alternativas do agente a ca c˜ (o que o agente pode fazer neste momento) e, em seguida, ocorre uma delibera¸˜o ca para a escolha de algumas destas op¸oes com as quais o agente se comprometer´ (atc˜ a ualizando os desejos do agente). Definido o conhecimento e a motiva¸ao do agente, c˜ ´ preciso, em seguida, decidir que curso de a¸oes espec´ e c˜ ıfico ser´ usado para alcan¸ar a c os objetivos atuais do agente. Para isto ´ preciso levar em conta os outros cursos e de a¸˜es com os quais o agente j´ se comprometeu, para evitar a¸oes incoerentes. co a c˜ Finalmente, a ”fun¸˜o filtro´´ atualiza o conjunto de inten¸˜es do agente, com base ca co nas cren¸as e desejos atualizados e nas inten¸oes j´ existentes. Dado um conjunto c c˜ a de inten¸˜es, a escolha, pela fun¸ao a¸ao, de qual a¸ao espec´ co c˜ c˜ c˜ ıfica ser´ realizada no a ambiente pelo agente a cada momento, ´ relativamente simples. e 3.2.2 Agentes reativos

Os agentes reativos surgiram como alternativa aos agentes cognitivos para atuar em contextos nos quais estes ultimos n˜o apresentavam uma performance satisfat´ria ´ a o (WOOLDRIDGE, 2002). O principal motivo que levou os pesquisadores a buscar alternativas ` abordagem cognitiva reside na dificuldade que os agentes cognitivos a apresentam em lidar com ambientes dinˆmicos ou desconhecidos. Dificuldade esta a que adv´m das caracter´ e ısticas fundamentais da abordagem cognitiva: representa¸ao c˜ expl´ ıcita de conhecimento sobre o ambiente e tomada de decis˜o baseada em coma plexos processamentos simb´licos. Em ambientes dinˆmicos ou desconhecidos, tais o a caracter´ ısticas representam um ˆnus operacional. Pois representar explicitamente (e o atualizar constantemente) o conhecimento sobre este tipo de ambiente ´ extremae mente dif´ al´m do racioc´ simb´lico demandar muito tempo, compromentendo ıcil, e ınio o o tempo de rea¸˜o do agente ao ambiente (que pode mudar de configura¸ao rapidaca c˜ mente) (ALVARES; SICHMAN, 1997). Buscando alternativas a IA simb´lica (BROOKS, 1990) surgiram algumas novas ` o abordagens para a constru¸ao de agentes. Algumas premissas s˜o comuns ` todas c˜ a a estas abordagens em quest˜o. Entre tais premissas, destacam-se trˆs principais a e (WOOLDRIDGE, 2002): 1. A n˜o utiliza¸ao de representa¸oes simb´licas e nem de processos de tomada a c˜ c˜ o de decis˜o baseadas nestas representa¸oes. a c˜

53

2. A id´ia de comportamento inteligente vista como fundamentalmente ligada ao e ambiente que o agente ocupa. Ou seja, a inteligˆncia ´ vista como o resultado e e da intera¸ao do agente com o ambiente em que o mesmo est´. c˜ a 3. A id´ia de que o comportamento inteligente emerge da intera¸˜o de v´rios e ca a comportamentos simples. A abordagem reativa para constru¸ao de agentes parte destas premissas e possui c˜ as seguintes caracter´ ısticas (ALVARES; SICHMAN, 1997): 1. N˜o h´ representa¸ao expl´ a a c˜ ıcita de conhecimento. O conhecimento dos agentes ´ impl´ e ıcito e se manifesta atrav´s do seu comportamento. e 2. N˜o h´ representa¸ao do ambiente. O comportamento dos agentes se baseia a a c˜ no que ´ percebido a cada instante do ambiente, mas sem uma representa¸˜o e ca expl´ ıcita deste. 3. N˜o h´ mem´ria das a¸oes. Os agentes reativos n˜o mant´m um hist´rico de a a o c˜ a e o suas a¸oes, de forma que o resultado de uma a¸ao passada n˜o exerce nenhuma c˜ c˜ a influˆncia sobre as suas a¸˜es futuras. e co 4. Organiza¸˜o etol´gica. A forma de organiza¸ao dos agentes reativos ´ similar ca o c˜ e a dos insetos, em oposi¸ao ` organiza¸ao dos sistemas cognitivos, baseada em c˜ a c˜ sociedades humanas. 5. Existˆncia de um grande n´mero de membros. Os sistemas multiagentes e u reativos tˆm, em geral,um grande n´mero de agentes, da ordem de dezenas, e u centenas ou mesmo milh˜es. Cada agente ´ bastante simples e atividades o e complexas demandam um grande n´mero de agentes. u Em (ALVARES; SICHMAN, 1997) ´ dito que os agentes reativos s˜o muito e a simples e n˜o possuem representa¸ao de seu ambiente. Desta forma, todas as ina c˜ forma¸oes relativas ao seu comportamento est˜o no ambiente e suas rea¸oes depenc˜ a c˜ dem unicamente de sua percep¸ao deste ambiente. Eles n˜o mant´m hist´ricos de c˜ a e o suas a¸oes passadas nem podem antecipar (planejar) o futuro. Tais agentes apenas c˜ reagem ` percep¸˜o do ambiente, sem relfetir sobre o mesmo (modelo est´ a ca ımulo → resposta). Todavia, apesar desta simplicidade individual, em grupo s˜o capazes de realizar tarea fas bastante complexas. Em geral, os m´todos cl´ssicos de resolu¸ao de problemas definem um detere a c˜ minado problema em uma perspectiva global com abordagens de resolu¸ao que se c˜ aplicam diretamente sobre esta defini¸ao. Os modelos baseados em sistemas mulc˜ tiagentes reativos, ao contr´rio, abordam o problema como sendo um conjunto de a agentes em intera¸ao, cada um deles com os seus pr´prios objetivos (comportamenc˜ o tos) individuais (ALVARES; SICHMAN, 1997).

54

3.2.2.1

Arquitetura de subsun¸˜o ca

Em (BROOKS, 1986) ´ apresentada a arquitetura de subsun¸˜o. Uma arquitee ca tura bastante utilizada atualmente para a constru¸ao de agentes reativos que surgiu c˜ a partir da formula¸ao de trˆs teses pelo seu criador Rodney Brooks. As trˆs teses c˜ e e em quest˜o s˜o (WOOLDRIDGE, 2002): a a 1. O comportamento inteligente pode ser gerado sem representa¸oes expl´ c˜ ıcitas do conhecimento. 2. O comportamento inteligente pode ser gerado sem racioc´ abstrato expl´ ınio ıcito. 3. Inteligˆncia ´ uma propriedade que emerge de certos sistemas complexos. e e Duas caracter´ ısticas b´sicas identificam a arquitetura proposta por Brooks. A a primeira delas ´ a modelagem do processo de tomada de decis˜o de um agente e a como um conjunto de comportamentos de realiza¸˜o de tarefas. Nesta abordagem ca os agentes ficam continuamente “percebendo o ambiente” e mapeando tais percep¸oes em uma a¸ao a ser realizada posteriormente. Computacionalmente falando, c˜ c˜ os m´dulos de comportamento, que n˜o devem conter representa¸oes simb´licas o a c˜ o complexas e tampouco racioc´ ınio complexo, podem ser implementados como uma m´quina de estados. Em geral, os comportamentos dos agentes, constru´ a ıdos a partir da arquitetura de subsun¸ao, s˜o implementados como mapeamentos diretos de c˜ a ¸˜ ¸˜ percep¸oes em a¸oes ( P ercepcao → Acao ). A segunda caracter´ c˜ c˜ ıstica que identifica esta arquitetura ´ existˆncia de uma distribui¸˜o hier´rquica do conjunto de compore e ca a tamentos do agente (BROOKS, 1986); (WOOLDRIDGE, 2002). Esta distribui¸˜o ca hier´rquica dos comportamentos objetiva possibilitar a sele¸˜o da a¸˜o a ser disa ca ca parada a partir de uma determinada percep¸˜o, uma vez que existe a possibilidade ca de muitos comportamentos serem disparados ao mesmo tempo (WOOLDRIDGE, 2002). Na hierarquia proposta por (BROOKS, 1986), camadas (comportamentos) inferiores inibem camadas superiores, ou seja, quanto mais inferior for a camada do comportamento, maior ser´ sua prioridade (WOOLDRIDGE, 2002). Estas duas a caracter´ ısticas fundamentais da arquitetura de subsun¸ao possibilitam a sele¸ao de c˜ c˜ um determinado comportamento de acordo com a prioridade do comportamento para o estado atual do agente. Na Figura 3.3 ilustra-se uma arquitetura de subsun¸ao para um robˆ hipot´tico c˜ o e cujo comportamento resume-se a andar aleatoriamente pelo ambiente, e evitar obst´culos a que, eventualmente, possam surgir em sua trajet´ria. Neste caso desviar de obst´culos o a ´ um comportamento mais b´sico do que andar aleatoriamente, pois ao colidir com e a um obst´culo o robˆ pode ficar inoperante. Desta forma, por possuir prioridade a o maior, o m´dulo de comportamento “evitar obst´culos” reside no n´ inferior da o a ıvel

55

hierarquia de subsun¸ao, enquanto o comportamento “andar aleatoriamente” ´ estac˜ e belecido no n´ superior. Assim, o comportamento mais b´sico “evitar obst´culos” ıvel a a pode inibir o comportamento “andar aleatoriamente”.

Figura 3.3: Arquitetura de subsun¸ao que descreve o comportamento de um robˆ c˜ o hipot´tico. e

3.2.2.2

Campos potenciais

O modelo de campos potenciais ´ bastante utilizado na modelagem de trajet´rias e o para a navega¸ao de robˆs m´veis (MEZENCIO, 2002). A id´ia b´sica que norteia c˜ o o e a este modelo ´ a de que a todo instante for¸as s˜o exercidas sobre o robˆ (agente), e c a o sendo algumas delas atrativas (os objetivos do robˆ, por exemplo) e outras repulo sivas (os obst´culos que o robˆ encontra, por exemplo) (MEZENCIO, 2002). A a o navega¸˜o do robˆ ´ realizada atrav´s de um modelo vetorial. Desta forma, a traca oe e jet´ria do robˆ ´ definida em fun¸ao do vetor resultante das for¸as que atuam sobre o oe c˜ c ele no momento. Os vetores apresentam trˆs caracter´ e ısticas fundamentais que s˜o: a magnitude (intensidade do vetor), dire¸˜o e sentido. Dentro do modelo de campos ca potenciais os vetores s˜o utilizados tanto para definir intensidade, dire¸ao e sentido a c˜ das for¸as atuantes sobre o robˆ como para modelar a velocidade, dire¸ao e o sentido c o c˜ em que o robˆ se desloca. o O modelo de campos potenciais abarca cinco tipos fundamentais de campos (o robˆ pode sofrer influˆncia de apenas um deles ou de um conjunto deles), os quais o e s˜o: a Campo de atra¸˜o: o robˆ ”sente”a for¸a atrativa de determinado objeto,desta ca o c forma, o robˆ ´ atra´ para o objeto (Figura 3.4). oe ıdo Campo de Repuls˜o: ao contr´rio da for¸a atrativa, a for¸a repulsiva afasta o a a c c robˆ do objeto que exerce a for¸a repulsiva (Figura 3.5). o c Campo tangencial: esse campo faz com que o robˆ tangencie um objeto ficando o pr´ximo ao objeto, por´m sem poder tocar o mesmo (Figura 3.6 ). o e

56

Figura 3.4: Exemplo de um campo potencial de atra¸˜o. ca

Figura 3.5: Exemplo de um campo potencial de repuls˜o. a Campo perpendicular: os vetores apontam perpendicularmente para algum objeto ou limite do campo, podendo ser um campo de atra¸˜o ou repuls˜o. E ca a ´ bastante utilizado para orientar robˆs ao longo de uma parede ou borda do o ambiente, por exemplo (Figura 3.7). Campo uniforme: os vetores apontam para uma unica dire¸ao. E bastante uti´ c˜ ´ lizado para definir comportamentos como “siga a linha” (Figura 3.8).

3.3

Comunica¸˜o ca

A comunica¸ao entre os agentes pode se dar de diversas formas, dependendo c˜ da categoria em que se inserem (cognitivos ou reativos) e do tipo de ambiente em que se encontram. Em geral, a intera¸ao entre agentes cognitivos envolve comuc˜ nica¸ao expl´ c˜ ıtica. Enquanto entre os agentes reativos, quando h´ comunica¸˜o, ela a ca ´ impl´ e ıcita e realizada atrav´s de estigmergia (comunica¸ao atrav´s de marcas deixe c˜ e adas no ambiente, como a utiliza¸ao do feromˆnio por algumas esp´cies de insetos). c˜ o e Em (BORDINI; VIEIRA; MOREIRA, 2001) ´ dito que os agentes comunicame se buscando atingir os seus objetivos em um ambiente compartilhado. Em uma sociedade, as a¸˜es de agentes s˜o a¸oes coordenadas, seja para cooperar ou comco a c˜ petir (negociar). Desta forma, pode-se perceber que em qualquer modelo de coordena¸ao utilizado por agentes cognitivos, a comunica¸ao tem, em geral, importˆncia c˜ c˜ a fundamental. A comunica¸ao expl´ c˜ ıcita utilizada pelos agentes cognitivos ´ norteada pela teoria e

57

Figura 3.6: Exemplo de um campo potencial tangencial.

Figura 3.7: Exemplo de um campo potencial perpendicular. dos atos de fala, desenvolvida pelo fil´sofo inglˆs John Langshaw Austin. Tal teoo e ria assume como premissa fundamental que todo o enunciado expresso em alguma linguagem possui dois componentes distintos: o conte´do semˆntico e a inten¸ao u a c˜ do falante. Pois um mesmo conte´do semˆntico pode estar presente em diversas u a situa¸oes comunicativas, expressando inten¸oes completamente diferentes. Desta c˜ c˜ forma, a teoria proposta por Austin caracteriza a diferen¸a entre a emiss˜o de uma c a express˜o (enuncia¸ao), a inten¸ao do falante e o efeito no mundo, da seguinte forma: a c˜ c˜ Locu¸˜o: ´ o enunciado emitido pelo falante atrav´s de algum meio (por exemplo ca e e fala ou escrita). Ilocu¸˜o: ´ a inten¸ao associada ao enunciado do falante. ca e c˜ Perlocu¸˜o: ´ a a¸ao resultante ou efeito da locu¸ao. ca e c˜ c˜ Para ilustrar essa categoriza¸ao, tomemos dois indiv´ c˜ ıduos hipot´ticos A e B. O e indiv´ ıduo A diz para B: “Est´ muito frio nesta sala”. A afirma¸˜o de A pode estar a ca carregando uma inten¸ao indireta de solicitar a B que ele feche a janela da sala. c˜ Locu¸˜o: “Est´ muito frio nesta sala”. ca a Ilocu¸˜o: A solicita indiretamente que B feche a janela da sala. ca Perlocu¸˜o: B fecha a janela da sala. ca

58

Figura 3.8: Exemplo de um campo potencial uniforme. Esses enunciados que objetivam a realiza¸ao de uma a¸ao e n˜o apenas a transc˜ c˜ a miss˜o de um conte´do de sentido s˜o chamados por Austin de enunciados perfora u a mativos. A for¸a ilocucion´ria de uma senten¸a performativa pode ser classificada conc a c forme o tipo de a¸ao pretendida. Em (BORDINI; VIEIRA; MOREIRA, 2001) os c˜ performativos s˜o classificados da seguinte forma: a Assertivas ou Representativas: o falante comunica que acredita na veracidade da express˜o (por exemplo, atrav´s de asser¸˜o ou conclus˜o). a e ca a Diretivas: o falante tem por inten¸ao provocar o ouvinte a realizar uma a¸ao (por c˜ c˜ exemplo, requisi¸ao, pergunta, ordem, proibi¸ao, permiss˜o). c˜ c˜ a Comissivas: o falante se compromete com a realiza¸˜o de uma a¸ao no futuro ca c˜ (por exemplo, promessa, amea¸a). c Expressivas: o falante expressa um estado psicol´gico (por exemplo, agradecio mento, pedido de desculpas). Declarativas: tˆm como efeito imediato uma mudan¸a de estado do mundo (por e c exemplo, uma declara¸˜o de guerra). ca Dentro do contexto da comunica¸ao entre agentes cognitivos, a teoria dos atos de c˜ fala ´ utilizada como modelo no qual s˜o estruturadas algumas linguagens de comue a nica¸ao entre agentes. Tais linguagens tem o prop´sito de padronizar o formato da c˜ o mensagem, al´m de transportar o conte´do semˆntico e a for¸a ilocut´ria associada e u a c o (descrita explicitamente). As linguagens de comunica¸ao de agentes mais utilizadas c˜ atualmente s˜o a ACL (Agent Communication Language), a KIF (Knowledge Ina terchange Format) e a KQML (Knowledge Query and Manipulation Language). Para ilustrar o formato de uma mensagem KQML imaginemos dois agentes hipot´ticos A e B. O agente A envia para B uma mensagem anunciando que pode e processar mensagens do tipo especificado (ask-if). O conte´do da mensagem ´ uma u e mensagem da linguagem KQML, de acordo com um ontologia sobre esta linguagem

59

(kqml-ontology). Na mensagem ´ dada uma identifica¸˜ao (id1) para ser utilizada e ca por mensagens subseq¨uentes enviadas como resposta: u (advertise :sender A :receiver B :reply-with id1 :language KQML :ontology kqml-ontology :content (ask-if :sender B :receiver A :in-reply-to id1 :language prolog :ontology SBC :content ”professor(X,Y)”))

Al´m da teoria dos atos de fala e das linguagens de comunica¸ao que s˜o estrutue c˜ a radas em fun¸˜o desta teoria, um outro elemento importante na comunica¸ao entre ca c˜ agentes ´ a arquitetura de comunica¸˜o. e ca Arquiteturas de comunica¸ao s˜o mecanismos pelos quais as mensagens s˜o transc˜ a a portadas de um emissor para um receptor. Dentro de um ambiente de agentes cognitivos, as arquiteturas de comunica¸ao mais conhecidas s˜o a arquitetura de c˜ a quadro negro (blackboard), a arquitetura de mensagens diretas e a arquitetura de comunica¸˜o assistida (baseada em facilitadores ou interpretadores). ca Arquitetura de quadro negro: A arquitetura de quadro negro fornece uma estrutura de dados central, unica e compartilhada, entre os v´rios agentes, onde ´ a as informa¸oes podem ser lidas e escritas durante o desenvolvimento de tarec˜ fas (CORKILL, 1991). Todas as intera¸oes comunicativas ocorrem atrav´s do c˜ e quadro negro e, por esta raz˜o, os agentes devem consultar de tempos em a tempos a estrutura para verificar se, por exemplo, existe alguma informa¸ao c˜ nova endere¸ada a eles. c Arquitetura de mensagens diretas: Neste tipo de arquitetura os agentes tratam de sua pr´pria comunica¸ao sem interven¸˜o alheia. Para tanto, cada agente o c˜ ca deve incorporar todo um mecanismo pr´prio de emiss˜o e recep¸˜o de meno a ca sagens, al´m de necessitar armazenar informa¸oes detalhadas sobre todos os e c˜ outros agentes com os quais deseja comunicar-se (LUCENA, 2003). Al´m do e elevado n´ ıvel de complexidade que o agente adquire, por ter que tratar, de

60

forma independente, de toda a sua comunica¸˜o, esta arquitetura tamb´m ca e possui o inconveniente de ter que tratar um grande volume de comunica¸ao, c˜ uma vez que todos os agentes podem resolver comunicar ao mesmo tempo. Arquitetura de comunica¸˜o assistida: Neste tipo de arquitetura, para efetca uar a comunica¸ao com outros agentes, o agente se ap´ia em entidades especic˜ o ais chamadas “agentes facilitadores”. O problema do gerenciamento da comunica¸ao ´ resolvida parcialmente, reduzindo consideravelmente a complexidade c˜ e necess´ria aos agentes individuais na realiza¸ao da comunica¸ao (LUCENA, a c˜ c˜ 2003). Todavia, apesar das vantagens evidentes em rela¸˜o a arquitetura de ca ` mensagens diretas, esta arquitetura introduz a centraliza¸ao da comunica¸ao c˜ c˜ e esta centraliza¸˜o, al´m de representar um poss´ ca e ıvel “gargalo” do sistema, pode comprometer toda a comunica¸ao do sistema se o “agente facilitador” c˜ falhar.

3.4

Coordena¸˜o ca

Segundo (JUCHEM; BASTOS, 2001), em sistemas multiagentes, fundamentalmente, est´ envolvida a busca por uma funcionalidade que permita que os agentes a possam coordenar seus conhecimentos, objetivos, habilidades e planos individuais de uma forma conjunta, buscando a satisfa¸ao de uma necessidade que o sistema modc˜ ela. Desta forma, pode-se perceber que a coordena¸ao ´ um dos elementos centrais c˜ e dos SMA, pois sem coordena¸ao, os benef´ c˜ ıcios advindos da resolu¸ao distribu´ de c˜ ıda problemas, desaparecem (JUCHEM; BASTOS, 2001). Em sistemas multiagentes baseados em agentes cognitivos, a coordena¸˜o do ca mesmo ´ fundamentalmente relacionada a comunica¸ao expl´ e ` c˜ ıcita entre os agentes que o comp˜e. Ou seja, para que os agentes possam se coordenar, devem possuir a o habilidade de se comunicar. Um mecanismo muito utilizado para implementar a coordena¸ao de SMA baseac˜ dos em agentes cognitivos ´ o protocolo de rede contratual (contract net) (JUCHEM; e BASTOS, 2001), o qual ´ inspirado nos processos de contrata¸ao de servi¸os (ree c˜ c aliza¸ao de tarefas) existentes em organiza¸oes humanas. Neste processo, agentes c˜ c˜ coordenam suas a¸˜es atrav´s de contratos que firmam o cumprimento de seus objeco e tivos espec´ ıficos. Neste cen´rio existe um agente que atua como gerente, decompondo a seus contratos em subcontratos a serem realizados por outros potenciais agentes empreiteiros. Todas esas contrata¸oes s˜o realizadas atrav´s de trocas de mensagens c˜ a e entre os agentes envolvidos. Em sistemas multiagentes baseados em agentes reativos, o problema global a ser resolvido pelos agentes n˜o ´ expl´ a e ıcito, est´ impl´ a ıcito nas intera¸oes de baixo n´ c˜ ıvel. Desta forma, a coordena¸˜o de tais agentes ocorre justamente no n´ local, visando ca ıvel

61

a satisfa¸˜o de restri¸˜es deste n´ ca co ıvel. A coordena¸ao global de sistemas deste tipo, c˜ em geral, ocorre atrav´s da auto-organiza¸ao. Na auto-organiza¸˜o, estruturas e e c˜ ca comportamentos globais resultam da intera¸˜o entre componentes de n´ ca ıveis inferiores (PARUNAK; BRUECKNER, 2001). A auto-organiza¸˜o est´ relacionada ao ca a conceito de emergˆncia. e No presente trabalho, os conceitos relacionados ` emergˆncia s˜o de importˆncia a e a a fundamental. Desta forma, tais conceitos ser˜o detalhados na pr´xima se¸ao. a o c˜

3.5

Emergˆncia e

A no¸ao de emergˆncia ´ bastante ampla e possui v´rios sentidos (DESSALLES; c˜ e e a GALAM; PHAN, 2005). Em geral, ´ dito que uma propriedade de um sistema come plexo ´ emergente quando esta surge a partir das propriedades e rela¸˜es inerentes e co aos elementos constituintes de n´ ıveis hier´rquicos inferiores a ela, sendo que tal proa priedade n˜o ´ nem previs´ a partir e nem redut´ ` estas caracter´ a e ıvel ıvel a ısticas de n´ ıvel inferior (DESSALLES; GALAM; PHAN, 2005); (EMMECHE, 1997). Para ilustrar o conceito de emergˆncia podemos citar fenˆmenos cotidianos como a textura de e o um bolo e as formas das nuvens, por exemplo. A textura do bolo ´ vista como o e resultado complexo do processo de cozimento e das rea¸oes qu´ c˜ ımicas entre os ingredientes constituintes, al´m de outros in´meros fatores. J´ a forma de uma nuvem pode e u a ser desencadeada e desenvolvida a partir da intera¸˜o de centenas de fatores (temca peratura ambiente, incidˆncia do sol, angulo desta incidˆncia, taxa de evapora¸ao e ˆ e c˜ d’´gua, velocidade dos ventos, natureza das substˆncias constituintes,...). Nos dois a a casos, o fenˆmeno n˜o pode ser descrito formalmente a partir das caracter´ o a ısticas, propriedades e/ou intera¸oes dos elementos do n´ inferior. c˜ ıvel Em (BONABEAU; DESSALES; GRUMBACH, 1995a) e (BONABEAU; DESSALES; GRUMBACH, 1995b) s˜o apontados alguns fatores fundamentais para que um a fenˆmeno emergente possa ocorrer: o 1. Atores: Agentes interativos que possuem duas habilidades fundamentais: Percep¸ao local e habilidade de atuar localmente c˜ 2. Espectadores: uma ou mais entidades que possuem percep¸ao global, sens´ c˜ ıveis ao fenˆmeno emergente. o 3. Um processo com as seguintes caracter´ ısticas: • Um estado inicial, baseado em um n´ organizacional N ıvel • Uma sequˆncia de eventos, que leva o sistema do estado inicial a e • Um estado final, que corresponde a uma organiza¸ao superior, N’. c˜

62

4. Uma escala de tempo para a ocorrˆncia da evolu¸˜o descrita pelo processo e ca acima (3), sendo que tal escala de tempo deve ser compat´ com as escalas ıvel de tempo do(s) ator(es) e espectador(es). Neste contexto, (BONABEAU; DESSALES; GRUMBACH, 1995a) e (BONABEAU; DESSALES; GRUMBACH, 1995b) identificam as no¸˜es de “n´ co ıvel” e “observador” como fundamentais para a compreens˜o da emergˆncia. a e Segundo (BONABEAU; DESSALES; GRUMBACH, 1995a), o aspecto emergente de um determinado fenˆmeno est´ relacionado ao ponto de vista de um deo a terminado observador deste fenˆmeno, ou seja, a emergˆncia n˜o ´ intr´ o e a e ınseca ao fenˆmeno, mas relacionada ao sistema global (fenˆmeno + observador). o o Em (BONABEAU; DESSALES; GRUMBACH, 1995b), pode-se perceber que a ocorrˆncia de um fenˆmeno emergente est´ intimamente relacionada ` existˆncia de e o a a e m´ltiplos n´ u ıveis (dois ou mais) distintos de organiza¸˜o e de descri¸˜o. ca ca Em rela¸˜o a no¸ao de n´ ca ` c˜ ıvel de organiza¸˜o, algumas caracter´ ca ısticas fazem-se necess´rias para caracterizar um fenˆmeno emergente: a o 1. Multiplicidade de n´ ıveis: 2. Uma regra de composi¸˜o define entidades de n´ superior a partir de entica ıvel dades do n´ inferior. ıvel 3. Rela¸˜o entre os n´ ca ıveis (analogia, hierarquia,...) 4. Irredutibilidade: N˜o ´ poss´ a e ıvel suprimir um n´ ıvel. N˜o pode-se conectar a diretamente o n´ n − 1 diretamente ao n´ n + 1. ıvel ıvel 5. Autonomia de um n´ ıvel: A existˆncia de propriedades, rela¸˜es, regras come co portamentais, etc, dizem respeito as entidades de um determinado n´ ` ıvel, independentemente dos demais n´ ıveis. Podemos compreender melhor a emergˆncia como um fenˆmeno multi-n´ ore o ıvel ganizacional a partir da Figura 3.9: Neste esquema, temos E representando o conjunto de elementos e do n´ n − 1, ıvel temos C representando as regras externas de composi¸ao de elementos do conjunto c˜ E para elementos do conjunto E . Temos R representando rela¸oes potenciais em E, c˜ e R as rela¸˜es potenciais em E . Desta forma < E , R > ´ considerado um n´ co e ıvel de organiza¸˜o se existir uma rela¸˜o R em E que n˜o pode ser completamente ca ca a descrita a partir das rela¸oes R em E. c˜ Em rela¸˜o a no¸ao de n´ de descri¸ao, (BONABEAU; DESSALES; GRUMca ` c˜ ıvel c˜ BACH, 1995b) afirma que, num determinado sistema em que ocorre um fenˆmeno o

63

Figura 3.9: Fenˆmeno emergente em um perspectiva multi-n´ organizacional o ıvel

emergente, as propriedades que s˜o observadas nos elementos constituintes, n˜o poa a dem ser observadas da mesma forma nos conjuntos de tais elementos, s˜o necess´rios a a n´ ıveis de descri¸oes distintos para abarcar as diferentes propriedades. c˜ Os n´ ıveis de descri¸ao dependem totalmente do observador, relacionando-se dic˜ retamente ao que ele est´ observando no momento e de seu ponto de vista. a Em (CARIANI, 2001) categoriza-se trˆs grandes modelos distintos sobre o cone ceito de emergˆncia. Os trˆs modelos s˜o: emergˆncia computacional, emergˆncia e e a e e termodinˆmica e emergˆncia relativa a um modelo. A emergˆncia termodinˆmica a e e a ´ caracterizada pelo surgimento de ordem a partir do ru´ e ıdo, onde micro-processos estoc´sticos geram macro-estruturas ou macro-comportamentos discretos. Como a exemplo ilustrativo da emergˆncia termodinˆmica pode-se citar o comportamento e a dos gases. O movimento estoc´stico dos atomos e mol´culas que comp˜e o g´s dea ´ e o a finem a temperatura, a press˜o e o volume do g´s, no n´ superior de observa¸ao. a a ıvel c˜ A emergˆncia relativa a um modelo ´ definida como um desvio do comportamento e e de um determinado sistema f´ ısico do modelo que o observador possui do mesmo, onde, a partir deste desvio, o observador obriga-se a mudar o modelo que possu´ ıa deste sistema, para que possa continuar a prever, de forma eficaz, os fenˆmenos que o ocorrem no mesmo. Neste contexto, pode-se citar a evolu¸ao de novos org˜os sensoc˜ ´ a riais em organismos vivos a partir de estruturas orgˆnicas mais simples. Por fim, a a emergˆncia computacional est´ relacionada a manifesta¸ao de novas formas (estrue a ` c˜ turas, comportamentos,...) globais a partir de intera¸oes locais. Ou seja, uma macroc˜ ordem complexa resulta da micro-ordem simples. Um exemplo cl´ssico que ilustra a esta categoria ´ a simula¸˜o do comportamento de bandos (flocking) (SINKOVITS, e ca 2006);(OLFATI-SABER, 2006), na qual agentes obedecem um conjunto de regras

64

simples, que s˜o aplicadas por cada agente a partir da observa¸ao de parˆmetros a c˜ a locais (posi¸ao e dire¸ao dos agentes mais pr´ximos) e que resultam em complexos c˜ c˜ o comportamentos de bandos que simulam comportamentos coletivos encontrados na natureza (cardumes de peixes, enxame de abelhas,...)(OLFATI-SABER, 2006). Dentro do contexto deste trabalho, o conceito de emergˆncia ´ utilizado na e e gera¸ao de informa¸ao inicial, a partir da qual o algoritmo de s´ c˜ c˜ ıntese estoc´stica gera a a melodia final. Assim, foi concebido um mecanismo que possibilita a emergˆncia e de distribui¸oes de probabilidades (em matrizes de probabilidades de transi¸˜o de c˜ ca estados) a partir da intera¸ao entre agentes reativos. c˜ Optou-se pela utiliza¸˜o do conceito de emergˆncia para a gera¸˜o da informa¸ao ca e ca c˜ inicial porque um dos objetivos deste trabalho era facultar o surgimento de estruturas musicais n˜o pensadas inicialmente pelo compositor. Desta forma, buscamos a uma alternativa que proporcionasse uma certa dissocia¸ao, em rela¸ao aos procesc˜ c˜ sos cognitivos do compositor, entre as configura¸˜es iniciais (que, em geral, s˜o co a fornecidas pelo compositor) e o resultado mel´dico final. Essa dissocia¸ao objetiva o c˜ contornar o “v´ ıcio” do compositor, que, mesmo de forma n˜o consciente, pode vir a a determinar entradas que visem a gera¸ao de determinads sa´ c˜ ıdas.

65

4 ARQUITETURA MULTIAGENTES PARA S´ INTESE ´ ´ MELODICA ESTOCASTICA

O modelo proposto neste trabalho tem como objetivo a gera¸ao de sequˆncias c˜ e ´ mel´dicas. E importante salientar que o modelo proposto n˜o tem pretens˜es o a o est´ticas espec´ e ıficas e preocupa-se basicamente em produzir uma sequˆncia de ale turas e dura¸oes de notas musicais, sem atentar para certos detalhes estruturais da c˜ m´sica, como, por exemplo, a constru¸ao de compassos bem definidos. u c˜ No modelo proposto, a sequˆncia mel´dica final ´ composta a partir de cadeias e o e de Markov de primeira ordem, as quais, por sua vez, s˜o geradas a partir de matrizes a de probabilidades de transi¸˜o que s˜o constru´ ca a ıdas de forma emergente, atrav´s da e intera¸˜o de agentes reativos em ambientes multiagentes. ca O modelo de gera¸˜o mel´dica proposto constitui-se de uma estrutura hier´rquica ca o a que possui trˆs camadas distintas, onde a camada superior ´ abastecida com ine e forma¸oes geradas pela camada inferior. Sob uma perspectiva de processos, o proc˜ cesso de gera¸ao mel´dica que ocorre com base neste modelo pode ser dividido em c˜ o trˆs estapas distintas, as quais requerem interven¸˜o do usu´rio. As trˆs camadas e ca a e (e etapas) que constituem o modelo s˜o: gera¸ao emergente de matrizes de probaa c˜ bilidades de transi¸ao, gera¸˜o de modelos probabil´ c˜ ca ısticos geradores de segmentos mel´dicos e s´ o ıntese mel´dica estoc´stica. o a A figura 4.1 representa um diagrama esquem´tico da estrutura do modelo de a gera¸ao mel´dica proposto neste trabalho. Em C1 (camada 1) temos a primeira c˜ o camada, a qual encapsula o processo de gera¸˜o emergente de matrizes de probabilca idades de transi¸˜o. Em C2 est´ representada a segunda camada, a qual, por sua ca a vez, representa o processo de constru¸ao de modelos probabil´ c˜ ısticos para gera¸˜o ca de segmentos mel´dicos. Em C3 representa-se a terceira e ultima camada, na qual o ´ ocorre o processo de composi¸ao mel´dica estoc´stica, propriamente dita. Tamb´m c˜ o a e est˜o representados na figura em quest˜o os ambientes multiagentes respons´veis a a a pela gera¸˜o das matrizes de probabilidades de transi¸ao de alturas, em A e pela ca c˜ gera¸ao das matrizes de probabilidades de transi¸ao de dura¸oes, em B. Al´m c˜ c˜ c˜ e disso, na figura em quest˜o tamb´m est˜o representados os fluxos de informa¸˜o a e a ca

66

Figura 4.1: Diagrama esquem´tico do modelo de gera¸ao de sequˆncias mel´dicas a c˜ e o proposto por este trabalho. que trafegam entre as camadas. Em C e D, respectivamente, est˜o representados os a conjuntos de matrizes de probabilidades de transi¸ao de alturas e os conjuntos de c˜ matrizes de probabilidades de transi¸˜o de dura¸oes, gerados em C1 para alimentar ca c˜ o processo em C2. Em E, representa-se o conjunto de modelos probabil´ ısticos para gera¸ao de segmentos mel´dicos, gerados em C2 para alimentar o processo em C3. c˜ o Por fim, em F , representa-se o resultado final, a composi¸ao mel´dica resultante. c˜ o Nas pr´ximas se¸oes, ser´ realizada uma explana¸ao mais detalhada a respeito o c˜ a c˜ de cada uma das camadas que comp˜e a estrutura ilustrada pela figura 4.1. o

4.1

Camada de gera¸˜o emergente de matrizes de probabilca idades de transi¸˜o ca

A camada inferior do modelo proposto por este trabalho ´ respons´vel pela e a gera¸ao de matrizes de probabilidades de transi¸ao, as quais posteriormente ser˜o c˜ c˜ a utilizadas no processo de gera¸˜o de modelos probabil´ ca ısticos para gera¸˜o de segca mentos mel´dicos, na camada intermedi´ria. o a Esta primeira camada consiste basicamente em dois ambientes multiagentes, um no qual s˜o gerados conjuntos de matrizes de probabilidades de transi¸ao de alturas a c˜ de notas musicais e um no qual s˜o gerados conjuntos de matrizes de probabilidades a de transi¸˜o de dura¸˜es de notas musicais. Tais ambientes abrigam, cada qual, um ca co

67

conjunto de agentes reativos que interagem, de modo que desta intera¸˜o emerja o ca conjunto de matrizes de probabilidades de transi¸˜o. Para compreender este proca cesso, a seguir ser˜o detalhadas as estruturas do ambiente e do agente utilizadas a nesta camada e, por fim, ser´ descrito o processo de gera¸ao emergente de matrizes a c˜ de probabilidades de transi¸ao. c˜ 4.1.1 Ambiente

Nesta camada existem dois ambientes que s˜o basicamente instˆncias de uma a a mesma estrutura de ambiente. Os ambientes em quest˜o representam planos cujas a dimens˜es espaciais s˜o definidas pelo usu´rio e sobre os quais os agentes movimentamo a a se e interagem. Estes planos, por sua vez, s˜o discretizados em uma matriz de maa trizes de ocorrˆncia. Ou seja, o ambiente ´ logicamente dividido em grandes c´lulas e e e as quais representam matrizes de ocorrˆncia e possuem, por sua vez N × N c´lulas. e e Sabendo-se que os ambientes da camada 1 geram matrizes de probabilidades de transi¸ao de estados, que mais tarde ser˜o utilizados no mecanismo de s´ c˜ a ıntese estoc´stica da camada 3, N representa o n´mero de elementos do espa¸o de estados a u c considerado pelo mecanismo de s´ ıntese estoc´stica. No ambiente que gera matrizes a de probabilidades de transi¸˜o de alturas de notas musicais, N ´ igual a 12, porque ca e o conjunto total de alturas de notas musicais poss´ ıveis ´ 12, compreendendo os 12 e semitons (C, C# ou Db, D, D# ou Eb, E, F, F# ou Gb, G, G# ou Ab, A, A# ou Bb, B) da oitava entre C5 (o D´ que est´ duas oitavas acima do D´ central do o a o piano) e C6. De forma an´loga, no ambiente que gera matrizes de probabilidades de a transi¸ao de dura¸oes, N ´ igual a 7, porque o conjunto total de dura¸oes de notas c˜ c˜ e c˜ musicas consideradas neste trabalho ´ 7 (Semibreve, M´ e ınima, Sem´ ınima, Colcheia, Semicolcheia, Fusa, Semifusa). Na Figura 4.2 ´ ilustrada a estrutura l´gica na qual ´ mapeado o ambiente em que e o e os agentes interagem. Na figura em quest˜o, pode-se visualizar o ambiente como a um plano euclidiano (cujo ponto de origem est´ representado por O) delimitado a pelos valores D1 (largura, o valor m´ximo que uma coordenada X pode assumir a neste plano) e D2 (altura, valor m´ximo que uma coordenada Y pode assumir neste a plano). Tal plano, neste exemplo em quest˜o, ´ dividido em 4 regi˜es distintas. a e o Cada uma dessas regi˜es representa uma matriz de ocorrˆncia, onde cada c´lula o e e armazena um valor que representa o n´mero de vezes que aquela regi˜o discreta u a foi visitada por um agente. No detalhe, ´ poss´ e ıvel visualizar uma das matrizes de ocorrˆncias. Neste caso, o ambiente em quest˜o ´ respons´vel pela gera¸ao de e a e a c˜ matrizes de probabilidades de transi¸ao de alturas, visto que cada uma das matrizes c˜ de ocorrˆncia que o constituem possui 12 c´lulas. e e Tab´m fazem parte do ambiente, locais denominados pontos-alvo. Um pontoe alvo, dentro do contexto deste trabalho, ´ definido como um ponto (uma coordenada e

68

Figura 4.2: Estrutura l´gica na qual ´ mapeado o ambiente em que os agentes o e interagem. x e uma coordenada y) localizado dentro dos limites do plano (ilustrado na Figura 4.2). Tais locais exercem uma for¸a de atra¸ao sobre os agentes, de forma que cada c c˜ agente que se movimenta pelo ambiente tem sempre como objetivo (alvo) chegar a um desses locais. 4.1.2 Agente

Os agentes que interagem nos ambientes que constituem a primeira camada do modelo proposto neste trabalho s˜o baseados no modelo reativo. A estrutura interna a e o comportamento do agente s˜o detalhados a seguir. a 4.1.2.1 Comportamento do agente

Os agentes possuem como objetivo alcan¸ar o ponto-alvo pelo qual s˜o atra´ c a ıdos, movimentando-se do ponto em que se encontram no ambiente at´ o ponto-alvo em e quest˜o, buscando manter sempre uma distˆncia m´ a a ınima D de outros agentes. A todo o momento, existe sempre um ponto-alvo que exerce for¸a atrativa sobre cada c um dos agentes e quando um ponto-alvo atrai um agente, este percebe tal for¸a c de atra¸ao independentemente da distˆncia que existe entre ele e o ponto-alvo em c˜ a quest˜o. Todavia, no que diz respeito ` capacidade que o agente tem de perceber a a outros agentes, esta fica limitada a um raio de percep¸ao de D unidades (o valor c˜ definido como restri¸ao de distˆncia entre os agentes). Quando um agente invade c˜ a este raio D de percep¸˜o, o reflexo b´sico do agente ´ ajustar sua trajet´ria de modo ca a e o que continue satisfazendo a restri¸ao de distˆncia m´ c˜ a ınima. Pode-se perceber que o agente possui dois comportamentos fundamentais: locomover-se at´ o objetivo (o e

69

ponto-alvo que o atrai) e desviar do per´ ımetro de percep¸ao de outros agentes, de c˜ modo que a restri¸ao de distˆncia m´ c˜ a ınima entre os agentes seja sempre satisfeita. A modelagem comportamental do agente foi baseada na arquitetura de subsun¸ao c˜ (BROOKS, 1986) e no modelo de campos potenciais (MEZENCIO, 2002). Os dois comportamentos distintos do agente s˜o estruturados em uma hierarquia que possui a dois n´ ıveis. Esses comportamentos, tal como ´ proposto por (BROOKS, 1986), s˜o e a dispostos na estrutura hier´rquica de n´ a ıveis conforme a prioridade que possuem. No caso dos agentes utilizados neste trabalho, o primeiro n´ (e com maior priıvel oridade) representa o comportamento “evasivo” do agente (o ajuste de dire¸ao e c˜ velocidade para manter a restri¸˜o de distˆncia entre outros agentes) enquanto o ca a segundo n´ representa o comportamento “andar em dire¸ao ao objetivo” (sendo o ıvel c˜ objetivo o ponto-alvo que est´ atraindo o agente no momento). Esta estrutura est´ a a representada na Figura 4.3.

Figura 4.3: Estrutura hier´rquica do agente, baseada na arquitetura de subsun¸ao a c˜ (BROOKS, 1986). No agente aqui proposto, a a¸ao resume-se em ajustar o vetor de dire¸ao e “camc˜ c˜ inhar” nesta dire¸˜o, a cada ciclo de percep¸˜o. O modelo hier´rquico representado ca ca a na Figura 4.3 n˜o tem a fun¸ao de facilitar a sele¸ao do comportamento adequado, a c˜ c˜ conforme a utiliza¸˜o tradicional da arquitetura de subsun¸ao. No modelo comporca c˜ tamental do agente aqui proposto o comportamento final ´ definido pela colabora¸˜o e ca dos dois comportamentos fundamentais (representados pelas duas camadas). A colabora¸ao dos comportamentos fundamentais para a gera¸ao do comportamento final c˜ c˜ por ser compreendida como a superposi¸˜o dos campos potenciais que atuam sobre ca o agente no momento. Esta superposi¸˜o, na pr´tica, ´ definida como a soma dos ca a e vetores de cada uma das for¸as que atuam sobre o agente. O resultado ´ um vetor c e que define a velocidade, a dire¸˜o e o sentido do movimento do agente. ca Para entender melhor o funcionamento de tal sistema comportamental, deve-se entender como ´ calculado o vetor de for¸a para cada um dos comportamentos do e c agente:

70

Manter a distˆncia m´ a ınima de outros agentes: Neste m´dulo comportameno tal, o agente obt´m a posi¸˜o dos agentes que violaram a restri¸˜o de distˆncia e ca ca a m´ ınima (os agentes que est˜o dentro do seu raio de percep¸ao). Tomados os a c˜ pontos que representam a localiza¸ao de cada um desses agentes, calcula-se c˜ o ponto m´dio, somando-se todos os pontos e dividindo-se o resultado pelo e n´mero de agentes que est˜o nas condi¸oes descritas anteriormente. Obtendou a c˜ se o ponto m´dio, calcula-se o vetor entre tal ponto e a localiza¸ao do agente. e c˜ O vetor resultante tem sentido oposto ao ponto m´dio, em rela¸ao ao agente e e c˜ possui intensidade igual a 1, por ser um vetor unit´rio. A magnitudade deste a vetor de repuls˜o ´ multiplicada por um valor parametrizado. a e Andar em dire¸˜o ao objetivo: Neste m´dulo comportamental, o agente calca o cula o vetor entre o ponto em que est´ localizado e o ponto-alvo que est´ a a exercendo for¸a de atra¸ao sobre ele. O vetor resultante aponta em sentido ao c c˜ ponto-alvo e possui intensidade igual a 1, independentemente da localiza¸ao c˜ do agente no ambiente. Visto que o agente est´ sempre sob uma for¸a atrativa de um ponto-alvo, mas a c nem sempre encontra agentes invadindo o raio de distˆncia m´ a ınima, os comportamentos resultantes poss´ ıveis s˜o definidos em fun¸ao da percep¸ao ou n˜o de agentes a c˜ c˜ a invadindo o raio de distˆncia m´ a ınima. Ou seja: Se o agente percebe outros agentes invadindo o raio de distˆncia m´ a ınima: O agente dispara o comportamento do primeiro n´ ıvel, calculando o vetor de respuls˜o e em seguida dispara o comportamento do segundo n´ a ıvel, calculando o vetor de atra¸ao. O vetor resultante ´ dado pela soma de ambos os vetores. c˜ e Ap´s calculado o vetor, o agente se move em fun¸ao do mesmo (com dire¸˜o, o c˜ ca sentido e velocidade definidos pelo vetor). Se n˜o existem agentes invadindo o raio de distˆncia m´ a a ınima: O agente n˜o a dispara o comportamento do primeiro n´ ıvel, mas somente o do segundo. ou seja, neste cen´rio, o agente s´ obt´m o vetor de atra¸ao e, em seguida, se a o e c˜ move em fun¸ao do mesmo. c˜ 4.1.3 Gera¸˜o de matrizes de probabilidades de transi¸˜o ca ca

O processo de gera¸˜o de matrizes de probabilidades de transi¸ao necessita de ca c˜ alguns parˆmetros fornecidos pelo usu´rio. Tais parˆmetros s˜o obtidos atrav´s da a a a a e interface gr´fica mostrada na Figura 4.4. a Nesta interface gr´fica pode-se visualizar os parˆmetros necess´rios para inia a a cializar cada um dos dois ambientes (ambiente Alturas, que gera conjuntos de matrizes de probabilidades de transi¸ao de alturas e ambiente Dura¸˜es, que gera conc˜ co juntos de matrizes de probabilidades de transi¸ao de dura¸˜es) que constituem a c˜ co

71

Figura 4.4: Interface gr´fica na qual o usu´rio informa os parˆmetros necess´rios a a a a para o disparo do processo de gera¸ao de matrizes de probabilidades de transi¸ao. c˜ c˜ primeira camada do modelo proposto. A seguir s˜o listados tais parˆmetros, seguia a dos de um detalhamento de cada um: Largura do ambiente: Define o valor m´ximo poss´ no eixo x de coordenadas a ıvel do plano (o ambiente). Altura do ambiente: Define o valor m´ximo poss´ no eixo y de coordenadas a ıvel do plano (o ambiente). Colunas: Define o n´mero de colunas de matrizes de ocorrˆncia em que o ambiente u e ser´ dividido. a Linhas: Define o n´mero de linhas de matrizes de ocorrˆncia em que o ambiente u e ser´ dividido. a N´ mero de agentes: Define o n´mero de agentes que estar´ interagindo no amu u a biente. Distˆncia m´ a ınima: Define a distˆncia m´ a ınima que os agentes devem buscar manter uns dos outros. Define tamb´m o raio de percep¸ao de presen¸a de agentes. e c˜ c Multiplicador de repuls˜o: Define o valor que multiplica o vetor de repuls˜o a a gerado pela primeira camada de comportamento do agente. Em outras palavras, define a intensidade (velocidade) com que o agente recua. Ap´s a informa¸ao de tais parˆmetros, os ambientes s˜o estruturados. Em o c˜ a a seguida, deve-se determinar os pontos-alvo que nortear˜o as intera¸oes entre os a c˜ agentes em cada um dos ambientes. Os pontos-alvo s˜o determinados atrav´s de a e

72

cliques de mouse diretamente em uma interface gr´fica. Esta interface gr´fica pera a mite a visualiza¸˜o da estrutura l´gica (divis˜o em matrizes de ocorrˆncia) de cada ca o a e um dos ambientes, al´m de possibilitar a visualiza¸ao da pr´pria intera¸ao entre os e c˜ o c˜ agentes em ambos os ambientes. Tal interface gr´fica ´ mostrada na Figura 4.5. a e

Figura 4.5: Interface gr´fica na qual ´ poss´ a e ıvel definir pontos-alvo, visualizar a estrutura l´gica dos ambientes e visualizar as intera¸oes entre os agentes em cada o c˜ um dos ambientes. Neste caso, ´ importante perceber que ambos os ambientes est˜o e a divididos em 4 matrizes de ocorrˆncias. e Ap´s a defini¸ao dos pontos-alvo, a intera¸ao pode ser inicializada. Assim que o c˜ c˜ a intera¸ao inicia, os N agentes de cada ambiente s˜o posicionados aleatoriamente. c˜ a Assim que surgem j´ percebem a for¸a de atra¸ao de um dos ponto-alvo definidos. a c c˜ Ao perceber tal for¸a de atra¸˜o, cada um dos agentes busca chegar ao ponto-alvo, c ca ajustando a trajet´ria para manter a restri¸ao da distˆncia m´ o c˜ a ınima entre os agentes. Quando um agente chega ao objetivo, um outro ponto alvo (definido aleatoriamente) passa a exercer sua for¸a atrativa sobre o agente. c Ao movimentarem-se pelo ambiente, os agentes incrementam as c´lulas das mae trizes de ocorrˆncia (que s˜o inicializadas com o valor 0). Incrementar o valor da e a c´lula equivaleria, metaforicamente, a afundar a terra quando o agente d´ um passo e a em um determinado terreno. Desta forma, valores v˜o sendo distribu´ a ıdos pelas c´lulas das matrizes de ocorrˆncia que constituem o ambiente.A distribui¸˜o desses e e ca

73

valores ´ determinada pela intera¸ao entre os agentes no ambiente, a qual, por sua e c˜ vez ´ drasticamente influenciada pelos parˆmetros informados pelo usu´rio na inie a a cializa¸ao do ambiente. Como a distribui¸˜o de valores n˜o pode ser formalmente c˜ ca a descrita a partir das rela¸˜es entre os agentes, ´ poss´ afirmar que tal distribui¸ao co e ıvel c˜ de valores emerge da intera¸˜o entre os agentes no ambiente. Sendo este processo ca um fenˆmeno emergente, o papel de observador ´ interpretado pelo usu´rio, que o e a decide quando parar o processo. Assim que as intera¸oes cessam, as matrizes de ocorrˆncia d˜o origem as matrizes c˜ e a ` de probabilidades de transi¸ao que s˜o enviadas para a pr´xima camada do modelo c˜ a o composicional aqui proposto. Cada matriz de ocorrˆncias origina uma matriz de e probabilidades de transi¸˜o. Isto ocorre da seguinte forma: ca 1. Para cada matriz de ocorrˆncias, toma-se cada uma de suas linhas. e 2. Para cada linha, calcula-se o somat´rio de todos o valores contidos nela. o 3. A partir do valor do somat´rio, verifica-se para cada valor da linha, qual a o porcentagem do somat´rio geral o mesmo representa. o ´ E importante notar que a distribui¸˜o de valores em fun¸ao da intera¸ao entre ca c˜ c˜ os agentes, gera, visualmente falando, um intrincado conjunto de “trilhas” (ou caminhos), os quais podem ser visualizados atrav´s da interface apresentada na Figura e 4.5. No canto inferior esquerdo da interface mencionada ´ oferecido um conjunto de e op¸oes de visualiza¸oes do ambiente e da distribui¸ao dos valores no mesmo. Tais c˜ c˜ c˜ op¸oes s˜o: c˜ a N˜o mostrar trilhas: Esta op¸˜o exibe somente a estrutura l´gica do ambiente a ca o (em tons de verde), os pontos-alvo (em azul) e os agentes (em vermelho). N˜o a permite a visualiza¸˜o das trilhas geradas pela distribui¸˜o de valores. ca ca Mostrar trilhas em geral: Nesta op¸˜o, al´m da estrutura l´gica do ambiente ca e o (em tons de verde), dos pontos-alvo (em azul) e dos agentes (em vermelho), s˜o exibidas tamb´m as trilhas geradas pela distribui¸ao de valores sob uma a e c˜ an´lise global. Ou seja, para gerar a representa¸˜o das trilhas, encontra-se o a ca maior e o menor valor global e divide-se o intervalo de valores entre eles em 16 faixas. Cada um das faixas de valores ´ representado por um n´ de cinza. e ıvel Cada c´lula ´ “pintada” com o n´ de cinza que corresponde ao valor que e e ıvel cont´m. Quanto maior for o n´ de cinza (cores mais claras) de uma c´lula, e ıvel e maior o valor que ela cont´m e vice-versa. e Mostrar trilhas por tabela de ocorrˆncia: Enquanto a op¸ao anterior oferece e c˜ uma an´lise da distribui¸˜o global de valores, esta oferece uma an´lise local, a ca a

74

de cada matriz de ocorrˆncias. Ou seja, encontra-se o menor e o maior valor e para cada matriz de ocorrˆncia e divide-se o intervalo de valores entre eles em e 16 faixas. Cada um das faixas de valores ´ representado por um n´ de cinza. e ıvel Cada c´lula ´ “pintada” com o n´ de cinza que corresponde ao valor que e e ıvel cont´m. Quanto maior for o n´ de cinza (cores mais claras) de uma c´lula, e ıvel e maior o valor que ela cont´m e vice-versa. e Mostrar matrizes de probabilidades de transi¸˜o: Nesta op¸˜o, pode-se obter ca ca uma visualiza¸ao de cada uma das matrizes de probabilidades de transi¸ao. c˜ c˜ Esta op¸ao possibilita acompanhar a evolu¸˜o da constru¸ao de tais matrizes. c˜ ca c˜ O intervalo [0, 100] ´ dividido em 16 faixas de porcentagens. Cada faixa ´ e e representada por um n´ de cinza. Cada c´lula ´ “pintada” com o n´ de ıvel e e ıvel cinza que corresponde a porcentagem que cont´m. ` e

4.2

Camada de defini¸˜o de modelos probabil´ ca ısticos para gera¸˜o de segmentos mel´dicos ca o

Nesta camada ocorre a defini¸˜o dos modelos probabil´ ca ısticos para gera¸ao de c˜ segmentos mel´dicos (MPGSM). o Sob uma perspectiva estrutural, um MPGSM ´ uma estrutura de dados cone stitu´ por uma matriz de probabilidades de transi¸ao de alturas e uma matriz de ıda c˜ probabilidades de transi¸˜o de dura¸oes. ca c˜ Para compreender a dimens˜o funcional dos MPGSM´s na abordagem composia cional proposta neste trabalho ´ necess´rio ter em mente algumas caracter´ e a ısticas das cadeias de Markov e algumas caracter´ ısticas desej´veis em uma composi¸˜o a ca musical. Analisando-se uma m´sica qualquer criada por um compositor humano, u percebe-se que, em geral, ela ´ permeada por uma s´rie de nuances e momentos que, e e muitas vezes, contrastam entre si. Se fosse gerada uma matriz de probabilidades de transi¸˜o de alturas ou dura¸˜es a partir de tal m´sica, todas essas nuances ca co u e contrastes seriam reduzidas a uma estat´ ıstica global, o que acaba mutilando as caracter´ ısticas de n´ intermedi´rio da composi¸˜o. Desta forma, se a matriz de ıvel a ca probabilidades de transi¸ao em quest˜o fosse utilizada para gerar uma nova m´sica, c˜ a u mesmo que esta preservasse as caracter´ ısticas estat´ ısticas globais da m´sica iniu cial, ´ muito improv´vel que tamb´m conservasse as caracer´ e a e ısticas de n´ inferior. ıvel Al´m disso, em (OLIVEIRA, 2003) ´ dito que a m´sica gerada estocasticamente e e u nos moldes tradicionais, a partir de um unico modelo probabil´ ´ ıstico de transi¸˜o de ca estados, acaba tornando-se mon´tona. A utiliza¸ao de MPGSM´s neste trabalho obo c˜ jetiva contornar os problemas descritos acima. Para tanto, apoiando-se no conceito de MPGSM, a melodia gerada ´ abordada como um conjunto de “regi˜es menores” e o

75

com caracter´ ısticas estat´ ısticas pr´prias. Durante o processo de gera¸˜o estoc´stica o ca a musical, as alturas e dura¸oes de notas musicais s˜o sempre geradas em fun¸ao de um c˜ a c˜ MPGSM. E no decorrer do processo, o MPGSM que descreve a gera¸˜o estoc´stica ca a de alturas e dura¸oes ´ trocado por outro N vezes, possibilitando o surgimento de c˜ e N regi˜es com caracter´ o ısticas estat´ ısticas e musicais particulares. Os MPGSM´s s˜o constru´ a ıdos a partir do conjunto de matrizes de probabilidades de transi¸˜o geradas na camada anterior. O usu´rio define os MPGSM´s (quantos ca a quiser) a partir da interface gr´fica demonstrada na Figura 4.6. a

Figura 4.6: Interface gr´fica com a qual o usu´rio pode definir os MPGSM´s a a Na interface gr´fica demonstrada na Figura 4.6, pode-se identificar trˆs ´reas a e a importantes. A primeira delas ´ a ´rea de sele¸˜o de matrizes de probabilidades e a ca de transi¸˜o (tanto de alturas quanto de dura¸˜es), no canto superior esquerdo. ca co Na ´rea em quest˜o existem duas listas, lista de matrizes de probabilidades de a a transi¸ao de alturas e de dura¸oes, respectivamente. Ao selecionar uma matriz c˜ c˜ em qualquer uma das listas, a mesma ´ mostrada na area chamada “Matriz de e ´ probabilidades de transi¸ao selecionada” (a segunda das areas importantes), no canto c˜ ´ inferior esquerdo. Nesta area, exibe-se a distribui¸˜o de probabilidades da matriz ´ ca que est´ selecionada. Esta area revela os valores num´ricos das probabilidades com a ´ e uma distin¸˜o crom´tica associada, proporcionando maior agilidade na identifica¸ao ca a c˜ dos valores por parte do usu´rio. A distin¸˜o crom´tica em quest˜o resume-se ` a ca a a a associa¸ao de um determinado n´ de cinza a cada c´lula da matriz, quanto maior c˜ ıvel e o n´ ıvel de cinza (mais claro e pr´ximo da cor branca) maior ser´ a porcentagem o a representada pela c´lula em quest˜o. Por fim, a terceira area importante ´ a “Lista e a ´ e de modelos criados”, na qual exibe-se os modelos criados pelo usu´rio at´ o momento. a e Utilizando a interface representada na Figura 4.6, o usu´rio pode definir um novo a

76

MPGSM selecionando uma matriz de probabilidades de transi¸ao de alturas e uma c˜ matriz de probabilidades de transi¸ao de dura¸˜es (ap´s verificar qual o conjunto de c˜ co o probabilidades mais adequado aos seus objetivos). Ap´s selecionar as duas matrizes o necess´rias, o modelo ´ constru´ ao se clicar no bot˜o “Criar novo modelo”. Ap´s a e ıdo a o a cria¸ao de um novo MPGSM, o mesmo ser´ exibido na “Lista de modelos criados”. c˜ a Um modelo criado pode ser removido da lista, selecionando-o e em seguida clicando em “Remover modelo”. Ap´s a defini¸ao dos MPGSM desejados, os mesmos s˜o o c˜ a enviados a terceira e ultima camada do modelo composicional (ap´s o usu´rio clicar ` ´ o a em “Pr´ximo passo”). o

4.3

Camada de s´ ıntese mel´dica estoc´stica o a

Nesta camada ocorre a etapa final do processo proposto neste trabalho, a s´ ıntese mel´dica estoc´stica propriamente dita. o a O processo respons´vel pela gera¸˜o da melodia final ´ semelhante ao processo a ca e descrito no item 2.4.3.3 deste documento (p´gina 39). Neste processo geram-se a duas cadeias de Markov com N estados gerados, uma que define a sucess˜o de a alturas (CSA) e outra que define a sucess˜o de dura¸˜es (CSD). A partir de cada a co uma das realiza¸˜es destas cadeias, pode-se obter uma nota musical com altura e co dura¸ao definida. A nota ´ gerada tomando-se a realiza¸ao r de CSA (CSA(r)) e a c˜ e c˜ realiza¸ao r de CSD (CSD(r)). Ou seja, se as cadeias de Markov geradas possuem c˜ N realiza¸oes (estados gerados), podemos obter N notas musicais a partir delas. c˜ Tendo-se em mente que a melodia final ´ obtida a partir das duas cadeias de e Markov supracitadas, o processo que esta camada realiza, objetiva, fundamentalmente, gerar essas duas cadeias de Markov. A gera¸ao destas duas cadeias ´ realc˜ e izada atrav´s de um processo iterativo que ´ disparado a partir de alguns parˆmetros e e a de entrada, os quais s˜o definidos pelo usu´rio em uma interface gr´fica. A interface a a a gr´fica em quest˜o pode ser vista na Figura 4.7. a a

Figura 4.7: Interface gr´fica com a qual o usu´rio pode definir os parˆmetros de a a a entrada do processo de s´ ıntese mel´dica estoc´stica. o a

77

Com a interface mostrada na Figura 4.7, os seguintes parˆmetros s˜o obtidos. a a 1. O MPGSM inicial, utilizado para gerar as realiza¸˜es iniciais das cadeias de co Markov. Lembrando que cada MPGSM possui duas matrizes de probabilidades de transi¸ao, uma para alturas e outra para dura¸oes. O que torna um c˜ c˜ MPGSM apto a gerar realiza¸oes de ambas as cadeias. c˜ 2. A altura e a dura¸ao iniciais a partir do MPGSM selecionado. c˜ 3. O n´mero N de notas musicais que constituir˜o a melodia resultante. Onde u a N , primeiramente, define o n´mero de realiza¸˜es das cadeias de Markov a u co partir das quais, posteriormente, a melodia final ´ constru´ e ıda. 4. Um instrumento (timbre) com o qual a melodia final pode ser ouvida. Como a melodia final tamb´m ´ gravada em um arquivo MIDI, o instrumento escolhido e e nesta etapa definir´ o timbre com o qual a melodia ficar´ registrada no arquivo. a a Com tais parˆmetros iniciais, o processo iterativo que gera cada uma das N a realiza¸oes das cadeias de Markov ´ iniciado. Para ilustrar este processo iterac˜ e tivo, tomaremos como parˆmetros iniciais de entrada: como MPGSM inicial, aquele a mostrado na Figura 4.8, como altura inicial o C, como dura¸˜o inicial a Semibreve ca e como n´mero de notas (n´mero de realiza¸oes das cadeias de Markov), 100. u u c˜

Figura 4.8: Exemplo de modelo probabil´ ıstico para gera¸ao de segmentos mel´dicos c˜ o (MPGSM) constitu´ pela matriz de probabilidades de transi¸˜o de alturas, A e ıdo ca pela matriz de probabilidades de transi¸˜o de dura¸oes, B. ca c˜

78

Tendo-se tais parˆmetros como entrada, o processo assume o MPGSM mostrado a na figura 4.8 como o MPGSM atual, assim como assume o C como a altura atual e a Semibreve como a dura¸˜o atual em suas respectivas cadeais de Markov. Ou ca seja, a partir dos parˆmetros de entrada j´ definimos uma nota musical cuja altura a a ´ C e dura uma Semibreve. A partir de tais estados, a primeira itera¸ao do processo e c˜ iterativo compreende os seguintes passos: 1. Tendo-se o MPGSM (Figura 4.8) e a altura (C ) atuais, identifica-se qual a linha da matriz de probabilidades de transi¸˜o de alturas (neste exemplo, a ca matriz A do MPGSM atual) est´ relacionada a altura atual. Esta linha define o a ` conjunto de probabilidades de transi¸˜o da altura atual para as demais alturas ca poss´ ıveis. No exemplo em quest˜o, as probabilidades de transi¸ao de alturas a c˜ a partir de C est˜o representadas na Figura 4.9. a

Figura 4.9: Probabilidades de transi¸ao de alturas a partir da altura C. c˜ 2. Dentro do intervalo [0, 99], define-se subintervalos proporcionais as probabili` dades encontrada no passo anterior. Tais subintervalos representam cada qual uma altura poss´ ıvel de ser gerada a partir da altura atual. Na Figura 4.10 ilustra-se uma poss´ divis˜o para o exemplo em quest˜o. ıvel a a

Figura 4.10: Divis˜o do intervalo [0, 99] em subintervalos proporcionais as probabila ` idades de transi¸˜o encontrada no passo anterior. ca 3. Gera-se um n´mero aleat´rio x dentro do intervalo [0, 99]. Analisa-se a qual u o subintervalo x pertence. Se, no exemplo em quest˜o, x fosse igual a 92, a a pr´xima altura seria G, porque 92 ∈ [90, 94]. o Tal como ´ feito pra definir a altura, defini-se a pr´xima dura¸ao, dentro do e o c˜ mesmo ciclo iterativo do processo: 1. Tendo-se o MPGSM (Figura 4.8) e a dura¸ao (Semibreve) atuais, identificac˜ se qual a linha da matriz de probabilidades de transi¸ao de dura¸oes (neste c˜ c˜

79

exemplo, a matriz B do MPGSM atual) est´ relacionada a dura¸ao atual. a ` c˜ Esta linha define o conjunto de probabilidades de transi¸˜o da dura¸˜o atual ca ca para as demais dura¸oes poss´ c˜ ıveis. No exemplo em quest˜o, as probabilidades a de transi¸ao de dura¸˜es a partir da Semibreve est˜o representadas na Figura c˜ co a 4.11.

Figura 4.11: Probabilidades de transi¸ao de alturas a partir da dura¸ao Semibreve. c˜ c˜ 2. Dentro do intervalo [0, 99], definem-se subintervalos proporcionais as proba` bilidades encontrada no passo anterior. Tais subintervalos representam cada qual uma dura¸˜o poss´ de ser gerada a partir da dura¸ao atual. Na Figura ca ıvel c˜ 4.12 ilustra-se uma poss´ divis˜o para o exemplo em quest˜o. ıvel a a

Figura 4.12: Divis˜o do intervalo [0, 99] em subinervalos proporcionais as probabila ` idades de transi¸˜o encontrada no passo anterior. ca 3. Gera-se um n´mero aleat´rio x dentro do intervalo [0, 100[. Analisa-se a qual u o subintervalo x pertence. Se, no exemplo em quest˜o, x fosse igual a 65, a a pr´xima dura¸˜o seria uma Semibreve, porque 65 ∈ [0, 79]. o ca Este processo ´ repetido novamente at´ N itera¸oes (no exemplo, N = 100), e e c˜ substituindo, a cada itera¸˜o, a altura e a dura¸˜o atuais pelas ultimas geradas pelo ca ca ´ processo. Para que fosse poss´ ıvel utilizar MPGSM diversos no decorrer da gera¸˜o esca toc´stica, foi necess´rio criar um mecanismo de substitui¸ao de MPGSM. Desta a a c˜ forma, antes do processo iterativo descrito aneriormente iniciar, ´ necess´rio definir e a o “ciclo m´ximo de utilidade” de cada MPGSM dentro do processo total. O “ciclo a m´ximo de utilidade” de um MPGSM define o n´mero m´ximo de itera¸˜es em que a u a co ´ poss´ utiliz´-lo. Dentro do escopo deste trabalho, o “ciclo m´ximo de utilidade” e ıvel a a N do MPGSM s˜o definidos por um valor fixo que ´ obtido por M , onde N ´ o n´mero a e e u total de notas musicais a serem geradas (informado pelo usu´rio) e M ´ o n´mero a e u total de MPGSM definidos pelo usu´rio na camada anterior e que ser˜o utilizados na a a

80

s´ ıntese mel´dica estoc´stica. Sempre que o processo de s´ o a ıntese mel´dica estoc´stica o a passa a utilizar um novo MPGSM, ´ definido um novo “ciclo de utilidade” para o e mesmo. O novo “ciclo de utilidade” ´ definido por um valor aleat´rio gerado entre e o 1 e o valor estabelecido pelo “ciclo m´ximo de utilidade”. Quando um MPGSM a chega ao fim do seu ciclo de utilidade, ´ selecionado um novo MPGSM. Esta sele¸ao e c˜ ´ realizada observando-se quais os ultimos estados (altura e dura¸˜o) gerados. O e ´ ca novo MPGSM deve possuir probabilidades de transi¸ao definidas para estes ultimos c˜ ´ estados. Desta forma, analisa-se quais os MPGSM que satisfazem essas condi¸oes e c˜ define-se, aleatoriamente, um deles para suceder o antigo MPGSM.

81

5

EXPERIMENTOS E TESTES

O objetivo principal do modelo proposto neste trabalho ´ a gera¸˜o de seq¨ˆncias e ca ue mel´dicas. Como este trabalho n˜o tem a pretens˜o de avaliar esteticamente os o a a resultado gerados pelo modelo, optou-se por gerar um cen´rio de teste no qual ser˜o a a relacionadas as configura¸oes param´tricas de entrada a forma da melodia resultante. c˜ e ` Na constru¸ao de tal cen´rio ser´ analisado o comportamento global dos ambic˜ a a entes multiagentes. O comportamento global de cada ambiente ser´ relacionado `s a a distribui¸oes de probabilidades nas matrizes que geram. c˜ Por ser um sistema extremamente flex´ ıvel, n˜o existe a possibilidade de sistema atizar casos de uso que abarquem todas as possibilidades de utiliza¸˜o. Al´m disto, ca e dada a natureza emergente da gera¸ao de matrizes de probabilidades de transi¸ao c˜ c˜ e a natureza estoc´stica do processo de s´ a ıntese mel´dica, cada execu¸ao da impleo c˜ menta¸˜o deste modelo ´ unica e irreproduz´ ca e´ ıvel. Desta forma, no cen´rio de teste a que segue, procuramos realizar um passo-a-passo que explorasse o m´ximo poss´ a ıvel da implementa¸ao desenvolvida, de modo que fosse poss´ c˜ ıvel criar um referencial intuitivo de utiliza¸ao da mesma. Durante o cen´rio de teste realizado, s˜o evidenc˜ a a ciadas algumas caracter´ ısticas da implementa¸˜o, bem como algumas propriedades ca da informa¸ao que a mesma gera. c˜

5.1

Parametriza¸˜o inicial ca

A parametriza¸˜o inicial do sistema ´ utilizada para definir as dimens˜es dos ca e o ambientes multiagentes, bem como o n´mero de agentes que ir˜o interagir em cada u a um dos ambientes e as restri¸oes que atuam sobre essas intera¸oes. A parametriza¸ao c˜ c˜ c˜ fornecida para o cen´rio de teste em quest˜o segue (Figura 5.1): a a • Parˆmetros para a defini¸ao do ambiente de gera¸˜o de matrizes de probabila c˜ ca idades de transi¸˜o de alturas: ca Largura do ambiente: 450. Altura do ambiente: 450.

82

Colunas: 6. Linhas: 6. N´ mero de agentes: 200. u Distˆncia m´ a ınima: 20. Multiplicador de repuls˜o: 3. a • Parˆmetros para a defini¸ao do ambiente de gera¸˜o de matrizes de probabila c˜ ca idades de transi¸˜o de dura¸˜es: ca co Largura do ambiente: 450. Altura do ambiente: 450. Colunas: 6. Linhas: 6. N´ mero de agentes: 200. u Distˆncia m´ a ınima: 5. Multiplicador de repuls˜o: 2. a

Figura 5.1: Parametros que definem a estrutura dos ambientes multiagentes e as intera¸˜es nos mesmos. co A seguir s˜o definidos os pontos-alvo nos ambientes. O aspecto final dos ambia entes (com os pontos-alvo definidos) pode ser viso na Figura 5.2.

5.2

Gera¸˜o emergente de matrizes de probabilidades de ca transi¸˜o de estados ca

A partir da parametriza¸ao evidenciada na se¸˜o anterior, inicia-se a intera¸ao c˜ ca c˜ em ambos os ambiente. A Figura 5.3 apresenta o aspecto geral dos ambientes e as

83

Figura 5.2: Aspecto geral dos ambientes definidos a partir dos parˆmetros definidos a para o cen´rio de teste. Pode-se ver a distribui¸˜o de pontos-alvo tamb´m. a ca e intera¸˜es que neles ocorrem. A partir da observa¸ao do aspecto geral dos ambientes co c˜ e das intera¸˜es que neles ocorrem pode-se constatar duas propriedades principais: co • Em torno dos pontos-alvo definidos apresenta-se uma grande densidade de agentes. • Uma restri¸˜o menor de distˆncia entre os agentes (como no ambiente definido ca a sobre o contexto das dura¸oes musicais, a direita) resulta em uma maior fluidez c˜ ` da movimenta¸ao de cada agente e, consequentemente, da movimenta¸ao geral. c˜ c˜ Neste constexto, os movimentos em linha reta s˜o mais comuns e os agentes a conseguem chegar aos seus objetivos mais facilmente. Uma restri¸ao maior na c˜ distˆncia entre os agentes (como no ambiente definido sobre o contexto das a alturas musicais, ` esquerda) introduz uma certa dificuldade na movimenta¸˜o a ca dos agentes, tornando mais dif´ inclusive alcan¸ar os pontos-alvo. Neste ıcil c contexto fica mais evidente o quanto esta restri¸˜o influencia a movimenta¸ao ca c˜ geral do ambiente. Com as intera¸oes ocorrendo, pode-se analisar visualmente as distribui¸˜es de c˜ co valores pelo ambiente. Para tanto basta escolher uma das op¸˜es de visualiza¸ao co c˜ dispon´ ıveis. Na Figura 5.4 temos a representa¸˜o da distribui¸˜o global de ocorrˆncias. ca ca e Nesta visualiza¸ao evidencia-se quais s˜o os pontos mais visitados pelos agentes no c˜ a ambiente em uma perspectiva global. Na Figura 5.5 ´ apresentada a distribui¸˜o e ca de ocorrˆncias dentro de cada matriz de ocorrˆncia. Nesta op¸ao s˜o evidenciados e e c˜ a quais os pontos mais visitados dentro de cada matriz de ocorrˆncia. Por fim, na e

84

Figura 5.3: Aspecto geral dos ambientes definidos a partir dos parˆmetros definidos a para o cen´rio de teste e as intera¸˜es que neles ocorrem a co

Figura 5.6 apresenta-se o estado atual das matrizes de probabilidades de transi¸ao c˜ de estados.

Figura 5.4: Visualiza¸ao da distribui¸ao global de ocorrˆncias. Pode-se ver os pontos c˜ c˜ e mais visitados (em cores claras) e os menos visitados (em cores escuras) pelos agentes em uma perspectiva global.

Assim que o usu´rio (interpretando o papel de observador do fenˆmeno emergente a o que ocorre nos ambientes multiagentes) verifica que o estado geral dos ambientes apresenta as propriedades desejadas, as intera¸oes cessam e passa-se a pr´xima etapa, c˜ ` o a defini¸ao dos MPGSM´s. c˜

85

Figura 5.5: Visualiza¸˜o da distribui¸˜o de probabilidades em cada matriz de probca ca abilidades de transi¸ao de estados (cada qual gerada a partir de uma matriz de c˜ ocorrˆncias). e

5.3

Defini¸˜o de MPGSM´s ca

Na etapa de defini¸ao dos MPGSM que ser˜o utilizados na s´ c˜ a ıntese mel´dica o estoc´stica, o usu´rio pode analisar detalhadamente as matrizes geradas nos ama a bientes multiagentes. No cen´rio de teste em quest˜o, a an´lise revelou que no a a a ambiente em que existia uma restri¸˜o maior de distˆncia entre agentes, as regi˜es ca a o do ambiente que continham pontos-alvo geraram matrizes de probabilidades com uma distribui¸ao mais homogˆnea (sem concentra¸oes de probabilidades). Pode-se c˜ e c˜ perceber, desta forma, que os grandes “cintur˜es” de agentes que se formam devo ido ` imobilidade introduzida pelas restri¸˜es de movimenta¸˜o, geram matrizes de a co ca probabilidades mais homogˆneas. A Figura 5.7 ilustra este caso, pois representa a e distribui¸ao de probabilidades foi gerada a partir de uma regi˜o do ambiente gerador c˜ a de matrizes de transi¸ao de alturas que abrigava um ponto-alvo (linha 0 e coluna 0 c˜ do ambiente) e apresenta a homogeneidade constatada. J´ nos pontos onde existe a uma maior fluidez de movimenta¸ao, as probabilidades ficam concentradas em certos c˜ pontos. A Figura 5.8 representa a matriz de probabilidades de transi¸ao de dura¸oes c˜ c˜ gerada a partir da matriz de ocorrˆncias que est´ na linha 2 e coluna 1 do ambie a ente que gera matrizes de transi¸ao de dura¸oes. Em tal fragmento do ambiente, c˜ c˜ ´ poss´ ver que existe um certa fuidez do movimento geral devido ` restri¸ao de e ıvel a c˜ distˆncia entre agentes ser reduzida. A matriz de probabilidades de transi¸ao gerada a c˜ a partir de tal segmento apresenta concentra¸oes de probabilidades em determinados c˜ pontos, como pode ser visto na Figura 5.8.. No cen´rio de teste em quest˜o temos 36 matrizes de probabilidades de transi¸ao a a c˜ de alturas e 36 de dura¸˜es. Para alimentar o processo de s´ co ıntese mel´dica eso toc´stica, a partir destas matrizes definimos 4 MPGSM. A defini¸ao desses MPGSM a c˜

86

Figura 5.6: Visualiza¸ao da distribui¸˜o de ocorrˆncias em cada matriz, em particc˜ ca e ular. Pode-se ver os pontos mais visitados (em cores claras) e os menos visitados (em cores escuras) pelos agentes em cada matriz de ocorrˆncias. e

Figura 5.7: Visualiza¸ao de uma distribui¸ao homogˆnea de probabilidades de c˜ c˜ e transi¸ao. c˜ foi realizada buscando a introdu¸˜o de nuances evidentes na m´sica. Para tanto, ca u foram constru´ ıdos MPGSM que constrastassem quanto aos aspectos que valorizam (definidos pela concentra¸ao de probabilidades na tabela). Um dos MPGSM conc˜ stru´ ıdos, por exemplo, valorizava alturas mais elevadas e dura¸˜es maiores. Ou co seja, para este MPGSM em quest˜o a concentra¸˜o de probabilidades na matriz de a ca transi¸ao de alturas estava na regi˜o que compreende as alturas mais elevadas, e a c˜ a concentra¸˜o de probabilidades na matriz de transi¸˜o de dura¸oes estava na regi˜o ca ca c˜ a que abarca dura¸˜es maiores. co Ap´s a escolha dos MPGSM, pode-se informar os parˆmetros para executar o o a processo de s´ ıntese mel´dica estoc´stica. o a

5.4

Gera¸˜o mel´dica estoc´stica ca o a

No cen´rio de teste em quest˜o foi gerada uma melodia com 200 notas musicais a a cuja macro-forma pode ser visualizada na Figura 5.9. Nesta figura em quest˜o, a a melodia a apresentada em uma visualiza¸ao “piano roll” onde as notas s˜o repre´ c˜ a

87

Figura 5.8: Visualiza¸˜o de uma distribui¸˜o heterogˆnea de probabilidades de ca ca e transi¸ao. c˜ sentadas por objetos retangulares dispostos sequencialmente na horizontal (ao longo do tempo). A altura da nota ´ definida pela posi¸ao vertical que o retˆngulo ocupa e c˜ a e sua dura¸˜o ´ definida pelo comprimento do retˆngulo. ca e a

Figura 5.9: Melodia final em uma visualiza¸˜o “piano roll”. ca Na Figura 5.10 apresenta-se a melodia resultante em uma visualiza¸˜o “piano ca roll ” evidenciando-se algumas regi˜es da mesma com propriedades particulares. o Pode-se perceber que a utiliza¸˜o de MPGSM introduz as nuances objetivadas na ca forma global da m´sica. u

Figura 5.10: Melodia final em uma visualiza¸ao “piano roll”, na qual pode-se idenc˜ tificar regi˜es mel´dicas com caracter´ o o ısticas particulares.

88

6

˜ CONCLUSAO

6.1

S´ ıntese do trabalho

O objetivo principal deste trabalho foi a concep¸ao e implementa¸ao de um c˜ c˜ modelo computacional para s´ ıntese mel´dica estoc´stica apoiado em uma aboro a dagem emergente de gera¸˜o de matrizes de probabilidades de transi¸ao de esca c˜ tados. Para definir e, posteriormente, implementar tal modelo, foram realizados estudos de t´cnicas e conceitos envolvidos em computa¸ao musical, sistemas multie c˜ agentes, emergˆncia e processos estoc´sticos. Tais estudos foram realizados atrav´s e a e de pesquisas bibliogr´ficas. a O cap´ ıtulo 2 deste trabalho aborda a area da computa¸ao musical. Neste cap´ ´ c˜ ıtulo, inicialmente ´ realizado um breve hist´rico do desenvolvimento das tecnologias dene o tro do contexto da m´sica. A seguir fala-se sobre a ´rea da computa¸˜o musical u a ca atualmente, definindo as principais linhas de pesquisas na ´rea e citando alguns a trabalhos relacionados. De forma que o leitor possa familiarizar-se com alguns conceitos inerentes aos fenˆmenos sonoros e a teoria musical (fundamentais para a total o ` compreens˜o do trabalho), tais conceitos s˜o indroduzidos neste cap´ a a ıtulo. Por fim, aborda-se a composi¸ao musical algor´ c˜ ıtmica, introduzindo os principais conceitos envolvidos e discorrendo sobre os sistemas de composi¸˜o, os quais s˜o classificados ca a em rela¸ao a trˆs aspectos distintos: objetivo, tipo de material processado e modelo c˜ e algor´ ıtmico utilizado. Sendo que cada uma dessas classifica¸oes s˜o detalhadas. c˜ a No cap´ ıtulo 3 deste trabalho abordamos os sistemas multiagentes. Nele, procuramos definir os principais conceitos envolvidos na utiliza¸ao e no desenvolvimento c˜ de SMA. Nas se¸oes que comp˜e tal cap´ c˜ o ıtulo s˜o relacionados os principais elemena tos constituintes de um SMA: o ambiente, o agente, a comunica¸˜o e a coordena¸ao. ca c˜ Por fim, este cap´ ıtulo aborda conceitos relacionados a fenˆmenos emergentes. o No cap´ ıtulo 4 deste trabalho, ´ apresentado ao leitor o modelo algor´ e ıtmico de composi¸ao cujas concep¸ao e implementa¸ao s˜o os objetivos deste trabalho. Inic˜ c˜ c˜ a cialmente, s˜o introduzidos os aspectos gerais inerentes ao modelo proposto. Em a seguida apresenta-se a estrutura global do modelo, a qual est´ dividida em trˆs a e

89

camadas com fun¸˜es distintas: camada de gera¸˜o emergente de matrizes de probco ca abilidades de transi¸ao, camada de defini¸˜o de modelos probabil´ c˜ ca ısticos para gera¸ao c˜ de segmentos mel´dicos e camada de s´ o ıntese mel´dica estoc´stica. Sendo que, nas o a se¸oes que constituem este cap´ c˜ ıtulo, as estruturas e os processos inerentes a cada uma das camadas s˜o detalhados. a

6.2

Resultados e contribui¸oes c˜

A implementa¸ao do modelo proposto neste trabalho mostrou-se satisfatoriac˜ mente funcional em rela¸˜o aos objetivos almejados. Al´m disso, ap´s alguns testes, ca e o revelou-se uma ferramenta poderosa para auxiliar o compositor em seus processos composicionais. Em rela¸ao as classifica¸˜es discutidas na se¸˜o 2.4 deste documento (p´gina 29), c˜ ` co ca a o modelo aqui proposto pode ser classificado da seguinte forma: Quanto ao objetivo: O objetivo deste sistema composicional n˜o ´ simular os a e processos envolvidos na criatividade humana, da mesma forma que n˜o almeja a a composi¸˜o de melodias finalizadas. O modelo aqui proposto tem como ca objetivo atuar como um auxiliar no processo de composi¸˜o gerando seq¨ˆncias ca ue mel´dicas que podem ser posteriormente alteradas. o Quanto ao tipo de material processado: O modelo proposto neste trabalho processa fundamentalmente informa¸oes abstratas. Tais informa¸oes incluem: c˜ c˜ parˆmetros e defini¸oes espaciais (utilizadas para gerar os ambientes multia c˜ agentes da primeira camada), dados estat´ ısticos em matrizes de probabilidades de transi¸ao e representa¸˜es de aspectos do som musical (alturas e c˜ co dura¸oes). Todas as entradas, fluxos intermedi´rios e sa´ c˜ a ıdas de informa¸˜o ca s˜o informa¸˜es n˜o sonoras. a co a Quanto ao modelo algor´ ıtmico utilizado: Quanto ao modelo algor´ ıtmico utilizado, a gera¸ao da melodia final ´ baseada totalmente num modelo algor´ c˜ e ıtmico estoc´stico. Todavia tal processo ´ alimentado por matrizes de probabilidades a e de transi¸˜o geradas por uma abordagem emergente em ambientes multiaca gentes. O macro-modelo utiliza dois modelos algor´ ıtmicos distintos, desta forma, pode ser considerado h´ ıbrido. Em rela¸˜o a classifica¸ao proposta po (WOOLLER et al., 2005) e comentada na ca ` c˜ introdu¸ao deste trabalho (p´gina 14), o modelo aqui proposto reside, conceitualc˜ a mente, na intersec¸ao de mais de uma das categorias definidas. O modelo global c˜ possui caracter´ ısticas criativas/procedurais. Todavia, a gera¸ao de matrizes de probc˜ abilidades de transi¸ao de estados (processo fundamental de todo o sistema), possui c˜ caracter´ ısticas emergentes e Interativas/Comportamentais.

90

Para com o compositor (e seu processo composicional), a implementa¸ao do c˜ modelo proposto neste trabalho oferece trˆs contribui¸oes principais: e c˜ • A melodia final ´ o resultado da organiza¸˜o de elementos musicais (alturas e e ca dura¸oes) em fun¸˜o de espa¸os probabil´ c˜ ca c ısticos que s˜o gerados de forma emera gente pela intera¸ao de agentes. O compositor, inicialmente, define os ambic˜ entes nos quais ocorrer˜o tais intera¸˜es. Na defini¸ao dos ambientes, o coma co c˜ positor informa parˆmetros espaciais que definir˜o as dimens˜es do ambiente. a a o Al´m disso, o compositor tamb´m define o n´mero de agentes que ir˜o interagir e e u a nos ambientes, bem como as restri¸oes de intera¸˜o entre tais agentes e a disc˜ ca tribui¸ao de pontos-alvo ao longo dos ambientes. Estas defini¸oes param´tricas c˜ c˜ e influenciar˜o drasticamente a configura¸ao das matrizes de probabilidades de a c˜ transi¸ao geradas na intera¸˜o dos agentes. Assim, transitivamente , o aspecto c˜ ca geral de cada ambiente definido pelo compositor, influencia o aspecto final da melodia resultante. Ou seja, o compositor n˜o interage com informa¸˜es do a co contexto musical na primeira estapa do processo de composi¸ao, mas sim com c˜ informa¸oes relativas a no¸oes espaciais e no¸oes de intera¸˜o entre agentes c˜ c˜ c˜ ca (com objetivos e restri¸˜es definidas pelo compositor). Tendo isto em mente, co a ferramenta, al´m de oferecer material mel´dico que pode ser aproveitado e o pelo compositor das mais diversas formas, representa tamb´m um ambiente e l´dico que instiga o processo criativo do compositor. Desta forma a pr´pria u o intera¸˜o do compositor com o ambiente altera sua rela¸ao com a obra musical ca c˜ a ser composta (MANZOLLI, 1996). • Tendo-se em mente que um mesmo modelo estoc´stico tem a capacidade de a originar um n´mero muito elevado de composi¸oes musicais completamente u c˜ diferentes (BEHRENDS, 1999), a partir de uma mesma parametriza¸ao da c˜ ferramenta aqui proposta, ´ poss´ gerar muitas composi¸oes mel´dicas dise ıvel c˜ o tintas. • A implementa¸ao do modelo composicional proposto neste trabalho gera a c˜ melodia final em formato de partitura, armazenada em um arquivo MIDI. Desta forma, toda a melodia gerada pela ferramente pode ser facilmente analisada e alterada da forma que for conveniente ao compositor. Possibilitando inclusive, desta forma, que trechos de melodias geradas pela ferramenta sejam reutilizados em outras composi¸oes (n˜o geradas pela ferramenta). c˜ a Em rela¸ao a contribui¸˜es deste trabalho na area da Computa¸ao Musical e, c˜ ` co ` c˜ conseq¨entemente, da Ciˆncia da Computa¸ao e da M´sica, pode-se citar: u e c˜ u • A concep¸˜o e a implementa¸˜o de um modelo de gera¸˜o emergente de maca ca ca trizes de probabilidades de transi¸ao, baseado na intera¸˜o entre agentes em c˜ ca

91

ambientes multiagentes. • A concep¸ao e a implementa¸˜o dos pr´prios ambientes multiagentes citac˜ ca o dos acima. O que subentende a modelagem da estrutura dos ambientes e a defini¸ao (estrutural e comportamental) dos agentes. c˜ • A introdu¸ao do conceito de MPGSM nos processos de s´ c˜ ıntese musical estoc´stica, oferecendo, desta forma, um mecanismo simples para contornar o a problema da monotonia (OLIVEIRA, 2003) que acomete as abordagen composicionais estoc´sticas, em geral. a • A concep¸˜o e implementa¸ao de um modelo que gera melodias musicais atenca c˜ tando para a forma das mesmas em trˆs n´ e ıveis distintos: Forma global (macro-forma): No modelo proposto, a forma global da melodia ´ definida (“desenhada”) em fun¸ao da distribui¸˜o de MPGSM e c˜ ca ao longo do processo de s´ ıntese. Forma intermedi´ria: A forma intermedi´ria diz respeito as regi˜es mel´dicas a a ` o o definidas por um MPGSM dentro do processo de s´ ıntese. Forma local (micro-forma): A forma local diz respeito ` cada uma das a notas geradas no processo de s´ ıntese. No modelo proposto, a forma global tem ascendˆncia sobre a forma intermedi´ria, e a e esta, por sua vez, tem ascendˆncia sobre a forma local. Assim, as formas locais s˜o e a definidas em fun¸ao das formas intermedi´rias, as quais, por sua vez, s˜o definidas c˜ a a em fun¸ao da forma global. Devido ` prioriza¸˜o do design global da melodia, c˜ a ca este modelo abarca a vis˜o de Xenakis sobre a m´sica contemporˆnea (OLIVEIRA, a u a 2003).

6.3

Perspectivas e trabalhos futuros

Para os trabalhos futuros que visem o aperfei¸oamento do modelo proposto neste c trabalho, evidenciamos as seguintes sugest˜es: o • Testar a utiliza¸ao de outros modelos de intera¸ao nos ambientes multiagentes c˜ c˜ da primeira camada do modelo (camada de gera¸ao emergente de matrizes c˜ de probabilidades de transi¸ao de estados). Os modelos alternativos de inc˜ tera¸ao testados devem objetivar um aumento do fator “imprevisibilidade” na c˜ movimenta¸˜o dos agentes e, conseq¨entemente, no comportamento global do ca u ambiente. Um dos modelos que poderiam ser testados ´ a abordagem “presae predador” utilizando algoritmos de flocking.

92

• Conceber e implementar um agente “observador” para atuar sobre os ambientes de gera¸ao emergente de matrizes de probabilidades de transi¸ao de estac˜ c˜ dos. Tal agente teria a fun¸˜o de cessar as intera¸oes em tais ambientes assim ca c˜ que fosse alcan¸adas certas propriedades desej´veis (a serem definidas). Ou c a seja, este agente representaria o papel do observador no contexto do fenˆmeno o emergente que ocorre em tais ambientes. A introdu¸ao de tal agente poderia c˜ eliminar a necessidade de interven¸ao do usu´rio na determina¸˜o do momento c˜ a ca de parada das intera¸oes. A utiliza¸ao de tal agente poderia ser oferecida como c˜ c˜ uma funcionalidade opcional, ou seja, o usu´rio poderia determinar se quer a decidir quando as intera¸oes devem cessar ou delegar tal decis˜o ao agente c˜ a observador. • Testar a utiliza¸ao de cadeias de Markov de ordens mais elevadas no processo c˜ de s´ ıntese mel´dica estoc´stica. A utiliza¸ao de cadeias de Makov de ordens o a c˜ mais elevadas pode vir a agregar maior coerˆncia musical (OLIVEIRA, 2003) e na melodia final obtida. Para que seja poss´ ıvel utilizar cadeias de Markov de ordens mais elevadas, as matrizes de transi¸ao de estados utilizadas para c˜ ger´-las precisariam ser reestruturadas em fun¸˜o da quandidade de estados a ca passados que devem prever. Visto que os ambientes multiagentes que geram tais matrizes tˆm sua estrutura l´gica definida em fun¸˜o da estrutura de tais e o ca matrizes, a pr´pria estrutura dos ambientes deve ser modificada para atender o aos novos requisitos. Tomando como exemplo a cadeia de Markov que d´ origem a sucess˜o de a ` a alturas no processo de s´ ıntese mel´dica do modelo proposto neste trabalho, o temos que: – Tal cadeia de Markov ´ de primeira ordem, desta forma, as matrizes de e probabilidades de transi¸ao de alturas s´ precisam descrever as probac˜ o bilidades de transi¸˜o a partir de uma unica altura. Considerando as ca ´ transi¸oes a partir de cada um dos elementos do espa¸o de estados que c˜ c define o conjunto de alturas considerado, temos matrizes quadradas, cujas dimens˜es s˜o 12 × 12. o a – Se fosse utilizada uma cadeia de Markov de segunda ordem, por exemplo, as matrizes de probabilidades de transi¸˜o de alturas deveriam considerar ca as duas ultimas alturas geradas. Desta forma, considerando as transi¸˜es ´ co a partir de cada combina¸ao de dois elementos do espa¸o de estados c˜ c que define o conjunto de alturas considerado, ter´ ıamos matrizes cujas 2 dimens˜es seriam 12 × 12, ou seja, 144 × 12. Para gerar tais matrizes o a partir do ambientes multiagente utilizado neste modelo, a estrutura

93

l´gica deste ambiente deveria ser reformulada em fun¸ao destas novas o c˜ dimens˜es da matriz. o • Testar abordagens que automatizem a gera¸˜o dos MPGSM, de forma que o ca usu´rio n˜o necessite intervir no processo (como ´ feito atualmente). Esta aua a e tomatiza¸ao pode ser implementada atrav´s de abordagens heur´ c˜ e ısticas definidas em fun¸ao de m´tricas qualitativas parametrizadas, por exemplo. Tal automc˜ e atiza¸ao poderia ser oferecida como uma funcionalidade opcional, permitindo c˜ que o usu´rio decida se quer definir tais modelos “manualmente” ou delegar a esta fun¸ao ao mecanismo implementado. c˜ • Testar abordagens alternativas ` utiliza¸ao do “ciclo de utilidade” do MPGSM a c˜ no processo de s´ ıntese mel´dica estoc´stica. Estas abordagens deveriam preocuparo a se em definir o quanto cada MPGSM pode/deve colaborar na constru¸ao da c˜ melodia final. • Testar abordagens alternativas ao mecanismo, utilizado durante o processo de s´ ıntese mel´dica estoc´stica, que regerencia a sucess˜o de MPGSM. A defini¸ao o a a c˜ desta sucess˜o ´ importante porque, se cada MPGSM define a forma de um sega e mento mel´dico da melodia final (forma intermedi´ria), a sucess˜o de MPGSM o a a define o comportamento global (forma global) da melodia. A sucess˜o de a MPGSM dentro do processo de s´ ıntese poderia ser definida atrav´s de abordae gens heur´ ısticas ou ainda evolutivas, por exemplo. Na abordagem heur´ ıstica, poderiam ser utilizadas m´tricas que visem encontrar e melhor distribui¸˜o e ca de MPGSM ao longo do processo de s´ ıntese geral. Na abordagem evolutiva, as diversas distribui¸oes poss´ c˜ ıveis de MPGSM poderiam ser modelados como cromossomos, os quais poderiam ser submetidos a uma fun¸ao de fitness que c˜ avaliasse tais distribui¸oes. c˜ • Testar a utiliza¸˜o de uma interface gr´fica no processo de defini¸˜o das ca a ca sucess˜es de MPGSM e da pr´pria contribui¸˜o dos mesmos na melodia fio o ca nal. Esta interface poderia representar os MPGSM como objetos gr´ficos, os a quais poderiam ser manipulados pelo usu´rio afim de construir a “prov´vel a a forma global” da m´sica. Nesta interface, as dimens˜es dos objetos gr´ficos u o a que representariam os MPGSM poderiam estar relacionadas a contribui¸ao c˜ do MPGSM em quest˜o na melodia final. As dimens˜es do objeto gr´fico a o a poderiam estar ligadas a um n´mero m´ u ınimo e/ou m´ximo de notas com que a o mesmo ir´ contribuir. A justaposi¸ao de tais objetos poderiam definir a a c˜ sucess˜o dos MPGSM no processo de s´ a ıntese estoc´stica. Esta interface opora tunizaria uma experiˆncia mais intuitiva ao usu´rio dentro do processo de e a constru¸ao da forma mel´dica global. c˜ o

94

Figura 6.1: Exemplo: objeto gr´fico que representaria um MPGSM e , abaixo, a a justaposi¸ao desses objetos gr´ficos (3 distintos) que define (“desenha”) a forma c˜ a global da melodia final. • Conceber e implementar uma camada de “refinamento est´tico” no modelo e global. Esta camada estaria acima da camada de s´ ıntese mel´dica estoc´stica o a e seria alimentada por um conjunto de melodias geradas por esta ultima. Em ´ tal camada, poderia ser utilizada uma abordagem evolutiva na qual o conjunto de melodias geradas poderiam ser mapeadas em cromossomos. Sobre tais cromossomos poderia ser aplicada uma fun¸˜o de fitness que avaliaria ca a popula¸ao em fun¸ao de m´tricas parametrizadas. Este processo geraria, c˜ c˜ e a partir das melodias iniciais, a melodia mais adaptada a fun¸ao de fitness ` c˜ definida.

95

ˆ REFERENCIAS

AEKEN, F.; ALVARES, L. Synthesising Applause Using Multi-Agent Systems. 3rd Ibero-American Workshop on DAI & MAS, p.123–135, 2000. ALVARES, L. O.; SICHMAN, J. S. Introdu¸˜o aos Sistemas Multiagentes. XVII ca Congresso da SBC, Bras´ ılia, 2-8 agosto 1997, 1997. ANTENEODO, C. Processos Estoc´sticos. V Escola do CBPF Rio de Janeiro, a de 5-16 de julho 2004, 2004. BARBOSA, l. M. Edi¸ao Digital de Som: uma Abordagem aos Fundamentos da c˜ Escultura Sonora Orientada para Criadores. Universidade Cat´lica Portuguesa o - Escola das Artes - Som e imagem, 1999. BEHRENDS, E. M´sica: Estrutura e Acaso. Col´quio/Ciencias, n.24, p.17–24, u o 1999. BITONDI, M. G. A Estrutura¸˜o Mel´dica em Quatro Pe¸as Contemca o c porˆneas. 2006. Disserta¸ao (Mestrado em Ciˆncia da Computa¸ao) — Univera c˜ e c˜ sidade estadual paulista J´lio de Mesquita Filho - UNESP. u BONABEAU, E.; DESSALES, J.-L.; GRUMBACH, A. Characterizing Emergent Phenomena (1): A Critical Review. Revue Internationale de Syst´´mique, ee n.9, p.327–346, 1995. BONABEAU, E.; DESSALES, J.-L.; GRUMBACH, A. Characterizing Emergent Phenomena (2): A Critical Review. Revue Internationale de Syst´´mique, ee n.9, p.347–371, 1995. BORDINI, R. H.; VIEIRA, R.; MOREIRA, l. F. Fundamentos de Sistemas Multiagentes. Jornada de Atualiza¸˜o em Inform´tica, v.2, p.3–44, 2001. ca a BROOKS, R. A. A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation, v.2, n.1, p.14–23, 1986.

96

BROOKS, R. A. Elephants Don’t Play Chess. Robotics and Autonomous Systems, v.6, p.3–15, 1990. BRYAN-KINNS, N. Daisyphone: the Design and Impact of a Novel Environmentfor Remote Group Music Improvisation. ACM Symposium onDesigning Interactive Systems, p..135–144, 2004. BURRASTON, D.; EDMONDS, E. Cellular Automata in Generative Electronic Music and Sonic Art: a Historical and Technical Review. Digital Creativity, v.16, p.165–185, 2005. CARIANI, P. Emergence and Artificial Life. In: ARTIFICIAL LIFE II, 2001. Anais. . . [S.l.: s.n.], 2001. CORKILL, D. D. Blackboard Systems. AI Expert, v.6, n.9, 1991. CRUZ, M. A. S. T´cnicas de Computa¸˜o Sˆnica Aplicadas ao Design de e ca o Software Musical. 2001. Disserta¸ao (Mestrado em Ciˆncia da Computa¸ao) — c˜ e c˜ Universidade Estadual de Campinas. DESSALLES, J. L.; GALAM, S.; PHAN, D. Emergence in Multi-agent Systems. Cognitive Hierarchy, Detection, and Complexity Reduction, part ii : Endogenous Tags. , p.147–161, 2005. EMMECHE, C. Defining Life, Explaining Emergence. Princeton History of Science Workshop, 1997. FARIA, R. R. A. Aplica¸˜o de Wavelets na An´lise de Gestos Musicais ca a em Timbres de Instrumentos Ac´ sticos Tradicionais. 1997. Disserta¸ao u c˜ (Mestrado em Ciˆncia da Computa¸˜o) — Escola Polit´cnica da Universidade de e ca e S˜o Paulo. a FERBER, J. Multi-Agent Systems : an Introduction to Distributed Artificial Intelligence. [S.l.]: Addison-Wesley, 1999. FERNEDA, E.; COSTA, E. B.; ALMEIDA, H. O. d.; RODRIGUES, D. G.; ALMEIDA, E. S. d. A Web-based Cooperative E-Learning Environment for Musical Harmony Domain. IASTED International Conference on Web-Based Education, n.3, p.43–47, 2004. GARCIA, A. C. B.; SICHMAN, J. S. Agentes e Sistemas Multiagentes. , 2005. GARDNER, H. A Nova Ciˆncia de Mente. 2.ed. [S.l.]: EDUSP, 1996. e

97

GOHN, D. M. A Tecnologia na M´sica. XXIV Congresso Brasileiro da Comuu nica¸˜o, 2001. ca IAZZETTA, F. Intera¸˜o, Interfaces e Instrumentos em M´sica Eletroac´stica. ca u u Workshop Brasileiro de Fatores Humanos em Sistemas Computacionais, Gramado (Brazil), v.1, p.121–130, 1998. JUCHEM, M.; BASTOS, R. M. Engenharia de Sistemas Multiagentes: Uma Investiga¸˜o sobre o Estado da Arte. [S.l.]: Faculdade de Inform´tica - PUCRS, ca a 2001. LAVRY, D. Sampling Theory For Digital Audio. , 2004. LEITE, V. D. Musicians and Movements That Initiated Electroacoustics in Brazil. VII Simp´sio Brasileiro de Computa¸˜o Musical, 2000. o ca LOUREIRO, M. A.; PAULA, H. B. d. Timbre de um Instrumento Musical: Caracteriza¸ao e Representa¸˜o. Per Musi - Revista acadˆmica de m´ sica (UFMG), c˜ ca e u n.14, p.57–81, 2006. LUCENA, P. Semanticagent, Uma Plataforma para Desenvolvimento de Agentes Inteligentes. 2003. Disserta¸˜o (Mestrado em Ciˆncia da Computa¸ao) ca e c˜ — Instituto de Ciˆncias Matem´ticas e de Computa¸ao - ICMC - USP. e a c˜ MANOUSAKIS, S. Musical L-Systems. 2006. Disserta¸ao (Mestrado em Ciˆncia c˜ e da Computa¸ao) — The Royal Conservatory, The Hague. c˜ MANZOLLI, J. Auto-Organiza¸ao e Criatividade Sonora. In: UNESP (Ed.). Enc˜ contros com as Ciˆncias Cognitivas. 1.ed. [S.l.: s.n.], 1996. v.1, p.12–20. e MEZENCIO, R. Implementa¸˜o do M´todo de Campos Potenciais para ca e Navega¸˜o de Robˆs M´veis Baseada em Computa¸˜o Reconfigur´ve. ca o o ca a 2002. Disserta¸ao (Mestrado em Ciˆncia da Computa¸˜o) — Departamente de c˜ e ca Ciˆncias de computa¸ao e estat´ e c˜ ıstica - Instituto de Ciˆncias matem´ticas e de come a puta¸ao - universidade de S˜o Paulo. c˜ a MILETTO, E. M.; COSTALONGA, L. L.; FLORES, L. V.; FRITSCH, E. F.; PIMENTA, M. S.; VICARI, R. M. Introdu¸ao a Computa¸ao Musical. IV Congresso c˜ ` c˜ Brasileiro de Computa¸˜o, 2004. ca MIRANDA, E. R.; BROUSE, A.; BOSKAMP, B.; MULLANEY, H. Plymouth Brain-Computer Music Interface Project: Intelligent Assistive Technology for MusicMaking. Proceedings of the International Computer Music Conference, Barcelona (Spain), 2005.

98

MOORE, F. R. Dreams of Computer Music : Then and Now. Computer Music Journal, v.20, n.1, p.25–41, 1996. MOORE, F. R. M. Elements of Computer Music. [S.l.]: Prentice Hall, 1990. MORONI, A.; MANZOLLI, J.; VON ZUBEN, F.; GUDWIN, R. Vox Populi: an Interactive Evolutionary System for Algorithmic Music Composition. Leonardo Music Journal, v.10, p.49–54, 2000. MOTTA, P. As fronteiras Entre o Acaso e o Determinismo na Est´tica Composicional da M´ sica Erudita Contemporˆnea. Dispon´ em: e u a ıvel <http://www.artnet.com.br/pmotta/0sumintr.htm>. OLFATI-SABER, R. Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory. IEEE Transactions on Automatic Control, 2006. OLIVEIRA, L. F. d. As Contribui¸oes da Ciˆncia Cognitiva ` Composi¸˜o c˜ e a ca Musical. 2003. Disserta¸ao (Mestrado em Ciˆncia da Computa¸ao) — Faculdade c˜ e c˜ de Filosofia e Ciˆncias da Universidade Estadual Paulista J´lio de Mesquita Filho. e u PARAISO, E. C. Proposta de um Ambiente Multi-agente para Monitora¸˜o ca e Controle de Processos Industriais. 1997. Disserta¸˜o (Mestrado em Ciˆncia ca e da Computa¸ao) — Cefet-PR. c˜ PARUNAK, H. V. D.; BRUECKNER, S. Entropy and Self-Organization in MultiAgent Systems. In: INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS, 2001, Montreal, Canada. Proceedings. . . ACM Press, 2001. p.124–130. PUCHKIN, V. N. Heur´ ıstica: a Ciˆncia do Pensamento Criador. 2.ed. [S.l.]: Zahar, e 1969. RAO, A. S.; GEORGEFF, M. P. Bdi Agents: From Theory to Practice. Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), 1995. RATTON, M. Tecnologia dos Instrumentos Eletrˆnicos : S´ o ıntese Aditiva. Dispon´ em: <http://www.music-center.com.br>. Acesso em: Setembro 2007. ıvel ROADS, C. The Computer Music Tutorial. [S.l.]: The MIT Press, 1996. ROWE, R. Machine Learning and Composing: Making Sense of Music with Cooperating Real-Time Agents. 1991. Disserta¸ao (Mestrado em Ciˆncia da Comc˜ e puta¸ao) — MIT Media Lab. c˜

99

RUSSELL, S.; NORVIG, P. Artificial Intelligence - a Modern Approach. 2.ed. [S.l.]: Prentice Hall, 2003. SALVETTI, D. D.; BARBOSA, L. M. Algoritmos. 2.ed. [S.l.]: Pearson - Makron Books, 1997. SCHOENBERG, A. Harmonia. [S.l.]: Unesp, 1999. SINKOVITS, D. Flocking Behavior. , 2006. TORRES, M. H. C. Proceedings of the 11th Brazilian Symposium on Computer Music. 11th Brazilian Symposium on Computer Music, 2007. TRAJANO, E.; GUIGUE, D.; FERNEDA, E. Automatic segmentation of musical flows: a rational agents approach. Brazilian Symposium on Computer Music, n.7, 2000. UEDA, L. K. Composi¸˜o e Performance Musical Utilizando Agentes ca M´veis. 2004. Disserta¸ao (Mestrado em Ciˆncia da Computa¸˜o) — Instituto de o c˜ e ca Matem´tica e Estat´ a ıstica da Universidade de S˜o Paulo. a WOOLDRIDGE, M. An Introdution to Multiagent Systems. 2.ed. [S.l.]: Wiley, 2002. WOOLLER, R.; BROWN, A. R.; MIRANDA, E.; BERRY, R.; DIEDERICH, J. A Framework for Comparison Algorithmic Music Systems. Symposium on Generative Arts Practice, 2005. WORTH, P.; STEPNEY, S. Growing Music: Musical Interpretations of L-Systems. EvoMUSART Workshop, 2005. XENAKIS, I. Formalized Music: Thought and Mathematics in Music. revised.ed. [S.l.]: Pendragon, 1992.