elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Adivinar número más probable falla creo.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Adivinar número más probable falla creo.  (Leído 415 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Adivinar número más probable falla creo.
« en: 22 Febrero 2021, 01:52 am »

Código
  1. Escena 1
  2.   actions for fotograma 1
  3.      N0 = 0;
  4.      N1 = 0;
  5.      N2 = 0;
  6.      N3 = 0;
  7.      N4 = 0;
  8.      N5 = 0;
  9.      N6 = 0;
  10.      N7 = 0;
  11.      N8 = 0;
  12.      N9 = 0;
  13.      MostProbably = 0;
  14.   actions for fotograma 2
  15.      Num = random(10);
  16.      trace ("Num es "+Num);
  17.      set ("N"+Num, eval("N"+Num)+1);
  18.      if (MostProbably < eval("N"+Num)) {
  19.         MostProbably = Num;
  20.      }
  21.      trace ("MostProbably es "+MostProbably);
  22.   actions for fotograma 3
  23.      gotoAndPlay (2);

Por ejemplo en una ejecución:
Num es 4
MostProbably es 4
Num es 7
MostProbably es 4
Num es 6
MostProbably es 4
Num es 9
MostProbably es 4
Num es 7
MostProbably es 4

El 4 apareció sólo 1 vez mientras que el 7 2, pero el más probable no cambió a 7.


En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.560



Ver Perfil
Re: Adivinar número más probable falla creo.
« Respuesta #1 en: 23 Febrero 2021, 21:19 pm »

Tienes un malentendido en tu IF, no debes guardar el Num aleatorio en MostProbably, por ejemplo si te da 4 como en tu código, entonces tendría que generarse al menos 4 veces un Num para que recién pueda cambiar el valor de MostProbably

Lo que si podrías hacer es guardar en MostProbably el nombre de la variable que tenga la mayor cantidad de repeticiones, y acceder al contenido de esa variable usando eval:

Código
  1. Escena 1
  2.  
  3.  actions for fotograma 1
  4.    N0 = 0;
  5.    N1 = 0;
  6.    N2 = 0;
  7.    N3 = 0;
  8.    N4 = 0;
  9.    N5 = 0;
  10.    N6 = 0;
  11.    N7 = 0;
  12.    N8 = 0;
  13.    N9 = 0;
  14.    MostProbably = "N0";
  15.  
  16.  actions for fotograma 2
  17.    Num = random(10);
  18.    trace("Num es " + Num);
  19.    set( "N" + Num, eval("N" + Num) + 1 );
  20.    if ( eval(MostProbably) < eval("N" + Num) ) {
  21.      MostProbably = "N" + Num;
  22.    }
  23.    trace( "MostProbably es " + eval(MostProbably) );
  24.  
  25.  actions for fotograma 3
  26.    gotoAndPlay (2);


En línea

nosoy

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Adivinar número más probable falla creo.
« Respuesta #2 en: Ayer a las 12:43 »

Ese algoritmo lo que no tiene en cuenta, me parece, es la posibilidad de que haya varios dígitos cuya frecuencia de repeteción es máxima, en lugar de uno solo. Ese caso deberá presentarse cíclcamente si la función random está bien construida, porque la probabilidad teórica de cada dígito es 0.1, y con el crecimiento de pruebas más debe de acercarse la frecuencia de cada dígito a ese teórico 0.1.

Creo que el algoritmo lo que presenta es el nº de aparciones del primer dígito que llega a ese máximo, y luego sigue presetando el mismo dígito (aunque otros dígitos hayan igualado el nº de repeticiones) hasta que es superado por algún dígito que aparezca una vez más.

Si por ejemplo en un momento dado el que más ha salido es el '7' con 14 apariciones, digamos, y de pronto el '1' llega a también a 14 apariciones sigue saliendo el '7' en exclusiva ¿no? O eso creo. Y si otro dígito llega también a las 14 repeticiones seguirá saliendo el '7'; solamente cambiará cuando alguno alcance las 15 repeticiones, y entonces volvera a quedarse en ese nuevo hasta que alguno llegue a 16, y así sucesivamente...
En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.560



Ver Perfil
Re: Adivinar número más probable falla creo.
« Respuesta #3 en: Ayer a las 13:43 »

Excelente análisis @nosoy, yo me he tenido que leer la referencia del lenguaje AS2.0 para entenderlo completamente.

Por cierto me he encontrado con el Macromedia Flash MX 2004, solo pesa 62MB, también un manual de referencia del lenguaje Action Script 2.0 para Macromedia Flash MX 2004:
https://mega.nz/folder/V1ZRwKZL#H3zOInCBHyewEvT9OZ8gvQ

- Es un programa viejo y sin soporte (AbandomWare), así que no creo que tenga problemas :P

Su depurador puede ser útil para resolver problemas ya que permite ejecutar línea a línea y ver las variables, trace (output), etc
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿A cual lenguaje pertecene este numero 0x808080 creo que es un color?
Programación General
Aikanáro Anário 3 2,409 Último mensaje 21 Julio 2011, 20:18 pm
por Aikanáro Anário
Script adivinar numero en bash
Scripting
andaluz 9 9,643 Último mensaje 22 Noviembre 2011, 12:59 pm
por andaluz
Programa que no funciona para adivinar un numero
.NET (C#, VB.NET, ASP)
eva87 1 1,742 Último mensaje 19 Abril 2012, 00:28 am
por $Edu$
Creo que falla la placa base.
Hardware
Meta 7 7,660 Último mensaje 3 Septiembre 2012, 20:57 pm
por Meta
Duda adivinar numero sin fallar
Programación C/C++
Beginner Web 7 1,039 Último mensaje 29 Junio 2019, 00:06 am
por huchoko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines