wtorek, 4 stycznia 2011
Muzyka filmowa
Przeglądając dzisiaj Internet natknąłem się przypadkiem na fragment jednego z moich ulubionych filmów - Forrest Gump. Pod wpływem chwili postanowiłem napisać własną muzykę, do trailera tego filmu (bo niestety nie mogłem znaleźć żadnego sensownego filmiku z wyborem scen). Uprzedzam krytyczne uwagi wszelkich Panów Muzyków - wiem, że jest nierówno, wiem, że są błędy ale... mam to gdzieś :P Mam nadzieję, że komuś się spodoba :)
wtorek, 26 stycznia 2010
Zanim spalicie mnie na stosie - przeczytajcie!
Po tym jak moja poprzednia notka o prezentach od firmy Microsoft trafiła na wykop.pl, posypała się lawina niepochlebnych komentarzy w moją stronę, których zupełnie się nie spodziewałem. Na początku pomyślałem sobie, że nie warto się przed nimi bronić i wyjaśniać całej sprawy (w końcu nie będę podejmował dyskusji, która jest bezcelowa), ale moja cierpliwość się wyczerpała. Chciałbym zatem napisać kilka słów sprostowania.
Po pierwsze bardzo żałuję, że całej mojej poprzedniej notki (a przynajmniej jej części), nie ująłem w grube i wyraźne tagi [UWAGA! ŻART I IRONIA!] [/UWAGA! ŻART I IRONIA!]. Może to uchroniłoby mnie przed tym co się stało w komentarzach na wykopie, ponieważ zdaje się, że nikt z czytających moją notkę (pomimo jasnego stwierdzenia na jej końcu) nie potraktował całego opisu jako żartu i myślał, że naprawdę wymarzyłem sobie tego XBox'a i byłem wielce rozczarowany zawartością paczki! Ludzie - ideę XBox'a wymyśliłem na poczekaniu przy okazji pisania notki... Pozwolę się również odnieść do kilku ciekawych komentarzy z wykopu.
esce napisał: "Moim zdaniem ten kpiący ton jest nie na miejscu. Ktoś musiał wpaść na pomysł wysłania upominków, temu komuś pewnie zrobiło się przykro. Korporacja to nie monolit, tam też są ludzie, którzy chcieli, żeby Ci było miło a Ty to tak niemile wyśmiałeś.
Jestem wrażliwy w poniedziałki, dlatego tak jakoś smutno mi się zrobiło w imieniu pracownika Microsoftu."
Przepraszam z góry za ironię i zaznaczam, że w dalszym ciągu notki będzie jej dużo, żeby znowu nikt nie wziął moich słów dosłownie. A więc po pierwsze jestem pewien, że cały oddział Microsoft Polska płacze teraz po nocach w poduszkę i opowie niedługo w programie "Uwaga" jak to potraktowali ich niewdzięczni studenci. Tylko czekać aż zacznie się fala zbiorowych samobójstw... Co do wyśmiania - wyjaśniłem już wcześniej.
bodziukaszol napisał: "Typowe podejście. Wybzdurał sobie autor, że dostanie xboxa. Pewnie słodził temu pracownikowi w korespondencji, że głowa boli, chcąc jak najwięcej wyrwać.
Plus do Microsoftu. Fajnie, że jego pracownicy przeglądają wykop.
@up Był tak naprawdę zawiedziony bo chciał więcej, ale głupio nie podziękować."
Jasne, że słodziłem pracownikowi w Microsofcie. Tak naprawdę pisałem im jaką to mają wspaniałą firmę i że moim marzeniem byłaby praca w niej, a także wspólny lot z Billem Gatesem jego prywatnym odrzutowcem... No ale skoro nie mają wolnych miejsc to może chociaż przyślą mi XBoxa, bo cóż to takiego dla takiej wspaniałej i potężnej korporacji, w której pracują sami przystojni faceci, tacy jak Pan Mariusz, który się ze mną kontaktował.
Floyt napisał:@esce
"Zwykły dupek. Mam nadzieje ze w nastepnej paczce bedzie pozew ^^. Zazwyczaj nie jestem msciwy ale wk!%#ia mnie gdy ktos dostaje cos za darmo i zamiast powiedzieć dziekuje, czy docenić, to jeszcze chce wiecej.
XBoxa chcial... w morde powinien dostać a nie xboxa... "
No faktycznie nie podziękowałem. Słowo dziękuję ani razu nie pojawia się w mojej notce. Dupek ze mnie!
KaloryfeR napisał: "Gość jest dla mnie kretynem. Bardzo fajny gest ze strony microsoftu a temu jeszcze mało. Szkoda że filmiki nie działają bo chętnie bym zobaczył jak to linux miażdży windowsa.
Ciekawe czy jak napiszę że ubuntu ssie to użytkownicy zrzucą mi się na prezent? Nie, nie zrobią tego. Ale bardzo chętnie obrzucą mnie błotem. "
No cóż każdy ma prawo do swojego zdania i jeśli dla kogoś jestem kretynem to spoko. Niech będzie. Ale co do obrzucania błotem, to sprawdziłbym czy np. nie ma go na Twoich rękach, no chyba, że już umyłeś...
LamaEffect napisał: "Następnym razem panie wielki, przyślą Ci 42" LCD i xboxa, żebyś już nie płakał jak to źle Cię potratowano.
Żałosne. "
A możesz mi przysłać chusteczki? Bo już wszystkie zużyłem przy tym płakaniu i smarkam na monitor...
Powyższe komentarze, to tylko jedne z wielu. Wybrałem te z największą ilością plusów, co wydatnie świadczy o tym, że wystarczy kogoś opluć i obrzucić błotem, bo to przecież łatwiejsze niż zrozumienie treści jego notki. No i dostanie się więcej plusów. Jedynym pozytywem w tej całej sytuacji jest to, że Pan Mariusz Kędziora, który się ze mną kontaktował, nie dał się wciągnąć w to całe linczowanie i podszedł do sprawy z odpowiednim dystansem. Bo wydaje mi się, że to nie mnie go brakuje, jak sugerowali niektórzy z wykopowiczów. Cieszą mnie również te nieliczne sensowne komentarze, bo pokazują, że są jeszcze ludzie, którzy potrafią rzeczowo dyskutować.
Po pierwsze bardzo żałuję, że całej mojej poprzedniej notki (a przynajmniej jej części), nie ująłem w grube i wyraźne tagi [UWAGA! ŻART I IRONIA!] [/UWAGA! ŻART I IRONIA!]. Może to uchroniłoby mnie przed tym co się stało w komentarzach na wykopie, ponieważ zdaje się, że nikt z czytających moją notkę (pomimo jasnego stwierdzenia na jej końcu) nie potraktował całego opisu jako żartu i myślał, że naprawdę wymarzyłem sobie tego XBox'a i byłem wielce rozczarowany zawartością paczki! Ludzie - ideę XBox'a wymyśliłem na poczekaniu przy okazji pisania notki... Pozwolę się również odnieść do kilku ciekawych komentarzy z wykopu.
esce napisał: "Moim zdaniem ten kpiący ton jest nie na miejscu. Ktoś musiał wpaść na pomysł wysłania upominków, temu komuś pewnie zrobiło się przykro. Korporacja to nie monolit, tam też są ludzie, którzy chcieli, żeby Ci było miło a Ty to tak niemile wyśmiałeś.
Jestem wrażliwy w poniedziałki, dlatego tak jakoś smutno mi się zrobiło w imieniu pracownika Microsoftu."
Przepraszam z góry za ironię i zaznaczam, że w dalszym ciągu notki będzie jej dużo, żeby znowu nikt nie wziął moich słów dosłownie. A więc po pierwsze jestem pewien, że cały oddział Microsoft Polska płacze teraz po nocach w poduszkę i opowie niedługo w programie "Uwaga" jak to potraktowali ich niewdzięczni studenci. Tylko czekać aż zacznie się fala zbiorowych samobójstw... Co do wyśmiania - wyjaśniłem już wcześniej.
bodziukaszol napisał: "Typowe podejście. Wybzdurał sobie autor, że dostanie xboxa. Pewnie słodził temu pracownikowi w korespondencji, że głowa boli, chcąc jak najwięcej wyrwać.
Plus do Microsoftu. Fajnie, że jego pracownicy przeglądają wykop.
@up Był tak naprawdę zawiedziony bo chciał więcej, ale głupio nie podziękować."
Jasne, że słodziłem pracownikowi w Microsofcie. Tak naprawdę pisałem im jaką to mają wspaniałą firmę i że moim marzeniem byłaby praca w niej, a także wspólny lot z Billem Gatesem jego prywatnym odrzutowcem... No ale skoro nie mają wolnych miejsc to może chociaż przyślą mi XBoxa, bo cóż to takiego dla takiej wspaniałej i potężnej korporacji, w której pracują sami przystojni faceci, tacy jak Pan Mariusz, który się ze mną kontaktował.
Floyt napisał:@esce
"Zwykły dupek. Mam nadzieje ze w nastepnej paczce bedzie pozew ^^. Zazwyczaj nie jestem msciwy ale wk!%#ia mnie gdy ktos dostaje cos za darmo i zamiast powiedzieć dziekuje, czy docenić, to jeszcze chce wiecej.
XBoxa chcial... w morde powinien dostać a nie xboxa... "
No faktycznie nie podziękowałem. Słowo dziękuję ani razu nie pojawia się w mojej notce. Dupek ze mnie!
KaloryfeR napisał: "Gość jest dla mnie kretynem. Bardzo fajny gest ze strony microsoftu a temu jeszcze mało. Szkoda że filmiki nie działają bo chętnie bym zobaczył jak to linux miażdży windowsa.
Ciekawe czy jak napiszę że ubuntu ssie to użytkownicy zrzucą mi się na prezent? Nie, nie zrobią tego. Ale bardzo chętnie obrzucą mnie błotem. "
No cóż każdy ma prawo do swojego zdania i jeśli dla kogoś jestem kretynem to spoko. Niech będzie. Ale co do obrzucania błotem, to sprawdziłbym czy np. nie ma go na Twoich rękach, no chyba, że już umyłeś...
LamaEffect napisał: "Następnym razem panie wielki, przyślą Ci 42" LCD i xboxa, żebyś już nie płakał jak to źle Cię potratowano.
Żałosne. "
A możesz mi przysłać chusteczki? Bo już wszystkie zużyłem przy tym płakaniu i smarkam na monitor...
Powyższe komentarze, to tylko jedne z wielu. Wybrałem te z największą ilością plusów, co wydatnie świadczy o tym, że wystarczy kogoś opluć i obrzucić błotem, bo to przecież łatwiejsze niż zrozumienie treści jego notki. No i dostanie się więcej plusów. Jedynym pozytywem w tej całej sytuacji jest to, że Pan Mariusz Kędziora, który się ze mną kontaktował, nie dał się wciągnąć w to całe linczowanie i podszedł do sprawy z odpowiednim dystansem. Bo wydaje mi się, że to nie mnie go brakuje, jak sugerowali niektórzy z wykopowiczów. Cieszą mnie również te nieliczne sensowne komentarze, bo pokazują, że są jeszcze ludzie, którzy potrafią rzeczowo dyskutować.
niedziela, 24 stycznia 2010
Jak naciągnąć Billa Gatesa?
Po przeczytaniu tytułu tej notki spodziewacie się pewnie co najmniej danych kart kredytowych lub konta wspomnianego dżentelmena. Niestety muszę Was rozczarować... Tytuł odnosi się do zamieszczonych przeze mnie wcześniej na tym blogu filmów "Windows vs Linux".

