1. Principio metodológico: aprender haciendo, luego formalizar
A diferencia de los enfoques puramente teóricos o arqueológicos, este trabajo parte de una premisa metodológica inversa: primero aprender a usar la Yupana físicamente, luego modelar computacionalmente lo que se aprendió.
El autor, hablante nativo de quechua, aprendió el sistema numérico quechua desde la infancia. Sin embargo, el salto cualitativo ocurrió durante un curso de estudios superiores, al constatar una ausencia crítica:
No existía ninguna aplicación digital funcional de la Yupana. Solo tutoriales para jugar con tableros físicos.
Esta carencia motivó un proceso de desarrollo en dos fases (2024 y 2026), que constituye la base metodológica de esta investigación.
2. Tipo de investigación
Este estudio es de carácter computacional-experimental, con diseño cuasi-experimental, basado en simulación de sistemas discretos y análisis cuantitativo de resultados.
| Característica | Descripción |
|---|---|
| Naturaleza | Computacional-experimental |
| Diseño | Cuasi-experimental (no hay grupo de control aleatorizado, sino comparación con algoritmo decimal clásico) |
| Método | Simulación de sistemas discretos |
| Enfoque analítico | Cuantitativo (métricas de eficiencia, frecuencias, entropía) |
| Alcance | Explicativo (busca medir y comparar, no solo describir) |
Esta clasificación permite situar el trabajo en el campo de la computación experimental y la lingüística computacional aplicada a sistemas precolombinos.
3. Fase 1 (2024): Aprendizaje físico y primer prototipo (PHP)
3.1. Aprendizaje en tablero físico
El primer paso fue construir o conseguir un tablero físico de Yupana (según la interpretación de Poma de Ayala). El autor:
- Practicó sumas manualmente con fichas
- Interiorizó las reglas de reorganización interna
- Validó personalmente la lógica del sistema
Este paso es metodológicamente crucial porque garantiza que el modelo digital posterior no es una invención teórica, sino la traducción de una práctica real.
3.2. Primer prototipo digital en PHP
Con el conocimiento práctico adquirido, el autor se propuso programar una Yupana digital. El resultado fue:
- Lenguaje: PHP
- Funcionalidad: Solo suma (resta no implementada)
- Calidad del código: Alto nivel de redundancia, escasa limpieza estructural
- Estado: Funcional pero frágil
Este prototipo se publicó en soyquechua.org (versión 2024). No se extrajeron ni analizaron datos en esta fase. Solo existía la aplicación funcionando, sin métricas ni logging.
4. Fase 2 (2026): Refactorización, automatización y extracción de datos
4.1. Objetivo de la segunda fase
Partiendo del código existente (con sus falencias), se establecieron dos metas:
- Mejorar la aplicación: depurar, reducir redundancia y extender a resta
- Convertir la aplicación en una herramienta de investigación: añadir capacidad de extracción de datos
4.2. Refactorización del núcleo lógico
Se reescribieron los algoritmos de:
- Suma: optimizando las reglas de reorganización interna
- Resta: implementada desde cero, siguiendo la lógica de «destrucción» (Yanantin)
La aplicación mejorada funcionó localmente (PC local) antes de cualquier despliegue.
4.3. Automatización de entradas (input masivo)
Para generar un corpus estadísticamente significativo, se introdujo un sistema de input automatizado mediante Python:
- Se generaron aproximadamente 500,501 operaciones (sumas y restas)
- Las entradas fueron inyectadas al simulador Yupana de forma programática
- El rango de números cubrió desde unidades hasta centenas (según capacidad del tablero)
4.4. Extracción y almacenamiento de datos
Por cada operación (input), el sistema registró:
- Operandos (a y b)
- Tipo de operación (suma/resta)
- Número de acarreos (carry) generados
- Pasos intermedios de reorganización
- Resultado final
- Estado del tablero en cada capa
Los datos fueron extraídos a un formato estructurado (CSV/JSON) para su análisis posterior.
5. Definición formal del sistema
La Yupana se modela como un sistema discreto definido por:
| Componente | Notación | Descripción |
|---|---|---|
| Estado | St | Configuración del tablero en el tiempo t (distribución de fichas en 5 filas × 4 columnas) |
| Reglas de transición | T | Conjunto de reglas deterministas que transforman St→St+1 |
| Función de salida | O(S) | Lectura del valor numérico a partir de un estado estable del tablero |
El sistema opera como un autómata de estados discretos:St+1=T(St)
La secuencia de transformaciones continúa hasta alcanzar un estado estable S∗, donde ya no es posible aplicar más reglas. En ese punto:Resultado=O(S∗)
Este enfoque se alinea con interpretaciones modernas de la Yupana que destacan su carácter no simbólico y basado en reconocimiento de patrones, en lugar de cálculo aritmético tradicional. Investigaciones como las de Tawa Pukllay han documentado que en la Yupana:
- No hay cálculo mental secuencial
- Hay manipulación por patrones y reorganización espacial
6. Procedimiento computacional (pseudocódigo)
El algoritmo central del simulador sigue esta estructura:
text
function operar_yupana(a, b, tipo):
# 1. Cargar operandos al tablero como estado inicial
estado = cargar_tablero(a, b)
# 2. Aplicar reglas de reorganización hasta alcanzar estabilidad
while not estado_estable(estado):
estado = aplicar_reglas(estado, tipo) # tipo = suma o resta
# 3. Leer el resultado del tablero estabilizado
resultado = leer_tablero(estado)
return resultado, registrar_metricas(estado)
Ejemplo concreto para suma:
text
# Estado inicial: operandos colocados en filas correspondientes
S0 = [ [3,0,0,0], # fila 1 (unidades)
[0,0,0,0], # fila 2
[0,0,0,0], # fila 3
[0,0,0,0], # fila 4
[0,0,0,0] ] # fila 5
# Regla: si una celda tiene 4 fichas, se canjean por 1 ficha en la columna siguiente
# (equivalente al acarreo pero reorganizado espacialmente)
# Después de aplicar reglas iterativamente...
S_estable = [ [1,0,0,0], # resultado final
[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0] ]
# Salida: 3 + 0 = 1? (NO, es solo ejemplo de estructura; los números reales
# dependen de la interpretación de pesos por celda)
7. Definición operativa de carry (acarreo)
Se define «carry» como cualquier transferencia de fichas entre celdas que modifica la representación posicional del valor dentro del tablero.
Esta definición es crucial porque:
| Aspecto | Implicancia |
|---|---|
| Diferencia con carry decimal | En el sistema decimal, el carry es una operación aritmética (sumar 1 a la columna siguiente). En la Yupana, es una reorganización espacial de fichas. |
| Unidad de medida común | Permite comparar ambos sistemas (Yupana vs decimal) usando la misma métrica funcional: número de eventos de transferencia entre posiciones. |
| Evita críticas metodológicas | Al definir explícitamente qué se cuenta como «carry», cualquier investigador puede replicar la medición. |
En este estudio, se contabiliza como un carry por cada evento de canje (ej. 4 fichas → 1 ficha en la celda adyacente).
8. Análisis de datos
8.1. Librerías utilizadas
| Librería | Función |
|---|---|
pandas | Manipulación y limpieza del corpus |
numpy | Cálculos vectoriales y métricas básicas |
matplotlib / seaborn | Visualización de patrones y gráficas estadísticas |
networkx | Análisis de red de transiciones entre estados |
gephi (software independiente) | Visualización avanzada de grafos de reorganización |
scipy.stats | Pruebas estadísticas comparativas |
collections | Conteo de frecuencias y patrones |
Nota sobre Gephi: Los grafos de transición entre estados del tablero se exportaron desde Python (formato .gexf) y se visualizaron en Gephi para identificar:
- Nodos más frecuentes (estados estables recurrentes)
- Rutas críticas (secuencias de reorganización más comunes)
- Comunidades (subgrafos de estados conectados por reglas similares)
8.2. Métricas calculadas
| Métrica | Descripción |
|---|---|
| Frecuencia de acarreos (carry) | Comparación Yupana vs algoritmo decimal clásico |
| Profundidad de reorganización | Número de capas de transformación interna (pasos hasta S∗) |
| Distribución de estados | Frecuencia de cada configuración del tablero |
| Eficiencia relativa | (Pasos Yupana) / (Pasos decimal) |
| Entropía de Shannon | Incertidumbre en la secuencia de estados |
| Compresibilidad (Kolmogorov proxy) | Longitud de mensaje mínimo para describir una operación |
| Métricas de red (Gephi) | Grado medio, coeficiente de clustering, diámetro del grafo de transiciones |
8.3. Validación del modelo
La validación se basa en el carácter determinista del sistema: dado un estado inicial idéntico, la secuencia de transformaciones produce siempre el mismo resultado.
Procedimiento de validación:
- Se compararon resultados de 100 operaciones manuales (tablero físico) vs simulador
- Concordancia del 100% (las reglas de transición son deterministas)
- Se verificó que el simulador no produce estados muertos o no alcanzables
Limitación de la validación: La concordancia con el tablero físico valida el comportamiento funcional, pero no puede garantizar que coincida exactamente con el uso original prehispánico (ver sección 9).
9. Limitaciones del método
| Limitación | Descripción | Impacto |
|---|---|---|
| Corpus limitado a suma y resta | No se implementaron multiplicación ni división | Los hallazgos aplican solo a operaciones básicas |
| Rango numérico acotado | Limitado por la capacidad del tablero (5 filas × 4 columnas) | No se probaron números > 10⁵ aprox. |
| Prototipo inicial en PHP | El código original contenía redundancias | La refactorización pudo introducir sesgos inadvertidos |
| Sesgo del aprendiz | El autor aprendió con una interpretación específica (Poma de Ayala) | Otras interpretaciones de la Yupana no fueron modeladas |
| Ausencia de validación histórica directa | El modelo reproduce un comportamiento funcional, pero no puede garantizar que coincida exactamente con el uso original prehispánico | Las conclusiones sobre «cómo usaban la Yupana los Incas» deben ser cautelosas |
Esta última limitación es metodológicamente importante: el estudio valida un modelo funcional, no una reconstrucción histórica exacta.
10. Reproducibilidad
El código completo (simulador + scripts de análisis + exportación a Gephi) está disponible en:
- Repositorio público: [enlace al GitHub / repositorio]
- Versión web funcional:
soyquechua.org/yupana(versión 2026)
Cualquier investigador puede:
- Ejecutar el simulador localmente
- Generar su propio corpus de operaciones
- Reproducir las métricas reportadas en el Post 3 (Resultados)
- Exportar los grafos a Gephi para visualización personalizada
11. Conexión con teoría existente
El enfoque se alinea con interpretaciones modernas de la Yupana que destacan su carácter no simbólico y basado en reconocimiento de patrones, en lugar de cálculo aritmético tradicional.
Esto está respaldado por estudios como Tawa Pukllay (investigación sobre juegos y matemáticas andinas), donde se documenta que:
- La Yupana opera por manipulación de patrones espaciales
- No requiere cálculo mental secuencial
- El resultado emerge de la reorganización, no de la suma directa
Adicionalmente, la modelización como autómata de estados discretos conecta este trabajo con la teoría de sistemas dinámicos y la computación no simbólica, abriendo puentes entre la etnomatemática y las ciencias de la computación.
12. Declaración de integridad metodológica
Este método no sigue el protocolo ideal de «diseño → implementación → validación». Sigue un camino más humano y ecológico:
Aprendizaje físico → frustración por falta de herramientas → prototipo funcional pero imperfecto → refactorización → automatización → análisis.
Se documenta esta trayectoria no como una debilidad, sino como una fortaleza metodológica: el modelo digital no es una especulación teórica, sino la traducción formal de una práctica real validada por un hablante nativo que aprendió jugando con un tablero físico.
13. Conexión con el Post 3 (Resultados)
Los datos extraídos mediante este método (500,501 operaciones, métricas de carry, pasos, estados, grafos exportados a Gephi) son analizados en el Post 3 (Resultados) , donde se presentan exclusivamente los hallazgos cuantitativos, sin interpretación filosófica (esa queda para el Post 4 de Discusión).
🔁 Ruta de lectura del estudio de la Yupana
Este artículo presenta el método utilizado para analizar la yupana como sistema computacional.
- 1. Problema: Formalización computacional de la Yupana
- 2. Método: Simulación computacional de la Yupana (este artículo)
- 3. Resultados: Análisis estructural del sistema
- 4. Análisis: Yupana como sistema computacional
- 5. Simulador interactivo (próximamente disponible)
Aquí se define el enfoque metodológico basado en simulación, generación de estados y validación estructural del sistema.
Ver todos los artículos de la serie: Yupana