ABM for Brazilian rock art studies

As part of a research project on computer applications in archaeology, we are proposing to use agent-based modelling for Brazilian rock art studies. Here, we want to analyze the mechanisms of landscape construction, when there are various independent agents. The basic idea is that, when a hunter reaches a rockshelter, a random number below a certain threshold results in a new painting on this particular site. At the end of a certain time lapse, we can study the whole dynamics according to simple rules.


ABM allows us to test a set of hypothesis proposed in the Brazilian literature to explain why some sites are chosen and not others. Brazilian rock art being predominantly an open-air phenomenon, the archaeological literature balances between two tendencies: the first one is purely factual and sees the environment as the main driver for human choices between two individual rockshelters, in terms of geological structure, location or stone quality. Meanwhile the second one is more relativist and considers culture as the main parameter: here, social definition is the motto. For our purpose, we consider the first one defined by [exogenous|global] parameters, and the other as defined by [endogenous|local] criteria.


The three first versions of our model were dedicated to define these variables. Put together in a single model, they allow us to visualize each specific scenarii and compare the results:

  • In the first one, all shelters hold an equally fixed threshold. As such, it means they all offer equal possibilities for the actors. In this case, the landscape is just like a large set of generic sites;
  • In the second one, the threshold is defined exogenously and globally. Practically, a random value is defined for each shelter, within certain limits, once and for all the hunters. This way, the landscape is scaled between “awsomely-fit” and “definitely-not-fit” sites;
  • Finally, in the third one, an endogenous and local random threshold, still within limits, is defined by each individual hunter for each individual shelter. In this scenario, each hunters is able to define what (s)he considers being fit or not, independently of the others.

With netLogo, we can program a whole set of simple rules and let it runs each specific scenario, or even a combination of them. According to the selected hypothesis, a threshold is defined on a base 100 at the beginning of the run. This value has a direct impact on the interaction between hunters and shelters, producing paintings or not, and we can study the evolution of the graphical landscape.

Generally speaking, a low threshold value makes it slow and complicated for hunters to produce new figures, while a high one isn’t so much of a problem. It is important to note that the exact content or meaning of the threshold is not defined. We only consider broad categories of parameters. It means that an exogenous and global threshold isn’t linked to any specific variable, be it rains, animal migration or rock weathering. Similarly, using a cultural threshold doesn’t mean we favour ritual over social hierarchy or anything. The mechanisms we are studying are determined by the origin: the external environment or the social group itself. In any case, we are studying the landscape construction dynamics, and not to particular set of proposals.

With these definitions, we can analize the distribution of paintings in a set of shelters, both quantitatively and qualitatively. Using tests against random movement and random values, we have an opportunity to study if, where and when non-random distributions occur. The results can then be compared to a series of known archaeological contexts.

Running the first tests, we decided to stop the simulation as soon as a shelter reaches 100 paintings. For each hypothesis, the results show different patterns.

  • In the first case, a generic landscape of equal shelters leads to a normal bell-shaped distribution of figures among these. Both the minimum number of motives and the overal mean are high, indicating that hunters were able to make new paintings in all the shelters. The only differences depend on initial positions and movement.
  • In the second case, the shelters are given a randomly set variable, set from the beginning of each run and acknowledged by all hunters. As a result, shelters being given a low threshold have minimal chances of receiving any figures at all. Considering these parameters, we expected the results to be far more clustered around those shelters with high value, regardless the initial positions and movements. Runs showed that the expected dynamics were correct, and the resulting clustering largely depends on the original geographical configuration and distribution.
  • Finally, the third scenario showed mixed situations. In this case, each hunter had an individual cognitive map, through which he was able to attribute a random value for each shelter at the beginning of each run. Considering the whole population, chances were that each shelter had a different threshold for each hunter. Due to this diversity, the model generally resulted in normal bell-shaped distributions similar to the first scenario: the greater the number of hunters, the closest to random the general distribution of paintings on shelter. This can be explained by probability: as each shelter is visited by every hunter many times during a run, the low threshold on one’s cognitive map is balanced by another’s high value. It should be noted, though, that in all these three cases, the construction of landscape through time followed a linear progression.

While rock art is attested in many parts of Brazil, a few larger sets have been defined with more or less precise geographic boundaries. Among these, a group of figurative collective representations has been characterized in the 1980s in an area stretching east of the São Francisco and Parnaíba river valleys to the northeastern Atlantic coastline. Despite such a large region and a cruel lack of data for the intermediary zones, three main clusters have been identified in the Serra da Capivara (Piauí), Seridó (Rio Grande do Norte) and Chapada Diamantina (Bahia). Between them, hundreds of kilometers only show a limited number of poorly documented sites. Yet, even considering the limits of available archaeological data, clustering seems to be an important behaviour.


Using clustering as a marker, the second scenario only was able to show adequate behaviour, when the act of painting is a result of the shelters natural properties. Environmental determinism was particulary influencial in Brazilian archaeology during the 1950s, when a National Program of Archaeological Research (Pronapa) was created under the umbrella of Betty Meggers. Yet, another specific situation could be derived from the results of the third scenario. If we consider that cognitive maps are transmitted from group to group, and from one generation to the other, a conjunction of high random value on specific sites would also be able to create clusters. This very particular mechanism has given birth to the concept of Tradition in the 1960s. According to this idea, an initial definition of basic graphic representation principles was generated, probably in these areas where the oldest cases where attested. It would then have expanded to new regions, through gradual new developments, with population growth.

Such a transmission has been identified in the occurrence of complex figurative scenes envolving the same graphic elements in all the main regional clusters. These emblematic scenes have first been attested in the Serra da Capivara and in the Seridó, and later in the Chapada Diamantina.

As a general mechanism, the Tradition has also been used to map the presence of Nordeste motives on many sites. Yet, if we consider population growth and distance, we should also expect a accompanying growth of social and cultural constraints, limiting the development of new and unforseen characteristics. To this day, there is no archaeological evidence of such burdens as hierarchy or political structures. We may then ask ourselves if another mechanism could have been at work.

The ABM model allows us to propose an alternative perspective, one that wouldn’t be altered by population growth and geographical distance. If we consider the rules set for each hypothesis, they were placed on only two elements of the rock art creation process: shelters and hunters. A third element went dramatically neglected, the motives themselves. A new hypothesis could be created that defines the threshold on the presence of previous paintings. In such a non-linear framework, one particular shelter would be more and more attractive as it gets more and more paintings, as a kind of cumulative effect.


This new hypothesis starts with a minimal threshold for every shelter, in order to allow the probability of the very first motive. The initial conditions would then be very similar to the first hypothesis of complete randomness. As soon as a shelter receives its first paintings, though, it would gain a small benefit added to its threshold value. The larger the number of paintings, the larger the benefit would be, on a regular base. On the model, this was stated through a single rule: the benefit would be equal to the actual number of paintings multiplied by a magnifier between 0.0 and 2.0. A slider was then created to control this value.

The new hypothesis showed interesting results. First, despite initial conditions similar to our most random tests, the magnifier value is able to modify the dynamics. Below 0.5, its effects aren’t sufficient to change the general distribution of paintings in the landscape. Around 0.7, it show a growing clustering of new figures on some specific shelters. Above 1.0, the tendency is inverting, and the benefits of each new paintings become so high that virtually every visit of a hunter in a shelter results in a new figure – even when there is only one single motive on the site. Second, population doesn’t seem to have an effect on the results. In fact, its growth seems to be directly linked to a third effect: the speed at which the landscape is constructed (or at least, at which a first shelter reaches 100 paintings).


Of course, not every run shows the same results. The initial position of both shelters and hunters, as well as the movements of the latter, are important if we want to understand why a specific site receives paintings. Anyway, this was not our objective, as the model cannot be expected to reproduce real situations. What it clearly shows, though, is that a cumulative effect is able to result in clustering, even when hunters have completely different cognitive maps, and when their number grows larger.

The next question is this: if this really were to have been an effective mechanism, what should we then expect to find on archaeological ground?

This work will be presented at the VIth meeting of the Associação Brasileira de Arte Rupestre, on september 14.

Modelos baseados em agentes para a arqueologia (parte 4)

Deixamos o modelo na sua versão 0.3. Está na hora de resumir o que foi feito e tentar aproximar as etapas com o estado da arte em análise de pinturas rupestres. Para ler os outros posts, veja a parte 1, a parte 2 e a parte 3.

O objetivo inicial era de montar um modelo baseado em agentes (ABM) que possa servir para o estudo da distribuição dos sítios de arte rupestre na paisagem. Começamos, portanto, por criar dois tipos de agentes: os caçadores de um lado, e os abrigos do outro. A regra básica queria que os caçadores se movessem aleatoriamente na paisagem e que, quando um deles encontrasse um abrigo, houvesse uma certa probabilidade de realizar ali uma pintura.

A versão 0.1 foi desenvolvida com um conjunto de regras simples, segundo as quais essa probabilidade seria aleatória. Quando ocorre o encontro entre caçador e abrigo, o resultado de um jogo de dados ou de uma moeda (tipo, cara ou coroa) determina se há ou não realização de pintura. Obviamente, já sabiamos que os vestígios não eram produzidos desta forma (os caçadores pré-históricos não tinham nem dados nem moedas), mas precisavamos observar a forma com a qual as pinturas seriam distribuídas na paisagem com uma regra deste tipo.

Sem surpreza, a distribuição final era bem diferente de tudo que pode ser visto nos vestígios. Todos os abrigos existentes acabam recebendo pinturas e a média é muito elevada. A figura 1 ilustra o resultado de 10 testes com este modelo: o eixo horizontal mostra os dez abrigos criados no mundo, e o eixo vertical a quantidade de pinturas para cada um no final de cada teste. Importa esclarecer que a ordem dos abrigos é diferente para cada teste e que o grafo indica apenas uma distribuição “anônima”.

Figura 1 - 10 testes com a versão 0.1.

Figura 1 – 10 testes com a versão 0.1.

Com este resultado inicial, tornou-se clara a necessidade de definir melhor as regras que levam à realização das pinturas. Uma probabilidade dada somente pela aleatoriedade não era suficiente. Introduzimos então a noção de qualidade para os abrigos. Na versão 0.2, cada abrigo recebeu um valor aleatório que devia dar conta da sua disposição para receber pinturas. Esta disposição podia ser medida pelas características da rocha, pela localização no espaço, pela disponibilidade de água ou qualquer outro motivo e/ou todos juntos. A qualidade simboliza, portanto, um conjunto desconhecido de variáveis ambientais e culturais que resultam – ninguém sabe exatamente como ou porque – no fato que um abrigo era preferido a outro.

