sobota, listopada 26, 2016

Tydzień z Google Home

Od tygodnia mieszkam z Asystentem Google pod jednym dachem.


I trudno mi powiedzieć czy to udany zakup czy nie.

Kupowałem Google Home będąc przekonanym, że cała idea asystentów jest głupia, że sami asystenci są tępi jak pień.

I są, ale okazuje się, że nie jest to aż taka przeszkoda w ich używaniu ;-)

Tępota polega na tym, że mimo wszelkich reklam tam (przynajmniej na razie) nie ma czegoś co by rozumiało to o czym mowa.
Jest całkiem niezłe rozpoznawanie mowy (na razie tylko angielski amerykański), z którego wydaje się wydobywane są słowa klucze i te klucze służą do wydawania poleceń.

Ale nawet tak tępy sposób okazuje się działać nadzwyczaj dobrze.

Można poprosić Home o to by zagrało jakąś muzykę ze Spotify czy Google Music (akurat na tych serwisach mam konta), można prosić o rodzaj muzyki, o wykonawcę lub o playlistę.
Można ustawić który z serwisów jest domyślny.

Można zwiększyć i zmniejszyć głośność mówiąc "OK, Google louder/softer", można poprosić o zatrzymanie, wznowienie, przeskoczenie do następnej czy poprzedniej ścieżki.
I działa to zwykle na tyle dobrze, że wcale nie byłoby dużo łatwiej sięgnąć do komórki czy nawet Spotify działającego na komputerze.
Do tego Home jest całkiem przyzwoitym głośnikiem i bardzo fajnie gra.
Jak ktoś chce może poprosić Home by grało na jednym z Chromecastów.

Można też połączyć Home z "automatyką" domową. U mnie to są całe 3 żarówki z Philips Hue ;-)
I to jest najwygodniejszy sposób na sterowanie światłami.
Nie trzeba szukać komórki, w nocy wystarczy powiedzieć "OK, Google night lighs" i zapalają się czerwone światła (to akurat jest zrobione przez IFTTT), gdy przychodzę z pracy mówię "OK, Google full lights" i mam już jasno. Chcąc ustawić fajne tło za monitorem mówię "OK, Google set desk to violet" (często mylę i mówię desktop)... i czasem słyszę coś w stylu "Przepraszam, ale nie umiem wysyłać jeszcze SMSów" ;-)

A idąc spać mówię po prostu "OK, Google turn off lights" i robi się ciemno.
Mówię jeszcze "OK, Google wake me up at 8:20" i jestem o tej 8:20 budzony ;-)
Wtedy wystarczy powiedzieć "OK, Google stop" i alarm przestaje grać.

Później tylko "OK, Google Good Morning" i najpierw opowie nam o planach z Google Calendar, o pogodzie i czasie do pracy. Do tego zacznie puszczać podcast NPR z najnowszymi wiadomościami (amerykańskimi ;-)).

Do tego wszystkiego Google Home potrafi odtwarzać podcasty (ale tylko z prędkością 1x :-(), służy też jako Chromecast Audio, do tego potrafi grać w "trivia game" i odpowiadać na różne pytania.

Ale znów przy tych pytaniach niestety rozumek Google Assistant jest dość prosty i potrafi poruszać się tylko po krawędziach grafu wiedzy, przez co potrafi udzielać odpowiedzi na proste pytania i nawet później odwoływać się do wcześniej wspomnianych terminów czy osób przez "it", "he", "she", "his", "hers" i podobne, ale spytanie o 2 rzeczy naraz, albo o kolejną w odniesieniu do "it" czy czegoś podobnego zwykle źle się kończy.

Sam się jednak łapię na tym, że gdy Google Home mi odpowiada czy robi to o co je poprosiłem to zwykle mówię "Thank you" ;-)


Podobne postybeta
Najprostszy OCR ;-)
To i ja planowałem zamach stanu?
Google I/O 2016 - subiektywnie o keynote
Nie rozumiem Microsoftu
Marudzenie piątkowe ;-)

