Un carro autónomo con cuatro reglas
Una de las prácticas que más disfruté en la universidad fue ésta, y era ridículamente simple.
El montaje
Un videojuego chiquito, de esos juegos de carrito que había en los teléfonos viejos: vista desde arriba, en 2D. Todo dibujado, nada real.
Dibujé una carretera. Le simulé al carro sensores alrededor. Lo puse en una posición aleatoria del camino.
Y le di una sola instrucción manual: muévete hacia adelante.
De ahí lo dejé solo.
Las reglas
Cuatro, en el fondo. Un poco más refinadas de como las cuento, pero el esqueleto era éste:
- Si te estás acercando a la banqueta de la derecha → muévete a la izquierda.
- Si te estás acercando a la banqueta de la izquierda → muévete a la derecha.
- Si hay un carro adelante → frena.
- Si no hay nadie adelante → acelera.
Eso es todo. Con eso el carro daba vueltas por toda la carretera de forma autónoma, sin chocar.
Por qué funcionó siendo tan poco
Las reglas escritas así, tal cual, con lógica normal no habrían funcionado bien. "Acercarse a la banqueta" no es sí o no: hay un continuo entre ir por el centro y estar a punto de subirte.
Con lógica difusa cada regla se activa en proporción. Si estás un poquito desviado, corriges un poquito. Si estás muy desviado, corriges mucho. Y varias reglas pueden estar activas a la vez, en distintos grados, y sus acciones se combinan en una sola.
Por eso el carro no iba dando volantazos de un lado a otro. La suavidad no venía de tener más reglas, venía de que cada regla podía aplicarse a medias.
Lo que esto no prueba
Quiero ser claro: esto es infinitamente más simple que un carro real. No hay peatones, no hay clima, no hay señalización, no hay otros conductores comportándose mal, no hay sensores que fallen, no hay nada.
Un carro autónomo de verdad no se hace así, ni de lejos.
Lo que sí enseña
Dos cosas que sí se llevan a problemas serios:
Que el comportamiento complejo no requiere reglas complejas. Requiere reglas simples que se apliquen de forma continua y que se combinen. El carro no tenía ningún plan ni ninguna representación de la carretera; sólo reaccionaba, y de ahí salió algo que se ve como si supiera a dónde va.
Que el diseño está en elegir qué medir. Las cuatro reglas son obvias. Lo que hace que funcionen es haber decidido que los sensores midieran la distancia a las banquetas y la presencia de algo enfrente. Con las mismas cuatro reglas y otras mediciones, no habría funcionado nada.
Casi siempre pasamos mucho tiempo puliendo las reglas y muy poco preguntándonos si estamos midiendo lo correcto.
Este texto sale del episodio 013 del Podcast Algoritmos, sobre lógica difusa.