46. Aplicaciones en inteligencia artificial

La inteligencia artificial usa matemática discreta para representar estados, reglas, relaciones y decisiones. Grafos, lógica, árboles, autómatas y optimización combinatoria convierten problemas de razonamiento y búsqueda en algoritmos implementables.

46.1 Introducción

La inteligencia artificial reúne técnicas diversas: búsqueda, planificación, razonamiento lógico, aprendizaje automático, procesamiento de lenguaje y sistemas de recomendación. No todas usan la misma matemática, pero muchas comparten estructuras discretas.

Un agente puede elegir una acción entre opciones finitas, recorrer un espacio de estados, satisfacer restricciones, clasificar una entrada con reglas o relacionar entidades en un grafo. En todos esos casos, la matemática discreta ofrece modelos precisos.

46.2 Representación de estados

Un estado describe una situación relevante para resolver un problema. Las acciones transforman un estado en otro, y el conjunto de transformaciones forma un grafo de estados.

Vértice: estado posible.
Arista: acción permitida.
Estado inicial: punto de partida.
Estado objetivo: condición que se desea alcanzar.

Resolver el problema equivale a encontrar un camino útil.

La calidad de una solución depende de elegir una representación que conserve lo importante y descarte detalles irrelevantes. Un estado demasiado pobre impide decidir; uno demasiado detallado hace explotar el espacio de búsqueda.

46.3 Búsqueda en espacios de estados

Los algoritmos de búsqueda exploran un grafo de estados para encontrar una solución. BFS garantiza la menor cantidad de pasos en grafos no ponderados; DFS profundiza en una alternativa; Dijkstra considera costos no negativos.

Laberinto: vértices = celdas; aristas = movimientos.
Planificación: vértices = configuraciones; aristas = acciones.
Juego: vértices = posiciones; aristas = jugadas.

La búsqueda elige qué frontera explorar primero.

El costo no es solo tiempo de ejecución. En problemas grandes, almacenar los estados ya visitados puede consumir más memoria que generar una acción individual.

46.4 Búsqueda informada y heurísticas

Una heurística estima qué tan lejos está un estado de una meta. A* combina el costo ya recorrido con esa estimación para priorizar estados prometedores.

f(n) = g(n) + h(n).
g(n): costo real desde el origen hasta n.
h(n): estimación desde n hasta la meta.

Con una heurística admisible, A* puede encontrar una ruta óptima bajo las condiciones habituales.

Una heurística admisible no sobreestima el costo restante. En búsqueda sobre grafos, la consistencia de la heurística simplifica la garantía de optimalidad y evita reabrir estados innecesariamente.

46.5 Árboles de decisión

Un árbol de decisión aplica preguntas sobre atributos y divide los casos en ramas. Cada nodo interno prueba una condición; una hoja produce una clase, una decisión o un valor.

¿Es cliente activo?
├── No → revisión manual.
└── Sí → ¿tiene pago al día?
├── No → restringir acceso.
└── Sí → permitir acceso.

Los árboles son interpretables porque muestran una cadena de decisiones. En aprendizaje automático, sus divisiones se ajustan a partir de datos; la interpretabilidad no elimina la necesidad de validar sesgos, datos incompletos y errores.

46.6 Implementar una regla de decisión

function decidirAcceso({ clienteActivo, pagoAlDia }) {
  if (!clienteActivo) return "revisión manual";
  if (!pagoAlDia) return "restringir acceso";
  return "permitir acceso";
}

console.log(decidirAcceso({ clienteActivo: true, pagoAlDia: true }));
// "permitir acceso"

El código representa un árbol pequeño escrito con condicionales. En un sistema real, las reglas deben estar justificadas, versionadas, auditadas y acompañadas de procesos adecuados para excepciones o apelaciones cuando afectan a personas.

46.7 Lógica y sistemas expertos

Un sistema basado en reglas representa conocimiento mediante proposiciones y reglas de inferencia. A partir de hechos conocidos, aplica reglas para deducir conclusiones.

Hecho: tieneFiebre.
Regla: tieneFiebre ∧ tieneTos → requiereEvaluación.

Si ambos antecedentes son verdaderos,
la regla permite deducir requiereEvaluación.

Estos sistemas son útiles cuando las reglas son explícitas y se necesita trazabilidad. En dominios sensibles, las reglas y conclusiones deben validarse con especialistas; un ejemplo lógico no sustituye evaluación profesional.

46.8 Satisfacción de restricciones

Un problema de satisfacción de restricciones, CSP, define variables, dominios posibles y restricciones que deben cumplirse. La meta no es una ruta, sino una asignación compatible.

Coloreo de mapa:
variables = regiones.
dominio = colores disponibles.
restricción = regiones vecinas no comparten color.

