analoge computers

AKAT-1, een analoge computer. Ooit state of the art. Zullen analoge computers weer een comeback maken? Bron: Wikimedia Commons

Analoge computer maakt comeback

Analoge computers zijn uit. Alle computers die we uit het dagelijkse leven kennen zijn digitale computers. Kwantumcomputers komen steeds meer in het nieuws. Nu is de analoge computer met een eigen programmeertaal veel gebruiksvriendelijker geworden. Komt er een comeback?

Wat zijn analoge computers?
Computers zijn apparaten die rekenen, ruimer gezegd: informatie verwerken. Dat kan op verschillende manieren. De computers die wij uit het dagelijkse leven kennen maken gebruik van twee spanningsniveaus, die worden geïnterpreteerd als 0 en 1. Deze digitale computers zijn veel sneller wat betreft het verwerken van exacte getallen dan andere types computers. Ook zijn ze gemakkelijk te programmeren. Geen wonder dus, dat we nu al twee generaties massaal gebruik maken van digitale computers, en niet van analoge computers zoals rekenlinialen.

Analoge computers vormen een analogie (overeenkomstige structuur) van een systeem waaraan ze berekeningen verrichten. Eigenlijk kan je hier dus beter spreken van een meting dan van een berekening. In de jaren vijftig gebruikte het CBS een indrukwekkend buizensysteem om de pseudowetenschap der economie mee te beoefenen. Deze analoge computer werkte door middel van het principe van de communicerende vaten. Hieronder een filmpje met een overgebleven exemplaar van zo’n ding, de MONIAC.

Sommige vraagstukken zijn in feite makkelijker met een analoge, dan met een digitale computer aan te pakken. Een differentiaalvergelijking, bijvoorbeeld, is lastig om numeriek uit te drukken. Het kost een digitale computer vele rekenstappen met algoritmes als Runge-Kutta om de uitkomst van een differentiaalvergelijking vast te stellen. Met een analoge computer kan dat in principe vrijwel direct, ongeacht hoe ingewikkeld het stelsel van differentiaalvergelijkingen is. Hiervoor wordt het vaakste gebruik gemaakt van een elektronische analoge computer. De verandering van een elektrische stroom (m.a.w. de differentiaal) wekt een magnetisch veld op. Hoe meer verandering, hoe sterker de magnetische piek. Meet dat magnetische veld met de gewenste nauwkeurigheid en zie, daar is in een fractie van een seconde je antwoord, terwijl de digitale computer nog zucht en kreunt.

AKAT-1, een analoge computer. Ooit state of the art. Zullen analoge computers weer een comeback maken? Bron: Wikimedia Commons
AKAT-1, een analoge computer. Ooit state of the art. Zullen analoge computers weer een comeback maken? Bron: Wikimedia Commons

Programmeren tot nu bottleneck
Dit klinkt te mooi om waar te zijn en dat is het dan ook. De voornaamste bottleneck voor de analoge computer is de enorme moeite die het kost om dit juweel te programmeren. In de jaren vijftig was er domweg geen andere keus, maar nu kunnen differentiaalvergelijkingen eenvoudig in programma’s als Maple of Mathematica, of voor de minder pecuniair gezegenden, het open-source alternatief Sagemath, ingevoerd worden. Digitale computer zijn zo snel, dat zelfs de omslachtige digitale manier toch snel resultaat oplevert. Al kosten echt uitgebreide stelsels, zoals die je nodig hebt om complexe biologische systemen na te bootsen, nog steeds erg veel rekentijd. Niet voor niets kijken veel wetenschappers nog steeds verlekkerd naar de mogelijkheden van analoge computers.

Wat zijn afgeleides en differentiaalvergelijkingen? Wat kan je er mee?
Differentiaalvergelijkingen beschrijven de relatie tussen een functie, f(x) en de afgeleide van een functie, f'(x). In normale mensentaal: tussen de functie en de veranderingssnelheid van een functie. Als je weet hoe een functie zich gedraagt, kan je het gedrag voorspellen.

Logistische (sigmoïde) curve. Bron: Wikipedia
Logistische (sigmoïde) curve. Bron: Wikipedia

