Yin Yang Fire

Kan het zijn dat er ergens in ons universum een soort Yin Yang Fire brandt?

Introductie

Cellulaire Automaat

Chaos Theorie

Wetenschappelijke aspecten

Plaatjes/Animaties

Producten



Introductie

Gefascineerd door de Mandelbrot-set vanwege de eenvoud van de formule en de complexiteit van de figuur zelf? Dan moet U het zogenaamde Yin Yang Fire maar eens bekijken! Tijdens de ontwikkeling van een eenvoudige grafische demo, was ik verbaasd door de toevallige ontdekking die ik deed toen de demo niet werkte. Ik veranderde een aantal onbelangrijke parameters en startte de demo opnieuw, vlak voordat ik echter het programma af wilde breken en van plan was om het hele programma helemaal opnieuw te gaan schrijven, verschenen er plotseling uit het niets de meest fantastische figuren! Ik keek meer dan twee uur, ook al was ik zeer moe, van ca. 5 tot 7 s'morgens, naar de meest uiteenlopende prachtige beelden en vroeg me af waar de beelden precies vandaan kwamen. Daar ik een aantal jaren geleden naarstig op zoek ben geweest naar een algoritme om een plaatje gevuld met willekeurig gekleurde punten om te zetten in mooie vloeiend overlopende vlakken, realiseerde ik meteen dat ik (op zijn minst) een van mijn heilige gralen gevonden had. Ik had zelfs niet een statisch plaatje dat het resultaat was van een ingewikkelde formule en een ingewikkelde input, maar een zeer dynamische generator van de meest mooie plaatjes met een ongelooflijk eenvoudige formule en vrijwel geen enkele input!

Het Yin Yang Fire gevisualiseerd op een computerscherm kan men het beste vergelijken met quantum fluctuaties waar iets uit het niets ontstaat en weer verdwijnt om ruimte te maken voor een andere structuur. Dit is ook een perfecte dynamische visualisatie van het yin yang concept waarbij in het ultieme van yin de oorsprong van yang is en in het ultieme van yang de oorsprong van yin, daarom ook de naam Yin Yang Fire. Het algoritme achter het Yin Yang Fire is bijna zo eenvoudig als 1 bij 1 optellen! Het algoritme maakt alleen maar gebruik van eenvoudige binaire operaties (8 bit rekenmethodes zijn voldoende!) en kan zelfs zo snel uitgerekend worden dat men real-time plaatjes uit kan rekenen en op een computerscherm kan laten zien, zo'n 2 tot 4 plaatjes per seconde met een resolutie van 640x480, met een 100MHz Pentium. Het Yin Yang Fire is bijna net zo fascinerend als echt vuur (niets is fascinerender dan echt vuur!). De psychedelische plaatjes en animaties hebben bijna een hypnotiserend effect en indien symmetrische plaatjes worden gegenereerd dan verschijnen er ook vaak gezichtachtige patronen, kijk bijvoorbeeld naar de gezicht van een buitenaards wezen hieboven.