Horario: cursos, franjas y aulas con restricciones de conflicto.

Los CSP aparecen en planificación, asignación de recursos, configuración de productos y resolución de puzzles. La propagación de restricciones reduce opciones antes de realizar una búsqueda exhaustiva.

46.9 Verificar un coloreo de grafo

function coloreoValido(adyacentes, colores) {
  for (const [vertice, vecinos] of adyacentes) {
    for (const vecino of vecinos) {
      if (!colores.has(vertice) || !colores.has(vecino)) return false;
      if (colores.get(vertice) === colores.get(vecino)) return false;
    }
  }
  return true;
}

const mapa = new Map([
  ["A", new Set(["B", "C"])],
  ["B", new Set(["A", "C"])],
  ["C", new Set(["A", "B"])]
]);
const colores = new Map([["A", "rojo"], ["B", "verde"], ["C", "azul"]]);

console.log(coloreoValido(mapa, colores)); // true

La función verifica una solución candidata; encontrar automáticamente una solución requiere un algoritmo de búsqueda o de satisfacción de restricciones. El grafo expresa de forma directa qué pares no pueden compartir color.

46.10 Problemas de optimización combinatoria

En optimización combinatoria se busca la mejor solución entre una gran cantidad de combinaciones discretas: rutas, horarios, asignaciones, subconjuntos o secuencias.

Ejemplos:
visitar ciudades con costo mínimo;
asignar personas a turnos;
seleccionar proyectos bajo presupuesto;
ubicar recursos en una red.

El número de combinaciones puede crecer exponencialmente.

Se usan búsqueda exacta, programación dinámica, algoritmos aproximados, heurísticas y métodos de optimización. Una solución heurística puede ser útil sin ser óptima, siempre que se evalúe su calidad y sus límites.

46.11 Juegos y minimax

Los juegos de dos jugadores pueden modelarse con un árbol de juego: los nodos son posiciones y las aristas son movimientos. Minimax supone que un jugador maximiza una evaluación y el otro la minimiza.

Nodo MAX: elige la alternativa de mayor valor.
Nodo MIN: elige la alternativa de menor valor para MAX.

La poda alfa-beta evita explorar ramas que no pueden cambiar la decisión final.

Los árboles de juego completos suelen ser demasiado grandes. Las aplicaciones prácticas limitan profundidad, usan funciones de evaluación y ordenan movimientos para concentrar el cálculo en ramas relevantes.

46.12 Conjuntos, similitud y recomendación

Los sistemas de recomendación pueden representar usuarios, productos e interacciones mediante conjuntos, vectores o grafos bipartitos. Una señal simple es la intersección de elementos compartidos.

Usuario A: {libro1, libro2, libro3}.
Usuario B: {libro2, libro3, libro4}.

Intersección: {libro2, libro3}.
Unión: {libro1, libro2, libro3, libro4}.
Similitud de Jaccard = |intersección| / |unión| = 2/4.

La similitud es solo una señal. Un recomendador responsable considera calidad de datos, privacidad, diversidad, retroalimentación y el riesgo de reforzar patrones no deseados.

46.13 Grafos de conocimiento

Un grafo de conocimiento representa entidades y relaciones etiquetadas: una persona trabaja en una organización, una obra tiene autor, un producto pertenece a una categoría.

Entidad —relación→ Entidad.

Buenos Aires —capitalDe→ Argentina.
Libro —escritoPor→ Autor.
Producto —compatibleCon→ Dispositivo.

Las consultas siguen caminos y tipos de relación.

Los grafos de conocimiento facilitan integración y explicación de relaciones. Su utilidad depende de una ontología clara, identificadores consistentes y procesos para corregir datos erróneos o desactualizados.

46.14 Lenguaje, autómatas y gramáticas

El procesamiento de lenguaje usa estructuras discretas en tokenización, diccionarios, autómatas, gramáticas y árboles sintácticos. Estos componentes permiten segmentar y analizar texto antes o junto a modelos estadísticos.

Texto → tokens → categorías → estructura sintáctica.

Regex y autómatas: patrones de caracteres.
Gramáticas y árboles: estructura de expresiones.
Grafos: relaciones entre entidades o palabras.

Los modelos de aprendizaje actuales pueden usar representaciones numéricas, pero las reglas de formato, los tokenizadores, la estructura de datos y las evaluaciones siguen requiriendo razonamiento discreto.

46.15 Aprendizaje automático y variables discretas

En aprendizaje automático, algunas entradas y salidas son categorías discretas: clase de documento, idioma, diagnóstico codificado, tipo de transacción o etiqueta de imagen. Clasificar consiste en elegir una clase entre alternativas.

