Podcast
Questions and Answers
Qu es una circunferencia?
Qu es una circunferencia?
- Un polgono de tres lados.
- Una lnea curva cerrada cuyos puntos estn a la misma distancia de un punto fijo. (correct)
- Una lnea recta.
- Un conjunto de puntos aleatorios.
Cmo se llama el punto fijo en el centro de una circunferencia?
Cmo se llama el punto fijo en el centro de una circunferencia?
- Radio
- Arco
- Dimetro
- Centro (correct)
Qu es el dimetro de una circunferencia?
Qu es el dimetro de una circunferencia?
- Un segmento que une dos puntos de la circunferencia y pasa por el centro. (correct)
- La distancia alrededor de la circunferencia.
- La mitad del radio.
- Un segmento que une dos puntos cualesquiera de la circunferencia.
Cul es la relacin entre el dimetro y el radio de una circunferencia?
Cul es la relacin entre el dimetro y el radio de una circunferencia?
Cul es la frmula para calcular la longitud de la circunferencia si conoces el dimetro (d)?
Cul es la frmula para calcular la longitud de la circunferencia si conoces el dimetro (d)?
Qu representa $\pi$ (pi) en la frmula de la circunferencia?
Qu representa $\pi$ (pi) en la frmula de la circunferencia?
Si el dimetro de una circunferencia es de 10 cm, cul es su radio?
Si el dimetro de una circunferencia es de 10 cm, cul es su radio?
Si el radio de una circunferencia es 7 cm, cul es su dimetro?
Si el radio de una circunferencia es 7 cm, cul es su dimetro?
Cul es una aproximacin comnmente usada para el valor de pi?
Cul es una aproximacin comnmente usada para el valor de pi?
Una rueda tiene un dimetro de 2 metros. Cul es aproximadamente la longitud de la circunferencia de la rueda?
Una rueda tiene un dimetro de 2 metros. Cul es aproximadamente la longitud de la circunferencia de la rueda?
Flashcards
¿Qué es una circunferencia?
¿Qué es una circunferencia?
Una línea curva cerrada donde todos los puntos están a la misma distancia de un punto central fijo.
¿Qué es el diámetro?
¿Qué es el diámetro?
Es cualquier segmento de línea recta que une dos puntos de la circunferencia y pasa por el centro.
Study Notes
Tensiones
- La tensión mecánica es el esfuerzo interno en un cuerpo al aplicarle dos fuerzas opuestas que tienden a estirarlo.
- La tensión se calcula con la fórmula: $\sigma = \frac{F}{A}$, donde $\sigma$ es la tensión, $F$ es la fuerza aplicada y $A$ es el área.
Tipos de Tensión Mecánica
- Tensión normal: Es el esfuerzo por unidad de superficie.
- Tensión de tracción: La tensión normal que estira el cuerpo.
- Tensión de compresión: La tensión normal que disminuye el volumen del cuerpo.
- Tensión tangencial o cortante: Es el esfuerzo interno debido a tensiones paralelas a la sección transversal del cuerpo.
Tensión Eléctrica
-
La tensión eléctrica es la diferencia de potencial eléctrico entre dos puntos, también conocida como voltaje.
-
Su unidad de medida es el voltio (V).
-
La tensión eléctrica se calcula mediante la fórmula: $V = \frac{E}{q}$, donde $V$ es la tensión, $E$ es la energía potencial eléctrica y $q$ es la carga eléctrica.
-
Corriente eléctrica: Es el flujo de carga eléctrica a través de un material, causado por el movimiento de los electrones.
-
Se mide en amperios (A), y se calcula con la fórmula: $I = \frac{q}{t}$, donde $I$ es la corriente, $q$ es la carga eléctrica y $t$ es el tiempo.
-
Resistencia eléctrica: Es la oposición de un material al paso de la corriente eléctrica, medida en ohmios ($\Omega$).
-
Ley de Ohm: Relaciona la tensión, corriente y resistencia en un circuito: $V = IR$, donde $V$ es la tensión, $I$ es la corriente y $R$ es la resistencia.
Algoritmo QuickSort
- QuickSort es un algoritmo de ordenamiento recursivo basado en "divide y vencerás".
- Seleccionar un pivote: Se elige un elemento como pivote.
- Particionar: Se reorganiza la lista con elementos menores a la izquierda y mayores a la derecha del pivote.
- Recursión: Se aplica recursivamente a las sublistas menores y mayores que el pivote.
Implementación (Python)
def quicksort(lista):
if len(lista)
Cinética Química
- La cinética química estudia las velocidades de las reacciones químicas.
- Examina cómo las condiciones experimentales influyen en la velocidad, los mecanismos de reacción, los estados de transición y los modelos matemáticos.
Factores que Afectan las Velocidades de Reacción
- Naturaleza de los reactivos:
- Las reacciones iónicas en solución acuosa son rápidas, mientras que las que involucran enlaces covalentes son más lentas.
- Estado físico:
- Reactivos en la misma fase reaccionan más rápido, mientras que en diferentes fases la reacción está limitada al área de contacto.
- Temperatura:
- A mayor temperatura, las moléculas tienen más energía térmica, lo que aumenta la velocidad de reacción.
- Las moléculas se mueven y chocan más frecuentemente.
- Las moléculas chocan con más energía.
- La constante de velocidad aumenta exponencialmente con la temperatura.
- Concentración:
- A mayor concentración de reactivos, las colisiones son más frecuentes y la reacción es más rápida.
- Presión:
- A mayor presión en reacciones gaseosas, aumenta la concentración de gas y la velocidad de reacción.
- Catalizador:
- Los catalizadores aceleran la reacción al disminuir la energía de activación o cambiar el mecanismo. No se consumen ni aparecen en la ecuación general.
Velocidad de Reacción
- Para la reacción $aA + bB \rightarrow cC + dD$, la ecuación de velocidad es:
$v = -\frac{1}{a}\frac{d[A]}{dt} = -\frac{1}{b}\frac{d[B]}{dt} = \frac{1}{c}\frac{d[C]}{dt} = \frac{1}{d}\frac{d[D]}{dt}$
- $[X]$ es la concentración de la sustancia X.
- $t$ es el tiempo.
- $v$ es la velocidad de reacción (mol/(L·s)). - Las velocidades de desaparición de reactivos son negativas, mientras que las de aparición de productos son positivas. Los coeficientes estequiométricos aseguran que la velocidad sea la misma independientemente del reactivo o producto monitoreado.
Ley de Velocidad
- Relaciona la velocidad de reacción con la concentración de los reactivos. Para la reacción $aA + bB \rightarrow cC + dD$, la ley de velocidad es: $v = k[A]^x [B]^y$
- $k$ es la constante de velocidad.
- $x$ e $y$ son los órdenes de reacción con respecto a los reactivos A y B, respectivamente.
Lecture 12: February 28, 2023
- La clase anterior se discutió el problema del camino más corto de una sola fuente.
- Se puede resolver utilizando el algoritmo de Dijkstra en tiempo $O(m + n \log n)$ para pesos de borde no negativos.
- Para pesos de borde generales, podemos usar el algoritmo Bellman-Ford en tiempo $O(mn)$ aunque sea más lento.
Todos los pares de caminos más cortos
- Objetivo:* Calcular las distancias del camino más corto entre todos los pares de vértices.
- Entrada:* Un grafo dirigido $G = (V, E)$ con pesos de borde $w: E \rightarrow R$.
- Salida:* Una matriz $n \times n$ $D$ donde $D[u, v]$ es la distancia del camino más corto de $u$ a $v$.
Solución 1: Ejecutar Bellman-Ford $n$ veces
- Ejecute Bellman-Ford desde cada vértice $u \in V$.
- Complejidad temporal: $n \cdot O(mn) = O(mn^2)$.
- Complejidad espacial: $O(n^2)$.
Solución 2: Algoritmo de Floyd-Warshall
- Un algoritmo de programación dinámica.
- Sea $D[u, v, k]$ la distancia del camino más corto de $u$ a $v$ utilizando solo los vértices ${1, 2, \dots, k}$ como vértices intermedios.
- Caso base:* $k = 0$
$D[u, v, 0] = \begin{cases} 0 & \text{si } u = v \ w(u, v) & \text{si } (u, v) \in E \ \infty & \text{de lo contrario} \end{cases}$
- Caso recursivo:* $k \geq 1$
$D[u, v, k] = \min(D[u, v, k-1], D[u, k, k-1] + D[k, v, k-1])$
- Respuesta final:* $D[u, v, n]$ para todo $u, v \in V$.
Algoritmo de Floyd-Warshall: Implementación
for u in V:
for v in V:
D[u, v, 0] = infinity
if u == v:
D[u, v, 0] = 0
if (u, v) in E:
D[u, v, 0] = w(u, v)
for k in range(1, n + 1):
for u in V:
for v in V:
D[u, v, k] = min(D[u, v, k-1], D[u, k, k-1] + D[k, v, k-1])
Algoritmo de Floyd-Warshall: Análisis
- Complejidad temporal: $O(n^3)$.
- Complejidad espacial: $O(n^3)$.
Algoritmo de Floyd-Warshall: Optimización del espacio
- Podemos reducir la complejidad espacial a $O(n^2)$ sobrescribiendo los valores anteriores de $D[u, v, k-1]$ con $D[u, v, k]$.
for u in V:
for v in V:
D[u, v] = infinity
if u == v:
D[u, v] = 0
if (u, v) in E:
D[u, v] = w(u, v)
for k in range(1, n + 1):
for u in V:
for v in V:
D[u, v] = min(D[u, v], D[u, k] + D[k, v])
Ciclos negativos
¿Cómo detectar si un grafo tiene un ciclo negativo?
- Después de ejecutar Floyd-Warshall, verifique si $D[u, u] < 0$ para cualquier $u \in V$.
- Si es así, entonces hay un ciclo negativo en el grafo.
Cierre transitivo
- Dado:* Un grafo dirigido $G = (V, E)$.
- Objetivo:* Calcular la matriz de accesibilidad $R$ donde $R[u, v] = 1$ si hay un camino de $u$ a $v$; y $0$ de otra manera.
- Podemos usar Floyd-Warshall para calcular el cierre transitivo.
- Establezca $w(u, v) = 1$ si $(u, v) \in E$, e $\infty$ de lo contrario.
- Después de ejecutar Floyd-Warshall, $R[u, v] = 1$ si $D[u, v] < \infty$; y $0$ de otra manera.
Resumen
- Todos los pares de caminos más cortos se pueden resolver utilizando Bellman-Ford en tiempo $O(mn^2)$ o Floyd-Warshall en tiempo $O(n^3)$.
- Floyd-Warshall se puede optimizar en el espacio para usar el espacio $O(n^2)$.
- Floyd-Warshall se puede usar para detectar ciclos negativos y calcular el cierre transitivo de un grafo.
Ejercicios adicionales 2
Ejercicio 1
Resolver:
$4x + 20 = 8$
$4x = -12$
$x=\frac{-12}{4}$
$x = -3$
Ejercicio 2
Resolver:
$-9x + 11 = 2$
$-9x = -9$
$x = \frac{-9}{-9}$
$x = 1$
Ejercicio 3
Resolver:
$3x - 18 = -3$
$3x= 15$
$x = \frac{15}{3}$
$x = 5$
Ejercicio 4
Resolver:
$-x + 5 = -2$
$-x = -7$
$x=7$
Ejercicio 5
Resolver:
$-4x - 1 = -17$
$-4x = -16$
$x = \frac{-16}{-4}$
$x = 4$
Ejercicio 6
Resolver:
$6x + 3 = 3$
$6x = 0$
$x = \frac{0}{6}$
$x = 0$
Sistemas Multiprocesador
- Un sistema multiprocesador es un sistema informático con dos o más CPU.
- Comparten acceso completo a la RAM común. Se comunican a velocidades de RAM.
- También se llaman "multiprocesadores de memoria compartida". Todas las CPU pueden ejecutar el kernel.
- Procesamiento simétrico múltiple (SMP).
¿Por qué multiprocesadores?
- Puede aumentar el rendimiento: múltiples CPU para manejar múltiples tareas
- También puede acelerar tareas únicas, suponiendo que una tarea se puede paralelizar.
Áreas de investigación
- Protocolos de coherencia de caché
- Bloqueo
- Programación
Terminología
- Speedup: relación del tiempo de ejecución en un solo procesador al tiempo de ejecución en un multiprocesador
- Speedup ideal: speedup lineal con el número de procesadores
- Ley de Amdahl: el speedup está limitado por la porción serial del programa
$$ \text{Speedup} = \frac{1}{(1 - P) + \frac{P}{N}} $$
donde:
- P es la proporción del programa que se puede paralelizar
- N es el número de procesadores
Ley de Amdahl (cont.)
- Ejemplo: si el 5 % de tu programa no se puede paralelizar, el speedup máximo que puedes obtener es 20, sin importar cuántos procesadores uses.
$$ \text{Speedup} = \frac{1}{0.05 + \frac{0.95}{N}} \le 20 $$
Implicaciones de la ley de Amdahl
- La programación paralela vale la pena solo si los programas tienen poco trabajo en serie; de lo contrario, se desperdician recursos en muchos procesadores.
- La programación paralela también tiene sobrecargas (comunicación, etc.), por lo que la situación es aún peor.
Coherencia de caché
- Cada CPU tiene una caché
- Pueden existir copias de datos en múltiples cachés
- Si una CPU modifica los datos en su caché:
- Otras cachés deben ser informadas
- La memoria principal debe ser informada
- Los protocolos de coherencia de caché mantienen la consistencia.
Protocolos de coherencia de caché
- Protocolos de snooping:
- Cada caché monitorea (snooping) el bus
- Si una CPU escribe en una línea de caché, otras cachés invalidan sus copias
- Simple, pero no escala bien
- Protocolos basados en directorio:
- Un directorio realiza un seguimiento de qué cachés tienen qué datos
- Cuando una CPU escribe en una línea de caché, el directorio informa a las otras cachés
- Más complejo, pero escala mejor
Protocolos de snooping
- Los protocolos de snooping utilizan una máquina de estados para cada línea de caché.
- Invalidación de escritura:
- Cuando una CPU quiere escribir en una línea de caché, primero invalida todas las demás copias
- Acceso exclusivo
- Actualización de escritura:
- Cuando una CPU escribe en una línea de caché, actualiza todas las demás copias
- Acceso compartido
Invalidación de escritura
- Estados:
- Inválido: la línea de caché no es válida
- Compartido: la línea de caché es válida y puede estar presente en otras cachés
- Modificado: la línea de caché es válida y exclusiva
- Transiciones:
- Lectura de la CPU: Inválido -> Compartido
- Escritura de la CPU: Inválido -> Modificado, Compartido -> Modificado
- Lectura del bus: Modificado -> Compartido
- Escritura del bus: Compartido -> Inválido, Modificado -> Inválido
Protocolos basados en directorio
- Cada línea de caché en la memoria principal tiene una entrada de directorio
- La entrada de directorio contiene:
- Qué cachés tienen una copia de la línea
- Si la línea está sucia (modificada)
- Cuando una CPU solicita una línea de caché:
- El directorio comprueba si alguna otra caché tiene una copia sucia
- Si es así, le pide a esa caché que vuelva a escribir los datos en la memoria
- El directorio luego envía los datos a la CPU solicitante
- Cuando una CPU escribe en una línea de caché:
- El directorio invalida todas las demás copias
Bloqueo
- Necesita exclusión mutua para proteger los datos compartidos
- Spinlocks
- La CPU gira en un bucle hasta que se adquiere el bloqueo
- Derrochador si el bloqueo se mantiene durante mucho tiempo
- Bloqueos de bloqueo
- La CPU se bloquea hasta que se adquiere el bloqueo
- Más eficiente, pero con mayor sobrecarga
Programación
- ¿Cómo programar hilos en múltiples CPU?
- Compartición de espacio: asigne cada hilo a una CPU específica
- Simple, pero puede conducir a un desequilibrio
- Compartición de tiempo: cambie los hilos entre las CPU
- Más complejo, pero puede equilibrar la carga
Programación (cont.)
- Afinidad de caché: intente programar hilos en la misma CPU en la que se estaban ejecutando antes
- Aumenta la tasa de aciertos de caché
- Equilibrio de carga: mueva hilos entre las CPU para equilibrar la carga
- Reduce el tiempo de inactividad
Resumen
- Los multiprocesadores pueden aumentar el rendimiento y acelerar tareas únicas
- Los protocolos de coherencia de caché mantienen la consistencia entre las cachés
- El bloqueo proporciona exclusión mutua
- Los algoritmos de programación determinan cómo se asignan los hilos a las CPU
Teoría Algorítmica de Juegos - Semestre de Verano 2023
Clase 4: Óptimo Social
Definición 4.1 (Minimización de Costos)
Un óptimo social es un estado $s \in S$ que minimiza $\sum_{i \in N} c_i(s)$.
Definición 4.2 (Máximo Bienestar Social)
Un óptimo social es un estado $s \in S$ que maximiza $\sum_{i \in N} v_i(s)$.
4.1 (Funciones de Costos Afines)
Definición 4.3 (Función de Costo Afín)
Función de costo para el jugador $i \in N$ es $c_i(x) = a_i \cdot x + b_i$ con $a_i, b_i \in \mathbb{R}$.
Lema 4.4
En un juego con funciones de costo afines, cada equilibrio de Nash es un óptimo social.
Demostración
Sea $s = (s_i, s_{-i})$ un equilibrio de Nash.
$\Rightarrow c_i(s_i, s_{-i}) \leq c_i(s'i, s{-i})$ para todo $s'_i \in S_i$ y todo $i \in N$.
Suponga que $s$ no es un óptimo social.
Entonces existe $s^* \in S$ con $\sum_{i \in N} c_i(s^*) < \sum_{i \in N} c_i(s)$.
Sea $i$ un jugador con $s^*_i \neq s_i$.
Defina $s' = (s^*i, s{-i})$.
Entonces $\sum_{i \in N} c_i(s') = c_i(s^*i, s{-i}) + \sum_{j \neq i} c_j(s_{-j}) < \sum_{i \in N} c_i(s_i, s_{-i})$.
$\Rightarrow c_i(s^*i, s{-i}) < c_i(s_i, s_{-i})$.
$\Rightarrow$ Contradicción al hecho de que $s$ es equilibrio de Nash.
Teorema 4.5
En un juego con funciones de costo afines, cada estado que minimiza el costo social es un equilibrio de Nash.
Demostración
Sea $s \in S$ un estado que minimiza $\sum_{i \in N} c_i(s)$.
Suponga que $s$ no es un equilibrio de Nash.
Entonces existe un jugador $i \in N$ y una estrategia $s'i \in S_i$ tal que $c_i(s'i, s{-i}) < c_i(s_i, s{-i})$.
Entonces $\sum_{j \in N} c_j(s'i, s{-i}) = c_i(s'i, s{-i}) + \sum_{j \neq i} c_j(s_{-j}) < c_i(s_i, s_{-i}) + \sum_{j \neq i} c_j(s_{-j}) = \sum_{j \in N} c_j(s_i, s_{-i})$.
$\Rightarrow$ Contradicción al hecho de que $s$ es un óptimo social.
(Juegos de Enrutamiento)
Definición 4.6 (Juego de Enrutamiento)
Un juego de enrutamiento es una tupla $(G, r, c)$ donde:
- $G = (V, E)$ es un grafo dirigido.
- $r = (r_1,..., r_k)$ con $r_i = (s_i, t_i, d_i)$.
- $s_i$ es el nodo de inicio.
- $t_i$ es el nodo de destino.
- $d_i$ es la cantidad de flujo.
- $c = (c_e)_{e \in E}$ es una función de costo para cada arista $e \in E$.
Definición 4.7 (Flujo Válido)
Un flujo $f = (f_p)_{p \in P}$ es válido si para todo $i = 1,..., k$:
- $\sum_{p \in P_i} f_p = d_i$.
- $f_p \geq 0$ para todo $p \in P$.
Definición 4.8 (Flujo en una Arista)
La cantidad de flujo en la arista $e \in E$ es $f_e = \sum_{p: e \in p} f_p$.
Definición 4.9 (Costo de un Camino)
$$c_p(f) = \sum_{e \in p} c_e(f_e)$$
Definición 4.10 (Costo de un Jugador)
El costo de un jugador $i$ es el costo del camino utilizado por el jugador $i$.
4.3 (Precio de la Anarquía)
Definición 4.11 (Precio de la Anarquía)
El precio de la anarquía es la relación entre el peor equilibrio de Nash y el óptimo social.
$$PoA = \frac{\text{Costo del peor equilibrio de Nash}}{\text{Costo del óptimo social}}$$
Negociación Algorítmica y Ejecución de Órdenes.
-
La negociación algorítmica es la ejecución de órdenes utilizando instrucciones automatizadas y preprogramadas, considerando variables tales como:
- Precio
- Tiempo
- Volumen
Términos relacionado
- Negociación automatizada: Sistema que ejecuta órdenes automáticamente.
- Negociación de caja negra: Negociación algorítmica donde el algoritmo no se revela.
- Negociación de alta frecuencia (HFT): Subconjunto de la negociación algorítmica caracterizado por altas tasas de rotación y altas relaciones orden-a-negociación.
- Negociación de programas: Generalmente se refiere a la compra o venta simultánea de al menos 15 acciones diferentes valoradas en $1 millón o más.
- Acceso directo al mercado: Un cliente accede directamente al libro de órdenes de la bolsa.
- Co-ubicación: Colocación de un servidor físicamente cerca de los servidores de una bolsa.
Beneficios de la negociación algorítmica
- Costos de transacción reducidos.
- Velocidad de ejecución mejorada.
- Error reducido.
- Impacto en el mercado reducido.
- Eficiencia del mercado aumentada.
Estrategias de la negociación algorítmica
Precio promedio ponderado por volumen (VWAP)
- VWAP = $\frac{\sum_{i=1}^{n} p_i q_i}{\sum_{i=1}^{n} q_i}$
- Donde:
- $p_i$ = Precio de transacción para la $i$-ésima negociación
- $q_i$ = Cantidad negociada para la $i$-ésima negociación
- Donde:
Déficit de implementación (IS)
- El déficit de implementación mide la diferencia entre los rendimientos de un portafolio real (o implementado) y un portafolio simulado.
- Déficit de implementación = Rendimiento del portafolio en papel - Rendimiento del portafolio real
- Déficit de implementación = Costos de retraso + Costos de negociación + Costos de oportunidad + Tarifas
- Costos de retraso: Costos que surgen del retraso en la negociación.
- Costos de negociación: Costos explícitos de la negociación (corretaje, impuestos y tarifas de la bolsa) y el impacto en el precio.
- Costos de oportunidad: Costos de las negociaciones perdidas.
Otras estrategias de la negociación algorítmica.
- TWAP: Precio promedio ponderado por tiempo.
- Porcentaje de volumen.
- Estrategias oscuras.
- Enrutamiento inteligente de órdenes.
- Arbitraje.
Colocación de órdenes
Tipos de órdenes
- Orden de mercado: Se ejecuta inmediatamente al mejor precio disponible.
- Orden limitada: Orden para comprar (vender) a un precio especificado o inferior (superior).
- Orden del día: Orden limitada que expira al final del día si no se cumple.
- Orden buena hasta cancelar (GTC): Orden limitada que permanece en efecto hasta que se completa o se cancela.
- Orden de stop: Orden que se convierte en una orden de mercado una vez que se alcanza un precio de stop especificado.
- Orden de stop-límite: Orden que se convierte en una orden limitada una vez que se alcanza un precio de stop especificado.
- Orden al cierre del mercado: Orden de mercado para ser ejecutada lo más cerca posible del cierre del mercado.
- Orden limitada al cierre: Orden limitada para ser ejecutada lo más cerca posible del cierre del mercado.
Instrucciones de la orden
- Orden todo o nada (AON): Orden que debe ser completada en su totalidad o no ser completada en absoluto.
- Orden completa o cancela (FOK): Orden que debe ser completada inmediatamente y en su totalidad o será cancelada.
- Orden inmediata o cancela (IOC): Orden que debe ser completada inmediatamente; cualquier porción no completada es cancelada.
Mercados oscuros
- Los mercados oscuros no muestran información de las órdenes.
- Tipos de mercados oscuros:
- Redes de cruce independientes.
- Mercados oscuros de corredores-distribuidores.
- Mercados oscuros propiedad de la bolsa.
Cuestiones regulativas
- La contratación algorítmica está sujeta a la supervisión regulativa para garantizar la justicia, prevenir la manipulación del mercado y mantener la integridad del mercado.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.