niedziela, 25 listopada 2012

Spoiler panic!

Jak już wspomniałem w artykule o „Kłamcy”, ludzie nie lubią, gdy im się opowiada szczegóły jakiegoś utworu (w szczególności zakończenie). Jestem w stanie to zrozumieć - dlatego szanuję preferencje takich ludzi i nie opowiadam nikomu fabuły (w każdym bądź razie nie celowo), bo wiem, że dana osoba może sobie tego nie życzyć i że może jej to sprawić autentyczną przykrość. Sam kiedyś tak miałem, więc chociaż nie potrafię wytłumaczyć, dlaczego ludzie tak bardzo tego nie lubią, to wiem jak to jest.

czwartek, 22 listopada 2012

Generator liczb losowych: losowanie sukcesu z zadanym prawdopodobieństwem

Czasem w programie czy grze musimy wybrać jakąś akcję z pewnym prawdopodobieństwem. W grach planszowych (lub innych nie-komputerowych) stosuje się często tzw. kostki procentowe(*). Ogólnie takie losowanie można przyrównać do rzutu oszukaną monetą - gdzie prawdopodobieństwo sukcesu jest różne od 50%.

(*) - Najczęściej stosuje się kombinację dwóch kostek 10-ściennych. Prawdziwe kostki 100-ścienne są nieporęczne.

W programie jednak prawdopodobieństwo nie musi być zadane procentami - może być to liczba rzeczywista z zakresu [0; 1], albo liczba całkowita określająca względną częstość (w przypadku procentów - prawdopodobieństwo w procentach względem 100%).

Napisanie odpowiedniego kodu nie powinno przedstawiać żadnych trudności przeciętnemu programiście. Trzeba tylko pamiętać o użyciu odpowiedniego operatora porównującego:

int max; //maksymalna częstość (100 dla procentów)
int p; //zadane prawdopodobieństwo (jako względna częstość)
if(random(max)<p) return 1;
else return 0;

lub, jeśli prawdopodobieństwa są liczbami rzeczywistymi z zakresu [0; 1]

float p; //zadane prawdopodobieństwo
if(random()<p) return 1; //random zwraca tu liczbę z zakresu [0; 1)
else return 0;

Jak widać, użyłem operatora '<'. To ważne - gdyby użyć operatora '<=' (lub skonstruować inny, równoważny temu kod), taka funkcja zwracałaby sukces z trochę większym niż zadane prawdopodobieństwem. Tego rodzaju błąd (pomyłka o 1) ma chyba nawet swoją nazwę - kiedyś widziałem, niestety nie pamiętam już teraz, jak coś takiego mogło się nazywać. Jeśli ktoś ma kłopoty, jakiego porównania użyć, to mogę doradzić, aby poeksperymentował z małymi liczbami - ja tak zawsze robię, jeśli mam jakieś wątpliwości.

środa, 21 listopada 2012

Arkadij i Borys Strugaccy

19 listopada zmarł Borys Strugacki . 21 lat wcześniej, 12 października 1991 roku, zmarł jego brat, Arkadij. Obydwaj bracia napisali wspólnie wiele książek, z których przeczytałem tylko niektóre. Czytałem je dawno temu, więc nie pamiętam nawet ich tytułów (kojarzę parę tytułów, ale oprócz „Pikniku na skraju drogi”, który akurat posiadam - i co ciekawe niedawno ponownie przeczytałem - nie pamiętam zbytnio ich treści). Pamiętam jednak, że zawsze mi się podobały - z takiego czy innego powodu.

Oprócz tego, że byli jednymi z najlepszych pisarzy SF na świecie niewiele o nich wiem, więc nie będę dużo pisał. Chciałem tylko ich tutaj wspomnieć.

Borys Strugacki (2006).
Autor: Бережной Сергей, źródło: Wikimedia Commons.

piątek, 16 listopada 2012

"Kłamca"

Jak już wspominałem, niedawno skończyłem czytać tetralogię "Kłamca" Jakuba Ćwieka. Książki bardzo mi się podobały i mogę z czystym sumieniem polecić je każdemu fanowi fantastyki. Jednak jak w przypadku każdego dzieła i tu można się dopatrzyć kilku wad. Zamierzam pokrótce je opisać (o dobrych stronach też trochę powiem, ale - parafrazując profesora Tolkiena - o tych złych rzeczach opowiada się lepsze historie ).

Mała uwaga. Ja sam co prawda jestem na to uodporniony, ale zdaję sobie sprawę z tego, że ludzie nie lubią, gdy im się opowiada szczegóły jakiejś książki czy filmu (tzw. spoilers). Dlatego lojalnie ostrzegam każdego, kto natknie się na ten artykuł, że w dalszej jego części znajdują się szczegóły dotyczące fabuły tej serii książek i jej zakończenia.

piątek, 9 listopada 2012

Carl Sagan

Carl Sagan (1934 – 1996). Autorstwo: NASA/JPL, źródło: Wikipedia.

Dzisiaj, 9 listopada - w dniu jego urodzin, przypada dzień Carla Sagana. Dzień Carla Sagana jest świętowany przez miłośników nauki i racjonalizmu na całym świecie. Jest jakby naszym świętem.

Dowiedziałem się o tym o 11 wieczorem - gdyby nie to, może napisałbym o nim coś więcej.

Ja chciałbym napisać o tym, co ja o nim wiem. Opisać to, co jest mi o nim wiadomo.

Carl Sagan był nie tylko wielkim popularyzatorem nauki. Był naukowcem - astronomem, astrofizykiem, kosmologiem. Był również autorem licznych książek i popularnonaukowej serii telewizyjnej. Gdyby żył, kończyłby dzisiaj 78 lat.

