Sivut

Kommentit (8886)

Eusa
Seuraa 
Viestejä16949

Kyttääjä kirjoitti:
Jos kaikilla muilla neljällä on sininen hattu, tn:t arvata oman hatun väri ovat:

tapauksia = 100000000 ... tn_sininen_hattu = 0.090859150000000
tapauksia = 100000000 ... tn_vihrea_hattu = 0.454611500000000
tapauksia = 100000000 ... tn_musta_hattu = 0.454529350000000


Mikäli visamestarilla on AINA 1/3 todennäköisyys arpoa hatun väri ja pelaaja näkee kaikilla muilla sinisen hatun, on pelaajan oma hattu sininen todennäköidyydellä 1/3.

Sen sijaan jos pelaaja ei tiedä muiden hattujen väriä, on todennäköisyys sangen pieni arvaukseksi, että kaikki hatut ovat sinisiä. Todettu toteutuma ei vaikuta jatkotodennäköisyyksiin - vain arvattava yhdistelmä voi olla todenäköisyyden perusta; kun vain yksi hattu kuuluu arvausyhdistelmään, on tn=1/3.

Kuitenkin, jos esittämäni rajoitus max 5 kpl kutakin väriä arvottavissa hatuissa otettaisiin käyttöön, olisi visamestarin osuminen viidennen kerran siniseen hattuun 1/11 todennäköistä. Vastausarvonnan painotuksiin vaikuttaisi silloin se kuinka monta samanväristä hattua on näkösällä. Jos vain kaksi samaa väriä näkyy, kannattaa vastata "ohi"...

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

Käyttäjä18034
Seuraa 
Viestejä265

Olipa kerran köyhä talonpoika jonka täytyi viedä valmistamansa makkara- ja olutkuorma kirkollisverona 5 km päähän papille, muuten tila olisi pantu ulosottoon. Kuorma oli niin painava ettei isäntä jaksanut sitä kantaa. Talossa oli makkaran ja oluen perään kuolaava renki, joka ei viitsinyt siirtyillä kuin 100 metriä päivässä ja oli lisäksi ateisti. Oli myös heiveröinen aasi, joka jaksoi kantaa vain isännän ja makkarakuorman tai isännän ja olutkuorman.
Miten isäntä sai kirkollisveronsa papille, koska makkarat ja renki tai oluet ja renki eivät voineet jäädä yhtäaikaa maatilalle?

Vastaus:
·uoɹǝʌsᴉๅๅoʞɹᴉʞ uɐɐɯɐʇnou uǝɥǝᴉɯoʇʇosoๅn ᴉʇʇǝɥɐๅ ᴉddɐꓒ

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
Kyttääjä
Seuraa 
Viestejä878

