2:48 Senzory člověka mě napadly tyhle: Samozřejmě základní 4/5 smyslů člověka (zrak, sluch, hmat, čich). Ale současně mě napadlo i něco, co neumím pojmenovat, nevím, jak to přesně vnímáme, ale nezapadá to ani do jedné z těch 4 kategorií. Je to vnímání teploty (horko, chlad), vnímání tlaku, vnímání zemětřesení (jakýchkoliv vibrací), vnímání deště, případně vody. + moji přítelkyni napadl ještě jeden vjem, který absolutně netuším, jak popsat, ale také je to vnímání okolního prostředí. Je to intuice. Například pocit toho, že někdo stojí za vámi. Pokud to není arci smraďoch nebo navoňaný hošan, tak jej necítíte. Je za vámi, takž jej nevidíte. Je trošku dál, tak na něj ani nedosáhnete a pokud se nehýbe a je ticho, tak jej neslyšíte, ale přesto vám něco říká, že někdo za vámi je. Pocit, který mají zvířata a lidé a pochybuji, že to někdy budou mít stroje (ale co já vím, dřív jsem si nemyslel, že bych si mohl pokecat se strojem nebo že za mě něco vysaje byt :D ) Aktuátory pro změnu světa je nekonečně podle mě nekonečně mnoho. A nejen fyzické, ale digitální, myšlenkové, komunikační. Když budu chtít změnit fyzicky své okolí, tak třeba budu chtít udělat díru na zahradě. Možností je spousta. Několik druh lopatek/lopat, můžu použít bagr, můžu kopat nohou, hrabat rukama, můžu použít prakticky nepřeberné množství pevného materiálu (konec koncům, klidně i kapalného, když by to byla kyselina nebo pořádně natlakovaná voda). Můžu dokonce dát povel psovi, naverbovat partu ukrajinců, prostě možností je spousta. Pokud budu chtít ovlivnit své okolí třeba i pocitově, tak třeba přijdu za přítelkyní a řeknu ji, že vypadá jako otylý vepřík a bude veselo. Když ji řeknu, že vypadá, jako tlustý prase, tak..... no tak také bude veselo :D Proto když to vezmu ze širokého pojetí světa, tak jej mohu ovlivňovat naprosto jakkoliv. Co můžu stěží ovlivnit je po jakou dobu mé činy budou trvat. Pokud výrazně neovlivním větší skupinu lidí nebo na mém nápadu nebude někdo stavět další vědomosti případně nevytvořím nic, co by přetrvalo delší dobu, tak se na mé ovlivňování velmi rychle zapomene. Například všichni víme, kdo to byl Sokrates, ale nikdo neví nic o někom, kdo jej jednou v životě uviděl, slyšel a nijak nic neovlivnil na delší dobu. Přitom to mohl být třeba muž, který pro svou ženu udělal první poslední a ona byla díky němu šťastná.
Nazdar Marku, věděl jsi,že dá výpočítat kvadratická rovnice pomocí kořenových vztahů. Jako, že X1 + X2= -B lomeno A a další rovnice je X1 krát X2 = C lomeno A z kvadratického předpisu. Je to soustava rovnic tohle si ještě nikdy neukázal zajímavé co pojd a natoč videjko zdraví Michal😮
@@pitomec1000 Ahoj. To jsou vietovy vztahy. Takhle to řeším pořád. Problém je že když si tu soustavu napises, tek ti z toho vypadne úplně stejná rovnice jako ta původní :-)
To byla nádherná práce kluci! Jak píše Marek níže, kdyby se Vojtovi chtělo, bylo by třeba zajímavé udělat video o tom, jak si robot mapuje konkrétní místnost a jak si tam "vytvoří" mřížku, po které se bude pohybovat. Ještě jednou paráda, super video!
25:06 Napadá mě jedině přepočítání všech objektů. V podstatě stejný postup (nebo spíš úprava předešlého postupu) s tím, že každou zeď bych v rámci výpočtu posunul o velikost d do středu místnosti. A takto zmenšenou místnost bych zbavil těch krajních bodů. U předmětů bych udělal opak. Jejich stěny bych od jejich středů oddálil vektorem o velikosti d a pak bych na ně aplikoval to pravidlo. Prostě před tím, než bych provedl ty vylučovací body, tak bych si udělal modifikovanou úpravu místnosti. Stěny pokoje bych přiblížil ke středu místnosti, stěny objektů bych rozšířil od středu objektů. Vždy o velikost vektoru d.
27:02 Nedovedu si to moc představit, ale už ze sítě jde vidět, že diagonální cesty mezi body mají nejméně možností, kudy se může robot pohybovat. Pokud mají takto omezené možnosti (a pokryjí stejnou plochu), tak je to určitě výhodnější. Čili diagonální mřížka bude určitě rychlejší. Ta bude mít ovšem problémy s vysátím kolmých ploch, protože bude vytvářet zuby a tím pádem dojde k "hluchým trojúhelníkům", které vysavač nepokryje a tím se zvýší procento nevysáté plochy. U čtvercové sítě je to naopak - rovné plochy pokryje lépe, ale bude vytvářet zuby u těch šikmých (jde to vidět opět na tom prostředním objektu u jeho přepony). Síť, kde může robot jet osmi směry, tak pokryje určitě větší plochu, protože právě díky možnostem se může přizpůsobit libovolnému předmětu a vysát jej co nejefektivněji. Ovšem díky většímu množství možností to znamená častější otáčení a větší časovou náročnost, takže sice vysaje nejlépe, ale hádám, že to může být klidně i o polovinu delší čas než v předchozích dvou případech. A proč se využívá častěji ta čtvercová plocha je nejspíš z toho zřejmé - lidi jsou zvyklí si nábytek a pokoj formovat do pravých úhlů a málo předmětů má nepravidelný nebo šikmý tvar.
Jen tak pro detail - srovnávat chatGPT založeného na transformátorech a následné iterpolaci latentním prostorem ( + Stochastika ) a zpětnovazební učení není tak uplně dobré, zvlášť pokud to video má být pro začátečníky, vytváří to podle mě zmatek v tom, co tento obor vlastně obnáší. - Zvlášť když zrovna tohle nevyžaduje nějak extra velký pokrok v hardwaru, čímž video začínalo. Jinak samozřejně úžasné video a děkuji za něj!
Tohle moc nesouvisí s AI, doufal jsem, že tam bude alespoň reinforcement learning. Ale rozhodně je to krásná ukázka toho, jak se dá i středoškolská matematika využít, a že to není jen pro počítání nesmyslných slovních úloh.
Ahoj, myšlenky, které jsme ve videu vysvětlovali, jsou základy oboru umělé inteligence jako takového. Umělá inteligence je obor, ve kterém se snažíme navrhovat algoritmy, které se v nějakém smyslu chovají optimálně (většinou na základě performance measure funkce). Tohle se formalizuje pomocí agentního modelu, který jsme popsali. Agentní program se dá navrhnout mnoha způsoby, které bychom mohli zjednodušeně klasifikovat do dvou kategorií. První jsou přístupy založené na strojovém učení (ML), kde používáš data k vygenerování programu. Tady spadá tebou zmiňovaný reinforcement learning. Druhá kategorie jsou „klasické metody“, kde používáme různé vyhledávací algoritmy, matematickou logiku, pravděpodobnostní uvažování atd. To, jestli pro navrhnutí svého programu použiješ ML, nebo nějakou klasickou metodu, je pro label „AI“ irelevantní. Jde tam čistě o to, aby plnil svůj úkol podle specifikovaných kritérií. Poslední dobou je ML hodně populární a mnoho lidí si myslí, že AI = ML. Ve skutečnosti je ale ML jen jedním z možných přístupů, jak řešit problémy pomocí AI. Našim cílem pro tohle video bylo lidem ukázat trošku širší pohled. Mimochodem, jedním z převratných momentů v AI bylo, když Deep Blue porazil Kasparova v šachách. Jejich algoritmus vycházel z klasických metod, a předpokládám, že nikdo nezpochybňuje, že to patří do oboru AI. :)
@@vojtechproschl Já se zabývám výzkumem optimalizačních algoritmů, konkrétně řešení různých variant TSP a "AI" tomu rozhodně neříkáme. Podle toho co píšeš, neměla by i obyčejná kalkulačka používat AI, protože obsahuje nějakou chytrou metodu jak spočítat sinus? Ale ať je to jakkoliv, slovo AI bych třeba v názvu tohoto videa nepoužil, právě proto, že si pod tím většina lidí představí něco jiného.
@@MynecraftCZ Tak abych byl konkrétnější, vycházíme z definice AI která používá přístup racionálního agenta (jak je třeba v knize Artificial Intelligence: A Modern Approach). Racionální agent, je agent, který optimalizuje očekávanou hodnotu performance measure funkce. Cílem umělé inteligence je pak navrhnout racionálního agenta, nebo se mu alespoň přiblížit. V modelu úmyslně nemáme žádný nedeterminismus, abychom nemuseli zacházet do detailů. Cílem videa nebylo ukázat na graph search a tvrdit, že je to “AI algoritmus", ale spíše ukázat ten postup, jak různá kombinace myšlenek může vést k agentovi, který se chová ve smyslu PM “docela” inteligentně.
@@MynecraftCZ RL tady míchat do osvětového videa pro laiky nemá smysl, to je úplně jiný level, tady se to řeší analyticky a jde o jednoduché prohledávání statického stavového prostoru. RL je tady jak kanón na vrabce.
8:56 1) napadá mě jen jediný případ (nejspíš nereálný, ale jedna z možností to může být), že by to zvládl za nula sekund. Nulou dělit nelze, takže v takovém případě by to craschlo. Když se nad tím zamýšlím z pozice člověka, tak je pro nás nemožné uklidit za nula sekund, protože nějaký čas nad tím musím vždy strávit (tak to vnímáme my lidé). Ale robot je tupý stroj (i když se bavíme o umělé inteligenci, stejně je to směsice velmi dobrých algoritmů, ale je to stále tupec, kterému se musí přesně zadat jasný scénář, jak má něčeho docílit). Robot nerozumí tomu, co je to úklid. Nerozumí tomu, co je to směr. Nerozumí tomu, co je to čas. On má prostě nějaký vzorec/předpis a do něj očekává nějaké vstupní hodnoty. Proto z pohledu robota není nic na tom, že by mohl dostat čas nula sekund. V takovém případě by ne že nevěděl, jak to vyhodnotit, ale dojde díky našim matematickým zákonům k chybě, protože dostáváme 1/0. 2) V rámci programování jsem to kdysi řešil a napadá mě použití funkce signum: f(p,t) = (1 / t) * sign(p - 0,89) případně f(p,t) = (1 / t) * sign(p - 89), když by p bylo uváděno přímo v procentech. 89, protože kdyby to bylo ještě 90, tak by to vrátilo nulu a sign(0) je nula, takže by to nodpovídalo tomu, čemu chceme.
Chování robota hodně záviselo na reprezentaci uvedeného grafu, hrany do sousedů byly vždy ve stejném pořadí světových stran a v tom pořadí také vybíral souseda k pokračování. Pokud by hrany byly (vybírány) v náhodném pořadí, vypadal by úklid mnohem chaotičtěji a nejspíš by trval déle. Pokud by mělo být optimalizováno kompatibilně s úvodem, měl by být zvažován čas otáčení. V takovém případě by nejspíš bylo potřeba mít "čtyři verze" každého vrcholu, co se týče otočení, a počítat se vzdálenostmi mezi verzemi, nicméně pro úklid není potřeba navštívit všechny verze, ale stačí pro každý vrchol navštívit aspoň jednu jeho verzi. Robot by v takovém případě málo zatáčel v úvodních fázích úklidu, vykrajoval by z místnosti obdélníky, které by po spirále uklidil a pak by se přesunul k nejbližšímu neuklizenému bodu. Nejspíš by jeho chování bylo lepší než popsané chování robota (které náhodně volí pokračování nejbližšímu sousedovi bez zvažování cen otáčení), nejsem si jist, jestli by bylo lepší než implementované chování robota (kde se z nejbližších sousedů vždy vybírá ve stejném pořadí "světových stran").
Nikdo to tu zatím nezkusil, tak velice zjednodušeně: Sensory: Dotyk, vnímání teploty, zápach/chuť, bolest, zvuk, zrak (+ pár dalších, ne tolik podstatných) Aktuátory: Svaly -> nohy, ruce, plíce, hlasivky atd. atd... Předpis vaší funkce (použiji syntaxy z desmos, ale nejspíš není validní): f (p, t) = {p < 0.9 : 0 , p / t} V případě, že by z nějakého důvodu bylo t = 0, by byl výsledek nekonečno/nedefinovaný Strana čtverce, jednoduchá pythagorova věta: sqrt(2*r^2) Algoritmus pro výpočet vzdálenosti od úsečky se mi nechce, zjednodušeně se udělá normála, tak aby počáteční bod byl na přímce mezi body určujícími úsečku, a utvářel polopřímku s bodem, u kterého hledáme vzdálenost. Pokud je mimo úsečky, spočítá se jednoduše vzdálenost od bližšího bodu kraje úsečky, pokud je uvnítř, spočítá se vzdálenost mezi počátečním bodem normály. Co se týká propojení bodů, vybraná varianta má výhodu, že stačí projít všemi body a je uklizeno, diagonální bych řekl, že výhodu nemá, jelikož se jedná v podstatě o to samé, ale spoustu místa robot bude muset projet vícekrát, takže to zabere více času. Varianta umožňující oba druhy pohybů by mohla být výhodná při pohybu do nějakého bodu bez uklízení, trasa by se zkrátila. Zjišťování jestli je úhel takový kladný nebo záporný mi přijde zbytečné. Pakliže znám úhel robota a úhel, kterým se má natočit, jen vezmu jeden a odečtu od něj druhý a to pošlu robotovi, aby se o tolik otočil. Pokud nechceme, aby se otáčel o více než úhel PI, tak si teď nevzpomenu jak to vyřešit jednoduchou rovnicí (jde to, jen se mi nechce tak moc nad tím přemýšlet), ale jednoduché programátorské řešení, přičíst 2PI, modulo 2PI, pokud menší než PI, je hotovo, pokud ne, tak odečíst 2PI a dostaneme negativní úhel.
23:18 Já bych typl, že výčet vektorů, které vytváří oba problémy je dán počtem vrcholů toho polygonu. Prostě pokud od toho bodu povedu směrový vektor k libovolnému vrcholu polygonu, dostanu jeden z těch dvou problémů.
Velmi jednoduché řešení: robot bude jezdit okolo stěn a vždy, když dokončí okruh, se odsune o svou šířku od stěny. Pokud narazí na překážku, tak pojede podél ní, až najede na plánovanou trasu. Tak uklidí až 100 procent (kromě koutů). Nezaručuje ideální trasu.
To by rozhodně optimální nebylo. Představ si případ, že máš místnost. Klidně jednoduchý obdélník. Kousek od nějaké zdi, budeš mít překážku ve tvaru dalšího obdélníka, která bude přes půl místnosti. V tom případě když ti vysavač pojede jak ty říkáš po obvodu, tak několikrát dojdeš do stavu, kdy budeš tu překážku muset stejnou trasou neustále objíždět (aby dokončil ten posunutý obvod). Vždy i v tom posunutí budeš mít stejnou překážku a může se stát, že třeba 20x pojedeš jednu a tu samou trasu (čili naprosto zbytečně, protože tu už uklidíš poprvé). Tvé řešení rozhodně optimální není, docházelo by k zbytečným duplikátním cestám.
@@JanSkrobanek Jenže o tu optimálnost jde především. To bys klidně takhle mohl nechat tu random metodu a jednoho dne se můžeš těšit na 100% uklizený pokoj.
@@sirkubador :D Ehm.... a když si to upravíš? :D Nevyjde ti úplně to samé, co mně? sqrt(2*(r na 2) ) sqrt (r na 2) je r, takže ti zbyde jen r * sqrt(2) (a podívej se na můj výsledek). Takže jsi počítal úplně stejně, akorát jsi neodmocnil částečně odmocninu a nechal jsi pod odmocninou i to r na druhou :D
koukám teď na mathematicator, který by mi mohl pomoct s matikou v prváku na VŠ, problém je v tom že naše matika na střední byla nic moc, maturitu z matiky jsem sice udělal, ale teď jsem měl rok studium...kde jsem matiku vůbec neviděl a budu si ji muset zopakovat včetně některých základů, abych prošel Matikou bez problémů, moje otázka zní, bude mi stačit kompletní balíček vysokoškolských kurzů? nebo mám mrknout i na ty ze střední školy? díky :D
@@marahradil Ahoj. Hele to záleží na tom, kolik si toho z tý střední pamatuješ. Pokud opravdu potřebuješ zopakovat, tak začni tím maturitním. Ale počítej že je toho dost. Něco přes 60 hodin. Ale asi nebudeš potřebovat všechno. Druhá možnost je jít rovnou na ty vysokoškolský a když budeš mít nějaký díry ze střední, tak je vždycky zalepit na míru.
Marku prosím, jsme studentky osmiletého gymnázia v Orlové a řešíme jeden matematický problém se kterým si nevíme rady. Kolik je (2n)!/n! ? Prosím Marku, my už na to nemáme. Jsi jediný kdo nám může pomoci. Pavla a Eliška
Ahoj Pavlo a Eliško, to záleží na tom, kolik je n. Předpokládám, že potřebujete nějaký způsob jak ten výraz upravit. Obávám se, že to už moc nepůjde. Když se zamyslíte nad tím, co ten výraz znamená, tak tohle je podle mě nejúspornější způsob jak ho zapsat. Mohly byste to samozřejmě rozepsat a zkrátit. Dostaly byste toto: 2n*(2n-1)*(2n-2)*.....*(n+1) Ale nevim jestli je to lepší než ten původní tvar.
Zamysli se nad tím co to znamená, např když by bylo n=10, tak by tvůj výraz vypadal jako (20!)/10!, když si to rozepíšeš tak to bude 20*19*18*17*16*15*14*13*12*11. Tvůj zápis (2n)!/n! je kompaktní forma práve těch 2n*(2n-1)*(2n-2)*.....*(n+1) co Marek psal, stejně jako (a+b)² je kompaktní forma a²+2ab+b².
Existuje este Stirlingov vzorec, pomocou ktoreho sa da faktorial pre velke n nahradit inymi funkciami. Ale to uz je skor vysokoskolska matematika ako stredoskolska.
tam jsem před pár lety studoval 😄, jinak pro zkrácení musíš čitatel upravit, aby měl něco krát n!=n(n-1)(n-2)...1, máme ale 2n(2n-1)(2n-2)...1; co s tím? když se na to více koukneme, tak tam tam jsou častí, které po zkrácení 2^n {pozor, řada se násobí, takže těch dvojek se vezme více než jedna} vypadají jako n! takže čitatel se dá upravit na 2^n[n(n-1)(n-2)...1]*[(2n-1)(2n-3)(2n-5)...1]=2^n*n!*[(2n-1)(2n-3)(2n-5)...1] a toto už jde zkrátit s n! na 2^n*[(2n-1)(2n-3)(2n-5)...1], druhá část by šla lépe zapsat s velkým pi; otázka pro ostatní, jak by vypadala obecná úprava pro (an)!/(bn)! 😁
Dobrý deň, Chcel by som sa spýtať otázku mimo témy videa, ale narazil som na dve možnosti kurzov: kompletní balíček vysokoškolských kurzov a druhá: jak nevyletet z prváku. Z druhej možnosti som si pozrel prvých 5 dostupných videí a páčili sa mi, ale napriek tomu by som sa chcel spýtať, ktorý viac odporúčate na prvú skúšku z matematiky.
@@stopdripping6388 ahoj. Jak nevyletet v prvaku z matiku je kurz, který doplňuje rozdíl mezi státní maturitou a tím co potřebujete na vysoké před začátkem prvního semestru. Státní maturita je totiž velmi lehká oproti tomu co byste měl umět při přechodu na vejšku. Balíček pokrývá všechna VS témata prvních cca tři až čtyři semestru. Záleží na škole. Kromě toho v tom ten kurz jak nevyletet je taky. Když mi cinkněte, nebo pošlete sylabus vaší matiku, poradím co budete potřebovat za kurz.
Je to hezké, že to tady řešíte v podstatě analyticky, video jsem jen proklikal, ale na ten problém kde máte graf a vzdálenost mezi vrcholy jde použít prostě Djikstra a máte optimální řešení, ne?
Jde, v praxi by se na tohle ale použil spíše A*. Pro vysvětlení Djikstry by bylo třeba zavést priority queue. Kdybychom tohle chtěli udělat pořádně, tak musíme rozebrat třeba binary heap DS, což by pro takové video bylo až moc "advanced".
@@vojtechproschl Tam potom asi záleží na tom, jak je ten problém zadefinovaný, ale pokud je cost daná, pak stačí Dijkstra... je mi jasné, že se tyhle věci do takového videa, v podstatě "pro laiky" nedají zavádět, jen mě zajímal alternativní, jednodušší přístup řešení tohohle problému, než to celé analyticky vyjadřovat. Ono to má totiž asi dost dobrou hodnotu pro aplikované matematiky, ale trochu menší pro programátory, kteří by na to plácli nějakou heuristiku (jak zmiňuješ, A*), nebo principy DP.
Už se těším, až ta AI začne brát práci těm totálně neschopným. Stačí, podívat se, kolik to má lajků. Stovky pouze. Pokud tu dáte primitivního zpěváka, tak to přitahne ty primitivy,dle počku lajků. Já osobně jsem rád, že v hospodách trošku přidražily, nevidíte tam ty sociály.
Ovšem podstatné je, že není žádná umělá inteligence. O umělé inteligenci mluví jenom idiot.
2 месяца назад+3
Strašné bláboly. Natahování, okecávání, zacházení do zbytečných detailů. Jestli někdo chce pohádky před spaním, takové povrchní okecávání, toto je ideální video.
Tak ešteže to nemusíte pozerať a zároveň máte absolútnu slobodu v tom, že si môžete pozrieť čokoľvek iné. Ale nie, vy máte predsa potrebu komentovať niečo, čo vás vlastné nezaujíma. Úžasné!
@@VladoTrojak tak ještěže ty moje komentáře nemusíte číst a zároveň máte svobodu že si můžete přečíst jakékoliv jiné. Ale ne, vy musíte komentovat něco, co vás vlastně nezajímá. Úžasné!
Líbí se mi budoucnost, kde Marek se stane českým Numberphilem, či 3Blue1Brown. Skvělé video pánové! ❤
Když vydal video, vzpomněl jsem si, jak mi pomohl s přijímačkama ❤
2:48 Senzory člověka mě napadly tyhle: Samozřejmě základní 4/5 smyslů člověka (zrak, sluch, hmat, čich). Ale současně mě napadlo i něco, co neumím pojmenovat, nevím, jak to přesně vnímáme, ale nezapadá to ani do jedné z těch 4 kategorií. Je to vnímání teploty (horko, chlad), vnímání tlaku, vnímání zemětřesení (jakýchkoliv vibrací), vnímání deště, případně vody. + moji přítelkyni napadl ještě jeden vjem, který absolutně netuším, jak popsat, ale také je to vnímání okolního prostředí. Je to intuice. Například pocit toho, že někdo stojí za vámi. Pokud to není arci smraďoch nebo navoňaný hošan, tak jej necítíte. Je za vámi, takž jej nevidíte. Je trošku dál, tak na něj ani nedosáhnete a pokud se nehýbe a je ticho, tak jej neslyšíte, ale přesto vám něco říká, že někdo za vámi je.
Pocit, který mají zvířata a lidé a pochybuji, že to někdy budou mít stroje (ale co já vím, dřív jsem si nemyslel, že bych si mohl pokecat se strojem nebo že za mě něco vysaje byt :D )
Aktuátory pro změnu světa je nekonečně podle mě nekonečně mnoho. A nejen fyzické, ale digitální, myšlenkové, komunikační. Když budu chtít změnit fyzicky své okolí, tak třeba budu chtít udělat díru na zahradě. Možností je spousta. Několik druh lopatek/lopat, můžu použít bagr, můžu kopat nohou, hrabat rukama, můžu použít prakticky nepřeberné množství pevného materiálu (konec koncům, klidně i kapalného, když by to byla kyselina nebo pořádně natlakovaná voda). Můžu dokonce dát povel psovi, naverbovat partu ukrajinců, prostě možností je spousta.
Pokud budu chtít ovlivnit své okolí třeba i pocitově, tak třeba přijdu za přítelkyní a řeknu ji, že vypadá jako otylý vepřík a bude veselo. Když ji řeknu, že vypadá, jako tlustý prase, tak..... no tak také bude veselo :D
Proto když to vezmu ze širokého pojetí světa, tak jej mohu ovlivňovat naprosto jakkoliv.
Co můžu stěží ovlivnit je po jakou dobu mé činy budou trvat. Pokud výrazně neovlivním větší skupinu lidí nebo na mém nápadu nebude někdo stavět další vědomosti případně nevytvořím nic, co by přetrvalo delší dobu, tak se na mé ovlivňování velmi rychle zapomene. Například všichni víme, kdo to byl Sokrates, ale nikdo neví nic o někom, kdo jej jednou v životě uviděl, slyšel a nijak nic neovlivnil na delší dobu. Přitom to mohl být třeba muž, který pro svou ženu udělal první poslední a ona byla díky němu šťastná.
Pánové, krásně podané video i pro laika v této oblasti :) Děkuji za něj :) Marku, gratuluji ke 100K odběratelů :)
Skvělý ⭐️
Děkujeme :-)
ahoj Franku tak co bude roboAinka? 😀
:O velmi nečekané a vzrušující, bude vice podobných videí? Děkuji.
To bude záležet na Vojtovi, kterej na tom nechal stovky hodin práce. Já bych byl rozhodně pro :-)
Nazdar Marku, věděl jsi,že dá výpočítat kvadratická rovnice pomocí kořenových vztahů. Jako, že X1 + X2= -B lomeno A a další rovnice je X1 krát X2 = C lomeno A z kvadratického předpisu. Je to soustava rovnic tohle si ještě nikdy neukázal zajímavé co pojd a natoč videjko zdraví Michal😮
@@pitomec1000 Ahoj. To jsou vietovy vztahy. Takhle to řeším pořád. Problém je že když si tu soustavu napises, tek ti z toho vypadne úplně stejná rovnice jako ta původní :-)
@ aha tak to Jo
Perfektní video, určitě se těším na nějaký další podobný obsah. Je vidět kolik práce muselo být vynaloženo na něco tak kvalitního ❤
To byla nádherná práce kluci! Jak píše Marek níže, kdyby se Vojtovi chtělo, bylo by třeba zajímavé udělat video o tom, jak si robot mapuje konkrétní místnost a jak si tam "vytvoří" mřížku, po které se bude pohybovat. Ještě jednou paráda, super video!
Děkujeme :-)
Gratuluji k 100k subs
@@deerdear4686 děkuju :-)
Gratulujem ku 100K odoberateľov pane , pomohli ste mi na strednéj aj na výške.
25:06 Napadá mě jedině přepočítání všech objektů. V podstatě stejný postup (nebo spíš úprava předešlého postupu) s tím, že každou zeď bych v rámci výpočtu posunul o velikost d do středu místnosti. A takto zmenšenou místnost bych zbavil těch krajních bodů. U předmětů bych udělal opak. Jejich stěny bych od jejich středů oddálil vektorem o velikosti d a pak bych na ně aplikoval to pravidlo. Prostě před tím, než bych provedl ty vylučovací body, tak bych si udělal modifikovanou úpravu místnosti. Stěny pokoje bych přiblížil ke středu místnosti, stěny objektů bych rozšířil od středu objektů. Vždy o velikost vektoru d.
27:02 Nedovedu si to moc představit, ale už ze sítě jde vidět, že diagonální cesty mezi body mají nejméně možností, kudy se může robot pohybovat. Pokud mají takto omezené možnosti (a pokryjí stejnou plochu), tak je to určitě výhodnější. Čili diagonální mřížka bude určitě rychlejší. Ta bude mít ovšem problémy s vysátím kolmých ploch, protože bude vytvářet zuby a tím pádem dojde k "hluchým trojúhelníkům", které vysavač nepokryje a tím se zvýší procento nevysáté plochy.
U čtvercové sítě je to naopak - rovné plochy pokryje lépe, ale bude vytvářet zuby u těch šikmých (jde to vidět opět na tom prostředním objektu u jeho přepony).
Síť, kde může robot jet osmi směry, tak pokryje určitě větší plochu, protože právě díky možnostem se může přizpůsobit libovolnému předmětu a vysát jej co nejefektivněji. Ovšem díky většímu množství možností to znamená častější otáčení a větší časovou náročnost, takže sice vysaje nejlépe, ale hádám, že to může být klidně i o polovinu delší čas než v předchozích dvou případech.
A proč se využívá častěji ta čtvercová plocha je nejspíš z toho zřejmé - lidi jsou zvyklí si nábytek a pokoj formovat do pravých úhlů a málo předmětů má nepravidelný nebo šikmý tvar.
@@bezcisla skvělá analýza.
Jen tak pro detail - srovnávat chatGPT založeného na transformátorech a následné iterpolaci latentním prostorem ( + Stochastika ) a zpětnovazební učení není tak uplně dobré, zvlášť pokud to video má být pro začátečníky, vytváří to podle mě zmatek v tom, co tento obor vlastně obnáší. - Zvlášť když zrovna tohle nevyžaduje nějak extra velký pokrok v hardwaru, čímž video začínalo.
Jinak samozřejně úžasné video a děkuji za něj!
Už podle názvu mi to nepřijde jako video pro začátečníky a podle mě je to dobře, takých videí je plný internet.
Tohle moc nesouvisí s AI, doufal jsem, že tam bude alespoň reinforcement learning. Ale rozhodně je to krásná ukázka toho, jak se dá i středoškolská matematika využít, a že to není jen pro počítání nesmyslných slovních úloh.
Ahoj, myšlenky, které jsme ve videu vysvětlovali, jsou základy oboru umělé inteligence jako takového.
Umělá inteligence je obor, ve kterém se snažíme navrhovat algoritmy, které se v nějakém smyslu chovají optimálně (většinou na základě performance measure funkce). Tohle se formalizuje pomocí agentního modelu, který jsme popsali.
Agentní program se dá navrhnout mnoha způsoby, které bychom mohli zjednodušeně klasifikovat do dvou kategorií.
První jsou přístupy založené na strojovém učení (ML), kde používáš data k vygenerování programu. Tady spadá tebou zmiňovaný reinforcement learning.
Druhá kategorie jsou „klasické metody“, kde používáme různé vyhledávací algoritmy, matematickou logiku, pravděpodobnostní uvažování atd.
To, jestli pro navrhnutí svého programu použiješ ML, nebo nějakou klasickou metodu, je pro label „AI“ irelevantní. Jde tam čistě o to, aby plnil svůj úkol podle specifikovaných kritérií.
Poslední dobou je ML hodně populární a mnoho lidí si myslí, že AI = ML. Ve skutečnosti je ale ML jen jedním z možných přístupů, jak řešit problémy pomocí AI. Našim cílem pro tohle video bylo lidem ukázat trošku širší pohled.
Mimochodem, jedním z převratných momentů v AI bylo, když Deep Blue porazil Kasparova v šachách. Jejich algoritmus vycházel z klasických metod, a předpokládám, že nikdo nezpochybňuje, že to patří do oboru AI. :)
@@vojtechproschl Já se zabývám výzkumem optimalizačních algoritmů, konkrétně řešení různých variant TSP a "AI" tomu rozhodně neříkáme. Podle toho co píšeš, neměla by i obyčejná kalkulačka používat AI, protože obsahuje nějakou chytrou metodu jak spočítat sinus? Ale ať je to jakkoliv, slovo AI bych třeba v názvu tohoto videa nepoužil, právě proto, že si pod tím většina lidí představí něco jiného.
@@MynecraftCZ Tak abych byl konkrétnější, vycházíme z definice AI která používá přístup racionálního agenta (jak je třeba v knize Artificial Intelligence: A Modern Approach).
Racionální agent, je agent, který optimalizuje očekávanou hodnotu performance measure funkce. Cílem umělé inteligence je pak navrhnout racionálního agenta, nebo se mu alespoň přiblížit.
V modelu úmyslně nemáme žádný nedeterminismus, abychom nemuseli zacházet do detailů.
Cílem videa nebylo ukázat na graph search a tvrdit, že je to “AI algoritmus", ale spíše ukázat ten postup, jak různá kombinace myšlenek může vést k agentovi, který se chová ve smyslu PM “docela” inteligentně.
@@MynecraftCZ RL tady míchat do osvětového videa pro laiky nemá smysl, to je úplně jiný level, tady se to řeší analyticky a jde o jednoduché prohledávání statického stavového prostoru. RL je tady jak kanón na vrabce.
naprosto famózní video 👏👏👏
WOW! super kontent :). Zrovna studuji základy AI, takže se video bude hodit.
8:56 1) napadá mě jen jediný případ (nejspíš nereálný, ale jedna z možností to může být), že by to zvládl za nula sekund. Nulou dělit nelze, takže v takovém případě by to craschlo.
Když se nad tím zamýšlím z pozice člověka, tak je pro nás nemožné uklidit za nula sekund, protože nějaký čas nad tím musím vždy strávit (tak to vnímáme my lidé). Ale robot je tupý stroj (i když se bavíme o umělé inteligenci, stejně je to směsice velmi dobrých algoritmů, ale je to stále tupec, kterému se musí přesně zadat jasný scénář, jak má něčeho docílit). Robot nerozumí tomu, co je to úklid. Nerozumí tomu, co je to směr. Nerozumí tomu, co je to čas. On má prostě nějaký vzorec/předpis a do něj očekává nějaké vstupní hodnoty. Proto z pohledu robota není nic na tom, že by mohl dostat čas nula sekund. V takovém případě by ne že nevěděl, jak to vyhodnotit, ale dojde díky našim matematickým zákonům k chybě, protože dostáváme 1/0.
2) V rámci programování jsem to kdysi řešil a napadá mě použití funkce signum:
f(p,t) = (1 / t) * sign(p - 0,89)
případně
f(p,t) = (1 / t) * sign(p - 89), když by p bylo uváděno přímo v procentech.
89, protože kdyby to bylo ještě 90, tak by to vrátilo nulu a sign(0) je nula, takže by to nodpovídalo tomu, čemu chceme.
Ahoj Marku, kdy bude nové video třeba k 100 000 odběratelů?
Chování robota hodně záviselo na reprezentaci uvedeného grafu, hrany do sousedů byly vždy ve stejném pořadí světových stran a v tom pořadí také vybíral souseda k pokračování. Pokud by hrany byly (vybírány) v náhodném pořadí, vypadal by úklid mnohem chaotičtěji a nejspíš by trval déle.
Pokud by mělo být optimalizováno kompatibilně s úvodem, měl by být zvažován čas otáčení. V takovém případě by nejspíš bylo potřeba mít "čtyři verze" každého vrcholu, co se týče otočení, a počítat se vzdálenostmi mezi verzemi, nicméně pro úklid není potřeba navštívit všechny verze, ale stačí pro každý vrchol navštívit aspoň jednu jeho verzi.
Robot by v takovém případě málo zatáčel v úvodních fázích úklidu, vykrajoval by z místnosti obdélníky, které by po spirále uklidil a pak by se přesunul k nejbližšímu neuklizenému bodu.
Nejspíš by jeho chování bylo lepší než popsané chování robota (které náhodně volí pokračování nejbližšímu sousedovi bez zvažování cen otáčení), nejsem si jist, jestli by bylo lepší než implementované chování robota (kde se z nejbližších sousedů vždy vybírá ve stejném pořadí "světových stran").
Tak Marku gratuluji je 100 tisícům odběratelů a bude nějaké speciální videjko? Třeba s panem Rokytou nebo něco jiného třeba streamek?
Díky moc. Bude stream. Hned jak se dám do kupy. Jsem teď nemocnej. Chtěl jsem začít streamovat už včera, ale nevyšlo to.
@@marekvalasek7251 Tak to nás moc mrzí,že jsi nemocný no,tak přejeme brzké uzdravení. A doufáme,že si pro nás něco připravíš z matiky nebo jen i pokec
Nikdo to tu zatím nezkusil, tak velice zjednodušeně:
Sensory: Dotyk, vnímání teploty, zápach/chuť, bolest, zvuk, zrak (+ pár dalších, ne tolik podstatných)
Aktuátory: Svaly -> nohy, ruce, plíce, hlasivky atd. atd...
Předpis vaší funkce (použiji syntaxy z desmos, ale nejspíš není validní): f (p, t) = {p < 0.9 : 0 , p / t}
V případě, že by z nějakého důvodu bylo t = 0, by byl výsledek nekonečno/nedefinovaný
Strana čtverce, jednoduchá pythagorova věta: sqrt(2*r^2)
Algoritmus pro výpočet vzdálenosti od úsečky se mi nechce, zjednodušeně se udělá normála, tak aby počáteční bod byl na přímce mezi body určujícími úsečku, a utvářel polopřímku s bodem, u kterého hledáme vzdálenost. Pokud je mimo úsečky, spočítá se jednoduše vzdálenost od bližšího bodu kraje úsečky, pokud je uvnítř, spočítá se vzdálenost mezi počátečním bodem normály.
Co se týká propojení bodů, vybraná varianta má výhodu, že stačí projít všemi body a je uklizeno, diagonální bych řekl, že výhodu nemá, jelikož se jedná v podstatě o to samé, ale spoustu místa robot bude muset projet vícekrát, takže to zabere více času. Varianta umožňující oba druhy pohybů by mohla být výhodná při pohybu do nějakého bodu bez uklízení, trasa by se zkrátila.
Zjišťování jestli je úhel takový kladný nebo záporný mi přijde zbytečné. Pakliže znám úhel robota a úhel, kterým se má natočit, jen vezmu jeden a odečtu od něj druhý a to pošlu robotovi, aby se o tolik otočil. Pokud nechceme, aby se otáčel o více než úhel PI, tak si teď nevzpomenu jak to vyřešit jednoduchou rovnicí (jde to, jen se mi nechce tak moc nad tím přemýšlet), ale jednoduché programátorské řešení, přičíst 2PI, modulo 2PI, pokud menší než PI, je hotovo, pokud ne, tak odečíst 2PI a dostaneme negativní úhel.
Ahoj, prosím o 20hodinové videjko. Jinak pěkná tvorba.. jen bych si pohlídal hlasitost zvuku, někdy trochu kolísá.
20:40 strana čtverce = odmocnina z jedné poloviny (2r) na druhou. Dva r lze nahradit průměrem kružnice - d
Video super, jen prosím do příště zkuste nějak zapracovat na zvuku z mikrofonu, je to dost rušivé, hlavně plozivní souhlásky hodně duní do uší.
23:18 Já bych typl, že výčet vektorů, které vytváří oba problémy je dán počtem vrcholů toho polygonu. Prostě pokud od toho bodu povedu směrový vektor k libovolnému vrcholu polygonu, dostanu jeden z těch dvou problémů.
perfektní...
👏🏼
Je to zajímavé. Jediné co mě trošku znervózňuje a čemu nerozumím je to, jak mluvíte přes sebe a navazujete na stejnou větu z jednoho skriptu.
Velmi jednoduché řešení: robot bude jezdit okolo stěn a vždy, když dokončí okruh, se odsune o svou šířku od stěny. Pokud narazí na překážku, tak pojede podél ní, až najede na plánovanou trasu. Tak uklidí až 100 procent (kromě koutů). Nezaručuje ideální trasu.
To slovo "ideální" nahraďte "optimální", protože o to tady jde.
To by rozhodně optimální nebylo. Představ si případ, že máš místnost. Klidně jednoduchý obdélník. Kousek od nějaké zdi, budeš mít překážku ve tvaru dalšího obdélníka, která bude přes půl místnosti. V tom případě když ti vysavač pojede jak ty říkáš po obvodu, tak několikrát dojdeš do stavu, kdy budeš tu překážku muset stejnou trasou neustále objíždět (aby dokončil ten posunutý obvod). Vždy i v tom posunutí budeš mít stejnou překážku a může se stát, že třeba 20x pojedeš jednu a tu samou trasu (čili naprosto zbytečně, protože tu už uklidíš poprvé).
Tvé řešení rozhodně optimální není, docházelo by k zbytečným duplikátním cestám.
@@bezcisla Vždyť to taky píšu výše.
@@JanSkrobanek Jenže o tu optimálnost jde především. To bys klidně takhle mohl nechat tu random metodu a jednoho dne se můžeš těšit na 100% uklizený pokoj.
Chcel by som sa sa opýtať či máte kurzy aj na Abstraktnú algebru ?
20:42 nebude to náhodou: d= 2r / sqrt(2)? (případně, abychom neměli odmocninu ve jmenovateli, tak elegantnější zápis: d = sqrt(2) * r) ?
to mi nevychází. Je to pythagorovka, kde d na 2 + d na 2 = (2r) na 2. Takze d = sqrt(2*(r na 2))
@@sirkubador :D Ehm....
a když si to upravíš? :D
Nevyjde ti úplně to samé, co mně?
sqrt(2*(r na 2) )
sqrt (r na 2) je r, takže ti zbyde jen r * sqrt(2) (a podívej se na můj výsledek).
Takže jsi počítal úplně stejně, akorát jsi neodmocnil částečně odmocninu a nechal jsi pod odmocninou i to r na druhou :D
@@bezcisla No vida, to je pravda.
koukám teď na mathematicator, který by mi mohl pomoct s matikou v prváku na VŠ, problém je v tom že naše matika na střední byla nic moc, maturitu z matiky jsem sice udělal, ale teď jsem měl rok studium...kde jsem matiku vůbec neviděl a budu si ji muset zopakovat včetně některých základů, abych prošel Matikou bez problémů, moje otázka zní, bude mi stačit kompletní balíček vysokoškolských kurzů? nebo mám mrknout i na ty ze střední školy? díky :D
@@marahradil Ahoj. Hele to záleží na tom, kolik si toho z tý střední pamatuješ. Pokud opravdu potřebuješ zopakovat, tak začni tím maturitním. Ale počítej že je toho dost. Něco přes 60 hodin. Ale asi nebudeš potřebovat všechno. Druhá možnost je jít rovnou na ty vysokoškolský a když budeš mít nějaký díry ze střední, tak je vždycky zalepit na míru.
Marku prosím, jsme studentky osmiletého gymnázia v Orlové a řešíme jeden matematický problém se kterým si nevíme rady. Kolik je (2n)!/n! ?
Prosím Marku, my už na to nemáme. Jsi jediný kdo nám může pomoci. Pavla a Eliška
Ahoj Pavlo a Eliško,
to záleží na tom, kolik je n. Předpokládám, že potřebujete nějaký způsob jak ten výraz upravit. Obávám se, že to už moc nepůjde. Když se zamyslíte nad tím, co ten výraz znamená, tak tohle je podle mě nejúspornější způsob jak ho zapsat.
Mohly byste to samozřejmě rozepsat a zkrátit. Dostaly byste toto:
2n*(2n-1)*(2n-2)*.....*(n+1)
Ale nevim jestli je to lepší než ten původní tvar.
Zamysli se nad tím co to znamená, např když by bylo n=10, tak by tvůj výraz vypadal jako (20!)/10!, když si to rozepíšeš tak to bude 20*19*18*17*16*15*14*13*12*11. Tvůj zápis (2n)!/n! je kompaktní forma práve těch 2n*(2n-1)*(2n-2)*.....*(n+1) co Marek psal, stejně jako (a+b)² je kompaktní forma a²+2ab+b².
Existuje este Stirlingov vzorec, pomocou ktoreho sa da faktorial pre velke n nahradit inymi funkciami. Ale to uz je skor vysokoskolska matematika ako stredoskolska.
tam jsem před pár lety studoval 😄, jinak pro zkrácení musíš čitatel upravit, aby měl něco krát n!=n(n-1)(n-2)...1, máme ale 2n(2n-1)(2n-2)...1; co s tím? když se na to více koukneme, tak tam tam jsou častí, které po zkrácení 2^n {pozor, řada se násobí, takže těch dvojek se vezme více než jedna} vypadají jako n! takže čitatel se dá upravit na 2^n[n(n-1)(n-2)...1]*[(2n-1)(2n-3)(2n-5)...1]=2^n*n!*[(2n-1)(2n-3)(2n-5)...1] a toto už jde zkrátit s n! na 2^n*[(2n-1)(2n-3)(2n-5)...1], druhá část by šla lépe zapsat s velkým pi; otázka pro ostatní, jak by vypadala obecná úprava pro (an)!/(bn)! 😁
Konecne ze s tim nekdo zacal.
8:50 - nejaka takato : f(x) = [1/t + 1/t*(p-90)/abs(p-90)] / 2
Udělej video s Tomášem Chabadou prosím
Dobrý deň,
Chcel by som sa spýtať otázku mimo témy videa, ale narazil som na dve možnosti kurzov: kompletní balíček vysokoškolských kurzov a druhá: jak nevyletet z prváku. Z druhej možnosti som si pozrel prvých 5 dostupných videí a páčili sa mi, ale napriek tomu by som sa chcel spýtať, ktorý viac odporúčate na prvú skúšku z matematiky.
@@stopdripping6388 ahoj. Jak nevyletet v prvaku z matiku je kurz, který doplňuje rozdíl mezi státní maturitou a tím co potřebujete na vysoké před začátkem prvního semestru. Státní maturita je totiž velmi lehká oproti tomu co byste měl umět při přechodu na vejšku. Balíček pokrývá všechna VS témata prvních cca tři až čtyři semestru. Záleží na škole. Kromě toho v tom ten kurz jak nevyletet je taky. Když mi cinkněte, nebo pošlete sylabus vaší matiku, poradím co budete potřebovat za kurz.
Je to hezké, že to tady řešíte v podstatě analyticky, video jsem jen proklikal, ale na ten problém kde máte graf a vzdálenost mezi vrcholy jde použít prostě Djikstra a máte optimální řešení, ne?
Jde, v praxi by se na tohle ale použil spíše A*. Pro vysvětlení Djikstry by bylo třeba zavést priority queue. Kdybychom tohle chtěli udělat pořádně, tak musíme rozebrat třeba binary heap DS, což by pro takové video bylo až moc "advanced".
@@vojtechproschl Tam potom asi záleží na tom, jak je ten problém zadefinovaný, ale pokud je cost daná, pak stačí Dijkstra... je mi jasné, že se tyhle věci do takového videa, v podstatě "pro laiky" nedají zavádět, jen mě zajímal alternativní, jednodušší přístup řešení tohohle problému, než to celé analyticky vyjadřovat. Ono to má totiž asi dost dobrou hodnotu pro aplikované matematiky, ale trochu menší pro programátory, kteří by na to plácli nějakou heuristiku (jak zmiňuješ, A*), nebo principy DP.
Já bych čekal, že vzdálenost bude určovat ultrazvukem a ne infrared senzorem.
Robot, prines pivo z chladničky!
Už se těším, až ta AI začne brát práci těm totálně neschopným. Stačí, podívat se, kolik to má lajků. Stovky pouze. Pokud tu dáte primitivního zpěváka, tak to přitahne ty primitivy,dle počku lajků. Já osobně jsem rád, že v hospodách trošku přidražily, nevidíte tam ty sociály.
Akurát že potom sa budeš musieť skladať na tých "totálne neschopných" ty pretože nebudú mať kde pracovať...
Ovšem podstatné je, že není žádná umělá inteligence. O umělé inteligenci mluví jenom idiot.
Strašné bláboly. Natahování, okecávání, zacházení do zbytečných detailů. Jestli někdo chce pohádky před spaním, takové povrchní okecávání, toto je ideální video.
Říct že matematický kanál zachází až moc do matematických detailů je opravdu odvážné
@@xd_metrix svatá pravda, hlidej to pečlivě a hned jak to někde nekdo napíše, tak ho okřikni. Ale nevim proč to píšeš mě 😂
Tak ešteže to nemusíte pozerať a zároveň máte absolútnu slobodu v tom, že si môžete pozrieť čokoľvek iné. Ale nie, vy máte predsa potrebu komentovať niečo, čo vás vlastné nezaujíma. Úžasné!
Do zbytečných detailu a ještě povrchní 😂
@@VladoTrojak tak ještěže ty moje komentáře nemusíte číst a zároveň máte svobodu že si můžete přečíst jakékoliv jiné. Ale ne, vy musíte komentovat něco, co vás vlastně nezajímá. Úžasné!