0.e.1 - Pensamiento Computacional - Reconocimiento de Patrones

Objetivo

Comprender el concepto de "reconocimiento de patrones" como técnica para identificar regularidades, similitudes y tendencias en problemas o datos, permitiendo generalizar soluciones y hacer predicciones.

1. Contenidos

1.1 ¿Qué es el reconocimiento de patrones?

El reconocimiento de patrones es la técnica que consiste en identificar regularidades, similitudes, estructuras repetitivas o tendencias en un conjunto de datos o problemas. Una vez identificado un patrón, se puede generalizar para resolver problemas similares más rápidamente o para hacer predicciones sobre comportamientos futuros.

Características clave:

  • Observación sistemática: Examinar casos concretos buscando elementos comunes.
  • Identificación de regularidades: Detectar secuencias, repeticiones o relaciones que se mantienen.
  • Generalización: Extraer una regla o modelo aplicable a nuevos casos.
  • Predicción: Anticipar resultados o comportamientos basándose en patrones observados.

Ejemplo práctico 1: Patrón en secuencias numéricas

Problema: Encontrar el siguiente número en la secuencia: 2, 4, 8, 16, ?

Patrón identificado: Cada número es el doble del anterior.

Predicción: El siguiente número es 32 (16 × 2).

Ejemplo práctico 2: Patrón en la vida cotidiana

Problema: Predecir el tráfico en una ciudad.

Patrón identificado: Los días laborables entre 8:00-9:00 y 18:00-19:00 hay más tráfico. Los fines de semana hay menos tráfico por la mañana.

Aplicación: Decidir salir de casa a las 7:30 para evitar atascos.

Ejemplo práctico 3: Patrón en texto

Problema: Clasificar correos electrónicos como "spam" o "no spam".

Patrón identificado: Los correos spam suelen contener palabras como "gratis", "oferta exclusiva", "haz clic aquí" y remitentes desconocidos.

Aplicación: Un filtro de spam detecta estos patrones automáticamente.

Ejemplo práctico 4: Patrón en formas geométricas

Problema: Determinar la figura que continúa una serie: ▲, ■, ▲, ■, ?

Patrón identificado: Alternancia entre triángulo (▲) y cuadrado (■).

Predicción: La siguiente figura es ▲.

Beneficios en la vida real:

  • Permite tomar decisiones más rápidas basadas en experiencias previas.
  • Ayuda a predecir comportamientos (clima, tráfico, tendencias de mercado).
  • Facilita la compresión de grandes cantidades de datos.
  • Es la base del aprendizaje automático (machine learning) e inteligencia artificial.

El reconocimiento de patrones es una habilidad innata en los seres humanos (reconocemos caras, voces, comportamientos) pero también se puede entrenar sistemáticamente. Es fundamental en ciencia, estadística, inteligencia artificial y en la resolución de problemas cotidianos.

1.2 Técnicas para reconocer patrones

Existen diversas estrategias para identificar patrones de manera sistemática.

a) Observación de diferencias y similitudes

Comparar varios casos preguntándose: ¿qué tienen en común? ¿en qué se diferencian?

  • Ejemplo: Para clasificar frutas, se observa que todas tienen forma redondeada (similitud), pero se diferencian por color, sabor y textura.
  • Cuándo usar: Al empezar a analizar un conjunto de datos desconocido.

b) Búsqueda de secuencias y repeticiones

Identificar elementos que se repiten en orden temporal o espacial.

  • Ejemplo: En una sucesión numérica 3, 6, 9, 12... se repite el patrón "sumar 3".
  • Cuándo usar: Problemas con series, secuencias o procesos iterativos.

c) Identificación de tendencias

Detectar cambios graduales o direcciones en los datos (crecimiento, decrecimiento, estacionalidad).

  • Ejemplo: Una empresa ve que sus ventas aumentan cada diciembre. Patrón estacional.
  • Cuándo usar: Análisis de datos temporales o económicos.

d) Agrupación (clustering)

Clasificar elementos en grupos donde los miembros del mismo grupo son más similares entre sí que con los de otros grupos.

  • Ejemplo: Agrupar clientes por hábitos de compra para ofrecer promociones personalizadas.
  • Cuándo usar: Grandes volúmenes de datos sin etiquetar.

e) Analogías

Encontrar correspondencias entre problemas de dominios diferentes para transferir soluciones.

  • Ejemplo: El flujo de agua por tuberías es análogo al flujo de corriente eléctrica por cables.
  • Cuándo usar: Problemas complejos que tienen paralelismo con otros ya resueltos.

f) Extracción de reglas

Formular explícitamente la relación o condición que genera el patrón.

  • Ejemplo: Si el cielo está oscuro Y hay viento fuerte → es probable que llueva.
  • Cuándo usar: Para automatizar decisiones basadas en patrones.

Resumen práctico:

Técnica Pregunta guía Ejemplo
Diferencias y similitudes ¿Qué se repite? ¿Qué cambia? Comparar frutas, vehículos, animales
Secuencias y repeticiones ¿Hay un ciclo o secuencia ordenada? Series numéricas, ritmos musicales
Tendencias ¿Hay crecimiento o decrecimiento? Aumento de temperatura, ventas mensuales
Agrupación (clustering) ¿Qué elementos van juntos? Clasificar noticias por tema
Analogías ¿A qué otro problema se parece? Fluidos y electricidad, ecosistemas y empresas
Extracción de reglas ¿Qué condición genera el patrón? Reglas de un juego, leyes físicas

Regla de oro: Para reconocer un patrón, busca repeticiones en al menos 3 casos diferentes. Cuantos más casos confirmen el patrón, más confiable será tu generalización. Un solo caso puede ser una coincidencia; tres casos empiezan a ser un patrón.

1.3 Relación con otras técnicas del Pensamiento Computacional

Patrones y Abstracción

Una vez identificado un patrón, la abstracción permite ignorar las diferencias específicas de cada caso y quedarse con la regla general.

Patrones y Descomposición

Descomponer un problema en partes puede revelar patrones en cada subproblema que pasaban desapercibidos en el todo.

Patrones y Algoritmos

Los algoritmos pueden diseñarse para aprovechar patrones (ej: búsqueda binaria aprovecha el patrón de ordenación). Los patrones de repetición se implementan con bucles.

Juntas, descomposición, abstracción, reconocimiento de patrones y algorítmica forman el núcleo del Pensamiento Computacional. Se retroalimentan y potencian mutuamente.

2. Ejercicios

Ejercicio 1: Reconocimiento de patrones numéricos y lógicos

Identificar patrones en diferentes tipos de secuencias.

Enunciado:

Para cada una de las siguientes series, identifica el patrón subyacente y determina el siguiente elemento (o los dos siguientes si se indica). Explica el patrón con tus palabras.

Serie A (numérica):

2, 5, 10, 17, 26, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie B (numérica):

1, 1, 2, 3, 5, 8, 13, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie C (geométrica):

Triángulo, Cuadrado, Pentágono, Hexágono, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie D (lógica - días de la semana):

Lunes, Miércoles, Viernes, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie E (matemática):

1, 4, 9, 16, 25, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie F (alfabética):

A, C, F, J, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Serie G (figurativa - palabras):

casa, perro, árbol, casa, perro, árbol, ?

Patrón identificado: _________________________________

Siguiente elemento: ________

Preguntas de reflexión:

  • ¿En qué serie fue más difícil identificar el patrón? ¿Por qué?
  • ¿Puede existir más de un patrón válido para la misma serie? Pon un ejemplo.
  • ¿Cómo te aseguras de que el patrón que has identificado es el correcto y no una coincidencia?

Ejercicio 2: Patrones en datos reales - Predicción de afluencia en un parque de atracciones

Análisis de datos históricos para detectar patrones estacionales y semanales.

Enunciado:

Un parque de atracciones ha recopilado datos de visitantes diarios durante varios meses. La tabla muestra el número promedio de visitantes según el día de la semana y la época del año.

Datos (visitantes promedio por día):

Día / Época Verano Invierno Primavera/Otoño
Lunes 2.500 800 1.200
Martes 2.300 750 1.150
Miércoles 2.400 780 1.180
Jueves 2.600 820 1.250
Viernes 3.800 1.100 2.000
Sábado 5.500 2.000 3.500
Domingo 4.800 1.500 2.800

Tarea:

  1. Identifica al menos 3 patrones diferentes en los datos (ej: patrón semanal, patrón estacional, patrón comparativo entre días).
  2. Para cada patrón, formula una regla o generalización que lo describa.
  3. Usando los patrones identificados, predice el número de visitantes para:
    • Un lunes de verano: ________
    • Un sábado de otoño: ________
    • Un jueves de invierno: ________

Patrón 1 (describir):

_____________________________________________________

Regla: _______________________________________________

Patrón 2 (describir):

_____________________________________________________

Regla: _______________________________________________

Patrón 3 (describir):

_____________________________________________________

Regla: _______________________________________________

Preguntas de reflexión:

  • ¿Qué patrón te parece más útil para decisiones operativas del parque (personal, horarios, mantenimiento)? ¿Por qué?
  • ¿Qué factores externos podrían romper estos patrones (días festivos, mal tiempo, etc.)? ¿Cómo mejorarías la predicción?
  • Si el parque quiere aumentar la afluencia los martes de invierno (el día más bajo), ¿qué estrategias se te ocurren basadas en los patrones identificados?
  • ¿Qué nuevos datos recopilarías para descubrir patrones más finos?

Ejercicio 3 (avanzado): Descubrimiento de patrón en un problema cotidiano complejo

Horarios de autobús y patrón de puntualidad.

Enunciado:

Un usuario toma el autobús línea 47 para ir al trabajo. Durante 10 días ha registrado los minutos de retraso (positivo = llega tarde, negativo = llega pronto) respecto al horario oficial:

Días (lunes a viernes de dos semanas):

  • Semana 1: +5, +2, +8, +3, +10
  • Semana 2: +4, +1, +7, +2, +9

Tarea:

  1. ¿Observas algún patrón en los retrasos (por día de la semana, por semana, o por tendencia)?
  2. Calcula el retraso promedio por día de la semana.
  3. Propon una regla que permita predecir el retraso esperado para un miércoles cualquiera.
  4. El usuario necesita llegar antes de las 9:00. ¿A qué hora debería tomar el autobús si quiere llegar con un 90% de seguridad? (Teniendo en cuenta el retraso máximo observado).

Cálculos (completar):

Promedio lunes: ______ | Promedio martes: ______ | Promedio miércoles: ______ | Promedio jueves: ______ | Promedio viernes: ______

Retraso máximo observado: ______ minutos

Hora recomendada de salida (si el horario oficial es 8:30): _________

Reto

Observa a tu alrededor durante una semana. Identifica tres patrones en tu vida cotidiana que antes no habías notado. Pueden ser patrones de conducta (qué haces los viernes), patrones de consumo (qué compras cuando vas al supermercado), patrones de sueño, patrones de estudio, etc. Para cada patrón, describe brevemente: (1) el patrón identificado, (2) cómo lo descubriste, (3) qué predicción puedes hacer basándote en él y (4) si el patrón es útil o perjudicial para tus objetivos.

Bibliografía