12 votos

¿Hay una notación matemática para "repetir$X$ hasta$Y$"?

El repeat X until Y metodología es un componente clave de muchos de los algoritmos. Sin embargo, no he encontrado una buena notación matemática. (Tal vez porque es de poco uso en la manipulación de expresiones?)

Como un ejemplo de cómo iba a escribir "la Suma de los recíprocos de los números naturales hasta el total está por encima de 42." Me gustaría escribir algo como:

$$\sum_{N=1}^{this\lt 42} \frac{1}{N}$$

where "this" corresponds to the partial sums.

Likewise one would like to do a similar thing with products or iterations in general e.g. "Start with 2, keep squaring until the result is no bigger than 15":

$$ (x \rightarrow x^2)^{this\lt 15}(2)$$

I mean I suppose one could fake it by using the Heaviside function $H(x)$ which is $0$ if $x\lt 0$ and $1$ if $x\geq 0$

$$ (x \rightarrow x + H(42-x)(x^2-x) )^\infty(2)$$

Que da el mismo resultado, pero no es una traducción directa del inglés en la notación matemática. Dado que este es esencialmente diciendo "seguir haciendo la iteración para siempre a pesar de que usted está obteniendo el mismo resultado."

19voto

Bram28 Puntos 18

La primera de ellas:

"La suma de los recíprocos de los números naturales (a partir de 1) hasta que la suma está por encima de 42"

es bastante sencillo. En primer lugar, el número donde se va por encima del 42 es:

$$X = \min \{ x \in \mathbb{N} \mid \sum_{n=1}^x \frac{1}{n} >42 \}$$

Así que, si usted quiere saber lo que la suma es:

$$\sum_{n=1}^X \frac{1}{n}$$

O, como una expresión:

$$\sum_{n=1}^{\min \{x \in \mathbb{N} \mid \sum_{n=1}^x \frac{1}{n} >42 \} } \frac{1}{n}$$

Para el "Inicio de la con $2$ y mantener el cuadrado, mientras que el resultado es menor de 15"

usted realmente necesidad de hablar acerca de las iteraciones de los números. Para esto, podemos definir una función recursiva. Por lo tanto, vamos a $f$ ser una función de los números naturales a los números naturales se define por:

$f(1)=2$

$f(x+1)=f(x)^2$ ($x>1$)

Y ahora el resultado que estamos buscando es:

$$\max \{ f(x) \mid x \in \mathbb{N}, f(x)<15 \}$$

19voto

Yo creo que un montón de veces en matemáticas, estamos menos interesados en el procedimiento y el más interesado en el resultado. Así que, ¿por qué usted necesita hacer $X$ hasta $Y$? Presumiblemente, es para calcular el valor. A menudo en un contexto matemático, es suficiente con afirmar (o demostrar) la existencia de un valor tal, sin importar cómo se calcula.

Considere la posibilidad de su ejemplo: "la Suma de los recíprocos de los números naturales hasta el total está por encima de 42." Como alguien que no está interesado en la vanidad, me gustaría preguntarle por qué debo hacer esto. Quizás esté interesado en el primero de tales total que está por encima de 42? Si es obvio que tal cantidad que existe, en la literatura matemática podríamos decir "Vamos a $x_n$ denotar la suma de los recíprocos de los primeros a $n$ números naturales, y deje $x$ denotar el menor elemento del conjunto $\{x_n \; |\; x_n > 42\}$". Muy a menudo no, no estoy interesado en cómo se podría ir sobre la computación $x$.

7voto

Andres Mejia Puntos 722

Creo que hay un par de maneras de hacerlo, pero probablemente la más natural es el uso de set-generador de notación.

Usted puede tomar la secuencia de $x_{n+1}=x_n^2$ que es una forma recursiva secuencia definida, y usted puede tomar $$\{x_n \mid x_n<15\}$$ a capturar la repitition. y si sólo quieres el último, $$\mathrm{max}\{x_n \mid x_n<15\}.$$

Este tipo de recursividad enfoque junto con el generador de notación, o "casos" se adoptó en Haskell.


Sin embargo, las matemáticas se comunica habitualmente con el lenguaje común. Simplemente decir, "repetidamente la plaza de $x$ mientras $x<15$" probablemente haría el truco de la recursividad, o tal vez "vamos a $a_n$ ser el miembro más grande de la secuencia de $a_{n+1}=a_n^2$, de modo que $a_n<15$." Creo que la ciencia de la computación de la notación es de la necesidad de un equipo de entender, que no es un requisito para la comunicación de las matemáticas.

2voto

"Suma los recíprocos de números naturales hasta que el total sea superior a 42" podría ser$$\sum_{j=1}^{\arg\min\limits_n \left(\sum_{i=1}^n \frac1{i} \,> \,42\right)} \frac1j$$ or in this special case where the sum is increasing and is both the test value and the result $$\min\limits_n \left\{S_n: S_n=\sum_{i=1}^n \frac1{i}, S_n>42 \right\}$ $

2voto

kindahero Puntos 913

Como base de esta pregunta parece ser algoritmos, también se puede simplemente escribir pseudocódigo (Incluso si es para una pequeña parte del algoritmo). Hay una matemática común estilo de pseudocódigo, que debe proporcionar a la idea de lo que estás tratando de transmitir en una forma elegante.

No es un buen ejemplo de este estilo en la Wikipedia para Ford–Fulkerson algoritmo, que incorpora la repeat X until Y metodología en su pregunta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X