2010-10-05 18 views
6

Estoy tratando de resolver (encontrar una solución de forma cerrada a) presente (probabilidades de riesgo calculadora) recurrencia relación:Resuelve recurrencia de la forma p [n, m] == p [n, m-2] + p [n-1, m-1] + p [n-2, m]

p[n,m] == 2890/7776*p[n,m-2] + 2611/7776*p[n-1,m-1] + 2275/7776*p[n-2,m], 
p[n,1] == 855/1296 + 441/1296*p[n-1,1], 
p[3,m] == 295/1296*p[3,m-2] + 420/1296*p[2,m-1], 
p[2,m] == 55/216, 
p[1,m] == 0 

función rSolve de Mathematica no funciona (estoy seguro de que estoy usando la sintaxis correcta , ya que estoy siguiendo los ejemplos de dos variables en http://reference.wolfram.com/mathematica/ref/RSolve.html).

De hecho, ni siquiera rSolve resolver este recursividad "simple":

p[n,m] == p[n,m-2] + p[n-1,m-1] + p[n-2,m], 
p[0,m] == 1, 
p[1,m] == 1, 
p[n,1] == 1, 
p[n,0] == 1 

¿Hay algo fundamentalmente tendido acerca de la solución de este tipo de relación de recurrencia o se Mathematica simplemente ser escamosa?

El ejemplo exacta que estoy usando:

RSolve[{ 
p[n,m] == p[n,m-2] + p[n-1,m-1] + p[n-2,m], 
p[0,m] == 1, 
p[1,m] == 1, 
p[n,1] == 1, 
p[n,0] == 1 
}, p[n,m], {n,m}] 

El valor de retorno es el mismo que mi entrada, hasta un número de malabarismo.

En la página doc, está bajo "Alcance" y luego "ecuaciones en diferencias parciales"

+0

@ user354134 ¿Podría publicar su sintaxis y los ejemplos exactos que está siguiendo? ¡No encuentro los problemas equivalentes en la ayuda de Mathematica- Tnx! Por cierto ... tnx a aquellos que volvieron a abrir esta pregunta! –

+0

Hecho como se solicitó. – barrycarter

+0

No estoy seguro de que ayude, pero "p [n, m]/n^(m-2)" parece ser lineal en n para todos los valores de m, pero con un intercepto distinto de 0. – barrycarter

Respuesta

0

responsabilidad: Sé que sólo un poco de álgebra lineal y un poco de cálculo. No sé nada de Wolfram.

Es posible que haya algo fundamentalmente difícil al respecto. Los ejemplos a los que se vinculó son más fáciles que los suyos. Por ejemplo, mira este ejemplo:

RSolve[a[m + 1, n] - 3/4 a[m, n + 1] == 0, a[m, n], {m, n}] 

todos los a [m, n] están en una línea recta, m + n = k para algunos k constante. Como decir que sabes un [10,5]. De eso se puede calcular un [11,4], un [12,3], etc. Pero todos están en línea recta. Es por eso que el resultado incluye alguna función de m + n. Se podría volver a escribir con una sola variable y obtener el mismo efecto:

RSolve[{a[m + 1] - 3/4 a[m] == 0, m+n=k}, a[m], {m, n}] 

Todos los ejemplos en ese enlace están en una línea recta, también. Por cada a [m, n] que necesite saber, n siempre es una función de m. Cualquier cosa de esa forma es fácil de resolver con matrices de álgebra lineal. (Avíseme si desea saber cómo hacer eso).

Para los suyos, sin embargo, ese no es el caso. El tuyo se expande como un árbol, no como una línea. Creo que que podría ser la dificultad.

Me recuerda la diferencia entre derivadas parciales y derivadas totales. Ese podría ser un buen punto de partida.

+0

No estoy seguro de que esto ayude en absoluto, pero: "p [n-1, m + 1] -p [n, m] == p [n, m-2] - p [n-3, m]" contiene, y me hace preguntarme si mn es la clave aquí de alguna manera. – barrycarter

+2

Aún no están en línea recta como todos los demás ejemplos. ¿Por qué lo necesitas de todos modos? ¿Solo un problema personal? Si realmente necesita calcularlo, puede simplemente memorizar resultados 100x100. – Eyal

1

... solo mis dos centavos, pero ¿no es este sistema de ecuaciones defectuoso? es decir .:

p[n,m] == 2890/7776*p[n,m-2] + 2611/7776*p[n-1,m-1] + 2275/7776*p[n-2,m] 

Por ejemplo, vamos a tratar de calcular p [N, 2]:

p[N,2] = 2890/7776*p[N,0] + ... 
     = 2890/7776*2890/7776*p[N,-2] + ... 
     = ... p[N,-4] + ... 

supongo que tienes mi punto. Nunca llegará a una condición inicial para un par de m.Lo mismo para :

p[3,m] == 295/1296*p[3,m-2] + ... 

Por el contrario, no se utilizará la condición inicial p[1,m] == 0. Quizás al agregar una definición para p [n, 0] op [n, 2] se resuelva tu problema definiéndolo bien.

+0

OK, pero ¿dónde dices P [N, 0], no es igual a 1 por mis condiciones anteriores? Estoy bastante seguro de que esta recursividad funciona, ya que puedo calcularla en Mathematica, aunque no en forma cerrada. – barrycarter

+0

En su tarea original, ¿están basados ​​en m & n? Si están basados ​​en uno, entonces no hay una regla para calcular P [3,2], porque tanto la primera como la tercera regla intentan referirse a P [3,0]. Si están basados ​​en cero, entonces el valor de P [3,0] no está definido. – user434507

+0

Además, ¿qué ocurre si tratas de calcular p [3,1] ??? ... ¿debería intentar seguir el camino p [3, m] o p [n, 1]? ... ambos llevando a soluciones diferentes. Un valor, varios pathes ... problemáticos. Su problema está mal definido de muchas maneras. – dagnelies