on procedures & operations: a dialogue with some basic programming concepts sm2220 generative...
Post on 31-Dec-2015
214 Views
Preview:
TRANSCRIPT
On procedures & operations:a dialogue with some basic programming concepts
SM2220Generative Art & Literature
January 23, 2006Linda Lai
I.
Review
20th-C art innovations: generative art & literaturereview of Week 01 discussion
Openness: -Demarcation of art/non-art and the boundary of a work is fluid: stretchable, modifiable, invites participation
Emphasis on Concept-a work of art doesn’t have to be about something in the world out there; it can be about thoughts and abstractions-what is actual what is possible what is virtual
Dematerialized art-Process-oriented-Set of instructions that govern the process of the making of the work
(significance)Role of authorship co-authorship co-creativity
20th-C art innovations: generative art & literaturereview of Week 01 discussion
Serialism as our first examplePermutation / combination
Repetition / variation
Mind-mapping based on the collaboration of divergent thinking and lateral thinking
AutomatismRule-driven-ness
*Execution / the procedures (today’s emphasis)
20th-C art innovations: generative art & literaturereview of Week 01 discussion
[#slide 32-33 from week 01]
TWO kinds of generative systems in 20th-C art history (Diane Kirkpatrick):
(1) Closed generative systems:-fixed pool of elements-in each work a closed analytic structure is set up which becomes a generator for exploration
(2) Organic generative systems:A work begins with creating one word or idea and uses that to generate the next, and the next and so on…(creating generators)
II
Processes & Procedures…:
Conceptual Structured
Generating a possible / virtual work
Shifts–
more humanistic input in the creative process ↓conception↓design of rules and procedures
What is Generative Art?
Generative Art performs the idea as process.
Execution / the procedures
Designing the procedures and the set of instructions becomes the core activities
Algorithms: procedures in computing
Algorithm is the systematic procedures that computer science adopts to final correct solution to complex problems.
Algorithm is a procedure for solving a problem in terms of:
1) the actions to execute
2) the order in which these actions execute
Setting workable procedures…
Generative principles ≠ the technical procedures
Sorting out solutions for a problem ≠ doing the actual scripting with a certain programming language
Algorithms: actions in order
“rise-and-shine algorithm”[source: H.M. Deitel & P.J. Deitel (2005), C++: How to Program 5th edition, p. 121]
(1) Get out of bed
(2) Take off pajamas
(3) Take a shower
(4) Get dressed
(5) Eat breakfast
(6) Drive to workConsider other sequencing possibilities and the qualitative change in
narrative meaning, e.g.:
(1) – (2) – (4) – (3) – (5) – (6)
Algorithms: actions in order
Setting actions in the right order in a computer program is called program control.
“Structured programming”:Concerned with sequential execution, that is, the execution of statements one after the other in the order in which they are written.
Actions in order: Structured Programming
Böhm and Jacopini (1960s) demonstrated that all programs could be written terms of only three control structures for sequential execution:
(1) Sequence structure: about succession(2) Selection structure (OR “decision structure”)
if a single selection statement (conditional performance) if…else a double selection statement (conditional performance) switch a multiple selection statement
(3) Repetition structure looping statements OR loops (loop-continuation condition)
for () while () iteration
recursion
III.
Recursion? Iteration?
preliminaries
Generating a possible / virtual work
Shifts–
more humanistic input in the creative process ↓conception↓design of rules and procedures
An illustration of Recursion
Recursion is one class of algorithms
Recursion: the process of solving a large problem by reducing it to one or more sub-problems which are:
(1) Identical in structure to the original problems; and
(2) Simpler to solve
An illustration of Recursion
How to collect $1000 in a fundraising event in which coupons are printed at $1 per piece:
One way to do it is to find one person who can donate the total amount…
[Source: Eric S. Roberts (1986), Thinking Recursively, pp. 1-4]
How to collect $1000
One way to do it is to use an iterative solution:
[Pascal-like language]
PROCEDURE COLLECTION 1000; BEGIN FOR 1 := 1 TO 1000 DO Collect one dollar from person I END;
[Actionscript]
For (i=1; i<=1000; i++) operation performedInitial value condition (the loop will continue to execute until the condition is false)
How to collect $1000: a recursive solution
Principle:
to break down the problem into identical, sub-problems that are simple to solve
Enlist 10 people, each in charge of raising $100.
Each person asked 10 volunteers who will raise $10 each.
Each volunteer will find 10 others who agree to raise $1.
How to collect $1000: a recursive solution
The use of recursion here is a “divide-and-conquer” method.
The original problem divides to form several simpler sub-problems, which branch into a set of simpler ones…until the simple cases [the simplest case(s), base case(s)]
How to collect $1000: recursive solution
[Pascal-like language]
PROCEDURE COLLECTION (N); BEGIN IF N is $1 THEN Contribute the dollar directly ELSE BEGIN Find 10 people; Have each collect N/10 dollars; Return the money to your superior END END;
[Actionscript]
??????
More illustrations on the use of Recursion
Mondrian-like computer art
1907-1914: Cubism (a modern art movement) flourished in Paris
[nature should be represented in terms of its primitive geometrical components, e.g. cylinders, cones, spheres
etc.]The Cubist community was dissolved at the outbreak of
WWI ideas influenced and shaped the development of abstract art, e.g. works of Piet Mondrian, characterized by rigid patterning of vertical and horizontal lines.
Iteration? Recursion?
There’s a Hole in the Bucket
There’s a hole in the bucket, dear Liza, dear Liza
There’s a hole in the bucket, dear Liza, a hole
Then fix it, dear Charlie, dear Charlie
Then fix it, dear Charlie, dear Charlie, fix it
With what shall I fix it, dear Liza, dear Liza
With a straw, dear Charlie, dear Charlie
But the straw is too long, dear Liza, dear Liza
Then cut it, dear Charlie, dear Charlie
With what shall I cut it, dear Liza, dear Liza
With a knife, dear Charlie, dear Charlie
Iteration? Recursion?
There’s a Hole in the Bucket (cont’d)
But the knife is too dull, dear Liza, dear LizaThen sharpen it, dear Charlie, dear Charlie
With what shall I sharpen it, dear Liza, dear LizaWith a stone, dear Charlie, dear Charlie
But the stone is too dry, dear Liza, dear LizaThen wet it, dear Charlie, dear Charlie
With what shall I wet it, dear Liza, dear LizaWith water, dear Charlie, dear Charlie
But how shall I fetch it, dear Liza, dear LizaIn a bucket, dear Charlie, dear Charlie
There’s a hole in the bucket, dear Liza, dear Liza,There’s a hole in the bucket, dear Liza, a hole
To be continued next week…
*Comparing iteration and recursion
*Generative Grammar, an introduction
top related