A versão 0.2 atribuiu este valor aos abrigos e, por este fato, pode ser considerado à luz da ecologia cultural, segundo a qual o ambiente é definidor das escolhas feitas pelas populações humanas. Aqui, embora desconheçamos os critérios utilizados, há um definidor externo para a escolha. Quando ocorre o encontro entre caçador e abrigo, o jogo de dado é feito contra este valor de qualidade. Logo, alguns abrigos são bem dispostos a receber pinturas enquanto outros não têm condições mínimas. A figura 2 mostra novamente o resultado de 10 testes.

Plot v02

Figura 2 – 10 testes com a versão 0.2.

Comparada com a versão 0.1, os resultados indicam aqui um perfil de distribuição mais interessante: alguns abrigos realmente não tem pinturas, e outros são bem densos. Na verdade, esta versão 0.2 pode ser considerada como o modelo vigente, através do conceito de tradição rupestre: um conjunto de regras culturais transmitidas no tempo que deve explicar as recorrências observadas nas técnicas e nos temas apresentados na produção de pinturas. Embora possa haver diferenças mínimas, os mesmos padrões são utilizados por todos os atores dentro de uma mesma tradição. Nela, os detalhes iniciais são detalhes finais.

A crítica evidente concerne a pré-definição de um horizonte cultural único, que deveria ter sido transmitido quase intacto por gerações e gerações. Quer dizer, cada agente receberia, aceitaria, utilizaria e transmitiria o mesmo pacote para os próximos. Uma perspectiva pós-processual, ou pós-moderna, deveria considerar, no mínimo, que não existe padrões culturais compartilhados de forma idêntica por dois grupos diferentes. Trajetórias diferentes levam necessariamente à conceitos diferentes e, mesmo considerando dois grupos oriundos de um único substrato cultural, as pequenas diferenças vivenciadas por eles (secas mais intensas, matriarcas mais influentes ou vai saber o que) resultam em culturas distintas.

A versão 0.3 foi elaborada nesta base. A definição do que é um abrigo conveniente para a realização de pinturas não é mais dada pelo próprio abrigo, mas por cada caçador. Logo, cada abrigo apresenta uma disposição diferente, dependendo do agente que passa por ele. O resto permanece igual, e um jogo de dado aleatório é utilizado para o eventual incremento de pinturas. A figura 3 mostra o resultado de 10 testes.

Figura 3 - 10 testes com a versão 0.3.

Figura 3 – 10 testes com a versão 0.3.

Esta abordagem mostra, apesar do seu embasamento teórico, resultados contraditórios com a realidade observada em campo. O perfil geral da distribuição das pinturas na paisagem corresponde a uma situação analoga à versão 0.1, com uma densidade extremamente alta de pinturas em cada abrigo. Isso se deve à diversidade dos critérios utilizados, mesmo com apenas dois grupos: quando um avalia um abrigo de forma negativa (um valor de 0 ou 1), outro pode achar positivo e representar pinturas nele.

Mesmo considerando um modelo que mescle as duas abordagens, com uma definição da qualidade dada tanto pelo abrigo (o ambiente) como pelos caçadores (a cultura), não obtemos êxito. Por causa da adição das duas variáveis, o jogo de dados foi feito com base 100 e não 10 – o mecanismo geral, entretanto, permanece o mesmo.

