Het veranderende beeld van de informatica
volledige
tekst
Waarde toehoorders
Op 19 mei 1990, \'e\'en jaar voor het World Wide Web ontstond, ging op Broadway een bijzonder toneelstuk in premi\`ere. Het stuk, getiteld Six Degrees of Separation, gaat over de vreemde gebeurtenissen die plaatsvinden als een volstrekt onbekende jongeman zich met mooie praatjes binnendringt in het leven van Louisa en Flanders Kittredge. De indringer lijkt \'alles over hen te weten! Louisa denkt dat ze weet hoe dat mogelijk is. Ze zegt:
`I read somewhere that everybody on this planet is separated by only six other people. Six degrees of separation. Between us and everybody else on this planet. ... [only] six people to make the connection.'
Het stuk geeft niet aan waar Louisa dit gelezen heeft, maar het moet wel een artikel van de socioloog Stanley Milgram geweest zijn. In 1967 vroeg Milgram aan zo'n 100 willekeurig gekozen mensen in Kansas en Nebraska om een document te sturen aan een h\'en volslagen onbekende persoon in Boston. Hij gaf als instructie mee dat het document alleen maar verzonden mocht worden via een persoon die men w\'el kende. Elke tussenpersoon werd gevraagd om dezelfde instructie te volgen. Tot Milgram's verrassing kwam uiteindelijk een flink aantal documenten op de juiste plaats aan, met ketens van 2 tot 10 tussenpersonen en een gemiddelde van maar 6 stappen: `six degrees of separation'! Die kleine gemiddelde afstanden zijn sindsdien in veel sociale netwerken waargenomen. Milgram noemde het heel toepasselijk de `kleine wereld' eigenschap.
Vanmiddag wil ik u wat vertellen over de vele facetten van het tegenwoordige informatica-onderzoek. Veel van dit onderzoek vindt u in het Utrechtse Instituut voor Informatica en Informatiekunde, waaraan ik vrijwel sinds de oprichting ben verbonden. Waar gaat het in de Informatica zoal om. Om u dat te laten zien, neem ik u graag mee op een kleine excursie.
Kwestie \'e\'en is de beperkte eindigheid. Al bij kleine problemen kun je tegen de grenzen van het haalbare aanlopen. Ik geef een eenvoudig voorbeeld uit de logistiek. Stel we hebben 100 dozen en twee wagens. We willen de dozen zo verdelen over de twee wagens dat beide precies even zwaar beladen worden. K\'an dat eigenlijk wel? Als alle dozen even zwaar zijn, is de oplossing simpel: 50 dozen op wagen 1, en 50 op wagen 2. Zijn de dozen niet even zwaar, wat doen we dan? Omdat er voor elke doos twee mogelijkheden zijn, wagen 1 of wagen 2, zijn er in beginsel 2^{100} verdelingen denkbaar. Bestaat er een verdeling waardoor de wagens precies even zwaar beladen worden en, kan een computer berekenen of er een is? Stel we zouden een computer hebben die maar liefst 1 biljoen instructies per seconde kan uitvoeren en stel dat we 100 van die computers tegelijk kunnen laten rekenen. Het stuk voor stuk onderzoeken van alle 2^{100} mogelijkheden kost dan nog altijd minstens 300 miljoen jaar! Dat is dus onuitvoerbaar. En nu is dit nog maar een klein probleem. Hoe kunnen we dit soort problemen eigenlijk w\'el oplossen. Welke eigenschappen kun je ontdekken waarmee je de grens van het praktisch oplosbare zo v\'er mogelijk kunt leggen?
Kwestie twee is modelleerbaarheid. Modellering is het uitgangspunt voor veel ontdekkend informaticaonderzoek. Ik neem het World Wide Web weer als voorbeeld. Een paar jaar geleden werd bedacht dat het belang van een willekeurige webpagina wel eens afgelezen zou kunnen worden aan de structuur van het Web. Het idee is: hoe vaker naar een pagina verwezen wordt, hoe belangrijker die pagina is. Op grond van dit idee zijn modellen bedacht om voor elke webpagina een rang te berekenen. De zoekmachine Google gebruikt zo'n goed model dat deze zoekmachine nu een van de beste is in het rangschikken van webpagina's. Een hoge Google paginarang is zelfs een status voor websites geworden: aardig is dat in de Nederlandse top-100 qua paginarang de site van onze Universiteit nu op de vijfde plaats staat, hoger dan enige andere universitaire instelling in Nederland (met Leiden `op onze hielen'). Goede modellering is essentieel om de informatiestromen in enig systeem te begrijpen. Het is van belang als je een biologisch systeem wilt simuleren, als je processen in een bedrijf wilt modelleren of misschien wel een organisatie als geheel, als je de kennis van een groep experts wilt modelleren en ga zo maar door. Modellen moeten ook steeds preciezer, mooier, groter en natuurgetrouwer zijn.
Kwestie vier is programmeerbaarheid. De vereisten voor moderne software zijn zo complex dat deze nog maar nauwelijks te realiseren zijn. Bijvoorbeeld, een geautomatiseerd productieplanning- en besturingsysteem voor een bedrijf moet honderden, misschien wel duizenden functies realiseren die waarschijnlijk nooit eerder goed beschreven waren. Hoe en in welke vorm is te specificeren wat eigenlijk gemaakt moet worden? Hoe moet je omgaan met die specificaties als ze duizenden pagina's in beslag nemen? En: hoe weet je dat je gemaakt hebt wat de bedoeling was?
De eerste kwestie die ik noemde, was de beperkte eindigheid. In de praktijk wil iedereen steeds grotere problemen oplossen. De vraag is: tot hoever kun je gaan? Als voorbeeld noemde ik de vraag of 100 willekeurig gegeven dozen z\'o over twee wagens zijn te verdelen dat beide precies even zwaar beladen worden. We zagen dat het aantal mogelijkheden om de dozen te verdelen al z\'o groot is dat geen enkele computer die allemaal in redelijke tijd kan bekijken. Dit moet dus slimmer, maar hoe? Sinds ongeveer 1960 weten we dat oplosmethoden `t liefst polynomiaal begrend zijn. In het voorbeeld betekent dit dat de rekentijd hoogstens evenredig is aan het gezamenlijke formaat van alle gewichten in bits, tot de tweede of de derde macht of zoiets. Met zo'n oplosmethode kan een gewone pc het probleem voor 100 dozen al gauw in een paar seconden oplossen, en voor 100.000 dozen in een halfuurtje. Alleen ... tot nu toe heeft nog ni\'emand een polynomiaal begrensde oplosmethode voor dit probleem gevonden! Zou zo'n methode wel bestaan?
Het dozenprobleem lijkt simpel genoeg. Voor elke gegeven verdeling van de dozen is snel uit te rekenen of het een goede oplossing is: tel de gewichten van de dozen op beide wagens op en kijk of er hetzelfde uitkomt. Zoiets heet een polynomiaal begrensde `verificatiemethode'. De vraag is nu: heeft ieder beslisprobleem met een polynomiaal begrensde verificatiemethode automatisch ook een polynomiaal begrensde oplosmethode? Dat zou een prachtig resultaat zijn! De vraag is echter al meer dan dertig jaar onbeantwoord, en er is inmiddels 1 miljoen dollar uitgeloofd voor de oplossing ervan!
Voor veel problemen zijn de grenzen nog onbegrepen. Sommigen zoeken inspiratie bij processen in de biologie of de fysica, om nieuwe rekenmechanismen te ontdekken. Anderen recruteren alle grote computers op het Internet om deze samen te laten rekenen. E\'en gebied in de informatica heeft juist baat bij de beperkte eindigheid en dat is de cryptografie. De veiligheid van het betalingsverkeer op Internet bijvoorbeeld, vereist cryptografische codes die z\'o ontworpen moeten worden dat ze niet in redelijke rekentijd te kraken zijn.
Heel veel onderzoek wordt gedaan om modellen te realiseren op computers. De voorbeelden vari\"eren van besliskundige netwerken voor artsen via virtuele omgevingen voor ruimtelijke simulaties tot de toeleveringsketens van bedrijven. In het ene geval willen we de kennis van experts begrijpen en vormgeven, in het andere geval de fysische realiteit, althans de menselijke perceptie van die realiteit. Modellen in de informatica bestaan uit programma's. Maar om die te maken schieten bestaande theorie\"en vaak tekort. En dit leidt vaak weer tot prachtige nieuwe ontdekkingen, of het nu om biologische, scheikundige, medische, cognitieve of economische systemen gaat.
In de klassieke grondslagen van de informatica staan juist begrippen zoals eindige berekening en berekenbaarheid centraal. Maar op tegenwoordige systemen zijn die begrippen nauwelijks meer toepasbaar: de systemen werken interactief in een onvoorspelbare omgeving, hun programmatuur leert en verandert in de tijd, ze zijn mobiel, kennen hun geografische locatie en nog veel meer. Dit vraagt m een nieuwe grondslagentheorie die beter aansluit. Om die te vinden zoeke we bijvoorbeeld inspiratie in de evolutiebiologie, met haar kennis van evoluerende systemen. Maar zie je een systeem als een stelsel van samenwerkende intelligente componenten, dan dringt zich ook een analogie met de speltheorie op. Deze theorie wordt op dit moment volledig vernieuwd, nu binnen de informatica.
Wat een praktische programmeeromgeving is, hangt van veel factoren af. Wie bijvoorbeeld in een grafische context levensechte gezichten en expressies van emotie wil vormgeven, heeft zeer waarschijnlijk niets aan de abstracties voor protocollen in telecommunicatie-netwerken. En het werken met multimediale informatie, van audio tot video, vraagt een geheel andere programmeeraanpak dan het ontwerp van een groot financieel beheersysteem. En nu hebben we het nog niet over de programmeertechnologie. Industri\"ele software is zo groot en complex dat mensen de bouw ervan nauwelijks meer aankunnen. IBM heeft dit zelfs tot een van de gr\'o\'otste problemen van de IT-sector voor de komende jaren verklaard. De oplossing wordt gezocht in systemen van componenten die zichzelf opbouwen en aanpassen aan de eisen van de omgeving: programma's dus die programma's bouwen en onderhouden.
In de afgelopen 50-60 jaar zijn vele belangwekkende visies op het toekomstig profiel en profijt van de ICT gegeven. Een actueel voorbeeld is de ontwikkeling van intelligente omgevingen. Rond 1990 beschreven onderzoekers van Xerox PARC hoe de leefomgeving van ieder mens veel aangenamer zou kunnen worden gemaakt door het overal inbouwen van `onzichtbare informatietechnologie'. In een aantal grote onderzoeksinstituten zijn proefomgevingen gebouwd om te ontdekken welke omgevingsintelligentie mensen nuttig en plezierig vinden. Binnen Philips Research is hiertoe vorig jaar zelfs een compleet huis ingericht, het `Home Lab', waar idee\"en door proefpersonen kunnen worden getest.
Als er \'e\'en visie is die anno 2003 domineert dan is het wel: de doorbraak van de informatica in \'alles om ons heen. Om dit aan te tonen zou ik nu een gloedvol betoog moeten houden over bio-informatica, juridische informatica, ICT in de gezondheidszorg, de digitale overheid, enzovoorts. De huidige visie in het onderzoek is, dat `grote' wetenschappelijk uitdagingen centraal moeten staan. De Computer Research Association heeft vorig jaar geprobeerd een lijst van dergelijke uitdagingen te bepalen. Boven aan de lijst staan: adaptieve leeromgevingen, cognitieve ondersteuning met computers, het ontwerpen van absoluut betrouwbare en veilige systemen en het bouwen van foutbestendige informatiesystemen uit miljarden autonome delen. Informatici in Engeland hebben daar afgelopen najaar nog eens een schepje bovenop gedaan en benadrukken het ontdekkende karakter van de informatica: zij hebben een groot aantal wetenschappelijke uitdagingen geformuleerd uiteenlopend van ge\"{i}ntegreerde media tot zelfs de modellering van het centrale zenuwstelsel.
In Nederland wordt de wetenschapsvisie op de informatica bepaald door de `Nationale Onderzoeksagenda Informatica'. Deze onderzoeksagenda beschrijft een zevental deelgebieden van de informatica die voor Nederland het meest belangrijk en kansrijk zijn, zoals software engineering en intelligente systemen. De onderzoeksagenda is \'e\'en van de uitgangspunten voor het landelijke onderzoeksbeleid dat de nieuwe ICT-kennis, patenten en innovaties voor de Nederlandse industrie \'en de hoog-opgeleide onderzoekers voor onze kenniseconomie moet opleveren. Prioriteiten in het Nederlandse wetenschapsbeleid!
Voor Utrecht liggen er niet alleen wetenschappelijke uitdagingen. De landelijke trend lijkt gericht op de vorming van enkele grote clusters in belangrijke deelgebieden van de informatica. Er is sprake van clusters in bijvoorbeeld de telematica, embedded systems, software engineering, multimedia en fundamentele ICT. Utrecht zal positie moeten kiezen in dit veld. Kiezen we niet voor een deelgebied, en waarom zouden we, dan lijkt een sterke Utrecht School of Information Technology die zich juist br\'e\'ed opstelt, het beste alternatief. We zullen onze Utrechtse positie in het onderzoek ook waar moeten maken naast \`en met de zorg voor de ruim 700 actieve studenten die nu al aan ons Instituut studeren.
Aan het begin noemde ik dat het beeld van de informatica nogal eens wordt bepaald door de software die op de markt beschikbaar is en door de `solutions' die IT-bedrijven aanbieden. Linux, Windows, UML, Java, C++, C#, Flash-MX, JavaScript, ASP en PHP, Web Services, en XML, daar lijkt het allemaal om te gaan. Ik heb u op deze Di\"es een ander beeld willen schetsen: dat van een ontdekkende wetenschap gewijd aan het doorgronden van alle systemen die interactief, intelligent en nog veel meer zijn. Een wetenschap gewijd aan het begrijpen van die ongrijpbare materie waarin alles om ons heen en alle kennis zich aan ons manifesteert: informatie.
Het blijft natuurlijk verstandig om altijd een echte computer-wizard in de buurt te hebben, \'e\'en die nooit verder weg is dan ... six degrees of separation!
Ik dank u voor uw aandacht.
Ik heb gezegd.
volledige
tekst en literatuurlijst
Last modified: March 2003