Espaços Afetivos

Page 1


Faculdade de Arquitetura e Urbanismo Universidade de São Paulo Trabalho Final de Graduação Aluno: Mauricio de Camargo Galdieri No USP: 1439262 Orientadora: Prof. Dra. Daniela Kutschat Hanns Julho/2015


Tenho o privilégio de estar rodeado de pessoas que me apoiam sempre que podem e criticam sempre que precisam. Obrigado a todos vocês. Mas algumas destas tiveram um importante papel no desenvolvimento deste trabalho. Devo gratidão especial à Prof. Dra. Daniela Kutschat Hanns, por ter aceitado a tarefa de me orientar, mesmo em meio a tantas adversidades. Mas principalmente por ter transformado essa relação em amizade e parceria. Ao Prof. Dr. Gil Garcia de Barros e à Prof. Dra. Silvia Regina Ferreira de Laurentiz, por terem aceitado prontamente participar da banca de avaliação deste trabalho. Ao amigo Leandro Velloso, pela revisão e pelos bate-papos e conselhos inestimáveis ao longo dos últimos anos. Ao meu filho Caio, que do alto de sua inocência de cinco anos, teve compreensão nos momentos em que lhe faltou a minha atenção, além de me ajudar na montagem dos circuitos! À minha esposa Ana Paula, pela paciênca quando eu mergulhava no isolamento da dedicação aos estudos e trabalho enquanto a vida acontecia lá fora. E em especial aos meus pais, que nunca deixaram de acreditar em mim.


Índice 1. Apresentação 1.1. Motivação 2. Topologia

6 8 12

2.1. O Lugar versus o Espaço

14

2.2. A relação afetiva espaço-temporal

15

3. Computação afetiva

18

3.1. Estrutura algorítmica

19

3.2. Modelo Afetivo por Camadas

30

3.3. Crítica ao modelo comportamental

31

4. Projeto 4.1. Espaços afetivos: a função encontra sua forma

34 39

5. Trabalhos análogos

53

6. Apêndice

59

6.1. Links

61

6.2. agent.py

62

6.3. emotions.py

65

6.4. events.py

68

7. Bibliografia

69



Apresentação Em A Crítica da Razão Pura[1] Immanuel Kant sugere a decomposição do conhecimento humano em três esferas: a aparência, ou significação, resultante da experiência sensorial; a realidade, ou númeno, que conceitualiza o que reside fora dos limites da experiência (a “coisa em si”); e a teoria, ou as categorias do conhecimento humano que existem a priori e buscam espelhar tanto a realidade quanto a aparência. Mais tarde, e decerto fruto das conjeturas kantianas, as teorias da mecânica quântica acerca da construção da realidade[2] - e o papel do sujeito observador nesta construção - especulam sobre a natureza da realidade objetiva. Tais especulações apontam para um modelo no qual a matéria e a realidade dela concebida nada mais são que padrões de fluxos de informação, estados voláteis de partículas elementares que alternam-se (ou vibram, dependendo da escola teórica) em intervalos mais ou menos regulares. Esta obra busca uma abordagem ampla do entendimento do projeto arquitetônico a partir dessa visão kantiana e quântica/informacional, ao contemplar uma metodologia interativa/colaborativa[3] do projeto

6


do espaço arquitetônico, no qual o usuário participa da percepção coletiva através da sua própria experiência nos limites deste. O ambiente construído e o ambiente percebido mesclam-se num único elemento no qual nenhuma estrutura é pré determinada ou fixa mas, ao contrário, apresentam-se fluídas de maneira que só fazem sentido tomadas em um determinado contexto, em um determinado momento[4]. Considerando que tal percepção depende de diversos fatores subjetivos (memória, emoções, tempo decorrido etc), esta abordagem busca colocar os usuários do espaço construído no centro do ato de projetar, reconhecendoos como co-autores deste. Ao mesmo tempo, e ao contrário do que pode parecer em primeira análise, não esvazia a função do arquiteto. Antes disso, torna-o um designer das possíveis interações entre o ambiente e o usuário. Sobre ele recai a função de propôr espaços que maximizem tais interações. Esta abordagem encontra ecos nas linguagens multimídia, principalmente naquelas baseadas em interfaces tangíveis. Quando o físico e músico catalão Sergi Jordà[5] propõe novos meios de transformação de dados captados espacialmente em padrões sonoros e vice versa, ele assume um certo mutualismo

7


entre as realidades sensoriais e a sua intenção projetual. Aqui outras dimensões, de valores estético e funcional, devem ser consideradas, uma vez que o uso de dispositivos tecnológicos na elaboração do ambiente, podem expandir a percepção dos usuários acerca do espaço que os cercam e aumenta as possibilidades deste, tanto na sua qualidade sensorial como prática, sob a forma de novas características e funcionalidades que podem ser agregadas. Ao refletir sobre o ofício do arquiteto e o ato de projetar - desde a sua concepção até a efetiva utilização do espaço que emerge das diferentes interações presentes neste processo - e imaginá-lo como um sistema vivo, dinâmico, no qual este espaço encontra-se em constante tensão entre as forças aristotélicas do “existir em potência” e “existir em fato”, esta proposta, em essência, busca a alma[6] da arquitetura. Motivação A obra proposta aqui pretende descrever e contextualizar uma instalação interativa na qual a discussão do papel da percepção do espaço na própria construção deste é evidenciada. Para tanto

8


duas premissas se fizeram necessárias. Em primeiro lugar, tomase como dado o fato de o espaço construído ser percebido de maneiras diferentes por cada pessoa e portanto, o que nos referimos como realidade objetiva seria uma interseção das várias realidades subjetivas. Uma vez estabelecida a relação entre espaço cognitivo e espaço construído[7], podemos entender que este último é bastante flexível, a partir do contexto sensorial. A segunda premissa diz respeito ao fato de que o ser humano é essencialmente um ser afetivo, com a tendência natural de personificar afetivamente coisas que sabemos conscientemente que são inanimadas[8]. Podemos imaginar a frustração de alguém, ao ordenar uma ação ao seu computador e, na recusa deste em executá-la (provavelmente por algum impedimento de natureza técnica), insistir assertivamente na esperança de que o computador compreenda a sua consternação e faça algo para se redimir. Sabemos conscientemente que o computador (ou sistema computacional) é incapaz de exercer empatia, mas ainda assim nos agarramos à esta imagem do computador como um ser afetivo. Com estas premissas em mãos tomo então a liberdade de realizar as seguintes perguntas de cunho meramente especulativas, mas

9


não menos inspiradoras para uma compreensão única sobre a natureza do projeto interativo: Se o espaço construído que ocupamos pudesse sentir nossa presença e fosse dotado de uma personalidade como a entendemos afetivamente, como reagiria? Como seria um ambiente que sente emoções, se estas fossem diretamente afetadas pela presença humana em seu espaço físico-cognitivo? Ao propor tais questionamentos, este projeto pretende inverter a lógica da construção do espaço arquitetônico e busca observá-lo pelo olhar do próprio ambiente. Entraremos nos detalhes da instalação mais adiante, porém é importante frisar aqui que a ideia central não é propôr um ambiente interativo que compreenda, ou ao menos distinga emoções humanas expressas por seus usuários. Ao contrário, o objetivo é projetar um ambiente que contenha sua própria estrutura capaz de manter um estado emocional análogo ao experimentado por nós humanos e expressá-lo com o mínimo de eloquência sob a presença dos interatores, através de seus componentes atuadores. Esse caminho nos impele a pontuar diversos conceitos e dicotomias que iremos explorar a seguir com o intuito de justificar e prover embasamento conceitual à obra em questão.

10


"

O poetar pensante ĂŠ, na verdade, a topologia do ser. Ela diz a este o lugar de sua essĂŞncia. - Martin Heidegger, 1947, Da experiĂŞncia do pensar


