
L'arte algoritmica è un'arte, per lo più visiva, in cui il design è generato da un algoritmo. Gli artisti che praticano questa arte sono talvolta chiamati algoristi. Viene creata sotto forma di dipinti e sculture digitali, installazioni interattive e composizioni musicali.
L'arte islamica condivide con l'arte algoritmica il fatto di seguire una serie di regole per creare pattern. La tessitura (una pratica ancora più antica) include elementi di arte algoritmica.
Con lo sviluppo dei computer si è evoluta anche l'arte creata con essi. L'arte algoritmica incoraggia la sperimentazione, consentendo agli artisti di spingere la propria creatività nell'era digitale. L'arte algoritmica consente ai creatori di ideare pattern e disegni intricati che sarebbero quasi impossibili da realizzare a mano. I creatori hanno voce in capitolo sui criteri di input, ma non sul risultato.

L'arte algoritmica, nota anche come arte generata dal computer, è un sottoinsieme dell'arte generativa (generata da un sistema autonomo) ed è correlata all'arte sistemica (influenzata dalla teoria dei sistemi). L'arte frattale è un esempio di arte algoritmica.
Per ottenere un'immagine di dimensioni ragionevoli, anche gli algoritmi più semplici richiedono troppi calcoli per gli esseri umani e vengono quindi eseguiti su un singolo computer o su un computer cluster. L'output finale viene in genere visualizzato su un monitor, stampato con una stampante di tipo raster o con un plotter. La variabilità può essere introdotta utilizzando numeri pseudo-casuali. Non vi è consenso sul fatto che il prodotto di un algoritmo che opera su un'immagine esistente (o su qualsiasi input diverso dai numeri pseudo-casuali) possa ancora essere considerato arte generata dal computer, in contrapposizione all'arte assistita dal computer.

Alcuni dei primi esempi conosciuti di arte algoritmica generata al computer furono creati da Georg Nees, Frieder Nake, A. Michael Noll, Manfred Mohr e Vera Molnár nei primi anni '60. Queste opere d'arte venivano eseguite da un plotter controllato da un computer, ed erano quindi arte generata al computer ma non arte digitale. L'atto della creazione consisteva nella scrittura del programma, che specificava la sequenza di azioni che il plotter doveva eseguire. Sonia Landy Sheridan fondò un programma didattico chiamato Generative Systems presso la School of the Art Institute of Chicago nel 1970 in risposta al cambiamento sociale portato in parte dalla rivoluzione delle comunicazioni tra computer e robot. Il suo primo lavoro con la fotocopiatrice e l'arte telematica si concentrava sulle differenze tra la mano umana e l'algoritmo.
Roman Verostko (1929-2024, uno dei principali protagonisti del movimento) iniziò a lavorare con algoritmi negli anni ’80. È famoso per i suoi “plotter drawings”, opere tracciate da macchine plotter controllate da software scritto da lui stesso. Ha sviluppato un algoritmo personale, chiamato Hodos (“via” o “percorso” in greco), per generare arte visiva.
Verostko ha sostenuto che i motivi geometrici islamici sono costruiti utilizzando algoritmi, così come i dipinti rinascimentali italiani che fanno uso di tecniche matematiche, in particolare la prospettiva lineare e la proporzione.
Oltre al lavoro di Roman Verostko e dei suoi colleghi algoristi, i successivi esempi noti sono le opere d'arte frattali create tra la metà e la fine degli anni '80. Queste opere sono importanti in questo contesto perché utilizzano un diverso mezzo di esecuzione. Mentre la prima arte algoritmica era "disegnata" da un plotter, l'arte frattale crea semplicemente un'immagine nella memoria del computer; è quindi arte digitale. La forma nativa di un'opera d'arte frattale è un'immagine memorizzata su un computer (questo è vero anche per la maggior parte dell'arte algoritmica più recente in generale). Tuttavia, in senso più stretto, l'"arte frattale" non è considerata arte algoritmica, perché l'algoritmo non è ideato dall'artista.
Alla luce di tali sviluppi in corso, l'artista Ernest Edmonds (pioniere dell'arte algoritmica) ha documentato il ruolo dell'arte nelle relazioni umane ripercorrendo l'associazione tra arte e computer dai primi anni '60 fino all'attualità, in cui l'algoritmo è ormai ampiamente riconosciuto come un concetto chiave per la società nel suo complesso.
Sebbene l'arte abbia forti legami con l'emotività e la psicologia dell'artista e del pubblico, dipende anche da approcci razionali. Gli artisti nel corso della storia hanno utilizzato vari strumenti, teorie, effetti visivi e tecniche per poter creare opere d'arte innovative e accattivanti per il pubblico. Ad esempio, Georges Seurat ha inventato il puntinismo, una tecnica pittorica che prevede il posizionamento di punti colorati complementari adiacenti l'uno all'altro. Anche il cubismo e la teoria del colore hanno contribuito a rivoluzionare le arti visive. Il cubismo prevedeva infatti di creare una resa bidimensionale di un oggetto da diversi punti di vista simultaneamente. La teoria del colore, affermando che tutti i colori sono una combinazione dei tre colori primari (rosso, verde e blu), ha anche contribuito a facilitare il loro uso nelle arti visive e nella creazione di effetti artistici. In altre parole, gli artisti hanno sempre trovato modi algoritmici per creare arte. Tali scoperte hanno permesso agli artisti di creare opere d'arte visivamente accattivanti. In questo modo, l'arte si è adattata per diventare più metodologica.
Un altro aspetto importante che ha permesso all'arte di evolversi nella sua forma attuale è la prospettiva che consente all'artista di creare una proiezione bidimensionale di un oggetto tridimensionale. Gli artisti musulmani durante l'epoca d'oro islamica impiegarono la prospettiva lineare nella maggior parte dei loro progetti. La nozione di prospettiva fu riscoperta dagli artisti italiani durante il Rinascimento. La sezione aurea, un famoso rapporto matematico, fu utilizzata da molti artisti rinascimentali nei loro disegni. Il più famoso, Leonardo da Vinci, impiegò questa tecnica nella sua Monna Lisa e in molti altri dipinti, come il Salvator Mundi. Questa è una forma di utilizzo di algoritmi nell'arte. Esaminando le opere degli artisti del passato, emerge quindi un pattern di schemi matematici, principi geometrici e numeri naturali.
Affinché un'opera possa essere considerata arte algoritmica, deve includere un processo basato su un algoritmo ideato dall'artista, il quale può anche selezionare parametri e interagire durante la generazione della composizione. In questo caso, un algoritmo è semplicemente una "ricetta dettagliata" per la progettazione e l'eventuale esecuzione di un'opera d'arte, che può includere codice informatico, funzioni, espressioni o altri input che alla fine determinano la forma che l'arte assumerà. Questo input può essere di natura matematica, computazionale o generativa. Poiché gli algoritmi tendono ad essere deterministici, il che significa che la loro esecuzione ripetuta si tradurrebbe sempre nella produzione di opere d'arte identiche, di solito viene introdotto un fattore esterno. Questo può essere un generatore di numeri casuali di qualche tipo o un insieme esterno di dati (che può variare da battiti cardiaci registrati a fotogrammi di un film).