Otóż po zamieszczeniu tychże filmików na portalu wykop.pl dostałem list od pewnego Pana z firmy Microsoft Polska. Z początku myślałem, że w załącznikach znajdę szkic pozwu sądowego i zaproszenie na rozprawę, tak jak niegdyś niejaki Mike Rowe, twórca strony MikeRoweSoft. Treść maila okazała się jednak bardziej zaskakująca niż się spodziewałem. Otóż przedstawiciel MS nie tylko nie przysłał mi pozwu ani informacji o rychłym zapukaniu do mych drzwi komisji kontroli legalności oprogramowania, ale napisał, że podobają mu się filmiki i chciałby wysłać ich autorom upominki od firmy mającej na sumieniu system Windows. Cóż, nadal pomimo bardzo miłej korespondencji z tymże Panem, obawiałem się trochę tego co przyniesie do mych drzwi listonosz. Po kilku dniach sprawa się wyjaśniła.



Gdy zobaczyłem duże pudło pomyślałem sobie - XBox! Kiedy wziąłem je do ręki - za lekkie na XBoxa... No cóż, rozpakujmy zatem. W sumie 100.000 złotych przecież też nie jest ciężkie. Po dobraniu się do wnętrza pudła moim oczom ukazał się taki widok

Hmm... Plecak spoko, Campus dobra firma i jeszcze ma logo Microsoft. Nie wiem czy jak pójdę z tym plecakiem to nie zostanę napadnięty i zlinczowany przez bandę ortodoksyjnych czcicieli Pingwina, ale co tam - napis zawsze można w razie czego odpruć. Dwa kolejne zawiniątka jawiły mi się jako mp3 i dysk zewnętrzny. Po rozpakowaniu okazało się, że są to kubek i czarne pudełko.

