Plaatjes kijken: complexiteit met weinig moeite

Hier kan gedebateerd worden over de nieuwste ontwikkelingen in de wetenschap.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
chromis
IT Tech. & Moderator
Berichten: 2315
Lid geworden op: 18 apr 2005 12:55
Locatie: Zuid Limburg

Plaatjes kijken: complexiteit met weinig moeite

Bericht door chromis »

Vaak genoeg worden in discussies over evolutie, het ontstaan van het universum en dergelijke dingen gepraat over complexiteit.

Wat is complexiteit? In wiskundige termen valt er wel wat over te zeggen, namelijk dat een complex iets een langere looptijd or ruimte nodig heeft in termen van algoritmes of iets dergelijks. "Complexe getallen" bestaan ook, en dat is weer wat anders. Een definitie die we kunnen terugvinden in Vandale online is "samengesteld en ingewikkeld", waarbij we samenstelling kunnen zien als "een door een affect bijeengehouden groep van voorstellingen" in de psychologische context. Ingewikkeld is dan gedefineerd als "zeer samengesteld en daardoor moeilijk te doorgronden". Ik zou daar "schijnbare willekeurigheid" aan willen toevoegen: de notie dat wij geen betrekking of patroon kunnen vinden in een bepaald iets, terwijl dit wel aanwezig is.

Complexiteit wordt natuurlijk ook vaan gebruikt in de context van biologische systemen, en met name evolutie. Begrippen als "irriduceerbaar complex", een bekende term van de intelligent design beweing, zijn ons ook bekend. "Het is moeilijk te doorgronden, dus moet het wel gemaakt zijn".

Maar kan iets moeilijk te doorgronden zijn, en tegelijk toch simpel? Een tegenstelling?

Ik zou zeggen: ja.

En mijn onderbouwing is min of meer als volgt,

POVRay is een programma waarmee je door te programmeren mooie plaatjes kan genereren. Er zijn op internet van die plaatjes te vinden die wat mij betreft echt een knap staaltje werk zijn. Je kan prachtige plaatjes genereren als je een beetje talent hebt, en inzicht in grafisch programmeren. Mooie plaatjes kan je hier zien: http://hof.povray.org/index-lb.html

Mijn grootste persoonlijke favorieten: the last guardian, the wet bird, glasses, the warm up, the lovers, venice in neon, still with bolts, Reach for the Stars (die toch op een of andere manier emoties bij mij oproept), Forgotten Neighbourhood, Techno Garb en mouseless.

Let dus op: dit zijn dus computer gegenereerde plaatjes, geen foto's dus! Dit is het werk van intelligente kunstenaars die zeer handig zijn met een grafische programmeertaal. Daarnaast hebben de kunstenaars in kwestie inzicht in hoe de natuur in elkaar steekt, om dit niveau van realisme te halen.

Maar wat bedoel ik nou met de topictitel "complexiteit met weinig moeite"? De mensen die zich de moeite nemen om wat te lezen over deze plaatjes, zullen zien dat er plaatjes zijn die letterlijk jaren hebben gekost om te programmeren. Het uitrekenen duurt soms weken.

Het interessante van deze aanpak is dat je heel mooie dingen kan genereren.. maar ook met heel erg weinig code, waarbij de code (voor de mensen die ervaring hebben met algoritmiek en programmeren in het algemeen) ontzettend klein is (zeg: minder dan 300 letters!), en eigenlijk best te doorgronden is.

http://astronomy.swin.edu.au/~pbourke/r ... cc3/final/

Bovenstaante link bevat een POVray wedstrijd, maar bij deze wedstrijd gaat het er niet enkel en alleen om wie het mooiste plaatje genereert in het algemeen. Een andere factor speelt ook een rol: de grootte van je programma die het plaatje genereert.

Het 1e plaatje van die pol is niet zo bijster spannend, maar het 2e plaatje; die rots die eigenlijk toch wel "complex uitziet", en realistisch uitziet, is dus gerealiseerd met het volgende kleine stukje code:

Code: Selecteer alles

