zar
Registrado: 22 Feb 2013 Mensajes: 1
| Publicado: 22/02/2013 10:42 am | | | Título: Duda con algoritmo en Fibonacci |
| Hola todos¡¡ Queria saber si alguien me podia ayudar.Mi problema es sobre el sistema de fibonacci para programarlo en R con unas determinadas condiciones y simularlo para ver los resultados en carreras de caballos. yo pretendo lo siguiente:
p.vector=seq(0.05,0.95,by=0.05)
media.resultado=rep(0,length(p.vector)) media.saldo=rep(0,length(p.vector)) media.n.carreras=rep(0,length(p.vector)) media.n.carreras.objectivo=rep(0,length(p.vector)) media.n.carreras.bancarrota=rep(0,length(p.vector))
dt.n.carreras=rep(0,length(p.vector)) dt.n.carreras.objectivo=rep(0,length(p.vector)) dt.n.carreras.bancarrota=rep(0,length(p.vector))
fib=rep(0,10) #esta parte no se si esta bien fib[1]=1 fib[2]=2
for (ifib in 3:10){fib[ifib]=fib[ifib-1]+fib[ifib-2]}
for (ip in 1:length(p.vector)){
p=p.vector[ip]
objectivo=40
n.simulaciones=10000
saldo.vector=rep(0,n.simulaciones) n.carreras.vector=rep(0,n.simulaciones) n.carreras.vector.objectivo=rep(0,n.simulaciones) n.carreras.vector.bancarrota=rep(0,n.simulaciones)
resultado.vector=rep(0,n.simulaciones)
for (i in 1:n.simulaciones){
saldo=15 apuesta=1 saldo=saldo-apuesta n.carreras=0
while( saldo<objectivo & saldo>0 ){ carrera=rbinom(1,1,p) n.carreras=n.carreras+1
if(carrera==1){ saldo=saldo+2*apuesta if (saldo == objectivo) break apuesta=1 saldo=saldo-apuesta }else{ apuesta=fib[n.carrera+1]
#esta parte esta incompleta y aqui pretendo que si el jugador pierde crear un algoritmo que pase al siguiente numero de la serie de fibonacci y utilice esa cantidad en la siguiente apuesta. Y si el jugador gana la apuesta ,retroceda 2 posiciones en la serie de numeros y en la proxima apuesta apostaria dicha cantidad. Ej:Si gana cuando el numero de fibonacci es 8 pues retrocederia 2 posiciones en la serie que equivale al numero 3 y apostaria ese 3 en la siguiente apuesta.Si pierdo cuando el numero de fibonacci es 8 pues pasaria a 13 que es el siguiente numero en la serie y apostaria 13 en la siguiente apuesta.
saldo=saldo-apuesta } }
if (saldo>=objectivo){resultado.vector[i]=1}
if(saldo<0){saldo=saldo+apuesta}
n.carreras.vector[i]=n.carreras saldo.vector[i]=saldo
}
Si alguien me puede ayudar a encontrar la forma de conseguirlo.Soy principiante programando en R.gracias |
|