Paradoks Monty’ego Halla
: 15 sie 2024, 12:31
Oglądając TV (nie pamiętam jaki program i który kanał) zostałem zaintrygowany przypadkiem pewnej pani z wysokim IQ, która udzieliła głupiej odpowiedzi na głupie pytanie.
Niespecjalnie mnie to zdziwiło, bo nie wierzę w związek zdolności do rozwiązywania zagadek z rzeczywistą inteligencją...
Najpierw znalazłem to: https://www.empowerment-coaching.com/po ... na-swiecie
No niby wszystko się zgadzało...
Stamtąd trafiłem na Wikipedię https://pl.wikipedia.org/wiki/Paradoks_ ... 9ego_Halla
Ale czym więcej czytałem tych wyjaśnień, tym bardziej sprawa mi śmierdziała i coraz bardziej kojarzyła się z brakującą złotówką https://forum.szafa.pl/17/6307799/zagad ... t-1zl.html
Otóż jedno z podstawowych praw informatyki mówi, że przetwarzanie błędnych danych daje błędne wyniki.
Nie ma w tym prawie ani słowa o sprawności urządzenia przetwarzającego.
Czy to będzie najnowocześniejszy superkomputer, czy geniusz z IQ idącym w setki, to jeśli będzie przetwarzał błędne dane, otrzyma błędne wyniki.
Nawiasem mówiąc, to tłumaczy dlaczego ludzie doskonale wykształceni, ponadprzeciętnie inteligentni i wybitni w określonych dziedzinach, wypowiadając się w innych tematach potrafią pleść takie bzdury, że zęby bolą kiedy się ich słucha...
Wróćmy jednak do meritum.
Zwykle takie "paradoksy" opierają się na zestawieniu rzeczy nie mających ze sobą żadnego związku, ale uparcie się ze sobą kojarzącymi, albo ignorowaniu rzeczy o istotnym znaczeniu.
Ale sprawę postanowiłem wyjaśnić naukowo, czyli napisać odpowiedni symulator, na Arduino, bo najłatwiej, najszybciej, a sprzęt wystarczy w zupełności...
Wyszło mi coś takiego:
Najpierw losujemy zmienne bid, win i lost.
Odpowiadają one numerom trzech bramek zgodnie z zasadą, że wygrana i obstawiana mogą mieć dowolne numery, ale tracona nie może być wygraną lub obstawianą.
Potem zwiększamy zmienną hit jeśli trafiliśmy w wygraną skrytkę i jest to sytuacja gdy nie zmieniamy wyboru i jest on dobry.
No i tutaj zaczynają się schody...
Porównywać należy rzeczy porównywalne, czyli ilość trafień bez zmiany wyboru z ilością trafień po zmianie wyboru.
Otóż żeby zmiana wyboru była skuteczna, to pierwszy wybór musiał być błędny i nie da się znaleźć innych warunków.
U mnie jest linia if ((bid != win) && (bid != lost) ) changed++; ale to nie ma sensu, bo drugi warunek jest zawsze spełniony.
Najzwyczajniej zostawiłem program w takim stanie do jakiego doszedłem i dalej nie mam pomysłu.
Wytłumaczenia mam dwa.
Pierwsze i dość popularne, że mamy dwa wybory, które nie są ze sobą w żaden sposób związane, czyli najpierw wybieramy 1 z 3, ale potem 1 z 2.
Drugie, moje własne, że od początku mamy ten sam wybór 1 z 2. No bo albo wybierzemy bramkę z nagrodą, albo nie ważne którą pustą, bo i tak puste zostaną zredukowane do jednej.
No a teraz wyzwanie.
Wielu tutaj marzy o tym żeby udowodnić że jestem debilem, no to macie okazję.
Tak przepiszcie mój program, żeby był poprawny i dawał wynik inny niż pół na pół...
Niespecjalnie mnie to zdziwiło, bo nie wierzę w związek zdolności do rozwiązywania zagadek z rzeczywistą inteligencją...
Najpierw znalazłem to: https://www.empowerment-coaching.com/po ... na-swiecie
No niby wszystko się zgadzało...
Stamtąd trafiłem na Wikipedię https://pl.wikipedia.org/wiki/Paradoks_ ... 9ego_Halla
Ale czym więcej czytałem tych wyjaśnień, tym bardziej sprawa mi śmierdziała i coraz bardziej kojarzyła się z brakującą złotówką https://forum.szafa.pl/17/6307799/zagad ... t-1zl.html
Otóż jedno z podstawowych praw informatyki mówi, że przetwarzanie błędnych danych daje błędne wyniki.
Nie ma w tym prawie ani słowa o sprawności urządzenia przetwarzającego.
Czy to będzie najnowocześniejszy superkomputer, czy geniusz z IQ idącym w setki, to jeśli będzie przetwarzał błędne dane, otrzyma błędne wyniki.
Nawiasem mówiąc, to tłumaczy dlaczego ludzie doskonale wykształceni, ponadprzeciętnie inteligentni i wybitni w określonych dziedzinach, wypowiadając się w innych tematach potrafią pleść takie bzdury, że zęby bolą kiedy się ich słucha...
Wróćmy jednak do meritum.
Zwykle takie "paradoksy" opierają się na zestawieniu rzeczy nie mających ze sobą żadnego związku, ale uparcie się ze sobą kojarzącymi, albo ignorowaniu rzeczy o istotnym znaczeniu.
Ale sprawę postanowiłem wyjaśnić naukowo, czyli napisać odpowiedni symulator, na Arduino, bo najłatwiej, najszybciej, a sprzęt wystarczy w zupełności...
Wyszło mi coś takiego:
Kod: Zaznacz cały
uint32_t hit = 0;
uint32_t changed = 0;
uint8_t bid = 0;
uint8_t win = 0;
uint8_t lost =0;
void setup() {
Serial.begin(115200);
}
void loop() {
for ( int i=0; i<1000; i++) {
do {
bid = random(1,4);
win = random(1,4);
lost = random(1, 4);
}while (( lost == bid ) || ( lost == win ));
if ( bid == win ) hit++;
if ((bid != win) && (bid != lost) ) changed++;
}
Serial.println(hit);
Serial.println(changed);
Serial.println(" ");
//if ((lost==bid)||(lost==win)) Serial.println("FAILED");
//Serial.println(bid);
//Serial.println(win);
//Serial.println(lost);
//Serial.println(" ");
delay(500);
}
Odpowiadają one numerom trzech bramek zgodnie z zasadą, że wygrana i obstawiana mogą mieć dowolne numery, ale tracona nie może być wygraną lub obstawianą.
Potem zwiększamy zmienną hit jeśli trafiliśmy w wygraną skrytkę i jest to sytuacja gdy nie zmieniamy wyboru i jest on dobry.
No i tutaj zaczynają się schody...
Porównywać należy rzeczy porównywalne, czyli ilość trafień bez zmiany wyboru z ilością trafień po zmianie wyboru.
Otóż żeby zmiana wyboru była skuteczna, to pierwszy wybór musiał być błędny i nie da się znaleźć innych warunków.
U mnie jest linia if ((bid != win) && (bid != lost) ) changed++; ale to nie ma sensu, bo drugi warunek jest zawsze spełniony.
Najzwyczajniej zostawiłem program w takim stanie do jakiego doszedłem i dalej nie mam pomysłu.
Wytłumaczenia mam dwa.
Pierwsze i dość popularne, że mamy dwa wybory, które nie są ze sobą w żaden sposób związane, czyli najpierw wybieramy 1 z 3, ale potem 1 z 2.
Drugie, moje własne, że od początku mamy ten sam wybór 1 z 2. No bo albo wybierzemy bramkę z nagrodą, albo nie ważne którą pustą, bo i tak puste zostaną zredukowane do jednej.
No a teraz wyzwanie.
Wielu tutaj marzy o tym żeby udowodnić że jestem debilem, no to macie okazję.
Tak przepiszcie mój program, żeby był poprawny i dawał wynik inny niż pół na pół...