Un sistema complesso è costituito da una pluralità di attori che interagiscono tra di loro mediante semplici regole. Si ha il fenomeno dell'emersione quando le interazioni a livello locale producono una complessità organizzata a livello globale. Quando il tutto è più della somma delle parti.
Spesso gli animali (incluso l'uomo) si muovono in gruppo generando un comportamento emergente. Un tipico esempio è lo stormo di uccelli. Ogni volatile segue tre semplici regole locali:
Il risultato, inaspettato, è quello di un'unica entità che si muove nell'aria, cambiando sovente forma. Questo comportamento di gruppo è tipico anche di altri animali come formiche, api, termiti, pesci e uomini (folle). Qui una simulazione.
Semplici regole producono un risultato complesso. La biologia può essere vista come una proprietà emergente delle leggi della chimica che, a loro volta, possono essere visti come una proprietà emergente della fisica delle particelle. Allo stesso modo, la psicologia potrebbe essere intesa come una proprietà emergente della neurobiologia, e l'economia come una caratteristica emergente della psicologia.
L'aspetto interessante dei sistemi complessi è che non esiste un centro che regola il comportamento del sistema; al contrario, gli attori si muovono in autonomia e hanno una conoscenza locale del solo contesto che li circonda. Spesso le interazioni tra gli attori vengono modellate attraverso una struttura a grafo detto rete complessa. Esempi di reti complesse sono: Internet, Web, reti sociali, reti biochimiche e reti neurali.
Per esempio, nella rete complessa di Twitter i nodi sono gli utenti della rete sociale e esiste un arco orientato dal nodo A al nodo B se l'utente A è un seguace di B. Gli utenti di Twitter operano con regole di una semplicità disarmante: cinguettano in autonomia, al più ispirati dal ristretto numero di utenti che seguono. I 140 caratteri di un cinguettio, moltiplicati per la moltitudine di utenti e veicolati attraverso la rete complessa sottostante, possono trasformarsi in fenomeni globali, quali opinioni, mode, rivoluzioni.
Sharon Molloy
"My quest is to reveal how everything is interconnected. From the atom to the cell, to the body and beyond into society and the cosmos, there are underlying processes, structures and rhythms that are mirrored all around and permeate reality. I attempt to visualize 'the molecular process of revolution'; how one small thing leads to another and larger patterns emerge. (...) This work embraces the multiple, the network, the paradoxical and the idea that even the smallest gesture or event has significance, and the power to change everything." (Sharon Molloy)
Come può l'arte generativa servirsi dei sistemi complessi? L'artista generativo mira ad una bellezza inaspettata, investigando processi tipici del mondo organico attraverso l'uso di semplici regole provenienti dal mondo della logica e della matematica. Sistemi complessi abbondano in natura (oltre che nel mondo della tecnologia, dell'informazione, e della società umana). I sistemi complessi, inoltre, sono in grado di produrre un risultato complesso a partire da semplici regole di interazione. E' tale complessità che desta la sorpresa, e può produrre un risultato esteticamente interessante.
La tecnica della casualità organica (rumore di Perlin) si basa su aspetti non deterministici legati al caso. Un sistema complesso, invece, è perfettamente deterministico: ogni stato del sistema è ottenuto a partire dallo stato precedente applicando delle regole logiche alle componenti. Il comportamento del sistema è però talmente intricato che il risultato è imprevedibile, quasi fosse casuale (in realtà in filosofia si parla di caso anche quando le cause esistono ma sono sconosciute).
"The distinction that's new, and that we didn't used to make, is that something can be deterministic but not predictable. We tend to think they are synonyms but they're not. Something can be obeying some law of nature but it's not predictable because what it's doing is so complicated that the time it would take you to calculate what it was going to do would take longer than the thing actually doing it. So you could compute it but you can't compute the world any faster than it is happening." (Rudy Rucker)
Il contributo artistico della macchina sta nel gestire al meglio delle proprie capacità la complessità computazionale del sistema. L'aspetto delle complessità computazionale di un sistema complesso è critico e l'artista programmatore deve fare la sua parte. Vi sono due fonti di complessità: (i) il numero di attori del sistema, generalmente elevato; (ii) la necessità di gestire efficientemente l'interazione tra ogni attore con tutti gli altri (in un tempo inferiore a 1/60 di secondo se si tratta di animazioni al fine di mantenere fluido il movimento). Dunque l'artista generativo deve essere un buon programmatore che conosce e sceglie strutture di dati e metodi efficienti (!).
Un sistema complesso, infine, si presta bene ad essere realizzato usando la programmazione orientata agli oggetti: ogni attore viene rappresentato da un oggetto appartenente ad una classe che ne descrive le caratteristiche (campi) e i comportamenti (metodi).
Vediamo un paio di esempi di sistemi complessi: