Clase general de problemas en inteligencia artificial: la satisfacción de restricciones.

Vaya nombre que tiene este tipo de problema en inteligencia artificial, también es conocido por las siglas CSP,Constraint satisfaction problem.

Todos los problemas de la familia CSP tienen todos la misma forma:

Conjunto de variables a las cuales se le asignan valores.

Estados = las asignaciones a esas variables

Operador = asignación del valor a una variables

Para resolver este tipo de problemas se utilizan algoritmos de búsqueda y métodos para la asignación de valores a las variables.

Esta clase de problemas tiene mucho interés en usarse ya que muchos de ellos se pueden formalizar con este tipo y la verdad es que son los mas usados en la vida real.

Un súper ejemplo es el famoso telescopio Hubble, que para la programación de observación usa CSP.

Un problema de satisfacción de restricciones se define mediante un conjunto de variables, el dominio de cada variable y un conjunto de restricciones que las variables tienen que cumplir. El problema se resuelve cuando todas las variables tienen un valor asignado y a mas a mas cumplen todas las restricciones.

Para resolver este tipo de problemas de satisfacción de restricciones, se definen los 3 elementos siguientes:

1) Modelar el entorno en que se mueve el sistema

El estado se representa mediante la lista de variables del problema y los valores que tienen asignados estas variables. En un estado concreto, solo se tendrá un subconjunto de todas las variables.

2) Modelar las acciones del sistema

Como lo que queremos es que al final de cada variable tenga asociado un valor, las acciones que permiten son las de asignar un valor a una variable. Entonces, tendremos tantos operadores como valores por variable hayan.

3) Definición del problema

Inicialmente ninguna variable no tiene un valor asignado. Queremos conseguir que todas las variables tengan un valor asignado y que a mas, se cumplan las restricciones. Por tanto, el estado inicial serán las variables sin asignar y la función objetivo es comprobar que todas las variables estén asignadas y que los valores cumplan las restricciones.

A la izquierda tenéis un emulador del problema-ejemplo de las 8 reinas, que podéis resolver con CSP y a la derecha un vídeo del canal de Youtube Descubriendo la inteligencia artificial, que explica súper bien los CSP

Reproducir vídeo