Conjunto de clases: {spam, noSpam}.
Entrada: características extraídas de un mensaje.
Salida: una etiqueta o distribución sobre etiquetas.

La evaluación compara predicciones con etiquetas de referencia.

La matemática discreta ayuda a construir conjuntos de datos, matrices de confusión, particiones de entrenamiento y prueba, y métricas basadas en conteos. La calidad depende también de datos representativos y objetivos bien definidos.

46.16 Matriz de confusión

Para una clasificación binaria, la matriz de confusión cuenta cuatro resultados posibles y permite calcular métricas que revelan errores diferentes.

Predicho positivoPredicho negativo
Real positivoverdadero positivofalso negativo
Real negativofalso positivoverdadero negativo

Exactitud, precisión y sensibilidad responden preguntas distintas. Elegir una sola métrica sin considerar el costo de cada error puede ocultar comportamientos dañinos o poco útiles.

46.17 Incertidumbre y decisiones

Muchos sistemas no pueden afirmar una respuesta con certeza. Trabajan con puntuaciones, probabilidades o reglas de abstención para decidir cuándo actuar, pedir más información o derivar un caso a revisión humana.

Decisión automática solo si la confianza supera un umbral definido.
Zona intermedia: solicitar datos o revisión.

El umbral cambia la cantidad y el tipo de errores; no es una constante puramente técnica.

En contextos de alto impacto, las decisiones deben incluir supervisión, trazabilidad, pruebas de desempeño por grupos relevantes y mecanismos para corregir resultados incorrectos.

46.18 Representación, búsqueda y aprendizaje

Los enfoques de IA no son excluyentes. Un sistema puede usar un modelo aprendido para puntuar alternativas, un grafo para restringir opciones y un algoritmo de búsqueda para construir una solución válida.

Ejemplo de planificación:
modelo estima duración o costo;
grafo expresa dependencias;
restricciones descartan asignaciones inválidas;
búsqueda selecciona un plan factible.

Combinar técnicas exige saber qué garantiza cada componente. Una predicción no convierte una acción en válida; las restricciones y reglas siguen siendo necesarias para imponer condiciones no negociables.

46.19 Ética, seguridad y evaluación

Los sistemas de IA pueden equivocarse, amplificar sesgos de los datos, revelar información sensible o usarse fuera de su contexto. La responsabilidad no termina al obtener una buena métrica agregada.

Definir el objetivo y a quién afecta.
Revisar origen, calidad y permisos de los datos.
Medir errores relevantes y posibles desigualdades.
Proteger información y permitir supervisión humana.
Monitorear el sistema después del despliegue.

Las técnicas matemáticas ayudan a medir y razonar, pero no deciden por sí solas qué objetivo es justo o aceptable. Esas decisiones requieren criterios humanos, conocimiento del dominio y rendición de cuentas.

46.20 Estrategia para modelar un problema

  1. Definir el objetivo y los criterios de éxito.
  2. Elegir estados, variables, entidades y relaciones relevantes.
  3. Determinar si el problema es de búsqueda, clasificación, restricciones u optimización.
  4. Seleccionar una representación y algoritmo compatibles con las restricciones.
  5. Probar casos límite, datos fuera de distribución y fallos previsibles.
  6. Evaluar impactos, seguridad, privacidad y mecanismos de supervisión.

Un modelo útil simplifica el problema sin borrar las condiciones que lo hacen seguro y correcto. La documentación de supuestos es parte de la solución.

46.21 Errores frecuentes

  • Confundir una representación de estados con el problema real completo.
  • Aplicar BFS o Dijkstra sin revisar pesos, dirección o criterio de costo.
  • Tomar una heurística o puntuación como una garantía de corrección.
  • Usar una métrica global sin analizar clases, grupos y tipos de error.
  • Convertir reglas de decisión sensibles en automatismos sin supervisión.
  • Ignorar privacidad, procedencia y sesgos de los datos.

46.22 Qué debes recordar y conclusión

  • Los espacios de estados, grafos y árboles modelan decisiones y secuencias de acciones.
  • Búsqueda, heurísticas y optimización combinatoria permiten explorar alternativas discretas.
  • La lógica y los CSP expresan reglas y restricciones explícitas.
  • Árboles, conjuntos y grafos aparecen en clasificación, recomendación y conocimiento.
  • Las métricas basadas en conteos ayudan a evaluar modelos, pero no reemplazan el análisis del impacto.
  • Una IA responsable requiere objetivos claros, datos adecuados, evaluación continua y supervisión.

La matemática discreta aporta estructuras para representar, buscar, decidir y verificar en inteligencia artificial. En el próximo tema volveremos a la seguridad para estudiar aplicaciones de estas herramientas en criptografía y ciberseguridad.