ISIS 072
Visual Studies
Computer Science

Information Science & Information Studies Program.

ALiCE: Artificial Life,
Culture & Evolution

Simulating complexity with multiagent and evolutionary computation

Fall 2012 Calendar
subject to change...


nick.gessler(at)duke.edu
Lab: Tu/Th 10:05 - 12:55
Perkins LINK Classroom "6"


 

Jean-Philippe Rennard's Introduction to Alife
fusebox
Alife Fusebox
Temple of Alife
evol
Rob Saunder's
GenArt Evol
genetic art
John Mount's
Genetic Art IV
And the signifieds butt heads with the signifiers,
and we all fall down slack-jawed to marvel at words!
While across the sky sheet the impossible birds,
In a steady, illiterate movement homewards.
Joanna Newsome,
"This Side of the Blue"
(2004 Drag City Records).
I used to think that the brain was
the most wonderful organ in my body.
Then I realized who was telling me this.
Emo Phillips, Neuropsychology: Clinical and Experimental Foundations
There are, indeed, things that cannot be put into words.
They make themselves manifest.
They are what is mystical.
Ludwig Wittgenstein
(Tractatus Logico-Philosophicus).

Classroom #6 Reservations Calendar

 
Tuesday
Thursday
 
Color Code:
Notes on what we accomplished on days past.
Color Code:
Certain agenda for the days ahead.
Color Code:
Tentative agenda for the days ahead.
 
Week 0
28 August 30 August (Wait-lists erased 31 August)  

Welcome and Introduction:
We may accept over-enrollment knowing that some of you will drop.
We welcome those of you with no programming experience. We want to encourage you to seize the power over these machines. We want to introduce you to a philosophy of multiple causation and multiple agency, to epistemologies of evolution, complexity and computation.
We hope we can encourage those of you with programming experience to pursue and explore applications beyond those offered on our website.
We want to empower everybody with the confidence to express your own ideas, hypotheses and theories on how the world works in code. We want you to build your own applications and to be critical of the assumptions hidden behind the eye-candy of other peoples'software.

Administrative details:
Over-enrollment, grading policy, format for assignments...
"Office Hours" will be here in classroom #6, Tuesmonths and Thursmonths, before and after class.
Please confirm appointments by email in advance.

For the programming challenges, please purchase:
12 burnable CDs with 12 clear-front envelopes. Do not turn in plastic jewel-cases.
A pen for marking your CDs and 12 clear sheet-protectors for letter-size paper.
For backing up your work, please purchase and bring in daily:
1 USB memory stick.

Course overview:
A quick look at some ancestors of our silicon computers, the take-home-message being that we discovered, not invented, computation and that computation is inherent in the physical and natural world around us.
Some of our applications, progressing from simple to complex representations of:
Space: raster (grid-based or cellular) vs. vector (omnidirectional).
Time (polling for multiple agents):
cinematic, random, sequential.
Agency (causality): from two-state to agents with "senses, thoughts and actions" (STA).
Applications: from those you write from scratch to those you augment and modify.

Evolution and flocking:
Evolving solutions to the Traveling Salesman's Problem.
The emergence of global group behavior from local individual rules of interaction.

Video:
A progression through the work of Karl Sims...

--- break ---

Building a graphics application for Wiindows PCs with Embarcadero C++ Builder:
Handout...

Overcoming the ugly details of getting started:
The Windows Application Programmers' Interface (API).
The Embarcadero Integrated Development Environment (IDE).
(Once we master these details, our job becomes much easier.)
The C++ language.

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travellers
We start to build this application from scratch up to the point of having a MouseDown on the PaintBox produce visible black dots (cities)...

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travellers
continued...
We continue to build this application by programming in the algorithm for the game...

Buttons: Run and Reset...
Functions: reset(), run()

 

Visual Components ----- Found Under the Tab

Over the weekend:
Practice building some simple programs on your own from scratch.

Review of the Handout from Day 0.

Week 1

4 September

6 September (drop/add ends on 7 September)

Review of the Handout from Day 0.

Ensuring that you application will run on any PC operating system:
Project / Options / C++ Linker: set "Dynamic RTL" to false.
Project / Options / Packages: uncheck "Build with Runtime Packages."

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travellers
Continued...

Execution of the program constructs a topographic landscape, but our implementation
obscures much of what is going on. What is going on that we're not seeing?
How could we show the complexities of this system more clearly?
How could we better visualize its behavior?
Let's treat it as a landscape? Let's record the "hits" in a world array.

How can we visualize that array? Let's try color and shading.
We implement the colorRamp() function in two directions:
a) black, violet, blue... red, magenta, white
b) white, magenta, red... blue, violet, black
What about casting shadows across the landscape?
c) faux shadows (a kludge, a cheat, a heuristic)

A look at some other variations on the Chaos Game under "Fractals & Strange Attractors:"
a) varying the multiplier (divisor)
b) adding the third dimension
c) adding sonification to visulization (can sound characterize the pattern?)
d) a "bent" version (flipping the "+" to "-")

Four "E"s: Enjoy, Explore, Experiment, Enhance

What else might we try???

Come on Thursday with some ideas...

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travellers
Continued...

a) varying the multiplier (divisor).

Preparation for Tuesday's Quiz:
This will make use of what we've done so far.
You will have to create a project from scratch and use the visual components and C++ language skills that we have gone over in class. The quiz will be simpler than but similar to the "Roll a pair of dice" applications on our "Games" pages or to a "Pick a card" scenario (for which I have no examples). You will have 20 minutes to complete it and to burn it into a CD-ROM.


We consider:

Stephen Wolfram on the Chaos Game.
More Interesting Patterns.

Sonification, Can we transform the fractal visual pattern into a fractal aural sequence?
Can a fractal image be turned into a fractal musical composition?
Will sonification provide an alternative way of comprehending the pattern?

Week 2

11 September

13 September

Quiz 0:
Write a program from scratch and turn it in on a CD. I will tell you what it should do at the beginning of the 20 minutes you will have to complete the application and burn it into a CD-ROM.

Here you will find an image of a French Roulette wheel along with the logic for labelling the pockets and their colors. Write a simulation of the results of a spin of the wheel. I want to know the number that appears and its color.

A solution:
We need to know the number on the pocket that the ball falls into.
That is easy, just assign pocket = random(37);
Declare bool even; and set it to true or false like this even = !(pocket % 2);

Or alternatively we can say if(pocket%2 == 0) even = true;
Then (in pseudocode):
if (pocket is in this range of numbers) {
indent if the number is even set its color to RED or BLACK
indent if not, then set it opposite
}

if (pocket is in that range of numbers) {
indent if the number is even set its color to RED or BLACK
indent if not, then set it opposite
}

if (pocket is 0) {
indent set the color to GREEN
}
Set the Edit->Font->Color to clYellow
Set the Edit->Color to color
Set the Edit->Text to pocket

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travellers
DUE TODAY before class
Go here for the format for the challenges.
Participant presentations (everyone)...

COME EARLY, AT 9:00 a.m. ON THURSDAY AND WE WILL GO OVER
WHAT YOU NEED TO DO TO START AN APPLICATION FROM SCRATCH...

COME EARLY, AT 9:00 a.m. ON THURSDAY AND WE WILL GO OVER
WHAT YOU NEED TO DO TO START AN APPLICATION FROM SCRATCH...

Programming Challenge 1: Cellular Automata / Conway's Game of Life
A different representation of space and time...
How do we represent a borderless world with true parallel causation?

Parallel (cinematic) time.
Borderless (toroidal) space.

We begin building the GUI for Conway's GOL:
thisWorld[][], nextWorld[][] and reset(RANDOM)

showThisWorld()
run(), step(), stop()
computeNextWorld(), countNeighbors(), wrap(),,
copyNextWorldToThisWorld(), countNeighbors()
OnMouseDown()...

Week 3

18 September

20 September

RadioLab on Emergence...
(Begin at one minute in)

Programming Challenge 1: Cellular Automata / Conway's Game of Life
continued...

Speeding things up:
renderChanges()

Importing creatures:
A wrap-around function.
A glossary of terms...