to paint-shelter
ask patches [
ask hunters-here [set quality matrix:get hunter-matrix xpatch ypatch]
ask shelters-here [set environment geology]
if any? hunters-here and any? shelters-here [
if random 100 < ( quality + environment ) [ask shelters-here [set paintings paintings + 1]]

A figura 4 mostra os resultados de 10 testes baseados nesta ideia dupla. O resultado é um pouco melhor, mas ainda têm uma densidade elevada, pela mesma razão apresentada acima: um abrigo com pouca qualidade pode ser avaliado de forma positiva por um dos dois caçadores, permitindo que sejam realizadas pinturas.

Figura 4 - 10 testes com a versão 0.4.

Figura 4 – 10 testes com a versão 0.4.

Se comparamos os quatro modelos, portanto, três estão apresentando resultados diferentes do contexto arqueológico. Como mostra a figura 5, somente a versão 0.2, associada ao conceito de tradição ou de ecologia cultural, indica uma distribuição mais concentrada em certos abrigos.

Figura 5 - média dos testes das 4 versões.

Figura 5 – média dos testes das 4 versões.

Podemos chamar a versão 0.2 de modelo mais satisfatório até o momento. Apesar de suas críticas, ele é o único a apresentar resultados que se aproximam da realidade observada. Sabemos que não é perfeito, que tem falhas teóricas evidentes, mas parece que não há alternativas. Isso explica também a sobrevivência de um modelo que passa por críticas e críticas desde a sua conceitualização, quando as tradições de arte rupestre foram propostas como categorias iniciais de classificação.

Enquanto forma de padrão cultural, elas permitem uma associação rápida dos conjuntos de grafismos com grandes classes, o que não pode ser negligenciado num território onde as pesquisas ainda são extremamente escassas. Considerando também as múltiplas ameaças ao patrimônio rupestre, tanto por pessoas individuais quanto pelos poderes públicos, um mecanismo rápido e eficiente permitia uma forma emergencial de salvaguardar um máximo de informações. Mas ao mesmo tempo, trouxe uma abordagem teórica que permitia dar conta da distribuição dos vestígios. Aqui, um conjunto de grupos realizavam pinturas de acordo com um único sistema de referência. La, outro grupo funcionava da mesma maneira, porém, distinta. Às vezes, intrusões eram observadas, com reutilização dos mesmos locais de pinturas e eventual superposição.

Estes quatro primeiros modelos ABM permitem sintetizar uma série de conceitos presentes nas pesquisas sobre arte rupestre sobre a trajetória dinâmica da formação dos sítios. Se os seus resultados não podem ser utilizados como materialização exata dos processos envolvidos, eles permitem ilustrar mais claramente diversas ideias pouco ou mal formuladas na literatura. Assim, oferecem também a possibilidade, com a inclusão de novos parâmetros, de propôr uma perspectiva alternativa à visão tradicional.

Modelos baseados em agentes para a arqueologia (parte 3)

Para acompanhar a discussão desde o início, clique aqui.

O desenvolvimento de um modelo baseado em agentes para o estudo do fenômeno da arte rupestre alcançou questões sobre a definição da cultura. Ou melhor, sobre a definição das culturas. E de fato, usar números para traduzir estas ideias sempre desperta tensões atômicas em qualquer círculo de ciências humanas.

Poderiamos fazer longos comentários, perto da lareira, taça de vinho na mão, sobre o que é e o que não é cultura. Mas não é o ponto. Não procuramos definir valores mais ou menos altos para os abrigos, nem defendemos que alguns abrigos são realmente melhores que outros. O nosso objetivo é sim analisar o comportamento de uma variável simples (a quantidade de pinturas nos abrigo) quando há uma clique de agentes postos em frente à um contexto diversificado.

O problema ao qual tinhamos chegado era o seguinte: cada abrigo tinha um valor de qualidade, mas este valor era dado para todos os caçadores. Logo, sejam estes 2 ou 20, eles se comportavam da exata mesma maneira, e o resultado final acompanhava simplesmente a distribuição inicial da variável qualidade. Entretanto, nos realmente precisamos ter agentes diferentes: é, afinal, a ideia atrás do slider controlando o número de caçadores.

Logo, a variável de qualidade deve ser atribuída por cada caçador para cada abrigo. Quer dizer, cada agente deve ter um código diferente quanto aquilo que é ou não um abrigo adequado. Tudo isto, completamente aleatório. Assim, para cada abrigo seriam vinculados um número x de valores relativos à sua qualidade – x sendo igual ao número de caçadores. Como fazer isso?

Demorei bastante tempo para encontrar uma solução. Pelo que percebi, a dificuldade é a seguinte: um agente de um breed não pode receber uma variável para cada agente de outro breed. A solução encontrada envolve passar por um intermediário.

Basicamente, cada caçador possui um mapa cognitivo do mundo, composto por uma matriz do mesmo tamanho preenchida com valores aleatórios. Nesta matriz, o local de cada abrigo está portanto relacionado com um determinado valor, que é diferente para cada caçador.

Primeiro, chamamos uma extensão no cabeçalho do arquivo e reformulamos a distribuição das variáveis. A qualidade não está mais vinculada aos abrigos, mas aos patches onde estão localizados.

extensions [matrix]
breed [hunters hunter]
breed [shelters shelter]
patches-own [xpatch ypatch quality]
shelters-own [paintings]
hunters-own [hunter-matrix]

Em seguida, adaptamos também o perfil dos caçadores e dos abrigos. Os primeiros criam o mapa cognitivo do tamanho do mundo (33×33) e preenchem-lo de valores aleatórios. Já os abrigos aparecem em certo número de patches.

create-hunters number-hunters [ set color black set size 1 setxy random-xcor random-ycor
set hunter-matrix matrix:make-constant 33 33 random 10]
ask n-of number-shelters patches [
sprout-shelters 1 [ set color one-of base-colors set size 1 set xpatch xcor set ypatch ycor] ]

Finalmente, o procedimento para a realização da pintura deve também ser adaptado. Cada caçador que encontra um abrigo deve extrair do seu mapa cognitivo o valor do local correspondendo a sua localização. Se o valor aleatório for inferior, uma nova pintura é acrescida à quantidade do abrigo.

to paint-shelter
ask patches [
ask hunters-here [set quality matrix:get hunter-matrix xpatch ypatch]
if any? hunters-here and any? shelters-here [
if random 10 < quality [ask shelters-here [set paintings paintings + 1]]

E para deixar as coisas mais simples de serem visualizadas, acrescentamos uma regra: o tamanho de cada abrigo deve crescer a medida que são acrescidas novas pinturas.

to grow-shelter
ask shelters [
set size (1 + (paintings / 50))]

Resumindo, temos uma série de caçadores evoluindo num território onde existem abrigos. Cada um possui um mapa cognitivo único para esta região. Quando eles encontram um abrigo adequado, eles realizam uma pintura. Observamos a distribuição de todas as pinturas em todos os abrigos no final do teste – arbitrariamente, quando um abrigo atinge 100 pinturas. Rodamos diversas vezes esta versão do modelo. O que podemos ver?


Ao contrário do modelo anterior, os resultados apresentam novamente uma distribuição gaussiana ou, pelo menos, uma média e uma quantidade total muito elevadas. Como entender isso, se as quantidades finais são dadas pela qualidade do abrigo?

No modelo anterior, havia apenas um valor de qualidade, definido desde o início para cada abrigo. Ao contrário, agora, temos para cada abrigo uma lista de valores correspondendo ao número de caçadores. Com 20 caçadores, um único abrigo possui 20 valores de qualidade diferentes. E como estes são definidos aleatoriamente, torna-se difícil obter 20 valores nulos. Logo, sempre há algum caçador para achar que um abrigo é conveniente e realizar uma pintura. Entretanto, o crescimento demográfico e a diferenciação das culturas – simbolizados por um número maior de caçadores com mapas cognitivos diferentes – não parecem ter um papel importante na distribuição final das pinturas.

Por mais curioso que seja este comportamento, ele não auxilia muito a problemática que levantamos, porque o modelo não se comporta como o contexto arqueológico. A menos de considerar que 90% dos sítios já desapareceu por obra do intemperismo, por exemplo. Caso contrário, procuramos identificar um modelo que possa resultar em uma situação pelo menos semelhante à realidade tal como a conhecemos na paisagem. Embora tenhamos introduzido a noção de pluraldade cultural graças aos mapas cognitivos aleatórios, não alcançamos os resultados esperados.

O que poderia ter faltado? É o que veremos no próximo episódio. Por enquanto, podem baixar o modelo shelters0-3.nlogo.

Modelos baseados em agentes para a arqueologia (parte 2)

Este post continua o projeto iniciado aqui.

Obtivemos um pequeno modelo simples, no qual caçadores se deslocam num espaço onde há abrigos nos quais podem ou não realizar pinturas. Observamos a maneira com a qual as pinturas são distribuídas no espaço. O primeiro modelo não dava resultados satisfatórios, porque não correspondem àquilo que pode ser observado nos vestígios.

Primeiro, devemos controlar a quantidade de caçadores e de abrigos que são dispostos no mundo. Para isto, vamos incluir dois “sliders” que definem as quantidades iniciais. São criados na interface gráfica, e depois inseridos no código.


to setup
set-default-shape shelters "pentagon"
create-shelters number-shelters [set color brown set size 1 set paintings 0 setxy random-xcor random-ycor]
set-default-shape hunters "person"
create-hunters number-hunters [set color white set size 1 setxy random-xcor random-ycor]

Um teste rápido com 10 caçadores mostra que a distribuição geral não é alterada. Simplesmente, o modelo é muito mais rápido: de 90.000 ticks com 2 caçadores, passamos para 15.000 com 10. Mesmo assim, vamos manter esta modificação: ela poderá ser útil mais tarde.

Um outro aspecto que deve ser considerado é o fato de todos os abrigos não possuirem características iguais. Até o momento, todos são semelhantes, e a escolha entre pintar ou não pintar é dada por um número aleatório. Portanto, precisamos inserir uma nova variável para os abrigos, que corresponde à sua qualidade. Ela pode ser dada aleatoriamente, com um valor de 0 a 10.

Primeiro, a variável é criada no cabeçalho:

shelters-own [quality paintings]

Segundo, é quantificada na fase de parametros:

create-shelters number-shelters [set color brown set size 1 set paintings 0 set quality random 10 setxy random-xcor random-ycor]

E para acompanhar a distribuição da qualidade, inserimos também um histograma na interface gráfica. Para funcionar corretamente, ele precisa ter um código especial, inserido em “Plot update commands” (clique direito no gráfico e selecionar “Edit”):

ask shelters [
create-temporary-plot-pen (word who)
set-plot-pen-mode 1
set-plot-pen-color color
plotxy who quality

Assim, ao clicar no setup, observamos que cada abrigo recebeu um valor para sua qualidade, que deve dar conta da diversidade encontrada no ambiente.


Em seguida, alteramos também a forma com a qual a escolha da pintura é realizada. Desta vez, o valor aleatório deverá ser inferior à qualidade do abrigo para levar à realização de uma nova pintura.

to paint-shelter
ask shelters [
if any? hunters-on patch-here [
if random 10 < quality [set paintings paintings + 1]

Agora, o nosso pequeno modelo apresenta uma distribuição final das pinturas que acompanha a diversidade da qualidade. Basicamente, um abrigo com baixa qualidade recebe menos pinturas que outro com alta qualidade. Nos dois casos extremas, um abrigo com qualidade 0 não vai receber nenhuma, enquanto um abrigo com qualidade 10 vai ter uma nova pintura a cada passagem de caçador.


É bom perceber que, como o deslocamento dos caçadores é aleatório, o abrigo com maior qualidade não é sempre aquele que tem 100 pinturas no final. Dependendo da situação, ele pode ser apenas segundo ou terceiro. Isso não invalida a observação geral, de que a qualidade é diretamente ligada à quantidade de pinturas.

Entretanto, persiste uma crítica mais importante, que é feita para todos os modelos teóricos e para todas as aplicações informáticas em arqueologia. Basicamente, não sabemos como era definida a qualidade pelos grupos que realizaram estas pinturas. Talvez valiam as características geológicas, ou a localização em relação a outras feições, ou ainda um histórico de acontecimentos passados. Pior, talvez era uma mistura de vários elementos com peso diferente.

Esta crítica não desconfigura o fato que algum tipo de qualidade era necessariamente atribuído. Se todos fossem iguais, como vimos no primeiro modelo, a distribuição final seria em forma de sino, o que não é observado na realidade. Portanto, devemos ir mais longe ainda.

Porque nos limitar a uma definição única da qualidade? Quem pode dizer que, um abrigo que é adequado do ponto de vista de um grupo, é também adequado do ponto de vista de outro grupo? Porque todos deveriam ver a geologia, a história ou outro como uma única variável para determinar a qualidade? Se devemos integrar o fim das certezas neste modelo, vamos integrá-lo.

É exatamente o que faremos no próximo post.

Modelos beaseados em agentes para a arqueologia (parte 1)

Modelos baseados em agentes (MBA) envolvem uma série de atores independentes definidos por regras simples que, coletivamente, apresentam dos comportamentos mais simples aos mais complexos. netLogo é uma das ferramentas que permite programar este tipo de coisas.


O uso de modelos baseados em agentes em arqueologia é muito recente. Na sua aplicação mais básica, ele permite testar uma série de propostas teóricas e observar eventuais resultados de caráter aleatórios. Assim, se torna um tipo de teste estatístico contra uma distribuição randômica, desenvolvido em três etapas:

  1. Observamos um contexto arqueológico A;
  2. Sintetizamos um contexto B teórico e aleatório;
  3. Analisamos as eventuais diferenças.

Diferente dos modelos teóricos que eram feitos no auge do processualismo, estes são muito mais analíticos que preditivos. Se eles compartilham o fato de recorrer a formulas matemâticas para sintetizar o comportamento humano, a aleatoriedade é uma característica fundamental dos modelos baseados em agentes. Logo, esta se aplica sobre leis de Mickey Mouse: se o povoado cresce com a população, analisamos a forma com a qual se desenvolve (o termo foi proposto por Kent Flannery para descrever conclusões teóricas inúteis para o avanço da pesquisa arqueológica).

A questão que nos ocupa aqui é, portanto, arqueológica. Sabemos que afloramentos e paredões rochosos são formados naturalmente na paisagem, por uma imensa série de forças (gravidade, peso, terremotos, água…). Por razões que nos escapam, certos grupos humanos decidiram realizar neles grafismos, por gravura ou por pintura. Assim, na linguagem do netLogo, temos dois breeds. Os abrigos possuem também uma variável, correspondendo à quantidade de grafismos:

breed [shelters shelter]
breed [hunters hunter]
shelters-own [paintings]

Definimos para cada um, desde o início do teste, uma forma visualmente reconhecível. Os abrigos serão pentágonos e os caçadores, antropomorfos. Todos são dispostos aleatoriamente na paisagem.

to setup
set-default-shape shelters "pentagon"
create-shelters 10 [set color brown set size 1 set paintings 0 setxy random-xcor random-ycor]
set-default-shape hunters "person"
create-hunters 2 [set color white set size 1 setxy random-xcor random-ycor]

Enquanto os primeiros são fixos na paisagem, os segundos são móveis. É preciso definir a maneira com a qual eles vão se deslocar. O programa vai tirar aleatoriamente um número entre 1 e 10 (na verdade, entre 0 e 9) e, dependendo do resultado, o caçador vai se virar para esquerda ou para direita e avançar.

to move-hunters
ask hunters [
ifelse random 10 < 5 [ right random 360 ] [ left random 360 ]
forward 1

Em seguida, procuramos se há um caçador em algum abrigo. Se for o caso, o programa tira novamente um valor entre 1 e 10. Se o resultado for superior a 5, uma pintura é realizada.

to paint-shelter
ask shelters [
if any? hunters-on patch-here [
if random 10 < 5 [set paintings paintings + 1]

Finalmente, organizamos as ações com um botão go. Para simplificar, resolvemos limitar o modelo no tempo: quando algum abrigo atinge 100 grafismos, o programa para automaticamente.

to go
if any? shelters with [paintings >= 100] [ stop ]

Pronto, o código está preparado. Na interface gráfica, inserimos botões para a configuração (setup) e para o início (go). Precisamos também analisar os resultados finais. Para isto, acrescentamos um monitor indicando a quantidade de grafismos por abrigo (monitor).


Com a quantidade de variáveis aleatórias que foram inseridas no código, os resultados nunca aparecem duas vezes iguais. As regras mínimas são, elas, presentes: caçadores percorrem a paisagem de realizam grafismos em suportes rochosos. Maior o tempo, maior o número de grafismos, até um abrigo atingir 100 (quando o programa para).

Este pequeno modelo ainda é muito simples. Os seus resultados são, eles também, muito simples. Como os dados de entrada são aleatórios, com uma distribuição gaussiana normal, as quantidades finais obtidas são também em formato de sino. A média de grafismos por abrigo é expressiva e, na verdade, não corresponde exatamente à realidade que pode ser observada em campo, quando poucos abrigos agrupam muitas pinturas e outros, nenhuma.

Talvez seria necessário, para isso, mudar a quantidade de abrigos, ou a quantidade de caçadores? Talvez seria necessário inserir uma nova variável correspondendo à qualidade de cada abrigo para a realização de pinturas? De fato, certos suportes são particularmente adequados – textura, firmeza, exposição solar, etc – e outros não.

É o que veremos no próximo post.

O arquivo .netlogo utilizado para este teste por ser baixado aqui.



Nesta tese, a teoria da complexidade é introduzida para o estudo das interações presentes no registro rupestre do Vale do Ventura, no município de Morro do Chapéu, Bahia. Para explorar esta variabilidade, este estudo procura uma definição mais precisa da representação humana, utilizando dois instrumentos pouco aproveitados em arqueologia brasileira: a análise das redes e a análise de correspondência múltipla. A pesquisa se apoia em redes bimodais para a análise do material com base em dois grupos de variáveis, morfológicas e geométricas. Além da análise da topologia, esta tese analise a dispersão dos dados com uma série de medidas de coesão. A aplicação destas ferramentas permite identificar certas características gráficas como marcadores de identidade. Interações são então definidas quando diversos marcadores estão representados em uma única cena.

O estudo deste fenômeno, em duas escalas diferentes, local e regional, permite abordar a existência de um sistema real do qual o registro rupestre é o testemunho. Propomos então de considerar algumas destas manifestações como vestígios de uma esfera de interações estendendo-se em várias áreas arqueológicas da região Nordeste.

Este trabalho se orienta, portanto, em dois eixos: de um lado, a tese apresenta ferramentas metodológicas, qualitativas e quantitativas, que permitem considerar a variabilidade dos vestígios na escala do sítio arqueológico. Por outro lado, a pesquisa propõe um mecanismo concreto para estudar uma série de relações observadas em escala maior, e repensar a natureza dos contatos dentro e entre as populações de caçadores-coletores pré-históricos que ocuparam o Nordeste do Brasil.

Versão do Repositório da UFPE (10Mo)
Versão com ilustrações de boa qualidade (100Mo)




Trajetórias de um conceito
Fragmentação em três fases
Métodos quantitativos
O nascimento de uma quarta
Perspectiva geral


Clima e vegetação
Pesquisas arqueológicas
O Vale do Ventura

A Toca da Figura
A Toca do Pepino
A Toca da Onça

Primeiras análises



Mecanismo geral
No Vale do Ventura


Mecanismo geral


No Vale do Ventura

Análise exploratória da topologia

Contexto histórico
Mecanismos gerais
No Vale do Ventura

Análise exploratória da dispersão

Estrutura dos sítios
Cultura material



Marcadores de identidade
Análise espacial

O marcador C
O marcador Sino
Cenas de caça







TÍTULO: “Interações: análise da complexidade no registro rupestre do Vale do Ventura, Morro do Chapéu, Bahia”


Dia: 27 de Maio de 2015

Horário: 14 horas

Local: Auditório do 10º Andar – CFCH


Profª Drª. Daniela Cisneiros Silva Mützenberg (Examinador Interno – Departamento de Arqueologia – UFPE)
Prof. Dr. Demétrio da Silva Mützenberg (Examinador Interno – Departamento de Arqueologia – UFPE)
Prof. Dr. Henry Socrates Lavalle Sullasi (Examinador Interno – Departamento de Arqueologia – UFPE)
Prof. Dr. Carlos Xavier de Azevedo Netto (Examinador Externo – Núcleo de Documentação e Informação Histórica Regional – UFPB)
Prof. Dr. Carlos Alberto Santos Costa (Examinador Externo – Centro de Artes, Humanidades e Letras – UFRB-BA)
Profª Drª Cláudia Alves de Oliveira (Suplente Interno – Departamento de Arqueologia – UFPE)
Profª Drª Neuvânia Curty Ghetti (Suplente Externo – Departamento de Arqueologia – UFPE)

Notícia viral em Morro do Chapéu

Não é todos os dias que uma notícia arqueológica se torna viral em poucos dias. Foi o que aconteceu nos últimos dias com a denúncia da destruição de um sítio de pinturas rupestres. Viral é uma palavra forte para uma arqueologia baiana, que deve conter umas poucas dezenas de pessoas ativas no máximo. Na sua escala, contudo, foi o que aconteceu. Por esta razão, é importante tentarmos entender o que sucedeu.

Em 30 de dezembro de 2014, aparece uma notícia no Facebook, com 6 fotos de pinturas rupestre e a seguinte descrição:

CRIME AMBIENTAL: Uma empresa que explorou quartzito na Serra da Gurgalha, município de Morro do Chapéu danificou um dos Sítios Rupestres mais importantes da Sub-bacia do rio Salitre na Bacia do São Francisco. Pelo material que me foi enviado para dar entrada no MP, a exploração foi completamente clandestina sem as devidas licenças ambientais, talvez nem com o Programa de Recuperação de Área Degradada – PRAD, possa recuperar a história do homem no planeta a partir deste Sítio.

No mesmo dia, a notícia é vinculada em dois jornais online: Morro Notícias e Jacobina Notícia.

Uma semana depois, em 6 de janeiro de 2015, um artigo é publicado pelo Bahia Notícia. Não parece mais disponível no site, mas ainda está no cache do Google. O dia seguinte, o mesmo site publica a posição do Iphan.

Ainda no mesmo dia, o site do Comitê da Bacia Hidrográfica do São Francisco menciona também a notícia, bem como o jornal Chapada Online.

Nas redes sociais, tudo isso se espalhou com uma enorme velocidade a partir deste dia, ultrapassando os limites do Brasil.

A velocidade com a qual a notícia foi transmitida, primeiro localmente, depois no Estado e finalmente internacionalmente, é um feito impressionante. Ele revela canais de comunicação articulados e eficientes, capazes de espalhar em poucos dias a destruição de um sítio arqueológico. Revela na região de Morro do Chapéu um núcleo ativo de pessoas dispostas a agir em defesa do meio ambiente e do patrimônio, com contatos em diversos pontos do aparato público-privado baiano.

Desde o primeiro dia, porém, as fotos não me parecem estranhas. A figura do indivíduo carregando um papagaio no ombro, em particular, não era desconhecida. Mas somente com acesso ao meu computador, em casa, consegui verificar. Conheço o sítio Jacarezinho mencionado nos artigos, o visitei em 19 de março de 2014. E o impacto devastador da mineiradora no local já era claro.


O guia que me acompanhou nesta ocasião me falou que o empreendimento tinha sido embargado e parado um tempo atrás. De fato, não havia mais atividade no local, apenas o rastro deixado pelas máquinas, que abriram as rochas como se fossem fatias de pão. É importante também ressaltar que o local de pinturas que eu vi, o mesmo repassado nos artigos, não foi diretamente danificado. Esta situado a algumas dezenas de metros e, certamente, teria sido destruído sem o embargo.


Eu não sei qual é o estado atual do sítio, se o empreendimento foi retomado ilegalmente, se alguém se aproveitou das pedras já destruídas. Mas não me parece claro, pelas fotos vinculadas nos jornais que houve uma grande modificação desde a época em que vi o local. A notícia seria então, felizmente, um hoax.

Atualização 13/01/2015

Houve uma reunião ontem, dia 12 de janeiro, entre o IPHAN e a Secretaria Municipal em Morro do Chapéu para verificar in loco as denúncias.

Atualização 14/01/2015

A visita técnica no local confirmou que não houve depredações maiores que aquelas já registradas desde o primeiro embargo em 2006.

Rede multilayer

Esta é a estrutura da minha rede social a partir dos dados de um website bem conhecido, extraída com Netvizz e importada no Gephi. Tudo anônimo, naturalmente. Para simplificar, considero apenas o cluster principal. Instalei também uma extensão importante, Give Color to Nodes.


O programa permite identificar as comunidades que existem nos dados, e que correspondem aqui – porque é um exemplo simples – aos agrupamentos que resultam do processo de energização da rede. A energização procura juntar indivíduos semelhantes e afastar indivíduos diferentes. Aqui, semelhantes são aqueles que têm relações entre si e, possivelmente, entre amigos diretos também. Como a identificação das comunidades – conhecida como modularidade – parte da probabilidade que um conjunto de relações exista também numa rede aleatória, estes agrupamentos são imediatamente encontrados.


Sem entrar muito nos detalhes, e apesar de vê-las todas reunidas sob um único vocábulo que pode dar a impressão que são o fruto de um único processo, as minhas comunidades são construções históricas diferentes. Embora o resultado final seja uma aglomeração de indivíduos particularmente interligados, a modularidade equipara os pessoas que conheço desde a escola do primeiro grau na Bélgica, moradores de uma charmosa cidade da Bahia, e e o povo mal-assombrado da arqueologia nordestina (em azul, la na esquerda). No mesmo grafo, tenho comunidades geográficas, funcionais, profissionais, familiais, etc. Mas todas aparecem em igualdade. Então, se as comunidades são realidades diferentes, como se aproximar dos processos históricos que estão na base de sua formação?

Com estes dados, é simplesmente impossível. Não adianta. Já podemos ser gratos pelo fato de podermos identificar comunidades. A única solução, então, consiste em cruzar estes dados com informações adicionais, extraídas de alguma outra fonte. Mais fontes alternativas existirem, maiores são as chances de poder associar as comunidades com processos históricos. Por exemplo, cruzando os dados iniciais com o local de origem de cada indivíduo, é provável que as comunidades de cunho geográfico sejam identificadas. A priori, nada nos diz que a geografia seja uma variável relevante. No meu caso, Belga radicado no Brasil, a nacionalidade deveria permitir alguma aproximação.


E de fato, a organização dos indivíduos da rede segundo a nacionalidade oferece uma primeira aproximação do processo de formação das comunidades. Uma delas é composta por pessoas dos dois continentes, enquanto as outras são exclusivamente belgas (verde) ou brasileiras (azul). Outro elemento que pode ser considerado, é a distribuição por gênero.


A identificação das mulheres e dos homens no grafo resulta numa distribuição muito mais caótica. Parece realmente que o gênero não seja uma variável relevante para entender a formação das minhas comunidades. Um terceiro elemento que poderia definir a estrutura do grafo é o percurso escular e universitário, no qual passei mais de… hum, 22 anos da minha curta vida.


Esta partição dos dados é interessante, sobretudo, comparada com as informações geográficas. Os dois núcleos importantes de pessoas que encontrei no meio escolar estão localizadas nas extremidades do grafo. Mas as comunidades que fazem a ligação neste cluster inteiro não são acadêmicas. Do ponto de vista da arqueologia nordestina, a separação em duas comunidades encontra sua explicação neste grafo: uma vem da universidade , a outra não.

Cada uma desta partições corresponde a uma camada separada de informação. A rede inicial era, então, uma rede multilayer cujas camadas foram todas comprimidas e cujas informações respectivas foram apagadas. Desta maneira o Gephi aplicou um algoritmo que considerou todos os dados da mesma maneira. Ao reinjetar informações alternativas nesta rede, porém, podemos – aos poucos, por tentativas e erros – encontrar formulações mais precisas para a dinâmica de formação. Encontramos também variáveis que não são adequadas para entender a estrutura dos dados.

O que tem a ver com arqueologia? Bem, na maioria dos casos, o arqueólogo encontra uma rede montada pela superposição de diversas camadas. E os agrupamentos de vestígios em uma camada não correspondem necessariamente aos agrupamentos de outra camada. Quero dizer, os lugares mudam de função o tempo todo, e extrapolar as informações de um extrato arqueológico para os outros é um exercício perigoso. Assim, como nesta rede social, o arqueólogo trabalha com comunidades de dados formadas por processos diferentes. Por isso, é importante definir variáveis mais e menos relevantes para cada uma delas. Quando é possível. Raramente. Mas tentamos assim mesmo.

Próxima vez, tentaremos quantificar tudo isso.