annuncio

Comprimi
Ancora nessun annuncio.

RIMOSTRANZE e dubbi sul calcolo delle probabilità

Comprimi
Questa discussione è chiusa.
X
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • RIMOSTRANZE e dubbi sul calcolo delle probabilità

    Avrei da porre delle lamentele riguardo il calcolo delle probabilità espresse sui vari schemi che appaiono quando si tenta di fare una pozione o un vestito in base al valore della abilità attuale.

    Faccio un esempio personale. Capitatomi proprio ultimamente:

    1) Alchimia: Se provo a fare le pozioni di veleno normale, e vado a vedere le probabilità che ho nel farle, vedo che ho un 80% di possibilità di fare una pozione di veleno.

    IL PROBLEMA E' CHE NON E' VERO !!!
    NON FALLISCO MAI o quasi mai. Le probabilità EFFETTIVE che ho di fare una pozione le ho calcoalte e sono del 90-95 percento. QUALCOSA non va nel calcolo delle probabilità.

    2) Sartoria: Se provo a fare camicie, la tabella mi dice che ho un 75% di probabilità di farle ! INVECE E' ERRATO !! NON SBAGLIO MAI !!!

    come è possibile tutto questo ?

    Un'altra cosa che ho notato è nel calcolo della possibilità di fare un licio in combattimento. LA COSA ASSURDA E' CHE NON LISCIO MAI !!!

    come è possibile giocare in tal modo se non si sbaglia mai ?


    che forse il calcolo delle probabilità è da rivedere ?

  • #2
    http://forum.gamesnet.it/showthread....0&pagenumber=2


    Aegis Byrth :.: Elethia Byrth :.: Acheron Byrth :.: Nightshade Byrth :.: Eveline Byrth :. on GuildWars
    CdC ₪ Aegis on Team Fortress 2
    Egioh on Battlefield: Bad Company 2

    Commenta


    • #3
      ma basta 'ste sboronate!!!

      chissenefrega se sei il dio in terra buon per te!
      When u'r smiling

      Commenta


      • #4
        Evidentemente ci compensiamo alla grande... io ormai alle probabilità che vedo scritte levo nominalmente un 20-25%... sigh
        AKA Hologram


        • A voi il nuovo successo dell'estate!
        Ce l'hai proprio con me?
        • Dal più grande comunicatore d'Italia...
        Uno che, della vita, ha capito tutto...
        Originally posted by SaGeOwL
        conoscete la grammatica come un bambino del Biafra conosce la sagra del cinghiale

        Commenta


        • #5
          interessante il discorso, dico davvero. In definitiva allora pare solo un'impressione la mia...

          ho letto bene ?
          (anche se prima di postare ho fatto circa 200 pozioni e me ne sono venute fuori 195. Certo, nel farle aumenta la possibilità di successe aumentando la qualità della abilità in alchimia, ma non so se è giusto o meno il calcolo delle probabilità. Certo, potrei anche sbagliare... ma raramente sbaglio... )

          Commenta


          • #6
            Il problema dei generatori di numeri casuali di RunUO è noto e risaputo. Inutile continuare a rimuginarci sopra in questo modo, se avete soluzioni proponetele, come mi pare fece l'utente Socrates qualche tempo fa.

            Commenta


            • #7
              Originally posted by Andrei Ayanori
              Il problema dei generatori di numeri casuali di RunUO è noto e risaputo. Inutile continuare a rimuginarci sopra in questo modo, se avete soluzioni proponetele, come mi pare fece l'utente Socrates qualche tempo fa.
              forse era risaputo per te...


              non è che sono nato sul forum.
              Io, prima (ed anche adesso) avevo una vita reale di tutto rispetto e non ero a conoscenza di questo problema.

              ora lo so... e mi adeguo.

              Commenta


              • #8
                Stai ancora cercando materiale per la tesina di psicologia?

                Commenta


                • #9
                  Originally posted by basinas
                  Stai ancora cercando materiale per la tesina di psicologia?
                  no sto cercando di capire il calcolo delle probabilità, in quanto,mi sono accorto che è sbagliato in eccesso.

                  Commenta


                  • #10
                    L'autore del post mi pare abbia avuto le sue risponste.. prima che si scada nell'ennesimo flame chiudo riportando ancora una volta il discorso sul "random in RunUO":

                    Originally posted by Thanatos
                    Il random è fatto bene.

                    33% di possibilità, non significa che ho successo una volta sì e due no: significa che OGNI volta che provo, ho il 33% di probabilità che QUELLA VOLTA E SOLO QUELLA VOLTA io abbia successo.

                    Per quanto riguarda l'algoritmo, è realizzato direi perfettamente, dal momento che le prove sperimentali che ho fatto hanno determinato un valore molto simile a 6/π² coma probabilità che il massimo comune divisore di due numeri scelti casualmente sia 1.

                    Utilizzando il teorema sopra scritto, possiamo paragonare i risultati del generatore di numeri pseudocasuali della Microsoft, con quello della Wolfram (società che realizza software di calcolo matematico molto potenti), determinando il valore approssimativo di π ottenuto mediante il generatore di numeri pseudocasuali.

                    Qui di seguito l'implementazione per RunUO (se non compilasse, è perché ho forzato delle andate a capo a mano, per evitare che il forum si leggesse male):
                    codice:
                    using System;
                    using Server;
                    
                    namespace Server.Misc
                    {
                    	public class TestRandom
                    	{
                    		public static void Initialize()
                    		{
                    			Server.Commands.Register( "TestRandom", AccessLevel.Administrator,
                    				new CommandEventHandler( TestRandom_OnCommand ) );
                    		}
                    
                    		[Usage( "TestRandom <nmax> <nn>" )]
                    		[Description( "Tests appropriate casuality of pseudorandom numbers" )]
                    		public static void TestRandom_OnCommand( CommandEventArgs e )
                    		{
                    			int nmax;
                    			int nn;
                    
                    			if ( e.Length == 2 )
                    			{
                    				nmax = e.GetInt32( 0 );
                    				nn = e.GetInt32( 1 );
                    
                    				if (nmax <= 0 || nn <= 0 || nn > 10000000)
                    				{
                    					e.Mobile.SendMessage( "Unacceptable values!");
                    					return;
                    				}
                    			}
                    
                    			else
                    			{
                    				e.Mobile.SendMessage( "Usage: TestRandom <nmax> <nn>" );
                    				return;
                    			}
                    
                    
                    			e.Mobile.SendMessage( "Starting test... Result displayed below " +
                    				"should be approximately {0}", Math.PI );
                    			e.Mobile.SendMessage( "Test Completed. Your result is {0}",
                    				DoTest( nmax, nn ) );
                    		}
                    
                    		private static double DoTest( int nmax, int nn )
                    		{
                    			int primes = 0;
                    			double pi = 0;
                    			int m, n, d;
                    
                    			m = Utility.Random( nmax );
                    
                    			for (int i = 0; i < nn; i++)
                    			{
                    				n = Utility.Random( nmax );
                    				d = GCD( m, n );
                    				if ( d == 1)
                    					primes++;
                    				m = n;
                    			}
                    
                    			try { pi = Math.Sqrt( 6.0 * nn / primes ); } catch { }
                    
                    			return pi;
                    		}
                    
                    		public static int GCD( int m, int n )
                    		{
                    			int a = m;
                    			int b = n;
                    			int r;
                    
                    			while ( b != 0 )
                    			{
                    				r = a % b;
                    				a = b;
                    				b = r;
                    			}
                    
                    			return a;
                    		}
                    	}
                    }
                    Questi i risultati con nmax = 1000000 e nn = 10000:
                    codice:
                    3,138824
                    3,138824
                    3,145805
                    3,127291
                    3,138309
                    3,142438
                    3,130099
                    3,176338
                    3,148663
                    3,14425
                    3,157807
                    3,135479
                    3,13625
                    3,148403
                    3,111357
                    3,172872
                    3,140888
                    3,127037
                    3,149964
                    3,113618
                    Questi i risultati eseguiti con il Mathematica:
                    codice:
                    In[2]:=
                    For[j = 0, j < 20, j++,
                    	nmax = 1000000; nn = 10000;
                    	primes = 0;
                     	pi = 0;
                     	m = Random[Integer, nmax];
                    	For[i = 0, i < nn, i++,
                    		n = Random[Integer, nmax]; 
                    		d = GCD[m, n];
                    		If[d == 1, primes++];
                    		m = n];
                    	Print["π = ", Sqrt[6.0 nn/primes]]];];
                    
                    
                    
                    From In[2]:=
                    π = 3.15309
                    
                    From In[2]:=
                    π = 3.11866
                    
                    From In[2]:=
                    π = 3.13882
                    
                    From In[2]:=
                    π = 3.12297
                    
                    From In[2]:=
                    π = 3.12424
                    
                    From In[2]:=
                    π = 3.15728
                    
                    From In[2]:=
                    π = 3.15754
                    
                    From In[2]:=
                    π = 3.12602
                    
                    From In[2]:=
                    π = 3.14866
                    
                    From In[2]:=
                    π = 3.1342
                    
                    From In[2]:=
                    π = 3.15205
                    
                    From In[2]:=
                    π = 3.1342
                    
                    From In[2]:=
                    π = 3.13599
                    
                    From In[2]:=
                    π = 3.13908
                    
                    From In[2]:=
                    π = 3.12424
                    
                    From In[2]:=
                    π = 3.12806
                    
                    From In[2]:=
                    π = 3.13986
                    
                    From In[2]:=
                    π = 3.15833
                    
                    From In[2]:=
                    π = 3.125
                    
                    From In[2]:=
                    π = 3.12857


                    A rigor di completezza, ecco alcuni risultati riguardo il numero di fallimenti consecutivi che possono capitare con una percentuale del 33% di successo. Notate che, per la legge dei grandi numeri, su 1000 tentativi circa 333 hanno successo. Non c'è nulla di strano in questi risultati, anzi, sono perfettamente coerenti con il modo di funzionamento dei numeri casuali. Il fatto che si tratti di numeri pseudocasuali non ha alcuna importanza, se volete potete provare a rifare l'esperimento lanciando un dado, e otterrete risultati simili.

                    codice:
                    In[1]:=
                    chance=33.3;tries=1000;
                    For[j=0,j<20,j++,
                    	results={0,0};
                    	tabella=Table[0,{k,tries}];
                    	For[i=0,i<tries,i++,
                    		random = Random[Integer, {0,99}];
                    		If[chance>random,
                    			results[[1]]++;tabella[[i+1]]=1,
                    			results[[2]]++;tabella[[i+1]]=0]];
                    		sequenza=tabella[[1]];
                    		sequenzamax=0;
                    	For[l=2,l≤tries,l++,
                    		If[sequenzamax<sequenza, sequenzamax=sequenza];
                    		val=tabella[[l]];
                    		If[val==0, sequenza++,sequenza=0]]
                    	Print["Risultati: ",results, " - Sequenza massima di fallimenti: ", sequenzamax]];
                    
                    
                    
                    From In[1]:=
                    Risultati: {343,657} - Sequenza massima di fallimenti: 12
                    
                    From In[1]:=
                    Risultati: {349,651} - Sequenza massima di fallimenti: 15
                    
                    From In[1]:=
                    Risultati: {337,663} - Sequenza massima di fallimenti: 14
                    
                    From In[1]:=
                    Risultati: {343,657} - Sequenza massima di fallimenti: 14
                    
                    From In[1]:=
                    Risultati: {326,674} - Sequenza massima di fallimenti: 11
                    
                    From In[1]:=
                    Risultati: {352,648} - Sequenza massima di fallimenti: 14
                    
                    From In[1]:=
                    Risultati: {338,662} - Sequenza massima di fallimenti: 15
                    
                    From In[1]:=
                    Risultati: {337,663} - Sequenza massima di fallimenti: 15
                    
                    From In[1]:=
                    Risultati: {331,669} - Sequenza massima di fallimenti: 13
                    
                    From In[1]:=
                    Risultati: {333,667} - Sequenza massima di fallimenti: 18
                    
                    From In[1]:=
                    Risultati: {335,665} - Sequenza massima di fallimenti: 17
                    
                    From In[1]:=
                    Risultati: {326,674} - Sequenza massima di fallimenti: 15
                    
                    From In[1]:=
                    Risultati: {341,659} - Sequenza massima di fallimenti: 12
                    
                    From In[1]:=
                    Risultati: {324,676} - Sequenza massima di fallimenti: 14
                    
                    From In[1]:=
                    Risultati: {346,654} - Sequenza massima di fallimenti: 13
                    
                    From In[1]:=
                    Risultati: {340,660} - Sequenza massima di fallimenti: 26
                    
                    From In[1]:=
                    Risultati: {314,686} - Sequenza massima di fallimenti: 18
                    
                    From In[1]:=
                    Risultati: {338,662} - Sequenza massima di fallimenti: 17
                    
                    From In[1]:=
                    Risultati: {325,675} - Sequenza massima di fallimenti: 15
                    
                    From In[1]:=
                    Risultati: {354,646} - Sequenza massima di fallimenti: 11


                    Commenta

                    Sto operando...
                    X