Optimizing the application with some minor changes:
Showing iteration" in an Edit box.
Inserting randomize().

For this challenge, experiment extensively with Conway's rules.
Characterize the ecology and ethology of the creatures in the GOL:
What is the relative proportion of different creatures spontaneously created?
Can we automate this type of information gathering?
How do they behave when encountering other living cells?
Include this information in the challenge you hand in.

Does the behavior of Conway's Game of Life imply anything about:
how the world works?
how we think we think?
philosophy?
epistemology?


Conway's world as a complete system:
Are there limits to the processes we can build in a GOL world? Can it compute?

  • How about a "counter" that prints out decimal digits? A digital counter running on a computer (the GOL CA), running on a computer (the PC in front of you), running on a computer (the computational universe we live in).
  • Running Conway's GOL on a Conway's GOL world?
    Yes, that too has been done, the OTCA MetaPixel.
  • Golly 1.0, an iPad App on Source Forge...
  • Life on Life, a superb progressive zoom out...
  • Check out our CA page.

Some visualization tweaks to help us see the "evolution" of Conway's world:
Coloring "births." Coloring "deaths."

Deterministic but Unpredictable:
Is there a shortcut to viewing the state of Conway's World 1,000 iterations into the future?
Given one state of Conway's GOL, can we calculate the states that preceded it?

Programming Challenge 1: Cellular Automata / Conway's Game of Life

The OTCA Metapixel links have been updated by adding:
The OTCA MetaPixel blog spot.

Life on Life, a superb progressive zoom out...
Some links for Brice Due, OTCAMP inventor:
Sample Patterns
The OTCAMP Pattern in Detail

Some more tweaks to Conway's world on our website:
Done: Tracking population growth and decline.
To Do: Implementing a "creature counter."

Using the Game of Life as a "one-way" or "trap door" function:
A way to authenticate your passwords without remembering what they are?

Introducing the save() and open() functions.
We always SAVE thisWorld for maximum flexibility.
After we OPEN a file to thisWorld reset iterations.

Another Speed Increase:
Repeated Canvas-> calls to the PaintBox on the display take excessive time.
Instead, dynamically create a TBitmap object (e.g. worldBMP) and make the Canvas-> calls to it.
Then when you are finished, make only ONE call to the PaintBox on the display, e.g.:
Form1->PaintBox->Canvas->Draw(0, 0, worldBMP);
I've noted up to a 3-fold speed increase...

Introducing more creatures:
Adding #defines to the switch() statement.

We continue enhancing the application:
What tweaks would you suggest?

  1. Find the intitial configuration of the world that runs the longest before it becomes stable?
    How many initial configurations are there? 2^10,000 or 2 x 10^3,010? The age of the Universe is 4.33 x 10^17 seconds.
    The fastest computer runs at 8.162 petaflops or 8.162 x 10^15 floating point operations per second.
    Running at this speed since the origin of the Universe, this machine could construct only 3.53 x 10^33 initial conditions, much less run them to completion.
  2. Importing "creatures" into the world.
  3. Implementing a "creature counter."
  4. Can we add a "midiRamp()" function to give us an audible "image" of how the world is progressing? How would we have to scale it?
  5. How might we evolve a bitmap image using a cellular automaton?

Mirek's Cellebration...
Under "Classroom Applications" on your desktop,
or surf the web and download it on your own computer

Week 4

25 September

27 September

Programming Challenge 1: Cellular Automata / Conway's Game of Life
Continued development...

Take Home Discursive Challenge 0: A Computational Universe?
DUE 2 October (Thoughtfully written, single-spaced, 2-3 pages.)

Did we discover, and not invent, computation? Computation, in this view, is inherent in reality as we know it, in everything contained within this world. Assuming that to be true and that we are the patterns that emerge from this computation, it would seem logical to ask, "where is the computer that runs this software, and what is it like?" Greg Egan's sci-fi novel PERMUTATION CITY and Josef Rusnak's sci-fi film THE THIRTEENTH FLOOR play with this idea. Harold Morowitz explores this idea more scientifically in his book THE EMERGENCE OF EVERYTHING: HOW THE WORLD BECAME COMPLEX.

These readings are available on the Internet:
Alan Turing INTELLIGENT MACHINERY (original draft)
Alan Turiong INTELLIGENT MACHINERY (final version)

I have put four readings by computer scientists among our SAKAI resources:
Konrad Zuse - Ed Fredkin - Mmarvin Minsky - Jurgen Schmidhuber

Please read these, but don't get bogged down by the mathematics. Take their ideas seriously. Compare and contrast their claims.

Is the claim that the world is computational another way of saying that we discovered, and did not invent, computation? What other serious questions do these arguments suggest?

 

Programming Challenge 1: Cellular Automata / Conway's Game of Life
DUE TODAY
Participant Presentations...

Programming Challenge 2: Evolutionary Computation - An Introduction to the ECT or TSP:
The Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem).
An overview from the user's perspective.
An "underview" (a look "under the hood") from the programmer's perspective.

Week 5

2 October

4 October

Parallella - a parallel computer for everyone! (thanks to Kenny Gould)

Unmanned Combat Air Systems vs. some current drones.

Discursive Challenge 0: A Computational Universe?
DUE TODAY (Thoughtfully written, single-spaced, 2-3 pages.)

Did we discover, and not invent, computation?

Programming Challenge 2: Evolutionary Computation - An Introduction to the ECT or TSP:
Continued...
The Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem).
An overview from the user's perspective.
An "underview" (a look "under the hood") from the programmer's perspective.

First Short Written Report: DUE THURSDAY (next meeting)
Single-spaced, typewritten, one or two pages...
Simulation begs the question of how we can represent processes in the real-world in languages and processes that computers can understand and how we can represent the results in a way that we can understand (through good visualizations and/or sonifications). The ECT or TSP is a problem that is readily amenable to simulated evolution. The problem is easily visualizable. The fitness function is easy to write (just compute the shortest path distance). Knowing what you know about the programming language to date, I want you to outline a problem that would be practical for us to program in class. (Don't worry, I won't ask you to do the programming.)
How would you represent the problem?
How would you represent the mechanisms of evolution, specifically how would you code:
Variation.
Inheritance.
Fitness.
Please be specific. Use pseudocode if you can...

Programming Challenge 2: Tweaks
Correcting, testing and evaluating three rules for RED flanked by GREENS:
Construct some appropriate test patterns.
What is different about the behavior of the three rules?
Do they work in all circumstances? How well? Why? Why not?
What is the logic?
What is the fitness landscape?
What is the evolutionary result? (Run and document some tests.)

Add one or more rules on your own and evaluate them with the same criteria!
(You might try a nested flanking rule, such as RED flanked by GREEN and
BLACK flanked by WHITE.)

 

Programming Challenge 2: Evolutionary Computation - Continued...:
The Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem).
An overview from the user's perspective.
An "underview" (a look "under the hood") from the programmer's perspective.

Most of us will be working with:
Evolutionary Concert Tour (ECT) - Compact Version 13 - 24 February 2011

A Second Short Written Report: DUE TUESDAY, February 21th. (next Tuesmonth)
Pick a challenge level appropriate to your skills.

Single-spaced, typewritten, one or more pages as necessary.

ENGLISH: Begin with a description in English.
PSEUDOCODE: Rethink and rewrite that description in a language closer to source code...
VALID SOURCE CODE: Eventually, this is what we want to produce.

For any evolutionary problem:

  1. How would you represent the problem?
  2. How would you represent a single solution, a population of solutions?
  3. How would you represent inheritance (how would the child vary from its parent)?
    How would your represent reproduction (asexual, sexual, polygamic)?

  4. How would you measure fitness and implement selection?

An advanced challenge may comprise workin on writing a very different evolutionary application or an evolutioary algorithm from another school of Evolutionary Computation (e.g. evolultionary programming, genetic algorithms, and genetic programming).

An intermediate challenge would be to adapt the framework of the TSP/ECT to a similar problem. Notice that the application is based on a sequencing challenge. It is like arranging a deck of cards, and C++ offers you several functions that shuffle, rotate and reverse the order of cards in user-defined groups. Other sequencing problems are:
Seriation: Arranging assemblages of different frequencies of various styles in order in archaeology.
Phylogeny: Arranging fossil or living species in order of affinity.
Picture Reassembly: We attempted this as a result of DARPA's "Shredder Challenge." The code online accomplishes this to some degree, but the code is probably buggy. We could work on fixing it...
Cryptology: Solving a single substitution cipher.
Stock Trading: Knowing the past history of anual fluctuations in "bid" and "ask" prices, retrodict a sequence of anual trades to maximize profit.
Complex Logistics: Arranging a sequence of pick-ups and deliveries to minimize distance and maximize effectiveness. (In a minimal way, some of our "tweaks" to TSP/ECT already do that.)
Art, Poetry and Narrative: Evolve an arrangement of graphics, words or sentences for maximum literary value. (A big problem would be to write an effective fitness function.)

A basic challenge might be to devise one or more additional constraints that will fit into the model that we presently have online. Although I've classified these tweaks as "basic," some can be developed to an advanced challenge level.

Pick any level of challenge that you feel comfortable working with. I anticipate that most of us will be working with the basic challenge, which is just fine. It will not downwardly effect your grade.

Now is the time to get into specifics of what you are trying to do. Spell out the additional variables, program code and functions you will need to make this happen. For the ECT in particular, what more can we do with what we've got? We already have:

  1. Different types of places: houses, gas stations, hotels, restaurants, cities....
  2. Different bounded regions: countries, swamps, ethnic areas, political regions...
  3. Sweet Spot: Different constraints on the order in which places are visited (line 820 ff)...
  4. The X and Y positions of each place so we can specify any path geometry...
  5. The distance of each place from the center...
  6. 3D Version but without the added constraints and features of the 2d version...
Week 6

9 October

11 October (Mid-Term grades due 12 October)

Programming Challenge 2: Evolutionary Computation - Some tweaks...
The Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem).
We look towards implementing some additional constraints.
Some thoughts:

Metaphors: the preferences for directions could be interpreted as winds and ocean currents affecting a ship's voyage economizing on costs/travel time using sail/motor. :

To encourage visiting sequential cities which are at the same distances from the center. This could be a metaphor for imagining the world with a mountain peak at its center and a traveller wishing to avoid steep path segments. Alternatively, if we interpret the cities as blocks of data stored on different tracks of a disk drive, we might wish to discover the most efficient way of recovering all those blocks.

What if each "city" represents a "corporation" from which you can buy or sell shares at a price which is a function of the month you visit them. Stock performance graphs should be available online. You have 48 months to purchase and sell stock in each of these 48 corporations, making one trade each month. How would you maximize your initial investment of $1000? Currency trades among countries would also fit this model. (The geographic distances, penalty boxes and other constraints may not be relevant here.)

PHILOSOPHY AND EPISTEMOLOGY OF SIMULATION:
A Third
Written Report
Single-spaced, typewritten, two or more pages as necessary, DUE TUESDAY.

We may screen THE THIRTEENTH FLOOR (1999) for you today. The film is a murder mystery and love story, but like DARK CITY and even MULHOLLAND DRIVE, it blurs the distinction between reality and simulation and questions the validity of our methodologies of knowing the real world. THE THIRTEENTH FLOOR and WELT AM DRAHT (World on a Wire, 1973) are based Simulacron-3 (1964), a novel by Daniel F. Galouye. WELT AM DRAHT was released this month on Blue-Ray.

On first viewing, the first encounter between Douglas Hall and Jane Fuller seems enigmatic. It is only after the complexity of the entire narrative is revealed towards the end of the film that this scene can be understood. You may wish to back and replay "Chapter 4" to give the actors the credit they deserve.

I have put several readings on the philosophy and epistemology of simulation on our BLACKBOARD / COURSE DOCUMENTS page:

  • Non Serviam - Stanislaw Lem
  • Permutation City (excerpt) - Greg Egan
  • A Computer Scientist's View of Life, the Universe and Everything - Jurgen Schmidhuber
  • A New Cosmogony - Ed Fredkin

What roll does simulation play in individual cognition, in cultural affairs, in the scientific discovery of the nature of reality? What themes do the film and the four readings share in common? To what extent do the issues raised by each complement the others? What relevance does the possibility of simulations running
inside of other simulations (representations in representations) have to the arguments that are made?

Programming Challenge 2: Evolutionary Computation
Participant presentations.

Week 7

16 October (Fall Break)

18 October

 

PHILOSOPHY AND EPISTEMOLOGY OF SIMULATION:
A Third
Written Report
Single-spaced, typewritten, two or more pages as necessary, DUE TODAY.

ICON-EDIT 32:
Customizing your own icon.

Challenge 3: Segregation/Assimilation.
Introduction

 

Week 8

23 October

25 October

Challenge #3: Segregation/Assimilation.
Continued...

Challenge #3: Segregation/Assimilation.
Continued...

Week 9

30 October (Spring registration opens 31 October)

1 November

Visitors Today:
Durham 8th graders: special group of bright students who will be the first in their families to attend college.

Challenge #3: Segregation/Assimilation DUE TODAY.
Participant presentations.

Challenge #4: Flocking (Herding, Schooling, Crowd Behvior).
Introduction...

 

 

Challenge #4: Flocking (Herding, Schooling, Crowd Behvior).
Continued...

Familiarize yourselves with the variety of User's settings for both applications.
Familiarize yourselves with the rules, how they are written and how they work:
Flocking Images 25 "sweet spot" is between lines 572 and 789.
Flocking Polygons 12 "sweet spot" is between lines 384 and 562.
Come back on Thurday with some ideas for new rules...

A technical to-do list for Flocking Images:
Use smaller images / Expand the playing field / Introduce more agent sub-variables...
Improve the 3d path visualizations by implementing Red + Cyan makes White.
Connect the dots in the path array visualizations.
Expand to fullScreen and autoRun (but there will be a problem expanding the path arrays).

A technical to-do list for Flocking Polygons:
New functions in the agentClass: setVelocity(), getVelocity(), setDirection(), getDirection().
New sub-variables for the agentClass: acquire(), divest(), memories...
New visualization of agents: uniform size vs. size as f(velocity).
New variant of existing rule: e.g. adopt a portion of NN's velocity and direction.
New coloring routine: color by iteration

For next TUESDAY:
Prepare some notes on enhancements of either of the flocking simulations. Prepare to discuss them. Turn in a copy of the notes on Tuesday.

Week 10

New reading uploaded to our SAKAI Resources:
Robert Glass THE COGNITIVE VIEW: A DIFFERENT LOOK AT SOFTWARE DESIGN

It is similar in content to a new book on Amazon: THINK LIKE A PROGRAMMER

Half of programming is a creative process that is not taught in most programming classes. The real challenge of programming isn't learning a language's syntax—it's learning to creatively solve problems so you can build something great. Programming is about solving problems. The actual language is secondary; what's important is being able to break the problem down to the relevant information and figure out a way to solve it. Once you have an approach that allows you to tackle the problem, then you can figure out how to do each individual step.

  • Split problems into discrete components to make them easier to solve
  • Make the most of code reuse with functions, classes, and libraries
  • Pick the perfect data structure for a particular job
  • Master more advanced programming tools like recursion and dynamic memory
  • Organize your thoughts and develop strategies to tackle particular types of problems

6 November

8 November

Challenge #4: Flocking (Herding, Schooling, Crowd Behvior).
Continued...