Elk levend wezen leeft door middel van interacties met de levende en niet-levende omgeving. De meest eenvoudige manier om dit aspect met een computer te te simuleren is door middel van een cullulaire automaat (cellular automaton). Het is een hele tijd geleden (1970) sinds John Conway het meest populaire cellulaire automaat uitgevonden heeft; het programma Life. Life is een computerprogramma welke een zeer eenvoudige vorm van "leven" simuleert, door vlakken op het beeldscherm (bijvoorbeeld pixels) te beschouwen als cellen en de cellen onderling via een heel eenvoudig algoritme met elkaar te laten communiceren. Indien men zich een groot vlak voorstelt met meerdere kleinere vlakjes (cellen) en men gaat er vanuit dat de cellen of dood of levend zijn (twee toestanden), dan zijn de regels voor het programma Life voor elke cel afzonderlijk als volgt: Indien een cel minder dan 2 of meer dan 3 levende cellen om zich heen heeft (van de 8 in totaal) dan sterft deze cel, indien het precies 2 levende buurcellen heeft dan gebeurt er niets, maar indien een cel precies 3 levende buurcellen heeft dan komt het weer tot leven (indien het dood was anders gebeurt er niets). Indien men deze regel op alle cellen toepast dan ken men elke keer een nieuwe toestand ven alle cellen, het grote vlak, berekenen en eenvoudig op het computerscherm weergeven. Indien men dan weer deze nieuwe toestand gebruikt als uitgangstoestand voor de berekening van een nieuwe toestand dan kan men herhaaldelijk nieuwe toestanden uitrekenen en deze als een animatie op het beeldscherm weergeven. Vaak wordt bij het programma Life een willekeurig gevuld veld gebruikt en het iteratief proces (herhaaldelijk toepassen van het algoritme) gestart. Dit resulteert vaak in zeer mooie en complexe dynamische figuren. Het programma heeft echter twee zeer grote nadelen; het heeft namelijk een ingewikkelde of interessante begintoestand nodig en wat nog erger is, na een bepaald aantal iteraties sterven vrijwel alle dynamische patronen en sterft de gehele automaat een niet al te interessante dood. Dit zijn echter de sterkste punten van het nieuw ontdekte Yin Yang Fire, daar het geen ingewikkelde begintoestand nodig heeft en tot nu toe is er geen enkele aanwijzing dat het Yin Yang Fire na een bepaald aantal iteraties zichzelf herhaalt (voordat de beperking van de resolutie mee begint te tellen, want elke resolutie limiteert het aantal mogelijke plaatjes) of zelfs uitsterft.

Op dit moment kan niets gezegd worden over de wetenschappelijke implicaties die het Yin Yang Fire zal hebben, het lijkt op een zeer natuurlijk dynamisch proces maar aan de andere kant kan het (nog) met geen enkel natuurlijk proces in verband gebracht worden ...





Alien

Het is ongelooflijk dat dit figuur spontaan kan ontstaan uit het niets, door alleen maar een zeer eenvoudig algoritme te gebruiken! Het is zelfs nog specialer indien met het plaatje ondersteboven bekijkt! Dit plaatje zal als symbool van het Yin Yang Fire gebruikt worden.






Cellulaire Automaat


Wat is een cellulaire automaat? Een betere vraag is wat is geen cellulaire automaat? Afgezien van een betere officiele definitie, kan men stellen dat een cellulaire automaat een systeem is dat bestaat uit individuele "cellen" die op een bepaalde manier via bepaalde regels op elkaar inwerken. Indien men deze brede definitie hanteert dan is vrijwel alles een cellulaire automaat, daar elk object opgebouwd is uit atomen, eenheden die we als cellen kunnen beschouwen in bovenstaande definitie. Normaal hanteren we de term cellulaire automaat echter voor een gesimuleerd systeem op een computer, waarbij een reeks gesimuleerde cellen gerangschikt in een raster op een bepaalde manier volgens bepaalde regels (algoritmen) op elkaar inwerken. Tevens worden normaliter alle cellen als gelijk beschouwd en wordt er op elke cel hetzelfde algoritme toegepast.


Nieuwe waarde van Y als functie van de waarden van de buurcellen



Bovenstaand figuur is een lokale weergave van een cel en zijn 8 buurcellen. Stel dat men een groot raster heeft met dergelijke cellen en dat elke cel een waarde heeft van zeg 0 tot 255 (range van een byte) en dat de waarde staat voor een bepaalde toestand, laten we zeggen de gezondheid van de cel. Indien men dan een raster kiest van 640x480 cellen, kan men de gehele staat van het raster eenvoudig weergeven op een computerscherm van 640x480 pixels en 256 kleuren. Om het automaat te laten werken heeft men alleen nog maar een begintoestand nodig en een algoritme waarmee men de nieuwe waarden van alle cellen kan berekenen. De normale werkwijze hierbij is dat men elke cel van het raster bekijkt en afhankelijk van de waarden van de buurcellen en de waarde van zichzelf een nieuwe waarde berekent. Indien men zo alle nieuwe waarden berekend heeft dan heeft men een nieuwe toestand van de automaat en kan die weer op het beeldscherm weergegeven worden. Die toestand wordt dan weer gebruikt als uitgangstoestand voor volgende berekeningen enz.

