Você está na página 1de 10

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F.

Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

Conceitualização
1. Introdução ............................................................................................................ 2
2. Conceitos vinculados à Computação Natural ...................................................... 2
2.1. Modelo e simulação computacional ............................................................ 2
2.2. Clusterização ou agrupamento..................................................................... 3
2.3. Multimodalidade e ótimos locais................................................................. 3
2.4. Funcional ..................................................................................................... 4
2.5. Reducionismo × Holismo ............................................................................ 4
2.6. Sistemas ....................................................................................................... 5
2.7. Sistema complexo........................................................................................ 6
2.8. Redes complexas ......................................................................................... 7
2.9. Auto-organização......................................................................................... 8
2.10. Ordem, organização e entropia .................................................................. 12
2.11. Abordagens bottom-up e top-down ........................................................... 14
2.12. Homeostase e heterostase .......................................................................... 15
2.13. Aprendizado versus adaptação .................................................................. 17
2.14. Automático versus autônomo .................................................................... 18
2.15. Estigmergia ................................................................................................ 19
2.16. Agentes ...................................................................................................... 20

Tópico 2 – Conceitualização 1

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

1. Introdução
• Este tópico do curso envolve a apresentação de vários conceitos vinculados à
computação natural, úteis no posicionamento dos tópicos do curso em contextos
mais amplos e material de apoio para os demais tópicos.
• Esta apresentação de conceitos não deve ser entendida como completa ou não-
viesada, e não dispensa leituras adicionais que a complementem.

2. Conceitos vinculados à Computação Natural


2.1. Modelo e simulação computacional
• Um modelo é uma descrição simplificada da realidade, normalmente utilizando a
linguagem matemática (equações e formas algébricas).
• Os modelos matemáticos podem ser utilizados para a simulação computacional de
fenômenos naturais, por exemplo.

Tópico 2 – Conceitualização 2
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.2. Clusterização ou agrupamento


• O objetivo da clusterização é realizar um agrupamento de dados (divisão em
classes distintas) de tal modo que seja minimizada a distância intra-grupo e seja
maximizada a distância inter-grupos.
• Fuzzy clustering: a pertinência dos dados a cada grupo é gradual, podendo variar
no intervalo real [0,1].
• Clusterização hierárquica: aplicação recursiva de processos de clusterização.

2.3. Multimodalidade e ótimos locais


• Ótimo local é um ponto no espaço de busca que apresenta o melhor valor do
funcional dentre todos os pontos em uma vizinhança.
• Uma função é multimodal quando ela apresenta múltiplos ótimos locais.
• Existem aplicações em que se busca apenas a melhor solução (ótimo global) e
outras aplicações em que a proposição de soluções alternativas é desejada.

Tópico 2 – Conceitualização 3

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.4. Funcional
• Toda função que recebe múltiplos argumentos e retorna um índice numérico
associado a esses argumentos pode ser chamada de funcional.
• Exemplos: índice de desempenho, função-custo, função-objetivo.

2.5. Reducionismo × Holismo


• O princípio geral do holismo foi proposto por Aristóteles: “O todo é mais que a
soma de suas partes”.
• Neste caso, as propriedades de um sistema complexo não podem ser determinadas
pelo simples conhecimento das propriedades de seus componentes.
• Exemplo: uma figura arbitrária em um arquivo bitmap não pode ser descrita pelas
propriedades dos bits que a compõem.
• O holismo sustenta boa parte da teoria da complexidade e está por trás do conceito
de emergência em sistemas complexos.

Tópico 2 – Conceitualização 4
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Já o reducionismo pode ser visto como a visão oposta do holismo, afirmando que
um sistema complexo pode ser explicado pelo processo de redução às suas partes
constituintes fundamentais.
• Exemplo: uma figura arbitrária em um arquivo metafile pode ser descrita pelos
objetos geométricos que a compõem.
• Holismo e reducionismo podem assim ser vistos como conceitos complementares
e, portanto, ambos se mostram úteis na formalização do conhecimento sobre
sistemas complexos

2.6. Sistemas
• Um sistema pode ser definido como um agrupamento coerente de componentes
que operam como um todo e que apresentam uma individualidade, ou seja, se
distinguem de outras entidades por fronteiras reconhecíveis. Há muitas variedades
de sistemas, as quais podem ser classificadas em 3 grandes grupos:

Tópico 2 – Conceitualização 5

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

1. quando as interações de seus componentes são fixas. Ex: máquina.


