Ir al contenido principal

Replicantes, Turing y probabilidades

Hoy, con motivo de mi primera clase de Inteligencia Artificial, dejo parte de mi trabajo realizado para la asignatura "The Beauty of Mathematics".

Mi trabajo consistía en relacionar cine y matemáticas, con la pretensión de reflejar cómo de verdad a las personas les interesan, les gustan y se ven fascinados ante las matemáticas, aunque sea desde una perspectiva más artística que científica (si tienes interes lo puedes descargar aquí)

¿Alguna vez han visto la pelicula de Blade Runner??

¿Se han parado a juzgar por ustedes mismos a los personajes que aparecen como replicantes o humanos?

¿Para que servían las pruebas que les hacían?

Cualquier persona diría rapidamente: "Para saber si son máquinas o no lo son".

Correcto, pero como todo test: ¿Cual es su probabilidad de fallo?.

Esta película muestra muy bien esta situación:

Tras una fuga de unos peligrosos humanoides, llamados replicantes, un agente se encargará de buscarlos y someterlos a un test llamado "Test de empatía de Voigt-Kampff".

Este, valora las respuestas emocionales de los sospechosos.
Se trata en realidad de una versión del conocido test de Turing.

Supongamos que Rick aplica el test a 1000 individuos.
Posteriormente, la Rosen Asociation, revelará la verdadera naturaleza de los individuos estudiados, y se obtiene la siguiente tabla* que indica el número de individuos clasificados correctamente o no:
HumanosAndroides
+7282
-69318
Total700300
*Nota: Los datos anteriores no aparecen en la obra.

Y como antes comentamos, ¿cuál es la fiabilidad de dicho test?. Tengamos en cuenta que si se clasifica a un sujeto como replicante o humano, también existe la probabilidad de fallar en su clasificación como tal.

Así, interesa conocer estas probabilidades a posteriori:
  1. Probabilidad del falso positivo
    • Probabilidad de que un individuo sea humano, sabiendo que el test lo ha detectado como replicante. En tal situación, se produciría el asesinato de una persona
  2. Probabilidad del falso negativo
    • Probabilidad de que un individuo sea replicante, sabiendo que el test lo ha detectado como humano. En tal caso quedaría libre un replicante.
  3. Sensibilidad del test
    • Probabilidad de clasificar correctamente a un replicante.
  4. Especificidad del test
    • Probabilidad de clasificar correctamente a un humano.

Probabilidades que una profesora de matemáticas de la universidad Autónoma de
Barcelona, Rosario Delgado de la Torre, se ha encargado de averiguar (aquí para ver el estudio completo)

Debido a que el test de Turing se aplica de una manera diferente debido a la introducción de un factor humano, ella ha usado la fórmula de Bayes para deducir sus resultados (datos basados en la tabla anterior, las siguientes probabilidades no existen en la obra):

"Aproximadamente, es 94 veces más probable que el test dé Positivo en
androides que en humanos, y es 16,5 veces más probable que dé Negativo
en humanos que en androides, respectivamente."


Así que ya lo sabéis, debeis ser lo más sociales posibles para desarrollar vuestra empatía, vaya a ser que venga Harrison Ford y te declare como replicante.

Comentarios

Entradas populares de este blog

Join o producto cartesiano de dos tablas en EXCEL 2007

Hace unos dias inicie mi ocupacion como becario de informatica en la facultad de humanidades y ciencias de la educacion de la UJAEN. Y como no, no han tardado en surgir los problemas. Supongamos que tenemos dos tablas, y queremos hacer una tabla que tenga datos de estas dos tablas, segun un criterio , y es que solo pueden aparecer ciertas filas, mas exactamente aquellas donde coincida cierto campo, en este ejemplo, el codigo de la asignatura. Si queremos realizar el join o producto cartesiano tal y como lo hariamos en una base de datos, parece ser que si no estamos trabajando con una bbdd sino con Excel, la cosa se complica un poco. Para "multiplicar tablas" en excel, primero vamos a hacer una cosa, cada tabla la vamos a guardar en hojas separadas, en nuestro caso, una tabla la guardamos en Hoja1 , y la otra en Hoja2 Ahora, nos situamos en la hoja donde queramos que aparezca el producto cartesiano de nuestras dos tablas, nos vamos a la ficha DATOS . Veremos que h...

Polynomial regression using python

We are going to learn how to create a polynomial regression and make a prediction over a future value using python. The data set have been fetched from INE (national statistics institute) , that data is the EPA ( active population survey ), that tell us the national total (Spain), both genders. 16 and over are unemployed ( in thousands ). Example data: label serie rate 0 2002T1 0 2152.8 1 2002T2 1 2103.3 2 2002T3 2 2196.0 3 2002T4 3 2232.4 4 2003T1 4 2328.5 Data CSV can be downloaded here: https://drive.google.com/file/d/1fwvAZe7lah5DX8-DDEpmfeUDYQhKcfzG/view?usp=sharing Lets see how looks that data: Fine, as we can see the data describe a curve, so its for that because we want to use a polynomial regression. To try to approximate that curve we will use a grade 2 polynomial or...

Use django ORM standalone within your nameko micro-services

Learning about micro services with python, I found a great tool named nameko . https://www.nameko.io/ Nameko is a Python framework to build microservices that doesn't care in concrete technologies you will use within your project. To allow that microservices to work with a database, you can install into your project a wide variety of third parties, like SQLAlchemy (just like any other). To have an easy way to communicate with the database and keep track of the changes made to the models, I chose Django: I'm just learning about microservices and I want to keep focused on that. Easy to use, Django is a reliable web framework, have a powerful and well known ORM. Also using Django we will have many of the different functionalities that this framework provide. To make all this magic to work together, I developed a python package that allow you to use Django as a Nameko injected dependency: https://pypi.org/project/django-nameko-standalone/ You can found the source ...