Hoe programmeer je een zelfrijdende auto bij botsingen?

google-zelfrijdende-autoEentje voor de vrijmibo: hoe programmeer je wat een zelfrijdende auto moet doen in het geval van een botsing? Dit onderwerp kwam ik tegen bij Technology Review. De vraag is natuurlijk een specifiek voorbeeld van de meer algemene discussie hoe je een zelfrijdende auto programmeert, maar het is een prangende vraag omdat de impact ervan zo enorm is.

Wanneer een mens een ongeluk krijgt met een auto, zien we dat in principe als overmacht. Pas als blijkt dat de bestuurder dingen verzaakt heeft (verkeerstekens genegeerd, gedronken, met zijn telefoon zitten spelen) komen er juridische processen op gang en kun je wellicht spreken van dood door schuld of misschien zelfs doodslag door voorwaardelijk opzet (bewust de aanmerkelijke kans nemen dat je iemand zou doden). Maar dat zijn uitzonderingen. Hoe pijnlijk ook, in veel gevallen is zo’n ongeval echt een ongeluk, overmacht.

Bij zelfrijdende auto’s is dat veel lastiger voor te stellen. Daar is het niet een mens die uit instinct handelt, of van wie je onmogelijk kon verwachten dat hij in een halve seconde koos tussen zelf tegen een vrachtwagen aan knallen of dat kind op de stoep omver rijden. Maar een computer heeft geen instinct, en voor een computer is een halve seconde ruim voldoende om een paar honderd scenario’s door te rekenen.

Daar sta je dan als programmeur. Er moet nu een algoritme bedacht voor deze situatie, graag maandag af want dan willen we gaan experimenteren op de weg.

Simpele gedachte: de auto moet de keuze maken die het minst aantal mensen verwondt (of laat overlijden, wat ik maar even als extreme verwonding zie). Logisch, zou Spock zeggen, the need of the many outweigh the need of the few. Echter, logischerwijs kom je dan al heel snel uit bij een keuze waarbij de bestúúrder komt te overlijden. Rijd maar tegen die vrachtwagen (de chauffeur daarvan overleeft het wel) of van die brug af. Dat is één leven versus meerdere – die groep fietsende kinderen naast je.

Leuk, maar wie koopt er een zelfrijdende auto wetende dat hij opgeofferd wordt zodra er twee buitenstaanders naast hem fietsen en er iets gebeurt? Het onderzoek dat Technology Review citeert, laat zien dat mensen daar best wat in zien – zolang anderen de zelfrijdende auto maar besturen, en zijzelf het stuur vasthouden bij een ouderwetse auto.

De bestuurder uitzonderen van die keuze is echter ook zo wat. U kunt vast de krantenkoppen al verzinnen: auto bleek geprogrammeerd voor fietsersmoord. Misschien dan niet uitzonderen maar zwaarder laten wegen? Dan ga je dus een getal zetten op mensenlevens of ongeluk.

De typische ICT-oplossing is dan de gebruiker maar laten kiezen. Instellingen > Geavanceerd > Incidentbeheer, knop “Wijzig instellingen”, disclaimer wegklikken en dan kiezen uit drie profielen of handmatig de registry tweaken of je fietsers belangrijker vindt, of de verwachte aanwezigheid van airbags bij de andere auto een factor is, of de motorrijder een codicil met RFID-chip heeft, en ga zo maar door.

Ik zie het zomaar gebeuren. Alleen: dan rijd ik dus in een auto die ik heb geprogrammeerd om tot maximaal vijf fietsers aan te rijden alvorens mezelf op te offeren bij een ongeluk. Volgens mij noemen ze dát moord met voorbedachte rade (en voorwaardelijke opzet). Dat is ook weer niet de bedoeling.

Maar wat dan? Het enige dat ik nog kan bedenken, is dat de auto een rand()-muntje opgooit en op basis van de uitkomst beslist wie er aangereden moet worden. Dan programmeer je overmacht als het ware in, en zijn we weer comfortabel terug bij de situatie die we nu ook al hebben. Maar het voelt niet echt bevredigend.

Arnoud