Categories
Generative Art

Hacking

I was relieved to read Paul Graham’s description of writing code in the debugger: that’s how I write code. I’ve also recently enjoyed thinking up code then writing it once I know what I want to write, which is more the case with Literate Programming.
Hacking is fun. It’s the same deep, where-does-the-time-go engagement as making art. But contrary to what Neal Stephenson says, there’s more than one way of doing it.

Categories
Generative Art

Stimuli

Programs are stimuli for computers.
Categories
Generative Art

Harold Cohen Talk at Tate Modern

Harold Cohen is giving a talk at Tate Modern on Tuesday 27th April at 6.30pm
http://www.tate.org.uk/modern/eventseducation/cohen.htm

Categories
Generative Art

Creativity

Work like Gips & Stiny’s hand painted shape grammars or Harold Cohen’s AARON is creative, as the problems and solutions are identified in the creation of the work and the resulting style is necessary and historically unprecedented. H-creative, in Margaret Boden’s terminology.

Categories
Generative Art

Creativity (Not)

The fact that some programs can produce variations on existing styles (usually Kandinsky or Mondrian) does not show that programs can be creative. The mechanisation of an existing style in humans shows a lack of creativity. The creation of new styles (the discovering and solving of new problems) is the hallmark of creativity, as long as the results are Realistic for the conditions of their production.

Categories
Generative Art

Proofs

One advantage of using programs to make art is that the results are “proofs” of the theory of artistic production embodied in the program. Like the proofs of a mathematical theory, or the proofs of an etching. Or like an aesthetic Turing test, if a human being can’t tell the difference between a drawing made by a program and one made by another human being, the program has been proven to be successfully reproducing a human level of artistic production.

Categories
Generative Art

ae In Progress

Here’s an example of the (very basic) current output from ae, a program I’m writing as a proof-of-concept for the generative principles I mentioned in an earlier posting:

Aesthetic:
Criterion: emotional Property: medium chroma Weight: -0.990090351373
Criterion: environmental Property: triangle Weight: -0.92098300276
Criterion: environmental Property: smooth Weight: 0.464487999345
Criterion: perceptual Property: pale Weight: -0.42954300998
Criterion: cultural Property: very large Weight: 0.52576391209
Criterion: political Property: oval Weight: -0.824683353734
Criterion: spiritual Property: star Weight: 0.332525761786
Criterion: emotional Property: scribbled Weight: 0.389517234695
Criterion: historical Property: scribbled Weight: -0.394053851375
Criterion: emotional Property: purple Weight: 0.657695420143
Image:
Figure: Property: smooth Weight: 0.77514274481 Property: medium sized Weight: 0.804924205912 Property: very small Weight: 0.134779215508 Property: small Weight: 0.998254223669 Property: square Weight: 0.877359494311 Property: triangle Weight: 0.770580597379
Figure: Property: rough Weight: 0.294859738413 Property: smooth Weight: 0.386463663764
Figure: Property: medium sized Weight: 0.257203904622 Property: very large Weight: 0.823282759862 Property: grainy Weight: 0.500935480986
Figure: Property: very large Weight: 0.238379999714 Property: medium chroma Weight: 0.226417026224 Property: large Weight: 0.28003655038 Property: smooth Weight: 0.640733831832 Property: pale Weight: 0.0949973486808 Property: scribbled Weight: 0.306013047604 Property: red Weight: 0.3334115855
Figure: Property: spiral Weight: 0.225828900109 Property: dark Weight: 0.67675402324 Property: oval Weight: 0.00497709246932 Property: small Weight: 0.66997465332
Figure: Property: circle Weight: 0.861863092243
Figure: Property: very small Weight: 0.511500266605 Property: star Weight: 0.633589779492 Property: scribbled Weight: 0.857063666956
Figure: Property: rich Weight: 0.764279205804 Property: smooth Weight: 0.933009749928 Property: line Weight: 0.440738562043 Property: star Weight: 0.319753143385 Property: very small Weight: 0.703559370589 Property: medium sized Weight: 0.110725644256 Property: bright Weight: 0.684350809239 Property: rough Weight: 0.938225240413
Evaluation: environmental – smooth -> 0.360044502743
Evaluation: environmental – triangle -> -0.709691632443
Evaluation: environmental – smooth -> 0.179507734001
Evaluation: cultural – very large -> 0.432852364581
Evaluation: cultural – very large -> 0.125331601214
Evaluation: emotional – medium chroma -> -0.224173313051
Evaluation: environmental – smooth -> 0.29761317566
Evaluation: perceptual – pale -> -0.0408054470924
Evaluation: emotional – scribbled -> 0.119197356083
Evaluation: historical – scribbled -> -0.120585619979
Evaluation: political – oval -> -0.00410452530944
Evaluation: spiritual – star -> 0.210684924085
Evaluation: emotional – scribbled -> 0.33384106951
Evaluation: historical – scribbled -> -0.337729238838
Evaluation: environmental – smooth -> 0.433371832113
Evaluation: spiritual – star -> 0.106326157588
Score: 1.16168094087