In het bovenstaande voorbeeld zal de nieuwe waarde van een huidig te beschouwen cel een functie zijn (afhangen van) de waarden van de 8 buurcellen (X1 t/m X8) en van de waarde die de cel zelf heeft (Y). Onthoudt echter dat ook verder verwijderde buurcellen bij de berekening betrokken zouden kunnen worden, maar ook minder, bijv. alleen maar de naaste buren X2, X4, X5 en X7. Om het een en ander te illustreren stel de volgende functie: Ynew=(X1+X2+..+X8)/8, dit is min of meer hetzelfde als zeggen dat de nieuwe waarde hetzelfde wordt als de gemiddelde waarde van de buurcellen. Wat zou er gebeuren met zo'n algoritme? Hier komt men op het volgende punt, deze vraag kan men alleen maar beantwoorden indien men de begintoestanden van alle cellen kent, indien ze namelijk in het begin allemaal een gelijke waarde hebben dan gebeurt er niets! Indien de cellen in het begin een willekeurige waarde hebben dan lijkt het logisch dat het algoritme ervoor zorgt dat alle cellen zichzelf zullen middelen en dat de cellen op den duur allemaal dezelfde waarde zullen hebben (Vraag: Is dat zo?). Het interessante is echter dat er oneindig veel mogelijke algoritmen en begintoestanden zijn.

Een ander belangrijk punt is dat indien men het algoritme op elke cel toepast, men in de problemen komt aan de rand van het raster, die cellen hebben namelijk minder buurcellen. Dit probleem wordt vaak op twee manieren opgelost; of men laat de randcellen onveranderd en betrekt ze niet bij de berekeningen (maar tellen wel mee als buurcellen), of de meest gebruikte manier; men laat de randcellen aan die van de andere kant grenzen, d.w.z. de linkerkant grenst aan de rechterkant, de bovenkant aan de onderkant, zodat men min of meer een soort oneindig cyclisch systeem heeft. Maar zelfs met deze twee mogelijkheden zijn er nog gigantisch veel variaties, men kan bijvoorbeeld de randcellen volgens een eigen algoritme laten veranderen of zelfs willekeurig. Het lijkt me haast overbodig te zeggen dat de meest interessante cellulaire automaten van de oneindig mogelijke, die automaten zijn waar chaotisch gedrag aanwezig is of waar er een zeer groot contrast is tussen de eenvoud van het algoritme en de complexiteit van het systeem. De Yin Yang Fire is een puur cellulaire automaat met chaotisch gedrag en met een zeer hoog contrast tussen de eenvoud van het algoritme en de complexiteit van het schijnbaar immer veranderende dynamische vuur ...


Random

Dit is een plaatje dat kan ontstaan indien men geen symmetrie gebruikt. Het aantal plaatjes dat kan ontstaan met het Yin Yang Fire is praktisch oneindig, dit plaatje is zomaar een momentopname en kan daarom geen indruk geven van het willekeurige ontstaan en afsterven van de meest gevarieerde structuren. Let wel, het algoritme bevat geen toevalsaspect! Alles ontstaat uit (vrijwel) het niets!






Chaos Theorie


Gedurende eeuwen hebben "echte" wetenschappers altijd de non-lineaire aspecten van fenomenen die ze aanschouwden genegeerd, alleen de lineaire en voorspelbare wiskundige aspecten werden uitvoerig bestudeerd. Typische voorbeelden van deze niet-lineaire aspecten die genegeerd werden zijn; wrijving, turbulentie, gedrag van meerdere deeltjes die op elkaar inwerken (bijv. gasmoleculen) of eigenlijk bijna alle fenomenen die men in de natuur kan aanschouwen, of beter gezegd alle systemen in de natuur, want in de natuur zijn eigenlijk geen wiskundige lineaire systemen! Pas sinds een jaar of 20 hebben deze niet-lineaire fenomenen van de natuur de aandacht gekregen die ze verdienen. Een belangrijke nieuwe theorie die opgebouwd is rond deze niet- lineaire fenomenen is de zogenaamde chaos-theorie. Het is niet eenvoudig om volledig uit te leggen wat de basis is van deze theorie, daar er geen duidelijke postulaten en of wetten zijn, en toch is het niet moeilijk om de basis van de chaos-theorie te begrijpen. Misschien dat de beste en kortste uitleg is; chaos is geen echte chaos! Dit betekent dat chaotische systemen, zoals het weer bijvoorbeeld, geen echte wanorde is, chaotische systemen volgen hele eenvoudige basiswetten net als lineaire systemen. Het exacte dynamische gedrag van het weer bijvoorbeeld hangt zeer sterk af van bepaalde condities en alleen bij zeer extreme omstandigheden is het een echte grote wanorde, op andere momenten lijkt het weer juist weer zeer voorspelbaar en rechtlijnig.

