theory of complexity kevin mcguire [email protected] 80% computer scientist / 20% artist

29
Theory of Complexity Kevin McGuire [email protected] 80% computer scientist / 20% artist

Upload: amber-campbell

Post on 01-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

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

Theory of Complexity

Kevin [email protected]

80% computer scientist / 20% artist

Page 2: Theory of Complexity Kevin McGuire kevin@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

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

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.

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

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

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

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

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

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

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

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.

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

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

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

The Complexity Reader ™

ComplexityReader

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

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…

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

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

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

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?

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

Random Results

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

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, …}

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

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…

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

Splat (2000)

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

Macroscopic Control with Free Microscopic Variety

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

Bug Art – Steven R. Kutcher

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

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

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

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, …

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

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!