[{"content":"","date":null,"permalink":"/tags/bricolaje/","section":"Tags","summary":"","title":"Bricolaje"},{"content":" Introducción #En ciertos contextos, la frontera entre la \u0026ldquo;ingeniería\u0026rdquo; y la \u0026ldquo;magia\u0026rdquo; es estrictamente presupuestaria. Cuando el sistema de suministro falla, o la moneda local colapsa frente al componente homologado, la imaginación deja de ser un proceso creativo abstracto para convertirse en una disciplina técnica de supervivencia. La precariedad no actúa aquí como un límite infranqueable, sino como un laboratorio de diseño restringido donde la necesidad obliga a redescubrir la física subyacente de lo cotidiano. Resolver un problema técnico en la escasez es, fundamentalmente, un ejercicio de optimización bajo restricciones severas.\nFormalización y dignidad del injerto #Para entender la operación básica de este taller de barrio, conviene formalizar el problema. Sea $A$ el dispositivo “legítimo” —una entidad funcional que ha perdido su integridad tras el fallo de uno de sus componentes vitales— y sea $B$ el conjunto de componentes “intrusos”: el ventilador de pie desahuciado, la radio a pilas sulfatadas, el juguete asiático con luces estridentes con pilas como nuevas.\nPodemos definir un dispositivo como un conjunto estructurado de módulos funcionales, $A = \\{m_1, \\cdots, m_k,\\cdots, m_n\\}$. Si cierto módulo $m_k$ falla, la industria prescribe un reemplazo $m'_k \\in \\mathscr{C}_A$, donde $\\mathscr{C}_A$ es el catálogo oficial de partes homologadas para $A$.\nEn el manual de usuario de $A$, la intersección entre la estructura de $A$ y las vísceras de $B$ tiene, por definición, medida nula. Sin embargo, la práctica del injerto subvierte esta rigidez topológica, una función $\\rho_k$ de dominio precario $B$, $\\rho_k: B \\to \\{m_k\\}$, fuerza a encontrar en $B$ elementos que se comporten “isofuncionalmente” al componente faltante $m_k$.\nNo se trata de una simple reparación, sino de una afirmación ontológica: los objetos no tienen por qué morir cuando la matriz de obsolescencia lo dicta. El injerto reemplaza la máxima determinista “cada cosa para su fin” por una lógica estocástica y frankensteiniana: “cada cosa para lo que se pueda probar funcional”.\nTermodinámica del descarte #Desde la termodinámica, un electrodoméstico roto es un sistema cuya entropía ha superado el umbral de viabilidad operativa. El fabricante propone reducir esa entropía inyectando energía en forma de capital (comprar algo nuevo).\nEl taller precario, en cambio, opera como aquel demonio concebido por Maxwell que toma partes de un sistema degradado $B$ (cuasi basura) y pretende acoplarlas al sistema $A$, logrando así una reducción local de la entropía ($\\Delta S \u003c 0$) sin recurrir a la inyección de capital externo, utilizando puramente información y trabajo artesanal. El injerto retrasa la muerte térmica de los objetos cotidianos, demostrando que la vida útil no es una constante universal, sino una variable dependiente de la terquedad humana.\nCatálogos imposibles como guías del ingenio #Mientras que la industria proyecta el futuro como una progresión lineal de reemplazos homogéneos (la pieza $n$ sustituida trivialmente por la versión $n+1$), el taller precario escribe catálogos de equivalencias funcionales improbables. Aquí, el célebre \u0026ldquo;lo atamos con alambre\u0026rdquo; se eleva a la categoría de diseño sistémico, $\\mathtt{entrada}\\rightarrow\\mathtt{salida}$:\n$\\mathtt{entrada}$ $\\mathtt{salida}$ motor de secador de pelo turbina para avivar el fuego del asado $\\mathtt{CD{-}ROM}$s antiguos dispositivo estroboscópico pasivo antiaves tambor de acero inoxidable de lavarropas fogonero exterior con ventilación convectiva autoportante sifón de vidrio con malla protectora luminaria colgante de estética industrial elástico de cama de hierro viejo parrilla de alta resistencia a la fatiga térmica \u0026hellip; y así sucesivamente, podríamos continuar la lista que toma como entradas casi cualquier cosa y devuelve como salida casi cualquier otra.\nEn este gesto hay una diferencia algorítmica con la mera improvisación: se trata de identificar el mínimo denominador común vectorial (forma, fuerza electromotriz, inercia térmica, \u0026hellip;) que permite la transferencia de funciones entre dispositivos que el mercado agrupa en clústeres inconexos.\nOntología del repuesto #Desde una perspectiva externa y burguesa, estas soluciones pueden parecer meros “arreglos de compromiso” con alta probabilidad de falla o, peor aún, una estética de la fealdad técnica. No obstante, conforme los dispositivos modernos se vuelven más cerrados (cajas negras), protegidos por tornillos propietarios y resinas opacas, el saber del injerto adquiere el valor de una ingeniería inversa de supervivencia.\nEn esta práctica, el objeto deja de ser una unidad indivisible definida por su marca para convertirse en un archipiélago de funciones. Ver un dispositivo $B$ y preguntarse por su utilidad latente introduce una ontología modular del mundo. Nada es puramente un “teléfono viejo” o una “impresora rota”; en el taller precario, estos objetos sufren una desintegración analítica: son, en realidad, una superposición de objetos (un motor paso a paso, una lente de precisión, un sensor de proximidad, una batería de litio) que esperan ahí hasta que alguien los mire desde la necesidad.\nEsta desobediencia al manual de usuario implica que la esencia del objeto ya no reside en su propósito original, sino en su disponibilidad material. Si el mercado impone una obsolescencia programada para que el dispositivo muera como totalidad, el injerto responde con una inmortalidad por fragmentos. En última instancia, el repuesto no se compra: se descubre entre objetos antes descartados, que otros llaman basura.\nConversación material #En esta práctica, la precariedad deja de ser entendida como una mera falta de recursos para revelarse como un grafo con un exceso de conexiones posibles. Allí donde el fabricante ordena podar el árbol de decisiones y descartar, la imaginación material pretende insistir en persistir.\nLos dispositivos, por muy distantes que parezcan en el mercad, pueden conversar entre sí mediante cables torcidos, adaptadores de impedancia de fabricación casera y decisiones que bordean el cortocircuito. En esa conversación forzada se manifiesta una soberanía sobre la materia, una independencia técnica que el consumo pasivo es incapaz de procesar.\nReflexión #La persistencia en el uso de lo que el sistema económico etiqueta como inútil, en otras palabras, que la probabilidad de utilidad es nula, no es solo economía de trinchera; es un marco epistemológico. Al injertar elementos de $B$ en $A$, no solo estamos cerrando un circuito o reparando una máquina, estamos reescribiendo nuestra relación de dependencia con la técnica. Transformamos la carencia en un operador de diseño que desafía la obsolescencia programada con la única herramienta verdaderamente inagotable. Es una forma de combatir el aumento de entropía programado por la industria mediante la inyección de ingenio local y una profunda obstinación vital de aquello que se resiste a darse por muerto.\n","date":null,"permalink":"/notes/15.ingenieria-precariedad/","section":"Notas","summary":"Una formalización sobre cómo la carencia transforma la reparación técnica en un laboratorio de subversión material y soberanía a la criolla.","title":"Ingeniería de la precariedad"},{"content":"","date":null,"permalink":"/","section":"Mariano Caruso","summary":"","title":"Mariano Caruso"},{"content":"\u0026hellip;puede haber algún error\n","date":null,"permalink":"/notes/","section":"Notas","summary":"","title":"Notas"},{"content":"","date":null,"permalink":"/tags/ontolog%C3%ADa/","section":"Tags","summary":"","title":"Ontología"},{"content":"","date":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"","date":null,"permalink":"/tags/termodin%C3%A1mica/","section":"Tags","summary":"","title":"Termodinámica"},{"content":"","date":null,"permalink":"/tags/injectivity/","section":"Tags","summary":"","title":"Injectivity"},{"content":"","date":null,"permalink":"/tags/privacy/","section":"Tags","summary":"","title":"Privacy"},{"content":"","date":null,"permalink":"/tags/sipit/","section":"Tags","summary":"","title":"Sipit"},{"content":" Inyectividad y confidencialidad en modelos de lenguaje #Introducción #El mecanismo mediante el cual un Modelo de Lenguaje Grande (LLM) procesa un prompt y lo transforma en una representación interna que condiciona la salida se articula en una secuencia bien definida de operaciones: segmentación en tokens, proyección al espacio de embeddings, incorporación de información posicional, paso por una pila de capas que alternan entre bloques de atención multicabezal y transformaciones feedforward, acopladas mediante conexiones residuales y normalización. Esta arquitectura, introducida de manera sistemática en el trabajo fundacional de Vaswani et al. (Attention is all you need, NeurIPS 2017), constituye el núcleo de lo que hoy se conoce como Transformer.\nPuede pensarse este proceso de codificación como una exploración progresiva de un espacio desconocido. El punto de partida es un texto explícito —el prompt— y el destino es un estado oculto cuya geometría y localización no resultan intuitivas. El trayecto no se recorre de una sola vez, sino que en cada capa, se reorganiza la información recibida a partir de reglas internas que, vistas desde fuera, parecen opacas o incluso arbitrarias. El conjunto de todos estos recorridos posibles configura una estructura laberíntica, con tantas entradas como secuencias distintas puedan formarse a partir de un vocabulario y una ventana de contexto finitos.\nDurante mucho tiempo se asumió que este laberinto tenía una topología convergente. Bajo esa hipótesis, caminos distintos acabarían confluyendo en regiones comunes del espacio latente, del mismo modo que un sistema de ríos desemboca en un delta compartido. En ese tránsito, los detalles accidentales del texto de partida se perderían, mientras que su contenido semántico esencial sobreviviría. Desde esta perspectiva, los hidden states se interpretaban como representaciones comprimidas: versiones empobrecidas pero significativas del prompt original.\nSin embargo, resultados recientes cuestionan de raíz esta interpretación. Prueba de esto es el trabajo de Nikolaou et al. (Language Models are Injective and Hence Invertible, arXiv:2510.15511, 2025) donde se demuestra que, para una amplia clase de modelos Transformer de uso extendido, la función que asocia una entrada textual a su estado interno final es, con probabilidad uno, inyectiva y por ende invertible. Esta propiedad invalida la idea de que la codificación latente actúa como un mecanismo de compresión irreversible. Lejos de eliminar información, el proceso conserva lo suficiente como para permitir, al menos en principio, la reconstrucción del texto original. Los estados ocultos no serían destilados semánticos, obtenidos por transformaciones fieles, operaciones que reorganizan sin olvidar.\nEsta constatación obliga a reinterpretar la arquitectura desde una clave más próxima a la literatura de Borges que a la metáfora del embudo informacional. El mapa que replica exactamente el territorio (Borges, Del rigor en la ciencia), el laberinto que puede recorrerse en sentido inverso (Borges, La casa de Asterión) y la memoria patológica que no admite el olvido (Borges, Funes el memorioso) ofrecen imágenes precisas para describir estos comportamientos. En términos formales, se trata de aplicaciones uno a uno, con la posibilidad de volver a la salida y carentes de pérdida informacional, cuya complejidad no reside en la desaparición de datos, sino en su reordenamiento.\nBajo esta luz, considerar los estados ocultos como entidades transitorias e inofensivas resulta profundamente problemático. Su carácter casi perfectamente reconstructivo implica que cualquier información sensible introducida en un prompt —datos personales, información médica, secretos industriales o asesoramiento jurídico— permanece latente en una forma potencialmente recuperable. Las consecuencias para la confidencialidad, el cumplimiento normativo y la evaluación real de lo que un sistema recuerda u olvida son inmediatas. Todo ello apunta a la necesidad de repensar las arquitecturas actuales: introducir mecanismos explícitos de olvido, ofuscación deliberada de representaciones, cifrado en el espacio latente o restricciones estrictas al acceso a estados intermedios. En última instancia, el reto no es solo proteger los datos que entran y salen del sistema, sino diseñar a estos últimos para que sean seguros por construcción, incluso cuando su memoria resulta, en esencia, demasiado perfecta.\nEste artículo analiza las propiedades funcionales de las arquitecturas Transformer de tipo decoder-only autorregresivas que, dada su integración ubicua, presentan implicaciones críticas para la privacidad. Investigaciones recientes muestran que, bajo hipótesis muy generales, la aplicación que mapea una secuencia finita de tokens a su estado oculto en la última capa es, casi siempre, inyectiva. Esto implica que las representaciones internas no son una reducción semántica del prompt, sino un rastro invertible que permite reconstruir el texto original mediante algoritmos eficientes. Desde una lente borgiana: los modelos no olvidan.\nEl flujo arquitectónico clásico de un LLM —tokenización, proyección a embeddings, codificación posicional y un stack de capas que combinan atención multi-cabeza y redes feedforward con residuales y normalización— define un mapeo complejo desde una secuencia discreta hacia un espacio latente continuo. Tradicionalmente se pensó que este proceso actuaba como un embudo compresor: distintos prompts podían confluir en estados internos similares que retenían solo la esencia semántica.\nRecientemente se ha demostrado que, para una amplia clase de modelos decoder-only, la función $x \\longmapsto \\rho(x;\\theta)$ (donde $\\rho$ es la representación oculta del último token y $\\theta$ los parámetros del modelo) es casi siempre inyectiva (Nikolaou et al.). En términos prácticos, esto obliga a replantear la intuición de que los estados internos constituyen representaciones empobrecidas: en muchos casos contienen suficiente información para reconstruir el prompt completo.\nEsa constatación tiene consecuencias directas para la privacidad: si la representación interna es (casi) invertible, quien acceda a ella y disponga de un algoritmo de inversión viable puede recuperar texto sensible y PII que se suponía “olvidado”.\nPropiedades funcionales #Sea $X$ el conjunto discreto de prompts posibles (vocabulario finito y ventana de contexto finita) y $Y\\subset\\mathbb{R}^d$ el espacio de estados ocultos. Recordemos conceptos clave:\nInyectividad. $f:X\\to Y$ es inyectiva si $x_1\\ne x_2 \\implies f(x_1)\\ne f(x_2)$. En nuestro contexto, dos prompts distintos no colapsan en la misma representación. Inversa por la izquierda. Si existe $g:Y\\to X$ tal que $g\\circ f=\\mathrm{id}_X$, decimos que $f$ tiene inversa por la izquierda. Implicación práctica. La inyectividad garantiza existencia (y unicidad) de preimagen sobre la imagen de $f$, pero no garantiza que dicha inversa sea fácil de computar. Sin embargo, el resultado teórico viene acompañado de un algoritmo constructivo que demuestra recuperabilidad práctica, ver sección siguiente. La razón por la que la inyectividad es “casi segura” en estos modelos se apoya en observaciones sobre la regularidad de los componentes (productos escalares, softmax, activaciones analíticas tipo GELU, LayerNorm, etc.) y en teoremas sobre ceros de funciones reales analíticas: para un par fijo $x\\ne x'$, la ecuación $\\rho(x;\\theta)=\\rho(x';\\theta)$ define, salvo degeneración, un conjunto de parámetros de medida nula. Con inicializaciones continuas y entrenamiento “suave” (SGD y variantes), la probabilidad de caer exactamente en dichas superficies de colisión es nula y se preserva durante el flujo de entrenamiento salvo contramedidas radicales.\nLocalización del problema: pipeline que importa #Descomponemos el mapping $x\\longmapsto\\rho(x;\\theta)$ en etapas:\nTokenización ($\\tau$): mapea texto a índices discretos. Embeddings ($\\mathrm{Emb}$): $\\{1,\\dots,|V|\\}^T\\to\\mathbb{R}^{T\\times d}$. Transformación ($\\mathcal{T}$): pila de $L$ bloques Transformer que actúan sobre $\\mathbb{R}^{T\\times d}$. Proyección de salida: afin + softmax (no es el foco aquí). La representación que nos ocupa es la fila asociada al último token $\\rho_T(x;\\theta)$, que ha tenido la posibilidad de atender a todos los tokens previos. Si $x\\longmapsto\\rho(x;\\theta)$ es inyectiva, entonces toda la historia del prompt queda codificada en ese único punto del espacio latente.\nFormalmente, para $x\\ne x'$ definimos $$h_{x,x'}(\\theta) = \\|\\rho(x;\\theta)-\\rho(x';\\theta)\\|^2.$$ Si $h_{x,x'}$ no es identicamente nula como función analítica de $\\theta$, su conjunto de ceros tiene medida nula; extendiendo a todos los pares posibles, las colisiones son excepciones.\nAlgoritmo constructivo de inversión #Más allá del argumento de existencia, existe una estrategia práctica denominada SipIt (Search-based Iterative Prompt Inversion Transformer) que explota dos propiedades estructurales de los modelos decoder-only:\nla causalidad autorregresiva (la representación en la posición $k$ depende solo de los valores en las $k-1$ posiciones anteriores); la discreción del vocabulario (el espacio de candidatos por posición es finito). Idea central: reconstruir la secuencia token a token comparando representaciones parciales con la representación objetivo y utilizando KV-caching para evitar recomputaciones.\nEl algoritmo tiene una complejidad ingenua: $O(T\\cdot|V|)$, pero mejoras prácticas (utilizando búsqueda jerárquica con ANN, filtrado por proximidad en embeddings, beam/adaptative pruning) reducen el coste efectivo, llegando a variantes $O(T\\cdot\\log|V|)$ en la práctica. A diferencia de optimizaciones continuas por gradiente y proyección al vocabulario, SipIt trabaja en el dominio discreto y evita no convexidades y discretizaciones fallidas.\nCrucialmente, SipIt no requiere acceso a gradientes ni reentrenamiento: basta con capacidad de evaluación (forward pass) y acceso a activaciones—esto lo hace potencialmente factible en escenarios de caja gris (APIs que devuelvan embeddings).\nProblemas de confidencialidad #La combinación de inyectividad (casi segura) y la viabilidad del algoritmo de inversión genera nuevos vectores de amenaza:\nInterceptación de activaciones internas. Ataques MITM, fugas en arquitecturas split inference, side-channels y defectos de aislamiento (rowhammer, etc.) pueden exponer activaciones desde donde el prompt es recuperable. Entornos multi-tenant. Fallos en aislamiento de GPU o caches compartidos convierten a activaciones y KV-caches en repositorios de texto sensible. Bases vectoriales y logs. RAG, VDB y logs de depuración que almacenan embeddings sin cifrado fuerte son ahora fuentes reversibles de datos personales. Además, desde el punto de vista regulatorio, las activaciones dejan de ser “datos anonimizados”: si pueden invertirse a texto identificable, deben tratarse como datos personales y protegidos (GDPR, AI Act, HIPAA, etc.). Paradójicamente, la misma invertibilidad facilita auditoría forense: una vez entendida la relación, podemos mapear con precisión qué fragmento del contexto activó cierta salida.\nRecomendaciones #Dado el riesgo, propongo medidas en tres niveles:\nArquitectura y entrenamiento\nInyectar ofuscación controlada: ruido gaussiano/Laplaciano en embeddings o en estados latentes para introducir aleatoriedad (privacidad diferencial) que rompa la inyectividad estricta pero preserve utilidad. Diseñar cuellos de botella informacionales explícitos que obliguen a pérdida irreversible de detalles superficiales (compresión estructural). Infraestructura y despliegue\nClasificar activaciones, embeddings y caches con la misma sensibilidad que texto en claro. Cifrado obligatorio en reposo y en tránsito; uso de entornos de computación confidencial cuando proceda. Aislamiento estricto de memoria en entornos multi-tenant y borrado criptográfico de residuos. Prohibir exposición de activaciones completas por API en entornos de producción; permitirlo solo en depuración controlada. Saneamiento previo: eliminar/ocultar PII antes de enviar texto al modelo. Operativo y gobernanza\nRevisar DPIA y políticas de retención asumiendo el peor escenario: acceso a activaciones implica acceso a prompts. Emplear algoritmos tipo SipIt para red teaming y auditoría proactiva. Controlar estrictamente el ciclo de vida de logs: TTL corto, acceso restringido. Conclusiones #La inyectividad prácticamente universal de la función que mapea prompts a estados ocultos en muchos Transformers decoder-only destroza la intuición de que los embeddings o activaciones son “resúmenes” seguros. Más bien, actúan como mapas de alta fidelidad: la memoria es casi completa. Algoritmos como SipIt convierten esa propiedad en una capacidad operativa para reconstruir prompts.\nEn términos borgianos: lo que parecía una abstracción es, en muchos casos, un mapa a escala 1:1. Esto obliga a que las estrategias de seguridad no se apoyen en la opacidad del espacio latente sino en diseños y políticas que introduzcan olvido intencional o que protejan rigurosamente las activaciones como si fueran datos en claro. En ausencia de tales medidas, la exposición de activaciones equivale a la exposición del contenido procesado: algunos LLMs no olvidan.\nReferencias # Vaswani, A. et al., “Attention is all you need”, NeurIPS 2017. Nikolaou, G. et al., “Language Models are Injective and Hence Invertible”, arXiv:2510.15511, 2025. Ba, J. L., Kiros, J. R., Hinton, G. E., “Layer normalization”, arXiv:1607.06450, 2016. Geiping, J. et al., “Inverting gradients — how easy is it to break privacy in federated learning?”, NeurIPS 2020. Morris, J. X. et al., “Text embeddings reveal (almost) as much as text”, EMNLP 2023. Zou, A. et al., “Universal and transferable adversarial attacks on aligned language models”, arXiv:2307.15043, 2023. GDPR (Regulation (EU) 2016/679), EU AI Act (2024), HIPAA (1996). ","date":null,"permalink":"/notes/14.transformers-borgeanos/","section":"Notas","summary":"algunos LLMs no olvidan","title":"Transfomers borgeanos"},{"content":"","date":null,"permalink":"/tags/transformers/","section":"Tags","summary":"","title":"Transformers"},{"content":"","date":null,"permalink":"/tags/conditional-probability/","section":"Tags","summary":"","title":"Conditional Probability"},{"content":" Probabilidad de progreso de un proyecto #Todo proyecto está, por definición, orientado al futuro. Un proyecto es una secuencia de acciones que apunta a la concreción de un objetivo que todavía no existe y cuyo resultado no puede conocerse de antemano. Incluso cuando el plan es claro y los medios están bien definidos, siempre hay un margen de incertidumbre respecto a si una acción concreta, o el proyecto en su conjunto, logrará concretarse.\nEsta incertidumbre no es un defecto del diseño ni una falta de información; es estructural. Actuar implica decidir hoy bajo condiciones que solo se resolverán mañana.\nPrecisamente por eso, modelamos entonces cada acción relevante del proyecto mediante una variable aleatoria $$ X_k \\in \\{0,1\\}, \\qquad k=1,2,\\dots $$ donde $X_k=1$ representa la concreción de la acción en la etapa $k$ y $X_k=0$ su no concreción en dicha etapa. El índice $k$ no es solo un contador: impone una ordenación temporal de los intentos y, con ella, una secuencia de consumo de recursos.\nIntentos y concreción #Definimos el número de intentos hasta la primera concreción como $$ N := \\inf\\{n \\in \\mathbb{N} : X_n = 1 \\}. $$ La variable aleatoria $N$ puede intepretase no solo como una medida del tiempo cronológico, sino también el despliegue efectivo de recursos necesario para que el proyecto avance: cada intento consume tiempo, dinero, etc. y $N$ cuenta cuántos de esos intentos fueron necesarios.\nPor definición de $N$, son equivalentes los siguientes eventos $$ \\{N\u003en\\} = \\{X_1=0,\\dots,X_n=0\\}, \\qquad \\{N=n\\} = \\{X_1=0,\\dots,X_{n-1}=0, X_n=1\\}. $$ Estas identidades no dependen de ninguna hipótesis probabilística adicional: e.g. independencia, distribución idéntica, etc.\nLa probabilidad $P(N \\le n)$ se interpreta como la probabilidad de que el proyecto se concrete en, a lo sumo, $n$ intentos. Dicho de otra manera, mide la probabilidad de alcanzar el objetivo antes de agotar $n$ etapas o recursos asignados.\n[etapas] Indica cuán probable es que el proyecto logre avanzar dentro de los primeros $n$ pasos. Un valor cercano a 1 significa que el proyecto tiene alta probabilidad de concretarse rápidamente; un valor bajo indica que es probable que se necesiten más intentos.\n[recursos] Si cada intento consume recursos (tiempo, dinero, atención,\u0026hellip; entonces $P(N \\le n)$ refleja la probabilidad de que el proyecto se concrete antes de gastar los recursos correspondientes a $n$ intentos.\nSi las variables aleatorias $\\{X_k\\}_k$ son idénticamente distribuidas e independientes tales que $p:=P(X_k=1)$, entonces\n$$ P(N \\le n) = 1 - (1-p)^n, $$lo que crece monótonamente con $n$. Esto muestra que la probabilidad de concreción aumenta al invertir más intentos, y que la curva $P(N \\le n)$ proporciona un una garantía casi segura de éxito y un modo de acotar la cantidad de recursos necesarios en promedio, como veremos más adelante. Podemos hacer lo propio aún cuando los intentos no son independientes, definiendo probabilidades condicionales $P(X_k=1|X_1=0,\\cdots X_k=0)$, denotadas por $p_k$, de manera que\n$$ P(N \\le n) = 1 - \\prod_{k=1}^{n} (1-p_k), $$ reflejando cómo la estructura del proyecto puede favorecer o dificultar la concreción. Si $p_k$ aumenta con $k$, la persistencia se vuelve más eficaz; si disminuye con $k$, el progreso es más incierto. Dicha expresión para $P(N\\le n )$ será demostrada más adelante.\nEn resumen, $P(N \\le n)$ es una medida acumulada de éxito: cuantifica la probabilidad de concretar el proyecto dentro de un límite de intentos o recursos, y permite comparar escenarios independientes versus dependientes.\nPersistencia sin dependencia #Supongamos primero que los intentos son idénticamente distribuidos, con\n$$ P(X_k=1)=p, $$ de ahí que $P(X_k=1)$ no depende de $k$.\nEn este caso,\n$$ P(N\u003en) = (1-p)^n, \\qquad P(N=n) = (1-p)^{n-1}p. $$La esperanza de $N$ puede calcularse directamente a partir de su distribución:\n$$ E[N] = \\sum_{n\\ge1} n (1-p)^{n-1} p. $$Usando que $$ \\sum_{n\\ge1} n q^{n-1} = \\frac{1}{(1-q)^2}, \\qquad |q|\u003c1, $$con $q=1-p$, se obtiene\n$$ E[N] = p \\cdot \\frac{1}{p^2} = \\frac{1}{p}. $$Para la varianza, observamos primero que\n$$ E[N^2] = \\sum_{n\\ge1} n^2 (1-p)^{n-1} p. $$Usando la identidad\n$$ \\sum_{n\\ge1} n^2 q^{n-1} = \\frac{1+q}{(1-q)^3}, \\qquad |q|\u003c1, $$con $q=1-p$, resulta\n$$ E[N^2] = p \\cdot \\frac{2-p}{p^3} = \\frac{2-p}{p^2}. $$Por lo tanto, $V[N] := E[N^2] - (E[N])^2$, toma la forma\n$$ V[N] = \\frac{1-p}{p^2}. $$Este modelo presenta cierta ingenuidad. Cada intento es estadísticamente igual al anterior. El pasado no influye en el futuro. Pero tiene cierta utilidad, pues es resoluble de manera sencilla y puede servir para fijar una escala natural para el orden de magnitud de los recursos necesarios y también como una cota de referencia incluso cuando el proceso real no sea independiente, como veremos posteriormente.\nAmbas cantidades $E[N]$ y $V[N]$ tienen interpretaciones claras cuando se leen en términos de recursos y riesgo.\nInterpretación de la esperanza #En el caso de intentos independientes con $P(X_k=1)=p$, la igualdad $E[N]=1/p$, dice que el número medio de intentos necesarios para concretar el proyecto es inversamente proporcional a la probabilidad de concreción en cada intento.\nInterpretado operativamente:\nSi cada intento tiene una probabilidad pequeña de concreción, el proyecto es caro en recursos: el esfuerzo medio crece como $1/p$. Si se consigue duplicar $p$, se reduce a la mitad el número medio de intentos necesarios. Esta igualdad también tiene una lectura estructural: en el modelo independiente, no hay memoria ni aprendizaje. El proceso “olvida” el pasado, de modo que el costo esperado del proyecto está completamente determinado por una única magnitud local, $p$. No importa cuántas veces se haya fallado antes: el costo esperado desde cualquier punto sigue siendo $1/p$.\nInterpretación de la varianza #La varianza\n$$ V[N]=\\frac{1-p}{p^2} $$mide la incertidumbre en el consumo de recursos alrededor de su valor medio.\nHay varias lecturas complementarias:\nRiesgo operativo Aunque el costo medio sea $1/p$, la realización concreta puede desviarse mucho de ese valor. Cuando $p$ es pequeño, la varianza es grande: no solo se espera gastar muchos recursos, sino que además el gasto es altamente impredecible.\nEscala natural de las fluctuaciones La desviación típica es $ \\sqrt{V[N]} = \\sqrt{1-p}/p \\sim 1/p$ cuando $p$ es pequeño. Esto indica que las fluctuaciones son del mismo orden que la media. No existe una “ley de los grandes números” que estabilice el costo: incluso en promedio, el proyecto puede salir mucho más caro o mucho más barato de lo esperado.\nFragilidad del modelo sin dependencia El hecho de que $V[N]$ sea grande refleja que el modelo independiente es frágil: al no incorporar aprendizaje ni desgaste, no hay mecanismo que reduzca la dispersión del número de intentos. El proceso puede terminar muy pronto o prolongarse arbitrariamente.\nLectura conjunta # $E[N]=1/p$ fija el nivel medio de recursos necesarios. $V[N]$ cuantifica el riesgo asociado a esa estimación. En el caso independiente, ambos crecen al mismo ritmo cuando $p$ es pequeño. Esto subraya un punto conceptual importante: persistir sin dependencia no solo es caro en promedio, sino también altamente incierto.\nDesde esta perspectiva, introducir dependencia entre los intentos, cuando es favorable, no solo puede reducir $E[N]$, sino también estabilizar el proceso, disminuyendo la varianza y haciendo el uso de recursos más predecible.\nPersistencia con dependencia #Abandonamos ahora la independencia, manteniendo la misma distribución marginal: $$ P(X_k=1)=p \\quad \\forall k. $$Definimos, para $n\\ge1$, la probabilidad condicional $$ p_n := P(X_n=1 \\mid X_1=0,\\dots,X_{n-1}=0). $$Introducimos una variable auxiliar $X_0$ definida como $X_0 = 0$ casi seguramente. Esta variable no representa un intento real, sino un estado inicial previo al comienzo del proyecto, en el que aún no se ha desplegado ningún recurso ni se ha realizado ninguna acción. Su único propósito es unificar la notación: al condicionar sobre $X_0=0$, que ocurre con probabilidad uno, no se introduce información adicional. En particular, esto permite definir de forma uniforme $p_1 := P(X_1=1 \\mid X_0=0)=P(X_1=1)$ y tratar todos los pasos del proceso bajo una misma convención temporal. De esta forma para $n=1$ no hay condición. Para $n\\ge2$, $p_n$ mide cómo cambia la probabilidad de concreción después de una secuencia de intentos fallidos.\nUsando la regla del producto para probabilidades condicionales\n$$ P(X_1,\\dots,X_n)=P(X_1)P(X_2|X_1)\\dots P(X_k|X_1,\\cdots X_{k-1})\\dots P(X_n|X_1,\\cdots X_{n-1}) $$que denotamos de manera compacta como\n$$ P(X_1,\\dots,X_n) = \\prod_{k=1}^n P(X_k \\mid X_1,\\dots,X_{k-1}) $$y que evaluada para el caso:\n$$ P(X_1=0,\\dots,X_n=0) = \\prod_{k=1}^n P(X_k=0 \\mid X_1=0,\\dots,X_{k-1}=0) = \\prod_{k=1}^n (1-p_k). $$A partir de las identidades que definen $N$, se obtiene entonces\n$$ P(N\u003en)=\\prod_{k=1}^n (1-p_k), \\qquad P(N=n)=p_n\\prod_{k=1}^{n-1}(1-p_k). $$ Estas expresiones son completamente generales y no requieren independencia.\nPersistencia que transforma y persistencia que no #Cuando $p_n = p$, persistir equivale a volver siempre al mismo estado probabilístico.\nCuando la sucesión $\\{p_n\\}_{n\\in \\mathbb{N}}$ es creciente y además $$ p \\le p_n $$ cada intento fallido ($X_k=0$) incrementa la probabilidad condicional del siguiente. En este casi la persistencia incorpora aprendizaje.\nCuando la sucesión $\\{p_n\\}_{n\\in \\mathbb{N}}$ es decreciente y además $$ p \\ge p_n $$ cada intento fallido reduce la probabilidad futura. En este caso la persistencia acumula ignorancia.\nPersistencia y progreso #En el modelo sin dependencia se tiene $p_n=p$ para todo $n$, y por tanto $$ P(N \u003e n) = (1 - p)^n $$Si la estructura del proyecto es tal que $$ p_n \\ge p \\quad \\forall n, $$ entonces $$ P(N\u003en)=\\prod_{k=1}^n (1-p_k) \\le (1-p)^n, $$ y en consecuencia $$ P(N\\le n) \\ge 1-(1-p)^n. $$ Persistir, en este caso, aumenta la probabilidad de progreso antes de consumir $n$ intentos.\nSi, por el contrario, se cumple\n$$ p_n \\le p \\quad \\forall n, $$ las desigualdades se invierten y la persistencia retrasa el progreso respecto del modelo independiente.\nReflexión #Los proyectos no son eventos aislados, sino procesos formados por una sucesión de acciones. En la práctica, esas acciones rara vez son independientes: cada decisión modifica el contexto de las siguientes, para bien o para mal.\nPor eso, la persistencia no puede evaluarse solo en términos de cuántas veces se insiste. Persistir sin que exista dependencia entre etapas equivale a repetir sin aprendizaje. En cambio, cuando el proyecto incorpora mecanismos que hacen crecer, local o globalmente, la probabilidad de concreción, la persistencia se convierte en progreso.\nDesde este punto de vista, satisfacer un objetivo no es solo cuestión de resistir en el tiempo, sino de diseñar una estructura de dependencia entre acciones que permita que cada intento mejore las condiciones del siguiente. Persistencia y dependencia no son alternativas: son complementarias.\n","date":null,"permalink":"/notes/13.project-progress-probability/","section":"Notas","summary":"Probabilidad de progreso de un proyecto","title":"Persistencia y dependencia"},{"content":"","date":null,"permalink":"/tags/repetition-effect/","section":"Tags","summary":"","title":"Repetition Effect"},{"content":"","date":null,"permalink":"/tags/uncertainty/","section":"Tags","summary":"","title":"Uncertainty"},{"content":" decisiones basadas en datos #decisión dicotómica #Decidir es tomar partido por una lista de opciones y dado el número mínimo de opciones es 2, la decisión \u0026ldquo;más fundamental\u0026rdquo;, en el sentido basal de la palabra, es de tipo binaria.\nQuizá el método más rudimentario, para decidir entre las opciones excluyentes $A$ o $B$, puede resolverse haciendo una lista de $\\mathtt{pros}$ y $\\mathtt{conts}$, luego contabilizar $\\mathtt{pros}(A)-\\mathtt{conts}(A)$ y $\\mathtt{pros}(B)-\\mathtt{conts}(B)$ y tomar aquella opción que tenga el número más alto. Este método tiene limitaciones, pues depende del número y tipo de elementos de las listas para $A$ y $B$.\nQueremos poner una regla de medir para decidir, una basada en una colección finita de valores $x_1,\\cdots,x_n$. Formalicemos esta idea de la toma decisiones basada en los $n-$valores anteriores, sin presuponer qué cosas son y qué valores toman, solo concebirlas como variables aleatorias $X_1,\\cdots,X_n$ de valores que determinan a lo sumo una probabilidad de elegir una de las dos opciones $Y\\in \\{0,1\\}$, definimos por $p(\\pmb{x})=P(Y=1|\\pmb{X}=\\pmb{x})$, donde $\\pmb{X}=(X_1,\\cdots,X_n)$ y $\\pmb{x}=(x_1,\\cdots,x_n)$, como $Y$ es dicotómica, luego $1-p(\\pmb{x})=P(Y=0|\\pmb{X}=\\pmb{x})$, notar que si $X$ es un vector de variables aleatorias continuas entonces $P(X=x)=0$, no obstante tiene sentido pensar y escribir $P(Y|X=x)$. De hecho, podríamos esbozar un principio rudimentario de decisión dicotómica que utilice a $p(\\pmb{x})$ como sigue\n$p(\\pmb{x})\u003c0.5$ elijo $Y=0$\n$p(\\pmb{x})\u003e0.5$ elijo $Y=1$\nEn cualquier caso hemos pasado de decidir basado en un lista de pros y contras a utilizar una medida de probabilidad como decisor: por tanto necesitamos encontrar o construir dicha cantidad. En teoría de la información se puede formalizar el concepto de incorporar la \u0026ldquo;data\u0026rdquo; que proviene de haber fijado $\\pmb{X}$ en $\\pmb{x}$, y evaluar cómo cambia la información que se tiene de $Y$ condicionada por esa \u0026ldquo;data\u0026rdquo;. Haciendo uso de la información condicionada $H(Y|\\pmb{X})$ y de la información ganada o mutua $H(Y)-H(Y|\\pmb{X})$ es posible contestar a la pregunta sobre cuál es la distribución de probabilidad $p(\\pmb{x})$ óptima, i.e. aquella que maximiza dicha información, de manera que poder utilizarla como decisor. Veremos 5 formas de aproximar esta búsqueda\ntoma 1 #Calculemos $H(Y)=-p\\log (p)-(1-p)\\log (1-p)$. Podemos buscar aquella $p(\\pmb{x})$ tal que se maximice la información ganada $H(Y)-H(Y|\\pmb{X}=\\pmb{x})=I$, que será una función de $\\pmb{x}$. Buscamos sus puntos críticos: $\\partial_{\\pmb{x}}I(\\pmb{x})=0$, se obtiene $d_pH(Y)\\partial_{\\pmb{x}}p(\\pmb{x})-\\partial_{\\pmb{x}}H(Y|\\pmb{X}=\\pmb{x})=0$, como $d_pH(Y)=-\\log\\left(\\dfrac{p}{1-p}\\right)$, se obtiene $$ \\log\\left(\\dfrac{p}{1-p}\\right)=-\\dfrac{\\partial_{\\pmb{x}}H(Y|\\pmb{X}=\\pmb{x})}{\\partial_{\\pmb{x}}p(\\pmb{x})} $$ $p(\\pmb{x})/[1-p(\\pmb{x})]$ es el cociente entre obtener $Y=1$ y obtener $Y=0$, condicionada a la información $\\pmb{X}=\\pmb{x}$.\nSi denotamos por $F(\\pmb{x})=-\\dfrac{\\partial_{\\pmb{x}}H(Y|\\pmb{X}=\\pmb{x})}{\\partial_{\\pmb{x}}p(\\pmb{x})}$, de $\\log\\left(\\dfrac{p(\\pmb{x})}{1-p(\\pmb{x})}\\right)=F(\\pmb{x})$, se obtiene\n$$ p(\\pmb{x})=\\dfrac{1}{1+e^{-F(\\pmb{x})}} $$Si $F(\\pmb{x})=w_0+w_1x_1+\\cdots+w_nx_n$ es una función lineal $p(\\pmb{x})$ toma la forma de una distribución logística multivariada\n$$ p(\\pmb{x})=\\dfrac{1}{1+e^{-\\sum_{k=0}^nw_kx_k}} $$ donde $x_0=1$.\nTambién podría tomarse de $d_pH(Y)\\partial_{\\pmb{x}}p(\\pmb{x})-\\partial_{\\pmb{x}}H(Y|\\pmb{X}=\\pmb{x})=0$, una ecuación diferencial para $p$ pues como $d_pH(Y)=-\\log\\left(\\dfrac{p}{1-p}\\right)$, entonces\n$$ \\log\\left[\\dfrac{p(\\pmb{x})}{1-p(\\pmb{x})}\\right]\\partial_{\\pmb{x}}p(\\pmb{x})=-\\partial_{\\pmb{x}}H(Y|\\pmb{X}=\\pmb{x}) $$toma 2 #Notar que $H(Y)$ debería definirse con parámetro $p_Y=P(Y=1)=\\int_\\mathscr{X} P(Y=1|\\pmb{X}=\\pmb{x})P_{\\pmb{X}}(\\pmb{x}) d\\pmb{x}$, donde $p(\\pmb{x}):=P(Y=1|\\pmb{X}=\\pmb{x})$, luego $p_Y$ no depende de $\\pmb{x}$. Se sigue entonces que $$ H(Y):=-p_Y\\log(p_Y)-(1-p_Y)\\log(1-p_Y) $$ donde $p_Y=\\int_\\mathscr{X} p(\\pmb{x})P_{\\pmb{X}}(\\pmb{x}) d\\pmb{x}$.\n$H(Y)$ depende de $p(\\pmb{x})$ pero no depende de $\\pmb{x}$. De hecho si dependiera de $\\pmb{x}$ sería raro porque no está supeditada a $\\pmb{x}$, pues eso se consigue con $H(Y|\\pmb{X})$.\nSi quisiera encontrar la distribución $p(\\pmb{x})$ tal que se maximice la información ganada, no debería tomar variaciones respecto de $\\pmb{x}$ sino sobre las distribuciones, es decir, no recurrir al cálculo sobre funciones sino sombre funcionales.\nCon lo cual cuando quiera maximizar la información ganada (información mutua) $H(Y)-H(Y|\\pmb{X})$ variando $\\pmb{x}$ eso equivale a minimizar la entropía condicional $H(Y|\\pmb{X})$.\nEn cualquier caso la entropía condicional $H(Y | \\pmb{X})$ se define como el valor esperado de la entropía de $Y$ condicionada a cada valor posible de $\\pmb{X}$:\n$$ H(Y \\mid \\pmb{X}) := \\mathbb{E}_{\\pmb{X}}[H(Y \\mid \\pmb{X} = \\pmb{x})]. $$ Como $Y$ es discreta y $\\pmb{X}$ continua, la forma explícita es:\n$$ H(Y \\mid \\pmb{X}) = - \\int_{\\mathscr{X}} \\sum_{y \\in \\mathscr{Y}} P(Y = y \\mid \\pmb{X} = \\pmb{x}) \\log P(Y = y \\mid \\pmb{X} = \\pmb{x}) \\cdot P_{\\pmb{X}}(\\pmb{x})\\, d\\pmb{x} $$ para el caso binario $Y \\in \\{0,1\\}$, entonces, si denotamos:\n$p(\\pmb{x}) = P(Y = 1 \\mid \\pmb{X} = \\pmb{x})$, $1 - p(\\pmb{x}) = P(Y = 0 \\mid \\pmb{X} = \\pmb{x})$, $P_{\\pmb{X}}(\\pmb{x})$ es la densidad de $\\pmb{X}$, la entropía condicional se convierte en:\n$$ H(Y \\mid \\pmb{X}) = - \\int_{\\mathscr{X}} \\left[ p(\\pmb{x}) \\log p(\\pmb{x}) + (1 - p(\\pmb{x})) \\log (1 - p(\\pmb{x})) \\right] \\cdot P_{\\pmb{X}}(\\pmb{x})\\, d\\pmb{x} $$La entropía condicionada en un punto específico $\\pmb{x}$ es $$ H(Y \\mid \\pmb{X} = \\pmb{x}) = - p(\\pmb{x}) \\log p(\\pmb{x}) - [1 - p(\\pmb{x})] \\log (1 - p(\\pmb{x})), $$ Es decir $H(Y \\mid \\pmb{X}) = \\mathbb{E}_{\\pmb{X}}[H_{b}(p(\\pmb{X}))]$, donde $H_{b}(p) := -p \\log p - (1-p) \\log(1-p)$ es la entropía binaria.\nEsta expresión no se puede escribir simplemente como una función de $p_Y$, ni se puede derivar respecto de $\\pmb{x}$ sin cuidado, porque es una integral. La información mutua o información ganada $I(p)=H(Y)-H(Y|\\pmb{X})$, pues ambas cantidades dependen de $p(\\pmb{x})$.\nSi bien $H(Y|\\pmb{X})$ es un funcional local de $p(\\pmb{x})$, pues se puede escribir como la integral en $\\pmb{x}$ que contiene a $p(\\pmb{x})$, no ocurre lo mismo con $H(Y)=-p_Y\\log(p_Y)-(1-p_Y)\\log(1-p_Y)$ que no puede escribirse así, pues la integral de $p(\\pmb{x})$ está repartida en cada $p_Y$ de $H(Y)$.\ntoma 3 - MaxEnt $P(Y=1|\\pmb{X}=\\pmb{x})$ #Queremos determinar la distribución condicional $p(\\pmb{x}) := P(Y=1 \\mid \\pmb{X} = \\pmb{x})$ que maximiza la entropía condicional de $Y$ dado $\\pmb{X}$, i.e. la información de $Y$ condicionada por $\\pmb{X}$, bajo ciertas restricciones de valor esperado.\nentropía condicional #Como $Y \\in \\{0,1\\}$, la entropía condicional de $Y$ dado $\\pmb{X} = \\pmb{x}$ es:\n$$ H(Y |\\pmb{X}=\\pmb{x}) = - p(\\pmb{x}) \\log p(\\pmb{x}) - (1 - p(\\pmb{x})) \\log (1 - p(\\pmb{x})) $$Queremos maximizar la entropía esperada:\n$$ H(Y \\mid \\pmb{X}) = \\mathbb{E}_{\\pmb{X}} [H(Y \\mid \\pmb{X} = \\pmb{x})] $$Imponemos restricciones sobre el valor esperado de ciertas funciones $f_k(\\pmb{x})$, a través de la esperanza:\n$$ \\mathbb{E}_{\\pmb{X}} [p(\\pmb{x}) f_k(\\pmb{x})] \\geq \\mu_k \\quad \\text{para } k=1, \\dots, m $$Definimos el funcional $\\mathscr{F}$\n$$ \\mathscr{F}[p(\\pmb{x})] = \\mathbb{E}_{\\pmb{X}} \\left[ -p(\\pmb{x}) \\log p(\\pmb{x}) - (1 - p(\\pmb{x})) \\log (1 - p(\\pmb{x})) \\right] +\\sum_{k=1}^m \\lambda_k \\left( \\mathbb{E}_{\\pmb{X}} [p(\\pmb{x}) f_k(\\pmb{x})-\\mu_k ] \\right) $$Para encontrar el máximo, derivamos funcionalmente con respecto a $p$, e igualamos a cero:\n$$ \\delta_{p} \\mathscr{F}= -\\log p(\\pmb{x}) + \\log(1 - p(\\pmb{x})) + \\sum_k \\lambda_k f_k(\\pmb{x}) = 0 $$Lo que implica:\n$$ \\log \\left( \\frac{1 - p(\\pmb{x})}{p(\\pmb{x})} \\right) = -\\sum_k \\lambda_k f_k(\\pmb{x}) $$Es decir:\n$$ \\frac{1 - p(\\pmb{x})}{p(\\pmb{x})} = \\exp\\left(- \\sum_k \\lambda_k f_k(\\pmb{x}) \\right) $$$$ p(\\pmb{x}) = \\frac{1}{1 + \\exp\\left(- \\sum_k \\lambda_k f_k(\\pmb{x}) \\right)} $$ también puede escribirse como $p(\\pmb{x}) = \\sigma\\left( \\sum_k \\lambda_k f_k(\\pmb{x}) \\right)$, donde $\\sigma$ es la función sigmoide $\\sigma(z) := 1/(1 + e^{-z})$.\nLa solución al problema de máxima entropía condicional bajo las restricciones da com resultado una distribución logística generalizada:\n$$ P(Y=1 \\mid \\pmb{X} = \\pmb{x}) = \\frac{1}{1 + \\exp\\left( -\\sum_k w_k f_k(\\pmb{x}) \\right)} $$ toma 4 MaxEnt $P(Y=y|\\pmb{X}=\\pmb{x})$ #Podemos generalizar el resultado anterior para el caso en que se tenga una cantidad numerable de opciones excluyentes para la variable $Y$.\nBuscamos la distribución condicional $p(y|\\pmb{x})=P(Y=y|\\pmb{X}=\\pmb{x})$, también denotada genéricamente por $\\varphi(\\pmb{x},y)$, que maximiza la entropía condicional\n$$ H(Y \\mid \\pmb{X}) = -\\int_{\\mathscr{X}} P_{\\pmb{X}}(\\pmb{x}) \\sum_y \\varphi(\\pmb{x},y) \\log [\\varphi(\\pmb{x},y)] \\, d\\pmb{x} $$sujeta a las siguientes restricciones:\nNormalización: $\\sum_y \\varphi(\\pmb{x},y) = 1 \\quad \\forall \\pmb{x}$\nRestricciones de momento conjunto $(\\pmb{X},Y)$ $$ \\int_{\\mathscr{X}} P_{\\pmb{X}}(\\pmb{x})\\sum_y \\varphi(\\pmb{x},y) g_k(\\pmb{x}, y) \\, d\\pmb{x} \\geq \\mu_k \\quad \\forall k $$ Construimos ahora el funcional $\\mathscr{F}$ como\n$$ \\mathscr{F}[\\varphi(\\pmb{x},y)] = -\\int_{\\mathscr{X}} P_{\\pmb{X}}(\\pmb{x}) \\sum_y \\varphi(\\pmb{x},y) \\log \\varphi(\\pmb{x},y) \\, d\\pmb{x} + \\sum_k \\lambda_k \\left(\\int_{\\mathscr{X}} P_{\\pmb{X}}(\\pmb{x}) \\sum_y \\varphi(\\pmb{x},y) g_k(\\pmb{x}, y) \\, d\\pmb{x} - \\mu_k \\right) +\\int_{\\mathscr{X}}P_{\\pmb{X}}(\\pmb{x}) \\eta(\\pmb{x}) \\left( \\sum_y \\varphi(\\pmb{x},y) - 1 \\right) \\, d\\pmb{x} $$ notar que el término $\\eta(\\pmb{x})$ aparece porque estamos resolviendo un problema de optimización funcional, y necesitamos garantizar que para cada valor de $\\pmb{x}$ se cumpla la restricción de normalización: $ \\sum_y p(y \\mid \\pmb{x}) = 1 \\quad \\text{para todo } \\pmb{x}.$ Esta es una restricción para cada $\\pmb{x}$, entonces no podemos usar un solo multiplicador de Lagrange global, como en problemas finito-dimensionales, necesitamos usar un multiplicador funcional $\\eta(\\pmb{x})$, que es una función definida sobre el espacio de $\\pmb{x}$, para imponer esta restricción punto a punto. Formalmente: si tenemos una familia de restricciones parametrizadas por $\\pmb{x}$, como $F(\\pmb{x}) := \\sum_y p(y \\mid \\pmb{x}) - 1 = 0 \\quad \\forall \\pmb{x}$, entonces el término de Lagrange asociado es: $\\int P_{\\pmb{X}}(\\pmb{x}) \\eta(\\pmb{x}) \\left( \\sum_y p(y \\mid \\pmb{x}) - 1 \\right) d\\pmb{x}.$\nCalculamos la derivada funcional respecto de $p(y \\mid \\pmb{x})$:\n$$ \\delta_{\\varphi} \\mathscr{F} = -\\log \\varphi(\\pmb{x},y) - 1 + \\sum_k \\lambda_k g_k(\\pmb{x}, y) + \\eta(\\pmb{x}) $$Igualamos a cero:\n$$ \\log \\varphi(\\pmb{x},y) = -1 + \\eta(\\pmb{x}) +\\sum_k \\lambda_k g_k(\\pmb{x}, y) $$$$ \\varphi(\\pmb{x},y) = \\exp\\left( -1 + \\eta(\\pmb{x}) + \\sum_k \\lambda_k g_k(\\pmb{x}, y) \\right) $$ Definimos $Z(\\pmb{x}) = \\exp[1-\\eta(\\pmb{x})]$\ncomo $\\sum_y \\varphi(\\pmb{x},y) = 1$ luego $\\sum_y\\exp\\left( -1 + \\eta(\\pmb{x}) + \\sum_k \\lambda_k g_k(\\pmb{x}, y) \\right)=1$, luego la función $Z$ toma la forma $Z(\\pmb{x}) = \\sum_{y} \\exp\\left[\\sum_k \\lambda_k g_k(\\pmb{x}, y) \\right]$.\nEntonces: $$ \\varphi(\\pmb{x},y) = \\frac{1}{Z(\\pmb{x})} \\exp\\left( \\sum_k \\lambda_k g_k(\\pmb{x}, y) \\right) $$Esta es la forma general de un modelo MaxEnt condicional. Los multiplicadores $\\lambda_k$ se determinan ajustando las expectativas del modelo a las empíricas.\nsi si $g_k(\\pmb{x},y)=y\\cdot f_k(\\pmb{x})$ se tiene $$ \\varphi(\\pmb{x},y)= \\frac{\\exp\\left[ y \\sum_k\\lambda_k f_k(\\pmb{x}) \\right]}{1+\\exp\\left[\\sum_k\\lambda_k f_k(\\pmb{x}) \\right]} $$si $f_k(\\pmb{x})=x_k$ se tiene la distribución logística $$ \\varphi(\\pmb{x},y)= \\frac{\\exp\\left( y \\pmb{\\lambda}\\cdot \\pmb{x} \\right)}{1+\\exp\\left( \\pmb{\\lambda}\\cdot \\pmb{x} \\right)} $$ donde $\\pmb{\\lambda}=(\\lambda_1,\\cdots,\\lambda_n)$.\nnotar que la función $f(\\pmb{x})=\\frac{1}{1+\\exp[-F(\\pmb{x})]}$, se puede escribir usando la función sigmoide como $f(\\pmb{x})=\\sigma(F(\\pmb{x}))$, definida por $\\sigma(z):= 1/(1 + e^{-z})$, y como $\\sigma'(z)=\\sigma(z)[1-\\sigma(z)]$ se tiene que $\\nabla f(\\pmb{x})=f(\\pmb{x})[1-f(\\pmb{x})]\\nabla F(\\pmb{x})$\npara el caso logístico $f(\\pmb{x})=\\frac{1}{1+\\exp[-\\sum_k\\omega_k x_k)]}$, $\\nabla f(\\pmb{x})=-f(\\pmb{x})[1-f(\\pmb{x})]\\pmb{\\omega}$\ntoma 5 #Otra manera más directa y bastante general de abordar el problema consiste en tratar con una variable aleatoria $Z$ real definida a partir de las cantidades $\\pmb{x}$ que habíamos considerado como resultado de un vector aleatorio $\\pmb{X}$, en este caos las consideramos fijas. La aleatoriedad es introducida vía una fluctuación aditiva $\\xi$: $Z=\\phi(\\pmb{x})+\\xi$.\nLa variable aleatoria dicotómica $Y$ queda definida según el umbral $Z$ $$ Y = \\begin{cases} 1 \u0026 \\text{si } Z \u003e 0 \\\\ 0 \u0026 \\text{si } Z \\leq 0 \\end{cases} $$Entonces, la probabilidad condicional de $Y$ dado $\\pmb{X}=\\pmb{x}$ es: $P(Y = 1 | \\pmb{X}=\\pmb{x}) = P(Z \u003e 0) = P(\\xi \u003e -\\phi(\\pmb{x})) = 1 - F_\\xi(-\\phi(\\pmb{x}))$, donde $F_\\xi(\\chi):=P(\\xi\\leq \\chi)$ es la función de distribución acumulada de $\\xi$. Aquí es donde entra en juego el modelo de error que se quiera usar, si $\\xi\\sim \\mathtt{logistic}(\\mu,s)$, la forma de la distribución acumulada tiene el aspecto de S que se pretende. Luego $F_\\xi(\\chi)=1/(1+e^{-(\\chi-\\mu)/s})$, podría usar, en particular para modelar el error corresponde $\\mu=0$, para permitir fluctuaciones simétricas, como $1 - F_\\xi(-\\phi(\\pmb{x}))=1/(1+e^{-\\phi(\\pmb{x})/s})$, entnces\n$P(Y = 1 | \\pmb{X}=\\pmb{x})=1/(1+\\exp[{-\\phi(\\pmb{x})/s})]$\nSi $\\phi(\\pmb{x})=\\pmb{\\lambda}\\cdot\\pmb{x}$, queda la pregunta de cómo obtener o estimar $\\pmb{\\lambda}$.\nfunción de verosimilitud #Dados datos observados $(\\pmb{x}_1, y_1), \\dots, (\\pmb{x}_n, y_n)$ con $\\pmb{x}_i$ fijos y $y_i \\in (0,1)$, la verosimilitud es:\n$$ L(\\pmb{\\lambda}) = \\prod_{i=1}^n \\left( \\frac{1}{1 + e^{-\\pmb{\\lambda}\\cdot \\pmb{x}_i}} \\right)^{y_i} \\left( \\frac{1}{1 + e^{\\pmb{\\lambda}\\cdot\\pmb{x}_i}} \\right)^{1 - y_i} $$estimación de máxima verosimilitud #El estimador $\\hat{\\pmb{\\lambda}}$ es solución de:\n$$ \\hat{\\pmb{\\lambda}} = \\arg\\max_{\\pmb{\\lambda}} \\; \\log L(\\pmb{\\lambda}) = \\arg\\max_{\\pmb{\\lambda}} \\; \\sum_{i=1}^n \\left[ y_i \\log \\sigma(\\pmb{\\lambda}\\cdot \\pmb{x}_i) + (1 - y_i) \\log (1 - \\sigma(\\pmb{\\lambda}\\cdot\\pmb{x}_i)) \\right] $$donde $\\sigma(z) = 1/(1 + e^{-z})$.\n","date":null,"permalink":"/notes/12.decision-making/","section":"Notas","summary":"Decisiones basadas en datos","title":"¿A o B?"},{"content":"","date":null,"permalink":"/tags/binary-decision/","section":"Tags","summary":"","title":"Binary Decision"},{"content":"","date":null,"permalink":"/tags/logistic-distribution/","section":"Tags","summary":"","title":"Logistic Distribution"},{"content":"","date":null,"permalink":"/tags/maxent/","section":"Tags","summary":"","title":"Maxent"},{"content":"","date":null,"permalink":"/tags/mutual-information/","section":"Tags","summary":"","title":"Mutual Information"},{"content":" Introducción #La respuesta a preguntas aparentemente diversas como cuántas veces hay que barajar una baraja para que sea verdaderamente aleatoria, cuánto uranio se necesita para una bomba nuclear, cómo se predice la siguiente palabra en una frase o cómo Google sabe qué página buscas, se encuentra en una peculiar y acalorada disputa matemática que tuvo lugar en Rusia hace más de 100 años. En 1905, el levantamiento de grupos socialistas contra el Zar dividió profundamente a la nación, y esta división social y política se extendió incluso al ámbito académico, afectando a los matemáticos.\nEn un lado de la contienda intelectual, defendiendo al Zar y el status quo, se encontraba Pavel Nekrasov, conocido extraoficialmente como el \u0026ldquo;Zar de la Probabilidad\u0026rdquo;. Nekrasov era un hombre profundamente religioso y poderoso que usaba su posición para argumentar que las matemáticas podían ser utilizadas para explicar el libre albedrío y la voluntad de Dios. En el lado opuesto, con una postura socialista, estaba su némesis intelectual, Andrey Markov, también conocido como \u0026ldquo;Andrey el Furioso\u0026rdquo;. Markov, un ateo, no toleraba lo que consideraba una falta de rigor, especialmente cuando se vinculaba la matemática con el libre albedrío o la religión. Él criticó públicamente el trabajo de Nekrasov, incluyéndolo entre los \u0026ldquo;abusos de las matemáticas\u0026rdquo;.\nLa Ley de los grandes números y la independencia #La disputa central entre Markov y Nekrasov giraba en torno a la Ley de los Grandes Números, una idea fundamental que había dominado la probabilidad durante 200 años. Esta ley, probada por primera vez por Jacob Bernoulli en 1713, establece que el comportamiento promedio de un resultado se acerca cada vez más a su valor esperado a medida que se realizan más y más pruebas independientes. Por ejemplo, al lanzar una moneda un gran número de veces, la proporción de caras y cruces tiende a estabilizarse alrededor del 50/50.\nBernoulli, sin embargo, había probado que esta ley solo funcionaba para eventos independientes, como el lanzamiento de una moneda justa, donde un evento no influye en los demás. Nekrasov aceptaba esta condición, pero la llevó un paso más allá: argumentó que si se observaba la Ley de los Grandes Números en un conjunto de datos, se podía inferir que los eventos subyacentes debían ser independientes. Nekrasov observó esta pauta en estadísticas sociales como las tasas de matrimonio, delincuencia y natalidad en Bélgica entre 1841 y 1845; vio que los promedios anuales de matrimonios convergían alrededor de 29.000. Razonó que, dado que estas estadísticas seguían la Ley de los Grandes Números, las decisiones individuales que las causaban (casarse, cometer crímenes, tener hijos) debían ser actos independientes de libre albedrío. Para Nekrasov, el libre albedrío no era solo filosófico, sino algo medible y científico.\nPara Markov, la postura de Nekrasov era \u0026ldquo;delirante\u0026rdquo; y absurda por vincular la independencia matemática con el libre albedrío. Markov se propuso refutarlo, buscando demostrar que los eventos dependientes también podían seguir la Ley de los Grandes Números, y que era perfectamente posible hacer cálculos de probabilidad con ellos.\nPoemas y cadenas #Para llevar a cabo su demostración, Markov necesitaba un sistema donde un evento claramente dependiera de lo que había ocurrido antes. Tuvo la idea de que esto sucede en el texto: la probabilidad de que la siguiente letra sea una consonante o una vocal depende en gran medida de la letra actual. Para probar esto, Markov se basó en el poema \u0026ldquo;Eugenio Oneguin\u0026rdquo; de Alexander Pushkin, una obra central de la literatura rusa.\nTomó los primeros 20.000 caracteres del poema, eliminó la puntuación y los espacios, y los unió en una larga cadena. Contó que el 43% de los caracteres eran vocales y el 57% consonantes. Luego, dividió la cadena en pares de letras superpuestas para analizar las combinaciones: vocal-vocal, consonante-consonante, vocal-consonante y consonante-vocal. Si las letras fueran independientes, la probabilidad de un par vocal-vocal sería el producto de la probabilidad de una vocal consigo misma (aproximadamente $0.43 \\times 0.43 = 0.18$, o un 18%). Sin embargo, Markov encontró que los pares vocal-vocal solo aparecían el 6% de las veces, lo que era significativamente menor que la predicción de independencia. Las frecuencias de todos los demás pares también diferían notablemente de lo que se esperaría si fueran independientes, confirmando que las letras eran dependientes.\nCon la dependencia demostrada, el siguiente paso de Markov era mostrar que estas letras aún seguían la Ley de los Grandes Números. Para ello, creó una especie de \u0026ldquo;máquina de predicción\u0026rdquo;. Dibujó dos círculos, uno para \u0026ldquo;vocal\u0026rdquo; y otro para \u0026ldquo;consonante\u0026rdquo;, que representaban sus estados. Luego calculó las probabilidades de transición entre estos estados. Sabiendo que los pares vocal-vocal ocurrían el 6% de las veces y las vocales el 43%, calculó la probabilidad de ir de una vocal a otra vocal como la razón entre ambos: $$ P(\\text{vocal} \\to \\text{vocal}) = \\frac{P(\\text{vocal-vocal})}{P(\\text{vocal})} = \\frac{0.06}{0.43} \\approx 0.13 $$ Esto significaba una probabilidad del 13% de transición de vocal a vocal. Como la suma de las probabilidades de todas las transiciones desde un estado dado debe ser 1 (100%), la probabilidad de ir de una vocal a una consonante era $1 - 0.13 = 0.87$ (87%). Repitió el proceso para las consonantes, completando su máquina predictiva.\nSimulando secuencias de letras con esta máquina, generando números aleatorios para decidir la siguiente transición, Markov observó que, aunque la proporción de vocales a consonantes fluctuaba al principio, con el tiempo convergía a los valores exactos que había contado a mano en el poema: 43% vocales y 57% consonantes. Así, Markov construyó un sistema dependiente, una \u0026ldquo;cadena literal de eventos\u0026rdquo;, y demostró que aún así seguía la Ley de los Grandes Números. Esto significaba que la convergencia observada en las estadísticas sociales no probaba la independencia de las decisiones subyacentes, y por lo tanto, no probaba el libre albedrío. Markov sabía que había destrozado el argumento de Nekrasov, y culminó su trabajo con una última burla: \u0026ldquo;Así, el libre albedrío no es necesario para hacer probabilidad\u0026rdquo;. De hecho, ni siquiera la independencia es necesaria para hacer probabilidad.\nEsta nueva forma de teoría de la probabilidad, que permitía modelar eventos dependientes, pasó a conocerse como la Cadena de Markov. Aunque era un avance significativo —ya que en el mundo real casi todo depende de algo más, como el clima de mañana del de hoy, o la propagación de una enfermedad de quién está infectado— Markov mismo no le dio mucha importancia a sus aplicaciones prácticas, declarando estar \u0026ldquo;preocupado solo con cuestiones de puro análisis\u0026rdquo;.\nAplicaciones en cadena #La aparente indiferencia de Markov sobre la aplicabilidad de su teoría contrastaría drásticamente con el papel fundamental que las Cadenas de Markov jugarían en desarrollos cruciales del siglo XX.\n1. El Método Monte Carlo y la Simulación de Bombas Nucleares En 1945, se detonó la primera bomba nuclear. Incluso después de la guerra, el matemático Stanislaw Ulam, parte del Proyecto Manhattan, continuó investigando el comportamiento de los neutrones dentro de una bomba. Una bomba nuclear funciona mediante una reacción en cadena: un neutrón golpea un núcleo de uranio-235, este se divide liberando energía y dos o tres neutrones más. Si, en promedio, estos nuevos neutrones logran golpear y dividir más de un núcleo, se produce una reacción en cadena descontrolada, es decir, una bomba. Una pregunta clave era la cantidad mínima de uranio-235 necesaria, lo que requería comprender el comportamiento de los neutrones.\nEn enero de 1946, Ulam fue afectado por una encefalitis casi fatal. Durante su larga recuperación, pasaba el tiempo jugando al solitario. La pregunta de cuáles eran las probabilidades de ganar una partida aleatoriamente barajada de solitario le obsesionaba. Resolver esto analíticamente era inviable debido al número inmenso de posibles arreglos de las cartas ($52! \\approx 8 \\times 10^{67}$). Ulam tuvo una revelación: ¿y si simplemente jugaba cientos de partidas y contaba cuántas ganaba para obtener una aproximación estadística?.\nAl regresar a Los Álamos, Ulam aplicó esta idea a la simulación de neutrones en un núcleo nuclear, donde trillones de neutrones interactúan y el número de posibles resultados es inmenso. Su colega John von Neumann reconoció el poder de la idea, pero notó una diferencia crucial: a diferencia del solitario, donde cada juego es independiente, el comportamiento de un neutrón depende de su ubicación y de lo que ha hecho antes. Por lo tanto, no se podían simplemente tomar muestras aleatorias, sino que se necesitaba modelar una cadena completa de eventos donde cada paso influyera en el siguiente.\nVon Neumann se dio cuenta de que lo que necesitaban era una Cadena de Markov. Crearon un modelo simplificado donde el estado inicial es un neutrón viajando por el núcleo. Tres cosas podían suceder: dispersarse (permanecer en el mismo estado), salir del sistema o ser absorbido (terminar la cadena), o golpear otro átomo de uranio-235, causando fisión y liberando más neutrones que iniciarían sus propias cadenas. Las probabilidades de transición no eran fijas, sino que dependían de factores como la posición, velocidad y energía del neutrón, así como la configuración y masa del uranio.\nEsta cadena se simuló en el ENIAC, la primera computadora electrónica. La computadora generaba condiciones iniciales aleatorias para un neutrón y seguía la cadena, registrando el factor de multiplicación k, que es el número promedio de neutrones producidos por cada neutrón. Si $k \u003c 1$, la reacción se extingue; si $k = 1$, es autosostenible; y si $k \u003e 1$, la reacción crece exponencialmente y se tiene una bomba. Repitiendo este proceso cientos de veces, obtuvieron una distribución estadística de los resultados, lo que les permitió aproximar ecuaciones diferenciales que eran demasiado difíciles de resolver analíticamente. Ulam, recordando a su tío jugador, nombró el método \u0026ldquo;Monte Carlo\u0026rdquo; en honor al famoso casino de Mónaco. El método fue tan exitoso que se extendió rápidamente.\n2. Google PageRank y la Búsqueda en Internet En 1993, el acceso público a Internet provocó una explosión de información, con miles de páginas nuevas apareciendo cada día. Encontrar algo en este \u0026ldquo;mar en expansión de información\u0026rdquo; se convirtió en un problema. Los primeros motores de búsqueda, como Yahoo (fundado en 1994), clasificaban las páginas simplemente por la frecuencia con la que un término de búsqueda aparecía en ellas. Esto era fácilmente manipulable por sitios web que repetían palabras clave cientos de veces, a menudo ocultas con texto blanco sobre un fondo blanco, lo que significaba que la noción de \u0026ldquo;calidad\u0026rdquo; de los resultados era inexistente.\nSergey Brin y Larry Page, también estudiantes de doctorado en Stanford, abordaron este problema. Su idea se inspiró en las bibliotecas: un libro con muchas fechas de préstamo estampadas en su tarjeta (lo que indicaba que había sido sacado muchas veces) se percibía como un buen libro. Brin y Page aplicaron esta idea a la web: cada enlace a una página podía considerarse un \u0026ldquo;aval\u0026rdquo;. Además, la importancia de un aval dependía de la \u0026ldquo;calidad\u0026rdquo; de la página que lo emitía, y cuantos más enlaces enviaba una página, menos valioso se volvía cada \u0026ldquo;voto\u0026rdquo;.\nSe dieron cuenta de que podían modelar la web como una Cadena de Markov. Las páginas web eran los estados (por ejemplo, Amy, Ben, Chris, Dan), y los enlaces entre ellas eran las transiciones. La probabilidad de transición de una página a otra dependía de cómo se distribuían los enlaces. Por ejemplo, si la página Amy solo enlazaba a Ben, la probabilidad de ir de Amy a Ben era del 100%. Si Ben enlazaba a Amy, Chris y Dan, la probabilidad de ir a cualquiera de ellos desde Ben era del 33%.\nAl simular un \u0026ldquo;surfista\u0026rdquo; aleatorio que se movía por esta web de juguete, se hacía un seguimiento del porcentaje de tiempo que el surfista pasaba en cada página. Con el tiempo, esta proporción se estabilizaba, y las puntuaciones resultantes daban una medida de la importancia relativa de estas páginas. Este sistema era más robusto contra la manipulación: crear muchas páginas de baja calidad que enlazaran a tu sitio no funcionaba, ya que los enlaces de estas páginas no eran \u0026ldquo;enlaces de calidad\u0026rdquo; y no afectaban significativamente el algoritmo.\nSin embargo, existía un problema: no todas las páginas están conectadas, y un \u0026ldquo;surfista aleatorio\u0026rdquo; podría quedar atrapado en un bucle, sin alcanzar el resto de la web. Para solucionar esto, Brin y Page introdujeron un factor de amortiguación: el 85% de las veces, el surfista seguía un enlace normal, pero el 15% de las veces, saltaba a una página completamente al azar. Este factor de amortiguación garantizaba que se exploraran todas las partes posibles de la web sin quedarse atascado. Utilizando Cadenas de Markov, Page y Brin construyeron un motor de búsqueda superior, al que llamaron PageRank. En 1998, lanzaron su nuevo motor de búsqueda, inicialmente llamado BackRub, y luego renombrado Google (por el término \u0026ldquo;googol\u0026rdquo;, $10^{100}$, simbolizando su ambición de indexar todas las páginas de Internet). Google rápidamente superó a Yahoo y se convirtió en el motor de búsqueda más utilizado. Hoy en día, una Cadena de Markov sigue siendo el corazón de su algoritmo de billones de dólares.\n3. Modelos de Lenguaje Grandes (LLMs) y Predicción de Texto La idea original de Markov de predecir texto fue retomada en la década de 1940 por Claude Shannon, el padre de la teoría de la información. Shannon fue más allá de vocales y consonantes, centrándose en letras individuales y luego en palabras completas. Se preguntó qué pasaría si, en lugar de mirar solo la última letra o palabra, se consideraran las dos o más palabras anteriores como predictores. Descubrió que al tomar en cuenta cada vez más palabras previas, se podían hacer mejores y mejores predicciones sobre cuál sería la siguiente palabra.\nEsta es precisamente la base de cómo funcionan los sistemas de predicción de texto modernos, como el autocompletado de Gmail, y los algoritmos de los modelos de lenguaje grandes (LLMs) actuales. Aunque los LLMs no usan estrictamente letras individuales sino \u0026ldquo;tokens\u0026rdquo; (que pueden ser letras, palabras, marcas de puntuación, etc.), la pregunta fundamental sigue siendo: \u0026ldquo;¿Cuáles son las probabilidades de que el siguiente token sea este, o este, o este?\u0026rdquo;. Sin embargo, los LLMs actuales superan a las Cadenas de Markov simples al utilizar un mecanismo llamado \u0026ldquo;atención\u0026rdquo;, que les permite ponderar la importancia de diferentes tokens en el contexto previo para afinar sus predicciones (por ejemplo, distinguiendo \u0026ldquo;celda\u0026rdquo; en un contexto biológico de \u0026ldquo;celda\u0026rdquo; de prisión).\nContextos limitados #A pesar de su versatilidad, las Cadenas de Markov no son adecuadas para modelar todos los sistemas dependientes. En particular, los sistemas con bucles de retroalimentación positiva —donde un cambio inicial se amplifica a sí mismo, como el calentamiento global (el aumento de CO2 eleva la temperatura, que a su vez aumenta el vapor de agua, un potente gas de efecto invernadero, elevando aún más la temperatura)— son difíciles de predecir con Cadenas de Markov. En estos casos, el estado futuro no depende solo del estado actual, sino de la acumulación de efectos pasados.\nUna preocupación actual con los LLMs es precisamente esta: si el texto generado por los modelos termina en Internet y se utiliza como datos de entrenamiento para futuros modelos, podría conducir a un \u0026ldquo;estado muy aburrido y estable\u0026rdquo;, donde el sistema solo \u0026ldquo;dice lo mismo una y otra vez para siempre\u0026rdquo;. Estos sistemas con bucles de retroalimentación se vuelven difíciles de modelar con Cadenas de Markov.\nSin embargo, para muchos otros sistemas dependientes, las Cadenas de Markov siguen siendo una herramienta increíblemente poderosa para la probabilidad. Su gran fortaleza radica en una propiedad clave: son \u0026ldquo;sin memoria\u0026rdquo; o \u0026ldquo;memoryless\u0026rdquo;. Aunque la historia de un sistema puede ser extremadamente larga (como todas las letras en un texto, todas las interacciones de un neutrón o el clima durante semanas), la propiedad sin memoria de las Cadenas de Markov permite ignorar casi todo ese historial y solo mirar el estado actual para hacer predicciones significativas. Es esta capacidad de simplificación la que permite tomar sistemas extremadamente complejos y reducirlos significativamente para hacer predicciones útiles. Como un artículo lo resume: \u0026ldquo;La resolución de problemas es a menudo una cuestión de idear una Cadena de Markov apropiada\u0026rdquo;.\nEsta simplificación también explica por qué se sabe que siete barajados de riffle son suficientes para que una baraja de 52 cartas esté \u0026ldquo;completamente aleatoria\u0026rdquo;. El barajado de cartas puede verse como una Cadena de Markov donde cada arreglo de la baraja es un estado, y cada barajado es un paso. Después de siete barajados, cada arreglo posible de la baraja es aproximadamente igualmente probable, lo que significa que la baraja está \u0026ldquo;básicamente aleatoria\u0026rdquo;.\nEs irónico y fascinante que un concepto matemático tan fundamental y con aplicaciones tan vastas y modernas haya surgido de una disputa tan personal. La determinación de Markov para refutar a Nekrasov fue, al final, lo que le llevó a desarrollar un trabajo que transformaría la probabilidad y muchos campos de la ciencia y la tecnología.\n","date":null,"permalink":"/notes/9.markov/","section":"Notas","summary":"Sobre la no necesidad de independencia de eventos","title":"Cadenas de Markov"},{"content":"","date":null,"permalink":"/tags/markov-chain/","section":"Tags","summary":"","title":"Markov Chain"},{"content":"","date":null,"permalink":"/tags/monte-carlo/","section":"Tags","summary":"","title":"Monte Carlo"},{"content":"","date":null,"permalink":"/tags/pagerank/","section":"Tags","summary":"","title":"PageRank"},{"content":"","date":null,"permalink":"/tags/probability/","section":"Tags","summary":"","title":"Probability"},{"content":" ¿Qué es la Información y cómo se mide? #Imaginemos una situación cotidiana: abrís el la heladera esperando encontrar leche, pero descubrís que tiene \u0026ldquo;más vida de la esperada\u0026rdquo;. Esa desagradable sorpresa te proporcionó información valiosa no consumas esa leche.\nPor otro lado, si lanzás un dado cargado que siempre cae en 6, cada resultado te sorprenderá poco, si usás un dado balanceado, cada lanzamiento será más impredecible que el caso anterior.\nidea central podemos medir la información mediante el nivel de sorpresa que genera un evento. A mayor incertidumbre resuelta, mayor el contenido informativo.\nDe la intuición a la formalización matemática #Definimos una función matemática \\( I(p) \\) que cuantifica la información basada en la probabilidad \\( p \\) de un evento. Esta función debe cumplir con cuatro principios esenciales:\nVariación continua: Cambios pequeños en probabilidad deben generar cambios pequeños en información Cero información para lo seguro: Eventos con \\( p = 1 \\) no aportan nueva información Aditividad para eventos independientes: \\( I(p_1 p_2) = I(p_1) + I(p_2) \\) Relación inversa con la probabilidad: Menor probabilidad implica mayor información Una función que satisface perfectamente estos principios es:\n\\[ I(p) = -\\log_2 p \\]Comprobación # $I(p)= -\\log_2 p$ es continua en $(0,1]$.\ncuando \\( p = 1 \\), \\( I(p) = 0 \\) lo seguro no aporta novedad, i.e. no informa. En oposición cuando \\( p \\to 0 \\), \\( I(p) \\to \\infty \\), eventos muy raros son muy informativos.\ndados dos eventos independientes: con probabilidades \\( p_1 \\) y \\( p_2 \\): \\[ \\begin{aligned} I(p_1 p_2) \u0026= -\\log_2 (p_1 p_2) \\\\ \u0026= -(\\log_2 p_1 + \\log_2 p_2) \\\\ \u0026= I(p_1) + I(p_2) \\end{aligned} \\] $I(p)$ es monótona decreciente, de hecho es diferenciable en $(0,1]$, i.e. $I'(p)\u003c0$.\nEntropía de la teoría de la información #Definición y significado #La entropía de Shannon representa el contenido informativo promedio de una distribución de probabilidad. Para eventos con probabilidades \\( p_1, p_2, ..., p_n \\):\n\\[ H = -\\sum_{i=1}^{n} p_i \\log_2 p_i \\]Caso de estudio: distribución bernoulli #Para una variable que toma valor 1 con probabilidad \\( p \\) y 0 con probabilidad \\( 1-p \\):\n\\[ H = -p \\log_2 p - (1-p) \\log_2 (1-p) \\]Comportamiento característico:\nMáxima entropía en \\( p = 0.5 \\) (máxima incertidumbre) Mínima entropía en \\( p = 0 \\) o \\( p = 1 \\) (cero incertidumbre) La curva describe una parábola invertida La elección del logaritmo base 2 #Motivación #Pensemos en un sistema de comunicación simple: necesitas transmitir el resultado de un lanzamiento de moneda usando solo una señal binaria (prender/apagar una luz).\nEstrategia óptima:\nCara: enviar señal (1) Cruz: no enviar señal (0) Esta solución requiere exactamente un bit de información, la unidad mínima posible.\nPor qué bits y base 2 # Bit: Unidad fundamental que representa una elección binaria Sistema binario: Base matemática natural para sistemas digitales Logaritmo base 2: Responde \u0026ldquo;¿a qué potencia debo elevar 2 para obtener este número?\u0026rdquo; Otras bases:\nBase \\( e \\): Unidades en \u0026ldquo;nats\u0026rdquo; (natural units) Base 10: Menos útil en contextos computacionales Conclusión #La teoría de la información, cimentada por Claude Shannon en 1948, proporciona herramientas matemáticas precisas para cuantificar algo tan abstracto como la información. Desde compresión de datos hasta comunicación eficiente, estos conceptos siguen siendo fundamentales en la era digital.\nLa elegancia de la teoría reside en cómo conecta intuición cotidiana con matemáticas rigurosas, demostrando que incluso la \u0026ldquo;sorpresa\u0026rdquo; puede medirse y optimizarse.\nEn resumen, auto-información mide sorpresa individual: $I(p)$, la entropía promedia la sorpresa esperada: $H$. Las distribuciones balanceadas maximizan la entropía y los sesgos reducen el contenido informativo.\n","date":null,"permalink":"/notes/11.information/","section":"Notas","summary":"Midiendo la sorpresa","title":"Información"},{"content":"","date":null,"permalink":"/tags/information-theory/","section":"Tags","summary":"","title":"Information Theory"},{"content":"","date":null,"permalink":"/tags/probability-distribution/","section":"Tags","summary":"","title":"Probability Distribution"},{"content":"","date":null,"permalink":"/tags/self-information/","section":"Tags","summary":"","title":"Self-Information"},{"content":"","date":null,"permalink":"/tags/shannon-entropy/","section":"Tags","summary":"","title":"Shannon Entropy"},{"content":" objetivo #Formar una cuadrícula de piezas tales que en cada uno de sus lados contiguos coincidan forma y color.\ndescripción #Se trata de un puzzle simple, en tanto que las piezas no tienen bordes que encastrar y por eso complicado, porque a priori pueden ir de cualquier forma. La idea es que la persona que lo intente compruebe por hartazgo la rapidez con la que crece el tiempo promedio de resolución con solo pasar de un simple 2x2 a un 3x3. El efecto de confirmar que un 2x2 se puede armar en un tiempo breve, pero no suele ser así con solo con un 3x3, permite tirar por tierra las expectativas que pueda hacerse el ludócuata de turno. Para los jugadores más resistentes, se puede armar un 4x4, etc.\nUna vez comprobadas las ganas morir que entran por no completar el puzzle, se puede introducir el concepto de cómo lo resuelve una computadora que pruebe todas las opciones en las que pueden ser localizadas las piezas (muchísimas de las cuales no resuelven el puzzle), este número se puede expresar matemáticamente y dependiendo de lo que conozca el jugador se puede verificar analíticamente cómo crece el tiempo promedio de resolución con la cantidad de piezas del puzzle. El juego consiste en disponer piezas sin bordes “tradicionales” de encastre, lo que hace que la colocación sea más libre. El desafío radica en que, conforme crece el tamaño de la rejilla (2x2, 3x3, etc.), el tiempo promedio para resolver el puzzle aumenta rápidamente, ilustrando así el fenómeno de la explosión combinatoria.\n","date":null,"permalink":"/notes/10.complexity-game/","section":"Notas","summary":"Comprobandola por hartazgo","title":"Complejidad computacional"},{"content":"","date":null,"permalink":"/tags/computational-complexity/","section":"Tags","summary":"","title":"Computational Complexity"},{"content":"","date":null,"permalink":"/tags/game/","section":"Tags","summary":"","title":"Game"},{"content":"","date":null,"permalink":"/tags/eternal-return/","section":"Tags","summary":"","title":"Eternal Return"},{"content":" Plumas, pinceles y qubits #La idea de un tiempo circular está aparece, y reaparece, en la literatura, el arte y la ciencia. Por citar un primero de estos ciclos: el uróboro, la serpiente que se muerde a si misma, simboliza el ciclo eterno de las cosas, imagen de la naturaleza cíclica del tiempo y del eterno retorno. Borges explora estas nociones en cuentos como Las ruinas circulares el autor sugiere un “eterno retorno y eterno comienzo” donde nada termina definitivamente. En Las ruinas circulares un mago sueña y va dando forma a otro ser, hasta descubrir al final que él mismo es el sueño de otro, cerrando así un círculo onírico de creación y muerte. Esta narrativa circular enlaza con otros textos borgianos: por ejemplo, El jardín de senderos que se bifurcan retrata el tiempo como un laberinto de caminos que se bifurcan en todas las posibilidades, un “multiverso” literario donde todos los destinos coexisten. En el ensayo “La doctrina de los ciclos” Borges aborda la idea de un retorno literal desde un enfoque matemático: invoca a Cantor para argumentar que un universo de infinitos puntos no puede repetir exactamente sus estados. En “El tiempo circular” examina tres concepciones del eterno regreso –astrológica (platónica), nietzscheana y cósmica (año de Brahma)– sin adherirse a ninguna. Ahí cita a Schopenhauer: “La forma de aparición de la voluntad es sólo el presente… Nadie ha vivido en el pasado, nadie vivirá en el futuro”, negando así la existencia efectiva del pasado y el futuro fuera de la conciencia presente. En conjunto, Borges amalgama la idea de ciclos con la de múltiples realidades: sus textos circulares ofrecen un flujo perpetuo de creación, donde cada historia es al mismo tiempo un comienzo y un regreso.\nNietzsche hizo del eterno retorno un tema central: no sólo los hechos, sino también los pensamientos y las ideas “se repiten una y otra vez” eternamente. En La gaya ciencia invita a aceptar lo que ha de volver (el amor fati) como prueba de grandeza. Previamente, Schopenhauer había concebido un mundo eterno en ciclos de la Voluntad: en El mundo como voluntad y representación afirma que sólo existe el presente –pasado y futuro son meros marcos de la conciencia–, de modo que la existencia es un flujo continuo sin novedad radical. Así, en la tradición occidental –como ya lo observaban los estoicos– el tiempo no es lineal sino circular: cada universo se destruye para renacer igual; cada acto se repite bajo formas equivalentes. Borges retoma estas raíces filosóficas, reconociendo la concepción estoica y oriental del tiempo cíclico e incorporándola a su “historia de la eternidad”.\nEn el arte plástico, el tiempo devorador se traduce en imágenes poderosas. Goya pintó Saturno devorando a su hijo (ca. 1820) como crónica pictórica de Cronos (Saturno romano) en el acto caníbal de engullir a uno de sus vástagos. Tradicionalmente esta escena es un emblema alegórico del paso inexorable del tiempo: Cronos se comía a sus hijos para evitar ser destronado, literalmente devorando el futuro por temor a perder el poder, es él quien quiere perpetrarse eternamente. En el lienzo de Goya, la furia del dios bruñido y la sangre del niño desgarrado ilustran el ciclo eterno de destrucción –el “padre” que consuma al “hijo”– que preside las pinturas negras. Antes, en 1636 Rubens había pintado Saturno (para la Torre de la Parada), donde el titán Saturno, advertido de que uno de sus hijos lo derrocaría, decide devorarlos a todos. Ahí Saturno aparece desgarrando el pecho de uno de sus hijos mientras empuña su guadaña. Rubens coloca la figura enorme del dios contra un fondo oscuro, destacando el horror barroco del mito. Estas dos obras, la de Rubens y la de Goya, plasman el rostro sombrío del retorno cíclico: el tiempo, representado por Cronos, es un ciclo destructor que engulle a sus propias creaciones. En ambos casos el arte encarna lo que el uroboro simboliza: la eternidad circular del devenir.\nEn matemáticas y en física el teorema de recurrencia de Poincaré afirma que ciertos sistemas dinámicos, tras un tiempo finito suficientemente largo, regresan a un estado tan próximo como se desee al estado inicial en el caso de tiempo continuo o idéntico al estado inicial en el caso de tiempo discreto.\nCuando decimos ciertos sistemas dinámicos nos referimos en parte a aquellos en los que mantienen su porte a lo largo del tiempo, i.e. en su evolución temporal conservan la medida. Formalmente necesitamos una transformación $f: X \\to X$ en un espacio de medida $(X, \\Sigma, \\mu)$, donde $\\Sigma$ es una $\\sigma-$álgebra sobre el espacio medible $X$ y $\\mu$ una media. Se dice que $f$ conserva la medida $\\mu$ si para todo conjunto medible $E \\in \\Sigma$, se cumple que $\\mu\\pmb{(}f^{-1}(E)\\pmb{)} = \\mu(E).$\nEste teorema de recurrencia de Poincaré puede enunciarse como:\nSea $(X, \\Sigma, \\mu)$ un espacio de medida finita y sea $f: X \\to X$ una transformación que conserva la medida $\\mu$. Para cualquier conjunto medible $E \\in \\Sigma$, el conjunto de aquellos puntos $x$ de $E$ para los cuales existe un $N \\in \\mathbb{N}$ tal que $f^n(x) \\notin E$ para todo $n \u003e N$, tiene medida cero.\nDe manera compacta tenemos:\n$\\mu \\pmb{(} \\{x \\in E : \\exists N \\in \\mathbb{N}/ f^n(x) \\notin E, \\forall n \u003e N\\}\\pmb{)} = 0$ En otras palabras, casi todo punto de $E$ y tras la aplicación sucesiva de $f$ retorna a $E$.\nEn mecánica clásica, los sistemas hamiltonianos cuya medida de Liouville es invariante, resultado de una divergencia nula del flujo en el espacio de fases y característica de los sistemas en los que se conserva la energía, satisfacen las condiciones del teorema de Poincaré y son periódicos a la larga.\nLa dinámica unitaria a la Schrödinger de los sistemas cuánticos está encerrada en otro ciclo. En mecánica cuántica existe un resultado análogo al clásico: para un sistema cerrado con espectro discreto de energías y una base de autovectores del operador hamiltoniano $H$, tenemos garantías de que para cualquier tiempo de partida $s$ habrá un tiempo $t\u003es$ futuro en que el estado cuántico $|\\psi(t)\\rangle$ regrese arbitrariamente cerca del estado inicial $|\\psi(s)\\rangle$. La evolución unitaria del estado en mecánica cuántica\n$$ |\\psi(t)\\rangle = U(t-s)|\\psi(s)\\rangle $$ donde $U(t)\\;=\\;\\exp\\bigl[-it/\\hbar H\\bigr]$, conserva la norma y hace la dinámica cuasiperiódica. En efecto, escribiendo los estados en ambos tiempos como combinación lineal de los autovectores de $H$, la distancia entre $|\\psi(t)\\rangle$ y $|\\psi(s)\\rangle$ puede hacerse arbitrariamente pequeña.\nDe hecho, en el ámbito de la computación cuántica encontramos otra forma de visualizar esta recurrencia en el caso más simple: la dinámica de un qubit. Cualquier estado de un qubit se representa como un punto en la esfera de Bloch. Desde el punto de vista matemático, la esfera es un espacio cerrado y compacto. Una compuerta cuántica de un qubit equivale a una rotación de esa esfera. Matematicamente, bajo el Hamiltoniano $$ H=\\omega\\hat w\\cdot\\sigma, $$ donde $\\sigma$ es un arreglo vectorial de las matrices de Pauli $\\sigma=(\\sigma_1,\\sigma_2,\\sigma_3)$. El operador de evolución $U(t)$ toma la forma\n$$ U(t)\\;=\\;\\exp\\Bigl[-i\\omega t/\\hbar \\,(\\hat w\\cdot\\sigma)\\Bigr]\\,. $$Como $(\\hat w\\cdot\\sigma)^2=I$, luego $U(t)=\\cos\\bigl(\\omega t/\\hbar\\bigr)I - i\\,\\sin\\bigl(\\omega t/\\hbar\\bigr)\\,(\\hat w\\cdot\\sigma).$ De aquí se ve que $U(t)$ es un operador cíclico, de período $T=h/\\omega$. Es decir, la evolución del qubit es un movimiento circular en la esfera de Bloch con vuelta al estado original cada $T$. Este hecho se alinea con la propiedad algebraica de que las rotaciones, elementos del grupo $SU(2)$ que generan los operadores cuánticos de un qubit, pueden asociarse a rotaciones tridimensionales, es decir, a elementos del grupo $SO(3)$. En consecuencia, cualquier Hamiltoniano de dos niveles da lugar a dinámicas cíclicas en la esfera de Bloch, y esas rotaciones unitarias se pueden componer para simular evoluciones complejas.\nEstas ideas de dinámica rotacional tienen gran relevancia práctica en la simulación cuántica. Nielsen y Chuang subrayan que un conjunto universal de puertas cuánticas equivale a tratar con rotaciones de $SU(2)$ y $SU(4)$. En la práctica, Reck et al. mostraron que cualquier operador unitario de dimensión finita se puede descomponer en secuencias de transformaciones elementales de 2 dimensiones. Su algoritmo probó experimentalmente cómo construir en el laboratorio un circuito óptico (red de divisores de haz) que implementa cualquier matriz unitaria. Esto facilita la simulación cuántica: con esa receta se puede reproducir en qubits la evolución periódica de sistemas físicos y químicos. En efecto, la simulación cuántica eficiente se basa en descomponer las evoluciones temporales complejas en rotaciones elementales, controlando así los ciclos cuánticos. En términos filosóficos, la unidad de control de estos retornos (rotaciones de Bloch) es la analogía cuántica del dominio del tempo en música: el avance en computación cuántica reside en manejar con precisión las recurrencias temporales.\nEpílogo #Borges escribe sobre la idea de volver eternamente; Goya y Rubens pintan a un Cronos que encarna el tiempo destructor que todo lo repite; en física clásica y cuántica los teoremas de recurrencia garantizan matemáticamente ese retorno. En cada campo la noción circular reaparece: incluso nuestras técnicas más modernas, como la simulación cuántica de sistemas físicos y químicos, dependen de poder controlar rigurosamente esas rotaciones cíclicas del estado.\nEl progreso científico (simulación de moléculas, materiales cuánticos, etc.) exige entender y manejar los ciclos subyacentes del tiempo.\nHay una aparente dicotomía entre la idea de progreso, tan valorada en la ciencia y la sociedad moderna, y la noción de recurrencia que es objeto de la filosofía y expresión artística, nos revela una interconexión más profunda.\nLos avances en simulación de sistemas físicos y químicos, particularmente en el campo de la mecánica cuántica y la información cuántica, dependen intrínsecamente de la capacidad de utilizar y controlar las recurrencias inherentes a estos sistemas. La comprensión y el control de estas recurrencias son, por lo tanto, fundamentales para el futuro del avance científico y tecnológico, permitiendo el desarrollo de herramientas cada vez más poderosas para la simulación y el cómputo.\nAnexo #Extracto de La Venganza Será Terrible emitido el 14 de Julio de 1994.\nReferencias # J. L. Borges (1944). Ficciones. Emecé, Buenos Aires, pp. 71–76. J. L. Borges (1936). Historia de la eternidad. Emecé, Buenos Aires, pp. 362–375. F. Nietzsche (1882). La gaya ciencia. Alianza Editorial, Madrid, 1994, Aforismo 341. F. Nietzsche (1883–1885). Así habló Zaratustra. Alianza Editorial, Madrid, 1997, Parte III. A. Schopenhauer (1819). El mundo como voluntad y representación. Trotta, Madrid, 2006, Libro IV. F. de Goya y Lucientes (1820- 1823), Saturno, Museo Nacional del Prado P. P. Rubens (1636-1638), Saturno devorando a un hijo, Museo Nacional del Prado F. Bloch (1946). Nuclear Induction. Physical Review 70, 460–473. M. A. Nielsen \u0026amp; I. L. Chuang (2000). Quantum Computation and Quantum Information. Cambridge Univ. Press. M. Reck, A. Zeilinger, H. J. Bernstein \u0026amp; P. Bertani (1994). Experimental realization of any discrete unitary operator. Phys. Rev. Lett. 73, 58–61. H. Poincaré (1890). Sur le problème des trois corps et les équations de la dynamique. Acta Mathematica 13, 1–270. P. Bocchieri \u0026amp; A. Loinger (1957). Quantum recurrence theorem. Physical Review 107, 337–338. L. S. Schulman (1978). Note on the quantum recurrence theorem. Phys. Rev. A 18, 2379–2380. S. Lloyd (1996). Universal Quantum Simulators. Science 273, 1073–1078. ","date":null,"permalink":"/notes/8.eternal-return/","section":"Notas","summary":"¿Cuándo llegamos?","title":"Eterno retorno"},{"content":"","date":null,"permalink":"/tags/quantum-computing/","section":"Tags","summary":"","title":"Quantum Computing"},{"content":"Podés descargarlo en formato PDF.\n","date":null,"permalink":"/cv/","section":"Mariano Caruso","summary":"","title":"Currículum Vitae"},{"content":" Investigador con un doctorado por la Universidad de Granada, especializado en la formulación variacional de procesos estocásticos. Es el Coordinador de la Unidad Cuántica en el Centro Tecnológico $\\mathtt{FIDESOL}$, profesor en el Máster de Computación Cuántica de la $\\mathtt{UNIR}$ y colabora con el grupo de investigación de Termodinámica y Computación Cuántica $\\mathtt{FQM-411-TCC}$ de la Universidad de Granada. Asesora empresas que desarrollan productos o servicios basados en las investigaciones fundamentales más recientes en computación cuántica. Fomenta la colaboración entre la academia y la industria, destacándose en la intersección entre la ciencia computacional y la investigación cuántica. Su investigación abarca el aprendizaje automático y sus metodologías seguras, utilizando técnicas tanto clásicas como cuánticas.\n","date":null,"permalink":"/about/","section":"Mariano Caruso","summary":"","title":"Sobre mí"},{"content":"","date":null,"permalink":"/tags/orbital-space/","section":"Tags","summary":"","title":"Orbital Space"},{"content":"","date":null,"permalink":"/tags/quantum/","section":"Tags","summary":"","title":"Quantum"},{"content":"","date":null,"permalink":"/tags/qubits/","section":"Tags","summary":"","title":"Qubits"},{"content":" Representación de qubits en estados de partícula #El qubit es el análogo cuántico del bit (acrónimo de binary-digit), la unidad fundamental clásica de información. Es un objeto matemático con propiedades específicas que pueden realizarse en un sistema físico real de muchas maneras diferentes. Al igual que el bit clásico tiene un estado, e.g. 0 o 1, un qubit también tiene un estado. Sin embargo, a diferencia del bit clásico, $|0\\rangle$ y $|1\\rangle$ son solo dos posibles estados del qubit, y cualquier combinación lineal (superposición) de ellos también es posible. En general, pues, el estado físico de un qubit es la superposición $|\\psi\\rangle = \\alpha|0\\rangle + \\beta|1\\rangle$ (donde $\\alpha$ y $\\beta$ son números complejos). El estado de un qubit puede describirse como un vector en un espacio de Hilbert bidimensional, un espacio vectorial complejo. Los estados especiales $|0\\rangle$ y $|1\\rangle$ se conocen como los estados de la base computacional y forman una base ortonormal para este espacio vectorial. La realización física de estos qubits tiene lugar utilizando propiedades como el spin de las partículas (generalmente fermiones), la polarización de los fotones,\u0026hellip; para conseguir dos estados base.\nAhora bien si tratamos con objetos cuya descripción físico-matemática completa comprende una parte espacial que suelen ser de dimensión infinita\n¿Es posible concebir estados tipo qubits en estos espacios de Hilbert de dimensión superior a 2?\nEn el tratamiento de qubits se parte del hecho de que el estado completo de la partícula se describe en un espacio de Hilbert total que, en muchos sistemas físicos, es el producto tensorial de dos espacios: uno asociado a la parte orbital (generalmente de dimensión infinita) y otro a la parte interna (por ejemplo la parte de spin), que suele ser de dimensión 2. Formalmente, se tiene\n\\[\\mathscr{H} = \\mathscr{H}_{1} \\otimes \\mathscr{H}_{2},\\]donde \\(\\mathscr{H}_{1} = L^2(\\mathbb{R}^3)\\) y \\(\\mathscr{H}_{2} \\sim \\mathbb{C}^2.\\) La clave para trabajar exclusivamente con qubits (la parte de spin) reside en la separabilidad tanto del Hamiltoniano como de los estados. Bajo el supuesto de separabilidad del Hamiltoniano total \\(H\\), esto es\n\\[H = H_{1} \\otimes I_{2} + I_{1} \\otimes H_{2},\\] donde \\(I_{1}\\) e \\(I_{2}\\) son los operadores identidad en \\(\\mathscr{H}_{1}\\) y \\(\\mathscr{H}_{2}\\) respectivamente. Esto es válido cuando no existen términos de acoplamiento entre la parte orbital y el spin, o cuando tales acoplamientos son despreciables o pueden tratarse perturbativamente.\nSi se prepara el sistema en un estado factorizable del tipo \\[|\\phi(\\pmb{x}), s\\rangle = |\\phi(\\pmb{x})\\rangle \\otimes |s\\rangle,\\] donde \\(|\\phi(\\pmb{x})\\rangle \\in \\mathscr{H}_{1}\\) es la componente orbital en la posición \\(\\pmb{x}\\) y \\(|s\\rangle\\) es un estado arbitrario en \\(\\mathscr{H}_{2} \\sim \\mathbb{C}^2\\), la evolución temporal también se separa:\n\\[U(t) = U_{1}(t) \\otimes U_{2}(t).\\]Si además \\(|\\phi(\\pmb{x})\\rangle\\) es un autostado estacionario de \\(H_{1}\\), su evolución temporal se puede factorizar y la dinámica efectiva se concentra en la parte de spin:\n\\[|s(t)\\rangle = U_{2}(t)\\, |s\\rangle.\\]Esta aproximación se justifica en la medida en que, en los dispositivos de qubits (por ejemplo, en sistemas de spin qubits en semiconductores o iones atrapados), la interacción que podría acoplar las variables orbitales y de spin es muy pequeña en comparación con las interacciones que afectan directamente al spin. De modo que, al fijar la parte orbital en un estado estacionario, se “congela” su contribución dinámica, permitiendo que el comportamiento cuántico relevante se describa únicamente en el subespacio \\(\\mathscr{H}_{2}\\).\nLa separabilidad del Hamiltoniano y de los estados es, por tanto, el fundamento que permite “aislar” el qubit en una estructura bidimensional, lo que facilita la manipulación y el control en aplicaciones de computación cuántica.\nEn resumen, al preparar el sistema en un estado factorizable y considerar un Hamiltoniano que se separa como \\[H = H_{1} \\otimes I_{2} + I_{1} \\otimes H_{2},\\] se puede omitir o discriminar, vía factorización, la parte orbital y trabajar únicamente en el subespacio bidimensional isomorfo a \\(\\mathbb{C}^2\\) para tratar con un qubit.\n","date":null,"permalink":"/notes/7.particular-qubits/","section":"Notas","summary":"Representación de qubits en estados de  partícula","title":"Qubits particulares"},{"content":"","date":null,"permalink":"/tags/spin-states/","section":"Tags","summary":"","title":"Spin States"},{"content":" comentario sobre $R^2$ y cociente de varianzas #En el análisis de datos y la modelización predictiva, el coeficiente de determinación $R^2$ es una de las métricas más populares para evaluar qué tan bien un modelo se ajusta a los datos. Pero, ¿qué significa realmente este valor y cómo debemos interpretarlo? En esta entrada, desglosaremos su definición, su cálculo y las implicaciones que tiene en contextos como la regresión lineal y más allá.\nSupongamos unos datos $\\{y_i\\}_{i\\in I_N}$, con media aritmética $\\bar{y}$ y un modelo que realiza predicciones para cada dato $\\{\\hat{y_i}\\}_{i\\in I_N}$, donde $I_N:=\\{1,\\cdots, N\\}\\subset \\mathbb{N}$. El coeficiente de determinación \\( R^2 \\) se define como:\n$$ R^2:=1-\\dfrac{\\sum_{i\\in I_N}(y_i-\\hat{y}_i)^2}{\\sum_{i\\in I_N}(y_i-\\bar{y})^2} $$ el numerador de la fracción es es la suma de los cuadrados de los residuos y es proporcional al error cuadrático medio sobre los elementos de $I$ y el denominador es proporcional a la variación de la muestra $\\{y_i\\}_{i\\in I_N}$, que mide su variabilidad respecto a la media $\\bar{y}$.\nEn términos simples, $R^2$ nos dice qué proporción de la variabilidad de los datos es explicada por el modelo.\ninterpretando los valores de \\( R^2 \\) #El valor de \\( R^2 \\) puede variar bastante, y su interpretación depende del contexto:\n\\( R^2 = 1 \\): el modelo predice perfectamente los datos (\\( y_i = \\hat{y}_i \\)), lo que implica que el error cuadrático medio es cero. ¡Un caso ideal pero raro en la práctica! \\( R^2 = 0 \\): el modelo no explica ninguna variabilidad; es tan bueno como usar la media \\( \\bar{y} \\) como predictor. \\( R^2 \u003c 0 \\): sorprendentemente, esto es posible. Significa que el modelo es peor que simplemente usar la media, ya que el error cuadrático medio supera la varianza muestral de los datos. Se espera que un buen modelo tenga $R^2$ entre $0$ y $1$, Un valor negativo indica que las predicciones son tan malas que sería mejor y más eficiente ignorar ese modelo y usar $\\bar{y}$.\nAnalicemos la estructura matemática de $R^2$: $1-(A/B)^2$. Por definición $(A/B)^2\\geq 0$.\na. el caso en que $(A/B)^2=0$, con $B$ finito, implica que $A=0$.\nb. Separemos el caso restante $(A/B)^2\u003e0$, en dos:\n$(A/B)^2 \\in (0,1]$, es lo deseable y si el modelo es bueno es lo esperable en la práctica. $(A/B)^2 \\in (1,\\infty)$, en ese caso el error cuadrático medio entre los datos $\\{y_i\\}_{i\\in I_N}$ y las predicciones $\\{\\hat{y}_i\\}_{i\\in I_N}$ es mayor (osea peor) que la propia fluctuación de los datos $\\{y_i\\}_{i\\in I_N}$ respecto de su media $\\hat{y}$, i.e. su varianza muestral, osea sería mejor reemplazar el modelo y sus predicciones $\\hat{y}_i$, por una lisa y llana $\\bar{y}$, porque lo hace mejor. Los casos que \u0026ldquo;hablan bien\u0026rdquo; del modelo son tales que $R^2 \\in [0,1]$, pero cabe la posibilidad de que $R^2\u003c0$, en ese caso el modelo elegido provee predicciones peores que tomar la media aritmética de los datos.\n$R^2$ puede ser negativo #En general $R^2$ no es siempre positivo. Veamos qué implica que $R^2\u003c0$: $\\sum_{i\\in I_N}(y_i-\\hat{y}_i)^2\u003e\\sum_{i\\in I_N}(y_i-\\bar{y})^2$, es decir el error cuadrático medio es mayor a la varianza muestral.\nIndependientemente de la definición de $R^2$, veamos la relación entre las sumas de $(y_i-\\bar{y})^2$, $(\\hat{y}_i-\\bar{y})^2$ y $(y_i-\\hat{y}_i)^2$.\nUsamos el hecho de que podemos escribir cada diferencia $y_i - \\bar{y}$ como la suma de dos términos:\n$$ y_i - \\bar{y} = \\bigl(y_i - \\hat{y}_i\\bigr) + \\bigl(\\hat{y}_i - \\bar{y}\\bigr). $$Elevamos al cuadrado ambos lados:\n$$ (y_i - \\bar{y})^2 = \\Bigl[(y_i - \\hat{y}_i) + (\\hat{y}_i - \\bar{y})\\Bigr]^2. $$Utilizando la identidad \\((a+b)^2 = a^2 + b^2 + 2ab\\), obtenemos:\n$$ (y_i - \\bar{y})^2 = (y_i - \\hat{y}_i)^2 + (\\hat{y}_i - \\bar{y})^2 + 2\\,(y_i - \\hat{y}_i)(\\hat{y}_i - \\bar{y}). $$Sumando sobre $i\\in I$: $$ \\sum_{i\\in I_N}(y_i - \\bar{y})^2 = \\sum_{i\\in I_N} [(y_i - \\hat{y}_i)^2 + (\\hat{y}_i - \\bar{y})^2 + 2 (y_i - \\hat{y}_i)(\\hat{y}_i - \\bar{y})].$$Denotemos por $\\lambda=2\\sum_{i\\in I_N} (y_i - \\hat{y}_i)(\\hat{y}_i - \\bar{y})$.\nEn los modelos de regresión lineal, suele cumplirse cierta ortogonalidad entre los residuos $y_i - \\hat{y}_i$ y las predicciones centradas en $\\bar{y}$ $(\\hat{y}_i - \\bar{y})$:\n$$\\sum_{i\\in I_N} (y_i - \\hat{y}_i)(\\hat{y}_i - \\bar{y}) = 0,$$en particular:\n$\\sum_{i\\in I_N} (y_i - \\hat{y}_i)\\hat{y}_i = 0$, por la ortogonalidad de los residuos con las predicciones $\\sum_{i\\in I_N} y_i - \\hat{y}_i = 0$ porque el modelo ajusta una intersección, de modo que los residuos tienen media cero. Sustituyendo en la suma obtenida: $$ \\sum_{i\\in I_N}(y_i - \\bar{y})^2 = \\sum_{i\\in I_N} (y_i - \\hat{y}_i)^2 + \\sum_{i\\in I_N} (\\hat{y}_i - \\bar{y})^2 + \\lambda, $$ entonces nos queda $$ R^2=\\dfrac{\\sum_{i\\in I_N}(\\hat{y}_i-\\bar{y})^2+\\lambda}{\\sum_{i\\in I_N}(y_i-\\bar{y})^2}, $$ el signo de $\\lambda$ no está definido, si $\\lambda\u003c0$ y en valor absoluto mayor que $\\sum_{i\\in I}(\\hat{y}_i-\\bar{y})^2$ se tiene que $R^2\u003c0$.\nSi $\\bar{\\hat{y}}=\\bar{y}$, osea: $\\sum_{i\\in I_N} (y_i-\\hat{y}_i)=0$, entonces podemos considerar a $\\sum_{i\\in I_N}(y_i-\\bar{y})^2$ como algo proporcional a la varianza muestral de las predicciones $\\hat{y}$. En este caso podríamos deducir que $\\lambda$ toma la forma reducida de $\\lambda=2\\sum_{i\\in I_N} (y_i - \\hat{y}_i)(\\hat{y}_i - \\bar{y})$ luego $\\lambda=2\\sum_{i\\in I_N} (y_i - \\hat{y}_i)\\hat{y}_i - 2\\sum_{i\\in I_N} (y_i - \\hat{y}_i)\\bar{y}$, finalmente $\\lambda=2\\sum_{i\\in I_N} (y_i - \\hat{y}_i)\\hat{y}_i$.\nAhora bien $\\bar{\\hat{y}}=\\bar{y}$, es válido para un modelo de regresión lineal y no es valido en general para otros casos. Con lo cual no es válido en general asociar $R^2$ con el cociente de la varianza de $\\hat{y}$ y la varianza de $y$.\nConviene seguir usando la definición original y reescribirla de manera compacta como $$ R^2=1-\\frac{e(y,\\hat{y})}{\\mathtt{Var}(y)} $$ donde $e(y,\\hat{y})=N^{-1}\\cdot\\sum_{i\\in I_N}(y_i-\\hat{y}_i)^{2}$ y $\\mathtt{Var}(y)=N^{-1}\\cdot\\sum_{i\\in I_N}(y_i-\\bar{y})^{2}$, una forma de definir la varianza muestral.\nconclusión #El coeficiente de determinación $R^2$ es una herramienta esencial para evaluar modelos predictivos, pero no es una varita mágica. Al entender su definición, su relación con las sumas de cuadrados y sus limitaciones, podemos usarlo de manera más informada. Ya sea en regresión lineal o en contextos más amplios, combinar $R^2$ con otras métricas y validaciones nos dará una visión más completa del rendimiento de nuestros modelos.\n","date":null,"permalink":"/notes/6.r2/","section":"Notas","summary":"Comentario sobre métricas tipo cociente","title":"Métrica para regresión"},{"content":"","date":null,"permalink":"/tags/metrics/","section":"Tags","summary":"","title":"Metrics"},{"content":"","date":null,"permalink":"/tags/regression/","section":"Tags","summary":"","title":"Regression"},{"content":" ¡Qué te la optimize Magoya! #\u0026hellip; dijo nunca nadie.\nCon M de Magoya #Los problemas de optimización pueden ser enunciados con cierta facilidad, pero su análisis y resolución suelen conducir a una gran cantidad de detalles formales y computacionales. Este artículo pretende comentar algunos puntos sobre la idea de concebir algún sistema físico, $M$, al que preparamos en algún estado inicial, y luego dejamos que recorra su vida en búsqueda del estado óptimo.\nExteriorizamos la responsabilidad de resolver un problema de optimización a algún sistema físico bien educado: si pudiéramos construir sistemas físicos tales que en su evolución temporal resuelvan un problema de optimización, ¿qué forma tendrían ?\nAfinidad local #El principio intuitivo detrás del descenso de gradiente es la búsqueda de un descenso local. Por lo tanto, necesitamos caracterizar el comportamiento local de la función que pretendemos optimizar. Para esto sirven los gradientes.\nEn esta entrada del blog, consideraré minimizar una función $f$ sobre $\\mathbb{R}^N$. Suponiendo que $f$ es diferenciable, una expansión de Taylor de primer orden de $f$ alrededor de un punto $x$ conduce a $$ f(x+y) = f(x) + y\\cdot \\nabla f(x) + O(\\| y\\|), $$ para cualquier norma $\\| \\cdot \\|$ en $\\mathbb{R}^N$, donde $\\nabla f(x) \\in \\mathbb{R}^N$ es el gradiente de $f$ en $x$, compuesto por las derivadas parciales de $f$. Por lo tanto, alrededor de $x$, $f$ es aproximadamente afín.\nDado que tenemos una aproximación afín local alrededor de $x$, podemos buscar la dirección de descenso más pronunciado, es decir, el vector de norma unitaria $u \\in \\mathbb{R}^N$ tal que $u \\cdot \\nabla f(x)$ se minimiza. Esta dirección de descenso más pronunciado depende de la elección de la norma (suponiendo que el gradiente no sea cero en $x$).\nPara la norma $\\ell_2$, minimizar $u \\cdot \\nabla f(x)$ tal que $\\|u\\|_2 = 1$, conduce a $$ u = \\ – \\frac{\\nabla f(x)}{ \\| \\nabla f(x) \\|_2}, $$ es decir, el descenso más pronunciado es a lo largo del gradiente negativo (ver una ilustración a continuación). En esta entrada del blog me centraré solo en esta dirección de descenso más pronunciado.\nMientras que para la norma $\\ell_1$, minimizar $u^\\top \\nabla f(x)$ tal que $\\|u\\|_1 = 1$, conduce a $$ u \\in\\ – \\arg\\max_{ v \\in \\{-e_1,\\, e_1,\\, -e_2,\\, e_2,\\dots,\\, -e_N,\\, e_N \\}} v^\\top \\nabla f(x), $$donde $e_i$ es el $i$-ésimo vector canónico de la base de $\\mathbb{R}^N$. Aquí, el descenso más pronunciado es a lo largo de un eje coordenado (a lo largo del lado positivo o negativo), y esto lleva a varias formas de descenso coordinado.\nDel descenso al flujo #El descenso de gradiente es el algoritmo iterativo más clásico para minimizar funciones diferenciables. Toma la forma $$ x_{n+1} = x_{n} \\, – \\gamma \\nabla f(x_{n}) $$ $n$ etiqueta cada iteración y $\\gamma \u003e 0$ es un tamaño del paso, escencialmente mide la intensidad del cambio en cada iteración.\nEn esta entrada, para simplificar su análisis y preparar el escenario para futuras entradas, presentaré el flujo de gradiente, que es esencialmente el límite del descenso de gradiente cuando el tamaño de paso $\\gamma$ tiende a cero.\nMás precisamente, esto se obtiene considerando que nuestras iteraciones $x_n$ se muestrean en cada múltiplo de $\\gamma$, a partir de una función $X: \\mathbb{R}_+ \\to \\mathbb{R}^N$, como $x_n = X(n\\gamma)$ Podemos entonces usar una interpolación afín a trozos para definir una función definida en todos los puntos. Tenemos entonces para $t = n\\gamma$, $ X(t + \\gamma) = x_{n+1} =x_{n} \\, – \\gamma \\nabla f(x_{n}) = X(t)\\, – \\gamma \\nabla f(X(t))$. Dividiendo por $\\gamma$, obtenemos $$ \\frac{1}{\\gamma} \\big[ X(t + \\gamma) \\, – X(t) \\big] = \\, – \\nabla f(X(t)). $$ Cuando $\\gamma$ tiende a cero (y con supuestos de regularidad adicionales simples), el lado izquierdo tiende a la derivada de $X$ en $t$, y por lo tanto la función $X$ tiende a la solución de la siguiente ecuación diferencial ordinaria $$ \\dot{X}(t) = \\ – \\nabla f (X(t)). $$Estudiar el flujo de gradiente en lugar de las recurrencias del descenso de gradiente tiene pros y contras.\nAnálisis simplificados: El flujo de gradiente no tiene tamaño de paso, por lo que todos los problemas tradicionales molestos relacionados con la elección del tamaño de paso, con búsqueda de línea, constante, decreciente o con un esquema extraño, son innecesarios. Del flujo (continuo) a algoritmos (discretos) reales: Un flujo no puede ejecutarse en una computadora, ya que es un objeto de tiempo continuo. La discretización tradicional es el método de Euler, que reemplaza exactamente el flujo por una interpolación afín a trozos de las iteraciones de descenso de gradiente, donde, como se mostró anteriormente, vemos $x_n$ como $X(n\\gamma)$, siendo $\\gamma$ el incremento de tiempo entre dos muestras. Cuatro observaciones interesantes: No hay transferencia directa de pruebas: Aunque la discretización de Euler siempre proporciona un algoritmo, las pruebas de convergencia genéricas no permiten transferir inmediatamente las pruebas de tiempo continuo a resultados de convergencia para el análisis discreto. Una dificultad clave es establecer el tamaño de paso $\\gamma$. Sin embargo, el análisis a menudo puede ser imitado, es decir, se pueden utilizar funciones de Lyapunov similares. Algoritmos proximales: Ante funciones de gradiente no continuas, la versión hacia adelante de la discretización de Euler $x_{n+1} = x_{n} – \\gamma \\nabla f(x_{n})$ puede ser reemplazada por la versión hacia atrás $x_{n+1} = x_{n} \\, – \\gamma \\nabla f(x_{n+1}),$ que solo es implícita, ya que puede resolverse minimizando $f(x) + \\frac{1}{2\\gamma}\\|x-x_{n}\\|_2^2$, lo que conduce al algoritmo del punto proximal. Los esquemas forward-backward también pueden recuperarse cuando $f$ es la suma de un término suave y otro no suave. Descenso de gradiente estocástico: Hay dos maneras de tratar el descenso de gradiente estocástico, lo que lleva a dos límites continuos muy diferentes. Añadir ruido $\\varepsilon_n$ independiente e idénticamente distribuido (para simplificar) de media cero al gradiente conduce a la recurrencia $x_{n+1} = x_{n} – \\gamma \\big[ \\nabla f(x_{n}) + \\varepsilon_n\\big]$, donde el ruido se multiplica por el tamaño de paso $\\gamma$. Tomar el límite cuando $\\gamma$ tiende a cero conduce a la ecuación determinista del flujo de gradiente. La razón principal y \u0026ldquo;a grandes rasgos\u0026rdquo; es que la contribución del ruido se desvanece porque se multiplica por el tamaño de paso. Convergencia a una difusión de Langevin: Cuando en su lugar se añade ruido con magnitud proporcional a la raíz cuadrada $\\sqrt{2 \\gamma}$ del tamaño de paso (que es asintóticamente mayor que $\\gamma$), cuando $\\gamma$ tiende a cero, y si la covarianza del ruido es la identidad, convergemos a un proceso de difusión que es la solución de una ecuación diferencial estocástica: $dX(t) = \\ – \\nabla f(X(t)) + \\sqrt{2} dB(t),$ donde $B$ es un movimiento browniano estándar. Además, cuando $t$ tiende a infinito, $X(t)$ tiende en distribución a una variable aleatoria con densidad proporcional a $\\exp( – f(x) )$. Propiedades de los flujos de gradiente #El flujo de gradiente $\\dot{X}(t) = \\ – \\nabla f (X(t)) $ está bien definido para una amplia variedad de condiciones sobre la función $f$. Las más clásicas son la continuidad de Lipschitz del gradiente o la semiconvexidad.\nLa propiedad más obvia es que la función disminuye a lo largo del flujo; en otras palabras, $f(X(t))$ es decreciente, lo cual es una consecuencia simple de\n$$ \\frac{d}{dt} f(X(t)) = \\frac{dX(t)}{dt}\\cdot \\nabla f(X(t)) =\\ – \\| \\nabla f (X(t) )\\|_2^2 \\leqslant 0. $$Si $f$ está acotada inferiormente, entonces $f(X(t))$ siempre convergerá, pues se trata como una función no creciente que está acotada. Sin embargo, en general, $X(t)$ puede no converger siempre sin supuestos adicionales, por ejemplo, puede oscilar indefinidamente. Esto es, sin embargo, raro y existen diversas condiciones suficientes para la convergencia de los flujos de gradiente, que se remontan a Lojasiewicz y se basan en las desigualdades homónimas, que establecen que para $y$ y $x$ lo suficientemente cerca,\n$$ |f(x) – f(y)|^{1-\\theta} \\leqslant C \\| \\nabla f(x)\\| $$para algún $C \u003e 0$ y $\\theta \\in (0,1)$. Estas se cumplen para \u0026ldquo;funciones subanalíticas\u0026rdquo;, que incluyen la mayoría de las funciones que uno puede imaginar.\nUna vez que $X(t)$ converge a algún $\"X(\\infty)\"$, suponiendo que $\\nabla f$ es continuo, debemos tener $\"\\nabla f(X(\\infty))=0\"$, es decir, $X(\\infty)$ es un punto estacionario de $f$. Entre todos los puntos estacionarios (que pueden ser mínimos locales, máximos locales o puntos de silla), aquel al que converge $X(t)$ depende de $X(0)$. Típicamente, solo los mínimos locales son estables, es decir, las cuencas de atracción de otros puntos estacionarios tienen típicamente medida de Lebesgue cero.\nAplicaciones a la optimización #Hay, al menos, dos preguntas clave en optimización relacionadas con los flujos de gradiente:\n¿Cuándo podemos tener garantías globales de convergencia? Es decir, ¿podemos asegurarnos de elegir un punto de inicialización lo suficientemente bueno como para obtener el óptimo global sin saber dónde está el óptimo global? Una dificultad clave es que el volumen de la cuenca de atracción del óptimo global puede ser arbitrariamente pequeño, incluso para funciones infinitamente diferenciables (imagine una función igual a cero en todas partes excepto en una pequeña bola donde es negativa). ¿Qué tan rápido podemos llegar allí? \u0026ldquo;Allí\u0026rdquo; puede ser un punto estacionario o un óptimo global. Esta es una pregunta importante, ya que la mera convergencia en el límite puede ser arbitrariamente lenta. Una clase importante de funciones son las funciones convexas, donde todo funciona muy bien. Las estudiaremos a continuación. Otras funciones se estudiarán en futuras entradas.\nFunciones convexas #Ahora asumimos que la función $f$ es convexa y diferenciable. En el aprendizaje automático, esto corresponde a funciones objetivo encontradas para el aprendizaje supervisado que se basan en la minimización del riesgo empírico con una función de predicción parametrizada linealmente, como la regresión logística.\nExisten varias definiciones de convexidad, que se basan en propiedades globales la función está siempre \u0026ldquo;por debajo de sus cuerdas\u0026rdquo;, o está siempre \u0026ldquo;por encima de sus tangentes\u0026rdquo; o propiedades locales (el Hessiano es siempre positivo semidefinido). La que necesitamos aquí es la de estar por encima de sus tangentes, es decir, para cualquier $x, y \\in \\mathbb{R}^N$, $f(x) \\geqslant f(y) + ( x \\, – y)\\cdot\\nabla f(y)$.\nAplicar esto a cualquier punto estacionario $y$ tal que $\\nabla f(y)=0$ muestra que para todo $x$, $f(x) \\geqslant f(y)$, es decir, $y$ es un minimizador global de $f$. Este es el beneficio clásico de la convexidad: no hay necesidad de preocuparse por los mínimos locales.\nOtra propiedad que necesitaremos es la desigualdad de Lojasiewicz, que se cumple en particular cuando $f$ es $\\mu$-fuertemente convexa, es decir, $f – \\frac{\\mu}{2} \\| \\cdot \\|_2^2$ es convexa:\n$$ f(x) \\ – f(x_\\ast) \\leqslant \\frac{1}{2 \\mu} \\| \\nabla f (x)\\|^2, $$ para cualquier minimizador $x_\\ast$ de $f$ y cualquier $x$. Esta propiedad permite pasar de una cota sobre la norma del gradiente a una cota sobre los valores de la función. Entonces obtenemos la tasa de convergencia:\n$$ \\begin{aligned} \\frac{d}{dt} \\big[ f(X(t))\\ – f(x_\\ast) \\big] \u0026= {X}(t)\\cdot \\nabla f(X(t)) \\\\ \u0026= \\ – \\| \\nabla f (X(t) )\\|_2^2 \\\\ \\frac{d}{dt} \\big[ f(X(t))\\ – f(x_\\ast) \\big] \u0026\\leqslant \\ – 2\\mu \\big[ f(X(t)) \\ – f(x_\\ast) \\big] \\end{aligned} $$utilizando la desigualdad de Lojasiewicz anterior, lo que conduce a una integración simple de la derivada de $\\log \\big[ f(X(t)) \\ – f(x_\\ast) \\big]$: $$ f(X(t)) \\ – f(x_\\ast) \\leqslant \\exp( – 2\\mu t ) \\big[ f(X(0))\\ – f(x_\\ast) \\big], $$ es decir, la convergencia es exponencial y el tiempo característico es proporcional a $1/\\mu$.\nEl flujo de gradiente proporciona la idea principal (convergencia exponencial); y aplicando el resultado anterior a $t = \\gamma n$, parece que recuperamos la tasa tradicional proporcional a $\\exp( – \\gamma \\mu n)$. Sin embargo, esto solo es cierto asintóticamente para $\\gamma$ tendiendo a cero, y demostrar un resultado para el descenso de gradiente requiere pasos adicionales para lidiar con tener un tamaño de paso constante. Esto requiere típicamente $\\gamma \\leqslant 1/L$, donde $L$ es la constante de suavidad de $f$, y la prueba más simple utiliza la misma estructura.\nSin convexidad fuerte, tenemos, utilizando la propiedad tangente en $X(t)$ y $x_\\ast$: $$ \\begin{aligned} \\frac{d}{dt}\\big[ \\| X(t)\\ – x_\\ast \\|^2 \\big] \u0026= – 2 ( X(t) – x_\\ast )\\cdot \\nabla f(X(t)) \\\\ \u0026\\leqslant \\ – 2 \\big[ f(X(t)) \\ – f(x_\\ast) \\big], \\end{aligned}$$ lo que conduce, integrando de $0$ a $t$, y utilizando la monotonicidad de $f(X(t))$: $$ \\begin{aligned} f(X(t)) \\ – f(x_\\ast) \u0026\\leqslant \\frac{1}{t} \\int_0^t \\big[ f(X(u)) \\ – f(x_\\ast) \\big] du\\\\ \u0026 \\leqslant \\frac{1}{2t} \\| X(0) \\ – x_\\ast \\|^2 \\ – \\frac{1}{2t} \\| X(t) \\ – x_\\ast \\|^2. \\end{aligned} $$ Recuperamos las tasas habituales de $O(1/n)$, con $t = \\gamma n$, con la misma advertencia que antes (el tamaño de paso debe estar acotado).\nReferencias # Ambrosio, L., Gigli, N. \u0026amp; Savaré, G. Gradient Flows in Metric Spaces and in the Space of Probability Measures. Birkhäuser, 2008. Absil, P.-A., Mahony, R. \u0026amp; Andrews, B. “Convergence of the Iterates of Descent Methods for Analytic Cost Functions.” SIAM Journal on Optimization 16(2), 531–547 (2005). Łojasiewicz, S. “Sur les trajectoires du gradient d’une fonction analytique.” Séminaire G. Choquet, École Polytechnique (1983). ","date":null,"permalink":"/notes/5.gradient-flux/","section":"Notas","summary":"Sobre el proceso de búsqueda de puntos críticos","title":"Flujos y gradientes"},{"content":"","date":null,"permalink":"/tags/gradient-flux/","section":"Tags","summary":"","title":"Gradient Flux"},{"content":"","date":null,"permalink":"/tags/optimization/","section":"Tags","summary":"","title":"Optimization"},{"content":" optimización vía annealing #Veamos cómo resolver problemas de optimización de una función $f$, usando algoritmos de annealing clásico y cuántico. Ambas familias de algoritmos tienen un origen común en basado en la termodinámica.\nannealing clásico #El algoritmo de annealing clásico está motivado por una correspondencia con la física estadística, específicamente en el proceso de recocido de sólidos. El recocido es un proceso en el que un material se calienta a alta temperatura y luego se enfría lentamente. Este enfriamiento gradual permite que los átomos del material se reorganicen en una estructura más estable y de menor energía, lo que mejora sus propiedades. Si bien hay se han desarrollado técnicas similares, Pincus1 , Khachaturyan et.al. 2, Khachaturyan et. al.3. Pero fue en 1983, que este enfoque fue utilizado por Kirkpatrick, Gelatt Jr., Vecchi4 para una solución del problema del viajante de comercio y allí se propuso su nombre actual: simulated annealing.\nannealing cuántico #El algoritmo de quantum annealing y el término \u0026ldquo;recocido cuántico\u0026rdquo; fue propuesto por primera vez en 1988 por B. Apolloni, N. Cesa Bianchi y D. De Falco5$^,$6 como un algoritmo clásico de inspiración cuántica. Fue formulado en su forma actual por T. Kadowaki y H. Nishimori 7 en 1998.\nEn esta presentación de Nishimori (uno de los autores del quantum annealing) en Google link youtube hace un recorrido por el algoritmo de annealing clásico y cuántico.\nNotar que la propuesta del quantum annealing en 1998 fue realizada antes que hubieran máquinas cuánticas en las que implementarlo. La propuesta del algoritmo del quantum annealing no requiere hardware cuántico, sino que puede ser considerado hoy como un algortimo de inspiración cuántica.\nSe ha demostrado teórica y experimentalmente que el quantum annealing puede superar al recocido térmico (recocido simulado) en ciertos casos, especialmente cuando la función objeto consiste en barreras muy altas pero delgadas que rodean mínimos locales poco profundos.\nComencemos por describir la inspiración común a ambos algoritmos.\nProceso de annealing como inspiración metalúrgica #Muchas aleaciones, e.g. acero (hierro-carbono), acumulan tensiones internas, debida a defectos (cualquier perturbación en la periodicidad de la red de un sólido cristalino) dentro de la superficie reticular del material, sobre todo después de un trabajo en frío o bien de un proceso de templado.\nLa composición del material y la distribución de tales defectos determinan las propiedades físicas del material, tales como la conductividad eléctrica, el color, la ductilidad y la dureza, entre otras.\nductilidad posibilidad de un material de deformarse plásticamente de manera sostenible y sin romperse por acción de un esfuerzo externo (op. fragilidad). dureza posibilidad de resistencia a la deformación plástica localizada, tales como la penetración, la abrasión y el rayado (op. suavidad). En un material con defectos, es esperable que exista una temperatura umbral, por encima de la cual se promueve la migración de los componentes de dichos defectos. Posteriormente, si el enfriamiento es lento y controlado, los defectos pueden reorganizarse de manera más homogénea, dando lugar a un aumento la ductilidad además de una disminución de la dureza, junto con una disminución de la energía interna.\nEl proceso que regula este comportamiento se denomina recocido o annealing.\nComo resultado de este proceso térmico sobre el material, queda de manifiesta la estrecha relación entre una redistribución o disminución del número de defectos, el aumento de la ductilidad y la disminución de la energía interna.\nreceta recocido simple # calentar el material a cierta temperatura mantener la temperatura durante cierto tiempo enfriar el material lenta y controladamente Algo similar ocurre con otro tipo de recetas, veamos el siguiente análogo gastronómico para ablandar la milanesa como indica esta señora o este artículo de Crónica. En ambos casos la energía que se agrega al material tiende a disuadir las tensiones las tensiones internas generadas por las fibras.\nmotivación del algoritmo #Veamos una manera de conectar los procedimientos de annealing con el de minimizar una función. Para ello comencemos por describir brevemente el procedimiento matemático para una función $f$. Hemos de adelantar que la cantidad que se minimiza en el proceso de annealing es la energía interna, al igual nuestra función objetivo $f$, i.e. $f \\longleftrightarrow$ energía interna.\n¿qué busca matemáticamente el algoritmo? #Supongamos una superficie dada por una función $f:D\\rightarrow\\mathbb{R}$, queremos encontrar el $(x_*)$ tal que $f(x_*)\\leq f(x)$, $\\forall x\\in D$.\nnota si $D\\in\\mathbb{R}^n$, con $n=2$ tendríamos una superficie.\n¿como representar físicamente el algoritmo? #Veamos que $f$ NO debe asociarse al material físico #Dotemos de propiedades físicas al problema matemático anterior: supongamos que $f$ represente una porción de espacio en el que existe gravedad, podemos probar con tirar una bolita desde algún lugar $x_0$ y esperar que la bolita encuentre \u0026ldquo;por si sola\u0026rdquo; $x_*$. Lo que ocurre es que este procedimiento depende fuertemente de $x_0$, el \u0026ldquo;lugar\u0026rdquo; en el que sea dejada aquella bolita, y de $f$, del perfil de la superficie. Para aumentar las chances de encontrar $x_*$ podríamos repetir el procedimiento anterior cambiando en cada iteración el punto inicial $x_0$.\nConviene no hacer alusión a que $f$ representa una superficie espacial, es decir el paisaje donde tal bolita se mueve, pues para $n\u003e2$ no tendríamos una correspondencia realizable en este mundo. Conviene pensar en $f$ como cierto potencial, de hecho, el proceso de annealing en materiales modifica dos cosas: la energía interna (potencial en este caso) y la estructura interna del maeterial.\nTampoco la idea cruzada de tomar a $f$ como energía interna (o potencial) y que las bolitas estén sometidas mecánicamente a un potencial $f$, el camino de tales objetos estría determinado unívocamente por la forma de dicho potencial $f(x)$. De hecho, el simulated annealing no se explica tirando bolitas por una cuesta sin más, aunque fueren muchas, pues surge la siguiente pregunta: ¿cómo intentar evitar que aquellas bolitas queden atrapadas en mínimos locales?\nEn tal caso, las bolitas podrían ser realizaciones del algoritmo que simule el proceso de annealing, pero serían abstracciones de aquel pues no hay nada físico que busque el mínimo en el proceso metalúrgico, no es cierto que todas o la mayoría de las impurezas se localicen espacialmente en $x_*$. Si bien las impurezas se pueden desplazar espacialmente por el material permitiendo que la energía disminuya, el número de impurezas no es igual al número bolitas, i.e. realizaciones del algoritmo.\nDe hecho si $f$ representara el material per se, tampoco funcionaría la analogía con el proceso de annealing, pues la forma del material debe cambiar en durante el descenso de la temperatura, ya no se estaría optimizando una función fija o inmutable $f$ sino algo móvil o mutable.\nEn tal caso que bolitas abstractas recorran el material durante el proceso de annealing, ahora con mayor facilidad para encontrar el mínimo, sí que es razonable como argumento asociativo. Pues el proceso de annealing modifica la estructura interna del material cambiando la granularidad de fina a gruesa. Pensando en bolitas abstractas que permean el material con mayor facilidad, ahora en una estructura de granularidad superior, se asocian con estructuras cuya energía interna será menor.\nAlgoritmo simulated annealing #(debería adjetivarse hoy como classical annealing)\nDenotemos por $x' \\succ x$ a la relación de orden entre $x'$ y $x$, que adjetiva a $x'$ como mejor que $x$. Usemos esta relación para denotar\n$x' \\succ x \\Longleftrightarrow x'$ es sucesor de $x$,\nque conlleva la siguiente acción:\n$x' \\succ x \\longleftrightarrow$ (aceptar $x'$, descartar $x$)\nnota hemos optado por cambiar el término vecino al de sucesor, pues el primer termino refiere o pretende una cercanía entre $(x,x')$, esto no necesariamente ocurre así.\nDado que se trata de un algoritmo probabilístico que comienza con un $x$ aleatorio y luego sortea un posible sucesor, $x'$, para evaluar si hay alguna mejora entre $x'$ y $x$, podemos preguntarnos por la probabilidad $P(x'\\succ x)$.\npropuetas de pseudocódigo simulated annealing #$\\mathtt{objetivo}$ minimizar $f(x)$\n$x \\leftarrow x_0$ #elección del valor inicial for $k=1,\\cdots , K$: $T\\leftarrow T_k$ #secuencia de \u0026ldquo;enfriamiento\u0026rdquo; $x' \\leftarrow \\mathtt{neighbour}(x)$ #sorteo un posible sucesor de $x$ if $f(x')- f(x)\u003c 0$: then $x \\leftarrow x'$ #se acepta a $x'$, pues disminuye la función de costo else case $\\pmb{[}\\mathtt{rand}(0, 1)\\leq P(f(x'), f(x), T)\\pmb{]}$:\nthen $x \\leftarrow x'$ #se acepta a $x'$, a pesar de que sea peor que $x$\ncase $\\pmb{[}\\mathtt{rand}(0, 1)\u003e P(f(x'), f(x), T)\\pmb{]}$:\nthen $x \\leftarrow x$ # no se acepta a $x'$\nreturn $x$\ndado que el caso en que $\\mathtt{rand}(0, 1)\u003e P(f(x'), f(x), T)$, no actualiza el valor de $x$, podemos omitir toda esa parte y simplificar el pseudocódigo así:\n$x \\leftarrow x_0$ #elección del valor inicial for $k=1,\\cdots , K$: $T\\leftarrow T_k$ #secuencia de \u0026ldquo;enfriamiento\u0026rdquo; $x' \\leftarrow \\mathtt{neighbour}(x)$ #sorteo un posible sucesor de $x$ if $f(x')- f(x)\u003c 0$: then $x \\leftarrow x'$ #se acepta a $x'$, pues disminuye la función de costo else $\\mathtt{rand}(0, 1)\\leq P(f(x), f(x'), T)$: then $x \\leftarrow x'$ #se acepta a $x'$, a pesar de que sea peor que $x$ return $x$\nnota si lo que se minimiza es $f$ que es la energía interna, entonces aquellas bolitas abstractas recorren el perfil energético del material, es decir, las locaciones de tales bolitas serán las del valor inicial $x_0$ y las de los sucesores sorteados durante su ejecución.\njustificación formal #Dado que esta probabilidad depende del orden entre $f(x')\\gtreqless f(x)$, denotando de manera compacta a $\\Delta_{x'x}f:=f(x')-f(x)$ podemos expresar\n$$ P(x'\\succ x)= P(x'\\succ x|\\Delta_{x'x}f\u003c0 , T)P(\\Delta_{x'x}f\u003c0, T)+P(x'\\succ x|\\Delta_{x'x}f\\geq0, T)P(\\Delta_{x'x}f\\geq 0, T). $$De manera que el algoritmo presenta una bifurcación según si $f(x')-f(x)\u003c0$ o si $f(x')-f(x)\\geq 0$, en cuyo caso la probabilidad de aceptar a ese $x'$ como sucesor del antiguo $x$ vendrá dada por la probabilidad condicional $P(x'\\succ x|\\Delta_{x'x}f\\gtreqless 0\\,, T)$, osea la probabilidad de aceptar $x'$ frente a $x$ dado $\\Delta_{x'x}f\\gtreqless 0\\,; T$, notemos que para el caso en que $\\Delta_{x'x}f\u003c0$ $x'$ se acepta siempre como sucesor de $x$, osea $P(x'\\succ x)=1$, $\\forall T$.\nPodemos compactar aún más el pseudocódigo sin denotar explícitamente la bifurcación de aceptar siempre a $x'$ como sucesor de $x$ cuando $\\Delta_{x'x}f\u003c0$ y de aceptar con cierta probabilidad probabilidad cuando $\\Delta_{x'x}\\geq 0$, directamente como:\npseudocódigo compacto del simualted annealing #En la propuesta anterior de pseudocódigo, faltó hacer alusión a que en cada temperatura $T_k$ deben realizarse varias rondas de búsqueda de posibles sucesores y decidir si se aceptan como sucesores o no. El lapso de tiempo que hay que esperar en cada temperatura para realizar está búsqueda viene dado por $L(T_k)$\n$x\\leftarrow x_0$ #elección del valor inicial for $k=1,\\cdots , K$: $T\\leftarrow T_k$ #secuencia de \u0026ldquo;enfriamiento\u0026rdquo; $x' \\leftarrow \\mathtt{neighbour}(x)$ #sorteo un posible sucesor de $x$ else $\\mathtt{rand}(0, 1)\\leq P(f(x'), f(x), T)$: then $x \\leftarrow x'$ #se acepta a $x'$, a pesar de que pueda ser peor que $x$ return $x$\nen este caso $P(f(x'), f(x), T)$ denota ahora la probabilidad de aceptar $x'$ como sucesor de $x$, dada la función particular $f$ y la temperatura $T$.\nnotar que el caso en que $\\Delta_{x'x}f\u003c0$ si se acepta siempre $x'$ la línea será irrelevante\nelse $\\mathtt{rand}(0, 1)\\leq P(f(x'), f(x), T)$\npues $P(f(x'), f(x), T)=1$\nresumen: # $\\Delta_{x'x}f\u003c 0$: $P(x'\\succ x)=1$ es aceptado como sucesor $\\Delta_{x'x}f\\geq 0$: $P(x'\\succ x)=e^{-\\Delta_{x'x}f /T}$ (Bolztman distribution) puede ser aceptado como sucesor. Para terminar de definir si será o no aceptado, lo que se hace es sortear un número $p\\in[0,1]$ y si $p\\leq e^{-\\Delta_{x'x}f /T}$ se acepta $x'$ como sucesor $p\u003ee^{-\\Delta_{x'x}f /T}$ no se acepta $x'$ como sucesor ¿por qué usar distribución de Boltzmann? #Puede motivarse por ser la distribución por excelencia en mecánica estadística en el contexto de los sistemas en equilibrio termodinámico. Esto va de la mano con que en el proceso de annealing el enfriamiento es lento y puede tener lugar utilizar tal distribución. Pero para el algoritmo de annealing podría utilizarse otra, en principio parece no haber un argumento que obligue a usarla aquella distribución.\nVeamos lo que implica adoptar dicha distribución en el algoritmo de annealing. Se tienen las siguientes propiedades si $\\Delta_{x'x} f\\geq 0$\nla probabilidad de aceptar un cambio es mayor cuanto mayor sea $T$ y menor a medida que $T$ desciende. Esto permite que las bolitas sorteadas \u0026ldquo;exploren\u0026rdquo; inicialmente el espacio de posibles soluciones y luego se \u0026ldquo;estabilicen\u0026rdquo; en lo mejor que encuentren.\nla probabilidad de aceptar un cambio es no nula esto es algo interesante pues permite al algoritmo que aquellas bolitas abstractas escapen de mínimos locales.\nla duración del algoritmo está regulada por la temperatura, cuando se llegue a $T_{K}$, que es nula, el \u0026ldquo;tiempo se acabó\u0026rdquo; pues no hay movimientos en el cero absoluto, de hecho la distribución de Boltzmann en el límite $T\\to 0$ es $0$, como suele ocurrir en los sistemas termodinámicos clásicos.\nPodríamos considerar que $\\Delta_{x'x}f$ es aleatoria, pues el algoritmo comienza con un $x_0$ arbitrario, los sucesores son aleatorios y por ende no se tiene información sobre las diferencias de la función $f$. Si pretendemos que este algoritmo se aplique a una enorme cantidad de funciones $f$ no debemos hacer afirmaciones particulares a priori acerca de tales diferencias.\nVeamos qué otras afirmaciones generales conducen a modelar a $\\Delta_{x'x}f$, para el caso en que es no negativa, como una variable aleatoria $Z$ tipo Boltzman, sin recurrir a analogías con la física de materiales, sino considerando tomando argumentos de la teoría de la información.\nUn baño de humildad #Santa Teresa de Jesús escribió que «la humildad es andar en verdad», mucho antes escribió Platon8 «Pues yo era consciente de que no sabía prácticamente nada». De estas afirmaciones podríamos concluir que una afirmación verdadera sería que no sabríamos que distribución de probabilidades asignar a priori a $Z$.\nPrecisamente en el contexto de la teoría de la información, si no se sabe más que ciertas características sobre la distribución de $Z$ entonces deberíamos asumir máxima ignorancia, i.e. usar la distribución con la mayor entropía de Shannon posible, pues será la menos informativa acerca de $Z$.\nDesde el punto de vista de la teoría de la información dicha distribución se obtiene como consecuencia de maximizar nuestra ignorancia acerca de $Z$.\nSi $Z$ fuera una variable aleatoria discreta sobre cierto conjunto $\\mathscr{D}=\\{z_i\\}_{i\\in I}$, entonces la entropía de Shannon viene dada por $S(Z)=-\\sum_{i\\in I} p_i\\mathtt{log}(p_i),$ donde $\\mathtt{log}$ representa el logaritmo sin especificar la base (si $S$ se mide en bits la base será $2$ y si $S$ se mide en nats la base será $e$) y $p_i=P(Z=z_i)$.\nEn nuestro caso $Z$ representará las diferencias $\\Delta_{x'x}f$ de una función general $f$, convendrá estudiar el caso en que $Z$ sea una variable aleatoria continua definida sobre cierto conjunto $\\mathscr{D}$. En tal caso, será la entropía diferencial de Shannon será la que cuantifique nuestra ignorancia \\[ S(Z)=-\\int_{\\mathscr{D}}f_Z(z)\\mathtt{log}\\pmb{(}f_Z(z)\\pmb{)}dz. \\] nota que $S(Z)$ sea una medida acerca de nuestra ignorancia sobre $Z$ puede argumentarse como sigue. La dispersión de $Z$ está ligada a $S(Z)$, por ejemplo: si $Z\\sim N(\\mu, \\sigma)$ luego $S(Z)=\\mathtt{log}(\\sqrt{2\\pi e}\\,\\sigma)$ es una función monótona creciente de $\\sigma$, i.e. la dispersión de $Z$.\nla dispersión de $Z$ crece (decrece) $\\longleftrightarrow$ la entropía $S(Z)$ en general crece (decrece)\nEn resumen, la motivación para partir de maximizar la entropía puede provenir de estas dos fuentes\n1. teoría de la información: maximizar la entropía diferencial minimiza la cantidad de información previa incorporada 2. física: muchos sistemas físicos tienden a moverse hacia configuraciones de máxima entropía termodinámica con el tiempo Exponencialidad #Si existe tal adjetivo acerca de la función densidad $f_Z$. Sobre esto hay una respuesta desde la entropía, pues aquella la variable aleatoria $Z$ tal que su función densidad $f_Z(z)$ maximiza la entropía diferencial $S$, sujeta a la restricción de tener su valor esperado $E[Z]$ positivo y acotado superiormente.\nDefinamos el problema de optimización entrópico, se trata de incluir la restricción de desigualdad $E(Z)-a\\leq 0$, a la funcional $S(Z)$, se pueden usar las condiciones KKT que generaliza las ideas de multiplicadores de Lagrange y corresponde a encontrar la $f_Z(z)$ del funcional $\\mathscr{F}=S-\\mu_0F_0-\\mu_1F_1$, donde $F_0$ regula la condición de normalización de $f_Z$ y $F_1$ regula la condición de valor esperado de $Z$ acotado, además $\\mu_0,\\mu_1 \u003e 0$ \\begin{equation} \\begin{aligned} \\mathscr{F}[f_Z]=\u0026amp;-\\int_{0}^{\\infty}f_Z(z)\\mathtt{log}\\pmb{(}f_Z(z)\\pmb{)}dz\\ \u0026amp;-\\mu_0\\Big[\\int_{0}^{\\infty} f_Z(z)dz - 1\\Big]-\\mu_1\\Big[\\int_{0}^{\\infty}z f_Z(z)dz - a\\Big]\\ \\mathscr{F}[f_Z]=\u0026amp;\\int_{0}^{\\infty} L(f_Z,z)+\\mu_0+a\\mu_1 \\end{aligned} \\end{equation} donde $L(f_Z,z)=-f_Z\\mathtt{log}(f_Z)-\\mu_0 f_Z-\\mu_1 z f_Z$, las ecuaciones de Euler-Lagrange son $\\partial_{f_Z}L=0$, luego $f_Z(z)=e^{-\\mu_1 z}/e^{\\mu_0+1}$, con la condición de normalización $\\int_{0}^\\infty f_Z(z))=1$, luego $1/e^{\\mu_0+1}=\\mu_1$ y finalmente $f_Z(z)=\\mu_1e^{-\\mu_1z}$, osea que $Z\\sim \\mathtt{exp}(\\mu_1)$.\nAmnesia #No estamos hablando de la persona sino de su medida de probabilidad.\n$\\textbf{def.}$ Definimos a $Z$ como una variable aleatoria amnésica si y solo si $P[Z\u003et+s|Z\u003es]=P[Z\u003et]$.\nEsta propiedad se interpreta como que la información de los eventos que cumplen con $Z\u003es$, $Z$ supera a $s$, condiciona de tal forma a $Z\u003et+s$, que es idéntico a superar $Z\u003et$, como si no importara la información que aporta $Z\u003es$.\nDicho de otra forma aunque $s$ y $t$ no representen tiempos, podemos interpretarla la propiedad indica que, dado que la variable $Z$ ya ha alcanzado un cierto nivel como $Z \u003e s$, la probabilidad de que supere un valor adicional $Z \u003e s + t$ es la misma que la probabilidad de superar ese valor adicional desde el \u0026ldquo;comienzo\u0026rdquo; $P(Z\u003et)$. Esto sugiere que los eventos $Z\u003es$ no afectan la probabilidad \u0026ldquo;futura\u0026rdquo;, por lo que no hay efecto de historia acumulada. En otras palabras, el valor futuro de la variable no depende de cómo haya evolucionado hasta ahora, sino que es siempre como \u0026ldquo;empezar de nuevo\u0026rdquo;.\nDada la función complementaria a la distribución acumulada, denotada por $G(z)=P[Z\u003ez]$, podemos escribir\n\\begin{equation} \\begin{aligned} P[Z\u0026gt;t+s|Z\u0026gt;s]\u0026amp;=\\frac{P[Z\u0026gt;t+s \\bigcap Z\u0026gt;s]}{P[Z\u0026gt;s]}\\ \u0026amp;=\\frac{P[Z\u0026gt;t+s]}{P[Z\u0026gt;s]}\\ P[Z\u0026gt;t+s|Z\u0026gt;s]\u0026amp;=\\frac{G(t+s)}{G(s)} \\end{aligned} \\end{equation} pues si se cumple $Z\u003et+s$ corresponde a eventos contenidos en un conjunto incluido en el que corresponde a $Z\u003es$, de manera que si $Z$ es amnésica si y solo si $G(t+s)=G(t)G(s)$, $\\forall s,t$. Veamos que si $s=0$ : $G(t)=G(t)G(0)$, luego $G(t)[1-G(0)]=0$ entonces o bien $G(t)$ es idénticamente nula o bien $G(0)=1$. La primera opción queda descartada por trivial, por pretender ser $G(t)=P[Z\u003et]$. Además de la condición para $G$, se cumple que $G\\geq 0$, pues $G(t/2+t/2)=G(t/2)G(t/2)$ luego $G(t)=G^2(t/2)\\geq 0$.\nEntonces buscamos $G$, tal que $G(t+s)=G(t)G(s)$, $\\forall s,t$ con $G(0)=1$. Si $G$ es diferenciable y usando la condición para $G$ entonces $\\frac{dG(z)}{dz}|_{z=t+s}=G(t)\\frac{dG(z)}{dz}|_{z=s}$, luego evaluando en $s=0$ se tiene $G'(t)=G'(0)G(t)$, luego $G(t)=e^{G'(0)t}$, como $\\lim_{t\\to+\\infty}P[Z\\leq t]=1$ luego $\\lim_{t\\to+\\infty}P[Z\u003e1]=0$, entonces debe ocurrir que $G'(0)\u003c0$, con lo cual podemos escribir $G(z)=e^{-\\lambda z}$, con cierto $\\lambda\u003e0$.\nnotar que $P[Z\\leq t+s|Z\\leq s]=1$\nUnificación #Suponiendo que $Z$ tiene valor esperado acotado superiorimente, y utilizando el principio de máxima ignorancia hemos conectado las ideas de exponencialidad y Hemos conectado las ideas de exponencialidad y amnesia.\nPodemos unificar\nOtra forma de resolver de manera unificada la distribución que hemos usado en el simulated annealing y que permitía la bifurcación según $\\Delta_{x'x}f\\gtreqless 0$, podría consistir en buscar la distribución que maximice nuestra ignorancia, pero permitiendo que $Z$ será una variable aleatoria continua ahora extendida sobre todo $\\mathbb{R}$.\nPodemos usar la función complementaria a la distribución acumulada $F^*(z)=\\operatorname {P} [Z\\leq z]$, definida como $G^*(z):=\\operatorname {P} [Z\u003ez]$ luego $G^*(z)=1-F^*(z)$ y $z$ extendida a todo $\\mathbb{R}$.\nSi $Z\\sim \\mathtt{exp}(\\lambda)$, con $\\lambda\u003e0$, entonces la función densidad de $Z$, $f_Z(z)=\\lambda e^{-\\lambda z}$ luego $F(z)=\\int_0^z f_Z(w) dw$ finalmente $F(z)=1- e^{-\\lambda z}$, de hecho podría extenderse a todo $z\\in \\mathbb{R}$, a partir de $f^*_Z(z)=0$ $\\forall z\u003c0$ y $f^*_Z(z)=f_Z(z)$ $\\forall z \\geq 0$, de manera que su función de distribución \\[F^*(z)=\\left\\{{\\begin{matrix}0 \u0026z\u003c0\\\\1-e^{-\\lambda z}\u0026z\\geq 0\\end{matrix}}\\right.\\] finalmente \\[G^*(z)=\\left\\{{\\begin{matrix}1\u0026z\u003c0\\\\e^{-\\lambda z}\u0026z\\geq 0\\end{matrix}}\\right. \\]De esta forma $P[Z\u003ez]$ corresponde a las probabilidades de aceptación de $x'\\succ x$ con $z=\\Delta_{x'x}f$, $\\lambda = 1/T$.\nDe nuevo, esta función densidad extendida $f^*_Z(z)$ podría derivarse desde el punto de vista de la teoría de la información, como aquella que maximiza nuestra ignorancia, i.e. la entropía diferencial, ahora extendida para $z\\in \\mathbb{R}$ y sujeta a la restricción de tener su valor esperado acotado superiormente $E[Z]$.\nfalta describir cómo se realizan estos son estos 3 pasos # $x = x_0$ #elección del valor inicial $T\\leftarrow T_k$ #secuencia de \u0026ldquo;enfriamiento\u0026rdquo;, temperaturas inicial $T_1$ y final $T_{K}$ y los saltos $T_k\\mapsto T_{k+1}$ $x' \\leftarrow \\mathtt{neighbour}(x)$ #sorteo un posible sucesor de $x$ 1. elección del valor incial #en la primera ronda usar sorteo para $x_0$ en las siguientes rondas usar el $x$ obtenido de la ronda anterior\n2. secuencia de enfriamiento #Temperatura inicial $T_0$ #Dado que la distribución para $Z\\sim \\mathtt{exp}(1/T)$ esto es el exponente de la probabilidad de aceptación es adimensional $e^{-\\Delta_{x'x}f/T}$ entonces las unidades de $T$ son las unidades de $z$ osea de $f(x)$, entonces conviene sortar un $x_0$ y considerar $T_0=\\gamma f(x_0)$, el factor $\\gamma$ suele tomarse como $0.4$.\nTemperatura final $T_K$ #idealmente conviene que $T_K=0$\nsi el descenso es de tipo lineal es viable proponer que $T_K=0$ si el descenso es de tipo geométrico o exponencial no es viable proponer que $T_K=0$, nunca alcanzará ese valor, en cuyo caso conviene tomar $T_K\\leq 0.01$ otros criterios de parada puede que no sea por alcanzar cierta temperatura, sino un número de posibles sucesores aceptados en cada temperatura, etc.\nactualización de la temperatura $T_k\\rightarrow T_{k+1}$ #lineal #buscamos una relación de $T_k$ con $k$ como $T_k=a+b\\cdot k$, esto permite obtener la actualización de la temperatura $T_k\\rightarrow T_{k+1}=T_k+b$.\nbusquemos ahora la recta que pasa por los puntos $(0,T_0)$ y $(K,T_K)$, $T_k=T_0+k\\cdot (T_K-T_0)/K$ permite encontrar cómo se actualiza la temperatura entre cada paso $T_k\\rightarrow T_{k+1}= T_k+(T_K-T_0)/K$ en particular podemos exigir que $T_K=0$, con lo cual \\begin{equation} \\begin{aligned} T_k\u0026amp;=(1-k/K) T_0\\ T_{k+1}\u0026amp;= T_k-T_0/K \\end{aligned} \\end{equation}\ngeométrico o exponencial #la temperatura se actualice de forma geométrica o exponencial discreta \\begin{equation} \\begin{aligned} T_{k}\u0026amp;=\\alpha^k ,T_0\\ T_{k+1}\u0026amp;=\\alpha, T_k \\end{aligned} \\end{equation} donde $\\alpha\\in(0,1)$ garantiza un descenso de la temperatura. Notar que $T_K=\\alpha^KT_0$, no alcanzará el valor $0$, pues $\\alpha^{K}$ no se anula para ningún $K$ finito.\nUn argumento físico se podría inspirar en que el material se deja enfriar al aire libre y es bien conocida la ley de enfriamiento de un cuerpo de Newton (\u0026ldquo;Scala graduum Caloris\u0026rdquo; 1701).\nUn argumento algorítmico para usar enfriamiento de tipo exponencial es lo suficientemente rápido para terminar cuanto antes el algoritmo.\nUn argumento de regalo, notemos que aun en el caso que $T_{k+1}=\\alpha T_k$, la entropía diferencial cambia lentamente $\\delta S\\simeq 0$ pues $S_{k+1}=S_k+\\mathtt{log}(\\alpha)$, luego la variación entre pasos $S_{k+1}-S_{k}=\\mathtt{log}(\\alpha)$ es pequeña, ya que en general suele considerarse que $\\alpha$ suele estar muy muy cerca de $1$. Esto descansa en que $Z$ tiene por función densidad a $f^*_Z(z)$, con $\\lambda = 1/T$, luego $S(Z)= \\mathtt{log} (T)+1$.\n3. sorteo de sucesores #Recordemos que la distribución de Bolztmann se usa como mecanismo probabilístico de aceptación de sucesores, pero queda abierta la forma de buscar sucesores.\nEsta parte del algoritmo es la que pueda depender de la función objeto $f$, en particular del tipo de variable de $f$.\nsi $x\\in \\{0,1\\}^n$, entonces $x'$ podría obtenerse haciendo un un bit-flip de un bit al azar de $x$, es decir sortear un $1$ para alguna de las posiciones de $1$ a $n$, definir el vector $k=(0,\\cdots,1,\\cdots,0)$ y tomar $x'=x\\oplus k$, de manera similar se puede hacer si $x\\in\\{-1,1\\}^n$ nota si pretendemos resolver un problema en variable binaria $x\\in\\{0,1\\}^n$ como excusa para resolver un problema en variable real $y\\in\\mathbb{R}^n$, podeos usar la codificación tal que cada $y_i$ se represente como una combinación de potencias de de $2$ multiplicados por una variable binaria $\\{0,1\\}$, hay que tener en cuenta aquí que hacer bit-flip en un bit arbitrario no es igual que tener en cuenta la jerarquía de tales bits, i.e. hay bits más representativos que otros. Podríamos pensar en hacer transiciones más (menos) violentas al principio (final), cuando la temperatura es alta (baja). Tener en cuenta que si se usa una codificación tipo complemento a1 o a2 el primer bit representa el signo con lo cual se puede pasar de $y$ a $-y$ con solo un bitflip.\nnota ¿puede incorporarse alguna información sobre el perfil de $f(x)$? de manera que los sucesores no sean hijos solo del azar, sino que recolectando una suerte de muestreo de $f(x)$ pueda guiar la búsqueda por sorteo de sucesores.\ndiccionario: proceso de annealing $\\longleftrightarrow$ algoritmo de annealing # $\\textbf{proceso de annealing}$ $\\textbf{algoritmo de annealing}$ energía función objeto configuración potencial solución temperatura parámetro de aceptación enfriamiento rápido-lento búsqueda local-global conclusiones de un coach #El algoritmo de simulated annealing nos deja un aforismos al estilo del coaching ontológico:\n\u0026ldquo;para mejorar debes que aceptar tus derrotas\u0026rdquo; \u0026ldquo;debes salir de la zona de confort\u0026rdquo; \u0026ldquo;para avanzar hay que aprender a soltar\u0026rdquo; \u0026ldquo;de los errores nacen los grandes logros\u0026rdquo;\nAlgoritmo quantum annealing #Dado el título entendemos que el nombre de este algoritmo debe estar ligado al proceso de annealing o al algoritmo de simulated annealing (que deberíamos llamar ahora clássical annealing).\nEn ambos casos estamos construyendo una máquina termodinámica abstracta que en su evolución temporal lenta nos revela $x_*$. En ambos casos clásico y cuántico, los cambios de la energía interna deben ser lentos de manera que las variaciones de entropía sean mínimos, no se intercambie calor: $\\delta U \\simeq \\delta W$, de nuevo $\\delta S\\simeq 0$.\nEn el trabajo de Kadowaki, T.; Nishimori, H. (1998). \u0026ldquo;Quantum annealing in the transverse Ising model\u0026rdquo;, no se hace referencia explícita al teorema adiabático de Born y Fock de 1928. De hecho, la primer máquina que implementó el quantum annealing fue contruirda y comercializada por D-Wave Systems en 2011.\nEl adjetivo de quantum en este algoritmo de Kadowaki, T.; Nishimori, H. (1998) viene a colación de que las fluctuaciones clásicas a la Boltzman $e^{-\\Delta_{x'x}f/T}$, son reemplazadas por fluctuaciones cuánticas inspiradas en el efecto túnel cuántico, $e^{-w\\sqrt{\\Delta_{x'x}f}/\\Gamma}$, donde $w$ es el ancho de la barrera y $\\Gamma$ es el transverse field, que puede al igual que la temperatura ir cambiando con el tiempo. Es decir depende de la raíz cuadrada de la altura de la barrera y del ancho de la barrera.\nEn Kadowaki, T.; Nishimori, H. (1998), se demuestra que el quantum annealing converge más rápido que el simulated annealing para el problema tipo Ising.\nquantum annealing through adiabatic quantum computing #Hemos visto que temperatura y tiempo están ligados en el proceso de annealing, pues la temperatura está regulado por el ritmo de descenso de la temperatura, que debe ser lento. Evoluciones lentas en termodinámica refieren a procesos de leves cambios en la entropía, es decir a procesos adiabáticos.\nEn física cuántica hay un resultado importante debido a Max Born y Vladimir Fock (1928), en el tercer párrafo de \u0026ldquo;Beweis des Adiabatensatzes\u0026rdquo;. Zeitschrift für Physik A, 51 (3–4), 165–180:\n(\u0026hellip;) el teorema adiabático establece que si un sistema se encuentra inicialmente en un estado con un número cuántico específico y se somete a una transformación adiabática (infinitamente lenta), la probabilidad de transición a un estado con un número cuántico diferente es infinitamente pequeña.\nEsto es el estado del sistema puede ser en el un estado propio instantáneo si una perturbación dada actúa sobre él con la suficiente lentitud y si existe una brecha entre el valor propio y el resto del espectro del hamiltoniano.\nBasado en el teorema adiabático, aquí está la relación entre descenso lento de la temperatura asociado con la evolución lenta del tiempo en el proceso adiabático\u0026hellip;\nA Monte-Carlo Method for the Approximate Solution of Certain Types of Constrained Optimization Problems\u0026quot;. Journal of the Operations Research Society of America. 18 (6): 967–1235 (1970).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nKhachaturyan, A.: Semenovskaya, S.: Vainshtein B., Armen. \u0026ldquo;Statistical-Thermodynamic Approach to Determination of Structure Amplitude Phases\u0026rdquo;. Soviet Physics Crystallography. 24 (5): 519–524 (1970).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nKhachaturyan, A.; Semenovskaya, S.; Vainshtein, B. \u0026ldquo;The Thermodynamic Approach to the Structure Analysis of Crystals\u0026rdquo;. Acta Crystallographica. A37 (5): 742–754 (1981).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nKirkpatrick, S.; Gelatt Jr, C. D.; Vecchi, M. P. \u0026ldquo;Optimization by Simulated Annealing\u0026rdquo;. Science. 220 (4598): 671–680 (1983).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nApolloni, Bruno; Cesa-Bianchi, Nicolo; De Falco, Diego. \u0026ldquo;A numerical implementation of quantum annealing\u0026rdquo;. Stochastic Processes, Physics and Geometry, Proceedings of the Ascona-Locarno Conference.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nApolloni, Bruno; Carvalho, Maria C.; De Falco, Diego (1989). \u0026ldquo;Quantum stochastic optimization\u0026rdquo;. Stoc. Proc. Appl. 33 (2): 233–244.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nKadowaki, T.; Nishimori, H. (1998). \u0026ldquo;Quantum annealing in the transverse Ising model\u0026rdquo;. Phys. Rev. E. 58 (5): 5355.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nFowler, H.N., et al.; ``Plato, in Twelve Volumes\u0026rsquo;\u0026rsquo;. Cambridge, Mass.: London: Harvard University Press; W. Heinemann, (1967).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":null,"permalink":"/notes/4.annealing/","section":"Notas","summary":"Cuando la naturaleza inspira algoritmos de optimización","title":"Algoritmos de annealing"},{"content":" Sobre el producto interno, a lo bruto #El producto interno o escalar entre vectores $x$ e $y$, también conocido como producto punto o producto interno, denotado por $x\\cdot y$, es una operación fundamental en machine learning, especialmente en tareas que involucran modelos de lenguaje de gran escala (LLM) y el uso de embeddings vectoriales. Los embeddings, que representan palabras, frases o incluso conceptos completos como vectores en espacios de alta dimensionalidad, permiten medir similitudes semánticas a través del producto punto, base para tareas como búsqueda de información, generación de texto y análisis de contexto. En aplicaciones modernas, los sistemas deben calcular millones de productos punto en tiempo real, por ejemplo, para comparar embeddings generados por LLMs con grandes bases de datos, lo que destaca la necesidad de métodos cada vez más eficientes y escalables.\nDados dos vectores $x,y\\in\\mathbb{R}^N$, también conocido como producto punto o producto interno: $x\\cdot y=\\sum_{i=1}^Nx_iy_i$. El producto interno (calculado a lo) bruto, es decir, de forma clásica requiere realizar $N$ multiplicaciones y $N-1$ sumas, suponiendo que la multiplicación y la suma son operaciones de tiempo constante, la complejidad temporal es por lo tanto $O(N)$.\nEnunciado # Demostraremos que el cálculo de \\(\\langle \\phi | \\varphi \\rangle\\) en un sistema cuántico puede realizarse en \\(O(\\log N)\\) requiere formalizar el procedimiento bajo los supuestos adecuados. 1. Codificación de los vectores en estados cuánticos #Especifiquemos las componentes de cada uno de los dos vectores \\(x = (x_1, \\dots, x_N)\\), \\(y= (y_1,\\dots, y_N)\\). Estos se codifican como estados cuánticos: \\[ |\\phi\\rangle = \\frac{1}{\\|x\\|} \\sum_{i=1}^N x_i |i\\rangle, \\quad |\\varphi\\rangle = \\frac{1}{\\|y\\|} \\sum_{i=1}^N y_i |i\\rangle \\] El producto interno a la quantum viene dado por: \\[ \\langle \\phi | \\varphi \\rangle = \\frac{\\sum_{i=1}^N x_i y_i}{\\|x\\| \\|y\\|} \\]2. Operación cuántica para calcular \\(\\langle \\phi|\\varphi\\rangle\\) #La computación cuántica permite estimar \\(\\langle \\phi | \\varphi \\rangle\\) mediante interferencia cuántica. El procedimiento básico es el siguiente:\na. Construcción del estado combinado #Se prepara un estado auxiliar que combina \\(|\\phi\\rangle\\) y \\(|\\varphi\\rangle\\): \\[ |\\Psi\\rangle = \\frac{1}{\\sqrt{2}} \\left( |\\phi\\rangle|0\\rangle + |\\varphi\\rangle|1\\rangle \\right) \\] Esto requiere un circuito que condicione la preparación de \\(|\\phi\\rangle\\) o \\(|\\varphi\\rangle\\) en el valor del qubit auxiliar.\nb. Aplicación de la puerta Hadamard #Aplicamos una puerta Hadamard \\(H\\) al qubit auxiliar: \\[ H|0\\rangle = \\frac{1}{\\sqrt{2}} (|0\\rangle + |1\\rangle), \\quad H|1\\rangle = \\frac{1}{\\sqrt{2}} (|0\\rangle - |1\\rangle) \\] El nuevo estado se convierte en: \\[ |\\Psi'\\rangle = \\frac{1}{2} \\Big( (|\\phi\\rangle + |\\varphi\\rangle)|0\\rangle + (|\\phi\\rangle - |\\varphi\\rangle)|1\\rangle \\Big) \\]c. Medición del qubit auxiliar #La probabilidad de medir \\(0\\) en el qubit auxiliar está relacionada directamente con \\(\\langle \\phi | \\varphi \\rangle\\): \\[ P(0) = \\frac{1}{2} \\left( 1 + \\text{Re}(\\langle \\phi | \\varphi \\rangle) \\right) \\] Similarmente, la probabilidad de medir \\(1\\) está relacionada con \\(1 - \\text{Re}(\\langle \\phi | \\varphi \\rangle).\\) Mediante repeticiones, podemos estimar \\(\\text{Re}(\\langle \\phi | \\varphi \\rangle).\\)\nd. Complejidad del cálculo # El número de qubits necesarios para representar \\(|\\phi\\rangle\\) y \\(|\\varphi\\rangle\\) es \\(\\log N\\). Las operaciones cuánticas, tales como la puerta Hadamard, actúan en paralelo sobre las amplitudes de \\(|\\phi\\rangle\\) y \\(|\\varphi\\rangle\\), lo que implica que la complejidad del circuito depende del número de qubits, luego \\(O(\\log N)\\). 3. Preparación del estado: un costo adicional #La ventaja cuántica solo se logra si los estados \\(|\\phi\\rangle\\) y \\(|\\varphi\\rangle\\) ya están preparados. Preparar un estado cuántico a partir de datos clásicos generalmente tiene complejidad \\(O(N)\\), ya que cada componente del vector debe cargarse en la superposición.\nSin embargo, en escenarios donde los datos ya están disponibles en forma cuántica (como en simulaciones físicas), el costo de preparación se elimina, y el cálculo del producto interno se realiza en \\(O(\\log N)\\).\n4. Conclusión #El cálculo de \\(\\langle \\phi | \\varphi \\rangle\\) puede realizarse en \\(O(\\log N)\\) dentro del modelo cuántico bajo los siguientes supuestos:\nLos vectores están codificados como estados cuánticos \\(|\\phi\\rangle\\) y \\(|\\varphi\\rangle\\). Las operaciones cuánticas (como puertas y mediciones) escalan con el número de qubits (\\(\\log N\\)). A pesar de este notable resultado, hay aún un costo \\(O(N)\\) remanente, que surge en la preparación inicial del estado si los datos son codificados de manera clásica. Este paso sigue siendo un desafío en la computación cuántica actual. P.D: algún detalle de interés\n","date":null,"permalink":"/notes/3dot-product/","section":"Notas","summary":"Ventajas y desafíos en el cómputo del producto interno","title":"Cómputo eficiente del producto interno"},{"content":"","date":null,"permalink":"/tags/dot-product/","section":"Tags","summary":"","title":"Dot Product"},{"content":"","date":null,"permalink":"/tags/kernel/","section":"Tags","summary":"","title":"Kernel"},{"content":"","date":null,"permalink":"/tags/llm/","section":"Tags","summary":"","title":"LLM"},{"content":" Un poco de contexto #¿Qué quiso decir Feynman con \u0026ldquo;nadie entiende la mecánica cuántica\u0026rdquo;? Esa frase es, sin duda, una de las más citadas atribuidas a Richard Feynman. A menudo se saca de contexto, lo que lleva a la idea errónea de que la mecánica cuántica es completamente incomprensible, incluso para los físicos. Sin embargo, si acudimos a la fuente, el libro \u0026ldquo;El Carácter de la Ley Física\u0026rdquo; (The Character of Physical Law), basado en sus conferencias Messenger de 1964 en la Universidad de Cornell, encontramos la frase en su contexto original, y su significado se vuelve mucho más matizado.\nLa frase aparece en el Capítulo 6, titulado \u0026ldquo;Probabilidad e Incertidumbre - la visión Mecánico-Cuántica de la Naturaleza\u0026rdquo;. Feynman llega a este punto después de reflexionar sobre cómo, a medida que la ciencia avanza y explora fenómenos más allá de nuestra experiencia cotidiana, las leyes de la naturaleza que descubrimos a menudo parecen \u0026ldquo;irrazonables\u0026rdquo; e \u0026ldquo;intuitivamente muy lejanas de lo obvio\u0026rdquo;.\nCita ejemplos como la teoría de la relatividad, donde la simultaneidad deja de ser absoluta, o el comportamiento de la luz y los electrones, que a veces se comportan como partículas y a veces como ondas. Esta aparente dualidad onda-partícula es el foco central de la explicación en este capítulo, utilizando el famoso experimento de la doble rendija.\nFeynman describe cómo, si lanzáramos balas a una placa con dos agujeros, esperaríamos que llegaran a un detector detrás de la placa en patrones predecibles, como la suma de las balas que pasan por cada agujero individualmente. Si hiciéramos el mismo experimento con ondas de agua, veríamos un patrón de interferencia complicado, donde las crestas y los valles se suman o se restan.\nPero cuando realizamos el experimento con electrones (o fotones), ocurre algo sorprendente:\nLo que recibimos en el detector eléctrico, con un amplificador suficientemente potente detrás, son clics, bultos, bultos absolutos. Cuando llega el clic tiene un cierto tamaño, y el tamaño es siempre el mismo\u0026hellip; Es un bulto único identificable. (p. 136)\nLos electrones llegan como partículas discretas. Sin embargo, si medimos la probabilidad de llegada de estos \u0026ldquo;bultos\u0026rdquo; en diferentes posiciones, el patrón resultante no es la simple suma de las probabilidades de pasar por cada agujero por separado (como con las balas), sino que:\n\u0026hellip;la distribución que obtenemos con ambos agujeros abiertos\u0026hellip; es la curva que obtendrías para la interferencia de ondas. Ella produce esta curva para ¿qué? No para la energía en una onda, sino para la probabilidad de llegada de uno de estos bultos. (p. 137)\nEste es el meollo del misterio. Los electrones llegan como partículas (en \u0026ldquo;bultos\u0026rdquo;), pero la probabilidad de dónde aterrizan se rige por las mismas reglas matemáticas que rigen la intensidad de las ondas.\nFeynman profundiza: si intentamos observar por qué agujero pasa el electrón, el patrón de interferencia desaparece, y los electrones se comportan como balas. La observación misma cambia el resultado. Esto lleva al principio de Heisenberg, que él reformula en el contexto del experimento de la doble rendija:\nEs imposible diseñar cualquier aparato\u0026hellip; para determinar a través de qué agujero pasa el electrón que al mismo tiempo no perturbe el electrón lo suficiente como para destruir el patrón de interferencia. (p. 143)\nEs después de presentar esta situación fundamentalmente extraña y anti-intuitiva donde surge la cita famosa. Feynman no está diciendo que no sabemos cómo calcular lo que sucederá, o que la teoría no funciona. La matemática de la mecánica cuántica es increíblemente precisa y predictiva. Lo que quiere decir es que no tenemos una explicación intuitiva o un modelo familiar para por qué la naturaleza se comporta de esta manera:\nNadie puede darte una explicación más profunda de este fenómeno que la que yo he dado; es decir, una descripción de él\u0026hellip; Pero el misterio profundo es lo que he descrito, y nadie puede ir más profundo hoy. (p. 145)\nY luego, al dirigirse a su audiencia, les aconseja sobre cómo abordar esta falta de intuición:\nCreo que puedo decir con seguridad que nadie entiende la mecánica cuántica. Así que no tomen la conferencia demasiado en serio, sintiendo que realmente tienen que entenderla en términos de algún modelo de lo que voy a describir, sino simplemente relájense y disfrútenla. Voy a contarles cómo se comporta la naturaleza. Si simplemente admiten que tal vez se comporta así, la encontrarán una cosa encantadora y fascinante. No dejen de decirse a ustedes mismos, si es posible evitarlo: \u0026lsquo;¿Pero cómo puede ser así?\u0026rsquo; porque se meterán \u0026rsquo;en el desagüe\u0026rsquo;, en un callejón sin salida del que nadie ha escapado todavía. Nadie sabe cómo puede ser así. (p. 129)\nConclusión #La famosa frase de Feynman no es una admisión de la inutilidad de la mecánica cuántica, sino una descripción precisa de su naturaleza fundamentalmente no clásica. Entendemos las reglas matemáticas, podemos hacer predicciones increíblemente precisas, y la teoría funciona. Pero el \u0026ldquo;por qué\u0026rdquo; intuitivo, el mecanismo subyacente que podríamos visualizar o relacionar con nuestra experiencia diaria, es lo que, según Feynman, \u0026ldquo;nadie entiende\u0026rdquo;. Es una invitación a aceptar la extrañeza de la naturaleza en su nivel más fundamental y a maravillarse con la elegancia matemática que, a pesar de todo, nos permite describirla con precisión.\n","date":null,"permalink":"/notes/1.understand-quantum/","section":"Notas","summary":"¿Nadie entiende la mecánica cuántica?","title":"Decodificando a Feynman"},{"content":"","date":null,"permalink":"/tags/states/","section":"Tags","summary":"","title":"States"},{"content":" Dado un espacio de Hilbert $\\mathscr{H}$, se pretende encontrar un operador $U:\\mathscr{H}\\otimes \\mathscr{H}\\longrightarrow\\mathscr{H}$ de manera que para un vector susceptible de ser copiado $|\\varphi\\rangle\\in\\mathscr{H}$ y para un vector de soporte $|s\\rangle\\in\\mathscr{H}$, ambos de norma 1, se cumpla que\n$U:|\\varphi\\rangle\\otimes |s\\rangle\\longmapsto|\\varphi\\rangle\\otimes |\\varphi\\rangle, \\quad \\forall \\varphi \\in \\mathscr{H}$ (operador de copiado) Tal operador se dice que realiza el procedimiento de copiado sin destruir el estado, $|\\varphi\\rangle$, que pretende copiar.\nEn las condiciones anteriores se puede demostrar el siguiente\nEnunciado #$\\nexists U$ que cumpla la definición anterior tal que o bien\n$U$ sea lineal $U$ sea unitario Demostración #1. \\(U\\) no puede ser lineal #(por reducción al absurdo)\nVeamos que $U$ no podría ser lineal. Supongamos que puede encontrarse un operador $U$ así y sean $|\\varphi_1\\rangle$, $|\\varphi_2\\rangle\\in \\mathscr{H}$, tales que\n$U|\\varphi_i\\rangle\\otimes|s\\rangle=|\\varphi_i\\rangle\\otimes|\\varphi_i\\rangle$, con $i=1,2$\nluego tomemos la combinación lineal $ |\\varphi\\rangle=\\alpha_1|\\varphi_1\\rangle+\\alpha_2|\\varphi_2\\rangle$, aquí entra cierta arbitrariedad del estado $|\\varphi\\rangle$ sobre el cual haremos la prueba.\ndeberíamos esperar que para este estado $|\\varphi\\rangle$, escrito en término de los vectores $\\{|\\varphi_i\\}_{i=1,2}$, se obtenga para $U|\\varphi\\rangle\\otimes|s\\rangle$\n$$ \\alpha_1^2|\\varphi_1\\rangle\\otimes|\\varphi_1\\rangle+\\alpha_2^2|\\varphi_2\\rangle\\otimes|\\varphi_2\\rangle + \\alpha_1\\alpha_2\\Big[|\\varphi_1\\rangle\\otimes|\\varphi_2\\rangle+|\\varphi_2\\rangle\\otimes|\\varphi_1\\rangle\\Big] $$mientras que, exigiendo que $U$ sea lineal:\n$U|\\varphi\\rangle\\otimes|s\\rangle=\\alpha_1U|\\varphi_1\\rangle\\otimes|s\\rangle+\\alpha_2U|\\varphi_2\\rangle\\otimes|s\\rangle$ luego se obtiene para $U|\\varphi\\rangle\\otimes|s\\rangle$\n$$ \\alpha_1|\\varphi_1\\rangle\\otimes|\\varphi_1\\rangle+\\alpha_2|\\varphi_2\\rangle\\otimes|\\varphi_2\\rangle $$comparando estas últimas dos expresiones para $U|\\varphi\\rangle\\otimes|s\\rangle$ se llega al absurdo.\n2. \\(U\\) no puede ser unitario #(por reducción al absurdo)\nVeamos que $U$ no podría ser unitario. Supongamos que puede encontrarse un operador $U$ así y sean $|\\varphi_1\\rangle$, $|\\varphi_2\\rangle\\in \\mathscr{H}$, tales que\n$U|\\varphi_i\\rangle\\otimes|s\\rangle=|\\varphi_i\\rangle\\otimes|\\varphi_i\\rangle$, con $i=1,2$\nCalculemos ahora el producto interno $\\langle \\varphi_1\\otimes s|\\varphi_2\\otimes s\\rangle$, exigiendo que $U$ sea unitario, i.e. $U^{\\dagger}U=I$: $\\langle \\varphi_1\\otimes s|\\varphi_2\\otimes s\\rangle =\\langle \\varphi_1\\otimes s|I|\\varphi_2\\otimes s\\rangle$ que finalmente es $\\langle \\varphi_1\\otimes s|U^{\\dagger}U|\\varphi_2\\otimes s\\rangle=\\langle \\varphi_1\\otimes \\varphi_1|\\varphi_2\\otimes \\varphi_2\\rangle$ usando que $\\langle x\\otimes y|z\\otimes w\\rangle=\\langle x|z\\rangle.\\langle y|w\\rangle$ se tiene $\\langle \\varphi_1 |\\varphi_2\\rangle.\\langle s |s\\rangle =\\langle \\varphi_1 |\\varphi_2\\rangle.\\langle \\varphi_1 |\\varphi_2\\rangle$, luego\n$$ \\langle\\varphi_1 |\\varphi_2\\rangle= \\langle \\varphi_1 |\\varphi_2\\rangle^2 $$ que es una ecuación para $\\langle \\varphi_1 |\\varphi_2\\rangle\\in \\mathbb{C}$; con lo cual o bien $\\langle \\varphi_1 |\\varphi_2\\rangle=0$ o bien $\\langle \\varphi_1 |\\varphi_2\\rangle=1$. El primer caso implica que aquellos vectores no pueden ser cualquier sino solo aquellos mutuamente ortogonales, con lo cual no hay arbitrariedad. El segundo caso implica que ambos pueden ser proporcionales. En cualquier caso no hay arbitrariedad en la elección de aquellos dos vectores $| \\varphi_1 \\rangle,|\\varphi_2\\rangle$, lo que se traduce en una no universalidad del operador $U$.\nNotas # Incluso podríamos haber generalizado el operador $U$ para incluir una fase local $\\phi$ que pueda depender incluso de los estados $|\\varphi\\rangle,|s \\rangle$, de forma que el supuesto operador de copia se redefina como $$ U|\\varphi\\rangle\\otimes|s\\rangle:=e^{i\\phi(\\varphi,s)}|\\varphi\\rangle\\otimes|\\varphi\\rangle. $$Aún en este caso las ideas de la demostración anterior seguiría siendo válida.\nSe ha demostrado la imposibilidad de realizar copias perfectas del estado del sistema cuántico y sin destruir el estado original, vía un operador o bien lineal o bien unitario.\nExisten versiones que no prohíben realizar copias imperfectas.\n","date":null,"permalink":"/notes/2.non-cloning/","section":"Notas","summary":"Sobre la imposibilidad de cierto tipo plagio","title":"Teorema de no clonado"},{"content":"","date":null,"permalink":"/tags/understanding/","section":"Tags","summary":"","title":"Understanding"},{"content":"","date":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories"}]