Co było w środku? Nie trzymam Was już dłużej w niepewności...

No cóż, będzie czym otwierać piwo i wino na imprezach. Co więcej, na ten ostatni prezent zrzuciło się trzech potentatów rynku informatycznego, a mianowicie MS, HP i Intel.

No została jeszcze intrygująca koperta z intrygującym napisem:

W środku był... bloczek firmowych kartek formatu B5 Microsoftu. A - no i nie zapomnijmy o firmowych długopisach.
Przepraszam za być może zgryźliwy ton mojej notki, bo wbrew pozorom jestem bardzo pozytywnie zaskoczony reakcją firmy Microsoft Polska, która widocznie od czasów sprawy Mike'a Rowe'a zmieniła nieco politykę dotyczącą kreowania wizerunku firmy. Dziękuję również za przysłane nam upominki, ale w przyszłości nie obrażę się (ja i współautorzy filmu) jeśli pierwszą rzeczą jaka powita nas po otworzeniu paczki, będzie zielona literka X ;)
Otóż po zamieszczeniu tychże filmików na portalu wykop.pl dostałem list od pewnego Pana z firmy Microsoft Polska. Z początku myślałem, że w załącznikach znajdę szkic pozwu sądowego i zaproszenie na rozprawę, tak jak niegdyś niejaki Mike Rowe, twórca strony MikeRoweSoft. Treść maila okazała się jednak bardziej zaskakująca niż się spodziewałem. Otóż przedstawiciel MS nie tylko nie przysłał mi pozwu ani informacji o rychłym zapukaniu do mych drzwi komisji kontroli legalności oprogramowania, ale napisał, że podobają mu się filmiki i chciałby wysłać ich autorom upominki od firmy mającej na sumieniu system Windows. Cóż, nadal pomimo bardzo miłej korespondencji z tymże Panem, obawiałem się trochę tego co przyniesie do mych drzwi listonosz. Po kilku dniach sprawa się wyjaśniła.