2. quando as interações de seus componentes são irrestritas. Ex: gás.
3. quando existem interações fixas e variáveis de seus componentes. Ex: célula.

• Os sistemas de maior interesse são aqueles pertencentes à classe 3, já que


dependem da natureza e forma das interações de seus componentes ao longo de
sua existência. Assim, o sistema vai apresentar um novo comportamento sempre
que componentes forem adicionados, removidos ou rearranjados, ou então sempre
que houver modificação nas interações.

2.7. Sistema complexo


• Um sistema complexo pode ser caracterizado como o resultado da auto-
organização de componentes sob forte interação, produzindo estruturas sistêmicas
cujas propriedades geralmente não estão presentes em nenhum de seus
componentes, já que estas dependem de níveis mais elevados de organização.

Tópico 2 – Conceitualização 6
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• A teoria da complexidade procura explicar como as interações das partes


conduzem a um comportamento global emergente.
• Esse comportamento emergente pode ser sinergético, no sentido de que o trabalho
ou esforço coordenado de vários subsistemas é empregado na realização de uma
tarefa complexa.
• Sob a hipótese de existência de múltiplos componentes que estabelecem interações
variadas, o efeito das interações impede que o conhecimento dos componentes leve
ao conhecimento do sistema como um todo.
• Exemplos de sistemas complexos: colônia de formigas, sistema econômico, clima,
sistema nervoso.

2.8. Redes complexas


• São grafos que apresentam algumas propriedades específicas, como o atendimento
da lei de potência (existem muito poucos nós muito conectados e muitos nós pouco
conectados) e da condição de mundo pequeno (o comprimento médio do caminho
Tópico 2 – Conceitualização 7

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

entre quaisquer dois nós tende a ser pequeno, mesmo que o número de nós seja
muito grande e que a densidade de conexões seja baixa).
• Praticamente todas as rede naturais já modeladas são redes complexas: redes
sociais, redes econômicas, redes metabólicas, redes gênicas, redes tróficas, a rede
mundial de computadores.

2.9. Auto-organização
• O estudo de sistemas auto-organizados é recente, embora a humanidade tenha
sempre se ocupado com questões vinculadas à origem de sistemas organizados.
• As formas que podem ser observadas no mundo à nossa volta representam apenas
uma pequena parcela de todas as formas possíveis. Logo, por que não existe mais
variedade?
• Para procurar respostas a questões como esta é que se estuda sistemas auto-
organizados e teoria da complexidade.

Tópico 2 – Conceitualização 8
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Exemplos de sistemas naturais que apresentam organização: galáxias, planetas,


componentes químicos, células, organismos, sociedades.
• Existem campos de atuação científica que procuram explicar a auto-organização
recorrendo a propriedades e leis aplicáveis às partes constituintes (componentes)
de um sistema organizado específico.
• No entanto, a auto-organização pode ser abordada de modo completamente
distinto, recorrendo-se às propriedades e leis comuns a todos os sistemas
organizados, independente de suas particularidades.
• Neste caso, a atual disponibilidade de recursos computacionais é fundamental para
viabilizar a investigação dos processos envolvidos, através de simulações que
envolvem um grande número de etapas e uma grande variedade de parâmetros e
condições iniciais.

Tópico 2 – Conceitualização 9

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Mesmo assim, o estudo está restrito a fenômenos (concretos ou abstratos) que são
facilmente reprodutíveis, os quais certamente representam um subconjunto de
todos os fenômenos possíveis.
• A reprodução em computador de fenômenos auto-organizados tem levado à
geração de teorias que procuram descrever sistemas complexos e sua organização
espontânea (sistemas parcialmente decomponíveis).
• A essência da auto-organização está no surgimento de estrutura (formas restritas)
e organização sem que estas sejam impostas de fora do sistema. Isto implica que
este fenômeno é interno ao sistema, resulta da interação de seus componentes e,
em essência, não depende da natureza física destes componentes.
• A organização pode se dar no espaço, no tempo, ou em ambos.
• O que se busca são regras gerais para o crescimento e evolução de estruturas
sistêmicas. Com isso, espera-se poder prever a organização futura que irá resultar

Tópico 2 – Conceitualização 10
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

de alterações promovidas junto aos componentes de um dado sistema, além de


poder estender estes resultados a outros sistemas semelhantes.
• Em geral, os mecanismos estabelecidos pelos componentes de um dado sistema
capaz de expressar auto-organização são: realimentação positiva, realimentação
negativa e interação local.
• É importante buscar respostas (direta ou indiretamente) para as seguintes questões:

 uma vez caracterizadas as regras de interação que irão definir o comportamento


