Czym NAPRAWDĘ jest Google Maps? Jak działa? Dlaczego możemy go okrasić mianem Big Datowego majstersztyku? Wysłuchaj odcinka nr 28 a… już nigdy nie spojrzysz na tą aplikację w ten sam sposób.
Notatki:
- Newsletter + Ebook „Szlakiem Big Data”: http://blog.riotechdatafactory.com/ebook-o-big-data/
- Kod -10% na każdy produkt RDF: bigdatapopolsku
- Kurs „Fundament Apache Spark”: https://kursy.riotechdatafactory.com/fundament-apache-spark-nowe/ oraz https://akademia-bigdata.pl/fundament-apache-spark
- Mentoring: https://akademia-bigdata.pl/courses/mentoring-big-data/
- email: marek.czuma@riotechdatafactory.com
- Czym jest graf: https://pl.wikipedia.org/wiki/Graf_(matematyka)
- A*: https://pl.wikipedia.org/wiki/Algorytm_A*
- Dijkstra: https://pl.wikipedia.org/wiki/Algorytm_Dijkstry
Proszę, oceń ten odcinek i podaj go dalej;-).
Ja nazywam się Marek Czuma. Jestem inżynierem oraz instruktorem Big Data. Jestem również założycielem Riotech Data Factory i Akademii Big Data.
Transkrypcja odcinka
[Transkrypcja automatyczna, mogą pojawić się błędy]
Czasami, żeby spotkać się z bardzo dużymi danymi z matematyką zaprzęgniętą przez ogromne systemy do analizy danych, nie trzeba wychodzić nawet z domu, nawet nie trzeba wychodzić z pokoju, nawet nie trzeba wstawać z krzesła. Wystarczy uruchomić smartfon, który mamy w kieszeni i przejrzeć aplikację. Dzisiaj właśnie o jednej z tych aplikacji chciałem, żebyśmy chwilę porozmawiali, a konkretnie o bardzo popularnym Google Maps. Jak to działa? Dlaczego to taki big datowy majsterszytk? I co my właściwie uruchamiamy? Na czym my właściwie pracujemy, kiedy wstukujemy adres, kiedy staramy się znaleźć najlepszą drogę? O tym będzie dzisiaj w odcinku numer 28. Zapraszam. Cześć, witam cię w podkaście Big Data po polsku. Poznajemy tu wspólnie jak działa świat, który jak wiadomo zbudowany jest z danych i rządzony jest przez algorytm. Jesteś w dobrym miejscu. Jeśli interesują cię technologię, biznes, społeczeństwo, lub pogłębianie swojego potencjału i to wszystko w kontekście danych. Ja nazywam się Marek Czuma, jestem założycielem Riotech Data Factory. W filmie, która pomoże ci zrozumieć Big Data, wymiarze technicznym i biznesowym. Nalej do kupka solidną porcję swojej ulubionej kawy, pakuj swoje rzeczy i rusza i ze mną w tą fascynującą przygodę. Flatek Proszę mówię o tym dużo razy. To Google Maps jest takie naprawdę istotne. Naprawdę istotna apikacja, istotny system. I nawet ostatnio dla niktinie opublikowałem taki post, gdzie napisem o moich trzech największych Migdej towych branżowych marzeniach. Wśród nich jest właśnie Google Maps i kiedy się zastanawiałem nad tymi marzeniami, co ja bym chciał zobaczyć najbardziej jako Inżynier Big Data, to Google Maps było tak podstawową odpowiedzią. Natomiast pojawiły się jeszcze dwie i nie byłem w stanie odpowiedzieć, która z nich jest najmocniejsza. Natomiast wyszedłem właśnie od Google Maps i od tego jak ten system jest zbudowany. I dzisiaj chciałem, żebyśmy porozmawiali na temat tego, co to w ogóle jest Google Maps, ale nie od tej strony, a właściwie nie tylko od tej strony, którą widzisz, kiedy otwierasz swój smartfon z Androidem i też znaleźć najlepszą możliwy u drogę do jakiejś knajpy, który jest już sobie dzisiaj obiad, tylko o systemie, o całym systemie, który stoi za aplikacją, bo sądorz do myślasz się, że aplikacja tylko pewne, pamięteki frontend, pewne reprezentacja tego, co naprawdę dzieje się w bardzo wielu de facto miejscach. Na raz, to reprezentacja ogromnych obliczeń i wreszcie to jest reprezentacja o struktury pewnej na której pracujemy. I dzisiejszy odcinek to będzie właśnie o tej strukturze, a tak to sobie ułóżmy. Dzisiaj zbudujemy sobie pewien taki szkielet, tego czym jest Google Maps, a w kolejnym odcinku dla dwa tygodnie wypełnie ten szkielet z mięskiem, ściegnami, mięśniami i innymi bardzo ciepowymi rzeczami, czyli opowiemy, no właśnie będziemy wypełniać. Czyli opowiemy o systemach i jak to działa, że to jest taki aktualne, jakie mogą być potencjalne rozwiązania, niektórych problemów, które dzisiaj zresujemy, bo ten szkielet, o którym chcę opowiedzieć, sam w sobie spowoduje, że spojrzysz następnym razem, kiedy będziesz wybierać adres, w Google Maps spojrzysz na tą aplikację inaczej. Ale być może zostawię cię ze znasznie większą liczbą pytań niż odpowiedzi i otworzy właściwie taki worek z pytaniami, także mam nadzieję, że nie zaprzucie ci dnia, a wręcz przeciwnie, ale przede wszystkim mam nadzieję, że spowoduję, że troszeczkę inaczej będziesz patrzeć na otaczający się świat, bo taki jest cel pod kastu Big Day ta po polsku. No to leciemy od razu, chcę powiedzieć na starcie, tak, jeżeli jesteś z Google, to i masz dostęp do tego całego systemu Google Maps zbudowanego. A jak ty chcesz mnie zaprosić, żeby o tym opowiadać to bardzo się cieszył i ja cię zaproszę na obiad i postawię ciekawe, więc śmiało o marek, kropka czy mam o parę tych day, to jak to li kropka kom, pisz, nie zastanawię się, dlatego, że to co ja dzisiaj powiem, to trzeba to tak nazwać, to są domysły. Tylko domysły możliwie mocno sprawdzone, domysły, które są poparte też opinią wielu innych osób dyskusjami w internecie, dyskusjami między inżynierami danych, dyskusjami między matematykami, więc to nie są domysły na siedziesiadłem i tak sobie wziłem z kosmosu, ale Google nigdzie nie powiedział wprost jak cały system działa. Także troszeczkę więcej takich sprawdzonych informacji będzie z odwotygodnie, kiedy będziemy odpowiadać już na bardziej konkretne pytania, ale cała struktu, no właśnie. Czym jest Google Maps o tym powiem dzisiaj, ale wiec, że to jest pewne przybliżenie. Ale przybliżmy sobie, jeżeli w jakimś cudem mieszkałeś ostatnie dwie dekady, czy dekady nawet wystarczy. W jaskini to powiedzmy czym jest Google Maps, ponieważ to jest system, który pozwala na poruszanie się po mapie, w czasie rzeczywistym, ale mapie, która obejmuje ogromną część świata, prawie cały nasz zachodni bogate świat, obejmuje wstopniu niezwykle szczegółowym. I to jest aplikacja, no można też wejść na niej, po prostu z punktu widzenia przeglądarki, ale przede wszystkim ja myślę tu o aplikacji na smartfona, gdzie możemy wejść, kliknąć, wybrać adres, a następnie do tego adresu podążyć najlepszą ścieżką, więc najlepszą mam na myśli, najkróczą, najszybszą i to najszybszą biorąc pod uwagę nasz standardowy, nasz standardowy, prędkość poruszania się, ograniczenia losmite, korki, remonty i wiele innych czynników. Co więcej, kiedy dojeżdżamy, chcemy jechać i jesteśmy w trakcie jazdy do jakiegoś konkretnego punktu i to nie ma znaczenia, ale prawda, czy to jest punkt, tak jak na wstępie powiedziałem, knaj, paźdók, wieczorem się wybierasz, czy też jedziesz na bakacje na drugi koniec z kraju, a może nawet na drugi koniec kontynentu, Google Maps no to licznie, ciągle w trybie ciągłym, naprawdę sprawdza czy nie ma lepszej drogiej. I informujecie o tym, jeżeli coś się dzieje w postaci korku w wypadku, tu też będziesz o tym informowany, informowana. Więc jest to, jest to niewątpliwie aplikacja, która jest bardzo, bardzo złożona i które działa po prostu dobrze. Znaczy czas przewidywany dojazdu miejscu, dalego o kilkaset kilometrów, może być oczywiście on jest zawsze co do minuty, ale on może być dokładny nawet w z dokładnością może być nawet w kilku minut, możemy się umyczyć o kilka minut, nie więcej. Więc to jest naprawdę bardzo, bardzo dobry system, niezwykle złożony, przemyślany, ale właśnie on musi na czymś bazować. I to co powiedzieliśmy tutaj Google Maps, jak to działa, to jest ta część użytkowa. Tak, mamy smartwana, wpisujemy, później mamy wyznaczoną, wyznaczą, nie oczywiście możemy jeszcze znać założyć, że chcemy jechać bez odcinków płatnych na udostradach, więc dużo rzeczy. Możemy zahaczyć różne wrykasy podrodzy w stylu KFC, możemy chcieli zatankować i to też wszystko tam znajdziemy, ale to jest ta część użytkowa. A jak to jest zrobione? Powiedzmy sobie od strony technicznej, ale sama struktura, czyli nie będziemy dzisiaj się zagłębiać w szczegółowe rozwiązania, o tym troszkę więcej porozmawiamy. Mam nadzieję za dwa tygodnie, a dzisiaj chcę, żebyśmy rozrysowali sobie, jak to w ogóle może działać. Czy to jest trzymane w jakichś basie danych, czy to jest zestaw, w jakimś wiatrach, pliku, zwrotami wszystkie ścieżki, wszystkie drogi, te wszystkie miasta miejsca, jak to w ogóle działa. No więc nie ma na pewno, znaczy nie było to nigdzie powiedziane wprost, ale bardzo w imię z dziwią, gdyby było inaczej i chyba wszyscy bylibyśmy w szoku, gdyby to okazało się być czym innym. Google Maps to jest po prostu ogromny i bardzo zaawansowany graf. I co to jest ten graf? No właśnie. Tutaj co famy się do matematyki? Więc jeżeli zastanawiamy się kiedyś, bo zastanawiałaś kiedy mi się temat ma przyda w życiu, dlaczego mam się o tym uczyć? Przecież nie będę rozwiązywać równaniu sobie siedzący na przystanku czy kęstna autobus. No do ci mówię właśnie, ci się przydaje, bo co famy się do stlik tematematycznych pojęć? Nie mających żadnego związku, albo może będący w wizodowanymi od całej informatyki od programowania, od szczerówki. Znaczy, od szczerówki z operacjami nadanych, co famy się do teolimatematycznych, które powstały nawet w 18 wieku i to taka kasyka. Graf, jeżeli siedzisz, jak u lat przybiórkuje na szkartkę długo, pizdeł, nadystwo i sobie to co będę mówił, bo mamy takie małe ćwiczenia teraz, a jeżeli nie, jak u lat, może sprzątasz, może biegasz, to postaraj sobie to z wizualizować w głowie, nie będzie trudne obiecuję, ale jeżeli z wizualizować będzie nam się łatwiej o tym rozmawiałą. Wybilej sobie kuleczkę, osać sobie w przestrzeni kórkę i obok narystuj drugą kórkę, a powyżej trzeciu, taki trójkątik, trzy wierzchołki i od każdej, więc każdą z tych kulek poprowadź linie, które ją łączy. Zrzelione, czyli mamy trzy kropki, trzy wierzchołki trójkąta i między tymi wierzchołkami jest połączone liniami, możemy powiedzieć, to połączone gra wędziami. I bramą właśnie zbudować swój pierwszy graw. I to jest to reprezentacja tylko graficzna, ale faktycznie to jest graw. Będę mówił mocno nie definicyjnymi definicjami, czyli będziemy tu uunikać takich stikty wiki pedejnych, pojęć, ale jeżeli tylko nasz ochotę to zapraszam cię. Generalnie jest związku z tym strukturamatematyczna, która służy do przedstawienia i badania relacji między różnymi obiektami. I teraz co to mogą być te wierzchołki? No właśnie. W grafie mamy zgrub, że grafie jest skróprza zbudowane w taki prosty sposób, czyli mamy te kropki, które nazywamy wierzchołkami i mamy te kreski między nimi, które nazywamy krawędziami. I to odzorowuje, to jest matematyczne, albo można powiedzieć tutaj graficzne, odzorowanie relacji między obiektami, czyli obiekty to są te wierzchołki, a krawędzie to są relacja. I może to mieć zastosowanie w tysiącu różnych miejsc. Podam przykład zupełnie niezwiązane z naszym dzisiejszym tematem, żebyśmy zrozumieli, że to nie jest, że to jest pewna reprezentacja. To jest bardzo ważne, to naczymi zależy dzisiaj, to żeby zrozumieć, że pewna matematyczna struktura to jest jedno. I to jak my ją wykorzystujemy, to jest drugie i my dzisiaj chcemy wykorzystać tą matematyczną strukturę do zbudowania ogromnej, największej na świecie mapy, po której się będziemy poruszać. I dlaczego okurat oni to za chwilę, ale żeby nie było, żeby się nie poruszać ciągle w tym obszarze mapy, żeby mieć takiego, jak ktoś mówi, bajasu i nie związzać z strictem struktury reprezentacji z jakimś przedmiotem naszym, czy podmiotem. Naszej rozmowy to powiedzmy sobie inaczej. I będę o tym zresztą mówił za iRix odcinków nie mam pojęcie ile, bo okładnie mam przed<|pl|> co rozpiskki, ale za X odcinków będę mówił o mediach społecznościowych, o desinformacje, które tam panuje i o tym, jak możemy wykrywać różne rzeczy. I w ogóleś sobie, że właśnie mediach społecznościowy to jest idealny przykład tego, czym jest to, co to jest, co to jest. Czym, jak może być zbudowany graw, bo no co? Post konkretny albo konkretny użytkownik może to konkretny wieszchoek. Relacje, które łączył tych użytkowników, czyli np. ktoś, kogoś obserwuje, to są krawędzie między wieszkłokami. I inaczej mówiąc jeszcze szerzej mamy społeczeństwo, mamy blok np. tak, mam było mamy cały osiedlę i konkretnymi wieszchoekami grafu mogą być ludzie mieszkańcy tego osiedla. I te krawędzie, które ich łączył to są po prostu ich relacje tak jak mówimy o relacjach zwykłym codziennym życiu. Czyli to, czy ja cię znam, czy ty mnie z nasz, bo ty mnie może znać, a ja cię mogę nie znać i wtedy, no właśnie. I wtedy mówimy o tym, że graw, który ma te wieszchoełki i ma te krawędzie, jest skierowany, czyli nie tylko łączy nas, mniej ciebie. Mam nadzieję, że się znamy, bym chciałbym cię poznać osobiście, jeżeli cię nie znam osobiście, nie wyobraźmy sobie przez chwilę tego sytuację, to ty mnie znaż, więc między mną a mną jest relacja, ale między mną a mną, a to był tej relacji, nie ma. Czyli mamy tutaj dwa wieszchoej i jajty i mamy jedną krawędź, która idzie od ciebie do mnie. I jeżeli się poznamy, to krawędź będzie szła również ode mnie do ciebie, ale wcale tak nie musi być. Więc mamy już kilka pojęć wprowadzonych, przepomnijmy, mamy w ogóle graw i graw składa się z wieszchoków, między wieszchokami są krawędzie i krawędzie mogą mieć swój kierunek. I wtedy mówimy, że graf jest skierowany albo mówiąc, bardzo szczerze, nie będę, może tego przytaczał, mam wadę wymowalnie, niech będzie graf skierowany możemy nazwać również or grafem. Mam nadzieję, że zrozumiałeś. Żeby skomplikować troszeczkę nasze pojęcia, to wyobraź sobie, że nasze relacje mączy mieć też wagę jakoś konkreter. Tyle ja i ty możemy mieć konkretną relację. Na przykład, ty możesz mnie sobie lubić, troszeczkę powiedzieć, że raczej neutralne podejście i wtedy ta waga na przykład będzie miała wartość jeden, a ja mogęcie uwielbierać. I wtedy waga mojego w mojej krawędzi będzie, na przykład 10. Wagi mogą załóżmy, że w dane przykład wagi będą między 1 a 10. I ty mnie tak trochę lubisz, masz 1 albo 2 wartość tej swojej krawędzi, tej relacji, która nas łączy, a ja cię uwielbiam, jestem twoim fanem, więc między mną to było jest, co? Z czałka, która idzie od mojej kropeszki do twojej, to jest 10. I po co w ogóle budujemy takie grafy? No właśnie, to jest struktura pewna, matematyczna. Jeżeli mamy strukturę matematyczną, to od razu to, co pierwszy, co możemy zrobić ze strukturą matematyczną, to przeprowadzisz na niej pewien algorytm. Z algorytm związanych z właśnie grafami i generalnie mechanizmów też, bo powiedzmy, że mechanizmów twierdzeń struktury związanych z grafami jest cała masa. Jeżeli już jesteśmy w temacie w społecznościowym, czyli mamy właśnie to nasze osiedle albo jakichś mediom społecznościowe, to, no chociażby jest coś takiego jak klika. Znamy z takiego bardzoj potocznego języka, ale klika w przypadku grafu to znaczy, że po prostu mamy podgrafy, mówiąc bardzo tak profesjonalnie, to jest podzbiór wierzchołków danego grafu wraz z krawędziami, które ją łączą i te krawędzie muszą być takie, że każdy dwa wierzchołki tego podzbioru są sąsiadami, czyli mamy tak naprawdę podgraf, który jest, w którym wszyscy się znają. Czyli możemy mieć na osiedlu przykładem klikiej, co jest na przykład blog, gdzie każdy zna każdego wszyscy znają się benocajem, ale może być też drugi blog, gdzie jest nową mamy klikę, ale w ramach tej kliki, między jednym obokiem a drugim wcale nie musi być połączenia. Czyli to może być graf, który łączy się jakoś bardziej pośrednio, te dwa podgrafy mogą się łączyć pośrednio te dwie kliki i dzięki temu, że tego typu struktury potrafimy przeanalizować i potrafimy też przeszukiwać graf odpowiednio właśnie, żeby takie kliki weszukiwać na przykład później monitorować to możemy budować duże mechanizmy, duże systemy, które są, no chociażby śledzą działania terorystyczne, antyterorystyczne, tak działania terorystyczne króje śledzą konkretne siatki terorystów. Tu mówimy, no nawet niekonieczną systemach informacyjnych, tak to mogą być systemy przedważaniodanych, ale to samo możemy zrobić mediach społecznościowych, nie mniej kliki akurat to jest celowo wybrany przez mnie przykład tego, bo takie umychanizmu czy też struktury podstruktury grafowej, która nie jest związana z naszym dzisiejszym tematem, bardzo mi zależy, żebyśmy ten, tą struktury grafową umieli sobie wyobrazić jako pewną abstrakcję, czyli nie związano z konkretnym przedmiotem dyskusji, ale jeżeli mamy wieszchouki, to z jednego wieszchouka do drugiego może być konkretna droga, czyli może się okazjać, że jeden wieszchouek sąsiaduje z drugim, ale tak jak w przypadku tych dwóch bloków, ale może się też okazać, przymahzam, tak jak w przypadku tego jednego bloku. Ja jestem ząsiadem, faktycznie moi sąsiadki, ale nie jestem ząsiadem kogokolwiek z drugiego bloku. Mogę tam kogoś nie znać i pytanie, jak u drogę trzeba przebyć w tych krawędziach, żeby ode mnie dotrzeć do jakiejś pani X, pani Księskiej. I wtedy być może ja muszę, na przykład ja znam mojego sąsiada, a mój sąsiad z nami, przedawczynie, która zna z kolei to u panią Księsku z drugiego bloku. I dzięki temu, że potrafimy szukać takiej ścieżki, no właśnie dużo relacji nam się pokazuje. Dużo bardzo sprawnie możemy przeszukiwać, możemy odnajdywać różne zależności, które nie odnaleźliśmy tak na piehote. I teraz mam nadzieję, że się zaczyna powoli układać w głowie, czym może być mapa. Otóż żeby znaleźć tą relację, tą drogę ode mnie do pani Księskiej, wykorzystujemy bardzo konkretne mechanizmy. Bardzo konkretne alkorytne i to są, to się nazywały, alkorytmy wyszukiwania najkrótrzej drogi w grafie. Tych alkorytmów jest mnóstwo, ale z takich dwóch, chyba najbardziej popularnych, to jest alkorytm agwiastki i alkorytm diksy. One się różnią od siebie, natomiast z grubsza odpowiadają za to samo, czyli mają znaleźć najkrótrz środrokę, no bo teoretycznie moglibyśmy przejść bardzo długo, tak? Niekoniecznie musimy przejść przez mojego sąsiada panią w sklepie i dość do Jeksięskiej. Moglibyśmy jeszcze podrodzę zahaczyć o kilkadziesiąt jenny chózup. To nie jest sztuka, sztuku jest najśc najkrótrz środrokę. I tego typu rzeczy wykorzystuje się chociażby w grach komputerowych, kiedy musimy zaprogramować postać, czy to nie tej gęsej takiej postaci, która ma do 3.a do punktu b. Najkrótrz umożliweł drogą, ale najkrótrz umożliweł, to nie znaczy po prostej, tak? No bo może tam stać jakaś przeszkoda. Może tam być chociażby ściana. Może być teren, w którym są wrogowie, które też trzeba uminąć, to wszystko może być brany pod uwagę. Jeżeli zbudujemy odpowiedni gra, to taka agliastka jest bardzo fajnym pomysłem na to, jak sztuczną i tej gęcie postaci w grach zbudować. Zresztą my budowaliśmy, ja kończyłem studia ze specjalnością właśnie kilkomputerowych i tam też tego typu rzeczy robiliśmy. I mam nadzieję, że teraz już się się połkładało. Celowo posługiwałem się innymi tematami niż mapy, ale jak może być budowane taki nasz Google Maps? Przecież to może być bardzo duży, a w bardzo duży to mało powiedziane, ogromny, gigantyczny graf, w którym, no właśnie, co jest wieszchłokami, a co jest kramędziami? No wieszchłokami mogą być przecież skrzyżowania. Każdy skrzyżowanie to jest taki bardzo naturalny kandydat na wieszchłowek. A co może być kramędziami? No przyjdzież ulicę, po których my się poruszamy. Co więcej, dzięki temu, że graf, że teoreg grafów, bardzo ładnie rozpykała kwestie krawędzi, przepraszam, kremunków, no to tutaj mamy już kremunki. Możesz pojechać ulicą, spółnocy na północie, ale dla cześć spółtnia na północ już nie, przenajmniej nie to, bo jest jednokierunkowa. Więc jeżeli jednie jest jednokierunkowa, to mamy bardzo konkretne kronek w grafie także. Jeżeli mamy dotrzeć spółtu, a do punktu b, no to co musimy? Musimy znaleźć najbliższą możliwu ścieżkę, która będzie miała odpowiedniu odległość. I zauważy nawet te nasze potoczne, koro kwialne nazwy pokrywają się z nas ze dnictwem, jakie mamy w grafach. Wyszkujemy ścieżkę najbliższą możliwość ścieżkę, czyli szukamy, wykorzystujemy konkretny argorytm wyszkowanianej kluczej ścieżki w grafie. Na przykład agwiastkę. I co? Mierzemy, mierzymy odległość między dwoma wierzchąkami, czyli między punktem początkowym a punktem końcowych. I wszystko byłoby proste, no bo jest proste, czy nie jest proste, jak myślisz? Gdzie tu może być haczyk? Wrócimy do haczyka na chwilę, dlatego że czas, żeby głowa odrobina odparowała, mam nadzieję, że cię nie zajęchałem, mam nadzieję, że jeszcze tam żyjeż. I chwilę przerwy, ponieważ mam bardzo fajną wiadomość od dzisiaj dla każdego słuchacza. I każdej słuchaczki. Podkastu Big Day Ta po polsku mam kod zinszkowy na wszystkie produkty, kod, który pozwolić i kupić każdy produkt, u mnie za 10% mniej. Przez sam fakt, że słuchasz tego niósł, słuchasz tego podkastu za dużo niósł, też ostatnio. Słuchasz tego podkastu, mam dać je 10% zinszki, wystarzę, że wejdziesz na AKD, myślę, Big Day Te Grółk.pl. I tam wybierzesz to, co chcesz w tym momencie sprowadza się to do czego? Do kursu Fundamenta Paczies Park, w którym poznasz Fundamenty jednej z najważniejszych, jeśli nie najważniejszej technologii na żyj branży, co może być nawet w fudku do właśnie świata Big Day Ta dla ciebie. Lub też pierwszy miesiąc mentoringu, za to też na to też masz 10% zinszkowy. Kod zinszkowy Big Day Ta po polsku. Po prostu wybierz produkt, przejść do koszyka, wpisz Big Day Ta po polsku pisane razem małe literami, czyli tak jak nazywa się ten podkast i obisz od 10% będzie mi bardzo miło i mam nadzieję, że tobie będzie również bardzo miło. Teraz możemy wracać. Może jeszcze jakąś uwagę, troszeczkę oderwano od naszych grafowych kwestii, to zapraszam cię do subskrypcji, do podgubień. Jeżeli jesteś na słuchasz tego, nas potifają, to czy innym kanał z chimingowym, to po prostu ocenie. Będzie mi bardzo miło, a dla platformy streamingowej to jest sygnał, że tak ten podkast warto gdzieś tam pokazać więcej, bo ludzie chcą słuchać. No to wracamy. No więc, o czym mówiliśmy? Mówiliśmy o tym, że Google Maps to jest ogromny graf. I za zadziewa już sprawię sobie rozpykaliśmy całotorię, prawda? No bo mamy wierzcholki, które są skrzyżowaniami i klowędzie, które są u drogami, wykorzystujemy konkretny algoryt, np. agwiastkę albo algorytm diikstr, żeby w szkłacie najkrótsze u drogę. Problem zaczynają się, zwykle, jak tu się mówi, diabył tkwi w szczegółach i tam też nasze problemy się rozpoczynają, no bo podstawowa rzecz, ile może być skrzyżowań? No właśnie, tych skrzyżowań może być całkiem dużo, zakładam, że 10 tysięcy to w welsji takiej, no, lightowej. To teraz drugie pytanie, czy na pewno wierzchokami mogą być, no właśnie, jak jest ich 10 tysięcy, to np. w wyszłkanie algorytmu diikstr, może być nieoptymalne. Wyszłkanie algorytm diikstr, może być nieoptymalne, dlatego że on wyszłkuje, no tak zgrub, że algorytm diikstr, poolega na tym, że on wyszłkuje po wyszłkuje wszystkie możliwe ścieżki i wybiera tą najprostrzą. Więc oczywiście można to optymalizować i optymalizuje się, ale ciągle mapa, którą dysponuje Google, jest za dużo, żeby sobie takie rzeczy robić. Tu przychodzi nam z pomocą agwiastka, który jest algorytmem heurystycznym, to znaczy, że na samym początku szacujemy, gdzie możemy w ogóle pójść, i my to na ocznie robimy. Mamy heurystykę naszą taką intuicyjną, zainplementowaną w ramach po prostu naszego musku, tak, patrzymy na mapę, i jak ja mam przyjechać z kodnik podładzią i zahaczając o np. uć, gdańsk, bytgorszczy, słupsk i powiedzmy Warszawę, no to ja zgrubsza wiem, że nie będę jej hałprzest zakopane. Więc ja sobie w mniej więcej wybieram takie ogólne wieszcholki, przez który będę chciał przejechać, i potem mogę sobie szukać dokładnie, jak to się dzieje, ale wiadomo, że nie będę jechał na północy, bo wszystkie moje miasta są na północy i to też na tej północnej, na północy, a czy w zachodniej niż wschodniej, może pozowalszamy. I tutaj jest podobnie najpierw zgrubsza, szacujemy, a potem możemy dokładnie i na tym panega agriastka. Nie będziemy oczywiście się w implementacyjne szczegóły, ale pozwala nam ona zoptymalizować mocno, i co ciekawe jak szukałem, jakie dokładnie alkorytmy wyszkowanie na eklu 3 drogi są zainplementowane w ramach Google Maps. To wyskoczyło mi kilkartyków, że uwaga właśnie te dwa. Czyli nie, inżynierowie w ogóle nie tworzyło koła odnowa, tylko posługują się już dawno sprawdzonymi metodami, nawet w tak zaawansowanym narzędziu robimy po prostu agriastkę, albo angriotnikstry, i z tego co czytałem właśnie w Google Maps są o was tych agriotmów zastosowane. Nie wiem na ile to prawda, ponieważ Google nie wypowiadało się na ten temat. Więc ciężko jest mi okresić, czy może jednak wynajdują koło na nowo chętnie posłuchło, co do zakoła. Ale niestety przedstawić się na Google, a są dość oszczędni. Nie, nie mamy powodu, żeby powątpiewać w to, że i agriaska i dikstra mogło tam być wykorzystane. No właśnie, ale złożoność staje się ogromno, więc samo to już jest problem drugi problem. I na razy, powiedz mi, startujesz ze skrzyżowania. No naprawdę, ile razy stoisz na skrzyżowaniu, żeby znaleźć jakiś punkt, który też jest skrzyżowaniem. Sądzę, że jest to raczej rzadkość. Przeważnie jesteśmy gdzieś pomiędzy. Albo stajmy na drodze, albo nawet jesteśmy między drogami. I tutaj pytanie, jak Google do tego podchodzi. To znaczy, ok, mamy punkt początkowy i mamy punkt docelowy. Ale żaden z nich nie jest bezpośrednimi wieszchłokami. I jak tu się odnaleźć? Moja taka automatyczna odpowiedź, tylko ja im implementowałem oczywiście, ale to tworzenie pewnych wieszchłoków dynamicznych. Czyli mamy zasadniczo całe gra. A to dodatkowo do tego grafu możemy dodać jeszcze dwa wieszchłoki. Wieszchłok, który jest punktem początkowym, który jest wyznaczany gdzieś tam, co powiedzmy, ale wyznaczane wiemy gdzie między jakiej odległości od najbliższych wieszchłoków i po prostu już dodawane do tego grafu i końcowy też w podobny sposób. Nie brzmi to źle. Czym są w takim razie wagi naszych krawędzi? Skolę już powiedzieliśmy sobie. Wagi krawędzi, ja tutaj widzę dwa rozwiązania, jedna waga krawędzi, no bo krawędzi to jest jednia, tak ulica między skrzywaniem i skrzywaniem, jedna waga to będzie będą metry, a druga to będą minuty uwaga. I to wystarczy na się robić ciekawie, bo ile zgrubsza metry raczej będą takie same. Więc jednym wieszchłokiem a drugie wieszchłokie od rzadku kiedy zmienia swoje położenie. Ale to jak szybko tam do jadę, no to już jest problem, to już jest zupełnie inna sprawa, a przecież na tym nam zależy i on zazwyczaj prosimy go, żeby on nam znalazł na ich szybko drogę nie w znaczeniu najkróczu. Nie w znaczeniu że przejadę najmini metrów, tylko w znaczeniu przejady w najkrótrzym czasie. Więc powiedziałbym nawet, że wyznacanie takie statyczne jest rzeczą w turnu, a jak wyznaczane jest czas, no można powiedzieć, niezagłębiając się w szczegóre, że na podstawie chociażby moje średnie prędkości jest zwyczaj, moich zwyczajów, które Google bardzo dużo lubłościł zbiera, ale też chociażby tego, jak jest zakorkowane. Tego jak z Jakupionet Kościół je to aktualnie im nie uczestnicy ruchu. I to wprowadza nam bardzo dużo zamieszania do naszego grafu, bo tworzenie takiego dynamicznego grafu nabierząco gdzie jednak te krawędzie są bardzo zmienne i to ciągle są zmienne, powoduje, że ten gra w przestaje mieć trochę rację bytu, bo jednak graf jest fajny, dlatego że mamy całą skrót, i sobie możemy poniej przeszkiewać o gorytm, jeżeli jest ta skrót, która nagle się zmienia zupełnie, to traci troszeczkę sens, może nie traci, ale ten sens jest zdecydowanie zmniejszony w stosunku do tego, że jest taka grafu. Kolejna rzecz między nami są też, czyli już powiedzieliśmy tak, to nie jest problem, żeby wyznaczyć sobie, że ja dodaję nowy wyszholek i punkt kończowy też jest nowym wyszholkiem, dotknąt tylko pytanie co z wszelkiego rodzaju postojami typu że usługi, no przecież spójrz sobie na mapę Głogorską, a zobaczysz, że w tamtym miejscu jest mnóstwo skrypów, skrepików, usług fryzerskich, drukalnych i innych przybytków. I czy one też wprowadzają nowe, nowe wieszchoki? Czy one są rozwiązane jakoś inaczej? I to jest dodatkowe pytanie, które chyba nie jestem pewien, jeżeli słucham nie ma tematyk, to bardzo serdecznie zapraszam do wypowiedzi też, a może nawet do wystąpienia w ramach Big Data Popłocków, chętnie się dowiem sam. Czy to reagra w ma rozwiązane dodawanie albo uwzględnianie takich niby wieszchoków pomiędzy wieszchokami? Jeśli mamy wieszcholek A, B, C, to nam wystarczy, ale między nimi jest jeszcze 50 innych, których normalnie nie musieliśmy uwzględniać, no bo i po co? Jeżeli one stół na drodze, to by wprowadzało dodatkowe zamieszanie się chodzi o obdiszczenia. Ale jeżeli chcemy znaleźć, no to jednak fajnie byłoby, żeby te dodatkowe możliwości też były. I czy to jest dodawane dynamicznie? Czy to jest wbudowane w ramach struktury? A może jest tworzone cała masa struktury wszystkie kombinacje? To byłoby bardzo nieoptimalne, ale nie wiem jak to jest rozwiązane w porządku Google na pewno na tym młużczyli i ja chętnie dowiedziałbym się tego typu rzeczy. Właśnie na początku, że odwieram tutaj w warach z pytaniami, dlatego że widzisz już chyba, że ten graf, który na początku wydawał się nam takim prostym intuicjinym rozwiązaniem do mapku gorskich, nabiera dużo większych kształtów. Na jeszcze dodatkowa informacja, jak jest, mamy różne drogi, czyli mamy np. zwykłólicy, ale mamy też autostradę, na której przepustowo się zwiększa. Jest wiele pasów, nie wiadomo czy to jest plany pod uwagę czy nie. Powinno być plany pod uwagę, bo jeżeli bieżę pod uwagę korki, więc jeżeli jest, to 5 out, to 5 out na wąskiej, jedno kierunkowej, jedno pasmowej ulicy, będzie czym innym niż 5 out na 3 pasmowej autostradzie. To też, że te wierzcho, gdy w kawędzie mogą być już różne, powinny mieć jakiś cerchy, być może opisane, a dodatkowo jeszcze przecież możemy podróżować, czyli mamy mapę dla aut, mamy też mapę dla pieszo, chodzenie pieszo. I czy dla chodzenia pieszo mamy zupełnie osobny graf, czy też w ramach tego grafu jest to jakoś dodatkowe opcje włączone. Jak widzisz, dość sporo pytaj się pojawia i chciałbymcie z tymi pytaniami zostawić. Rozwiniamy to sobie w kolejnym podkaście, w kolejnym odcinku za dwa tygodnie, ja tylko dorzucę jeszcze. To, że my mówiliśmy tylko o kwestiach w strukturie, i które sobie sobie dość wydaje mi się dobrze rozpykaliśmy. Ale poza strukturą jest, dochodzi jeszcze kwestia chociażby GPS, który swoją drogą też jest strukturą grafową, ale jak ten GPS jest nakładany. Kolejna rzecz to obrazy satelitarne, które też są nakładane na Google Maps, bo Google Maps ma swoje satelitarne, swoje satelitarne wizualizacje. I jak to wszystko jest, no to właśnie, w jaki sposób regularnie aktualizuje trase, jak jedziemy, jaką sprawdza alternatywną, którą proponuję. Bo pamiętajmy, że to jest to, że to się dzieje tylko dla nas, ale też dla milionów innych osób. Z wiosu Google Maps ma ponad miliard, uwaga ponad miliard aktywnych urzędkowników miesięcznie. To są gigantyczne wartości i użytkownik, to nie jest tylko jakaś cyfra w bazie. Użytkownik to jest konkretne wysłanie konkretnego zapytania. To jest urochomienie konkretnego obliczenia, no bo przecież trzeba tego tu agliaskę albo dixtrę obliczyć dla konkretnego urzędkownika z konkretnym zapytaniem między punktem a punktem B. Miliard, już aktywnych urzędkowników, to są rykwesty, które są wysyłane do selbera. Więc tu wchodzi nam też kwestia zwykłego takiego rutingu. Każdy godnia jest pokonywany ponad miliard kilometrów przez urzędkowników. I to też pokazuje jakie są obciążenia, pewnie selwerawna w danym momencie, jakie są, ile jest możliwości wysłania zapytania. A potem, jak już ci ludzie podróżył, to przecież to musi być sprawdzane, na bieżąco. Jakie technologie mogą to trzymać? Czy mamy tam do czynienia z bazami grafowymi? Czy mamy tam jakiś streaming, czy jakieś przetwarzanie danych? To wszystko jest bardzo ciekawe i tego wszystkiego nie zgłębiemy dzisiaj. Dlatego zachęcam cię, zapraszam cię już teraz zostaw, subskrypcja robicie to nie ominęło. Jeżeli chcesz dołączyć naszej społeczności i rozwijać się w kląku Big Day, to zapraszam do niskletera na szlaku. Big Day tak, gdzie dowiadujesz się, dostajesz na start konkretną serię i maili dotyczących Big Day. Ty wprowadzania do Big Day, też e-book, zniszkę, o której dzisiaj uwielbicie, całą masę innych rzeczy. I co tydzień też konkretną mięsie z tą informację i na pewno żadną podchostcie nieomię. Więc zapraszam do społeczności niskletera na szlaku Big Day. Ale przede wszystkim zapraszam naprawdę, kliknij subskrybuj kliknij, opinię kliknij, łapkę w ogóle. To wszystko, to jest fantastyczna, wspaniała informacja zwrotna dla nienie. Mam nadzieję, że ten odcinek się podobał i mam nadzieję, że kolejny raz kiedy wybierzesz Google Maps, to twoje myśli pójdu już zupełnie ingo stronę niż poprzednio. Tego ciężczę, bo ten świat jest fascynujący i nie powinniśmy poprzedzować na wiernej konsumpcji. Ciągłe zastanawienie się, jak to działa, czego to ode mnie wymaga, co się pod spodem dzieje. To wszystko powoduje, że jesteśmy coraz bardziej świadomi, że nie jesteśmy jak zombie, to korzystaliśmy ciągle zachwyceni tym światem. Dodatkowy efekt wyłoczny jest też taki, że troszeczkę oddolamy się od lat Sejmera, co nie on wpisuje, jest atrakcyjna. Dziękuję Ci za dzisiaj życzę Ci, żeby ten świat nigdy nie spowszedniał, życzę Ci, żeby każde zdarzenie z Google Maps było już tylko punktem inspiracji i zadawanie kolejnych pytań, na które będziesz nie z trudzenie szukał. Odpowiedzi, życzę Ci, miłe godnia, tu już wieczola. Trzymaj się do zobaczenia, do usłyszenia za dwa tygodnie Jansę. Marek, czu ma jestem tu po to, żeby z tobą wspólnie odkrywać świat zbudowany z danych. Narazie, cześć!
Dodaj komentarz