Ocena: 8/10
Połączenie książki o algorytmach z rozwojem osobistym i filozofią życia. Nietypowe połączenie, ale wyszło bardzo dobrze. Pokazano podejście do codziennych decyzji, co by było gdyby zamiast intuicją kierować się optymalizacjami z teorii algorytmów. Prowokuje do innego spojrzenia na sposób w jakim żyjemy.
Moje notatki
- Kiedy się zatrzymać – problem randki z tindera albo poszukiwania optymalnej sekretarki.Gdy nie jesteśmy w stanie ocenić kandydatki w bezpośredniej liczbie odnoszącej do całej populacji.
Interpretacja:gdy jest wiele dobrych kandydatów w puli, należy nawet odpuścić tych bardzo dobrych na początku w poszukiwaniu lepszych później
Algorytm:- przejdź przez 37% kandydatów (pytanie skąd wiemy że przerobiliśmy właśnie 37%…)
- po 37% bierz pierwszą osobę która będzie lepsza od tego zbioru
- Każdy pomiar który da informację o pozycji konkretnego kandydata względem populacji sprawia, że zmieniamy algorytm z „eksploruj-wybieraj” na „threshold rule”.Czyli bierzesz pierwszego który przekroczy dany pułap.
- Ważny faktor w problemie sekretarki, którego ciężko ująć modelem:czas poświęcony na szukanie.Ludzie wolą zatrzymać się wcześniej niż algorytm nakazuje. Bo się nudzą, bo czas przeznaczony na poszukiwanie, nie jest czasem w którym korzystamy z owoców poszukiwania. Czas szukania to czas stracony w pewnym sensie.
- Gittins index – coś czego nie znasz kompletnie jest atrakcyjniejsze niż maszyna która wypłaca kasę 70% czasu.Czyli nowe, nieznane, ma duży potencjał zawsze (który korygujemy wraz z kolejnymi próbami).
Ergo: eksplorowanie ma wartość samą w sobie.Ponieważ próbowanie nowych rzeczy zwiększa naszą szansę na znalezienie rzeczy najlepszej.Młodzieniaszek jest lepszy od weterana o podobnych umiejętnościach bo ma większy niezbadany potencjał ( który opisuje indeks gittinsa ). - „Spróbować i sfailować to co najmniej nauczyć się czegoś.Nie spróbować w ogóle to cierpieć bezcenną utratę czegoś co mogło się mieć…”Cherster Barnard
- Regret minimization framework – czyli takie podejmowanie decyzji które minimalizuje ilość rzeczy które będziesz żałował mając 80 lat.
Oczywiście nigdy żałowanie nie będzie się zmniejszać, zawsze będzie rosnąć.Ale możemy osiągnąć logarytmiczny wzrost żalów:czyli suma żalów w pierwszym roku będzie taka sama jak suma żali w kolejnych 10 latach – siła wzrostu logarytmicznego.
Algortytm: upper confidence bound interval- wybieraj opcję której górne ograniczenie ma największą wartośćczyli opcja która jest w zbiorze takim <x:y> gdzie y jest największe ze wszystkich opcji
oczywiście im więcej mamy danych o tym przedział niepewności jest ciaśniejszy. Więc to trochę promuje niepewne, początkowe opcje.
- wybieraj opcję której górne ograniczenie ma największą wartośćczyli opcja która jest w zbiorze takim <x:y> gdzie y jest największe ze wszystkich opcji
- Wiek a decyzja czy eksplorować czy korzystać
Gdy jesteśmy młodzi eksplorujemy bo więcej czasu możemy przeznaczyć na błędyBędąc starszymi więcej korzystamy ze znanego, bo mamy mniej czasu i chcemy go maksymalnie, hedonistycznie dobrze wykorzystać - Sortowanie a szukanie
Sortowanie czegoś czego nigdy nie użyjesz to kompletna strata czasu
Szukanie czegoś w nieposortowanym jest po prostu niewydajne. Ale wciąż ma użycie. - Jakie algorytmy sortowania używać – ogólna heurystyka:
- bucket sort jest good enough
- w małych przedziałach insert sort jest ok
- albo miej mergesort pizza party
- Mistrzostwa świata w piłce nożnej wyłaniają tylko najlepszą drużynę. Szansa że druga drużyna jest rzeczywiście taka druga, nie jest wcale duża
- Hierarchia, status mają swoje zastosowanie – zmniejszają agresję.
Zamiast w każdym przypadku walką decydować o tym kto jest wyżej używamy miar typu pieniądze, sława, PKB aby od razu mieć hierarchę, pecking-order.
Wobec tego życie przestaje być nieustanną wojną, a zaczyna być wyścigiem.Zawsze coś lepszego chyba? - Cache’owanie – nasza pamięć działa w ten sposób.Jeśli coś będziemy sobie przypominać to nasz mózg będzie to trzymał bliżej i dłużej – im więcej przypomnień w szerszej jednostce czasu.
Więc każde przypomnienie jest jak LRU cache’a – ostatnie użycie podnosi przedmiot na górę cache’a. - W schedule’owaniu podstawa to wiedzieć jaka jest metryka planowania.No bo planujesz to musisz wiedzieć co chcesz zmaksymalizować dzięki temu planowi.
- Czasami rzeczy które są nieważne blokuję te najważniejsze.
Więc stosujesz wtedy priority inheritance – nieważne stają się najważniejsze, bo blokują najważniejsze. - Kiedy jesteś przeładowany zadaniami i przełączanie między nimi – w thrashin state.Wtedy: nawet robienie zadań w złej kolejności jest o wiele lepsze (w losowej kolejności) niż walka o robienie największego priorytetu.Ale: nie może być to wymówka dla robienia błahych rzeczy. Rób tak gdy jesteś przeładowany prio i nie wiesz co powinieneś robić.
- Morał:powinieneś być skoncentrowany na jednym zadaniu tak długo jak to możliwe.Zmniejsz swoją responsywność do pewnego akceptowalnego limitu – typu raz na godzinę albo raz na 30 minut.I miej koncentrację przez resztę czasu.
- Algorytmy do schedulowania
- earliest due date – robisz to co ma najkrótszy okres ważności
- shortest processing time – robisz to co ma najkrótszy czas przetwarzania
- first things first – robisz to co najważniejsze?
- Prawo Laplace’a – jak z danych z przeszłości policzyć prawdopodobieństwo w przyszłości.
x+1 / y+2
x – ile razy wydarzyło się w przeszłości
y – ile razy mogło się wydarzyć - Kopernikańska reguła (lindy):jesteśmy mniej więcej w połowie trwania rzeczy
więc będą trwać tyle jeszcze, ile do dzisiaj trwały.
Np. III Rp – trwa do dzisiaj 30 lat, więc będzie jeszcze 30 lat
Smartfony – są 10 lat, więc będą jeszcze 10 do 2029. - Reguła multiplikatywna – update’owanei predykcji w świetle faktów.
Jeśli któs jest poniżej połowy średniej w rozkładzie normalnym – przewiduj że osiągnie średnią.Jeśli się zbliża do średniej – to podność predykcje o … - Trzy rozkłady i predykcje do tych rozkładów
- rozkład wykładniczy – np. box-office filmów
Im więcej zarobiło do tej pory tym więcej zarobi w przyszłości! - rozkład normalny – do pewnego momentu respektujesz średnią przewidywaną przez rozkłąd, później stopniowo to wydłużasz im bliżej jesteś tej średniej
np. długość życia albo wzrost ludzi - rozkład erlanga – niezależnie ile lat jesteś tyle samo przewiduje się tobie w przyszłości!! Muszę zrozumieć lepiej ten rozkład
np. przewidywany okres w sejmie albo senacie
- rozkład wykładniczy – np. box-office filmów
- Ważne – reprezentacja wydarzeń w mediach nie odwzierciedla (!) ich prawdziwej częstości. Morderstwa, zamachy nie pokazuję prawdziwego obrazu i jego rozkładu.
” As sociologist Barry Glassner notes, the murder rate in the United States declined by 20% over the course of the 1990s, yet during that time period the presence of gun violence on American news increased by 600%.”
Chroń swoje a priori!!!!Tylko z dobrym a priori będziesz dobrze przewidywał przyszłość. - Jedna z największych prawd machine learningu:nie zawsze lepiej użyć bardziej złożonego modelu.Dodatkowe parametry mogą po prostu uczynić nasze predykcje gorszymi!
- Branie pod uwagę większej liczby rzeczy może sprawić że będziemy optymalizować pod złym kątem:np. codzienność będziesz parametryzował pod tym, żeby zrobić jak najwięcej małych tasków – nie będąc przy tym szczęśliwym, spełnionym albo mądrzejszym w dłuższej perspektywie.Bądź rozważny pod jakim kątem uczysz model.
- Uniwersalne: w każdym systemie ludzie będą dążyli do maksymalizacji nagród, nawet w uboczny sposób.Dlatego uważaj jaką metrykę przyjmiesz, bo ludzie użyją jej przeciwko tobie – czy to będzie liczba commitów, zrobionych ticketów w jirze czy widocznych feature’ów.
- Traning scars – jeśli za bardzo zafiksujesz trening w jedną stronę, to zrobisz tak jak ten policjant – po złapaniu złodzieja oddasz mu broń, bo taki automatyzm miał wyuczony na treningach!
- Lasso algorytm
kara za dodatkowe parametry.
Mniej parametrów to lepiej i lasso to wspomaga.
Lingwistyczne lasso: używanie kwiecistego, bardziej złożonego języka utrudnia zrozumienie treści i jej przekazanie. Gdy chcesz być bardziej precyzyjnym i chcesz więcej przekazać osiągasz czasami gorszy rezultat niż gdybyś próbował przekazać mniej.
Pamięciowe lasso: wszystko co zapamiętasz musi przejść test lasso aby zostało ci w głowie… - Tradycja a eksplorowanie nowych:podążaj w stronę nowych trendów. Ale tylko kieruj się a nie wskakuj!
Tradycja ma swoją ogromną wartość sprawdzonych prawd! - Kiedy myśleć dużo a kiedy mniej:
dużO: masz wszystkie fakty; wiesz co ważne; myśl długo i złożenie – znasz wszystkie metryki (rzadko się zdarza)
mało: kiedy nie masz jasności jak twoja praca będzie oceniona; przez kogo i w jaki sposób; jak będzie użyta; preferuj prostotę i zatrzymuj się szybko w swoim myśleniu i dążeniu - „Perfekcyjne jest wrogiem dobrego” Wolter
- „Testem pierwszorzędnej inteligencji jest to czy potrafi w jednym umyśle utrzymywać dwie przeciwstawne idee i wciąż funkcjonować”. F. Scott Fitzgerald
- Samplowanie jest czasami lepsze od skrupulatnej analizy.
Zamiast rozpisywać wszystkie możliwe scenariusze czasami wystarczy… po prostu zagrać.
Zebrać przykłady, spróbować i zobaczyć co się stanie.
Analiza jest potężna ale nie zawsze skuteczna. Miej pokorę czasami po prostu zagrać i zobaczyć. - Do sprawdzenia – test Millera-Rabin czy dana liczba jest pierwsza. Pomaga z dużym prawdopodobieństwem oszacować czy dana liczba jest pierwsza!
- Czasami lepiej sprawdzić losowe wartości, spróbkować – zamiast próbować zrozumieć wszystkie wewnętrzne mechanizmy.
- Szkoda że nie stosuje się samplowania do rozwiązywania istotnych problemów w kraju:zs
amplować jak dane rozwiązanie wpłynie na los iluś ludzi z naszego społeczeństwa! To byłoby wspaniałe narzędzie do dyskusji na temat wprowadzania kolejnych ustaw.
Bo obecna dyskusja o reformach zawsze wygląda: cherry-picked anegdoty albo zagregowane statystyki (czyli też wycinek całości) - „Nie ma czegoś takiego jak absolutna dokładność, jest za to pewność wystarczająca na potrzeby życia ludzkiego.” J. Stuart Mill
- Żeby uniknąć lokalnych minimów w życiu potrzebujesz małej dawki losowości od czasu do czasu.
Randomowy artykuł na wikipedii.
Randomowy traf w google.Przejrzenie losowych niusów.Albo talia kart i losowanie jednej przez Briana Eno. - Symulowane wyżarzanie – na początku masz dużą tolerancję na pójście w złą stronę, z czasem coraz mniej tolerujesz rozwiązania nie poprawiające stanu.
- Czasami zadziałaj na złych pomysłąch. Zawsze działaj na dobrych
- Prawdodpobieństwo podążania za złą ideą powinno być odwrotnie proporcjonalne do tego jak zła jest to idea.
- Zacznij od totalnej losowości. Używaj coraz mniej losowości wraz z upływającym czasem.
- Exponential backoff – jeśli ktoś nie odbierze zaproszenia, zwiększaj czas za którym ponowisz zaproszenie. Po tygodniu jeśli się nie uda, następna próba za 2 tyg. Później 4, 8 ,16, …Dzięki temu nigdy nie odbierzesz nikomu totalnie szans.
- „yeah”, „hmm”, „aha” i inne odzywki słuchających wpływają na jakość historii opowiadającego!Czyli proste odzywki są sygnałem zwrotnym że wiadomość dotarła!
- Ja myśle że ty myślisz że ja myśle itd… – myślenie rekurencyjne.W pokerze musisz być tylko jeden poziom dalej – nie możesz się zagrzebać w jeszcze większą głębię rekurencji bo polegniesz!
- Matematyka jest zainteresowana PRAWDĄ.Informatyka interesuje się ZŁOŻONOŚCIĄ.
- Teoria gier mówi jak zbiór zachowań wypłynie z danych reguł.
Mechanism design – jakie reguły nałożyć żeby mieć pożądane zachowania - Nałożenie constraintów na liczbę opcji sprawi że ludzi mniejsze wyzwania obliczeniowe mają i … podejmują wtedy lepsze decyzje!
- „Za każdym razem gdy jesteś po stronie większości, czas zatrzymać się i przemyśleć” M. Twain
- Publiczna informacja nie jest tak informatywna jak nam się wydaje.Nie widzimy w istocie przekonań innych – tylko ich AKCJE.
A ich akcje mogą być zmienione przez grupę w której są, przez akcje i zachowania innych.I kończy się to irracjonalnym zachowaniem całej grupy, mimo rozsądku posiadanego wewnętrznie przez jednostki w tej grupie. - Interakcja z innymi nie musi być piekłem – tylko jeśli bierzesz udział w złej grze!Popularność jest skomplikowana, nieanalizowalna, rozdystrybuowana po wielkich obszarach;ale piękno – jest zawsze w oku patrzącego…
Droga do piekła jest wybrukowana nieogarnialnymi rekurencjami, złymi równowagami i kaskadami informacyjnymi.Szukaj gier gdzie szczerość jest optymalną strategią. I bądź tam sobą. - Nawet najlepsza strategia daje czasami złe rezultaty (albo nawet w większości przypadków).
Jeśli postąpiłeś najlepiej jak mogłeś, rezultat jest i tak zły – nie możesz winić siebie że nie poszło po twojej myśli. - Wyniki robią nagłówki gazet i paski wiadomości – więc łatwo być zafiksowanym na nich.
Ale to procesy to nasze życie. Nad procesami i naszymi systemami mamy kontrolę.Najmądrzejsze działanie to takie które ma największe prawdopodobieństwo zwrócenia dobrych rezultatów. - Computational kindness – bądź obliczeniowo miły dla innych.Nie mówi „co chcesz na wieczór”, tylko raczej daj zbiór opcji z których interlokutor może wybierać.
Dzięki temu oszczędzasz mu ciężkiego wysiłku wyboru i analizowania nieskończonej liczby opcji.