Topologia Se o intuito deste trabalho é propor uma discussão do exercício projetual através de uma instalação artística dotada de uma lógica afetiva, é imprescindível que se estabeleça uma empatia entre o ambiente proposto e os interatores. Dessa maneira, temos que identificar quais as características deste ambiente serão capazes de se conectar de alguma forma com a natureza de seus usuários. Teremos que ir além de sua expressão geométrica e desvendar suas propriedades passíveis de agregação de sentidos, externos à suas dimensões formais. O primeiro passo nessa tentativa é explorar o espaço abstrato sob a ótica da topologia, entendendo o ambiente construído como algo constituído pela coleção de elementos mutuamente definidos apenas pela maneira através da qual estão agrupados dentro do espaço que estes constituem. Um dos primeiros estudos acerca da topologia[9] foi a demonstração pelo matemático e físico suíço Leonard Euler, de que era impossível resolver o problema conhecido como As Sete Pontes de Königsberg. Tal problema consistia em traçar uma rota pela cidade de Königsberg (atual Caliningrado) que passasse

12


exatamente uma vez por cada uma de suas sete pontes. Euler percebeu que o resultado não dependia das dimensões das pontes, nem de suas distâncias relativas, mas apenas de suas propriedades de conectividade. O problema poderia ser generalizado para qualquer cidade (e potencialmente para qualquer número de pontes) desde que suas relações de conexões fossem preservadas. De fato, a motivação por trás do estudo da topologia é que determinados problemas não dependem da forma dos objetos envolvidos, mas sim da maneira como são apresentados. Do ponto de vista topológico, um quadrado e um círculo possuem algumas características em comum: ambos dividem o plano no qual se encontram em duas partes - a de fora e a de dentro, por exemplo. De maneira geral e no sentido matemático, a topologia é o estudo das propriedades do espaço abstrato que permanecem invariáveis sob deformação contínua. Tais propriedades podem ser agrupadas em conjuntos de objetos de formas diversas mas que contêm as mesmas relações entre suas características invariáveis. É dessa separação entre a forma absoluta e as relações de coerência internas aos objetos (sob qualquer dimensionalidade) que nos valeremos para tentar identificar quais pontos pertencentes a um ambiente, considerado de maneira genérica, possuem as propriedades mais adequadas

13


aos propósitos específicos deste projeto. Quais características são, do ponto de vista afetivo, invariáveis na nossa experimentação dos espaços construídos? Como podemos descrever nossas relações afetivas com o espaço que ocupamos, de modo que estas possam ser transferidas para o ambiente projetado e passe a fazer parte de seu arcabouço afetivo? Esta conceituação topológica de lugar como representação das relações (físicas, emotivas, sociais) presentes no espaço nos leva a identificar e pontuar nossa primeira dicotomia. O Lugar versus o Espaço Segundo o geógrafo italiano Franco Farinelli, a respeito das noções de lugar e espaço, conforme entendido na antiguidade clássica, "lugar [...] é uma parte da superfície terrestre que não tem equivalente em qualquer outra, que não pode ser substituída sem ser modificada. Por outro lado, com o espaço (lugar como localidade) cada parte é substituível por outra, sem necessidade de alterá-la, exatamente como quando duas coisas que possuem o mesmo peso são movidas de um lado para o outro da balança, sem prejudicar o equilíbrio."[10]

14


De fato as várias interpretações dos termos podem ser identificadas pelas tendências de análise espacial abstrata e ambiental concreta[11]. Por um lado compreende-se lugar como nós representativos das expressões espaciais dos mais variados processos físicos, sociais ou econômicos. Por outro é concebido como um algo que media tais processos, e portanto afeta a maneira como estes operam. Enquanto a primeira é uma definição geométrica de lugar como mera parte do espaço, a segunda compreende um entendimento fenomenológico de lugar como uma união distinta que emerge do espaço. A relação afetiva espaço-temporal Em seu trabalho Topofilia: um estudo da percepção, atitudes e valores do meio ambiente[12] o geógrafo sino-americano Yi-Fu Tuan descreve as relações afetivas estabelecidas entre as pessoas e os ambientes naturais e construídos. De acordo com Tuan, as diferenças entre espaço e lugar podem ainda ser verificadas pelo grau de significado que as pessoas conferem à uma determinada área ou localidade. Este significado pode partir de relações individuais e diretas, através dos sentidos, ou conceituais e

15


indiretas, mediadas por símbolos. Nesse sentido espaço é uma localidade sem conexões sociais, no qual nenhum valor lhe foi atribuído. Por si apenas, não encoraja sua ocupação ou utilização. Por outro lado, lugar é entendido como uma localidade criada por experiências humanas. Suas dimensões físicas se tornam irrelevantes, pois podem ser tão grandes ou pequenas quanto as experiências individuais e coletivas nele contidas. Lugar é um espaço que foi preenchido por significados e experiências humanas. Quando Heidegger discorre sobre a topologia do ser, ele associa o lugar ao ser - não no sentido geográfico, mas como um tema ligado à poesia e à linguagem[13]. Nesse sentido, ser e lugar são indissociáveis e, com efeito, um arquiteto quando confrontado com um espaço vazio, não pensa em construir ali uma habitação. Ao contrário, por trazer dentro de si o sentido de habitar, projeta a casa, e esta por sua vez gera os espaços. De certa forma, o que está sendo proposto aqui compreende algo que poderíamos definir como um espaço-lugar, que traz consigo tanto a sua expressão física como sua própria experiência sensorial, embutida em sua estrutura algorítmica.

16


"

Fascinante! - Sr. Spock - Jornada nas Estrelas


Computação afetiva Os estudos sobre inteligência artificial iniciados na década de 1950, por sua natureza transdisciplinar, inspiraram diversos trabalhos que buscavam um modelo computacional de inteligência e aprendizado que pudessem rivalizar com a capacidade cognitiva humana. Um desses ramos de pesquisa, fruto de tais estudos é o conjunto de disciplinas que compoẽm a chamada computação afetiva. A compreensão mais moderna desta área é ainda muito recente e tem como trabalho seminal a publicação do artigo Affective Computing[14] em 1995 por Rosalind Picard, então professora de Artes Midiáticas e Ciências do Instituto de Tecnologia de Massachusetts, MIT. Fundamentalmente, estudos nessa área buscam modelar comportamentos afetivos e respostas emocionais que possam ser expressas em sistemas computacionais. Pesquisas correlatas apontam aplicações que vão desde o suporte ao tratamento de condições emocionais impeditivas[15] até o gerenciamento de recursos em situações de crise[16] e apresentam essencialmente dois aspectos: o reconhecimento e classificação de emoções, ou

18


modulações sênticas, e a emulação de um sistema de manutenção de estado emocional interno ao sistema. Por se tratar de uma instalação artística eletrônica, o projeto apresentado aqui faz uso desta segunda faceta da computação afetiva, e para tanto foi desenvolvido um sistema capaz de manter tais estados afetivos e traduzir eventos emocionais em expressões destes, efetivamente emulando uma experiência análoga às observadas nos humanos quando expostos à estímulos emocionais. Estrutura algorítmica O software do motor do agente afetivo baseia-se em três modelos psicológicos computacionais unificados conforme proposto por Patrick Gebhard no artigo ALMA: A Layered Model of Affect[17] Segundo Gebhard, cada um destes modelos corresponde à uma abstração matemática que juntas descrevem diferentes aspectos de uma suposta dinâmica emocional humana, a saber:

19


OCEAN[18] Acrônimo em inglês para Abertura à experiências (Openness to experiences), Conscienciosidade (Conscientiousness), Extroversão (Extraversion), Sociabilidade (Agreeableness) e Neuroticismo (Neuroticism). Também conhecido como Modelo dos Cinco Fatores, essa estrutura capta cinco grandes traços definidores de personalidade que, em seu conjunto, irão influenciar a resposta emocional do agente à estímulos externos. No software desenvolvido para este projeto, cada fator é expresso em uma escala de -1 a 1, sendo que valores negativos expressam o traço emotional oposto, ou seja uma extroversão negativa expressa uma introversão. Cada traço de personalidade pode ser conceituado segundo as definições a saber. Abertura à experiência (inventivo/curioso vs. consistente/cauteloso): É o interesse pela arte, emoção, aventura, ideias fora do comum, imaginação, curiosidade e variedade de experiências. Este traço distingue as pessoas imaginativas das “pés-no-chão” e convencionais. As pessoas com elevada abertura são intelectualmente curiosas, apreciadoras da arte, e sensíveis à beleza. Elas tendem a ser, comparadas com as pessoas