czwartek, listopada 17, 2016

Przemek w krainie Stefanów ;-)

Byłem kilka dni temu w krainie Stefanów* w Mountain View.



Widzialem Cupcake (miałem na G1 :-)):


Widziałem Donuta (też na G1 miałem :-)):


Eclair (tej wersji nigdy nie miałem ;-)):


I Froyo (też nie miałem):


Był też Gingerbread (Nexus S z nim przyszedł :-)):


Był też Honeycomb (tylko na tabletach występował, miałem go na EEE Padzie):


Ice Cream Sandwich (miałem na Nexusie S po updacie):


I Jelly Beans (też na Nexus S po updacie):


KitKat (na Nexus 4, Nexus 5, Nexus 7 i Nexus 10):


Lollipop (też masa Nexusów):


Marshmallow (znów Nexusy :-), zresztą ten Stefan trzymajacy piankę jest "pierwszym" na którego się natknąłem w trakcie odwiedzin :-)):


I w końcu Nougat, który mieszka w samym centrum Googlepleksu:


Stefany cieszą się dużą popularnością i ustawiają się do nich kolejki ;-) [tak 2-3 osoby, ale jednak ;-)].

Chociaż przy nich nikt nie urządza pikników, jak to robią ludzie przy dinozaurze...


* - figurki Androidów to dla mnie Stefany i tyle ;-) 



Podobne postybeta
Migracja do Androida 4.3 zakończona, 3 z 3 urządzeń zaktualizowane ;-)
Ważenie Stefanów
Stefan albinos przybył... i trochę przerażający jest ;)
Nexus 4 me wants...
Drogie Google, gdzie jest mój Nexus 7? ;-)

piątek, listopada 11, 2016

Raport z emigracji

No i jestem w Dolinie Krzemowej...
Ale jakoś tego nie czuć.

Chociaż nie, już w samolocie było czuć.

Gdy latałem do Los Angeles to leciałem np. z marynarzem obok, a tutaj obok siebie, przed sobą i za sobą miałem jakichś programistów ;-)
Jeden nawet wyjął swojego Macbooka i próbował coś kodzić w IntelliJ ;-)
Ba, widziałem nawet pewnego którego znałem jeszcze z firmy "2 firmy temu" ;-)

Ale na miejscu jakoś mniej to czuć.

"Mój" kawałek Doliny wygląda tak:



Wydawało mi się, że Dolina Krzemowa jest inna. Jakoś więcej palm, lepszy transport i większy spokój mi się wyobrażały.
Wydawało mi się, że to takie Stany, ale takie gdzie można się bardziej poruszać z buta.
A bez samochodu to ani rusz ;-)

A i więcej sklepów wydawało mi się, że tu jest ;-)

Chociaż możliwe, że kawałek w którym jestem czyli Foster City jest jakieś nietypowe.

Jedno co uderza to to, że jest tu masa programistów i to dobrych. Nie wydaje mi się by którakolwiek osoba, którą spotkałem była słaba.

Inne co uderza to informacje o cenach wynajmu, za 2 sypialnie płaci się 3500 USD najmniej, w części Doliny okupowanej przez Google, Facebooka i Apple 4500-5000 USD, a San Francisco ~4000-4500 USD. Miesięcznie.

Wynik wyborów wszystkich zaskoczył.

Akurat w wyborczy wieczór byliśmy najpierw obejrzeć jak wygląda Golden Gate w nocy, a później poszliśmy do miłej knajpy Tipsy Pig i masa ludzi oglądała tam wieczór wyborczy... jak wyjeżdżaliśmy to Hillary jeszcze prowadziła....


Wszyscy w koło są bardzo mili.
Chociaż to akurat chyba natywna funkcja wszystkich ludzi mieszkających w Kalifornii, a może i całych Stanach ;-)

San Francisco jest dużym kontrastem dla Doliny.

Zamiast płaskości, jest masa wzgórz, górek, schodów i skosów.


Lombard Street


"Typowy parking"