Gdy zobaczyłem duże pudło pomyślałem sobie - XBox! Kiedy wziąłem je do ręki - za lekkie na XBoxa... No cóż, rozpakujmy zatem. W sumie 100.000 złotych przecież też nie jest ciężkie. Po dobraniu się do wnętrza pudła moim oczom ukazał się taki widok

Hmm... Plecak spoko, Campus dobra firma i jeszcze ma logo Microsoft. Nie wiem czy jak pójdę z tym plecakiem to nie zostanę napadnięty i zlinczowany przez bandę ortodoksyjnych czcicieli Pingwina, ale co tam - napis zawsze można w razie czego odpruć. Dwa kolejne zawiniątka jawiły mi się jako mp3 i dysk zewnętrzny. Po rozpakowaniu okazało się, że są to kubek i czarne pudełko.

Co było w środku? Nie trzymam Was już dłużej w niepewności...

No cóż, będzie czym otwierać piwo i wino na imprezach. Co więcej, na ten ostatni prezent zrzuciło się trzech potentatów rynku informatycznego, a mianowicie MS, HP i Intel.

No została jeszcze intrygująca koperta z intrygującym napisem:

W środku był... bloczek firmowych kartek formatu B5 Microsoftu. A - no i nie zapomnijmy o firmowych długopisach.
Przepraszam za być może zgryźliwy ton mojej notki, bo wbrew pozorom jestem bardzo pozytywnie zaskoczony reakcją firmy Microsoft Polska, która widocznie od czasów sprawy Mike'a Rowe'a zmieniła nieco politykę dotyczącą kreowania wizerunku firmy. Dziękuję również za przysłane nam upominki, ale w przyszłości nie obrażę się (ja i współautorzy filmu) jeśli pierwszą rzeczą jaka powita nas po otworzeniu paczki, będzie zielona literka X ;)
Informatyka na wesoło: Algorytmy Genetyczne
Witam po nieco przydługiej przerwie spowodowanej tzw. wirusem końca semestru i takimi tam. Na szczęście po zażyciu kilku lekarstw i odchorowaniu swojego mam wreszcie czas żeby zająć się napisaniem notki na bloga.
Po sukcesie cyklu filmików "Windows vs Linux" postanowiłem, że na moim blogu zaistnieje nowy cykl artykułów pod wspólnym tytułem "Informatyka na wesoło". Muszę w końcu odreagować te wszystkie poważne i w dużej mierze, nie bójmy się użyć tego słowa, nudne kursy w jakich uczestniczyłem na mojej uczelni. Postanowiłem na to wszystko spojrzeć z własnej perspektywy i z przymrużeniem oka. Co nie znaczy oczywiście, że czegoś pożytecznego z tych notek nie będzie można się dowiedzieć czy nauczyć. Nauka poprzez zabawę to przecież podobno najlepsza metoda. Zaczynajmy więc!
W dzisiejszym artykule weźmiemy na warsztat i postaramy się rozwiać mgiełkę tajemnicy otaczającą Algorytmy Genetyczne. Pojęcie stworzone na kanwie modnego połączenia Informatyki i Biologii, dwóch dziedzin, które zdają się niewiele mieć ze sobą wspólnego, ale ta pierwsza bardzo ochoczo czerpie nazwy dla różnych pojęć od tej drugiej. Nie wiem czy wynika to z tego, że fajniej i bardziej magicznie one brzmią, czy też twórcy tych pojęć są bardziej zadowoleni z siebie używając pojęć "biologicznych", które nadają ich tworom dodatkowych, często przereklamowanych, sensów? Nie mam pojęcia, więc ograniczę się tylko do przyjęcia faktu, że tak jest. Mając na uwadze fakt, że mojego bloga czytają ludzie nie związani na co dzień z Informatyką zacznę od zdefiniowania dwóch podstawowych pojęć tworzących ten wspaniały termin jakim są Algorytmy Genetyczne. Zacznijmy od algorytmu. Jest to skończony, uporządkowany ciąg instrukcji... Wiem, przestaliście się skupiać po przeczytaniu słowa skończony. I słusznie! Nie potrzeba wcale 4 mądrych słów żeby wyjaśnić co to jest algorytm. Jest to po prostu lista kolejnych czynności do wykonania. I tyle w zupełności wystarczy. Co do drugiego terminu, genetyczny, to niby można powiedzieć - związany z genetyką, oparty na niej, ale niektórym też może to niewiele mówić. I to właśnie do Was apeluję o odrobinę cierpliwości - przeczytajcie ten tekst do końca, a ten termin przestanie Wam być obcy. Teraz kiedy już zdefiniowaliśmy sobie podstawowe pojęcia, powiedzmy może słów parę o tym, do czego w ogóle służą te nadęte Algorytmy Genetyczne? Otóż, do tego, do czego powinny służyć wszystkie algorytmy - do rozwiązywania problemów. Również tych niestety, których bez tych wszystkich algorytmów w ogóle by nie było, no ale umówmy się, że w większości są one użyteczne. Jak zatem to wszystko działa? Żeby to zrozumieć musimy cofnąć się trochę wstecz, do czasów kiedy ludzie nie znali jeszcze pojęcia komputer, a po Ziemi radośnie biegały dinozaury... Nie - zaraz, zaraz! Zagalopowałem się! Nie aż tak daleko :P A więc, dawno, dawno temu...
Żyła sobie hipotetyczna grupa ludzi. Nazwijmy ich dla wygody populacją początkową. Warto się na chwilę zatrzymać nad tą specyficzną grupą. Z naszego punktu widzenia (a właściwie z punktu widzenia poprawności działania naszego algorytmu) najlepiej jest kiedy jest to grupa jak najbardziej różnorodna. Zarówno osobniki określane przez nas jako normalne jak i największe indywidua powinny się w niej znaleźć. A to dlatego, że już za chwilę będziemy łączyć tych wszystkich ludzi w pary, które stworzą nam kolejne osobniki na drodze, przepraszam za to określenie, krzyżowania. Z oczywistych zatem względów populacja początkowa nie może wyglądać tak:

ani tak:

Mając już zatem odpowiednią populację początkową, możemy przejść do najprzyjemniejszej rzeczy, czyli krzyżowania. Z krzyżowania też wzięło początek określenie "genetyczny" dla naszego algorytmu. To jak wygląda dany osobnik zależy od tego, jakie ma geny. Geny to taki zbiór informacji o kolorze oczu, włosów, obwodzie klaty i bica... Podczas procesu powstawania nowego osobnika geny krzyżują się ze sobą, mieszając w sposób przypadkowy różne cechy ze sobą. I powstaje nowy osobnik z nowym zbiorem cech zaczerpniętym od obojga rodziców. Przejdźmy zatem do tego krzyżowania. Ale nie tak szybko! Jeśli pozwolimy na pełną samowolkę to niewiele wyjdzie z naszego algorytmu! Tutaj warto w końcu ujawnić cel naszego działania jakim jest wyhodowanie najlepszego, mega, super, nadczłowieka. Aby tego dokonać potrzebujemy bardzo starannie dobierać rodziców, których dzieci stworzą kolejne pokolenie. W jaki sposób to osiągnąć? Wprowadzając coś, co się nazywa funkcją oceny! Niech za dobre przybliżenie roli takiej funkcji posłuży poniższy obraz:

Oceniamy zatem każdego osobnika nadając mu odpowiednie "noty". Osobniki z najwyższymi notami mają następnie największe szanse na krzyżowanie.

Na szczęście to, że mają większe szanse nie oznacza, że Ci z gorszymi notami, w ogóle przepadną. Na szczęście (dla tych słabiej ocenionych oczywiście, ale jak się okazuje dla naszego algorytmu również ;)) los bywa przewrotny:

i kojarzy różne dziwne pary:

których skrzyżowanie daje czasami naprawdę ciekawe rezultaty:

Kiedy już zakończymy cały proces krzyżowania dla naszej populacji początkowej, uwzględniając oczywiście w podany powyżej sposób noty każdego z osobników, pozostaje nam jeszcze jedna ważna rzecz, a mianowicie - mutacja! Tak, dobrze przeczytaliście, mutacja. Co pewien (dość rzadki czas) jeden z osobników zmienia się nieznacznie w sposób niekontrolowany, czasami in plus, ale czasami również na niekorzyść. Na dłuższą metę jednak mutacja jest bardzo korzystna i jest właściwie jedną z rzeczy, która gwarantuje nam sukces w poszukiwaniu tego jednego, jedynego. Skrzyżowaliśmy zatem wszystkich osobników, zmutowaliśmy niektórych i co dalej? Całą operację powtarzamy od początku, tylko, że tym razem potomkowie naszej populacji początkowej stają się populacją początkową i zabawa zaczyna się od nowa. Po odpowiednio długim czasie wśród potomków pojawia się nasz długo wyczekiwany, najlepiej przystosowany osobnik, który mógł być po prostu zwykłym, cholernym szczęściarzem:

I tak to właśnie wszystko działa. Ten nasz najlepszy osobnik jest po prostu rozwiązaniem naszego problemu, a populacja początkowa to zbiór początkowych, jakichś rozwiązań naszego problemu. Oczywiście przytoczony tutaj opis nie w pełni wyczerpuje temat Algorytmów Genetycznych, ale myślę, że w dość dobry sposób opisuje jak to wszystko działa ;) Miłych eksperymentów i komentowania!
P.s. Jeśli nie jesteś tzw. "informatykiem" to nie czytaj dalej, bo Cię to nie rozśmieszy. Przypomniała mi się pewna sytuacja z zajęć na uczelni. Otóż podczas prezentacji na temat pozycjonowania stron kolega prowadzący tę prezentację stwierdził, że jego ciotka pracuje w firmie Google, właśnie przy pozycjonowaniu. No cóż, w niektórych wypadkach ewolucja się nie popisała... A może zaszła za daleko...
Po sukcesie cyklu filmików "Windows vs Linux" postanowiłem, że na moim blogu zaistnieje nowy cykl artykułów pod wspólnym tytułem "Informatyka na wesoło". Muszę w końcu odreagować te wszystkie poważne i w dużej mierze, nie bójmy się użyć tego słowa, nudne kursy w jakich uczestniczyłem na mojej uczelni. Postanowiłem na to wszystko spojrzeć z własnej perspektywy i z przymrużeniem oka. Co nie znaczy oczywiście, że czegoś pożytecznego z tych notek nie będzie można się dowiedzieć czy nauczyć. Nauka poprzez zabawę to przecież podobno najlepsza metoda. Zaczynajmy więc!
W dzisiejszym artykule weźmiemy na warsztat i postaramy się rozwiać mgiełkę tajemnicy otaczającą Algorytmy Genetyczne. Pojęcie stworzone na kanwie modnego połączenia Informatyki i Biologii, dwóch dziedzin, które zdają się niewiele mieć ze sobą wspólnego, ale ta pierwsza bardzo ochoczo czerpie nazwy dla różnych pojęć od tej drugiej. Nie wiem czy wynika to z tego, że fajniej i bardziej magicznie one brzmią, czy też twórcy tych pojęć są bardziej zadowoleni z siebie używając pojęć "biologicznych", które nadają ich tworom dodatkowych, często przereklamowanych, sensów? Nie mam pojęcia, więc ograniczę się tylko do przyjęcia faktu, że tak jest. Mając na uwadze fakt, że mojego bloga czytają ludzie nie związani na co dzień z Informatyką zacznę od zdefiniowania dwóch podstawowych pojęć tworzących ten wspaniały termin jakim są Algorytmy Genetyczne. Zacznijmy od algorytmu. Jest to skończony, uporządkowany ciąg instrukcji... Wiem, przestaliście się skupiać po przeczytaniu słowa skończony. I słusznie! Nie potrzeba wcale 4 mądrych słów żeby wyjaśnić co to jest algorytm. Jest to po prostu lista kolejnych czynności do wykonania. I tyle w zupełności wystarczy. Co do drugiego terminu, genetyczny, to niby można powiedzieć - związany z genetyką, oparty na niej, ale niektórym też może to niewiele mówić. I to właśnie do Was apeluję o odrobinę cierpliwości - przeczytajcie ten tekst do końca, a ten termin przestanie Wam być obcy. Teraz kiedy już zdefiniowaliśmy sobie podstawowe pojęcia, powiedzmy może słów parę o tym, do czego w ogóle służą te nadęte Algorytmy Genetyczne? Otóż, do tego, do czego powinny służyć wszystkie algorytmy - do rozwiązywania problemów. Również tych niestety, których bez tych wszystkich algorytmów w ogóle by nie było, no ale umówmy się, że w większości są one użyteczne. Jak zatem to wszystko działa? Żeby to zrozumieć musimy cofnąć się trochę wstecz, do czasów kiedy ludzie nie znali jeszcze pojęcia komputer, a po Ziemi radośnie biegały dinozaury... Nie - zaraz, zaraz! Zagalopowałem się! Nie aż tak daleko :P A więc, dawno, dawno temu...
Żyła sobie hipotetyczna grupa ludzi. Nazwijmy ich dla wygody populacją początkową. Warto się na chwilę zatrzymać nad tą specyficzną grupą. Z naszego punktu widzenia (a właściwie z punktu widzenia poprawności działania naszego algorytmu) najlepiej jest kiedy jest to grupa jak najbardziej różnorodna. Zarówno osobniki określane przez nas jako normalne jak i największe indywidua powinny się w niej znaleźć. A to dlatego, że już za chwilę będziemy łączyć tych wszystkich ludzi w pary, które stworzą nam kolejne osobniki na drodze, przepraszam za to określenie, krzyżowania. Z oczywistych zatem względów populacja początkowa nie może wyglądać tak:

ani tak:

Mając już zatem odpowiednią populację początkową, możemy przejść do najprzyjemniejszej rzeczy, czyli krzyżowania. Z krzyżowania też wzięło początek określenie "genetyczny" dla naszego algorytmu. To jak wygląda dany osobnik zależy od tego, jakie ma geny. Geny to taki zbiór informacji o kolorze oczu, włosów, obwodzie klaty i bica... Podczas procesu powstawania nowego osobnika geny krzyżują się ze sobą, mieszając w sposób przypadkowy różne cechy ze sobą. I powstaje nowy osobnik z nowym zbiorem cech zaczerpniętym od obojga rodziców. Przejdźmy zatem do tego krzyżowania. Ale nie tak szybko! Jeśli pozwolimy na pełną samowolkę to niewiele wyjdzie z naszego algorytmu! Tutaj warto w końcu ujawnić cel naszego działania jakim jest wyhodowanie najlepszego, mega, super, nadczłowieka. Aby tego dokonać potrzebujemy bardzo starannie dobierać rodziców, których dzieci stworzą kolejne pokolenie. W jaki sposób to osiągnąć? Wprowadzając coś, co się nazywa funkcją oceny! Niech za dobre przybliżenie roli takiej funkcji posłuży poniższy obraz:

Oceniamy zatem każdego osobnika nadając mu odpowiednie "noty". Osobniki z najwyższymi notami mają następnie największe szanse na krzyżowanie.

Na szczęście to, że mają większe szanse nie oznacza, że Ci z gorszymi notami, w ogóle przepadną. Na szczęście (dla tych słabiej ocenionych oczywiście, ale jak się okazuje dla naszego algorytmu również ;)) los bywa przewrotny:

i kojarzy różne dziwne pary:

których skrzyżowanie daje czasami naprawdę ciekawe rezultaty:

Kiedy już zakończymy cały proces krzyżowania dla naszej populacji początkowej, uwzględniając oczywiście w podany powyżej sposób noty każdego z osobników, pozostaje nam jeszcze jedna ważna rzecz, a mianowicie - mutacja! Tak, dobrze przeczytaliście, mutacja. Co pewien (dość rzadki czas) jeden z osobników zmienia się nieznacznie w sposób niekontrolowany, czasami in plus, ale czasami również na niekorzyść. Na dłuższą metę jednak mutacja jest bardzo korzystna i jest właściwie jedną z rzeczy, która gwarantuje nam sukces w poszukiwaniu tego jednego, jedynego. Skrzyżowaliśmy zatem wszystkich osobników, zmutowaliśmy niektórych i co dalej? Całą operację powtarzamy od początku, tylko, że tym razem potomkowie naszej populacji początkowej stają się populacją początkową i zabawa zaczyna się od nowa. Po odpowiednio długim czasie wśród potomków pojawia się nasz długo wyczekiwany, najlepiej przystosowany osobnik, który mógł być po prostu zwykłym, cholernym szczęściarzem:

I tak to właśnie wszystko działa. Ten nasz najlepszy osobnik jest po prostu rozwiązaniem naszego problemu, a populacja początkowa to zbiór początkowych, jakichś rozwiązań naszego problemu. Oczywiście przytoczony tutaj opis nie w pełni wyczerpuje temat Algorytmów Genetycznych, ale myślę, że w dość dobry sposób opisuje jak to wszystko działa ;) Miłych eksperymentów i komentowania!
P.s. Jeśli nie jesteś tzw. "informatykiem" to nie czytaj dalej, bo Cię to nie rozśmieszy. Przypomniała mi się pewna sytuacja z zajęć na uczelni. Otóż podczas prezentacji na temat pozycjonowania stron kolega prowadzący tę prezentację stwierdził, że jego ciotka pracuje w firmie Google, właśnie przy pozycjonowaniu. No cóż, w niektórych wypadkach ewolucja się nie popisała... A może zaszła za daleko...
niedziela, 3 stycznia 2010
Windows vs Linux
Ostatnio dopadła nas (mnie i moich dwóch kolegów) na uczelni konieczność zrobienia seminarium na przedmiot Systemy Operacyjne. Temat seminarium: "Windows vs Linux". Na temat porównania tych dwóch systemów napisano już olbrzymie ilości tekstów, a sam "konfikt" miedzy systemami operacyjnymi urósł niemal do rangi Świętej Wojny. Z jednej strony miłośnicy darmowych, ogólnodostępnych, opensourcowych rozwiązań, a po drugiej strażnicy złego, zamkniętego świata komercji i rozwiązań monopolistycznych, którzy chcą wyssać biednych klientów do ostatniego centa. My postanowiliśmy podejść do tematu na wesoło, a efekty możecie zobaczyć poniżej - miłego oglądania i komentowania :)







