UU
HOME ics.uu.nl


CENTER FOR ALGORITHMIC SYSTEMS

Interactief, intelligent en nog veel meer

Het veranderende beeld van de informatica



Rede uitgesproken door Prof.dr Jan van Leeuwen ter gelegenheid van de 367ste Dies Natalis
van de Universiteit Utrecht, in de Domkerk te Utrecht op 26 maart 2003.

(Versie zoals uitgesproken)


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.

Informatica

Vier jaar geleden werd aangetoond dat ook het World Wide Web de `kleine wereld' eigenschap heeft! Uit een onderzoek met de zoekmachine AltaVista dat 200 miljoen webpagina's omvatte, bleek dat webpagina's heel vaak onderling bereikbaar zijn via een pad van opeenvolgende hyperlinks. De afstand tussen twee willekeurige pagina's die via een pad verbonden zijn, bedroeg gemiddeld niet meer dan 16 hyperlinks. Negeer je de richting van de hyperlinks, dan daalt de gemiddelde afstand zelfs tot ongeveer 6: `six degrees of separation'! Hoe is die `kleine wereld' eigenschap van het Web eigenlijk te verklaren?

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.

Typerende kwesties

Bij informatica denkt iedereen automatisch aan computers en software. Ik wil u een ander beeld van de vakgebied laten zien. De wetenschappelijke informatica, onderzoekt met behulp van computers de wereld om ons heen. De gedachte is dat alle systemen, in de natuur of door de mens bedacht, te herleiden zijn tot `het communiceren en verwerken van informatie'. Vanuit deze gedachte worden systemen op elk denkbaar terrein onderzocht en gemodelleerd, om ze vervolgens op computers te realiseren. Het is wetenschappelijk \'en maatschappelijk \'e\'en van de prachtigste ontwikkelingen van de afgelopen eeuw. Maar tegen welke fundamentele kwesties loop je aan? Ik noem er vanmiddag vier.

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.

Nog meer kwesties

Kwestie drie die hoog op de agenda staat is bruikbaarheid. Bruikbaarheid betekent letterlijk: geschikt voor gebruik, voor een bepaald doel of een bepaalde functie. Bruikbaarheid leidt tot onderzoeksvragen zoals: hoe kunnen we een systeem optimaal afstemmen op de organisatie van een bedrijf of op de mensen die ermee moeten werken? Bruikbaarheid is \'e\'en van de meest ingrijpende maar ook minst begrepen eisen die gesteld worden aan systemen. Dit wordt ook verwoord in de `onmogelijk-te-leren Wet van Gelernter' die zegt dat een bedrijf een systeem alleen dan moet vervangen als het nieuwe beter is, en niet omdat het nieuw is. Menig bedrijf merkt pas achteraf dat een nieuw systeem geen verbetering oplevert, of niet goed aansluit op de reeds gebruikte systemen. Welke wetenschappelijke inzichten zijn nodig om deze problemen te vermijden?

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 grenzen van het eindige

Geachte toehoorders. We zitten inmiddels `six degrees' diep in de materie en moeten naar de volgend halte op onze excursie. Tot welk onderzoek leiden de vier genoemde kwesties? Ik geef weer een paar voorbeelden.

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.

Kwesties van modelleren

Kwestie twee was: modelleerbaarheid. Als voorbeeld noemde ik het World Wide Web. Met welk model kun je voorspellen waar belangrijke informatieclusters op het Web ontstaan of juist verdwijnen? Een goed model zou ook het volgende verschijnsel moeten verklaren. Stel we noemen het aantal hyperlinks dat naar een webpagina verwijst even het `gewicht' van die pagina. U kunt zich voorstellen dat er heel veel webpagina's van klein gewicht en betrekkelijk weinig van groot gewicht zijn. Uit metingen blijkt, dat het aantal webpagina's bij toenemend gewicht afneemt volgens een `machtswet'. Dit houdt hier in dat bij een twee keer zo hoog gewicht het aantal webpagina's met een factor van iets meer dan driekwart afneemt. Dergelijke machtswetten kom je vaker tegen, bijvoorbeeld in grafieken waarin het aantal steden in een land wordt uitgezet tegen het aantal inwoners. Maar we hebben nog altijd geen goed model dat de machtswet in het Web verklaart!

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.

Nieuwe grondslagen

De derde kwestie die ik noemde was: bruikbaarheid. Ik heb u verteld welke ingewikkelde problematiek achter deze term schuil gaat. Systemen moeten de mens dienen, en dat stelt hoge eisen aan hun functionaliteit en interactieve mogelijkheden. E\'en manier om de bruikbaarheid van systemen te vergroten is om ze `intelligent' te maken: dat is optimistisch jargon voor informatiesystemen die leren van en zich aanpassen aan de omgeving waarin ze functioneren. Een mooi voorbeeld zijn computerondersteunde leeromgevingen: deze moeten zich optimaal kunnen aanpassen aan de persoon die leert, met al diens eigenaardigheden. Met een leeromgeving moet een natuurlijke interactie mogelijk zijn die zich \'o\'ok aan de gebruiker aanpast. Elke leeromgeving wordt daarmee anders en evolueert, afhankelijk van de persoon die ermee werkt. Het vertrouwde beeld van de computer als r\'ekenmachine is hier wel volledig achterhaald.

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.

Programmeerbaarheid

Ten slotte: programmeerbaarheid. De grote, complexe programma's van tegenwoordig bestaan typisch uit duizenden bestanden, gemaakt door teams van tientallen of honderden programmeurs. Vaak weet niemand meer precies wat verandert in het geheel als in een van de bestanden iets wordt gewijzigd. De correctheid van de software die nu op uw pc draait is nog altijd niet te garanderen, precies om die reden. De beveiliging van software tegen inbreuk door derden is ook nog verre van opgelost. De vraag is: met welke abstracties en methoden kun je de moderne systemen ontwikkelen die interactief en intelligent zijn, en waarin alle denkbare eisen qua bruikbaarheid en nog veel meer zijn vorm te geven. En het antwoord moet in een praktische programmeeromgeving passen!

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.

Ontdekkende wetenschap

Waarde toehoorders. Ik heb u enkele van de vele kwesties laten zien die in de informatica worden bestudeerd. Bij de laatste halte op onze excursie wil ik kijken naar de uitdagingen die voor ons liggen.

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.

Tot slot

Op 1 september aanstaande zal het precies 25 jaar geleden zijn dat de toenmalige `interfacultaire Vakgroep Informatica' een georganiseerd programma van colleges voor bijvakstudenten ging aanbieden. Op 1 september zal het ook precies 20 jaar geleden zijn dat de zelfstandige opleiding Informatica in Utrecht van start ging. Drie jaar geleden is de opleiding Informatiekunde bijgekomen. Informatica is de grootste opleiding in de sector Natuur in Nederland, en Utrecht neemt daar een groot deel van voor haar rekening. Informatiekunde is landelijk zelfs al de grootste opleiding in haar soort.

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


Verdere links


Last modified: March 2003