individual de cada componente de um sistema, ao longo do tempo, e que
supostamente permitem desenvolver e manter um processo auto-organizado,
ocorrerá efetivamente algum tipo de auto-organização do comportamento
espaço-temporal?
 se a resposta à questão acima for afirmativa, qual será o padrão emergente, ou
seja, o resultado final da auto-organização?
 dado que existe, na natureza, a formação de padrões espaço-temporais não
devidos a processos auto-organizados, como diferenciar de um processo auto-
organizado?

Tópico 2 – Conceitualização 11

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

 qual é o nível de complexidade local que cada componente deve apresentar para
permitir a emergência da complexidade global observada no sistema?
 o quanto do comportamento observado no agregado é devido ao efeito da ação
individual de cada componente e o quanto é devido à dinâmica do meio?

2.10. Ordem, organização e entropia


• Um papel de parede que apresenta um padrão de repetição tende a apresentar mais
ordem espacial que uma pintura. No entanto, a pintura tende a apresentar mais
organização espacial.
• Um som de alarme tende a apresentar mais ordem temporal que uma música. No
entanto, a música tende a apresentar mais organização temporal.
• Um cristal tende a apresentar mais ordem que uma célula. No entanto, a célula
tende a apresentar mais organização.

Tópico 2 – Conceitualização 12
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Objetos estão dispostos no tempo e/ou no espaço de forma ordenada se eles


seguem um regra específica de disposição temporal e/ou espacial.
• Objetos estão dispostos no tempo e/ou no espaço de forma organizada se eles
contribuem em conjunto para produzir alguma funcionalidade.
• Idéias podem estar logicamente ordenadas (para efeito de apresentação seqüencial)
ou logicamente organizadas (para efeito de sustentação de uma linha de
argumentação).
• O conceito de entropia não deve ser diretamente associado aos conceitos de
desordem ou desorganização, pois existem situações (embora raras) em que há
aumento de entropia juntamente com um aumento de ordem e/ou organização.
• A entropia, em termodinâmica, mede o grau de dispersão de energia de um
sistema, ou seja, a razão entre a energia não-utilizável e a energia utilizável de um
sistema.

Tópico 2 – Conceitualização 13

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• A entropia, em teoria de informação, mede a quantidade de informação contida em


uma variável aleatória.

2.11. Abordagens bottom-up e top-down


• Na descrição de um sistema, uma abordagem top-down envolve considerar
inicialmente o sistema como um todo e partir então para uma especificação
genérica dos módulos que o compõem. Subseqüentemente, a descrição desses
módulos é refinada, possivelmente recorrendo à partição deles em sub-módulos, os
quais são então detalhados, até atingir os elementos básicos do sistema.
• Na descrição de um sistema, uma abordagem bottom-up envolve considerar
inicialmente a descrição detalhada dos elementos básicos que o compõem. Esses
elementos básicos são então agregados, possivelmente em vários níveis, até que
uma descrição completa do sistema seja obtida.
• Um sistema especialista baseado em regras para tomada de decisão pode ser
considerado um exemplo de abordagem top-down.
Tópico 2 – Conceitualização 14
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Uma rede neural treinada a partir de exemplos de comportamentos de entrada-


saída, a ser aplicada para tomada de decisão, pode ser considerada um exemplo de
abordagem bottom-up.

2.12. Homeostase e heterostase


• Homeostase é a propriedade de um sistema aberto, especialmente organismos
vivos, de regular seu estado interno visando manter um “ponto de operação” (com
alguma tolerância de variação) por meio de múltiplos ajustes capazes de promover
equilíbrio dinâmico, sustentado por uma complexa rede de mecanismos
regulatórios.
• Trata-se então de uma propriedade auto-reguladora de um sistema ou organismo
que permite manter o estado de equilíbrio de suas variáveis essenciais ou de seu
meio ambiente.
• Há controvérsia sobre o primeiro aparecimento do termo na literatura. Alguns
autores afirmam que o primeiro registro ocorreu com a publicação do trabalho de
Tópico 2 – Conceitualização 15

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

Cannon em 1929 e outros defendem que o termo homeostase foi completamente