Alternatywne linki z YouTube:
Alternatywne linki z YouTube:
poniedziałek, 14 grudnia 2009
Logo Euro 2012
Wreszcie nadszedł długo wyczekiwany moment, którego wielu ludzi wypatrywało z niecierpliwością... Odsłoniona miała zostać tajemnica, której ujawnienia z zapartym tchem wyczekiwała cała Europa... I nie - nie chodziło wcale o informację o rozpoczęciu seryjnej produkcji samochodów na wodę czy też o nakaz zwrócenia zbyt pochopnie przyznanej pewnemu prezydentowi Nagrody Nobla, a o - uwaga! - logo piłkarskich Mistrzostw Europy 2012. Mistrzostw, które jak wiadomo odbędą się w naszym kraju oraz na Ukrainie. No nie bez stresu przyznam się również czekałem na ten moment, ponieważ wielką zagadką było dla mnie to, jak sobie poradzą z tym zadaniem nasi zdolni, Praktycznie Zawsze Prawnie Nieomylni, działacze. I teraz już nareszcie znam odpowiedź na to pytanie. Niespodziewałem się, że to napiszę, ale jest dobrze... A nawet bardzo dobrze! Logo wygląda nieźle (choć trochę trąci folklorem) i bardzo dobrze łączy tradycję z nowoczesnością. Może nie będę skromny, ale powiem, że to najciekawsze logo Mistrzostw Europy, jakie do tej pory widziałem. Nie będę się tutaj rozwodził bardziej, gdyż obraz wart jest więcej niż tysiąc słów. Mam tylko nadzieję, że Mistrzostwa będą przynajmniej tak udane jak logo ;)
poniedziałek, 7 grudnia 2009
Zmierzch Raula
Już od mniej więcej dwóch lat pogodziłem się z faktem, że mój sportowy idol czyli Raul Gonzalez Blanco, kapitan Realu Madryt, powoli wykazywać się będzie słabnącą formą, a co za tym idzie będzie również zmniejszała się jego rola w drużynie. Nie wiedziałem, że nastąpi to jednak tak szybko! Tego lata Real, w odpowiedzi na potrójną koronę Barcelony i za sprawą powrotu legendarnego prezesa Florentino Pereza, wzmocnił się wieloma piłkarzami z najwyższej półki. Cristano Ronaldo, Kaka, Benzema, Xabi Alonso to kwartet, który miał gwarantować zdetronizowanie Barcelony. Nie będę tutaj skupiał się na tym, czy ten plan zmierza we właściwym kierunku, ale skupię się na tym, jaką gra w nim rolę Raul. Otóż na początku mogło się wydawać, że bardzo dużą. Trener Pellegrini regularnie na niego stawiał, a kapitan odwdzięczał się bramkami. Warto napomknąć, że mimo ogromu rekordów, które już pobił, jeszcze są przed nim kolejne, które ma szanse poprawić. Jednak od 5 tygodni kapitan praktycznie nie gra. Oczywiście zrozumiałym jest, że to nowe nabytki i piłkarze młodzi powinni dostawać więcej szans, żeby się ogrywać, ale sposób w jaki Raul został odsunięty od składu nieco mnie zaskoczył. W momencie kiedy Benzema nie jest jeszcze gotowy na wielkie wyzwania, bo wciąż się aklimatyzuje, to Raul powinien mimo wszystko dostawać więcej szans na grę. Tak się jednak nie dzieje. Doszło nawet do tego, że w ostatnim meczu ligowym szansę dostał Van Der Vaart, a nikt mi nie wmówi, że Holender jest od Raula piłkarzem lepszym. No cóż, powoli nadchodzi zmierzch czasów Raula Gonzaleza jako zawodnika Realu Madryt (i w ogóle zawodnika, bo nie wierzę że przejdzie on do jakiegokolwiek innego klubu), ale pewnie nie straci on miejsca w klubie. Mam mimo wszystko nadzieję, że zanim zostanie dyrektorem Realu Madryt to uda mu się wyśrubować bądź poprawić jeszcze kilka rekordów, bo jak nikt inny, za swoją postawę i profesjonalizm, na to zasługuje.
P.s. A tutaj coś dla fanów el Siete
P.s. A tutaj coś dla fanów el Siete
Subskrybuj:
Posty (Atom)