20


“fechadas”, mais criativas, a prestar mais atenção aos seus sentimentos e a terem opiniões não convencionais. As pessoas com baixo grau de abertura tendem a ter interesses mais convencionais e tradicionais. Elas preferem o simples, claro e óbvio ao complexo, ambíguo e sutil. Elas podem ver as artes e as ciências com suspeita ou achá-las desinteressantes. Podem ser definidas pelas seguintes postulações: - "Eu tenho um vocabulário rico" - "Eu tenho uma imaginação fértil" - "Eu tenho excelentes ideias" - "Eu sou rápido para compreender coisas" - "Eu uso palavras difíceis" - "Eu gasto tempo refletindo sobre coisas" - "Eu sou cheio de ideias" No sentido oposto: - "Eu não tenho interesse em abstrações" - "Eu não tenho boa imaginação" - "Eu tenho dificuldade em compreender ideias abstratas" Conscienciosidade (eficiente/organizado vs. indolente/descuidado): É a tendência para mostrar autodisciplina, orientação para os

21


deveres e para atingir os objetivos. Este traço mostra uma preferência pelo comportamento planejado em detrimento do espontâneo. Influencia a maneira como controlamos e dirigimos os nossos impulsos. Características: - "Eu estou sempre preparado" - "Eu dou atenção aos detalhes" - "Eu executo tarefas prontamente" - "Eu gosto de ordem" - "Eu tenho rotinas" - "Eu sou exigente no meu trabalho" - "Eu largo minhas coisas espalhadas" (oposto) - "Eu faço bagunça" (oposto) - "Eu costumo me esquecer de devolver as coisas aos seus lugares" (oposto) - "Eu fujo dos meus deveres" (oposto) Extroversão (extrovertido/enérgico vs. solitário/reservado): Extroversão é caracterizada por emoções positivas e pela tendência à procurar estimulação e a companhia dos outros. Este traço é marcado pelo profundo envolvimento com o mundo exterior. Os extrovertidos gostam de estar com pessoas, e são

22


usualmente vistos como sendo cheios de energia. Eles tendem a ser indivíduos entusiastas e voltados para a ação, que provavelmente dizem “Sim!” ou “Vamos nessa!” perante oportunidades de excitação. Em grupos eles tendem a ser faladores, assertivos e a chamar as atenções para si. Por outro lado os introvertidos não têm a exuberância social e os níveis de atividade dos extrovertidos. Eles tendem a parecer calmos, ponderados e menos envolvidos com o mundo social. A sua falta de envolvimento social não deve ser interpretada como timidez ou depressão. Os introvertidos simplesmente necessitam de menos estimulação e de mais tempo sozinhos do que os extrovertidos. Eles podem ser bastante ativos e enérgicos, mas não socialmente. Características: - "Eu sou a alma da festa" - "Eu não me importo em ser o centro das atenções" - "Eu me sinto confortável próximo às pessoas" - "Eu inicio as conversas" - "Eu converso com muitas pessoas diferentes nas festas" - "Eu não falo muito" (oposto) - "Eu me mantenho nos fundos" (oposto)

23


- "Eu penso bastante antes de agir ou falar" (oposto) - "Eu não gosto de atrair atenções" (oposto) - "Eu sou quieto quando rodeado de estranhos" (oposto) - "Eu não tenho pretensões de falar com grandes públicos" (oposto) Sociabilidade (amigável/compassivo vs. analítico/imparcial): Sociabilidade é a tendência a ser compassivo e cooperante em vez de suspeitoso e antagonista frente aos outros. Este traço reflete diferenças individuais na preocupação com a harmonia social. Individuos “amáveis” valorizam a boa relação com os outros. Eles são geralmente respeitosos, amigáveis, generosos, prestáveis e dispostos a fazer compromissos. Pessoas “amigáveis” têm também uma visão otimista da natureza humana. Elas acreditam que as pessoas são basicamente honestas, decentes e dignas de confiança. Individuos “não-amigáveis” põem o interesse próprio acima da boa relação com os outros. Eles normalmente não se preocupam com o bem-estar dos outros, e por vezes o seu ceticismo acerca dos motivos dos outros os torna desconfiados e pouco cooperativos. Características:

24


- "Eu me interesso por pessoas" - "Eu me empatizo com os sentimentos alheios" - "Eu tenho um coração mole" - "Eu dedico tempo aos outros" - "Eu sinto as emoções alheias" - "Eu deixo as pessoas confortáveis" - "Eu não tenho muito interesse pelos outros" (oposto) - "Eu insulto pessoas" (oposto) - "Eu não me importo com os problemas alheios" (oposto) - "Eu me preocupo muito pouco pelas outras pessoas" (oposto) Neuroticismo/Instabilidade emocional (sensível/nervoso vs. seguro/confiante): É a tendência para experimentar emoções negativas, como raiva, ansiedade ou depressão. Aqueles com um grau elevado de neuroticismo são emocionalmente reativos e vulneráveis ao estresse. Eles são mais predispostos a interpretar situações normais como sendo ameaçadoras, e pequenas frustrações como dificuldades sem esperança. As suas reações emocionais negativas tendem a persistir por períodos duramente longos, o que significa que eles estão usualmente de mal humor. Esses

25


problemas na regulação emocional podem diminuir a capacidade dessas pessoas para pensar claramente, tomar decisões e lidar de forma apropriada com o estresse. No outro extremo da escala, indivíduos com baixo neuroticismo são mais difíceis de serem perturbados e são menos reativos emocionalmente. Eles tendem a ser calmos, emocionalmente estáveis, e livres de sentimentos negativos persistentes; no entanto, a escassez de sentimentos negativos não significa necessariamente que estes indivíduos experimentem muitos sentimentos positivos. Características: - "Eu me perturbo facilmente" - "Eu me irrito facilmente" - "Eu me estresso facilmente" - "Eu fico transtornado facilmente" - "Meu humor varia muito" - "Eu me sinto deprimido com frequência" - "Eu me preocupo com as coisas" - "Eu sou muito mais ansioso que as outras pessoas" - "Eu estou relaxado na maior parte do tempo" (oposto) - "Eu dificilmente me deprimo" (oposto)

26


Valência positiva

Valência negativa

Admiração

Aflição

Alegria

Censura

Alívio

Desapontamento

Amor

Medo

Esperança

Medo Confirmado

Felicidade

Ódio

Gratificação

Pena

Gratitude

Raiva

Orgulho

Remorso

Regozijo

Repúdio

Satisfação

Ressentimento

Simpatia

Vergonha Figura 1. Categorias de emoções descritas pelo modelo OCC.

OCC[19] Modelo psicológico bastante popular entre aqueles que contróem sistemas de raciocínio sobre emoções ou incorporam emoções em agentes artificiais. O modelo propõe uma estrutura clara das condições indutoras das emoções e das variáveis (eventos, agentes, objetos do ambiente) que afetam suas intensidades. Esta estrutura informa sobre a intensidade e o peso de 24 emoções, sendo 12 de valência positiva e 12 de valência negativa, associadas à eventos afetivos. O valor de cada uma dessas emoções pode variar sobre uma escala de 0 a 1 conforme a tabela da figura 1. O modelo ainda consiste em cinco processos que definem o sistema completo que o agente percorre desde a categorização inicial dos eventos até seu comportamento resultante. O processo compreende a) classificar o evento, ação ou objeto encontrado pelo agente, b) quantificar a intensidade das emoções afetadas, c) a interação das novas emoções geradas com as emoções préexistentes, d) o mapeamento dos estados emocionais para uma expressão emocional e e) a expressão emocional propriamente.

27


