42. Aplicaciones de conjuntos en inteligencia artificial

La inteligencia artificial usa conjuntos para representar datos, clases, reglas, estados, acciones, resultados posibles y grados de pertenencia.

42.1 Introducción

La inteligencia artificial trabaja con información, decisiones y modelos. Muchas de esas ideas se organizan mediante conjuntos: datos disponibles, opciones válidas, clases posibles, reglas aplicables y estados alcanzables.

La teoría de conjuntos permite describir con precisión qué elementos pertenecen a una categoría, qué alternativas se descartan y qué resultados se obtienen al combinar condiciones.

42.2 Datos como conjuntos de ejemplos

Un sistema de inteligencia artificial suele aprender o razonar a partir de un conjunto de ejemplos.

D = {e₁, e₂, e₃, ..., eₙ}

Cada ejemplo puede tener atributos, una etiqueta esperada o una representación interna usada por el modelo.

42.3 Clases y categorías

En clasificación, cada clase puede verse como un conjunto de elementos que comparten una propiedad.

Spam = {mensajes clasificados como spam}
NoSpam = {mensajes clasificados como no spam}

Clasificar un elemento consiste en decidir a qué conjunto pertenece.

42.4 Pertenencia en clasificación

Cuando un modelo decide que una imagen pertenece a una clase, está resolviendo una pregunta de pertenencia.

imagen₁ ∈ Gatos
imagen₂ ∉ Gatos

La decisión puede ser exacta, probabilística o aproximada, según el tipo de modelo.

42.5 Conjuntos de características

Un objeto puede representarse mediante un conjunto de características relevantes.

mensaje = {contiene_enlace, tiene_mayúsculas, remitente_desconocido}

Estas características ayudan a comparar objetos y tomar decisiones.

42.6 Reglas como condiciones sobre conjuntos

Un sistema basado en reglas puede aplicar una acción cuando un elemento cumple ciertas propiedades.

Si x ∈ ClientesPremium y x ∈ ClientesActivos, recomendar plan avanzado.

La regla combina pertenencia e intersección de conjuntos.

42.7 Espacio de estados

En problemas de búsqueda, un estado describe una situación posible. El conjunto de todos los estados posibles se llama espacio de estados.

S = {todos los estados posibles del problema}

Resolver el problema implica encontrar un camino desde un estado inicial hasta un estado objetivo.

42.8 Acciones y transiciones

Las acciones disponibles también pueden representarse como conjuntos.

Acciones(s) = {mover_arriba, mover_abajo, mover_izquierda, mover_derecha}

Cada acción transforma un estado en otro estado.

42.9 Estados alcanzables

Durante una búsqueda, el algoritmo mantiene conjuntos de estados visitados, pendientes y alcanzables.

Visitados = {s₁, s₂, s₃}
Pendientes = {s₄, s₅}

Estos conjuntos evitan repetir trabajo y ayudan a explorar el problema de manera ordenada.

42.10 Búsqueda con conjuntos en JavaScript

Un conjunto permite registrar estados ya visitados.

const visitados = new Set();

function visitar(estado) {
  if (visitados.has(estado)) {
    return false;
  }

  visitados.add(estado);
  return true;
}

console.log(visitar("A")); // true
console.log(visitar("A")); // false

La pertenencia permite saber si un estado ya fue procesado.

42.11 Sistemas de recomendación

En recomendación, los conjuntos ayudan a comparar intereses, productos vistos, compras realizadas o preferencias del usuario.

UsuarioA = {libro1, libro2, libro5}
UsuarioB = {libro2, libro3, libro5}

La intersección mide coincidencias y la diferencia puede sugerir elementos nuevos.

42.12 Similitud entre conjuntos

Una medida simple de similitud es el índice de Jaccard.

J(A, B) = |A ∩ B| / |A ∪ B|

Cuanto mayor es el valor, más parecidos son los conjuntos.

42.13 Jaccard en JavaScript

La similitud de Jaccard puede calcularse usando operaciones básicas entre conjuntos.

function jaccard(a, b) {
  const interseccion = new Set([...a].filter(x => b.has(x)));
  const union = new Set([...a, ...b]);

  return interseccion.size / union.size;
}

const usuarioA = new Set(["libro1", "libro2", "libro5"]);
const usuarioB = new Set(["libro2", "libro3", "libro5"]);

console.log(jaccard(usuarioA, usuarioB)); // 0.5

Este cálculo puede servir como base para comparar perfiles o preferencias.

42.14 Conjuntos difusos

En la teoría clásica de conjuntos, un elemento pertenece o no pertenece. En los conjuntos difusos, la pertenencia puede expresarse con un grado entre 0 y 1.

pertenencia(temperatura_alta, 32°C) = 0.8

Esto permite representar conceptos imprecisos como alto, bajo, cercano, riesgoso o recomendable.

42.15 Reglas difusas

Una regla difusa puede combinar grados de pertenencia para tomar decisiones aproximadas.

Si temperatura es alta y humedad es alta, entonces riesgo es elevado.

Este enfoque es útil cuando las fronteras entre categorías no son totalmente nítidas.

42.16 Representación de conocimiento

El conocimiento puede organizarse mediante conjuntos de hechos, reglas y relaciones.

Hechos = {esAve(paloma), tieneAlas(paloma)}
Reglas = {si esAve(x), entonces puedeVolar(x)}

Un motor de inferencia combina esos conjuntos para derivar nueva información.

42.17 Ontologías y categorías

Una ontología organiza conceptos, relaciones y jerarquías. Las categorías pueden verse como conjuntos y subconjuntos.

Perros ⊆ Mamíferos
Mamíferos ⊆ Animales

Estas estructuras ayudan a razonar sobre pertenencia, herencia y clasificación.

42.18 Conjuntos en evaluación de modelos

Al evaluar un clasificador se comparan conjuntos de resultados esperados y resultados predichos.

  • Verdaderos positivos: elementos correctamente clasificados como positivos.
  • Falsos positivos: elementos clasificados como positivos sin serlo.
  • Falsos negativos: elementos positivos que el modelo no detectó.
  • Verdaderos negativos: elementos correctamente clasificados como negativos.

Estas categorías permiten calcular precisión, cobertura y otras métricas.

42.19 Usos frecuentes

La teoría de conjuntos aparece en distintas áreas de inteligencia artificial.

  • Clasificación de imágenes, textos y señales.
  • Recomendación de productos o contenidos.
  • Búsqueda de soluciones en juegos y planificación.
  • Representación de conocimiento mediante reglas.
  • Agrupamiento de datos por características comunes.
  • Evaluación de modelos con conjuntos de predicciones.

42.20 Conclusión

La inteligencia artificial usa conjuntos para organizar datos, clases, reglas, estados, acciones y resultados. Las operaciones de unión, intersección, diferencia y pertenencia permiten modelar decisiones y comparar información.

Comprender estas ideas ayuda a interpretar mejor cómo se representan y procesan los problemas dentro de un sistema inteligente.