Professional Documents
Culture Documents
DEPARTAMENTO DE INFORMÁTICA
CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Agradeço aos meus pais, José e Maria, pelo seu esforço em garantir a minha
educação, pelo seu apoio, incentivo, dedicação e compreensão durante todos os mo-
mentos da minha vida. Agradeço pela confiança em mim depositada, por confiarem
em meu julgamento e nunca duvidarem de minhas capacidades. Agradeço pela hu-
mildade e pela força de espı́rito demonstradas durante toda a minha vida. Vocês
são minha inspiração cotidiana.
Agradeço à minha irmã, Jocinara, por me compreender. Agradeço pelos momen-
tos felizes que pudemos compartilhar até hoje e pelos que ainda virão.
Agradeço aos meus primos, Mateus e Michele, por representarem constante fonte
de alegria.
Agradeço aos amigos do grupo Sinagoga e os poetas da praça zen, pessoas
incrı́veis, dotadas de almas sensı́veis, com as quais compartilho sonhos. Agradeço
por serem quem são, e por me ensinarem que sonhos são realizáveis. Agradeço
também pela compreensão e pelo apoio em tempos tão turbulentos.
Agradeço aos grandes amigos que encontrei na universidade, Alexandre, Cristian,
Marcos, Tiago e Vinı́cius.
Agradeço a todos os professores que conheci na universidade. Cada qual con-
tribuiu para meu engrandecimento dentro da Ciênca da Computação e para minha
evolução como ser humano. Agradeço, em especial, aos professores que revelaram-se
inestimáveis amigos.
E, finalmente, agradeço ao meu orientador, João, pela dedicação, compreensão,
sabedoria e amizade demonstrados durante a realização deste trabalho.
Obrigado a todos.
SUMÁRIO
LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Organização do documento . . . . . . . . . . . . . . . . . . . . . . . 16
2 COMPUTAÇÃO MUSICAL . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Um breve histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Computação musical . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Conceitos básicos sobre o som . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Representação digital de informação sonora - Áudio digital . . . . . . 21
2.3.2 Aspectos básicos do som no contexto musical . . . . . . . . . . . . . . 23
2.4 Composição Algorı́tmica . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1 Classificação quanto ao objetivo . . . . . . . . . . . . . . . . . . . . . 30
2.4.2 Classificação quanto ao tipo de informação processada . . . . . . . . . 31
2.4.3 Classificação quanto ao modelo algorı́tmico utilizado . . . . . . . . . . 32
3 SISTEMAS MULTIAGENTES . . . . . . . . . . . . . . . . . . . . . . 45
3.1 Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2 Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2.1 Agentes cognitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.2 Agentes reativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3 Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4 Coordenação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.5 Emergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 EXPERIMENTOS E TESTES . . . . . . . . . . . . . . . . . . . . . . 81
5.1 Parametrização inicial . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Geração emergente de matrizes de probabilidades de transição
de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3 Definição de MPGSM´s . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4 Geração melódica estocástica . . . . . . . . . . . . . . . . . . . . . 86
6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1 Sı́ntese do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 Resultados e contribuições . . . . . . . . . . . . . . . . . . . . . . . 89
6.3 Perspectivas e trabalhos futuros . . . . . . . . . . . . . . . . . . . 91
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
LISTA DE ABREVIATURAS E SIGLAS
IA Inteligência Artificial
MO Matriz de ocorrências
MT Matriz de Transição
PE Processo Estocástico
RESUMO
1 INTRODUÇÃO
1.1 Motivação
Observando-se o constante avanço da tecnologia em hardware e software voltados
para o processamento de som e composição musical, e a tendência de renomados
compositores aderirem sistematicamente à utilização de ferramentas computacionais
para composição musical, pode-se perceber que a área tem ganhado ênfase e que
muitas são as pesquisas realizadas nesta linha. Todavia, os sistemas de sı́ntese
musical produzidos pelas iniciativas tradicionais são, geralmente, dependentes do
usuário. Ou seja, as construções musicais não são completamente automáticas.
Amostras iniciais são fornecidas manualmente pelo usuário e o sistema de sı́ntese
musical limita-se ao processamento de amostras ou dados, em geral, estáticos e
pré-definidos.
No que diz respeito ao processo geral de sı́ntese musical automática ou Música
Gerativa, (WOOLLER et al., 2005) aborda quatro perspectivas básicas:
1.2 Objetivos
O objetivo deste trabalho é a realização de um estudo na área da computação
musical e, com os conhecimentos adquiridos, propor uma abordagem emergente
para composição musical estocástica. O modelo proposto neste trabalho almeja a
16
1.3 Metodologia
A realização deste trabalho terá como primeira etapa o levantamento de material
bibliográfico e sua posterior leitura e sı́ntese. Em seguida, será definido um modelo
estocástico para geração musical. A partir da análise das entradas do modelo es-
tocástico, será concebido um modelo emergente de geração de tais entradas, baseado
em sistemas multiagentes. A modelagem dos agentes, os modelos de interações e de
ambiente e a estrutura do método estocástico utilizado serão baseados nos modelos
estudados no levantamento bibliográfico.
2 COMPUTAÇÃO MUSICAL
sonora , como os famosos órgãos Hammond, fabricados nos EUA entre 1935 e 1974.
A invenção de Cahill oportunizou o avanço das pesquisas na área da sı́ntese sonora,
possibilitando o desenvolvimento de uma série de instrumentos eletrônicos, entre os
quais pode-se destacar os modernos sintetizadores sonoros.
A terceira grande inovação foi a utilização efetiva da tecnologia computacional
dentro do contexto musical, a partir de meados do século XX. Segundo (MOORE,
1996), as primeiras utilizações significativas de técnicas computacionais para a produção
de música se deu nos Bell Laboratories por volta da década de 50. Em 1956, Lejaren
Hiller na University of Illinois, daria o próximo passo com a implementação de um
software que gerava partituras musicais através de regras mapeadas em algoritmos.
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 única voz,
gerada através de uma forma de onda triangular e só controlava a altura, intensi-
dade e duração do som. Nos anos seguintes, a partir do Music I foi criada uma série
de softwares com o mesmo propósito, entre eles os emblemáticos Music II, Music
III, Music IV e Music V. Tais softwares introduziram conceitos fundamentais para
o desenvolvimento dos sistemas eletrônicos de sı́ntese sonora e tornaram-se paradig-
mas amplamente utilizados até hoje no projeto de sintetizadores e programas para
sı́ntese e sequenciamento de eventos musicais (FARIA, 1997). Durante a década de
60, paralelamente ao desenvolvimento das técnicas de sı́ntese digital de som, John
Chowning articula a primeira instalação universitária de música computacional na
Stanford University. Em 1970, Max Mathews cria o GROOVE, primeiro sistema
computacional para performances em tempo real (MOORE, 1996). Na década de
80, sintetizadores digitais já equipavam os computadores. Neste contexto prolı́fico,
a indústria de instrumentos musicais não tardou em adaptar-se às inovações, o que
resultou na criação do protocolo MIDI em 1983 (LEITE, 2000). Atualmente, o pro-
tocolo MIDI é amplamente utilizado como padrão de comunicação entre dispositivos
musicais eletrônicos em geral. Estas inovações tecnológicas foram rapidamente as-
similadas por uma série de compositores e deram origem ou foram fundamentais
para o desenvolvimento de várias correntes estéticas musicais.
Nos anos 30, utilizando os recursos de gravação e reprodução sonora, compos-
itores adotam uma série de novas abordagens na prática composicional que, entre
outros procedimentos, incluia-se a gravação de sons concretos para a posterior ma-
nipulação eletrônica dos mesmos. O conjunto de tais práticas e a estética musical que
resulta da utilização das mesmas, definiram a corrente musical batizada de música
concreta, pelo músico e pesquisador francês Pierre Schaeffer, no fim da década de
40 (MOTTA, 1992).
Em 1952, na cidade de Köln, na Alemanha, nascia a música eletrônica. Tendo
como principal representante o compositor Karlheinz Stockhausen, esta corrente
19
musical utilizou-se dos avanços tecnológicos na área da sı́ntese sonora para construir
composições musicais inteiramente eletrônicas. Ou seja, contrapondo-se à música
concreta, esta nova abordagem composicional não preocupava-se em transformar
sons naturais, mas em criar música, sintetizando o som a partir de frequências
puras. Também na década de 50, unindo sonoridades concretas e sons eletronica-
mente sintetizados, surge a música eletroacústica, tendo Stockhausen como pioneiro
(MOTTA, 1992).
Na década de 70, as tecnologias musicais, que até então estavam confinadas em
laboratórios cientı́ficos de ponta, tornam-se populares e passam a ser amplamente
utilizadas por uma série de compositores e grupos musicais das mais diferentes cor-
rentes estéticas (MILETTO et al., 2004). Entre os expoentes da popularização das
tecnologias musicais eletrônicas podemos citar os grupos Emerson, Lake & Palmer,
Yes, Genesis e Pink Floyd, representando o rock progressivo e Kraftwerk, Jean-
Michel Jarre e Vangelis, representando a música popular eletrônica (MILETTO
et al., 2004).
Nas últimas décadas, as tecnologias musicais resultantes das inovações e pesquisas
supracitadas foram amplamente difundidas, sendo encontradas em praticamente to-
das as correntes estéticas da música contemporânea. Este panorama instigador
acabou por consolidar uma série de áreas de investigação cientı́fica, entre as quais,
a área da computação musical, contexto no qual encontra-se o presente trabalho.
Atualmente a área da computação musical está consolidada e reconhecida pela
comunidade acadêmica como uma área legı́tima da investigação cientı́fica, recebendo
atenção de inúmeros institutos de pesquisa e universidades ao redor do mundo. Em
nı́vel nacional, a SBC possui uma comissão de computação musical que organiza o
Simpósio Brasileiro de Computação Musical (SBCM) periodicamente (MILETTO
et al., 2004). Além do apoio da SBC, no Brasil já existem universidades que de-
senvolvem uma série de projetos voltados para a área. Entre tais universidades
podemos citar a UNICAMP com o Núcleo Interdisciplinar de Comunicação Sonora
(NICS) e a UFRGS com o Laboratório de Computação & Música.
Convivemos cotidianamente com uma série de sons que são produzidos pelas
mais diversas fontes sonoras: automóveis passando nas ruas, pessoas conversando,
música sendo executada, etc. O fenômeno sonoro é tão comum no cotidiano que não
nos damos conta da complexidade envolvida no mesmo.
Em (MILETTO et al., 2004), ilustram-se os processos envolvidos no fenômeno
sonoro (desde a geração do som até sua percepção pelo sistema nervoso humano)
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 de-
formação desta. A campainha resiste à deformação, devolvendo a energia cinética,
buscando voltar ao seu estado original. Neste momento inicia-se uma repetição
periódica de deformações e restaurações da campainha. A esta repetição chamamos
de vibração. Estas vibrações então produzem mudanças de pressão do ar em volta
da campainha. Essas mudanças resultam em seções de ar que são mais densas (con-
densações) e outras que são rarefeitas (rarefações), ocorrendo sucessivamente uma
depois da outra e expandindo-se (processo análogo à formação de ondas circulares
na superfı́cie de um lago, após arremessarmos uma pedra neste). Estas ondas de
21
utilizarmos para representar a amostra, mais fiel ao som original será a repre-
sentação. A resolução da amostra é medida em bits. Com N bits, é possı́vel
representar 2N valores. A resolução utilizada para o armazenamento de áudio
em CD´s, por exemplo, é de 16 bits. Ou seja, num CD, o áudio é representado
utilizando-se um conjunto de 216 (65.536) amplitudes possı́veis.
Voltando à analogia da captação de movimento em vı́deo, é possı́vel rela-
cionar a resolução da amostra à resolução de cada quadro do movimento a
ser capturado. Quando mais informação armazena-se de cada quadro, maior
a fidelidade do mesmo à imagem real capturada.
do som musical são: altura, duração, intensidade (ou volume) e timbre. Em geral,
na notação musical ocidental, uma altura e uma duração definem uma nota musical.
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
mais à direita e mais graves, quando pressionamos teclas mais à esquerda.
Uma oscilação completa de uma onda periódica (incluindo um pico e um vale
completos) é chamada de ciclo. Ao comparar um som mais grave com um
som mais agudo em um osciloscópio, podemos perceber que sons mais agudos
geram mais ciclos por unidade de tempo que sons mais graves. O número de
ciclos dentro do intervalo de um segundo é o que, convencionalmente, chama-se
de freqüência, a qual é expressa em unidades chamadas hertz (Hz) (MILETTO
et al., 2004). A Figura 2.3 representa uma onda senoidal e evidencia um de
seus ciclos. Definindo o tempo total de duração desta onda como sendo um
segundo, terı́amos, neste caso, uma frequência de 3Hz.
Figura 2.3: Representação gráfica do cliclo de uma forma de onda senoidal especı́fica.
Intensidade (ou volume): Para ilustrar esta caracterı́stica, tomemos como ex-
emplo novamente o piano. Se pressionarmos fortemente uma tecla do piano,
o som resultante será mais forte, já se uma determinada tecla do piano for
pressionada suavemente, o som resultante será fraco. Dito isto, é importante
evidenciar um erro que geralmente ocorre. É comum ouvir pessoas utilizando
os termos alto e baixo fazendo referência ao volume do som, quando na ver-
dade, estes termos dizem respeito a uma caracterı́stica distinta do som: a
altura.
1. Ataque: Diz respeito à forma como o som inicia. Para ilustrar o contexto,
28
A Figura 2.8 apresenta três formas de onda com envelopes de onda distintos.
A primeira forma de onda mostra três notas executadas a partir de uma tabla
(instrumento de percussão indiano), a segunda mostra três notas executadas
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
executante, seguido de um decaimento acentuado e relaxamento. Em relação
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ı́cio da
nota e dura todo o tempo em que o trompista mantêm o sopro, desaparecendo
de forma bastante rápida ao final das notas. Por fim, em relação ao som da
flauta, pode-se perceber que o som surge muito suavemente (ataque suave),
29
1996). Durante o inı́cio do século XX, antes do surgimento dos computadores, diver-
sos compositores utilizavam procedimentos matemáticos e estatı́sticos na composição
musical (UEDA, 2004).
A partir do surgimento do computador, na década de 50, as possibilidades
da composição algorı́tmica aumentaram drasticamente (UEDA, 2004). Sistemas
extremamente complexos de composição algorı́tmica surgiram, acompanhando a
evolução da tecnologia computacional. Não tardou para que surgissem modelos com-
posicionais baseados em técnicas de Inteligência Artificial, estruturas matemáticas
complexas e metáforas relacionando parâmetros musicais a fenômenos fı́sicos.
Neste sentido, o compositor grego Iannis Xenakis tornou-se emblemático. Xe-
nakis ficou conhecido pelo desenvolvimento e utilização de uma série de idéias com-
posicionais que utilizavam modelos algorı́tmicos como base. Entre essas idéias pode-
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 Xe-
nakis compõe música modelando uma sequência de blocos, onde cada bloco tem uma
duração e uma densidade de notas. O usuário interage com o programa definindo
parâmetros globais da música (como, por exemplo, duração média dos blocos, den-
sidades mı́nima e máxima dos blocos e parâmetros de mudança de timbre) (UEDA,
2004). Esta abordagem reflete a visão de Xenakis sobre a música do século XX,
onde o design global da obra tem uma importância maior que suas formas locais
(UEDA, 2004).
Além de Xenakis, muitos outros compositores e pesquisadores desenvolveram
abordagens algorı́tmicas para a geração de material musical. Podemos classificar
estas abordagens através de três aspectos distintos: objetivo, tipo de informação
que processa e modelo algorı́tmico que utiliza.
(OLIVEIRA, 2003).
Figura 2.11: Sistema composicional que utiliza tanto informações abstratas quanto
informação sonora.
1
Dentro do contexto musical, a forma exprime o plano geral de uma composição musical, evi-
denciando a organização dos elementos constituintes da mesma (temas, motivos, células rı́tmicas
e/ou melódicas,etc) (BITONDI, 2006). Sob uma perspectiva visual, a forma musical pode ser
compreendida como o desenho da música, no qual evidenciam-se os contrastes entre os elementos
que a compõe.
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
todo musical (BITONDI, 2006).
3
Música baseada na utilização de um sistema no qual o compositor dispõe, segundo suas neces-
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
a unidade dos elementos utilizados dentro da composição atonal. (SCHOENBERG, 1999)
35
Figura 2.12: Primeiras 100 iterações do processo algorı́tmico proposto por Stanley
Gill, no qual as possibilidades musicais são geradas em uma estrutura de árvore
(OLIVEIRA, 2003).
que pertencem à lı́ngua que ela descreve. Analiticamente, uma gramática pode ser
utilizada para analisar sentenças e verificar se tal sentença pertence à lı́ngua que
a gramática descreve. Quando fala-se em gramática gerativa, na verdade, está-se
fazendo uma alusão à utilização de uma gramática para gerar sentenças.
A geração de sentenças, a partir de uma gramática gerativa, é realizada utilizando-
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ı́mbolos não termi-
nais podem ser substituı́dos por sub-cadeias (que podem conter sı́mbolos terminais
e não terminais). A substituição de sı́mbolos não terminais ocorre em função de um
conjunto explı́cito de regras de produção que descrevem formalmente como ocorre a
substituição de cada sı́mbolo (MANOUSAKIS, 2006).
Uma gramática formal pode ser representada por uma quádrupla G, em que
G = (N, T, P, S) , onde (MANOUSAKIS, 2006):
3. N ∩ T = 0.
Variáveis: F .
Constante: +, −.
Regras: F → F + F − F − F + F .
Variáveis: A, B.
Constante: +, −, T .
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
para cada sı́mbolo T ), cujas alturas e durações são definidas em função das alturas
e durações referenciais informadas antes do parsing da cadeia resultante.
Existem vários tipos de processos estocásticos, cada qual com suas caracterı́sticas
próprias. Como base de modelos algorı́tmicos para composição musical, o processo
estocástico mais utilizado é a cadeia de Markov, um tipo especı́fico de processo
markoviano (processo de Markov).
Um processo Markoviano é um processo estocástico no qual o estado futuro
depende apenas do estado atual e independe dos estados passados. Devido à de-
sconsideração dos estados passados (“o passado é esquecido”) o processo Markoviano
também é conhecido como processo sem memória (memoryless process).
Em um processo Markoviano, o valor do próximo estado a ser gerado, depende do
estado atual e de um conjunto de valores (probabilidades de transição) associados
a ele, que definem as probabilidades de ocorrência de outros estados a partir do
atual. Uma cadeia de Markov, pode ser considerada como uma sucessão de variáveis
aleatórias X(t) que podem assumir como valor (em cada uma das realizações do
41
processo) uma gama discreta de valores (espaço determinado por um limite inferior e
um superior e que compreende uma gama de valores não contı́nuos)(ANTENEODO,
2004).
Segundo (OLIVEIRA, 2003) as cadeias de Markov apresentam tanto potencial
indutivo quanto dedutivo. O potencial indutivo das cadeias de Markov é explorado
quando gera-se um modelo probabilı́stico (conjunto de estados possı́veis + con-
junto de probabilidades de transição associado a cada estado) a partir de um espaço
amostral, descrevendo as propriedades estatı́sticas deste último (MOORE, 1990). Já
o potencial dedutivo é explorado quando utiliza-se um modelo probabilı́stico para
gerar uma cadeia. Dentro do contexto da composição musical existe a possibilidade
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ı́stico construı́do a partir
da análise estatı́stica de uma seqüência de notas musicais com existência prévia. A
seguir, ilustra-se um caso de uso de ambas as potencialidades das cadeias de Markov
para geração de uma sucessão de alturas de notas musicais, a partir de uma amostra
inicial. Para o exemplo que segue, tomemos como base a seguinte seqüência de
alturas de notas musicais: E − B − B − G − E − B − D − G − D − G − E − D.
la para gerar uma cadeia de Markov (na prática, uma sucessão de alturas de
notas musicais). Para tanto, realiza-se o seguinte processo:
de transição entre estados são constantes no tempo. Já o conceito de ordem está
ligado à capacidade de memória da mesma (o número de estados anteriores que
são considerados para determinar o próximo estado) (ANTENEODO, 2004). Desta
forma, uma cadeia de Markov é considerada de primeira ordem se para determinar
o próximo estado, apenas o último estado é considerado, seria de segunda ordem
se considerasse os dois últimos estados, de terceira ordem se considerasse os três
últimos e assim por diante.
45
3 SISTEMAS MULTIAGENTES
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ção de
problemas grandes e complexos que necessitam de tipos distintos de conhecimentos
e que, eventualmente, envolvam a coleta, manipulação e armazenamento de dados
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
elementos principais: o ambiente, o agente, a comunicação e a coordenação.
3.1 Ambiente
O ambiente, como o próprio termo sugere, representa o “meio” no qual o agente
existe (percebendo e atuando sobre o mesmo). Em (RUSSELL; NORVIG, 2003) é
dito que o ambiente representa, essencialmente, o problema para o qual os agentes
são a solução.
As caracterı́sticas do ambiente influenciam diretamente o projeto dos agentes
que estarão inseridos no mesmo. Desta forma, (RUSSELL; NORVIG, 2003) sugere
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ı́vel.
A variedade de ambientes possı́veis é, sem dúvida, vasta. Todavia, em (RUS-
SELL; NORVIG, 2003) lista-se um número reduzido de dimensões facilmente ob-
serváveis, em função das quais os ambientes podem ser divididos em categorias.
Tais categorias são:
3.2 Agente
Analisando a bibliografia disponı́vel sobre o assunto, percebe-se que não existe
um consenso na comunidade acadêmica em relação ao conceito de Agente, sendo que
as definições variam conforme o contexto em que o agente encontra-se e conforme a
visão com que o agente é abordado neste contexto. Segundo (RUSSELL; NORVIG,
2003), um agente é tudo que tem a capacidade de perceber o ambiente em que
48
Figura 3.1: Diagrama esquemático que representa uma agente genérico interagindo
com o ambiente através de sensores e atuadores
Ação: As alterações no ambiente são provenientes das ações que os agentes realizam
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
de sua meta;
Motivação: Como em SMA os agentes podem ser autônomos, é essencial que exista
não só uma representação do conhecimento do agente, mas também uma rep-
resentação dos desejos ou objetivos (aspectos motivacionais) daquele agente;
em termos práticos, isto significa ter uma representação de estados do ambi-
ente que o agente almeja alcançar; como consequência, o agente age sobre o
ambiente por iniciativa própria para satisfazer estes objetivos;
50
2. Podem manter um histórico das interações e ações passadas, isto é, têm memória
do passado.
Figura 3.2: Diagrama esquemático que representa a arquitetura BDI genérica (que
pode ser vista em (BORDINI; VIEIRA; MOREIRA, 2001)).
52
Os agentes reativos surgiram como alternativa aos agentes cognitivos para atuar
em contextos nos quais estes últimos não apresentavam uma performance satisfatória
(WOOLDRIDGE, 2002). O principal motivo que levou os pesquisadores a buscar
alternativas à abordagem cognitiva reside na dificuldade que os agentes cognitivos
apresentam em lidar com ambientes dinâmicos ou desconhecidos. Dificuldade esta
que advém das caracterı́sticas fundamentais da abordagem cognitiva: representação
explı́cita de conhecimento sobre o ambiente e tomada de decisão baseada em com-
plexos processamentos simbólicos. Em ambientes dinâmicos ou desconhecidos, tais
caracterı́sticas representam um ônus operacional. Pois representar explicitamente (e
atualizar constantemente) o conhecimento sobre este tipo de ambiente é extrema-
mente difı́cil, além do raciocı́nio simbólico demandar muito tempo, compromentendo
o tempo de reação do agente ao ambiente (que pode mudar de configuração rapida-
mente) (ALVARES; SICHMAN, 1997).
Buscando alternativas à IA simbólica (BROOKS, 1990) surgiram algumas novas
abordagens para a construção de agentes. Algumas premissas são comuns à todas
estas abordagens em questão. Entre tais premissas, destacam-se três principais
(WOOLDRIDGE, 2002):
3. Não há memória das ações. Os agentes reativos não mantém um histórico de
suas ações, de forma que o resultado de uma ação passada não exerce nenhuma
influência sobre as suas ações futuras.
Campo tangencial: esse campo faz com que o robô tangencie um objeto ficando
próximo ao objeto, porém sem poder tocar o mesmo (Figura 3.6 ).
56
Campo uniforme: os vetores apontam para uma única direção. É bastante uti-
lizado para definir comportamentos como “siga a linha” (Figura 3.8).
3.3 Comunicação
A comunicação entre os agentes pode se dar de diversas formas, dependendo
da categoria em que se inserem (cognitivos ou reativos) e do tipo de ambiente em
que se encontram. Em geral, a interação entre agentes cognitivos envolve comu-
nicação explı́tica. Enquanto entre os agentes reativos, quando há comunicação, ela
é implı́cita e realizada através de estigmergia (comunicação através de marcas deix-
adas no ambiente, como a utilização do feromônio por algumas espécies de insetos).
Em (BORDINI; VIEIRA; MOREIRA, 2001) é dito que os agentes comunicam-
se buscando atingir os seus objetivos em um ambiente compartilhado. Em uma
sociedade, as ações de agentes são ações coordenadas, seja para cooperar ou com-
petir (negociar). Desta forma, pode-se perceber que em qualquer modelo de coor-
denação utilizado por agentes cognitivos, a comunicação tem, em geral, importância
fundamental.
A comunicação explı́cita utilizada pelos agentes cognitivos é norteada pela teoria
57
dos atos de fala, desenvolvida pelo filósofo inglês John Langshaw Austin. Tal teo-
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ção
do falante. Pois um mesmo conteúdo semântico pode estar presente em diversas
situações comunicativas, expressando intenções completamente diferentes. Desta
forma, a teoria proposta por Austin caracteriza a diferença entre a emissão de uma
expressão (enunciação), a intenção do falante e o efeito no mundo, da seguinte forma:
Locução: é o enunciado emitido pelo falante através de algum meio (por exemplo
fala ou escrita).
Esses enunciados que objetivam a realização de uma ação e não apenas a trans-
missão de um conteúdo de sentido são chamados por Austin de enunciados perfor-
mativos.
A força ilocucionária de uma sentença performativa pode ser classificada con-
forme o tipo de ação pretendida. Em (BORDINI; VIEIRA; MOREIRA, 2001) os
performativos são classificados da seguinte forma:
Diretivas: o falante tem por intenção provocar o ouvinte a realizar uma ação (por
exemplo, requisição, pergunta, ordem, proibição, permissão).
Declarativas: têm como efeito imediato uma mudança de estado do mundo (por
exemplo, uma declaração de guerra).
(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ção que são estrutu-
radas em função desta teoria, um outro elemento importante na comunicação entre
agentes é a arquitetura de comunicação.
Arquiteturas de comunicação são mecanismos pelos quais as mensagens são trans-
portadas de um emissor para um receptor. Dentro de um ambiente de agentes
cognitivos, as arquiteturas de comunicação mais conhecidas são a arquitetura de
quadro negro (blackboard), a arquitetura de mensagens diretas e a arquitetura de
comunicação assistida (baseada em facilitadores ou interpretadores).
3.4 Coordenação
Segundo (JUCHEM; BASTOS, 2001), em sistemas multiagentes, fundamental-
mente, está envolvida a busca por uma funcionalidade que permita que os agentes
possam coordenar seus conhecimentos, objetivos, habilidades e planos individuais de
uma forma conjunta, buscando a satisfação de uma necessidade que o sistema mod-
ela. Desta forma, pode-se perceber que a coordenação é um dos elementos centrais
dos SMA, pois sem coordenação, os benefı́cios advindos da resolução distribuı́da de
problemas, desaparecem (JUCHEM; BASTOS, 2001).
Em sistemas multiagentes baseados em agentes cognitivos, a coordenação do
mesmo é fundamentalmente relacionada à comunicação explı́cita entre os agentes
que o compõe. Ou seja, para que os agentes possam se coordenar, devem possuir a
habilidade de se comunicar.
Um mecanismo muito utilizado para implementar a coordenação de SMA basea-
dos em agentes cognitivos é o protocolo de rede contratual (contract net) (JUCHEM;
BASTOS, 2001), o qual é inspirado nos processos de contratação de serviços (re-
alização de tarefas) existentes em organizações humanas. Neste processo, agentes
coordenam suas ações através de contratos que firmam o cumprimento de seus obje-
tivos especı́ficos. Neste cenário existe um agente que atua como gerente, decompondo
seus contratos em subcontratos a serem realizados por outros potenciais agentes em-
preiteiros. Todas esas contratações são realizadas através de trocas de mensagens
entre os agentes envolvidos.
Em sistemas multiagentes baseados em agentes reativos, o problema global a ser
resolvido pelos agentes não é explı́cito, está implı́cito nas interações de baixo nı́vel.
Desta forma, a coordenação de tais agentes ocorre justamente no nı́vel local, visando
61
3.5 Emergência
A noção de emergência é bastante ampla e possui vários sentidos (DESSALLES;
GALAM; PHAN, 2005). Em geral, é dito que uma propriedade de um sistema com-
plexo é emergente quando esta surge a partir das propriedades e relações inerentes
aos elementos constituintes de nı́veis hierárquicos inferiores a ela, sendo que tal pro-
priedade não é nem previsı́vel a partir e nem redutı́vel à estas caracterı́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
um bolo e as formas das nuvens, por exemplo. A textura do bolo é vista como o
resultado complexo do processo de cozimento e das reações quı́micas entre os ingredi-
entes constituintes, além de outros inúmeros fatores. Já a forma de uma nuvem pode
ser desencadeada e desenvolvida a partir da interação de centenas de fatores (tem-
peratura ambiente, incidência do sol, ângulo desta incidência, taxa de evaporação
d’água, velocidade dos ventos, natureza das substâncias constituintes,...). Nos dois
casos, o fenômeno não pode ser descrito formalmente a partir das caracterı́sticas,
propriedades e/ou interações dos elementos do nı́vel inferior.
Em (BONABEAU; DESSALES; GRUMBACH, 1995a) e (BONABEAU; DESSALES;
GRUMBACH, 1995b) são apontados alguns fatores fundamentais para que um
fenômeno emergente possa ocorrer:
1. Multiplicidade de nı́veis:
emergente, as propriedades que são observadas nos elementos constituintes, não po-
dem ser observadas da mesma forma nos conjuntos de tais elementos, são necessários
nı́veis de descrições distintos para abarcar as diferentes propriedades.
Os nı́veis de descrição dependem totalmente do observador, relacionando-se di-
retamente ao que ele está observando no momento e de seu ponto de vista.
Em (CARIANI, 2001) categoriza-se três grandes modelos distintos sobre o con-
ceito de emergência. Os três modelos são: emergência computacional, emergência
termodinâmica e emergência relativa a um modelo. A emergência termodinâmica
é caracterizada pelo surgimento de ordem a partir do ruı́do, onde micro-processos
estocásticos geram macro-estruturas ou macro-comportamentos discretos. Como
exemplo ilustrativo da emergência termodinâmica pode-se citar o comportamento
dos gases. O movimento estocástico dos átomos e moléculas que compõe o gás de-
finem a temperatura, a pressão e o volume do gás, no nı́vel superior de observação.
A emergência relativa a um modelo é definida como um desvio do comportamento
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
ocorrem no mesmo. Neste contexto, pode-se citar a evolução de novos órgãos senso-
riais em organismos vivos a partir de estruturas orgânicas mais simples. Por fim, a
emergência computacional está relacionada à manifestação de novas formas (estru-
turas, comportamentos,...) globais a partir de interações locais. Ou seja, uma macro-
ordem complexa resulta da micro-ordem simples. Um exemplo clássico que ilustra
esta categoria é a simulação do comportamento de bandos (flocking) (SINKOVITS,
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ção de parâmetros
locais (posição e direção dos agentes mais próximos) e que resultam em complexos
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
geração de informação inicial, a partir da qual o algoritmo de sı́ntese estocástica gera
a melodia final. Assim, foi concebido um mecanismo que possibilita a emergência
de distribuições de probabilidades (em matrizes de probabilidades de transição de
estados) a partir da interação entre agentes reativos.
Optou-se pela utilização do conceito de emergência para a geração da informação
inicial porque um dos objetivos deste trabalho era facultar o surgimento de estru-
turas musicais não pensadas inicialmente pelo compositor. Desta forma, buscamos
uma alternativa que proporcionasse uma certa dissociação, em relação aos proces-
sos cognitivos do compositor, entre as configurações iniciais (que, em geral, são
fornecidas pelo compositor) e o resultado melódico final. Essa dissociação objetiva
contornar o “vı́cio” do compositor, que, mesmo de forma não consciente, pode vir a
determinar entradas que visem a geração de determinads saı́das.
65
conjunto de agentes reativos que interagem, de modo que desta interação emerja o
conjunto de matrizes de probabilidades de transição. Para compreender este pro-
cesso, a seguir serão detalhadas as estruturas do ambiente e do agente utilizadas
nesta camada e, por fim, será descrito o processo de geração emergente de matrizes
de probabilidades de transição.
4.1.1 Ambiente
Nesta camada existem dois ambientes que são basicamente instâncias de uma
mesma estrutura de ambiente. Os ambientes em questão representam planos cujas
dimensões espaciais são definidas pelo usuário e sobre os quais os agentes movimentam-
se e interagem. Estes planos, por sua vez, são discretizados em uma matriz de ma-
trizes de ocorrência. Ou seja, o ambiente é logicamente dividido em grandes células
as quais representam matrizes de ocorrência e possuem, por sua vez N × N células.
Sabendo-se que os ambientes da camada 1 geram matrizes de probabilidades de
transição de estados, que mais tarde serão utilizados no mecanismo de sı́ntese es-
tocástica da camada 3, N representa o número de elementos do espaço de estados
considerado pelo mecanismo de sı́ntese estocástica. No ambiente que gera matrizes
de probabilidades de transição de alturas de notas musicais, N é igual a 12, porque
o conjunto total de alturas de notas musicais possı́veis é 12, compreendendo os 12
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
piano) e C6. De forma análoga, no ambiente que gera matrizes de probabilidades de
transição de durações, N é igual a 7, porque o conjunto total de durações de notas
musicas consideradas neste trabalho é 7 (Semibreve, Mı́nima, Semı́nima, Colcheia,
Semicolcheia, Fusa, Semifusa).
Na Figura 4.2 é ilustrada a estrutura lógica na qual é mapeado o ambiente em que
os agentes interagem. Na figura em questão, pode-se visualizar o ambiente como
um plano euclidiano (cujo ponto de origem está representado por O) delimitado
pelos valores D1 (largura, o valor máximo que uma coordenada X pode assumir
neste plano) e D2 (altura, valor máximo que uma coordenada Y pode assumir neste
plano). Tal plano, neste exemplo em questão, é dividido em 4 regiões distintas.
Cada uma dessas regiões representa uma matriz de ocorrência, onde cada célula
armazena um valor que representa o número de vezes que aquela região discreta
foi visitada por um agente. No detalhe, é possı́vel visualizar uma das matrizes
de ocorrências. Neste caso, o ambiente em questão é responsável pela geração de
matrizes de probabilidades de transição de alturas, visto que cada uma das matrizes
de ocorrência que o constituem possui 12 células.
Tabém fazem parte do ambiente, locais denominados pontos-alvo. Um ponto-
alvo, dentro do contexto deste trabalho, é definido como um ponto (uma coordenada
68
4.1.2 Agente
Os agentes possuem como objetivo alcançar o ponto-alvo pelo qual são atraı́dos,
movimentando-se do ponto em que se encontram no ambiente até o ponto-alvo em
questão, buscando manter sempre uma distância mı́nima D de outros agentes. A
todo o momento, existe sempre um ponto-alvo que exerce força atrativa sobre cada
um dos agentes e quando um ponto-alvo atrai um agente, este percebe tal força
de atração independentemente da distância que existe entre ele e o ponto-alvo em
questão. Todavia, no que diz respeito à capacidade que o agente tem de perceber
outros agentes, esta fica limitada a um raio de percepção de D unidades (o valor
definido como restrição de distância entre os agentes). Quando um agente invade
este raio D de percepção, o reflexo básico do agente é ajustar sua trajetória de modo
que continue satisfazendo a restrição de distância mı́nima. Pode-se perceber que o
agente possui dois comportamentos fundamentais: locomover-se até o objetivo (o
69
Visto que o agente está sempre sob uma força atrativa de um ponto-alvo, mas
nem sempre encontra agentes invadindo o raio de distância mı́nima, os comporta-
mentos resultantes possı́veis são definidos em função da percepção ou não de agentes
invadindo o raio de distância mı́nima. Ou seja:
primeira camada do modelo proposto. A seguir são listados tais parâmetros, segui-
dos de um detalhamento de cada um:
Distância mı́nima: Define a distância mı́nima que os agentes devem buscar man-
ter uns dos outros. Define também o raio de percepção de presença de agentes.
cliques de mouse diretamente em uma interface gráfica. Esta interface gráfica per-
mite a visualização da estrutura lógica (divisão em matrizes de ocorrência) de cada
um dos ambientes, além de possibilitar a visualização da própria interação entre os
agentes em ambos os ambientes. Tal interface gráfica é mostrada na Figura 4.5.
Após a definição dos pontos-alvo, a interação pode ser inicializada. Assim que
a interação inicia, os N agentes de cada ambiente são posicionados aleatoriamente.
Assim que surgem já percebem a força de atração de um dos ponto-alvo definidos.
Ao perceber tal força de atração, cada um dos agentes busca chegar ao ponto-alvo,
ajustando a trajetória para manter a restrição da distância mı́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.
Ao movimentarem-se pelo ambiente, os agentes incrementam as células das ma-
trizes de ocorrência (que são inicializadas com o valor 0). Incrementar o valor da
célula equivaleria, metaforicamente, a afundar a terra quando o agente dá um passo
em um determinado terreno. Desta forma, valores vão sendo distribuı́dos pelas
células das matrizes de ocorrência que constituem o ambiente.A distribuição desses
73
valores é determinada pela interação entre os agentes no ambiente, a qual, por sua
vez é drasticamente influenciada pelos parâmetros informados pelo usuário na ini-
cialização do ambiente. Como a distribuição de valores não pode ser formalmente
descrita a partir das relações entre os agentes, é possı́vel afirmar que tal distribuição
de valores emerge da interação entre os agentes no ambiente. Sendo este processo
um fenômeno emergente, o papel de observador é interpretado pelo usuário, que
decide quando parar o processo.
Assim que as interações cessam, as matrizes de ocorrência dão origem às matrizes
de probabilidades de transição que são enviadas para a próxima camada do modelo
composicional aqui proposto. Cada matriz de ocorrências origina uma matriz de
probabilidades de transição. Isto ocorre da seguinte forma:
Não mostrar trilhas: Esta opção exibe somente a estrutura lógica do ambiente
(em tons de verde), os pontos-alvo (em azul) e os agentes (em vermelho). Não
permite a visualização das trilhas geradas pela distribuição de valores.
Figura 4.6: Interface gráfica com a qual o usuário pode definir os MPGSM´s
Figura 4.7: Interface gráfica com a qual o usuário pode definir os parâmetros de
entrada do processo de sı́ntese melódica estocástica.
77
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
nesta etapa definirá o timbre com o qual a melodia ficará registrada no arquivo.
Com tais parâmetros iniciais, o processo iterativo que gera cada uma das N
realizações das cadeias de Markov é iniciado. Para ilustrar este processo itera-
tivo, tomaremos como parâmetros iniciais de entrada: como MPGSM inicial, aquele
mostrado na Figura 4.8, como altura inicial o C, como duração inicial a Semibreve
e como número de notas (número de realizações das cadeias de Markov), 100.
Figura 4.10: Divisão do intervalo [0, 99] em subintervalos proporcionais às probabil-
idades de transição encontrada no passo anterior.
Tal como é feito pra definir a altura, defini-se a próxima duração, dentro do
mesmo ciclo iterativo do processo:
Figura 4.12: Divisão do intervalo [0, 99] em subinervalos proporcionais às probabil-
idades de transição encontrada no passo anterior.
5 EXPERIMENTOS E TESTES
Colunas: 6.
Linhas: 6.
Número de agentes: 200.
Distância mı́nima: 20.
Multiplicador de repulsão: 3.
A seguir são definidos os pontos-alvo nos ambientes. O aspecto final dos ambi-
entes (com os pontos-alvo definidos) pode ser viso na Figura 5.2.
Figura 5.2: Aspecto geral dos ambientes definidos a partir dos parâmetros definidos
para o cenário de teste. Pode-se ver a distribuição de pontos-alvo também.
interações que neles ocorrem. A partir da observação do aspecto geral dos ambientes
e das interações que neles ocorrem pode-se constatar duas propriedades principais:
Figura 5.3: Aspecto geral dos ambientes definidos a partir dos parâmetros definidos
para o cenário de teste e as interações que neles ocorrem
Figura 5.10: Melodia final em uma visualização “piano roll”, na qual pode-se iden-
tificar regiões melódicas com caracterı́sticas particulares.
88
6 CONCLUSÃO
ambientes multiagentes.
REFERÊNCIAS
CARIANI, P. Emergence and Artificial Life. In: ARTIFICIAL LIFE II, 2001.
Anais. . . [S.l.: s.n.], 2001.
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.
ROADS, C. The Computer Music Tutorial. [S.l.]: The MIT Press, 1996.