Eusa][quote=Kyttääjä kirjoitti:
Jos kaikilla muilla neljällä on sininen hattu, tn:t arvata oman hatun väri ovat:

tapauksia = 100000000 ... tn_sininen_hattu = 0.090859150000000
tapauksia = 100000000 ... tn_vihrea_hattu = 0.454611500000000
tapauksia = 100000000 ... tn_musta_hattu = 0.454529350000000


Mikäli visamestarilla on AINA 1/3 todennäköisyys arpoa hatun väri ja pelaaja näkee kaikilla muilla sinisen hatun, on pelaajan oma hattu sininen todennäköidyydellä 1/3.

Sano sitten, millä rivillä simulaattori bugittaa?

#include <stdio.h>

#include <stdlib.h>

enum hatut
{
   sininen=0,
   vihrea=1,
   musta=2,
};

int vert(const void *a, const void *b)
{
   int A=*(int*)a;
   int B=*(int*)b;
   return A-B;
}

void main(void)
{
   int hattu[5];
   double tn_sininen_hattu=0.0;
   double tn_vihrea_hattu=0.0;
   double tn_musta_hattu=0.0;
   double kpl=0.0;

   while (1)
   {
      for (int i=0; i<5; i++)
      {
         hattu[i]=random(3);
      }
      qsort(hattu, 5, sizeof(int), vert);

      int on=1;
      for (int i=0; i<4; i++)
      if (hattu[i] != sininen)
      {
         on=0;
         break;
      }
      if (on)
      {
         if (hattu[4] == sininen) tn_sininen_hattu+=1.0;
         if (hattu[4] == vihrea) tn_vihrea_hattu+=1.0;
         if (hattu[4] == musta) tn_musta_hattu+=1.0;
         kpl+=1.0;

         static int loop=0;
         if ((++loop)==1000000)
         {
            printf("tapauksia = %0.0f ... tn_sininen_hattu = %0.15f\n",
            kpl, tn_sininen_hattu/kpl);
            printf("tapauksia = %0.0f ... tn_vihrea_hattu = %0.15f\n",
            kpl, tn_vihrea_hattu/kpl);
            printf("tapauksia = %0.0f ... tn_musta_hattu = %0.15f\n",
            kpl, tn_musta_hattu/kpl);
            printf("\n");
            loop=0;
         }
      }
   }
}

Kyttääjä
Seuraa 
Viestejä878

Kyttääjä kirjoitti:
Jos kaikilla muilla neljällä on sininen hattu, tn:t arvata oman hatun väri ovat:

tapauksia = 100000000 ... tn_sininen_hattu = 0.090859150000000
tapauksia = 100000000 ... tn_vihrea_hattu = 0.454611500000000
tapauksia = 100000000 ... tn_musta_hattu = 0.454529350000000

Kahdellamiljardilla tapauksessa tn:t ovat:

tapauksia = 2 000 000 000 ... tn_sininen_hattu = 0.090904950000000
tapauksia = 2 000 000 000 ... tn_vihrea_hattu = 0.454541576000000
tapauksia = 2 000 000 000 ... tn_musta_hattu = 0.454553474000000

Eusa
Seuraa 
Viestejä16949

Kyttääjä kirjoitti:
Huoh...lainaukset menevät taas miten sattuu eikä oikoluvussakaan ole kehumista.

PO. Kahdella miljardilla tapauksella tn:t ovat:


Jos pelaaja näkee muiden hattujen olevan sinisiä, todennäköisyys, että hänenkin hattunsa on sininen, on sama kuin yhden hatun värin arpomisessa eli 1/3(rajaton määrä hattuja) tai 1/11 (variaatioiden mukainen minimimäärä hattuja).

Onko sinulla ongelma tämän käsittämisessä?

1/11 = 0,090909...

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

Eusa
Seuraa 
Viestejä16949

Ja nuo muut todennäköisyydet ovat 5/11 = 0,454544... Turhaa noita ajaa miljardeilla simulaatioilla. :DD

Hienorakennevakio vapausasteista: (1+2¹+3²+5³+1/2¹*3²/5³)⁻¹ = 137,036⁻¹

Kyttääjä
Seuraa 
Viestejä878

Jos visailijan 1 päässä on sininen hattu, ja visailijan 2 päässä on vihreä hattu ja visailija 3 päässä on musta hattu ja visailija 4 kirjoittaa ohi, ja viides visailija arvaa hattunsa värin, tn:t ovat:

tapauksia = 1 000 000 000 ... tn_sininen_hattu = 0.333329821000000
tapauksia = 1 000 000 000 ... tn_vihrea_hattu = 0.333334975000000
tapauksia = 1 000 000 000 ... tn_musta_hattu = 0.333335204000000

Kyttääjä
Seuraa 
Viestejä878

Kun luki kaikki kommenttisi, niin 5/11 + 5/11 + 1/11 = 1, joten siinä suhteessa ei ole nokan koputtamista. Eikä minulla ole vaikeuksia ymmärtää, koska yleensä todennäköisyyksiä laskeva simulaattori laskee satunnaisluvuilla.

Nyt simulaattori pitää vain kirjoittaa plaraamaan kaikki vaihtoehdot läpi ja valita paras todennäköisyys. Esimerkiksi visailija 1 ja 2 päässä on sininen hattu, ja visailija 3 päässä on vihreä hattu, visailija neljä kirjoittaa ohi ja visailija 5 arvaa hattunsa värin.

Mutta pitää huomioida myös se seikka, että millä todennäköisyydellä joku visailija kirjoittaa ohi, ja millä tn:llä visailija arvaa hattunsa värin.

kuha
Seuraa 
Viestejä51

Kyttääjä kirjoitti:
Kun luki kaikki kommenttisi, niin 5/11 + 5/11 + 1/11 = 1, joten siinä suhteessa ei ole nokan koputtamista. Eikä minulla ole vaikeuksia ymmärtää, koska yleensä todennäköisyyksiä laskeva simulaattori laskee satunnaisluvuilla.

Nyt simulaattori pitää vain kirjoittaa plaraamaan kaikki vaihtoehdot läpi ja valita paras todennäköisyys. Esimerkiksi visailija 1 ja 2 päässä on sininen hattu, ja visailija 3 päässä on vihreä hattu, visailija neljä kirjoittaa ohi ja visailija 5 arvaa hattunsa värin.

Mutta pitää huomioida myös se seikka, että millä todennäköisyydellä joku visailija kirjoittaa ohi, ja millä tn:llä visailija arvaa hattunsa värin.

Tehtävän ei pitäisi olla kovin vaikea( itse olen sen kehittänyt parissa päivässä ).  Vaikuttaa tietenkin mahdottomalta, mutta olen löytänyt useampia kuin yhden yhteisen strategian, joka antaa onnistumistodennäköisyyden yli 0.5.

Tn. 0.629.. on varsin hyvä tulos, mutta siitäkin voi vielä vähän pinnistää paremmaksi.  Tai sitten olen taas postittanut keskeneräisen ja väärin laskemani tehtävän. 

Maanantaina ennätän palata tehtävän pariin ja silloin annan oman ratkaisuni, jos näyttää tarpeelliselta.

Kyttääjä
Seuraa 
Viestejä878

Kyttääjä kirjoitti:
Jos visailijan 1 päässä on sininen hattu, ja visailijan 2 päässä on vihreä hattu ja visailija 3 päässä on musta hattu ja visailija 4 kirjoittaa ohi, ja viides visailija arvaa hattunsa värin, tn:t ovat:

tapauksia = 1 000 000 000 ... tn_sininen_hattu = 0.333329821000000
tapauksia = 1 000 000 000 ... tn_vihrea_hattu = 0.333334975000000
tapauksia = 1 000 000 000 ... tn_musta_hattu = 0.333335204000000

Optimoin vähän koodia, koska kaikkien vaihtoehtojen läpikäynti vaatii tehokasta prosessointia. Kymmenellä miljardilla tapauksella tn:t ovat (Eusalle töitä :-)

tapauksia = 10 000 000 000 ... tn_sininen_hattu = 0.333341016700000
tapauksia = 10 000 000 000 ... tn_vihrea_hattu = 0.333337146900000
tapauksia = 10 000 000 000 ... tn_musta_hattu = 0.333321836400000

Kyttääjä
Seuraa 
Viestejä878

Kyttääjä kirjoitti:
Jos visailijan 1 päässä on sininen hattu, ja visailijan 2 päässä on vihreä hattu ja visailija 3 päässä on musta hattu ja visailija 4 kirjoittaa ohi, ja viides visailija arvaa hattunsa värin, tn:t ovat:

tapauksia = 1 000 000 000 ... tn_sininen_hattu = 0.333329821000000
tapauksia = 1 000 000 000 ... tn_vihrea_hattu = 0.333334975000000
tapauksia = 1 000 000 000 ... tn_musta_hattu = 0.333335204000000

Optimoin vähän koodia, koska kaikkien vaihtoehtojen läpikäynti vaatii tehokasta prosessointia. Kymmenellä miljardilla tapauksella tn:t ovat:

tapauksia = 10 000 000 000 ... tn_sininen_hattu = 0.333341016700000
tapauksia = 10 000 000 000 ... tn_vihrea_hattu = 0.333337146900000
tapauksia = 10 000 000 000 ... tn_musta_hattu = 0.333321836400000

Tuosta muuten näkee ja voi päätellä että tietokoneen arpomat pseudosatunnaissuvut eivät anna aivan optimaalisinta jakaumaa :-(

Bongasin aikoinani Läskiperseen vai Rasvaperseen kirjoittaman pseudosatunnaislukufunktion:

// tuotetaan satunnaiskokonaisluku
static unsigned long R16A=1L;
static unsigned long R16B=2L;
inline unsigned long rnd(unsigned max)
{
   R16A -= 0x012357bfL;
   R16B += 0xfedca201L;
   R16A += (R16A>>16)^(R16B<<16);
   R16B -= (R16A<<16)^(R16B>>16);
   return (R16A^R16B)%max;
}

Tuo funktio antaa vähän paremman satunnaislukujakauman, koska kymmenellä mirljardilla tapauksella tn:t ovat:

tapauksia = 10 000 000 000 ... tn_sininen_hattu = 0.333332645900000
tapauksia = 10 000 000 000 ... tn_vihrea_hattu = 0.333335461000000
tapauksia = 10 000 000 000 ... tn_musta_hattu = 0.333331893100000

Sivut

Suosituimmat

Uusimmat

Sisältö jatkuu mainoksen alla

Uusimmat

Suosituimmat