Zo zijn er veel groeiprocessen, bijvoorbeeld die van een markt, die zich gedragen als een zogeheten sigmoïde, een s-vormige functie. De afgeleide van deze s-vorm is de bekende klokfunctie of normale verdeling, een heuvel rond het nulpunt. Als je als startende ondernemer in een markt actief wilt zijn, is het slim om een markt te kiezen die steeds sneller groeit. Met andere woorden: waarvan de afgeleide groeit. Neemt deze groeisnelheid af, dan wordt de concurrentie moordend en zijn je kansen maar klein. Ik zag bij een multilevel-marketingbedrijf in Nederland een grafiekje van de meer ontwikkelde Duitse markt en herkende de sigmoïde. Dus geloofde ik de juichverhalen over de Nederlandse markt, die het beginstukje van de sigmoïde vormde, niet meer. Deze zou, kon ik afleiden, onvermijdelijk ook stagneren.

Met een enkele differentiaalvergelijking kan je bijvoorbeeld heel mooi natuurkundige velden beschrijven. Groepen differentiaalvergelijkingen geven de wisselwerking weer in een ingewikkelder systeem, zoals een lichaamscel of een chemische reactor. Als je het gedrag van deze differentiaalvergelijkingen kan voorspellen, ken je het systeem en het gedrag van het systeem. En, kennis is macht.

Programmeertaal voor analoge computers
Enkele van die mensen die de beperkingen van digitale computers zat zijn, zijn prof. Martin Rinard van de Amerikaanse topuniversiteit MIT en  voormalige collega Rahul Sapeshkar, die met een aantal doctoraalstudenten een analoge chip hebben ontwikkeld. Hiermee kunnen analoge berekeningen worden uitgevoerd. De chip kan wel door middel van een digitale computer worden geprogrammeerd en uitgelezen. Zij hebben hiervoor een programmeertaal voor deze chip (en soortgelijke chips) ontwikkeld.
In Arco, de programmeertaal van de groep onderzoekers, kunnen differentiaalvergelijkingen gemakkelijk worden toegevoerd. Het kost per differentiaalvergelijking ongeveer een minuut om deze in te programmeren. Zelfs een complex stelsel van zeventig differentiaalvergelijkingen kan in ongeveer een uur worden ingevoerd en gecompileerd. Zoals bij alle analoge computers zijn de resultaten in principe vrijwel onmiddellijk bekend.
Met een eenvoudige chip kan zo een supercomputer worden vervangen. Althans: voor dit soort simulaties.

Bron
Sara Achour, Rahul Sarpeshkar, and Martin Rinard, Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2016), Santa Barbara, CA, June 2016

De voorkant van het raadselachtige Antikythera mechanisme, gevonden in de Egeïsche Zee. De oudste analoge computer, volgens velen.

Belgen ontwikkelen totaal nieuw type computer

Voor het eerst zijn computerwetenschappers er in geslaagd opto-elektronische reservoircomputing, een nieuwe vorm van informatieverwerking, in de praktijk te brengen. De eerste resultaten zijn indrukwekkend.

Wat is feedback?
We kennen allemaal positieve en negatieve feedback loops, zij het onder een andere naam. Negatieve feedbackloops houden systemen in evenwicht, terwijl positieve feedback loops juist werken als een versterker. Een voorbeeld van een negatieve feedbackloop is een volstromende badkuip. Als het waterniveau te hoog is, stroomt het water weg. Een positieve feedbackloop is bijvoorbeeld een brand (de hitte veroorzaakt nog meer brand) of de vorming van een ijskap (die zonlicht weerkaatst, waardoor deze afkoelt en zo groeit), waardoor een kleine oorzaak enorme gevolgen krijgt.  De natuur is zo ingewikkeld omdat deze bestaat uit talloze feedback loops die allemaal met elkaar in verbinding staan. Deze ingewikkeldheid schrikte onderzoekers tot nu toe af, maar steeds krachtiger hulpmiddelen voor berekeningen, en het inzicht dat er heel interessante dingen te ontdekken zijn, maken dat toch steeds meer wetenschappers de jungle van complexe feedback loops induiken.

Maakt analoge computer een comeback?
Zowel positieve als negatieve feedback kan je gebruiken als rekenelement voor een computer. Dat is precies wat Yvan Paquot van de Vrije Universiteit van Brussel en enkele collega’s hebben gedaan. Zij beschrijven de eerste praktische uitvoering van een exotische nieuwe vorm van computing die het feedbackmechanisme gebruikt om tot dusver ongekend snelle analoge berekeningen te kunnen uitvoeren. Het inzicht achter hun baanbrekende werk: een feedback loop verwerkt informatie. Bijvoorbeeld: brand -> hitte + brandstof -> nog meer brand. Het berekent dus de gevolgen van het combineren van hitte en brandstof, informatie uit het recente verleden. Die informatie is in de feedback loop opgeslagen.