background{rgb<.5.7,1>}global_settings{radiosity{error_bound.5count 99}ambient_light#local _=function{pattern{agate turbulence 1octaves 9}}0}isosurface{function{(y+.07-_(x+9,y,z)*.115)/20}accuracy 1e-5pigment{rgb 1}}light_source{5<8,4,2>}
Ok, deze code is geen pretje voor mensen die hier niet in getraind zijn. Maar eigenlijk is het verbazingwekkend dat een dergelijke simpele aanpak een dergelijk complex resultaat kan hebben.

Mijn punt wat ik wil maken is eigenlijk: Wat complex lijkt, hoeft niet complex in de werkelijkheid te zijn, ook al zien we de oplossing niet. Ik vermoed dat een wiskundige niet de bovenstaande functie (de code) zou kunnen raden tijdens het zien van die foto van die rots. Het enige is: die rots is niet echt, die rots is gegenereerd door een stuk code die de wiskundige wel zou kunnen begrijpen! Complexiteit is een relatief menselijk begrip, iets dat verschilt tussen mensen onderling. We kunnen er een wiskundige definitie aan geven, en zelfs dan is complexiteit moeilijk te vatten, vanwege die subjectie.

..en ik denk dat dit leuk is om te onthouden als het onderwerp 'complexiteit' weer eens aan de orde komt in termen van bv. evolutie of heelal in het algemeen.

De wereld zit moeilijk in elkaar maar (te?) vaak blijkt het veel simpeler te zijn dan we ooit dachten.

In ieder geval kan je genieten van de plaatjes. ;)
“But Marge, what if we chose the wrong religion? Each week we just make God madder and madder.” - Homer Simpson.
Gebruikersavatar
cymric
Bevlogen
Berichten: 1730
Lid geworden op: 21 dec 2005 22:40

Bericht door cymric »

Erg leuk speelgoed. Mij sprak met name de 'Crystal Rose' aan, het beeld wat je zou zien als je in een kristal met hoge brekingsindex en dispersie zou zitten. Desondanks vind ik je argument dat je met weinig veel kunt bereiken een beetje misleidend, want in jouw voorbeeld wordt het golvende karakter van de 'stenen' bereikt door (als ik het allemaal goed begrijp) 'agate turbulence'. Dit is niets anders dan een verkorte schrijfwijze van een hoop programmeerwerk om U tegen te zeggen.