Een belangrijk aspect, zoniet het belangrijkste, is dat de staat van een bepaald systeem zeer sterk afhangt van de precieze begintoestand. Een beroemd voorbeeld hiervan is het zogenaamde vlinder-effect, welke stelt dat de vleugels van een vlinder in Brazilie binnen bijvoorbeeld 1 of 2 weken, een orkaan kan veroorzaken aan de andere kant van de aarde! Dit voorbeeld verwart echter veel mensen daar het niet zo eenvoudig is om te visualiseren hoe kleine luchtwervelingen grotere kunnen beinvloeden, die luchtwervelingen weer grotere, etc.. Persoonlijk geef ik de voorkeur aan een veel sprekender voorbeeld, een voorbeeld waarbij iedereen meteen inziet wat er precies bedoelt wordt met de gevoeligheid voor beginvoorwaarden. Neem bijvoorbeeld een rat tijdens de middeleeuwen toen de pest dood en verderf zaaide in Europa. Deze rat zou bijvoorbeeld op een gegeven moment de keuze gehad kunnen hebben tussen twee graanschuren, waarvan een graanschuur behoorde tot de verre voorouders van Hitler. Op dat moment had de rat direct kunnen bepalen of en hoe de tweede wereldoorlog begon! Het punt is echter dat indien men een stukje verder terugkijkt in de tijd, een vlo de keuze gehad had tussen die rat of een andere rat en zodoende de vlo bepaalde hoe en of de tweede wereldoorlog begon. Maar er zijn miljoenen of zelfs miljarden ratten en vlooien en alleen de tijd kan bepalen of een dergelijke rat of vlo zo'n duidelijke invloed heeft op de geschiedenis. Het feit is dat een vlo de geschiedenis kan bepalen, maar aan de andere kant is de kans groot dat het niet zo is ...

Een belangrijke ontdekking die min of meer beschouwd kan worden als de basis van de moderne chaostheorie is gedaan door Edward Lorenz. Tijdens het uitvoeren van een aantal weer-simulaties probeerde hij een vorige afgebroken simulatie te herstarten en kwam tot de ontdekking dat het een totaal ander resultaat gaf dan een schijnbaar dezelfde simulatie die niet afgebroken werd. Het punt was dat er bij het herstarten hele kleine afrondingsfouten waren en deze waren voldoende om de simulatie totaal te veranderen! Dit was nu juist een fundamenteel aspect van de chaos-theorie; zeer hoge afhankelijkheid van de beginvoorwaarden. Dit effect kan zelfs bewijzen dat indien men de toestand van de atmosfeer zeer nauwkeurig kan bepalen, het toch vrijwel onmogelijk is om het weer meer dan 3 dagen vooruit te voorspellen. Om dit wat te overdrijven (zonder dat het minder waar is!), indien men van elke kubieke centimeter de temperatuur, de luchtstroming, druk, vochtigheid etc.., tot de hoogste nauwkeurigheid kan bepalen, dan verbetert dit enige voorspellingen met niet meer dan een a twee dagen. En toch is het weer niet helemaal onvoorspelbaar ...

Het verband met het Yin Yang Fire effect is dat het Yin Yang Fire een echt chaotisch systeem is, het kan dan ook heel perfect de sterke afhankelijkheid van beginvoorwaarden visualiseren. Hieronder ziet men bijvoorbeeld twee verschillende begintoestanden van het Yin Yang Fire, het verschil zit slechts in 1 pixel, en verschillende toestanden na 480, 720 en 1000 iteraties. Men kan eenvoudig zien dat een zeer klein verschil al na een beperkt aantal iteraties een aanzienlijk veschil op kan leveren op het resultaat. Op het eerste gezicht lijken de onderste plaatjes wel op elkaar, maar indien men weet dat het initiele verschil niet meer is dan 1 waarde van 1 pixel van het oorspronkelijk plaatje van 640x480x256, dus ongeveer 1/(128*640*480)*100 = 0.0000025 %, dan is het uiteindelijke verschil na slechts 1000 iteraties toch heel aanzienlijk. Ter vergelijking; stel dat de plaatjes weersvoorspellingen voorstellen (wat ze uiteraard niet zijn!) en dat men leeft rond het midden van het plaatje en dat het initiele verschil een kleine meetfout is van een enkele thermometer!


Yin Yang Fire na 32, 480, 720 en 1000 iteraties

(Noot: Om ruimte en downloadtijd te sparen, wijzen de eerste twee plaatjes naar dezelfde file)

Klik op het cel-plaatje hieronder om een langere sequentie te zien en hoe de cel-figuur ontstaat!



De bovenstaande eerste vier toestanden tonen het begin van het Yin Yang Fire, beginnende met een willekeurige toestand dan wel te verstaan, verdere toestanden kan men bekijken door op het onderste cel-plaatje te klikken. Daar het Yin Yang Fire een zeer willekeurig-achtig karakter heeft, is het verassend dat de totale staat van het systeem (in dit geval de som van alle cellen) juist een zeer stabiel periodiek kakakter heeft. Zoals men hieronder kan zien lijkt de staat van het systeem op een AM-gemoduleerd (AM=Amplitude Modulatie) signaal, waar de modulatie zelf (de variatie in de amplitude) ook zeer verassend stabiel is. Wat betekent dit? Ik weet het (nog) niet, maar meer onderzoek wordt verricht om dat te achterhalen en om een eventuele atrractor zichtbaar te maken.


Staat van YYF-automaat (S=som van alle cellen)


(Noot: De grafiek toont S voor de linker reeks. Waar A,B,C en D staan voor de vier getoonde toestanden)

Lange termijn Staat van YYF-automaat (S=som van alle cellen)




Bovenstaande grafiek toont een zeer vreemd effect, na ongeveer 50.000 iteraties (ongeveer 120 perioden van ca 428 iteraties) verandert de amplitude van de staat van het systeem plotseling. Het feit dat de staat een zeer stabiel periodiek karakter heeft is al heel vreemd, maar dat de amplitude plotseling minder wordt en min of meer gelijk blijft tot minstens 1.800.000 iteraties is op zijn minst heel erg vreemd. Het is ongeveer hetzelfde als een stabiel kloppend hart dat plotseling minder bloed rond pompt ...

Indien men een animatie bekijkt van het Yin Yang Fire met een 428 iteratie-interval (ongeveer de periode van een 640x480 Yin Yang Fire), dan kan men zien dat de cellen op een bepaalde manier in de maat gaan lopen, m.a.w. ze synchoniseren op een bepaalde manier. Dit effect wordt over het gehele plaatje van 640x480 cellen zeer goed zichtbaar na ongeveer 50.000 iteraties. Dit betekent dan ook min of meer dat de reductie in de amplitude het resultaat is van deze synchronisatie. Het omslagpunt is ook ongeveer het moment dat de bovenstaande cel-structuur ontstaat (na 42.444 iteraties). Het cel-plaatje is in feite alleen maar een overgangs-product (tenminste zo lijkt het) naar de gesynchroniseerde fase. Bovenstaande betekent tevens dat de meer willekeurig ogende plaatjes (die na een groot aantal iteraties onstaan) van het typische Yin Yang Fire, veel meer gesynchroniseerd (of is georganiseerd een beter woord?) zijn dan de regelmatiger lijkende begintoestanden.




Wetenschappelijke Aspecten