Explanation of the revised version 22.
Introduction of a green and red agent who turn whoever they encounter green or red.
(This could be the beginning of the spread of a disease and the spread of an immunity.

A new function:
Is someone approaching me? There are at least two ways to determing this:
Option 1 - is their present position closer to me than their last position? (requires memory)
Option 2 - is their vector pointed towards me? (only requires current direction)

Perhaps gravitation is no more difficult than averaging in a vector representing attraction?

Challenge #4: Flocking (Herding, Schooling, Crowd Behvior).
Continued...

A newer version (22a) which now includes a hint of gravitation.

Collective Animal Behavior: Iain Couzin at Princeton on the Web (24 minutes).

VHS: Early work by Craig Reynolds (11 min) and Demetri Terzopoulos (12 min).

A technical to-do list for Flocking Polygons:

New visualization of agents: uniform size instead of size as a function of the current velocity: size = f(velocity).
Perhaps polygons to outline a fox and rabbit (for predator and prey).
Perhaps a uniform sized triangle for each agent which still points in the direction of its movement.

Maybe some new functions for the agentClass:
pick-up(), put-down(), buy(), sell()

New functions for the agentClass:
int hunter, stomach-size, gestation...

friendship[POP], encounters[POP], hunger, thirst

New rules of interaction:
borrow some from segregation/assimilation
variation in speed (start, stop)
attention paid to those ahead, rather than those ahead and behind.

Week 11

Wednesday, the 14th Human Domain Analysis Workshop, Charlotte

13 November

15 November

Challenge #4: Flocking (DUE TODAY).
Participant Presentations

Familiarize yourselves with the rules, how they are written and how they work:
The Flocking Polygons 21 rules "sweet spot" begins approximately at line 505.
Come back on Thurday with some ideas for some new functionality and new rules...

Challenge #5: Sensors & Actuators
Introduction...

 

Challenge #5: Sensors & Actuators
Continued...

US Army Special Operations Command (SOC)- Contesting in the "Human Domain."
(A newly created "domain" in the series: land, sea, air and cyber.)
US Army Military Information Support Operations Command (MISO).

("Alias PSYOPs.")
Harvesting social media...

The Epilog laser cutter.

The Form1 rapid prototype machine.

Techshop RDU.

SplatSpace, Durham.

Week 12

20 November

22 November - THANKSGIVING RECESS

Challenge #5: Sensors & Actuators
Continued...

Teams work on specific analog-to-digital, digital-to-analog projects will continue to meet in Classroom #6.
All tools, components and equipment will be available.

Work on the MakerBot Cup-Cake 3d printer will be taking place outside of Classroom #6 because soldering fumes are likely to set off the smoke detectors.

Washington, D.C.
Week 13

27 November

29 November

Challenge #5: Sensors & Actuators
Continued...

Discursive Challeng due FRIDAY:
On our SAKAI pages there is a sample test and quiz.
Please take it...

You will only be graded on the ESSAY. Your responses will be used to develop the Duke IDEAS initiative, so you have the power to shape the modules that are being developed. Please give some thought to how you would approach this. Again, "grading" will be based upon your involvement with the challenge.

Please also answer the other questions as best you can. To some extent this is an exercise (for me) in how to use SAKAI.

Challenge #5: Sensors & Actuators due today.
Participant presentations.
Week 14

4 December

6 December (Last class)

Work on Course Projects

We have been OKed to purchase:

These should arrive mid-Spring and we'll use them!

Course Projects due today.
Coffee, fruit, cookies...

Participant presentations.

No Final

No Final
Have a great year's end...

IGNORE THE FOLLOWING:

Written Challenge: The Computational Universe
Due the last month of class (circa 5-6 pages on paper):
In consideration of the ideas expressed:
a) in these five short articles and excerpts on our Course Documents page:

  1. Non Serviam - Stanislaw Lem
  2. Permutation City (excerpt) - Greg Egan
  3. Rechnender Raum - Konrad Zuse
  4. A Computer Scientist's View of Life, the Universe and Everything - Jurgen Schmidhuber
  5. The Computerman, the Cryptographer and the Physicist - Nick Gessler
  6. and...

b) in these two movies which you should rent and view (some notes are here):

  1. Dark City - Alex Proyas
  2. Thirteenth Floor - Josef Rusnak
  3. Matrix - (great FX, but otherwise intellectually below par)

Please sympathetically* review and critique each of these with respect to a "theory of reality" which all these authors, in their own ways, are envisioning. In other words, what are all these writers attempting to express? How does each contribute to that vision? What are the implications that this "way of knowing" may have for advancing our understandings (both scientific and humanistic) of the world we find ourselves a part of?
* In other words, don't dismiss these ideas out-of-hand. Instead, work within the concepts these writers are alluding to.