A taki tam sobie niewielki spadek ulicy...


A domek "na górce"


Kolejna typowa uliczka...

Typowy domek...

"Płaska" uliczka...

Widać też, że jednak jakaś urbanistyka i planowanie tu istnieją....

Ot, przez przypadek między budynkami widać kawałek Bay Bridge...


Chociaż nic tak nie cieszy jak zestawienie - choinka, palmy, lodowisko i ponad 20 stopni Celsiusza ;-)




Zaskakująco w okolicach centrum, jest cała masa bezdomnych....

Transport publiczny jest tu dla rozrywki:




W postaci Cable Cara, czyli "kolejki linowej na szynach", która jeździ dzięki temu, że w ulicy biegnie lina, która ciągle się przesuwa, a tramwaj by jechać łapie się tej liny....

Albo DARTa, którego stacje wyglądają dość przygnębiająco...


A warto zaznaczyć, że ta na zdjęciu to Daily City, która jest dość dobrze oświetlona ;-)

W skrócie zaś, Dolina jest fajna, San Francisco jeszcze fajniejsze :-)


Podobne postybeta
Jak się poluje na programistów ;-)
Zmarł Arthur C. Clarke :-(
Wolne komputery nie pozwalają się skupić....
Po roku...
Raport z emigracji....

środa, października 26, 2016

ClickbaitDetector - to działa :-)

OK, wczoraj i dziś reimplementowałem clickBaitDetector'a.
Głównie opierałem się na implementację z "Machine Learning in Action", z tym, że oni to tam robią w Pythonie i NumPy, a ja w JavaScript'cie ;-)

Dla niezorientowanych ClickBaitDetector to moja zabawka, która ma wykrywać linki będące clickbaitami.
Opisałem idee i jej źródła kilka postów temu.

Dziś w końcu mam wersję, która używa naprawdę naiwnego klasyfikatora bayesowskiego.... i wydaje się działać.

Dla danych na których się uczy klasyfikator mam 98.5% skuteczności w rozpoznawaniu tytułów wrzuconych do clickbaitów i ~96% poprawnych tytułów.

Ogólnie klasyfikator jest trochę bardziej nastawiony na to, że dany link jest clickbaitem niż na to, że nie jest przez co jest trochę zbyt wyrywny.

Źródła jak zwykle na GitHub'ie.

Przy okazji przekonałem się jak przydatny jest NumPy. W Pythonie mnożenie wszystkich elementów jednego wektora przez wszystkie elementy drugiego wektora to vector1*vector2 i po ptokach ;-)
Suma z tego to sum(vector1*vector2), ja w JavaScript'cie musiałem coś takiego popełnić:


  var p1 = [];
var p0 = [];
var s1 = 0;
var s0 = 0;
for (var i=0; i<p0Vec.length; i++) {
p0[i]=vec2Classify[i]*Math.log(p0Vec[i]);
s0+=p0[i];
p1[i]=vec2Classify[i]*Math.log(p1Vec[i]);
s1+=p1[i];
}

Ale działa tak samo :-)

W źródłach script.js można znaleźć całą implementację trenowania, bo rozszerzenie wcześniej za każdym razem tworzyło model, teraz używa już wersji prekalkulowanej (która ma 202 KB :-)).

Teraz trzeba jeszcze będzie wyczyścić dane i powinno być jeszcze lepiej ;-)


Podobne postybeta
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)
clickBaitDetector - wiem czemu nie działa ;-)
Dwie książki komputerowe na długi weekend :-)
Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)
Całkujący Dart ;-)

poniedziałek, października 24, 2016

clickBaitDetector - wiem czemu nie działa ;-)

Bo źle zrobiłem w nim naiwny klasyfikator Bayesa ;-)
Podszedłem do problemu jak do zwykłego wnioskowania bayesowskiego, ale przesłanki dla hipotez nie są do końca dobre.
Skąd to wiem?
Bo dziś w tramwaju mnie dopadło, że przecież mam prosty test skuteczności ;-)
Wystarczy kazać clickBaitDetectorowi sklasyfikować zbiór tytułów na których się uczył.....
Wyniki nie były zbyt dobre ;-) tylko ~3% tytułów które w zbiorze uczącym są uznawane za clickbaity zostało rozpoznane, wśród prawidłowych artykułów ~18% zostało rozpoznane jako nie clickbaity ;-)
Za to mam powody by sobie odkurzyć algorytmy z machine learningu ;-)


Podobne postybeta
ClickbaitDetector - to działa :-)
Czy jest dziś sobota? ;-)
Android + OCR, to zaczyna działać ;-)
Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)

wtorek, października 18, 2016

10 milionów pięter...

Jeśli uda się nam kiedyś zbudować windę kosmiczną to pojawi się też szansa na zbudowanie naprawdę wysokiego budynku ;-)
Takiego mającego 10 mln pięter (a nawet więcej).

Budynku w którym na piętrze 2 miliony 370 tysięcznym będzie działać pozorna grawitacja na poziomie księżycowym.... podobnie będzie na piętrze 11 miliony 220 tysięcznym, z tym że tam będzie działała w drugą stronę ;-)

Na piętrze milionowym (wyobraźmy sobie ceny nieruchomości tam...) będzie panować miłe 40% ziemskiej grawitacji, czyli będzie to fajne miejsce na starość tak by serce i stawy nie musiały się jakoś szczególnie męczyć ;-)

Gdyby każde piętro miało z grubsza 100 m x 100 m z wyciętym w środku kawałkiem 25 m x 25 m to miałoby powierzchnię 93750 m2, co przy założeniu, że przeciętne mieszkanie w takich USA to jakieś 77 m2 dałoby nam jakiś miliard mieszkań... nawet gdyby połowę ich zajęły biura, sklepy i inne takie to nadal byłoby z 0.5 miliarda mieszkań dla jakichś 2 miliardów ludzi ;-)

Chociaż pewnie byłoby tak, że ludzie chętnie mieszkaliby do milionowego piętra bo grawitacja byłaby dość miła, może do poziomu księżycowego.
Na piętrze 5 mln i jego okolicach powstałyby pewnie parki rozrywki i hotele przy jakichś 2% ziemskiej grawitacji.

Piętra w okolicach 10 milionów czyli w okolicach orbity geostacjonarnej i środka masy wieży byłyby pewnie zajęte głównie przez magazyny, fabryki i hotele dla pracowników i odlatujących/przylatujących.

Ludzie chętnie zajmowaliby znów piętra od 11 milionowego wzwyż bo tam grawitacja znów przypominałaby tą z księżyca.

Czyli jakieś 10-15% powierzchni wieży byłoby wykorzystane, co pewnie oznaczałoby ludność na poziomie 200-500 mln sztuk.

Przy 4 albo 5 wieżach byłoby to 1-2.5 mld ludzi ;-)

Czy byliby Ziemianami? Czy Wieżanami?

Czy mieliby narodowość? Powstałyby państwa na różnych wysokościach wieży?

A jakby zbudowano kiedyś pierścień łączączy przeciwwagi wszystkich wind?

Niech ktoś już wymyśli materiał, który na to pozwoli.....


Podobne postybeta
Inwazja kostki klinkierowej
Biedny Pluton
Stare = do zniszczenia?
Się mnie poprzestawiało....
Głupie oszczędności

poniedziałek, października 17, 2016

Książki które zmieniły moje życie

Co jakiś czas na różnych stronach są listy "książek które zmienią Twoje życie", albo "książek które powinieneś przeczytać przed śmiercią".
Zawsze je oglądam i zwykle jest tam tylko 1, może 2 książki które dla mnie były ważne.

Stąd moja lista ;-)
Kolejność nie jest do końca ważna.