Het Yin Yang Fire is toevallig ontdekt tijdens de ontwikkeling van een eenvoudig grafisch demo-programma en op dit moment is nog niet duidelijk of het enige wetenschappelijke betekenis heeft. Het is al min of meer duidelijk dat het algoritme uniek is omdat het zo simpel is en dat het een zeer complex dynamisch systeem oplevert en met als toevallig bijproduct dat het gewoon hele mooie plaatjes en animaties genereert.

Zelfs zonder uitgebreid onderzoek zijn de volgende uitspraken zeer plausibel:

Op dit moment is meer onderzoek nodig om te bepalen of het Yin Yang Fire enige wetenschappelijk waarde heeft, het onderzoek zal in het begin draaien rond de volgende punten/vragen:

(Dit gedeelte wordt uitgebreid gedurende het onderzoek)



Funny Bear

Of aap? Just for fun ... Deze plaatjes verschijnen echt indien men naar lang genoeg wacht! Kunt U zich een betere screensaver voorstellen?





Symmetry

Dit voorbeeld toont een zeer symmetrisch Yin Yang Fire effect.






Plaatjes/Animaties


Het Yin Yang Fire kan een oneindig aantal plaatjes en animaties produceren, bij onderstaande link kan men meer plaatjes en een eenvoudige animatie aantreffen. De pagina is echter wel groter dan 1 MB, dus kijk alleen maar indien U geinteresseerd bent.

Meer Plaatjes ...

Onderstaande link bevat een kleine zwart/wit mpeg Yin Yang Fire animatie welke 10 juni 1999 getoond is op MTV's programma Top Selection.

Yin Yang Fire animatie (mpeg-file: 1.2MB)




Producten


Er is besloten om het algoritme van het Yin Yang Fire nog niet openbaar te maken, eerst zal er meer onderzoek verricht worden naar de verschillende aspecten van het Yin Yang Fire. Dit betekent ook dat computer-programma's die het effect tonen, in de nabije toekomst nog niet vrijgegeven worden. Ik vraag hierbij om geduld van de geinteresseerden, maar ik zou het mezelf nooit kunnen vergeven indien iemand anders een wetenschappelijke ontdekking doet met behulp van het Yin Yang Fire, die ik net zo goed zelf had kunnen doen. Men kan wel een email sturen om automatisch een demo-programma te ontvangen zodra het Yin Yang Fire vrijgegeven wordt naar : jack@ramos.nl Met de tekst "Yin Yang Fire" in het subject of in de tekst. De demo zal niet groter zijn dan ca. 50 kBytes, om een idee te geven, alle plaatjes op deze pagina zijn gemaakt met een programma van zo'n 2 kB!

Verder zijn er verschillende ideeen om voorlopig Yin Yang Fire producten beschikbaar te stellen waarvan de opbrengsten bedoeld zijn om het onderzoek financieel te ondersteunen (d.w.z. tijd om er aan te werken). Het is nog niet duidelijk in welke vorm de producten zullen verschijnen, maar er wordt gedacht aan een CD-ROM met plaatjes en animaties, posters etc.. Tevens zijn er ideeen om een boek te schrijven met daarin de resultaten van het onderzoek, maar een en ander is allemaal afhankelijk van het onderzoek zelf ...

Maar iets wat ik zelf mooi zou vinden is een science-fiction film, met daarin een grote mysterieuze zwevende halfdoorzichtige bol waarop het Yin Yang Fire brandt ...




Discussie Lijst


Er is een email-discussielijst gestart met betrekking tot het Yin Yang Fire, chaos, factals en cellulaire automaten. Ga naar de site Onelist (Gratis email-discussielijsten provider) en klik op "Find a List" en zoek naar "yyfire", de rest verklaart zichzelf. Men kan zich ook wat meer directer aanmelden met behulp van de volgende link : Aanmelden yyfire lijst.




Houdt de site www.ramos.nl in de gaten voor Yin Yang Fire 1.0!

(Geen indicatie over de datum kan gegeven worden)


April 1999 : Gekozen als site van de maand door het Nederlandse wiskunde tijdschrift Pythagoras

10 juni 1999 : Yin Yang Fire animatie getoond in MTV's programma: Top Selection


Ruijs Automation Home Pagina / Yin Yang Fire / RAMOS / Favouriete Links / jack@ramos.nl / revised Juli 1999