Alcuni artisti lavorano anche con input gestuali che vengono poi modificati da un algoritmo. Secondo questa definizione, i frattali creati da un programma di generazione di frattali non sono arte, poiché gli esseri umani non sono coinvolti. Tuttavia, definita in modo diverso, l'arte algoritmica può essere vista come comprendente l'arte frattale, così come altre varietà come quelle che utilizzano algoritmi genetici. L'artista Kerry Mitchell ha affermato nel suo Manifesto dell'arte frattale del 1999:
"Algorista" è un termine usato per gli artisti digitali che creano arte algoritmica. Tra gli algoristi pionieristici figurano Vera Molnár, Dóra Maurer e Gizella Rákóczy.
Gli algoristi iniziarono formalmente a comunicare e a stabilire la loro identità come artisti in seguito a un panel intitolato "Arte e algoritmi" al SIGGRAPH nel 1995. I co-fondatori furono Jean-Pierre Hébert e Roman Verostko. A Hébert viene attribuito il merito di aver coniato il termine e la sua definizione, che si presenta sotto forma del suo algoritmo:
if (creation && object of art && algorithm && one's own algorithm) {
return * an algorist *
} else {
return * not an algorist *
}

Gli artisti possono scrivere codice che crea composizioni visive complesse e dinamiche.
Gli automi cellulari possono essere utilizzati per generare pattern artistici con un'apparenza di casualità, o per modificare immagini (come le fotografie) applicando ripetutamente una trasformazione fino a ottenere l'effetto artistico desiderato, ad esempio uno stile impressionista. Il loro utilizzo è stato esplorato anche nella musica.
L'arte frattale consiste in una varietà di frattali generati al computer con colori scelti apposta per dare un effetto attraente. Soprattutto nel mondo occidentale, non viene disegnata o dipinta a mano. Di solito viene creata indirettamente con l'assistenza di software di generazione di frattali, iterando attraverso tre fasi: impostazione dei parametri del software frattale appropriato; esecuzione del calcolo, che può essere lungo; e valutazione del prodotto. In alcuni casi, vengono utilizzati altri programmi di grafica per modificare ulteriormente le immagini prodotte. Questo è chiamato post-elaborazione. Anche immagini non frattali possono essere integrate nell'opera d'arte.
L'arte genetica o evolutiva si avvale di algoritmi genetici per sviluppare immagini in modo iterativo, selezionando ad ogni "generazione" secondo una regola definita dall'artista.
L'arte algoritmica non è prodotta solo dai computer. Wendy Chun (direttrice fondatrice del Digital Democracies Institute presso la Simon Fraser University) spiega:
L'artista americana Jack Ox ha utilizzato algoritmi per produrre dipinti di musica visiva senza l'uso di un computer. Due esempi sono le performance visive di partiture esistenti, come la Sinfonia n. 8 di Anton Bruckner e Ursonate di Kurt Schwitters. Successivamente, lei e il suo collaboratore, Dave Britton, hanno creato il 21st Century Virtual Color Organ che utilizza la codifica e gli algoritmi del computer.
Dal 1996 esistono generatori automatici di ambigrammi.
Studi ed esperimenti in epoca moderna hanno dimostrato che l'intelligenza artificiale, utilizzando algoritmi e apprendimento automatico, è in grado di replicare dipinti a olio; l'immagine prodotta come output appare relativamente accurata e identica all'immagine del dipinto originale. Tali risultati ottenibili nell'arte algoritmica e nell'intelligenza artificiale possono rendere possibile possedere copie di dipinti rinomati, a costi minimi o nulli. Un algoritmo può creare output che riproducono immagini come fotografie, dipinti, eccetera con una precisione dal 48,13% al 64,21%, che sarebbe impercettibile per la maggior parte degli esseri umani. Tuttavia, gli output prodotti dagli algoritmi non sono perfetti e sono soggetti a errori. A volte possono fornire immagini imprecise e non pertinenti con il risultato voluto. Altre volte, possono funzionare completamente male e produrre un'immagine fisicamente impossibile. Tuttavia, con l'emergere di nuove tecnologie e algoritmi più raffinati, la ricerca è fiduciosa sul fatto che gli output potrebbero migliorare molto. Altre prospettive contemporanee sull'arte si sono concentrate fortemente sul rendere l'arte più interattiva. Sulla base del feedback di esperti, critici d'arte e del pubblico, un algoritmo usato per una determinata opera (o gruppo di opere) viene sempre più perfezionato per creare un output il più possibile vicino al risultato voluto. Tuttavia, tali approcci sono stati criticati poiché l'artista non è responsabile di ogni dettaglio dell'opera ma si limita a facilitare l'interazione tra l'algoritmo e l'ambiente in cui viene utilizzato (ad esempio una mostra interattiva) e lo adatta in base al risultato desiderato.
| Categoria | Linguaggio/Ambiente | Tipo di Arte | Esempio
(risultato finale o interfaccia) |
|---|---|---|---|
| Web/Visuale | JavaScript (p5.js, Three.js, WebGL, Canvas) | 2D, 3D, interattiva, astratta | |
| XML (X3D, VRML, ecc.) | |||
| SVG (basato su XML) | 2D, grafica, animazioni, astratta | ||
| HTML/CSS | |||
| GLSL (shader) | Astratta, simulazioni, effetti | ||
| Creativa/Didattica | Processing (Java) | 2D/3D interattiva | |
| Processing.py | 2D/3D | ||
| Generalista/Sperimentale | Python (Pillow, OpenCV, Blender API) | Grafica, data-art, 3D | |
| C/C++ (openFrameworks, Cinder) | Installazioni, 3D real-time | ||
| Musica Algoritmica | SuperCollider | Audio generativo | |
| TidalCycles | Musica generativa/live coding | ||
| ChucK | Audio real-time | ||
| Pure Data/Max/MSP | Musica e multimedia | ||
| Programmazione Visuale | TouchDesigner | Installazioni, VJing, interattività | |
| VVVV | Arte interattiva, mapping | ||
| NodeBox | Grafica 2D | ||
| Funzionali/Matematici | Haskell | Arte generativa complessa | |
| Lisp/Scheme | Generazione formale | ||
| Mathematica | Arte matematica, geometrie | ||
| Hardware/Installazioni | Arduino | Robotica, luci, plotter | |
| Raspberry Pi | Installazioni autonome |