1) "Samolubny Gen" - Richard Dawkins.
Można dużo napisać, że tłumaczy ewolucję, a nawet ekonomię, że to jedna z najlepiej napisanych książek popularno-naukowych wszech czasów (nie przez przypadek jest lekturą obowiązkową na wielu wydziałach literatury), że sama w sobie zrewolucjonizowała biologię.
Dla mnie ważne jest to, że otworzyła mi oczy na to, że nie wszystko wydaje się zrozumiałe od razu, ale zwykle podążanie ścieżką "bo mnie się tak wydaje" wcale nie musi prowadzić do prawdy.

2) "Jingo" - Terry Pratchett.
Nie chodzi nawet o to, że to Pratchett, ani o to, że to książka pokazująca jak głupi jest nacjonalizm.
Najważniejsze jest to, że była to pierwsza książka, którą przeczytałem po angielsku :-)
Zdecydowanie pokazała mi, że można czytać w obcym języku i to nawet gdy nie rozumiesz wielu słów.
W końcu jak bohater wdepnął w coś co brzmi obrzydliwie to nie jest do końca istotne czy to był ślimak, sinica czy śluzowiec ;-)

3) "Freakonomia" - Stephen J. Dubner, Steven Levitt oraz "Dlaczego piloci kamikadze zakładali hełmy? Czyli ekonomia bez tajemnic" - Robert H.Frank.
Okazuje się, że ekonomia to nie jest wcale taka głupia i nudna rzecz, a jak się odrzuci wszystkie ideologiczne teksty w stylu "obniżyć podatki" albo "zero regulacji" to nabiera sensu.
Te książki w połączeniu z "Samolubnym genem" pokazują, że zwykle wszystko wypływa z pewnych podstawowych faktów.
Ludzie coś robią nie dlatego, że są źli czy dobrzy, ale dlatego, że takie zachowanie średnio daje im największe szanse na przeżycie/utrzymanie rodziny/etc.

4) "75 sposobów na statystykę. Jak zmierzyć świat i wygrać z prawdopodobieństwem" - Bruce Frey i "Matematyka niepewności. Jak przypadki wpływają na nasz los" - Leonard Mlodinow.
Dzięki pierwszej poznałem Centralne twierdzenie graniczne, niby wcześniej coś o nim słyszałem, ale dopiero tutaj do mnie trafiło i pozwoliło zrozumieć dążenie do średniej.... a to ma już dla mnie duże znaczenie filozoficzne ;-) bo np. pokazuje, że wygrana w sporcie nie jest dowodem, że ktoś jest lepszy od kogoś innego i to, że nie ma co martwić się za bardzo sytuacjami gdy wypadnie się bardzo źle, ale też nie należy się zbytnio cieszyć gdy wypadnie się bardzo dobrze ;-) sami jesteśmy gdzieś pomiędzy ;-)
Dzięki drugiej dowiedziałem się co to jest Survivorship bias, to w połączeniu z Freakonomią sprawiło, że już nie do końca ufam ekspertom.

5) "Wprowadzenie do algorytmów" - Cormen Thomas H., Leiserson Charles E., Rivest Ronald L, Clifford Stein i "Rzecz o istocie informatyki. Algorytmika" - David Harel.
Ta druga najpierw mnie zaintrygowała tymi całymi algorytmami (a pracowałem już wtedy jako programista od ~4 lat), druga pokazała algorytmy...
QuickSort i jego metoda partition, którą za pierwszym razem przez kilkanaście minut próbowałem zrozumieć, HeapSort, ale bardziej mnie zachwyciły DFS i BFS bo w końcu się dowiedziałem jak chodzić po grafach. Nawet Dijkstra i inne mnie tak nie zachwyciły.
Od wtedy też wiem, że HashMap to moja ulubiona struktura danych ;-)
Małe twierdzenie Fermata i możliwość szybkiego ustalenia czy liczba najprawdopodobniej jest pierwszą, jak działa wyszukiwanie pełnotekstowe...
Chociaż dopiero "The Algorithm Design Manual" Steven'a Skiena'y pokazało mi backtracking ;-)