Categories
Generative Art

Creative AI

Margaret Boden described true, historically-unprecedented creativity (“H-Creativity”) as adding an additional dimension to the search space (I think – I’m paraphrasing badly here). Everyone should read “The Creative Mind”, especially me as I can’t remember the section I want to quote from. 🙂

Edward DeBono describes creativity as “making novel associations” IIRC, and came up with a theory of how this works in the 1960s. I recommend “Serious Creativity” as a good introduction to his work. His techniques will be familiar to the artificial creativity researcher: random association, conceptual slippage, working backwards, etc., but he describes them for human beings to use rather than AIs.

Douglas Hofstadter describes a system that build, rebuilds, analyses and operates on its own descriptions of its problem space in “Fluid Analogies”.

There is no reason why we cannot create an AI (or whatever) that combines these approaches. If we take a set of weighted low-level concepts (like role-playing game skills: strong 75, blue 11, breakable 4, bendy 120), assemble sets of them to describe concepts, map these onto points in the search space and then allow the search space and the concepts to be modified we’re away. The Tony Buzan book with the 40,000 concept personal memory system indexed on what look like AOL passwords might be a good model for a re-mappable memory space that allows novel associations.

So how do you modify the search space? How do you add an extra dimension? Well, it depends what you regard as a dimension. And there’s the problem that creating new state spaces to search becomes a state space search for state spaces, at which point I have to confess that there’s no escape. 🙂 Two schemes for adding dimensions spring to mind. The first is just to encode the entire state space in a one-dimensional array. Extra dimensions become extra slices of the array, which is grown to accommodate them. The other is to take the “a bicycle is seven dimensional object” view and declare the search space’s dimensions to be the combinations of atomic concepts that values can be assigned to. It’s easy to see how to change the dimensions in this scheme, even if to a non-mathematician like me it feels like cheating. 🙂

Categories
Generative Art

Processing

Dave Bausola recommended “Processing” to me. Processing is the sequel to DBN, and if you know java or JavaScript/ActionScript you already know it. Ed from Soda is using it to write moovl, the sequel to SodaPlay.
I’ve had it on my hard disk for a while now but I’d not really had a look at it. It took me all of an hour to be writing three-dimensional animations in it this evening. I’ll be converting The Cybernetic Artwork Nobody Wrote to Processing, and I think I’ll do Ghosts/Subjects using it as well.
Processing

Categories
Generative Art

Grafittibot

I love this grafitti-drawing spraycan robot:
Hektor
It’s like a grunge version of AARON.
Art & Language’s idea that painting could be justified if its products couldn’t be created any other way applies to drawing machines as well. There are scales and complexities a human being couldn’t draw at speed (Nobson Newtown being a case in point) but that might be relevant to a contemporary realism. A drawing machine could achieve this and allow a more iterative creative process rather than a painstaking postconceptual rendering ritual.