PAD[20] Acrônimo em inglês para Prazer (Pleasure), Excitação (Arousal) e Dominância (Dominance). Este modelo é o centro do motor afetivo e define um espaço tridimensional no qual cada um dos fatores PAD representa uma dimensão com valores entre -1 e 1. Este espaço expressa o humor, ou temperamento, do agente medido num determinado tempo. As outras duas estruturas (OCEAN e OCC) são numericamente mapeadas para este espaço e atraem ou repelem o vetor que representa o humor, de acordo com a lógica algorítmica interna. Estruturalmente o modelo possui três eixos, ou escalas, que medem a intensidade e valência de certos aspectos emocionais humanos: Escala Prazer/Desprazer: mede o quão prazerosa uma emoção pode ser. Por exemplo, tanto raiva como medo são emoções desprazerosas e têm um valor alto na escala de desprazer (valor negativo na escala de prazer), enquanto alegria é uma emoção predominantemente prazerosa.

28


Escala Excitação/Misantropia: mede a intensidade da emoção. Por exemplo, apesar de raiva e fúria serem emoções desagradáveis, fúria têm um valor maior na escala de excitação. +P +A +D: Exuberante

-P -A -D: Entediado

+P +A -D: Dependente

-P -A +D: Desdenhoso

+P -A +D: Relaxado

-P +A -D: Ansioso

+P -A -D: Dócil

-P +A +D: Hostil

Figura 2. Estados emocionais relativos aos octantes do espaço PAD.

Escala Dominância/Submissão: representa a natureza controladora e dominadora da emoção. Por exemplo, tanto raiva como medo são emoções desagradáveis, entretanto a primeira é dominadora, ao passo que a segunda é submissiva. Os valores referentes cada uma das três dimensões compõem um vetor que aponta para um dos octantes de um espaço tridimensional. Cada octante está relacionado a um estado emocional de acordo com o sinal (positivo ou negativo) de cada uma das dimensões: Cada um desses estados pode ainda ter intensidades diversas descritas informalmente como leve, moderada e intensa. Por exemplo, um estado emocional que possua os valores: 0,25 prazer, -0.18 excitação e 0.12 dominância poderia ser caracterizado como levemente relaxado.

29


Modelo Afetivo por Camadas Prazer

0.21 * Extroversão + 0.59 * Sociabilidade + 0.19 * Neuroticismo

Excitação

0.15 * Abertura + 0.30 * Sociabilidade - 0.57 * Neuroticismo

Dominância 0.25 * Abertura + 0.17 * Conscienciosidade + 0.60 * Extroversão - 0.32 * Sociabilidade

Figura 3. Mapeamento OCEAN

¡ PAD.

Estes três componentes apresentados, entendidos de maneira mais abstrata, correspondem à três facetas do agente afetivo. O modelo OCEAN determina a personalidade do agente e portanto a sua predisposição à respostas mais ou menos intensas à estimulos emocionais externos. Estes estímulos por sua vez, são expressos pelo modelo OCC e captados diretamente pelos sensores do agente. Entre outras coisas, este modelo apresenta ainda um mapeamento tanto das emoções descritas pelo método OCC, como dos traços de personalidade do modelo OCEAN, para os estados emocionais no espaço PAD, segundo as tabelas das figuras 3 e 4. Os valores resultantes desse mapeamento são então manipulados matematicamente para obter o humor do agente em um determinado instante. Este valor, por sua vez é expresso fisicamente através de seus atuadores e pode ser abstraído conforme representado pela figura 5.

30


P

A

D

Admiração

0,5

0,3

-0,2

+P +A -D (Dependente)

Aflição

-0.4

-0.2

-0.5

-P -A -D (Entediado)

Alegria

0.4

0.2

0.1

+P +A +D (Exuberante)

Alívio

0.2

-0.3

0.4

+P -A +D (Relaxado)

Amor

0.3

0.1

0.2

+P +A +D (Exuberante)

Censura

-0.3

-0.1

0.4

-P -A +D (Desdenhoso)

Desapontamento

-0.3

0.1

-0.4

-P +A -D (Ansioso)

Esperança

0.2

0.2

-0.1

+P +A -D (Dependente)

Felicidade

0.4

0.2

0.2

+P +A +D (Exuberante)

Gratificação

0.6

0.5

0.4

+P +A +D (Exuberante)

Gratitude

0.4

0.2

-0.3

+P +A -D (Dependente)

Medo

-0.64

0.6

-0.43

-P +A -D (Ansioso)

Medo Confirmado

-0.5

-0.3

-0.7

-P -A -D (Entediado)

Ódio

-0.6

0.6

0.3

-P +A +D (Hostil)

Orgulho

0.4

0.3

0.3

+P +A +D (Exuberante)

Pena

-0.4

-0.2

-0.5

-P -A -D (Entediado)

Raiva

-0.51

0.59

0.25

-P +A +D (Hostil)

Regozijo

0.3

-0.3

-0.1

+P -A -D (Dócil)

Repúdio

-0.3

-0.1

0.4

-P -A +D (Desdenhoso)

Ressentimento

-0.2

-0.3

-0.2

-P -A -D (Entediado)

Simpatia

0.4

0.16

-0.24

+P +A -D (Dependente)

Vergonha

-0.3

0.1

-0.6

-P +A -D (Ansioso)

Emoção

Figura 4. Mapeamento OCEAN

Octante PAD

Crítica ao modelo comportamental O modelo afetivo computacional apresentado possui um viés fortemente indentificável com a escola behaviorista da psicologia, na medida em que trata os eventos emocionais como estímulos que estabelecem comportamentos por reflexo aparentemente condicionais. Además, considera o aspecto psicológico sob a ótica exclusiva dos eventos observáveis. Outra crítica relacionada é dirigida ainda ao próprio modelo computacional picardiano por proponentes de modelos pos-cognitivistas, ou interacionais. Segundo estes[21], o modelo proposto por Picard é demasiado objetivo, mecanicista e individualizado, reduzindo as emoções à sinais descontínuos passíveis de formalização e recuperação por métodos informacionais. Por sua vez a abordagem interacional leva em conta não somente o componente individual interno mas também, e talvez ainda mais importante, os aspectos sociais e de interação dos indivíduos, fazendo deste modelo um sistema aberto[22]. Entretanto, ao se concentrar na medição e modelagem de variáveis psicológicas, o modelo picardiano se faz mais adequado a sistemas de interação homem-máquina, ao passo que os interacionais se prestam a sistemas de interação humana

¡ PAD.

31


mediada por máquinas. Sob essa ótica, o modelo proposto, ainda que distante da real complexidade dos intrincados relacionamentos encontrados na experiência afetiva e expressão emocional humanas, se mantém alinhado à natureza computacional e algorítmica do projeto, determinística por definição. É importante ressaltar aqui que o objetivo desta obra não é propôr um modelo computacional afetivo fiel à realidade psicológica humana, mas tão somente apresentar um locus que sirva como um espelho emocional para os interatores, no qual eles possam reconhecer ali uma entidade dinâmica com traços de personalidade específicos que responde emocionalmente a partir de sua interação, de forma a estimular o sentido de agência[23]. Para tanto se utiliza de métodos que pareçam mais adequados à sua mídia de apresentação.

Figura 5. Octantes do modelo PAD de estados afetivos.

32


"

A arte não raciocina em termos lógicos, nem formula uma lógica do comportamento; ela expressa o seu próprio postulado de fé. Se, na ciência, é possível confirmar a veracidade dos argumentos e comprová-los logicamente aos que a eles se opõem, na arte é impossível convencer qualquer pessoa de que você está certo, caso as imagens criadas a tenham deixado indiferente e não tenham sido capazes de convencê-la a aceitar uma verdade recém-descoberta sobre o mundo ou sobre a humanidade, se na verdade, face a face com a obra, esta pessoa estiver simplesmente entediada. - Andrei Tarkovski, 1989, Esculpir o Tempo: Reflexões sobre o cinema


