Programar es fácil

Hola,

Ayer estuve leyendo este fantástico artículo de Xavier Vidal y Gina Tost, La moral dels robots. Mientras lo leía me di cuenta que los que acaben programando robots, tendrán la misma incomprensión por parte de aquellos que utilizarán sus robots, que la que tenemos los programadores y desarrolladores actuales cuando utilizan nuestros programas, no entenderán su trabajo. Nadie entenderá que hay detrás de la decisión de una máquina como no entienden que hay detrás de hacer clic en un botón de una web.
Pongamos como ejemplo el acto de salvar o proteger una vida humana. De aquí a pocos años esperan que muchos de los coches que circulen por las calles sean coches autónomos, pero continuarán habiendo coches conducidos por humanos. Estos coches autónomos, por supuesto, no son mas que robots con ruedas y asientos. Si al coche se le han aplicado las famosas tres reglas de Isaac Asimov, ¿cómo ha de actuar en casos extremos?
Un robot no puede hacer daño a un ser humano o, por inacción, permitir que un ser humano haga daño; que un robot debe obedecer las órdenes de los seres humanos, excepto si entran en conflicto con la primera ley, y que un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la primera o la segunda ley.

Supongamos que circulamos por una calle, un carril para cada sentido, en las aceras hay personas , en el carril contrario viene una moto, y justo de detrás de ella, un coche que no nos ha visto, decide adelantarla invadiendo nuestro carril. ¿qué haces? Al instante de leer el ejemplo, estoy seguro que tu cabeza ya ha tomado una decisión. Ahora plantéate que eres el programador, estas sentado un día lluvioso de diciembre en tu despacho y has de programar que hará el coche autónomo en este caso. Las tres leyes anteriores no sirven de nada, ya que en todas los posibles soluciones algún humano saldrá herido. Si frena, el otro coche impactará con nosotros. Si seguimos adelante, igual. Si damos volantazo hacía la acera, saldrán heridos los peatones, si lo hacemos hacia el otro carril, el motorista. Tú como programador, ¿qué le dices al coche que ha de hacer? ¿herir al mínimo de personas? ¿dejar que se cuelgue? ¿proteger al conductor por delante de los demás?
Vamos con un segundo caso menos dramático, y que viene también en el artículo. Otras leyes que cumplirá un coche autónomo a raja tabla son las leyes de circulación. Imagina que tú llegas a un semáforo, este está en rojo, pero hay un urbano que te dice que pases. O no hay nadie, pero tu te das cuenta que está roto con el rojo permanentemente. O tan roto que están el rojo, el ámbar y el verde encendidos al mismo tiempo. ¿qué haces? Tú cerebro también ya te ha dado la respuesta, pero vuelve a ser el programador en su mesa, ¿cómo le dices a un coche autónomo cuando ha de prescindir de las reglas de tráfico y cuando no?
Cuando estéis subidos en un coche autónomo, ya no os acordaréis de esto, ni del pobre programador y sus dudas, y seguramente pensareis - ¡vah! esta mierda también la programo yo.

No hay comentarios: