Theory of Complexity Kevin McGuire kevin@mcguire.name 80% computer scientist / 20% artist.

Post on 01-Jan-2016

231 views 0 download

Tags:

Transcript of Theory of Complexity Kevin McGuire kevin@mcguire.name 80% computer scientist / 20% artist.

Theory of Complexity

Kevin McGuirekevin@mcguire.name

80% computer scientist / 20% artist

Say ‘No’ to Random

Last year I presented a paper about a simple system for music (arpeggio) generation

Remarked most arpeggio programs give a few simple algorithms plus a random one

Showed you could derive more complex results with simple system and no random number generator

I subtitled it Say ‘no’ to Random

Say ‘no’ to Yellow?

Matthew Lewis of ACCAD at Ohio State remarked,

“Kevin, when you say, Say ‘no’ to random to some its like you’re saying, Say ‘no’ to yellow

Which is to say, randomness is a valid and essential part of the creative process.

Why Does Kevin Hate Random Number Generators? I don’t so much hate them… As I find them overused, or misused

A (very) brief history of Chance in Music 18th and early 19th century Musikalisches

Würfelspiel (musical dice game) The mid-1900’s saw the establishment of aleatoric (or

‘chance’) music, defined as “music in which some element of the composition is left to chance or some primary element of a composed work's realization is left to the determination of its performer(s)” [2].

Merce Cunningham’s use of dice throwing just prior to a performance to determine the order of the choreography, costumes, lighting, décor, and music

John Cage used very sophisticated techniques beyond that of simply throwing dice

Brian Eno’s Oblique Strategies

Uses of Randomness

Produce surprise Remove some decision making Add complexity, variety

Chance can be used to further the creative process New insights, new solutions can appear

Approaches to Complexity

What do we mean by complexity and randomness? One sometimes ends up discussing the apparent

complexity of an artifact But then to understand this better we need to

understand: Perception

How our senses encode could affect what complexities we more or less easily perceive

Cognition Cultural context, learning, etc.

Lots of Challenges

Extremely important subjects! But not easy to understand Faced with contradictions

Things that look complex (e.g. fractals) can be quite easy to generate

The Complexity Reader ™

ComplexityReader

Notions of Complexity and Randomness It became clear that different disciplines have

different notions of complexity and randomness Architecture, industrial design, visual arts, craft, music,

computer science I thought it would very helpful if we as a community

could share these definitions and hopefully come to a more complete understanding

I thought I would start! The Computer Science perspective…

But do we really need randomness?

Produce surprise Not required if the generative process is sufficiently rich

Remove some decision making One ‘decides’ at a higher level, accept the details

Add complexity, variety Not required if the generative process is sufficiently rich

Example of Information Content

Want to transmit to you the string, “123123123123123123123123123123”

Seems long! “Hmmm but that’s just “123” repeated 10x! Or is it “123123” repeated 5x? “123123123123123” repeated 2x? Which is more right?

Algorithmic Complexity

Kolmogorov Complexity defines the complexity of a string as being the smallest Turing machine (think program) capable of producing the string

So “123” repeated 10x is the shortest way to express it That’s its information content Because it’s the easiest way of getting it back Note: only of theoretical interest

Its a Generative Approach!

It doesn’t matter if it looks complex Only if it was complicated to make it (lets pause and consider that for a moment)

What it Means to be Random

Random numbers are numbers where the shortest Turing machine for producing them is, in fact, the number itself

There’s no discernable structure, no shorter way of encoding it

Random Number Generators Aren’t Random Random number generators aren’t random (termed

pseudo random) They simply produce a sequence of numbers which

are well distributed probabilistically Run it again with same seed, you get same sequence All are relatively simple functions Thus their computational complexity is low Random number generators produce simple results

Random Number Generators Considered Harmful As a designer, an artist, I want to make use of

everything I know: my aesthetic sense, my cultural learnings, my formal training, intuition…

Thus I need to control the system to some degree to express that and approach my goals

With randomness, how do you get the result you wanted? Pick from N results (manual, fitness functions, etc) Reduces predictability But that predictability is required for us to navigate the

space of possibilities You become a shopper © Celestino Soddu 2006

Stuck on Structure

I’m all about the structure, process Given this grammar, what’s the space of expression? What’s in, what’s out? How do the rules combine to produce variety?

Inherent beauty and marvel of the intricacies of the system

It’s a legitimate and fun endeavour to explore these systems

But random number generators get in the way of that Guidance becomes more complex (e.g. goal functions) Can’t tell if the complexity is coming from the generative

system or the randomness

Big on Expressiveness

How do we ensure that the generative systems remain expressive?

How do we ensure that the artist/designer can encode humanity in the result?

Can we use the process like one uses a musical instrument? Takes time to get good at Explore the space of what you can express with it

Complexity without Randomness

Simple L-System

S=F

F=F[-F]F[+F]F

Add rules to make ambiguous

S=F

F=F[+F]F[-F]F

F=F[+F] F

F=F[-F] F

Random Results

What if just Picked Each in Turn?

S=F

F1=F[+F]F[-F]F

F2=F[+F] F

F3=F[-F] F

{1, 2, 3, 1, 2, 3, …}

Longer Sequences

S=F

F1=F[+F]F[-F]F

F2=F[+F] F

F3=F[-F] F

{3, 3, 2, 2, 1, 1, 2, 2, 3, 3}

Your telephone number mod 3…

Splat (2000)

Macroscopic Control with Free Microscopic Variety

Bug Art – Steven R. Kutcher

Observations

You can get results that look random by adding just a small amount of information

That’s because the generative process is quite rich A random number generator is overkill Plus it interferes with our ability to explore how the

rules interact to produce variety What if result was close but not quite what you

wanted? They obscure the inherent beautiful complexity of the

system We mistakenly attribute the complexity to the random

number generator

Conclusions

It is difficult to discuss complexity because we have many definitions

Two approaches to complexity:1. What it looks like (experiential) – this is complicated

because must understand perception, cognition, etc.2. How it was made (algorithmic) – this is complicated by

the fact that difficult or impossible to analyze It would be beneficial if we could come to a better

shared understanding and terminology It would be fantastic if someone from the visual arts

could present that world’s notions of complexity, someone from cognitive science, …

Conclusions (2)

Use of randomness is a valuable tool in the creative process

But simple systems are able to produce complex, surprising results without the need for random number generators

This allows us to more directly explore the system Understand how rules combine so can drive the

process, achieve intended results There are an infinite number of computable functions

in the world. When you’re looking to explore a generative system, don’t always reach for the random number generator, try a different one!