Projeto Ao longo do desenvolvimento do projeto o produto final assumiu diversas formas, cada qual com suas características únicas. No entanto, tendo sempre em vista a discussão pretendida acerca do pensar afetivamente sobre o espaço construído, e fruto de profundas discussões nos últimos meses, diversas questões referentes à pertinência estética e efetividade formal dos modelos propostos foram analisadas e resultaram, em sua maioria, na alteração do modelo a ser apresentado. Uma vez que o histórico do trabalho presente constitui em si um caminho percorrido com a intenção de melhor entender as conexões conceituais elaboradas aqui, julgo que seja de grande valia a exposição da evolução formal deste, que culminou no formato atual. De início, pretendia-se que o ambiente proposto fosse composto por projeções e sensores de presença e distância. Imagens de um ambiente virtual seriam projetadas em quatro tecidos para retroprojeção, representando quatro paredes deste ambiente e abrangendo os 360o do campo de visão de um usuário ao centro do mesmo. Tais projeções estariam condicionadas aos valores

34


captados pelos sensores espalhados estrategicamente pelo ambiente e alterariam sua perspectiva de maneira síncrona em relação às informações aferidas, afetando assim a percepção espacial de seus vários usuários. Este modelo, tanto pelo formato imaginado, quanto pela então falta de desenvolvimento e maturidade da lógica afetiva apresentada aqui, distanciava-se da problemática pretendida e identificava-se mais como uma obra cujo tema principal seria uma discussão fenomenológica da percepção espacial. O próximo passo foi justamente o desenvolvimento do modelo computacional afetivo - cujos estudos haviam se iniciado ainda antes desta disciplina - na esperança de que, ao ter em mente uma estrutura clara sobre a qual a obra pudesse expressar os aspectos afetivos originais, as propriedades formais poderiam florescer de maneira mais fértil. Foram definidas então a estrutura algorítmica e as classes a serem utilizadas assim como suas características funcionais. Rapidamente essas se aproximaram de sua forma atual, necessitando apenas de alguns ajustes e correções. Entretanto, devido à complexidade e alto grau de abstração do modelo computacional utilizado, foi desenvolvida, paralelamente, uma interface de manipulação e visualização dos

35


dados e fluxos presentes no modelo. Esta interface, associada a um servidor web customizado, permitia ainda a definição da "personalidade" do ambiente, segundo o modelo OCEAN apresentado anteriormente. Com o suporte afetivo computacional presente, as diferentes formas de interação poderiam ser desenhadas com maior facilidade. Como a ideia inicial foi deixada de lado, faltava então definir quais sensores e atuadores seriam utilizados nesta nova iteração. Para estes primeiros, foi formulada uma metodologia (figura 7) que levava em consideração os aspectos de escala de medição e complexidade de implementação. No entanto, para expressar algo reconhecível como sendo de

Figura 6. Interface gŕafica para definição de personalidade.

natureza afetiva, as respostas advindas dos atuadores deveriam ser pensadas não só em termos de escala e complexidade, mas principalmente de maneira simbólica, relacionados a uma determinada representação sensorial. Para tanto foi escolhido o resultado de uma pesquisa denominada Emotionally}Vague (http://www.emotionallyvague.com) conduzida pela designer irlandesa Orlagh O'Brien. Neste trabalho O’Brien coletou desenhos feitos por cerca de 3.000 voluntários, representando cinco

36


emoções distintas (raiva, alegria, medo, tristeza e amor), sobre uma ilustração de um corpo humano. Estes desenhos deveriam expressar algumas características de cada emoção percebidas individualmente, como “em que parte do corpo determinada emoção é percebida”, “qual a extensão da área envolvida na percepção” ou “qual a direção do movimento desta emoção é percebida no corpo”. Além disto este trabalho ainda pedia que cada voluntário associasse uma cor a cada emoção, a partir de uma paleta pré definida. O resultado é um compêndio de como estas cinco emoções são percebidas sensorialmente.

Figura 7. Escala e complexidade dos sensores.

Estas formas desenhadas, assim como as cores representadas foram tomadas como referência para o desenvolvimento posterior do projeto. Sob sua nova forma, o projeto propunha a metáfora de uma janela através da qual um usuário poderia observar o ambiente do outro lado, porém sob a ótica do próprio espaço representado. O espaço-agente seria projetado sobre a superfície desta janela virtual e seu estado afetivo representado por interferências gráficas sobre a imagem vista através desta. Duas versões desta experiência abrangeriam duas facetas da percepção deste ambiente sobre sua ocupação física do outro lado.

37


Figura 9. Cores por emoções. Emotionally Vague/Orlagh O'Brien. Figura 8. Sensações emocionais pelo corpo. Emotionally Vague/Orlagh O'Brien.

38


Ambas seriam compostas por sensores para reconstrução tridimensional do ambiente detectado e um monitor LCD, sem o fundo iluminado para que se pudesse ver através deste, montados sobre uma estrutura de madeira. Apesar de esta proposta estar claramente alinhada com a discussão pretendida, chegou-se à conclusão de que esta criava um distanciamento deveras grande entre o espaço representado e seu observador. Além de que não havia uma relação imediatamente percebida entre as emoções representadas e as ações dos interatores nos limites do espaço físico da instalação, prejudicando assim o sentido de agência, conforme descrito pela designer estadunidense Janet Murray[23]. Espaços afetivos: a função encontra sua forma

Figura 10. Versão intermediária do projeto sob a metáfora da janela.

De volta à prancheta, ficou claro que a metodologia utilizada para a definição dos sensores apresentava algumas falhas fundamentais, uma vez que não considerava nem os aspectos interacionais nem os simbólicos destes componentes. Refletindo sobre estas questões e levando em conta a dimensão afetiva do projeto, notei que a percepção dos eventos afetivos deveria ser fisiológica, e depende tanto da natureza do evento como de nosso

39


histórico (aprendizado) e personalidade. Os sensores escolhidos deveriam então expressar essas condições. Foram definidos três sensores que possuem uma relação direta com algumas experiências sensoriais humanas. Sensores de som, que captam nossa voz e suas modulações, que representam um importante instrumento de comunicação interpessoal. Proximidade (variação de capacitância), quantificando uma faceta da expressão humana

Figura 11. Forma atual do projeto. Esferas representando pontos discretos do espaço abstrato que se mantêm inváriaveis do ponto de vista afetivo, e expressam estados emocionais através de cores e suas interrelações geométricas.

de acolhimento. E por fim os sensores de aceleração própria (acelerômetro), que buscam medir padrões de interação mais próximos e estão associados a alguns dos modos mais íntimos de expressão de afetividade. Com todos esses elementos em mãos os sensores adequados à fisiologia afetiva, os atuadores associados de maneira empírica à percepção emocional humana e a estrutura computacional capaz de manter esses estados emocionais - e supondo uma base conceitual da percepção topológica do ambiente construído, emergiu então a forma definitiva deste trabalho. Esta ainda compreende aquela interface para a definição da personalidade do ambiente, porém agora este é representado por esferas espalhadas pelo espaço físico da instalação que podem ser entendidas como pontos descontínuos de um espaço abstrato. Tais esferas podem locomover-se pelo

40


chão de maneira autônoma, porém guiadas pela proximidade dos interatores conforme sua resposta afetiva (e dependendo de sua personalidade). Estas têm ainda a capacidade de iluminarem-se com determinadas cores relativas ao seu estado emocional em acordo com a paleta definida com base no estudo de O'Brien. Essa iluminação no entanto, não é individual mas sim síncrona entre todas as esferas, uma vez que representa o estado emocional do ambiente como um todo. Cada esfera individual está associada a um ponto discreto no espaço físico deste ambiente, que se mantém invariável do ponto de vista da coerência afetiva interna, apesar de alterarem suas relações geométricas. As interações dos usuários com a instalação se dão de diferentes maneiras variando desde a simples presença destes (ou a sua

Figura 12. Interações se dão de diversos modos.

passagem ao longo da instalação) até interações mais próximas como manipular as esferas ou mesmo conversar com estas. Esses padrões de interação são captados e interpretados possivelmente de duas maneiras. Através de um mapeamento direto produzido de antemão, ou por um processo de aprendizagem de máquina que implica em um procedimento anterior de anotação de um corpus de dados e o treinamento do classificador. Os protótipos desenvolvidos utilizam a primeira