Wat is een analoge computer?
Er bestaan twee soorten computers. Digitale computers, zoals die waarop ik dit stukje zit te tikken (en u te lezen), en analoge computers, al bekend uit de vroege oudheid, die tot in de jaren vijftig en zestig heel populair waren en in feite een soort model vormen van het systeem dat bestudeerd werd.

De voorkant van het raadselachtige Antikythera mechanisme, gevonden in de Egeïsche Zee. De oudste analoge computer, volgens velen.
De voorkant van het raadselachtige Antikythera mechanisme, gevonden in de Egeïsche Zee. De oudste analoge computer, volgens velen.

Zo gebruikten economen in de jaren vijftig een model met waterbuizen als analoge computer om de gevolgen van bijvoorbeeld een hogere rente op de Nederlandse economie te voorspellen en de resultaten waren niet eens zoveel beroerder als nu. Dergelijke effecten kan je ook bereiken met elektrische schakelingen of mechanische modellen.

Een kenmerkende eigenschap van analoge computers is dat ze continu zijn. Dat wil zeggen: ze werken met een glijdende schaal, niet met gehele getallen, zoals een digitale computer. De voorganger van de rekenmachine was de rekenliniaal (er hing nog zo’n levensgroot stokoud ding  in ons natuurkundelokaal). In feite een analoge computer. De oude garde weeklaagde geregeld dat sinds de invoering van de rekenmachine, leerlingen hun gevoel voor getallen kwijtraakten. Digitale computers zijn sinds de jaren zestig echter zo snel geworden, dat niemand meer geïnteresseerd is in het moeizame gepruts dat werken met een analoge computer met zich meebrengt. Jammer, want de natuur werkt analoog, niet digitaal.

Reservoir computing makkelijker in gebruik dan neuraal netwerk
Het type computer dat Paquot en zijn collega’s hebben gebouwd is een reservoir computer. Het reservoir bestaat uit een redelijk groot aantal knooppunten, nodes, die op toevalige wijze met elkaar zijn verbonden. Elke node gedraagt zich als een niet-lineaire feedback loop. Dit wil zeggen dat het systeem zich chaotisch kan gedragen. In de proefopzet die gekozen is door Paquot en zijn team, werden willekeurige nodes gekozen voor de invoer en andere, eveneens gekozen willekeurige nodes, om de uitvoer te lezen. Het systeem wordt vervolgens getraind om de gewenste berekening te produceren, door de uitvoer-nodes onderling op een bepaalde manier te wegen. Dit werkt veel simpeler dan bij een neuraal netwerk, dat veel lastiger fijn is te stellen. Reservoir computers bestaan al sinds de eeuwwisseling en zijn gebouwd van onderdelen, uiteenlopend van emmers water tot programmeerbare chips om zo feedback loops te creëren. Netwerken met enkele honderden eenheden bleken al in staat om enkele woorden te herkennen.

Rekenen met licht
Uniek aan deze opstelling is dat de onderdelen uit bestaande opto-elektronica bestaan en met de snelheid van het licht werken. Geen positronisch, maar een optisch brein dus. Sorry, Asimov. Elk knooppunt is een optoelektronische ‘ding’ waarbij de hoogte van de spanning bepaalt hoeveel licht er uit wordt gezonden. Deze output-lichtbundel komt in een glasvezel terecht die het licht terug stuurt naar de fotodiode die de spanning opwekt. Een ‘negatieve’ non-lineaire feedback dus met een vorm van (extreem) kortdurend geheugen.

Vijftig knooppunten maken slechts 0,4% fouten in woordherkenning
De onderzoekers slaagden er in om hun vijftig knooppunten, random met elkaar verbonden, taken als het onderscheiden van sinusgolven en blokgolven, en zelfs eenvoudige woordherkenning, te leren. Het ging hier om de door een vrouw gesproken getallen 1 tot 9, die de computer moest leren te herkennen. Hierin slaagde de schakeling in 99,6 % van de gevallen. Twee fouten in vijfhonderd herkende woorden dus. Nog indrukwekkender is de snelheid: het systeem werkt rond een miljoen keer sneller dan eerdere systemen. Een verdere toename met factor honderd tot duizend, waarvoor kant en klare opto-elektronische onderdelen kunnen worden gebruikt, ligt volgens de groep in het verschiet. Kortom: hiermee wordt het interessant voor real-life toepassingen. Zal deze benadering ooit digitale computers overtreffen? Volgens Paquot en zijn groep is dat nog de vraag, maar dat de kans hierop nu behoorlijk groot is geworden is duidelijk.

Reservoir computing: werking van het systeem
Reservoir computing: werking van het systeem

Bron
Yvan Paquot, Optoelectronic Reservoir Computing, Arxiv (2011)