środa, 7 listopada 2012

Tolerancja religijna Kościoła

Tak się jakoś złożyło, że ostatnio kilka razy przy różnych okazjach skrytykowałem religie. Nie żebym miał z tym jakiś problem - po prostu uważam, że są ciekawsze rzeczy, o których można pisać. Dlatego walkę z bigoterią i hipokryzją wolę zostawiać innym.

Ale niejako z kronikarskiego obowiązku napiszę jeszcze ten post i zrobię sobie dłuższą przerwę od takiej krytyki .

Chcę tu przedstawić bez komentarza dwie wypowiedzi przedstawicieli Kościoła Katolickiego.

Nie mogę znaleźć żadnego źródła potwierdzającego pierwszą wypowiedź - tylko wzmianki w licznych artykułach. Otóż chodzi o to, że bodajże Józef Glemp wypowiedział się kiedyś (chyba zrobił to nawet w czasie mszy - czyli publicznie), że "ateizm jest stanem nienormalnym człowieka".

Druga wypowiedź dotyczy Kościoła Latającego Potwora Spaghetti. Ksiądz Kazimierz Sowa, dyrektor telewizji Religia.tv, wypowiedział się o nim w następujący sposób:

- Nie traktuję tego poważnie. Albo to niesmaczny żart, albo objaw choroby, którą rozpoznać mogą tylko badania psychiatryczne. Polecam, NFZ uwzględnia takie przypadki.

No i to by było na tyle, jeśli chodzi o tolerancję wobec poglądów innych ludzi i poszanowanie prawa zabraniającego obrażać uczucia religijne innych osób.

wtorek, 6 listopada 2012

Aborcja

Podsumowanie

Niedawno było święto zmarłych, więc pozwolę sobie z tej okazji napisać coś niecoś o sprawach życia i śmierci.

Obecnie trwa w Polsce burza na temat aborcji(*). Politycy głosowali za tym, żeby zaostrzyć i tak już bardzo restrykcyjną ustawę, dzięki czemu miała by ona teraz uniemożliwiać nawet usunięcie płodu o którym wiadomo, że urodzi się kalekim dzieckiem, które będzie przez to cierpieć i przez co cierpieć będzie jego otoczenie (że o ciążach pochodzących z gwałtu nie wspomnę). Co ciekawe, politycy mieli w tych głosowaniach pełną swobodę ponieważ to była niby ich sprawa światopoglądowa. Nie mówię, że to źle, ale można by się zastanowić, czy taki światopogląd, który zrównuje połowę społeczeństwa de facto z jakimiś hodowlanymi zwierzętami nie posiadającymi władzy nad własnym życiem i służącymi do rozrodu jest warty szacunku, że o posiadaniu go nie wspomnę.

(*) - Jak dla mnie jest to odwracanie uwagi od rzeczywistych problemów, ale mniejsza o to.

Podobnie Kościół wypowiedział się w obronie owych polityków, że nie wolno ich krytykować, ponieważ w takich sprawach ludzie powinni kierować się własnym sumieniem. Ciekawe, czy biskupi mówili by to samo, gdyby politycy głosowali niezgodnie z tych biskupów poglądami? Ciekawi mnie również - skoro to jest sprawa osobistego sumienia - dlaczego Kościół nie zostawi tego sumieniu ludzi? Dlaczego zamiast tego próbuje narzucać swoją ideologię społeczeństwu - albo z ambony, głosząc swoje nauki, albo za pomocą ustawy uchwalanej przez posłów działających zgodnie z naukami i wolą Kościoła? Poza tym - no weźcie - to są przecież politycy! Generalizuję teraz, ale na podstawie tego co można zobaczyć w polskiej i nie tylko polityce, śmiem twierdzić, że politycy głosują zgodnie z własnymi sumieniami (cokolwiek by to miało znaczyć) tylko wtedy, kiedy im to pasuje.

Dla przeciwwagi i niejako dla otuchy przytoczę tu jeszcze orzeczenie sądu w Strasburgu w sprawie 14-latki, która została zgwałcona i której bezprawnie odmówiono usunięcia ciąży. Dla przypomnienia: w 2008 roku została zgwałcona i zaszła w ciążę 14-letnia dziewczyna. Wg. polskiego prawa mogła przeprowadzić aborcję, jednak szpitale odmawiały jej tego, w zamian proponując rozmowę z księdzem (sic!) . W końcu po długich męczarniach i szykanach ze strony zarówno społeczeństwa, jaki i państwa oraz lekarzy aborcję jednak przeprowadzono. Wyrok trybunału w Strasburgu brzmi: Polska naruszyła trzy przepisy europejskiej konwencji o ochronie praw człowieka i podstawowych wolności: zakaz nieludzkiego i poniżającego traktowania, prawo do poszanowania życia prywatnego i rodzinnego, a także prawo do wolności i bezpieczeństwa osobistego (i musi w związku z tym zapłacić odszkodowanie). Oczywiście "obrońcy nienarodzonego życia"(*) nie biorą takich praw pod uwagę, ponieważ jakieś tam rozwijające się komórki, które nie posiadają nawet jeszcze (w pełni rozwiniętego) układu nerwowego są ważniejsze niż już urodzone osoby, które posiadają świadomość i potrafią cierpieć - wszystko jedno czy są to dzieci czy dorośli .

(*) - Dałem tych "obrońców" w cudzysłowach, ponieważ gdy się im dobrze przyjrzeć, okazuje się że oni nie bronią żadnego życia. Ba! - oni nie bronią nawet żadnych ideałów. Oni próbują tylko własne ideały narzucić reszcie społeczeństwa.