6) "The Wisdom of Crowds" - James Surowiecki.
Bez tego bym nie rozumiał jak działa demokracja (albo jakby działała gdyby nie plotka i przekaziory), czemu w ogóle działa estymacja i czemu lepiej by było kilka osób, które estymują, a nie jedna. Do tego pokochałem wtedy Twierdzenie Bayesa.

7) "Nacja" - Terry Pratchett
Jedna mała scena z Malu gdy zdobywa mleko dla dziecka zmieniła całe moje spojrzenie na to co to jest bohaterstwo.

Były jeszcze "In the Plex" Steven'a Levy'ego, "Rynkowy Umysł" Michael'a Shermer'a, "Bóg Urojony" Dawkinsa, "Pan raczy żartować panie Feynman" Feynmana i jeszcze wiele.
Ale na dziś to chyba te, które najbardziej zmieniły moje życie ;-)


Podobne postybeta
A tak sobie ;-)
Moje "odkrycia" 2014 roku :-)
Przybijające cosie.......
Google I/O 2015 spojrzenie drugie
Freakonomia, czy jak kto woli Freakonomics

piątek, października 14, 2016

Głodzenie filozofów ;-) - jak jest sprawiedliwiej?

To problem zwany Problemem ucztujących filozofów, podobno znany wszystkim, choć ja o nim usłyszałem niedawno (sam problem współdzielenia zasobów znałem, nie znałem tego przykładu - ale to tak jest jak się studiuje fizykę, a nie informatykę ;-)).

Mamy 5 filozofów, którzy siedzą przy stole na którym znajduje się we wspólnej misce ryż, a oni mają go jeść pałeczkami.

Między każdą parą filozofów jest dokładnie 1 pałeczka.


Żeby zjeść z miski filozof musi mieć w lewej dłoni jedną pałeczkę i w drugiej drugą...

Jak jeden filozof "zawłaszczy" zasób którym jest pałeczka to sąsiad nie może jej użyć.

Są różne sposoby rozwiązania tego problemu, ale ogólnie chodzi o synchronizowanie się na czymś.

Rozważyłem synchronizację na stole, tzn. filozof najpierw zaklepuje stół, jeśli mu się to uda to może zacząć zbierać pałeczki, po próbie zebrania pałeczek oddaje "zaklepanie" stołu i w razie ma obie pałeczki to próbuje zjeść ze wspólnej miski, po czym jeśli miał w ogóle jakieś pałeczki to zaklepuje stół i oddaje je...
W momencie "zaklepania" stołu może podnosić/upuszczać pałeczki tylko 1 filozof.

Drugi scenariusz jest taki, że pałeczki działają tak, że jak jeden filozof weźmie pałeczkę to sąsiad jej nie może wziąć.
Filozof działa tak, że próbuje wziąć pałeczkę z lewej, jeśli mu się uda to próbuje to z prawą. Jeśli ma dwie to je, po czym jeśli ma jakąkolwiek to oddaje.
Synchronizacja odbywa się na poziomie flagi w samej pałeczce.

Spoko.

Teraz jest pytanie, która metoda jest bardziej sprawiedliwa? A która szybsza? ;-)

Dałem filozofom dokładnie 214748364 (214 milionów, 748 tysięcy i 364) ziarenek ryżu.
Każdy z nich w momencie "uruchomienia" sprawdzał czy już można, a jeśli już było można to zaczynał próbować zagarnąć pałeczki...

Jak liczyłem "sprawiedliwość" podziału?
Jako sumę wartości bezwzględnych z różnic między tym co każdy z filozofów dostał, a tym co powinien dostać.
Najbardziej sprawiedliwy jest podział z tą wartością równą 0, najmniej sprawiedliwy z wartością 400 (jeden dostałby 100%, a reszta po 0, wtedy dla każdego wartość bezwzględna różnicy między oczekiwanymi 20% a otrzymanymi wynosiłaby 80%).

I co się okazało?

Że podział przy synchronizowaniu się na jednym i tym samym obiekcie czyli na stole zwykle daje rezultat o "sprawiedliwości" ~3.34, czyli łączna różnica między tym co ktoś dostał, a tym co mu się należało wynosiła średnio około 3.34%.
Przy podziale z synchronizacją na pałeczkach już tak fajnie nie było, bo "sprawiedliwość" wynosiła ~29.77%, często jeden z filozofów dostawał ~30% wszystkiego, a inny tylko ~10%, reszta zaś dzieliła się "sprawiedliwie" resztą.

Jednak bardziej sprawiedliwy podział miał swoją cenę, jedzenie trwało średnio prawie 2 razy dłużej niż w momencie gdy mniej sprawiedliwie dzielono posiłek.

W przypadku sprawiedliwym "regulator" wymagał by w danym momencie brał/oddawał pałeczki tylko 1 filozof przez co większość czasu wszyscy filozofowie spędzili na czekaniu na stół, tak by sami mogli spróbować zebrać pałeczki.
W drugim przypadku każdy z filozofów próbował wziąć pałeczkę niemal non-stop, jeśli mu się to udawało z lewą to próbował prawą.

Do tego w przypadku bardziej sprawiedliwego podziału pojedynczy filozof miał tylko jedną pałeczkę 3 razy częściej niż dwie pałeczki, w przypadku mniej sprawiedliwego podziału było to bliżej 2 razy częściej.

Podejście ze "sprawiedliwym" regulatorem było sprawiedliwsze, ale mniej wydajne, więcej też razy filozofowie byli blokowani przed działaniem bo ktoś inny miał drugą część potrzebnych zasobów.
Zasoby dłużej nie były wykorzystywane gdy były zajęte.
W przypadku bez regulatora podział był mniej sprawiedliwy, ale za to cały proces był bardziej wydajny, częściej filozofowie byli w stanie podejmować działanie, do tego zasoby były częściej używane gdy były w czyjejś gestii...

Co ciekawe najbardziej "wolne" podejście gdzie każdy filozof próbowałby zagarnąć obie pałeczki i nie oddawałby pałeczki póki by nie zjadł swojego ziarnka ryżu doprowadziłoby do deadlocka i wszyscy filozofowie padliby nam po jakimś czasie z głodu.... a zasoby większość czasu byłyby w posiadaniu kogoś kto nie może z nich korzystać.

Jakie są wnioski? ;-)

Takie:
- wolna amerykanka gdzie każdy próbuje zagarnąć to co mu jest potrzebne nie działa optymalnie, a zwykle w ogóle nie działa,
- synchronizacja na pojedynczym zasobie, czyli działanie tylko wtedy gdy "nam pozwolą" prowadzi do sprawiedliwszego podziału, ale podział trwa dłużej i jest mniej wydajny,
- słabsza kontrola, w której synchronizujemy się na samych zasobach i jak nie możemy ich użyć to je zwracamy działa w miarę najlepiej.

I teraz dodajmy aspekt "polityczny" ;-) i piszę to jako lewak :-)
Korwinizm to przykład pierwszy i nie działa.
Centralne planowanie/dzielenie w razie dobrego zarządcy powinno działać, ale jest nieefektywny.
Kapitalizm w którym gracze przestrzegają reguł (bo przecież któryś z filozofów mógłby nie chcieć oddać pałeczki i po chwili miałby 2 pałeczki i mógłby zjeść o wiele więcej) nie jest do końca sprawiedliwy, ale jest bardziej efektywny.

I to tyle ;-)

Jak ktoś ciekawy źródeł to są tutaj.


Podobne postybeta
Ważne książki
Losowanie dobre
Dobór naturalny, albo my
Minarety vs. krzyże - 0:1?
Komunizma!=Faszyzm

IFTTT mi "zastąpiło" jedno z narzędzi

Milion lat temu (OK, 9.5 roku temu ;-)) popełniłem narzędzie, które wrzucało posty z Bloggera do Google Calendarza.

Trochę się nim bawiłem i używałem, ale miało wadę bo wymagało klikania.... więc przestałem używać, choć stronę nadal ma ;-)

