Skip to content

Guias de anotaciones

Esta guía establece un vocabulario técnico preciso y lenguaje matemático riguroso para documentar retos ARC.

Usa lenguaje claro y preciso

No se pide una precisión matemática al anotar observaciones o hipótesis, pero sí usar un lenguaje claro, sencillo, y que no dé pie a interpretaciones.

Su propósito es maximizar la información transmitida con mínima ambigüedad y verbosidad.

Principios generales

  1. Precisión "matemática": Utilizar terminología inequívoca, no necesariamente formalmente matemática.
  2. Concisión: Eliminar palabras vacías, adjetivos imprecisos, descripciones vagas y expresiones redundantes.
  3. Objetividad: Describir propiedades observables, no interpretaciones subjetivas.
  4. Cuantificación: Especificar cardinalidad, frecuencia y distribución siempre que sea posible.

Definiciones fundamentales (matemáticas y sencillas)

  • Conjunto: Colección no ordenada de elementos distintos, denotado como {a, b, c}. Un grupo de cosas diferentes, sin importar el orden.
  • Subconjunto: Conjunto A donde ∀x∈A: x∈B para algún conjunto B. Un grupo más pequeño que está dentro de otro grupo.
  • Elemento: Unidad atómica dentro de un conjunto. Una cosa individual dentro de un grupo.
  • Dimensión: Par ordenado (w, h) que especifica ancho (width) × alto (height) de una matriz. El tamaño de una tabla: cuántas filas y columnas tiene.
  • Matriz: Función f: {0,1,...,m-1}×{0,1,...,n-1} → V donde V es el conjunto de valores posibles. Una tabla de números o colores, organizada en filas y columnas.
  • Posición/Coordenada: Par ordenado (i,j) que identifica una celda específica en una matriz. El lugar exacto de una celda en la tabla (fila, columna).
  • Adyacencia: Relación entre elementos que comparten un borde o vértice. Cuando dos celdas están una al lado de la otra (tocándose por un lado o esquina).
  • Componente conexa 4 (N4-conexa): Conjunto de celdas conectadas por adyacencia cardinal (N, S, E, O). Un grupo de celdas conectadas solo por arriba, abajo, izquierda o derecha.
  • Componente conexa 8 (N8-conexa): Conjunto de celdas conectadas por adyacencia cardinal o diagonal. Un grupo de celdas conectadas por cualquier vecino, incluyendo diagonales.
  • Componente máxima: Componente conexa C tal que |C| ≥ |C'| para toda otra componente C'. El grupo conectado más grande.
  • Contorno: Conjunto de celdas de una componente conexa que tienen al menos un vecino fuera de la componente (pueden ser parte del grupo o referirse solo a la frontera). Las celdas que están en el borde de un grupo.
  • Interior: Elementos de una componente conexa que no pertenecen a su contorno. Las celdas dentro de un grupo, que no están en el borde.
  • Patrón: Configuración espacial específica de valores, definida por su forma y distribución. Una forma o dibujo hecho por los valores en la tabla.
  • Cardinalidad: |S| = número de elementos en el conjunto S. Cuántos elementos hay en un grupo.
  • Frecuencia: f(v) = número de ocurrencias del valor v. Cuántas veces aparece un valor.
  • Distribución: Función que asigna a cada valor posible su frecuencia relativa. Cómo se reparten los valores en la tabla.
  • Moda: Valor v donde f(v) es máximo. El valor que más se repite.
  • Paridad: Propiedad de un entero n de ser par (n mod 2 = 0) o impar (n mod 2 = 1). Si un número es par o impar.
  • Direcciones cardinales: N(orte), E(ste), S(ur), O(este)/W(est). Arriba, derecha, abajo, izquierda.
  • Direcciones intercaladas: NE, SE, SO/SW, NO/NW. Las diagonales: arriba-derecha, abajo-derecha, abajo-izquierda, arriba-izquierda.
  • Relación espacial: (∆i,∆j) donde ∆i, ∆j ∈ {-1, 0, 1} para adyacencia inmediata. Cuánto se mueve una celda respecto a otra.
  • Vecindad de Von Neumann: N₄(i,j) = {(i+1,j), (i,j+1), (i-1,j), (i,j-1)}. Los vecinos que están justo arriba, abajo, derecha o izquierda de una celda.
  • Vecindad de Moore: N₈(i,j) = {(i±1,j±1), (i±1,j), (i,j±1)}. Todos los vecinos alrededor de una celda, incluyendo diagonales.
  • k-vecindad: Conjunto de todas las celdas a distancia ≤ k de (i,j). Todas las celdas que están a k pasos o menos de una celda.
  • Fondo (background): Valor predominante en la matriz, normalmente el que ocupa más celdas (típicamente 0).
  • Ruido: Elementos dispersos que no forman patrones relevantes sobre el fondo.
  • Traslación: T(i,j) = (i+∆i, j+∆j) para constantes ∆i, ∆j. Mover un elemento de una posición a otra.
  • Rotación: Rx(i,j) = (j, n-1-i) para rotación de X° en sentido horario. Girar una figura X grados.
  • Rotación antihoraria: Girar una figura X° en sentido contrario a las agujas del reloj.
  • Reflexión horizontal: H(i,j) = (n-1-i, j). Voltear una figura de arriba a abajo.
  • Reflexión vertical: V(i,j) = (i, m-1-j). Voltear una figura de izquierda a derecha.
  • Mapeo: Función φ: V₁ → V₂ que asigna a cada valor v∈V₁ un valor φ(v)∈V₂. Cambiar los valores según una regla.
  • Negación: ¬v o complemento de v. Cambiar 0 por 1 y 1 por 0 (o el opuesto de un valor).
  • Substitución: Reemplazo de un valor por otro siguiendo una regla φ.
  • Sentido horario / antihorario: "Horario" es el giro en el sentido de las agujas del reloj; "antihorario" es el opuesto. Se usa para describir el sentido de rotación o recorrido de un contorno.
  • Punto de inicio: Celda desde la que comienza un recorrido, patrón o transformación.
  • Propagación: Extensión de un valor a otras celdas, por adyacencia directa o siguiendo una regla (no siempre todos los vecinos deben tocarse). Cambiar un valor por otro en función de una regla.
  • Unión: A ∪ B = {x: x∈A ∨ x∈B}. Juntar dos grupos en uno solo.
  • Intersección: A ∩ B = {x: x∈A ∧ x∈B}. Quedarse solo con lo que está en ambos grupos.
  • Diferencia: A B = {x: x∈A ∧ x∉B}. Quitar de un grupo los elementos que están en el otro.
  • Operaciones bit a bit: ∧ (AND), ∨ (OR), ⊕ (XOR). Operaciones lógicas entre valores (y, o, o exclusivo).
  • Escalado: Expansión o contracción uniforme de un patrón. Hacer una figura más grande o más pequeña manteniendo su forma.
  • Propagación: Extensión de valores siguiendo reglas de adyacencia. Rellenar celdas a partir de otras, siguiendo vecinos.
  • Segmentación: Partición en subconjuntos según algún criterio.
  • Valor predominante: Valor v tal que f(v) > f(v') para todo v'≠v.
  • Elementos únicos: Conjunto {v: f(v)=1}.
  • Inclusión: Patrón A contenido completamente dentro de patrón B.
  • Alineación: Patrones que comparten coordenadas en al menos un eje.
  • Equidistancia: Patrones separados por distancia constante.

Bases de los retos

  • Matrices: Todos los elementos se interpretan como matrices de distintas dimensiones.
  • Dimensiones: Las dimensiones pueden variar entre problemas, y puedes ser distintas en el espacio input y output.
  • Cardinalidad: El espacio cardinal máximo es 10, porque los valores pueden ser 0 (nulo), 1 .. 9. Cada problema puede tener un valor entre 1 (solo hay nulos), y 10, todos existen.
  • Conjuntos: En Arc los conjuntos inputs y outputs pueden tener distinto tamaño, es importante tener en cuenta para afinar en gran medida las hipótesis.
  • Fondo: El valor predominante en la matriz, normalmente 0.
  • Ruido: Elementos dispersos que no forman patrones relevantes sobre el fondo.
  • Transformaciones típicas: Traslaciones, rotaciones, reflexiones, propagaciones, mapeos de valores, etc.
  • Patrones relevantes: Componentes conexas, contornos, alineaciones, simetrías, etc.

Todas las anotaciones se referirán a:

  • Distribución, frecuencia, y patrones en el input u output.
  • Transformaciones que apliquen siempre entre input y output.
  • Descripciones detalladas de los elementos que dan información útil.
  • La información útil es aquella que resuelve el problema, o descarta afirmaciones.

Patrones comunes en ARC

Sección ñeee, no me convence lo que aporta. TODO ver si reelaborar o borrar.

Relaciones estructurales

  • Alineación: Patrones que comparten coordenadas en al menos un eje.
  • Simetría: Propiedad de mantener la forma bajo ciertas transformaciones (rotación, reflexión).
  • Ruido: Elementos dispersos que no forman patrones relevantes sobre el fondo.

Relaciones espaciales

En problemas basados en posiciones relativas:

  • Utilizar coordenadas precisas
  • Referenciar mediante relaciones de vecindad
  • Especificar distancias y direcciones

Transformaciones

En problemas de mapeo entre entrada y salida:

  • Describir mediante composición de funciones
  • Especificar dominio y codominio de cada transformación
  • Indicar invariantes (propiedades que no cambian)

Ejemplos

Para el análisis, es importante:

  • Cuantificar cardinalidad de cada grupo
  • Indicar la frecuencia de cada cardinal
  • Indicar distribución espacial de los grupos
  • Especificar criterio de agrupación (adyacencia, valor, etc.)

Esta sección contiene algunos ejemplos para detectar conceptos y patrones, y poder expresarlos.

Ejemplos de conceptos y patrones

  • Componente conexa 4 (N4-conexa):
    1 0 0
    1 1 0
    0 1 1
    
    Los "1" de la izquierda y centro forman una componente conexa 4; el "1" de la esquina inferior derecha está separado.
  • Componente conexa 8 (N8-conexa):
    1 0 1
    0 1 0
    1 0 1
    
    Todos los "1" están conectados en una sola componente conexa 8.
  • Contorno:
    1 1 1
    1 0 1
    1 1 1
    
    El contorno son los "1" del borde; el interior sería el "0" central si fuera parte del grupo.
  • Fondo (background):
    0 0 0 0
    0 5 0 0
    0 0 0 0
    
    El fondo es 0.
  • Ruido:
    0 0 0 0
    0 1 0 0
    0 0 0 2
    
    Los "1" y "2" son ruido sobre el fondo 0.
  • Propagación:
    0 1 0
    1 1 0
    0 0 0
    
    Propagación de "1" desde (0,1) a toda la componente conexa 4.
  • Traslación:
    Input:  0 1 0
            0 0 0
            0 0 0
    Output: 0 0 0
            0 1 0
            0 0 0
    Traslación: (0,1) → (1,1)
    
  • Rotación 90° horario:
    1 2
    3 4
    =>
    3 1
    4 2
    
  • Rotación 90° antihorario:
    1 2
    3 4
    =>
    2 4
    1 3
    
  • Mapeo de valores (input → output):
    Input:  1 2 2
            1 1 2
    Output: 3 4 4
            3 3 4
    Mapeo: { 1 -> 3, 2 -> 4 }
    

Ejemplos de expresión: mal dicho vs bien dicho

  1. "grupos de 8s juntos" > Componentes conexas de valor 8 con cardinalidad 3
  2. "fondo de 0s con unos pocos 5s" > Matriz con valor predominante 0 (f(0)=40) y elementos minoritarios de valor 5 (f(5)=4)
  3. "relleno de huecos" > Asignación de valor v a celdas que satisfacen predicado P(i,j)
  4. "el patrón se mueve" > Traslación T(2,3) aplicada al subconjunto S
  5. "hay un cambio de colores" > Mapeo {1→3, 2→4, 3→2} entre input y output
  6. "elementos que forman una L" > Patrón con configuración espacial L, compuesto por elementos en posiciones {(i,j), (i+1,j), (i+2,j), (i+2,j+1)}
  7. "hay puntos sueltos" > Ruido sobre fondo 0: elementos aislados de valor distinto al fondo
  8. "se rellena la figura" > Propagación de valor v a la componente conexa a partir de (i,j)
  9. "se gira la figura" > Rotación 90° horario del subconjunto S respecto al centro (cx,cy)
  10. "se empieza por la esquina" > Punto de inicio en (0,0) para el recorrido del contorno
  11. "En origen un grupo de no nulos componen el fondo, y en el centro hay grupos de valores no nulos con distintas frecuencias y posiciones." > En la matriz de entrada, el fondo está compuesto por valores no nulos (fondo predominante). En el centro existen subconjuntos de valores no nulos, cada uno con frecuencia específica.
  12. "En destino hay muchos menos elementos, concretamente 4 veces menos de cada grupo no nulo de origen." > En la matriz de salida, la frecuencia de cada valor no nulo es exactamente ¼ respecto al input.
  13. "Las dimensiones de destino son más 3 veces menores tanto en filas como columnas." > La dimensión de la matriz de salida es (3×3), siendo ⅓ de la dimensión de entrada en ambos ejes.
  14. "Iden, excepto distintos números con distintas frecuencias." > En la segunda muestra, los valores y sus frecuencias cambian, y los subconjuntos centrales presentan una traslación respecto al centro original.
  15. "Los elementos ya no están en el centro de origen sino que tienen un ligero desplazamiento." > Los subconjuntos centrales presentan una traslación respecto al centro original.
  16. "En origen casi todos valores nulos, excepto 2 subgrupos de 8s, en forma de esquina." > En la matriz de entrada, el fondo es 0 (f(0) ≫ f(8)), con dos componentes conexas de valor 8, cada una con cardinalidad 3, formando esquinas.
  17. "En destino están los mismos 8s, en las mismas posiciones, y un uno con los 3 8s como vecino." > En la matriz de salida, los valores 8 se mantienen en las mismas posiciones, y se añade un valor 1 en la celda adyacente diagonal a tres valores 8, completando un patrón cuadrado.
  18. "El 1 siempre tiene 3 vecinos en lateral diagonal de 8s." > El valor 1 se ubica en la posición que completa la componente conexa 8 formando un cuadrado (adyacencia diagonal).
  19. "Concepto rellenar cuadrados." > El patrón de salida consiste en completar componentes conexas cuadradas a partir de tres valores 8 adyacentes.
  20. "En origen fondo de elementos nulos. Solo 2 elementos no nulos, un 2 y un 8 en la primera fila, distintas columnas." > Input: fondo 0, con dos elementos no nulos (2 y 8) en la primera fila, posiciones (0,i) y (0,j).
  21. "En destino están los 2 mismos valores en la misma posición, pero en las siguientes filas hay consecutivamente 2, 1, 2, 1 de cada elemento replicados (columna -1 y +1 del valor original)." > Output: los valores no nulos se mantienen en la primera fila, y en cada fila subsiguiente se replica el valor original en posiciones desplazadas ±1 columna respecto a la anterior, formando un patrón alternante.
  22. "Idem, pero en este caso solo hay un 4 en origen. En destino mismo patrón de 4s." > En la segunda muestra, solo un valor 4 se replica siguiendo el mismo patrón de desplazamiento.
  23. "En origen fondo de elementos no nulos, con las 2 primeras filas de 2s y la 3a fila de 3s." > Input: matriz con fondo predominante distinto de 0, dos primeras filas con valor 2, tercera fila con valor 3.
  24. "En destino hay el doble de elementos, los de origen copiados en la misma posición, y en las últimas posiciones en inverso." > Output: la frecuencia de cada valor se duplica respecto al input. Los valores originales se mantienen en posición, y se añaden sus reflejos horizontales en las filas correspondientes.
  25. "Los elementos extra (x2) presentan una reflexión horizontal." > Transformación: reflexión horizontal de cada fila, uniendo el original y su reflejo.

Errores comunes a evitar

  • Uso de expresiones vagas: "ligero desplazamiento", "rellenar cuadrados", "idéntico pero con otros números".
  • Falta de cuantificación: no se especifica cardinalidad, frecuencia, ni distribución.
  • Descripciones subjetivas o poco objetivas: "en el centro", "forma de esquina", "componen el fondo".
  • No se usan términos de la guía como "componente conexa", "adyacencia", "traslación", "reflexión", "cardinalidad", "frecuencia", etc.
  • No indicar explícitamente las transformaciones o patrones detectados.