41


Figura 13a. Medo.

42


Figura 13b. Raiva.

43


Figura 13c. Tristeza.

44


Figura 13d. Amor.

45


Figura 13e. Felicidade.

46


abordagem, porém o projeto prevê a utilização de uma floresta randômica de árvores de regressão como classificador, pela sua performance mais adequada a sistemas de tempo real. As esferas são dotadas de um microcontrolador que coordena a coleta dos dados, mantém o equilíbrio da esfera enquanto essa se locomove, além de realizar a comunicação wireless com um servidor central. Este servidor é responsável pela manutenção do estado afetivo do sistema. O sistema de locomoção baseia-se no modelo de robô esférico de hardware aberto Moti (https://github.com/WeAreLeka/moti), no qual o corpo que envolve o circuito interno gira independente deste, impulsionado por rodas coordenadas por informações de um sensor inercial com seis graus de liberdade.

Figura 14a. Perspectiva e corte superior do elemento esfera.

47


Para a montagem de cada esfera são necessários os seguintes componentes: - Microcontrolador Arduino Mega2560 - Motor DC com placa controladora - Sensor inercial integrado de 6 graus de liberdade com acelerômetro ADXL345 e giroscópio ITG-3200 - LED RGB SMD de alto brilho - Módulo Bluetooth - Sensor de áudio com conversor ADC - Antena metálica circular - Suporte parafusável para motor DC - Rodas de borracha de 32 x 7mm - Resistores e capacitores variados - Cabos jumper - Casco esférico com 20cm de diâmetro em acrílico branco leitoso atarrachável - Bateria 9V

Figura 14b. Cortes lateral e frontal.

48


Para a instalação ainda é necessário um computador dotado de interface Bluetooth rodando sistema operacional Linux com kernel 3.16 ou superior, além do software desenvolvido e do espaço físico para a montagem. O custo estimado é de R$845,00 por esfera totalizando R$18.400 para uma instalação com 20 esferas mais o servidor. Por conta do alto custo foi projetado também uma série de três protótipos a serem apresentados como prova de conceito. Estes se concentram no sistema de computação afetiva, e demonstram a influência de cada sensor individual na composição afetiva geral do agente, com o respectivo resultado observável através de interface web.

49


Figura 15a. Sensor de 谩udio. Prot贸tipo.

50


Figura 15b. Sensor de proximidade (capacit芒ncia). Prot贸tipo.

51


Figura 15c. Sensor de acelera莽茫o pr贸pria. Prot贸tipo.

52


Trabalhos análogos Diversos trabalhos executados ou pesquisados durante o desenvolvimento deste projeto serviram de inspiração para que este evoluísse para proposta apresentada. Ekman (2012) Mauricio Galdieri Software para reconhecimento de seis emoções (alegria, tristeza, raiva, medo, repugnância e surpresa) presentes em textos em inglês.

53


Telemão (2013) Mauricio Galdieri, Leandro Velloso e Tiago Barufi Uma mão impressa em resina vegetal controlada remotamente pelo reconhecimento de gestos e posições dos dedos.

54


EVA II - experimento I (2015) Daniela Kutschat Hanns, Leandro Velloso, Mauricio Galdieri e André Damião Quatro entidades eletrônicas que se comunicam afetivamente com o ambiente ao seu redor, em resposta à presença humana e suas interações.

55


Lotus (2010-2011) Daan Roosegarde Instalação interativa na qual a presença humana é detectada e flores metálicas se abrem de acordo com o movimento.

56


Shin’m (2011) Eunsu Kang Projeção de pontos luminosos cujos padrões seguem os interatores e se alteram com a velocidade destes.

57


Firewall (2012) Aaron Sherwood Projeção em tecido Spandex, cujo padrão, associado à geração paramétrica de música eletrônica, se altera em resposta a pressão sobre a sua superfície.

58


Apêndice Ao longo deste trabalho se fez necessário o desenvolvimento de diversos softwares customizados que atendessem às especificidades da obra. Os diferentes testes realizados assim como a montagem dos protótipos, serviram para a depuração e uma primeira otimização do códigos fonte. Apesar de boa parte destes servirem de suporte à estrutura tecnológica do projeto, algumas em particular são genéricas o suficiente para encontrarem utilização em outras aplicações. Especificamente o código que trata da modelagem e manutenção dos estados afetivos do agente, acredito que seja de especial interesse para outras pessoas interessadas em aplicações artísticas ou científicas. E creio que seja uma das maiores contribuições deste trabalho, mesmo não sendo o foco principal da proposta. Sendo assim todo o código fonte desenvolvido foi tornado público sob uma licença que permite sua utilização, modificação, manutenção e contribuição coletivas. Estes estão disponíveis acompanhados de documentação e devidamente comentados para sua melhor compreensão e, de maneira geral estão assim organizados:

59


O software pyaffective é um módulo em Python 2.7 cuja peça central é a classe Agent . Essa inicia o motor afetivo e mantém seu estado em uma thread própria. Os diversos modelos emocionais utilizados (OCEAN, OCC e PAD) estão localizados no módulo emotions. py e são utilizados para inserir os traços de personalidade (OCEAN) e eventos emocionais (OCC) no sistema. O estado atual do agente é extraído como um objeto PAD. Além destes, duas outras classes podem ser úteis para a comunicação com processos externos, principalmente quando são utilizados microcontroladores: a classe Sensor e a classe Actuator , responsáveis por traduzir os valores vindos dos sensores e em direção aos atuadores, respectivamente. As implementações encontradas aqui são específicas para o projeto, mas podem facilmente ser subclasseadas e seus métodos responsáveis pela lógica interna sobrecarregados. Internamente todos os estados são representados como vetores numpy .

60


Links - Código fonte do modelo afetivo computacional baseado no artigo “ALMA - A layered model of affect” (AUTORES). Elaborado como um módulo Python 2.7 sob a licença MIT. http: //github. com/mgaldieri/pyaffective - Implementação do motor afetivo com uma interface web utilizando a framework Flask. Esse repositório ainda contém todo o material utilizado na confecção dos protótipos, incluindo arquivos de corte à laser, esquemáticos dos circuitos eletrônicos assim como o código fonte utilizado nos microcontroladores Arduino. Linguagem mista, sob a licença MIT. http: //github. com/mgaldieri/flask- pyaffective

61


agent. py # - *- coding: utf- 8 - *__author__ = ' mgaldieri' from emotions import OCEAN, OCC, PAD from time import time from events import Event import numpy as np from collections import namedtuple from Queue import Queue import threading Invocation = namedtuple( ' Invocation' , ( ' fn' , ' args' , ' kwargs' ) )

class Agent: def __init__( self, personality=None) : self. personality = None self. neurotics = 0. 0 self. MAX_NEUROTICS = 3. 0 self. _in_q = Queue( ) self. _out_q = Queue( 1) self. FRAMES_PER_SECOND = 60. 0 self. SECS_PER_UPDATE = 1. 0/self. FRAMES_PER_SECOND self. EVENT_DURATION = 1. 0 # seconds self. BASE_VELOCITY = 1. 0/250 # self. TIME_TO_TRAVEL*self. SECS_PER_UPDATE self. DISTANCE_TOLERANCE = 1. 0/10000. 0 self. set_personality( personality) def start( self) : data = threading. local( ) thread = threading. Thread( name=' Agent Runloop' , target=self. _run, args=( data, ) )

thread. daemon = True thread. start( ) def stop( self) : self. _in_q. put_nowait( Invocation( self. _stop, ( ) , {}) ) def put( self, values=None) : if values: if isinstance( values, np. ndarray) : v = values elif isinstance( values, OCC) : v = values. pad. state else: raise ValueError( ' Valores de evento invรกlidos' ) self. _in_q. put_nowait( Invocation( self. _put, ( v, ) , {}) ) def get( self) : mood = self. _out_q. get( ) if mood is not None and len( mood) == 3: return PAD( pleasure=mood[ 0] , arousal=mood[ 1] , dominance=mood[ 2] ) def set_personality( self, values) : if values: if isinstance( values, np. ndarray) : ocean = OCEAN( personality=values) elif isinstance( values, OCEAN) : ocean = values else: raise ValueError( ' Valores de personalidade invรกlidos' ) else: ocean = OCEAN( ) self. _in_q. put_nowait( Invocation( self. _set_personality, ( ocean, ) , {}) ) def _run( self, data) : data. running = True data. events = [ ]

62


data. state = np. zeros( 3) previous = time( ) lag = 0. 0 print ' running. . . ' while data. running: current = time( ) elapsed = current - previous previous = current lag += elapsed self. _process_input( data) while lag >= self. SECS_PER_UPDATE: self. _update( data) lag - = self. SECS_PER_UPDATE self. _process_output( data) print ' stopped! ' def _process_input( self, data) : while not self. _in_q. empty( ) : j ob = self. _in_q. get( ) j ob. fn( data, *j ob. args, **j ob. kwargs) def _process_output( self, data) : if self. _out_q. full( ) : with self. _out_q. mutex: self. _out_q. queue. clear( ) self. _out_q. put_nowait( data. state) def _update( self, data) : if len( data. events) > 0: # calculate events weighted average vectors = [ ] weights = [ ] replacement = [ ]

for i in range( len( data. events) ) : if data. events[ i] . get_influence( ) > 0: vectors. append( data. events[ i] . values) weights. append( data. events[ i] . get_influence( ) ) replacement. append( data. events[ i] ) data. events = list( replacement) if len( vectors) > 0 and len( weights) > 0: avg_event = np. average( vectors, axis=0, weights=weights) # move mood towards average event data. state = self. _move_to( data. state, avg_event) else: # move mood towards personality data. state = self. _move_to( data. state, data. personality) def _move_to( self, _from, _to) : if np. allclose( _from, _to, self. DISTANCE_TOLERANCE) : return np. array( _to) direction = _to - _from direction /= np. linalg. norm( direction) _from += direction * self. BASE_VELOCITY * self. neurotics return _from def _stop( self, data) : print ' stopping. . . ' data. running = False def _put( self, data, value) : print ' putting data. . . ' data. events. append( Event( value, self. EVENT_DURATION) ) def _set_personality( self, data, value) : print ' setting personality. . . ' data. personality = np. array( value. pad. state) data. state = np. array( value. pad. state) self. personality = value

63


self. neurotics = Agent. map_value( value. neuroticism, - 1, 1, 1, self. MAX_NEUROTICS) @staticmethod def map_value( value=0. 0, in_min=0. 0, in_max=1. 0, out_min=0. 0, out_max=1. 0) : return ( float( value) - float( in_min) ) * ( float( out_max) float( out_min) ) / ( float( in_max) - float( in_min) ) + float( out_min) agent. py

64


emotions. py # - *- coding: utf- 8 - *__author__ = ' mgaldieri' from scipy. spatial. distance import cosine import numpy as np import operator

class PAD: pleasure = 0. 0 arousal = 0. 0 dominance = 0. 0 def __init__( self, pleasure=None, arousal=None, dominance=None, state=np. zeros( 3) ) : if not all( [ pleasure is None, arousal is None, dominance is None] ) : _state = np. array( [ pleasure, arousal, dominance] ) _norm = np. linalg. norm( _state, np. inf) if _norm > 1: self. state = _state/_norm else: self. state = _state else: _norm = np. linalg. norm( state, np. inf) if _norm > 1: self. state = state/_norm else: self. state = state self. pleasure = self. state[ 0] self. arousal = self. state[ 1] self. dominance = self. state[ 2] self. states = { ' exuberante' : np. array( [ 1. 0, 1. 0, 1. 0] ) , ' dependente' : np. array( [ 1. 0, 1. 0, - 1. 0] ) ,

' relaxado' : np. array( [ 1. 0, - 1. 0, 1. 0] ) , ' d贸cil' : np. array( [ 1. 0, - 1. 0, - 1. 0] ) , ' entediado' : np. array( [ - 1. 0, - 1. 0, - 1. 0] ) , ' desdenhoso' : np. array( [ - 1. 0, - 1. 0, 1. 0] ) , ' ansioso' : np. array( [ - 1. 0, 1. 0, - 1. 0] ) , ' hostil' : np. array( [ - 1. 0, 1. 0, 1. 0] ) } self. levels = [ ' levemente' , ' moderadamente' , ' altamente' ] def mood( self) : idx, val = min( enumerate( [ cosine( self. state, s) for s in self. states. values( ) ] ) , key=operator. itemgetter( 1) ) level = self. levels[ int( round( ( len( self. levels) 1) *np. linalg. norm( self. state) /np. linalg. norm( np. ones( 3) ) ) ) ] return ' ' . j oin( [ level, self. states. keys( ) [ idx] ] ) def __repr__( self) : return ' <PAD: %s>' % self. mood( )

class OCEAN: def __init__( self, openness=None, conscientiousness=None, extraversion=None, agreeableness=None, neuroticism=None, personality=np. zeros( 5) ) : if not all( [ openness is None, conscientiousness is None, extraversion is None, agreeableness is None, neuroticism is None] ) : _personality = np. array( [ openness, conscientiousness, extraversion, agreeableness, neuroticism] ) _norm = np. linalg. norm( _personality, np. inf) if _norm > 1: self. personality = _personality/_norm else: self. personality = _personality else: _norm = np. linalg. norm( personality, np. inf)

65


if _norm > 1: self. personality = personality/_norm else: self. personality = personality self. openness = self. personality[ 0] self. conscientiousness = self. personality[ 1] self. extraversion = self. personality[ 2] self. agreeableness = self. personality[ 3] self. neuroticism = self. personality[ 4]

' satisfaction' : {' P' : 0. 3, ' A' : - 0. 2, ' D' : 0. 4, ' valence' : 1}, ' anger' : {' P' : - 0. 51, ' A' : 0. 59, ' D' : 0. 25, ' valence' : - 1}, ' disliking' : {' P' : - 0. 4, ' A' : 0. 2, ' D' : 0. 1, ' valence' : - 1}, ' disappointment' : {' P' : - 0. 3, ' A' : 0. 1, ' D' : - 0. 4, ' valence' : - 1}, ' distress' : {' P' : - 0. 4, ' A' : - 0. 2, ' D' : - 0. 5, ' valence' : - 1}, ' fear' : {' P' : - 0. 64, ' A' : 0. 6, ' D' : - 0. 43, ' valence' : - 1}, ' fears_confirmed' : {' P' : - 0. 5, ' A' : - 0. 3, ' D' : - 0. 7, ' valence' : - 1}, ' hate' : {' P' : - 0. 6, ' A' : 0. 6, ' D' : 0. 3, ' valence' : - 1}, ' pity' : {' P' : - 0. 4, ' A' : - 0. 2, ' D' : - 0. 5, ' valence' : - 1}, ' remorse' : {' P' : - 0. 3, ' A' : 0. 1, ' D' : - 0. 6, ' valence' : - 1}, ' reproach' : {' P' : - 0. 3, ' A' : - 0. 1, ' D' : 0. 4, ' valence' : - 1}, ' resentment' : {' P' : - 0. 2, ' A' : - 0. 3, ' D' : - 0. 2, ' valence' : - 1}, ' shame' : {' P' : - 0. 3, ' A' : 0. 1, ' D' : - 0. 6, ' valence' : - 1},

self. pad = self. set_pad( ) def set_pad( self) : pleasure = 0. 21*self. extraversion + 0. 59*self. agreeableness + 0. 19*self. neuroticism arousal = 0. 15*self. openness + 0. 30*self. agreeableness 0. 57*self. neuroticism dominance = 0. 25*self. openness + 0. 17*self. conscientiousness + 0. 60*self. extraversion - 0. 32*self. neuroticism return PAD( pleasure, arousal, dominance)

class OCC: pad_map = { ' admiration' : {' P' : 0. 5, ' A' : 0. 3, ' D' : - 0. 2, ' valence' : 1}, ' gloating' : {' P' : 0. 3, ' A' : - 0. 3, ' D' : - 0. 1, ' valence' : 1}, ' gratification' : {' P' : 0. 6, ' A' : 0. 5, ' D' : 0. 4, ' valence' : 1}, ' gratitude' : {' P' : 0. 4, ' A' : 0. 2, ' D' : - 0. 3, ' valence' : 1}, ' hope' : {' P' : 0. 2, ' A' : 0. 2, ' D' : - 0. 1, ' valence' : 1}, ' happy_for' : {' P' : 0. 4, ' A' : 0. 2, ' D' : 0. 2, ' valence' : 1}, ' j oy' : {' P' : 0. 4, ' A' : 0. 2, ' D' : 0. 1, ' valence' : 1}, ' liking' : {' P' : 0. 4, ' A' : 0. 16, ' D' : - 0. 24, ' valence' : 1}, ' love' : {' P' : 0. 3, ' A' : 0. 1, ' D' : 0. 2, ' valence' : 1}, ' pride' : {' P' : 0. 4, ' A' : 0. 3, ' D' : 0. 3, ' valence' : 1}, ' relief' : {' P' : 0. 2, ' A' : - 0. 3, ' D' : 0. 4, ' valence' : 1},

} def __init__( self, admiration=None, gloating=None, gratification=None, gratitude=None, hope=None, happyn_for=None, j oy=None, liking=None, love=None, pride=None, relief=None, satisfaction=None, anger=None, disliking=None, disappointment=None, distress=None, fear=None,

66


fears_confirmed=None, hate=None, pity=None, remorse=None, reproach=None, resentment=None, shame=None, pad=None) : if not all( [ admiration is None, gloating is None, gratification is None, gratitude is None, hope is None, happy_for is None, j oy is None, liking is None, love is None, pride is None, relief is None, satisfaction is None, anger is None, disliking is None, disappointment is None, distress is None, fear is None, fears_confirmed is None, hate is None, pity is None, remorse is None, reproach is None, resentment is None, shame is None] ) : self. admiration = admiration self. gloating = gloating self. gratification = gratification self. gratitude = gratitude self. hope = hope self. happy_for = happy_for self. j oy = j oy self. liking = liking self. love = love self. pride = pride self. relief = relief self. satisfaction = satisfaction

self. fears_confirmed = fears_confirmed self. hate = hate self. pity = pity self. remorse = remorse self. reproach = reproach self. resentment = resentment self. shame = shame self. pad = self. set_pad( ) else: if isinstance( pad, np. ndarray) : self. pad = PAD( pleasure=pad[ 0] , arousal=pad[ 1] , dominance=pad[ 3] ) if pad else self. set_pad( ) elif isinstance( pad, PAD) : self. pad = pad else: raise Exception( ' Invalid event type' ) def set_pad( self) : emotion = {' P' : 0. 0, ' A' : 0. 0, ' D' : 0. 0} for attr in self. pad_map. keys( ) : temp = self. __dict__. get( attr) emotion = {k: emotion[ k] +temp*self. pad_map[ attr] [ k] for k in ( set( self. pad_map[ attr] . keys( ) ) - {' valence' }) } return PAD( pleasure=emotion[ ' P' ] , arousal=emotion[ ' A' ] , dominance=emotion[ ' D' ] )

self. anger = anger self. disliking = disliking self. disappointment = disappointment self. distress = distress self. fear = fear

67


events. py # - *- coding: utf- 8 - *__author__ = ' mgaldieri' from time import time

class Event: def __init__( self, values=None, duration=1. 0) : if values is None: values = [ ] self. values = values self. duration = duration self. start_time = time( ) def get_influence( self) : n = ( time( ) - self. start_time) /self. duration if n < 0: n = 0 if n > 1: n = 1 return n*( n- 2) +1

68


Bibliografia KANT, Immanuel. A Crítica da Razão Pura, 1781, Tradução de Manuela Pinto dos Santos e Alexandre Fradique Marujão, Fundação Calouste Gulbenkian, 2001 [1]

HERBERT, Nick. Quantum Reality: Beyond the new physics, Anchor Press/Doubleday, 1985 [2]

VASSÃO, Caio. Arquitetura Livre, Faculdade de Arquitetura e Urbanismo da Universidade de São Paulo, 2008 [3]

[4]

BAUMAN, Zygmunt. Modernidade Líquida, Zahar, 2000

JORDÀ, Sergi. Digital Lutherie. Crafting musical computers for new musics' performance and improvisation, Universitat Pompeu Fabra, 2005 [5]

Artistóteles. On the Soul, 350 A.C., Tradução de J. A. Smith, Digireads.com Publishing, 2006 [6]

69


O’KEEFE, John; NADELL, Lynn. The hippocampus as a cognitive map, Oxford University Press, 1978, ISBN 0-19-857206-9 [7]

REEVES, B.; NASS, C. The Media Equation: How People Treat Computers, Television, and New Media Like Real People and Places, Cambridge University Press, 1996 [8]

HEIDEGGER, Martin. Da experiência do pensar, Globo, 1969 MESSER, Robert; STRAFFIN, Philip. Topology Now, Mathematical Association of America, 2006, ISBN 0883857448 [9]

FARINELLI, Franco. Geography. An introduction to the models of the world, Einaudi, 2003, ISBN 8806160206 [10]

AGNEW, John; LIVINGSTONE, David N. The SAGE Handbook of Geographical Knowledge, cap. 23, London, Sage, 2011, ISBN 1412910811 [11]

TUAN, Yi-Fu. Topofilia: um estudo da percepção, atitudes e valores do meio ambiente, São Paulo, Difel, 1980 [12]

70


PÁDUA, Ligia Teresa Saramago. A “Topologia do ser”: lugar, espaço e linguagem no pensamento de Martin Heidegger, orientador: Paulo Cesar Duque-Estrada, coorientadora: Márcia Cristina Ferreira Gonçalves, PUC-Rio, Departamento de Filosofia, Rio de Janeiro, 2005 [13]

PICARD, Rosalind. Affective Computing, MIT Technical Report #321, 1995 [14]

MORRIS, Rob. Games for Autism. Disponível em: <http://web.media.mit.edu/~rmorris/GamesForAutism/>. Acessado em 15 Jun, 2015. [15]

BACON, Liz; WINDALL, Gill; MACKINNON, Lachlan. The development of a rich multimedia training environment for crisis management: using emotional affect to enhance learning, Research in Learning Technology, [S.l.], v. 19, Jan. 2012. ISSN 2156-7077. Disponível em: <http://www.researchinlearningtechnology.net/index.php/rlt/articl e/view/7780>. Acessado em 02 Jun. 2015. doi: http://dx.doi.org/10.3402/rlt.v19i3.7780. [16]

71


GEBHARD, Patrick. ALMA: a layered model of affect, Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems. ACM, 2005 [17]

McCRAE, R.R.; JOHN, O.P. An introduction to the five-factor model and its applications, Journal of Personality 60 (2), pp. 175–215, 1992 [18]

ORTONY, Andrew; CLORE, Gerald L.; COLLINS, Allan. The Cognitive Structure of Emotions, Cambridge University Press, 1990, ISBN 0521386640 [19]

RUSSEL, James A.; MEHRABIAN, Albert. Evidence for a threefactor theory of emotions, Journal of Research in Personality Volume 11, Issue 3, pp. 273–294, 1977 [20]

BOEHNER, Kirsten; DePAULA, Rogerio; DOURISH, Paul; SENGERS, Phoebe. How emotion is made and measured, International Journal of Human-Computer Studies 65 (4): 280, 2007 [21]

72


BATTARBEE, Katja; KOSKINEN, Ilpo. Co-experience: user experience as interaction, CoDesign 1 (1): 5–18, 2005 [22]

MURRAY, Janet Horowitz. Hamlet no holodeck - o futuro da narrativa no ciberspaço, traduzido por Elissa Khoury Daher, UNESP, 2003 [23]

TARKOVSKI, Andrei. Esculpir o Tempo: Reflexões sobre o cinema, Martins Fontes, 1989, ISBN 8561635967

73



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.