caracterizado por Ashby em 1960.
• Independente de sua origem, existe o consenso de que o processo de homeostase
está estreitamente ligado ao equilíbrio do sistema ou organismo e requer uma
quantidade de receptores sensoriais especializados em detectar mudanças. No caso
do corpo humano, esses receptores dão início a repostas específicas nos sistemas
nervoso, imunológico e endócrino, os quais são os principais sistemas envolvidos
diretamente com o processo de homeostase.
• Existem estudos que apontam para a existência de um outro fenômeno biológico
contrário a homeostase, chamado de heterostase. Este termo foi criado por Klopf
em 1982, mas ainda carece de melhor embasamento para ganhar plena aceitação
junto à comunidade científica. Basicamente a heterostase descreve um tipo de
comportamento que acredita-se existir na natureza em organismos que procuram
estímulos constantemente, pela fuga temporária do equilíbrio.

Tópico 2 – Conceitualização 16
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.13. Aprendizado versus adaptação


• O processo de aprendizagem está associado com a aquisição de novos
conhecimentos, desenvolvimento de competências e mudança de comportamento.
• Segundo Piaget, o aprendizado envolve assimilação (incorporação de elementos
exteriores) e acomodação (modificação em função das particularidades de quem
assimila). Há a necessidade então de um equilíbrio cognitivo: se só houvesse
assimilação, o indivíduo perderia sua capacidade de diferenciação, enquanto que se
só houvesse acomodação, o indivíduo perderia sua capacidade de generalização.
• No tocante à expressão de comportamento, é possível vincular aprendizado a
condicionamento, pela apresentação ou prática repetida de pares estímulo-resposta.
• Percebe-se, então, que o aprendizado leva à adaptação de comportamento, mas
adaptação é um conceito menos genérico que aprendizado.
• Sistemas adaptativos geralmente têm associados a si regras simples e diretas de
ajuste de parâmetros, permitindo respostas rápidas a novas circunstâncias.

Tópico 2 – Conceitualização 17

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.14. Automático versus autônomo


• Um sistema automático é auto-regulado, mas a ele são impostas as regras que
conduzem a esta auto-regulação.
• Um sistema autônomo é aquele que produz suas próprias regras e estratégias para
regular seu comportamento. Assim, além de ser auto-regulado, ele é auto-
governado.
• Logo, todo sistema autônomo é, antes de tudo, automático, mas não o contrário.
• Por exemplo, em controle autônomo de robôs, um robô deve ser capaz de obter
informações de um ambiente desconhecido e atuar no sentido de atender objetivos
básicos, como sobrevivência e cumprimento de tarefas específicas. Como o
ambiente é desconhecido, os cenários que serão enfrentados pelo robô não podem
ser preditos a priori, razão pela qual não é possível definir previamente as regras de
operação do robô. O grande desafio está em como definir as regras de operação on-
line, ou seja, durante a operação em ambientes complexos e dinâmicos.

Tópico 2 – Conceitualização 18
IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

• Todo organismo vivo é autônomo, pois ele desenvolve e mantém sua estrutura
interna e seu funcionamento através de mecanismos como auto-organização,
evolução, adaptação e aprendizado.
• Pode-se pensar também em graus de autonomia de um sistema.

2.15. Estigmergia
• Grassé em 1959 introduziu o conceito de estigmergia para se referir à forma
coordenada de construção do ninho dos cupins do gênero Macrotermes.
• Ele percebeu como os cupins atuam de forma independente em uma estrutura sem
se comunicar diretamente uns com os outros.
• O conceito de estigmergia fornece um mecanismo geral que relaciona
comportamentos individuais e globais: um comportamento individual modifica o
ambiente que resulta em um novo comportamento individual modificado.
• Sendo assim, o ambiente media a comunicação ou interação entre os indivíduos, ou
seja, existe uma forma de interação indireta entre os indivíduos.
Tópico 2 – Conceitualização 19

IA013 – Introdução à Computação Natural – Profs. Fernando J. Von Zuben & Romis R. F. Attux
DCA/FEEC/Unicamp & DECOM/FEEC/Unicamp

2.16. Agentes
• Existem muitas definições para agentes, além de usos abusivos do termo. Esse
termo tem sido utilizado para referenciar qualquer coisa entre uma subrotina de um
programa computacional e um ser humano.
• Em ambiente computacional, um agente é uma entidade de software com alguma
capacidade de processar informação.
• Agentes de interesse em um curso de Computação Natural devem apresentar
algum grau de autonomia e identidade (eles devem ser distinguíveis do seu
ambiente por alguma fronteira).
• Serão muitos os casos de estudo neste curso que envolvem comportamento
coletivo, em que entidades simples e similares interagem na produção de
comportamentos complexos.

Tópico 2 – Conceitualização 20