Daarom vind ik cellulaire automaten (Stephen Wolfram's pretentieuze en zelf-ophemelende A New Kind Of Science, bijvoorbeeld) of Mandelbrot fractals een betere illustratie dat je met simpele technieken snel 'complexe' dingen kunt genereren. Gewoon omdat de onderliggende wiskunde heel eenvoudig is.
SjaanTje
Forum fan
Berichten: 106
Lid geworden op: 22 feb 2006 16:49

Bericht door SjaanTje »

Nu ben ik geen expert, en heb ik niets gestudeerd op het gebied van natuurwetenschappen, wiskunde of computerkunde, maar ik heb wel de laatste tijd intensief naar de natuur gekeken.
En wat ik door een loep aan een korstmos zie, is ongeveer dezelfde basisstructuur als sommige koralen of sommige zwammen op bomen. Kennelijk is zo'n structuur een 'lekkere' vorm voor diverse organismen.
Verder heb ik in een grijze oudheid op school geleerd dat moleculen ook structuren zijn, die de deeltjes waaruit zo'n molecuul is opgebouwd op een bepaalde - gunstige - manier rangschikt.

Mag ik ervanuit gaan dat er een onderliggende natuurwet of code is (misschien is een natuurwet wel een code?), die ervoor zorgt dat alles op een bepaalde manier opgebouwd is? Op de voor het organisme of voor de structuur gunstigste manier? Misschien wel de manier die het minste moeite kost en dus het minst complex is, zoals die korte programmeercodes?
Gebruikersavatar
cymric
Bevlogen
Berichten: 1730
Lid geworden op: 21 dec 2005 22:40

Bericht door cymric »

Ja en nee. Molekulen zijn opgebouwd uit atomen; die opbouw volgt strikt energetische en quantummechanische principes. Ik kan niet in het kort in lekentaal uitleggen hoe en wat, maar dat is de regelmaat van het allerkleinste. In grotere objecten spelen andere dingen een rol die meestal te maken hebben met een balans tussen allerlei conflicterende eisen (zwaartekracht, beschikbaarheid van voedsel, stevigheid, enzovoort). Een bepaalde regelmaat die je erg vaak tegenkomt is de Fibonacci-reeks: zie bijvoorbeeld deze erg instructieve site. Biologen zijn er nog niet uit wat de preciese oorzaak van het ontstaan van dergelijke reeksen is (alhoewel ze uitstekend weten wáár het gebeurt), maar het antwoord zal waarschijnlijk over niet al te lange tijd bekend zijn.
Gebruikersavatar
chromis
IT Tech. & Moderator
Berichten: 2315
Lid geworden op: 18 apr 2005 12:55
Locatie: Zuid Limburg

Bericht door chromis »

cymric schreef:Erg leuk speelgoed. Mij sprak met name de 'Crystal Rose' aan, het beeld wat je zou zien als je in een kristal met hoge brekingsindex en dispersie zou zitten. Desondanks vind ik je argument dat je met weinig veel kunt bereiken een beetje misleidend, want in jouw voorbeeld wordt het golvende karakter van de 'stenen' bereikt door (als ik het allemaal goed begrijp) 'agate turbulence'. Dit is niets anders dan een verkorte schrijfwijze van een hoop programmeerwerk om U tegen te zeggen.
Nu ben ik helemaal niet bekend met agate turbulence, en zelf zou ik eerlijk gezegd ook niet in staat zijn om dergelijke dingen te genereren zonder voorbeeld. Maar de vraag is of het concept van agate turbulence makkelijk te begrijpen is afgezien van het rekenwerk? ..toepasbaar is het zeker, want uiteindelijk draait het toch om de elementaire POVray commando's...

...ware het niet dat POVray zelf ook geen simpel programma is, want scenes op deze manier raytracen is in principe ook niet echt makkelijk - althans, zelf een renderer schrijven die dergelijke afbeeldingen genereert lijkt me alles behalve simpel en makkelijk. Maar mijn gedachte achter het argument is eigenlijk dat de onderliggende moeilijkheid wel door mensenhanden geschreven en bedacht is. In die zin biedt je als het ware een abstractie die dergelijke dingen met weinig werk veel mogelijk maken. Dat we daardoor 'complexe' patronen kunnen genereren, en dat we daardoor ook dingen kunnen genereren waarvan je zou kunnen zeggen van "dit is complex! moeilijk te doorgronden!", terwijl de abstractie waarmee het plaatje gegenereerd wordt juist wel vrij doorgrondbaar is, vind ik dan wel een interessante observatie.

Maar je hebt eigenlijk gelijk dat er betere voorbeelden zijn:
Daarom vind ik cellulaire automaten (Stephen Wolfram's pretentieuze en zelf-ophemelende A New Kind Of Science, bijvoorbeeld) of Mandelbrot fractals een betere illustratie dat je met simpele technieken snel 'complexe' dingen kunt genereren. Gewoon omdat de onderliggende wiskunde heel eenvoudig is.
Ik heb toevallig afgelopen week 'Conways Game Of Life' geimplementeerd. De bedoeling is om op een later moment de onderliggende regels waaraan de cellen moeten voldoen te implementeren in een scripttaal (lua) zodanig dat deze door de gebruiker herschrijfbaar zijn, om zodoende eens leuk te kunnen knutselen. Naast 'aan' en 'uit' wil ik dan gradaties introduceren en dat soort dingen.

Een java versie: http://www.bitstorm.org/gameoflife/

http://en.wikipedia.org/wiki/Conway's_Game_of_Life
“But Marge, what if we chose the wrong religion? Each week we just make God madder and madder.” - Homer Simpson.
Gebruikersavatar
Erik
Bevlogen
Berichten: 4109
Lid geworden op: 02 mar 2005 18:06
Contacteer:

Bericht door Erik »

Werkelijk schitterend deze 'foto's'!!
The last guardian en Distant shores spreken mij erg aan.

Complexiteit is een zeer relatief begrip.
Plaats een middeleeuwer in deze tijd en hij zal vele dingen als zeer complex en vrijwel ongrijpbaar en onbegrijpelijk beschouwen.
Echter na een langer verblijf in de nieuwe omgeving zal hij de complexiteit leren doorgronden en begrijpen, waarna er andere dingen in de plaats zullen komen die weer even zo complex zullen zijn.

Dit is zeer zeker een mooi voorbeeld van iets complex wat eigenlijk helemaal niet zo complex is.
Het is wat dat betreft een parallel met de zogenaamde onherleidbare complexiteit die de gelovige anti-evolutionist claimt.
Ook die claims van complexiteit blijken na studie en inzicht uiteindelijk niet zo complex te zijn als de anti-evolutionist zou willen.
De achtste hemel is het atheïstische inzicht dat de werkelijkheid weliswaar hard is maar wel de werkelijkheid en die is zoveel waardevoller dan alle mooie, verzachtende sprookjes bij elkaar. (Gerard)

Geleid wordt enkel hij die zichzelf niet gevonden heeft. (Rereformed)
Gebruikersavatar
cymric
Bevlogen
Berichten: 1730
Lid geworden op: 21 dec 2005 22:40

Bericht door cymric »

chromis schreef:...ware het niet dat POVray zelf ook geen simpel programma is, want scenes op deze manier raytracen is in principe ook niet echt makkelijk - althans, zelf een renderer schrijven die dergelijke afbeeldingen genereert lijkt me alles behalve simpel en makkelijk. Maar mijn gedachte achter het argument is eigenlijk dat de onderliggende moeilijkheid wel door mensenhanden geschreven en bedacht is. In die zin biedt je als het ware een abstractie die dergelijke dingen met weinig werk veel mogelijk maken. Dat we daardoor 'complexe' patronen kunnen genereren, en dat we daardoor ook dingen kunnen genereren waarvan je zou kunnen zeggen van "dit is complex! moeilijk te doorgronden!", terwijl de abstractie waarmee het plaatje gegenereerd wordt juist wel vrij doorgrondbaar is, vind ik dan wel een interessante observatie.
Dat ben ik met je eens, en ik vind het ook indrukwekkende voorbeelden wat je kunt doen met wat rekenkracht onder je bureau. Maar aan de andere kant is die abstractie niet aan komen waaien, die hebben we er zelf ingestopt. Ik kan namelijk dat programmaatje ook symboliseren door '1' en dat aan POVRAY II voeren. Een '2' geeft dan het imposante The Wet Bird. Daarom denk ik dat je omwille van je argument beter uit kunt gaan van dingen waar dit soort abstracties niet inzitten en de complexiteit écht uit korte eenvoud voortkomt.

Als je het overigens leuk vindt om Game of Life te spelen, kan ik je A.K. Dewdney's fantastische boeken The Armchair Universe en The Magic Machine aanraden. Daar staan nog veel meer ideeën voor dat soort projecten in waar af en toe je broek van afzakt. Bovendien is het erg moeilijk om niet meteen je computer erbij te pakken en de pseudocode in werkende code om te zetten. Nóg een alternatief (dat ik tot mijn eigen schande nooit heb geprobeerd) is Tierra dat digitale evolutie nabootst.
SjaanTje
Forum fan
Berichten: 106
Lid geworden op: 22 feb 2006 16:49

Bericht door SjaanTje »

cymric schreef:In grotere objecten spelen andere dingen een rol die meestal te maken hebben met een balans tussen allerlei conflicterende eisen (zwaartekracht, beschikbaarheid van voedsel, stevigheid, enzovoort).
Vorm en functie zijn dus aangepast aan de omstandigheden, maar wel volgens een principe dat de meeste 'opbrengst' met de minste 'inspanning' oplevert?
Iets anders zou m.i. onlogisch zijn. De weg van de minste weerstand is de makkelijkste en dus meest logische weg. Alles wat langs andere wegen moet, komt veel later aan of blijft ergens hangen (en sterft dus uit).

Maar het afgelopen jaar zijn mijn foute veronderstellingen dat in warm water meer leven zit en dat in voedselrijke grond meer planten groeien ook in duigen gevallen, dus ik sta open voor nieuwe ideeën omdat ik zie dat mijn oude ideeën dus niet altijd kloppen.
Een bepaalde regelmaat die je erg vaak tegenkomt is de Fibonacci-reeks
Die reeks ken ik als graficus wel: de Gulden Snede, volgens welk principe de mooiste tekstopmaken op de mooiste boekformaten gedrukt kunnen worden.

Ik zag trouwens in de slakken-foto's een prachtige kromming, die doet denken aan de wolkenpartijen boven de Atlantische Oceaan, in het weerbericht. Ik heb net geleerd dat die 'krullen' ontstaan door een samenwerking van lucht die van een hogedrukgebied naar een lagedrukgebied stroomt, de draaiing van de Aarde en de weerstand van de luchtlagen. Misschien is zoiets met die slakkenhuizen ook wel aan de hand.

Hoe dat moet met de erfelijkheidsregels weet ik niet. Dat is mij al veel te abstract. Maar ik ga me er in verdiepen, want ik vind het allemaal mateloos interessant. Ben benieuwd wat de biologen gaan vinden.
Gebruikersavatar
chromis
IT Tech. & Moderator
Berichten: 2315
Lid geworden op: 18 apr 2005 12:55
Locatie: Zuid Limburg

Bericht door chromis »

cymric schreef: Als je het overigens leuk vindt om Game of Life te spelen, kan ik je A.K. Dewdney's fantastische boeken The Armchair Universe en The Magic Machine aanraden. Daar staan nog veel meer ideeën voor dat soort projecten in waar af en toe je broek van afzakt. Bovendien is het erg moeilijk om niet meteen je computer erbij te pakken en de pseudocode in werkende code om te zetten. Nóg een alternatief (dat ik tot mijn eigen schande nooit heb geprobeerd) is Tierra dat digitale evolutie nabootst.
Wat dat betreft laat ik in deze context maar al te graag mijn broek afzakken. Tierra heb ik al eerder wat van gehoord, maar van de boeken nog niet. Die zet ik op mijn verlanglijstje, bedankt voor de tip!
“But Marge, what if we chose the wrong religion? Each week we just make God madder and madder.” - Homer Simpson.
Gebruikersavatar
Saviourmachine
Berichten: 36
Lid geworden op: 22 mar 2006 13:39
Locatie: Delft
Contacteer:

Bericht door Saviourmachine »

Ligt 'r maar aan hoe je complexiteit definieerd. "Kolgomorov complexity" is gedefinieerd in de zin van iets is complexer naar gelang het minder goed kan worden samengevat in procedures / programmeerfuncties / algorithmes.

Over 't ontstaan van complexiteit kan worden gelezen in het "violet" boek van de serie "Einstein Meets Magritte". Samenvatting:
The Evolution of Complexity is addressed to a broad audience of academics and researchers from different disciplines, who are interested in the picture of our world emerging from the new sciences of complexity. This book reviews the new concepts proposed by the diverse theories of evolution, self-organisation, general systems, cybernetics, and the `complex adaptive systems' approach pioneered by the Santa Fe institute. The thread which holds everything together is the growth of complexity during the history of the universe: from elementary particles, via atoms, molecules, living cells, multicellular organisms, plants, and animals to human beings, and societies. The different sections of the book discuss the foundations and philosophy of complexity evolution, its mathematical and computer models, its explanation of self-organising and living systems, the insights it provides into the origin of mind, language and culture, and its practical applications in areas such as management and system design.
De meeste hoofdstukken uit het boek zijn beschikbaar op deze Belgische Site.
Gebruikersavatar
cymric
Bevlogen
Berichten: 1730
Lid geworden op: 21 dec 2005 22:40

Bericht door cymric »

SjaanTje schreef:
cymric schreef:In grotere objecten spelen andere dingen een rol die meestal te maken hebben met een balans tussen allerlei conflicterende eisen (zwaartekracht, beschikbaarheid van voedsel, stevigheid, enzovoort).
Vorm en functie zijn dus aangepast aan de omstandigheden, maar wel volgens een principe dat de meeste 'opbrengst' met de minste 'inspanning' oplevert? Iets anders zou m.i. onlogisch zijn. De weg van de minste weerstand is de makkelijkste en dus meest logische weg. Alles wat langs andere wegen moet, komt veel later aan of blijft ergens hangen (en sterft dus uit).
Ik was in eerste instantie geneigd om met 'ja' te antwoorden, maar later bedacht ik dat dit geen wet van Meden en Perzen is. Er zijn erg veel voorbeelden waar evolutie duidelijk de mist inging. Zo heb je:
  • De reuzenpanda, van oorsprong een omnivoor die herbivoor is geworden en zich zó compleet heeft gebonden aan bamboe dat het dier zelfs een extra 'duim' heeft ontwikkeld om het gras te splijten;
  • Ons oog, met een onzinnige omgedraaide zenuwbundel die ons een blinde vlek geeft---dat dit niet hoeft bewijzen de ogen van de octopus bij wie het oog 'goed' is ontwikkeld;
  • Het fysiologisch celmilieu van bepaalde woestijndieren is 'ontworpen' voor het uitscheiden van veel verdunde urine en het vasthouden van zout---terwijl je in de woestijn precies het omgekeerde nodig hebt. Deze ontzettend leesbare Post of the Month, geschreven door een prof met hart voor zijn vak, illustreert dit veel beter;
  • en nog veel meer voorbeelden
Evolutie kijkt altijd achteraf of een mutatie wat zinnigs opleverde (dan overleefde het namelijk!), dus je moet niet alleen kijken naar een soort energiebalans (maximale prestatie met minimale inspanning), maar ook naar de geschiedenis van het geheel. Soms loopt een experiment af: ondanks al onze inspanningen om bijvoorbeeld de panda en het jachtluipaard te redden vrees ik dat ze uit zichzelf tot uitsterven gedoemd zijn---alleen vinden mensen het maar een raar idee dat dat kan.
Plaats reactie