Wczoraj w ciągu 2 albo 3 minut zrobiłem równoważnik mojego narzędzia ;-)
Tym razem przy użyciu IFTTT (if that then this) ;-)
Połączyłem Bloggera z Google Calendar i działa.

Jaki z tego wniosek?

Nie trzeba pisać samemu - za kilka lat ktoś to na pewno zrobi ;-)

To też taka rada dla biznesów i pomysłów - jak masz teraz pomysł to go jak najszybciej zrealizuj bo wkrótce ktoś inny to zrobi i to pewnie lepiej ;-) więc staraj się dostać bonus za pierwszeństwo.


Podobne postybeta
Giń konstruktorze! Giń! ;-)
Do the right thing, Wait to get fired - to jednak ma sens
Ingress - pole widziane z kosmosu ;-)
Jak ukraść kraj?
No i gdzie jest mój tablet? Gdzie?

Naiwny klasyfikator bayesowski nie jest jednak dobry do rozpoznawania clickbaitów ;-)

Od kilku dni bawię się moją wtyczką "rozpoznającą" clickbaity.

Można się tu bawić w filozoficzne rozpatrywanie co właściwie znaczy "rozpoznawanie", bo z pewnego punktu widzenia moja wtyczka to automat, który używając dostępnych jej danych klasyfikuje tytuły linków albo jako clickbait, albo jako nie clickbait.
Szczegół tkwi w tym co oznacza klasyfikacja jako clickbait ;-)
Clickbaitem jest wg wtyczki taki tytuł, który zawiera w sobie słowa, które są prawdopodobne w clickbaitach....

Na początku zakładamy, że nie wiem czy tytuł jest clickbaitem, czy też nim nie jest.
Prezentujemy to przez założenie, że prawdopodobieństwo przynależności do obu klas wynosi 0.5.

To są nasze priory.

Teraz dla każdego słowa w tytule pobieramy liczbę jego wystąpień w tytułach clickbaitowych i nieclickbaitowych ze "zbioru uczącego".
Sumujemy te liczby i dzielimy je przez tą sumę.
To jest nasze likelihood (piszę po angielsku bo po polsku trudno to przetłumaczyć, bo w końcu prawdopodobieństwo już mamy ;-) jest to liczba, która opisuje jak prawdopodobne byłoby wystąpienie danego słowa w tytule gdyby ten tytuł był clickbaitem, albo gdyby nie był clickbaitem), które mnożymy z priorami i dostajemy nowe priory....
Teraz tylko trzeba je jeszcze znormalizować i możemy zacząć się bawić kolejnym słowem.

Problem w tym, że jednak nie wszystkie słowa mój klasyfikator zna, do tego są słowa które występują w zbiorze uczącym tylko w clickbaitach.... To by znaczyło, że likelihood byłoby 1 i to by popsuło obliczenia, stąd tak naprawdę likelihood nigdy nie będzie 0, ani 1, tak naprawdę zawsze będzie między 0.05 a 0.55 (chociaż zostanie znormalizowane)....
Na szybko wprowadziłem mechanizm by w razie gdy mamy 0 słów występujących w obu zbiorach to by z automatu uznawać, że artykuł nie jest clickbaitem... niby działa, ale też nie do końca dobrze ;-)

Muszę się przyjrzeć temu czy likelihood nie powinno być inaczej liczone, oraz popracować nad czyszczeniem danych do zbioru uczącego...

Ogólnie nie jest to takie proste jak miałem nadzieję gdy to wszystko pisałem kilka dni temu przed pójściem spać ;-)


Podobne postybeta
Clickbait detector ;-) - czyli próbujemy użyć naiwnego klasyfikatora Bayesowskiego do rozpoznawania clickbaitów ;-)
ClickbaitDetector - to działa :-)
Testowanie upolskawiacza
clickBaitDetector - wiem czemu nie działa ;-)
Teoria ewolucji vs hipoteza kosmicznych siewców życia vs hipoteza kreatora vs hipoteza kreatora na młodej Ziemi - mecz przy pomocy Bayesa :-)