![]() |
I&I-> Jaargangen -> Artikel
Intelligente software
|
|
Door: Pattie Maes Computers zijn inmiddels net zo gewoon als auto's en broodroosters, maar het benutten van de mogelijkheden vergt nog steeds de vaardigeheden van een testpiloot voor supersonische vliegtuigen. De displays van videorecorders die constant knipperend het tijdstip 12:00 aangeven onderschrijven deze stelling. Terwijl interactieve TV, palmtop agenda's en 'slimme' credit cards zich alom verspreiden wordt de kloof tussen de miljoenen onervaren gebruikers en het even zo grote aantal geavanceerde microprocessors steeds duidelijker zichtbaar. Nu mensen een steeds groter deel van hun leven voor computerschermen doorbrengen -elkaar informerend en amuserend, berichten uitwisselend, werkend en winkelend- dient er een oplossing gevonden te worden voor het verschil tussen de beperkte menselijke aandachtsspanne en de, in complexiteit toenemende, verzamelingen software en data. Computers reageren op dit moment alleen op hetgeen interface ontwerpers 'directe manipulatie' noemen. Er gebeurt niets totdat een persoon een commando geeft via het toetsenbord, de muis of een 'touchscreen'. De computer is vooral een apparaat dat wacht op de opdracht specifieke en zeer gedetailleerde opdrachten te verwerken; het apparaat biedt weinig hulp voor het uitvoeren van complexe taken of acties die een onbeperkte tijdsduur kunnen hebben (zoals informatie-zoek opdrachten). Als ongetrainde consumenten in de toekomst effectief met computers en netwerken om moeten gaan dan zal de directie manipulatie ruimte moeten bieden voor enige vorm van delegatie. Onderzoekers en software bedrijven hebben hun hoop gevestigd op de zogenaamde' software-agenten' die de interessen van de gebruiker 'kennen' en autonoom in zijn opdracht kunnen werken. In plaats van volledige controle door de gebruiker (en daarmee de volledige verantwoordelijkheid nemend voor iedere actie van de computer), zullen gebruiker en computer-agent in een coöperatief proces communicatieprocessen aangaan, gebeurtenissen volgen en taken uitvoeren om uiteindelijk het doel van de gebruiker te realiseren. Een gemiddeld persoon zal vele alter ego's kennen -in feite digitale afgevaardigden- die gelijktijdig op verschillende locaties zullen opereren. Sommige van deze afgevaardigden zullen de digitale wereld minder overweldigend maken door de technische details van taken niet te laten zien, de gebruiker door complexe on-line ruimten te loodsen of door de gebruiker zelfs te onderwijzen over bepaalde onderwerpen. Andere afgevaardigden gaan actief op zoek naar informatie die de gebruiker interesseert of volgen specifieke onderwerpen op belangrijke veranderingen. Weer andere agenten kunnen de volmacht hebben om transacties uit te voeren (zoals on-line winkelen) of om de gebruiker in hun afwezigheid te vertegenwoordigen. Zoals de verspreiding van de papieren en elektronische zakagenda's al heeft aangekondigd zullen agenten een belangrijke rol spelen als persoonlijke secretarissen: uitgebreide geheugens die de drager eraan herinneren waar ze spullen hebben gelaten, met wie ze al contact hebben gehad en welke taken al zijn uitgevoerd of nog moeten worden uitgevoerd. Deze verandering in functionaliteit zal waarschijnlijk hand in hand gaan met een verandering in de wijze waarop mensen in fysieke zin met computers omgaan. In plaats van het gebruik van toetsenbord of muis zal de gebruiker tegen de agent spreken of zelfs gebaren maken om aan te geven wat er moet worden gedaan. De agent zal als 'levend' wezen op het scherm verschijnen en zijn huidige status en gedrag mededelen met geanimeerde gezichtsuitdrukkingen in plaats van met de huidige Windows met tekst, grafieken en figuren. Een ontzagwekkend doel.Hoewel de taken die we de agenten graag zouden laten uitvoeren eenvoudig weer zijn te geven is de constructie van de agent zelf heel wat problematischer. Agent-software verschilt vooral van reguliere software door wat het best kan worden omschreven als het besef een onafhankelijke wezen te zijn. Een ideale agent weet welk doel het wil bereiken en zal dit ook nastreven. En agent dient ook robuust en adaptief te zijn, in staat zijn te leren van ervaringen en te reageren op onvoorziene situaties met een repertoire van verschillende methoden. Tenslotte moet een agent autonoom zijn, zodat het de huidige status van zijn omgeving kan raadplegen en onafhankelijk kan opereren om dichter bij zijn doel te komen.Programmeurs hebben al moeite met het maken van traditionele software; hoe zijn ze ooit in staat agenten te maken? De nu beschikbare commerciële agenten zin die naam nauwelijks waard. Ze zijn niet bijzonder intelligent, in de meeste gevallen volgen ze een aantal regels die de gebruiker heeft bepaalt. Een aantal e-mail pakketten maken het mogelijk een agent te definiëren die de inkomende post sorteert naar afzender, onderwerp of inhoud. Een manager wil wellicht een regel definiëren die alle boodschappen met het woord 'vergadering' doorstuurt naar een administratieve assistent. De waarde van een dergelijke beperkte agent ligt geheel en al in het initiatief en de vaardigheid tot programmeren van de gebruiker. Onderzoekers op het terrein van kunstmatige intelligentie hebben lang geprobeerd een meer complexe manier te vinden om agenten te bouwen. Kennis-engineers geven informatie aan programma's mee over hoe een taak in een specifiek gebied uitgevoerd moet worden, het programma trekt daarop de conclusie wat het juiste antwoord in die situatie is. Een kunstmatig intelligent e-mail programma zal weten dat de gebruiker administratieve assistenten kan hebben, dat een specifieke gebruiker een assistent heeft met de naam George, dat een assistent behoort te weten wanneer zijn baas een vergadering heeft en dat een boodschap met de term 'vergadering' belangrijke informatie voor de agenda kan bevatten. Met deze kennis zou de agent concluderen dat een kopie van de boodschap doorgestuurd moet worden naar George. Men probeert al gedurende 40 jaar dergelijke kennis-gebaseerde agenten te bouwen. Helaas heeft die benadering tot op heden nog niet geleid tot een commercieel produkt. Hoewel kennis-engineers erin zijn geslaagd veel kleine specifieke terreinen te codificeren, zijn ze er niet in geslaagd een verzameling van alle algemene kennis die een agent nodig heeft om in de normale wereld te functioneren. Op dit moment is de enige poging die wordt ondernomen om die kennis systematisch in kaart te brengen die van CYC bij Cycorp in Austin, Texas, U.S.A.. Het is nog te vroeg om te concluderen of de CYC-agent over voldoende kennis beschikt om de juiste beslissingen te nemen en of de agent in staat is ideosyncratische kennis van de gebruiker op te doen En zelfs als de CYC-agent met succes werkt zal het moeilijk zijn voor mensen om een agent te vertrouwen die door anderen is geïnstrueerd. Zowel de commercieel verspreide als de kunstmatig intelligente versies die worden ontwikkelt zijn gebaseerd op een of andere vorm van programmeren. Een derde, en wellicht meest belovende, benadering maakt gebruik van technieken die zijn ontwikkeld in het nieuwe gebied van 'kunstmatig leven'. De personen die zich op dit terrein bezighouden bestuderen de methoden waarop organismen zichzelf organiseren en zich aanpassen op grond van signalen van hun omgeving. Hoewel ze nog in een primitief stadium verkeren zijn kunstmatig leven-agenten wel echt autonoom; ze programmeren zichzelf. De software is erop gebouwd om het gedrag te veranderen op grond van ervaringen en interactie met andere agenten. Aan het Massachusetts Institute of Technology (MIT) hebben we software agenten gebouwd die constant de acties van een persoon volgen en regelmatige patronen die ze ontdekken vastleggen. Een e-mail agent kan leren uit het observeren van de wijze waarop een gebruiker een bericht met het woord 'vergadering' doorstuurt naar een administratieve assistent en aanbieden om die taak voortaan over te nemen. Agenten kunnen ook leren van andere agenten die dezelfde taak vervullen. Een e-mail agent die wordt geconfronteerd met een onbekende boodschap kan bij zijn 'collega-agent' te rade gaan om bijvoorbeeld te ontdekken dat mensen in het algemeen eerst e-mail berichten lezen die aan hen persoonlijk zijn gericht voordat ze e-mail berichten gericht aan mailing-lijsten lezen. Een dergelijke samenwerking tussen agenten kan ertoe leiden dat groepen agenten gezamenlijk op ontwikkelde en intelligente wijze reageren, terwijl iedere agent relatief simpel is. Turing ontmoet Darwin.Op den duur kan 'kunstmatige evolutie' de basis vormen voor de het creëren van het gedrag van de meest effectieve agenten in een systeem om nog betere populatie te verwekken. Samen met mijn collega's heb ik een dergelijk systeem gebouwd om agenten te ontwikkelen die in databases zoeken naar artikelen die hun gebruiker kunnen interesseren. Iedere succesvolle generatie agenten weet nog beter aan de interessen van de gebruiker te voldoen.Deze benadering kan op termijn leiden tot een compleet elektronisch ecosysteem, gehuisvest in de computer netwerken van de volgende eeuw. Agenten zijn van nut voor hun gebruikers of helpen andere agenten nog effectiever te opereren, te overleven en te reproduceren; de agenten die daartoe niet instaat zijn zullen worden verwijderd. Op den duur zullen deze digitale levensvormen verschillende ecologische niches vullen -sommige agenten kunnen uitgroeien tot goede indexeerders van databases, waar andere agenten die indices gebruiken om artikelen te vinden die van belang zijn voor hun gebruiker. Er zullen gevallen van parasitisme, symbiose en andere fenomenen bekend uit de biologische wereld voorkomen. Als externe eisen aan informatie veranderen zal ook het software ecosysteem zichzelf constant aanpassen. Het spreekt vanzelf dat de verspreiding van agenten enorme sociale, economische en politieke impact zal hebben. Agenten zullen leiden tot een sociale revolutie: vrijwel iedereen zal toegang hebben tot het type ondersteunings-staf die vandaag alleen is weggelegd voor enkelingen. Het gevolg is dat zij in staat zijn om grote hoeveelheden informatie te verwerken en meer activiteiten tegelijkertijd kunnen ontplooien. De uiteindelijke gevolgen van deze veranderingen zijn onmogelijk te voorspellen. De vorm van de veranderingen die agenten zullen brengen zijn natuurlijk afhankelijk van de wijze waarop ze worden gebruikt. Een groot aantal vragen moet nog worden beantwoord en andere vragen zijn nog niet eens gesteld. Moet de gebruiker verantwoordelijk worden gesteld voor de acties van zijn agenten? Hoe zijn we er zeker van dat agenten persoonlijke informatie die hij over zijn gebruiker verzameld ook voor zichzelf houdt? Moeten agenten de slechte eigenschappen van hun gebruiker overnemen of de gebruiker overhalen om ze te verbeteren (en wie beslist wat 'beter' is)? Zal het mogelijk zijn, als het elektronisch ecosysteem in complexiteit toeneemt, te verzekeren dat er voldoende computerkracht en bandbreedte overblijft voor de taken die mensen willen uitvoeren? De beperkte experimenten die onderzoekers tot op heden hebben uitgevoerd geven nog slechts een voorproefje van de mogelijkheden. |
|