1 00:00:00,000 --> 00:00:01,924 >> [Přehrávání hudby] 2 00:00:01,924 --> 00:00:10,600 3 00:00:10,600 --> 00:00:13,280 >> SPEAKER: Vítejte zpět, všichni. 4 00:00:13,280 --> 00:00:15,440 To je CS50. 5 00:00:15,440 --> 00:00:21,040 A dnes, máme hodně zajímavé věci mluvit. 6 00:00:21,040 --> 00:00:25,500 Nejprve však musím připomenout, vy z několika správních věcí. 7 00:00:25,500 --> 00:00:30,160 Tento týden je jedním kvíz, středa nebo pro sekci Yale 8 00:00:30,160 --> 00:00:32,940 v úterý a ve čtvrtek, ve čtvrtek. 9 00:00:32,940 --> 00:00:38,170 Existují kvíz hodnocení dnes večer na Yale, 5:30 až 7:00. 10 00:00:38,170 --> 00:00:40,030 Na Harvardu, že jeden včera zaznamenány. 11 00:00:40,030 --> 00:00:43,000 A každý může sledovat že on-line. 12 00:00:43,000 --> 00:00:49,406 >> Také tento týden, nebo začátkem příštího týdne, máme náš poslední CS50 přednášku. 13 00:00:49,406 --> 00:00:51,450 [Sténá] Já vím. 14 00:00:51,450 --> 00:00:54,140 To přišlo tak brzy. 15 00:00:54,140 --> 00:00:57,820 Yale studenti budou mít živý přednášet zde v právnické fakultě 16 00:00:57,820 --> 00:00:59,920 hlediště v pátek. 17 00:00:59,920 --> 00:01:01,140 K dispozici bude dort. 18 00:01:01,140 --> 00:01:05,570 Harvard studenti budou mít Poslední přednáška Sanders v pondělí. 19 00:01:05,570 --> 00:01:08,050 K dispozici bude také dort. 20 00:01:08,050 --> 00:01:14,000 >> Také tento týden v pátek, pro ty, kteří z vás, kteří jsou na cestě do New Haven, 21 00:01:14,000 --> 00:01:15,740 máme CS50 Expo. 22 00:01:15,740 --> 00:01:18,850 Máme více než 30 různé skupiny registrováno 23 00:01:18,850 --> 00:01:22,530 vám ukázat vše, autonomních plachetnice, 24 00:01:22,530 --> 00:01:27,170 pro systémy, které uznávají digitální portréty, do počítače 25 00:01:27,170 --> 00:01:32,100 hudba a počítačově produkoval hudbu. 26 00:01:32,100 --> 00:01:33,610 Takže prosím, připojte se k nám. 27 00:01:33,610 --> 00:01:36,460 Myslím, že to bude skvělý čas. 28 00:01:36,460 --> 00:01:40,320 >> Dnes se však dostaneme k pokračovat v rozhovoru o AI, 29 00:01:40,320 --> 00:01:43,150 o umělé inteligenci. 30 00:01:43,150 --> 00:01:46,070 A jedna z věcí, které budeme se dostat do dneška 31 00:01:46,070 --> 00:01:51,750 je představa o tom, jak použít AI řešit problémy. 32 00:01:51,750 --> 00:01:54,690 A teď, jako vždy, začněme s něčím jednoduchým. 33 00:01:54,690 --> 00:01:57,120 A jdeme na začátek s jednoduché myšlenky. 34 00:01:57,120 --> 00:01:59,920 A to je pomocí vyhledávání. 35 00:01:59,920 --> 00:02:06,990 >> Tak si představte na chvíli, že jsem mají za úkol, že musím hrát. 36 00:02:06,990 --> 00:02:11,970 A já bych chtěl mít tento úkol automatizovaný nějaký softwarový agent. 37 00:02:11,970 --> 00:02:17,100 Představte si, že se snažím si sadu letů z, řekněme, Boston 38 00:02:17,100 --> 00:02:20,040 do San Franciska. 39 00:02:20,040 --> 00:02:24,230 Mohl bych projít a já jsem mohl použít jeden z nádherné on-line vyhledávání 40 00:02:24,230 --> 00:02:28,790 nástroje, který se chystá udělat v podstatě stejný proces, který jsme 41 00:02:28,790 --> 00:02:30,030 jít na procházku do dneška. 42 00:02:30,030 --> 00:02:34,100 Ale pokud jste neměli, že Nástroj, co byste udělal? 43 00:02:34,100 --> 00:02:37,570 >> No, mohl byste vypadat a vidět a říct, že jsem v Bostonu. 44 00:02:37,570 --> 00:02:41,520 Jaké lety jsou k dispozici? 45 00:02:41,520 --> 00:02:44,390 A teď, možná mám tři Možné lety z Bostonu 46 00:02:44,390 --> 00:02:47,180 který se vejde čas když musím odejít. 47 00:02:47,180 --> 00:02:48,830 Bych mohl letět do Chicaga. 48 00:02:48,830 --> 00:02:50,130 Nebo bych mohl letět do Miami. 49 00:02:50,130 --> 00:02:53,340 Nebo bych mohl letět do New Yorku. 50 00:02:53,340 --> 00:02:56,980 Pak jsem mohl vypadat z každého jeden z těch destinace měst 51 00:02:56,980 --> 00:03:00,650 a přemýšlet o tom, lokalitách Mohl bych možná dosáhnout 52 00:03:00,650 --> 00:03:03,020 z každého z těchto jednotlivých měst. 53 00:03:03,020 --> 00:03:07,390 >> Takže možná z Chicaga, mohu dostat přímý let do San Franciska. 54 00:03:07,390 --> 00:03:09,550 To je skvělé. 55 00:03:09,550 --> 00:03:12,360 Nebo bych mohl dostat let do Denveru. 56 00:03:12,360 --> 00:03:16,970 Nyní, možná, že let do San Francisca je ideálním řešením pro mě, 57 00:03:16,970 --> 00:03:19,530 ale možná ne. 58 00:03:19,530 --> 00:03:22,180 Možná Hledám něco to je trochu něco levnější 59 00:03:22,180 --> 00:03:24,920 nebo trochu lepší pro můj plán. 60 00:03:24,920 --> 00:03:29,197 A tak jsem se mohl podívat na to, co ostatní možnosti by mohlo být venku. 61 00:03:29,197 --> 00:03:30,280 Tak jsem se mohl dívat na Denver. 62 00:03:30,280 --> 00:03:33,870 A z Denveru, no, možná Můžu let do Austinu. 63 00:03:33,870 --> 00:03:37,080 A z Austinu, možná bych se dostat Let do Phoenixu, a Phoenix 64 00:03:37,080 --> 00:03:40,190 do San Franciska. 65 00:03:40,190 --> 00:03:42,730 Teď jsem neskončil. 66 00:03:42,730 --> 00:03:45,640 Vzhledem k tomu, možná je tu přímý let z New Yorku 67 00:03:45,640 --> 00:03:47,850 do San Franciska, který je ideální pro mě. 68 00:03:47,850 --> 00:03:53,354 Nebo možná je tu letu z Miami přes Denver, že je to mnohem levnější. 69 00:03:53,354 --> 00:03:54,270 Takže jsem ještě muset jít. 70 00:03:54,270 --> 00:03:58,200 A pořád se podívat na všechny ty, města, která jsem ještě přezkoumán. 71 00:03:58,200 --> 00:04:04,220 Musím vyčerpávajícím zkontrolovat všechny možnosti, že bych mohl mít. 72 00:04:04,220 --> 00:04:09,610 >> Takže z New Yorku, možná bych se dostat Let do Nashvillu, a od Nashville 73 00:04:09,610 --> 00:04:10,336 do Austinu. 74 00:04:10,336 --> 00:04:11,460 A pak vím, kde jsem. 75 00:04:11,460 --> 00:04:14,252 A pak vím, z Austinu, mohu podívejte se na Phoenix a Phoenix 76 00:04:14,252 --> 00:04:14,960 do San Franciska. 77 00:04:14,960 --> 00:04:18,240 78 00:04:18,240 --> 00:04:22,830 Pokud bych letět nejprve do Miami, i když, Možná, že můžu dostat z Miami let 79 00:04:22,830 --> 00:04:25,080 do Nashvillu, nebo z Miami do Austinu. 80 00:04:25,080 --> 00:04:27,950 81 00:04:27,950 --> 00:04:30,860 >> A teď jsem se snažil všechno z možností. 82 00:04:30,860 --> 00:04:36,310 Já jsem vybudoval tento graf, který Ukazuje mi všechny z možných cest 83 00:04:36,310 --> 00:04:37,790 že bych mohl být schopen přijmout. 84 00:04:37,790 --> 00:04:40,510 85 00:04:40,510 --> 00:04:43,640 Když jsme se představují tito druhy problémů, 86 00:04:43,640 --> 00:04:47,870 nebudeme reprezentovat je výslovně jako tento graf, 87 00:04:47,870 --> 00:04:51,590 proto, že graf nepředstavuje historie, kde jsme pryč. 88 00:04:51,590 --> 00:04:55,260 S vědomím, že jsem letěl z Phoenix do San Franciska 89 00:04:55,260 --> 00:05:01,690 se mi to říct, jestli jsem přišel přes Nashville, nebo prostřednictvím Denveru, nebo přes Miami. 90 00:05:01,690 --> 00:05:06,430 >> Takže to, co budu dělat, místo toho je Vezmu stejný problém, 91 00:05:06,430 --> 00:05:09,140 a budu zastupovat ji jako strom. 92 00:05:09,140 --> 00:05:14,300 A na kořen stromu, u top, dám místo, které jsem začal, 93 00:05:14,300 --> 00:05:16,590 Boston. 94 00:05:16,590 --> 00:05:19,310 A z Bostonu, podívám se na všechny možné umístění 95 00:05:19,310 --> 00:05:20,380 že mohu cestovat. 96 00:05:20,380 --> 00:05:25,480 No, v tomto případě, měl jsem tři, Chicago, New York, a Miami. 97 00:05:25,480 --> 00:05:29,850 A pak budu zkoumat každý z tyto děti ve stromu. 98 00:05:29,850 --> 00:05:32,690 >> Z Chicaga, jsem viděl, že jsem měl dva lety. 99 00:05:32,690 --> 00:05:35,940 Mohl bych letět přímo do San Francisco nebo do Denveru. 100 00:05:35,940 --> 00:05:37,740 Nyní San Francisco, to je můj cíl. 101 00:05:37,740 --> 00:05:39,790 To je můj cíl. 102 00:05:39,790 --> 00:05:42,220 To bude list tohoto stromu. 103 00:05:42,220 --> 00:05:45,340 To znamená, že já nikdy jít Někde po San Francisco. 104 00:05:45,340 --> 00:05:47,850 105 00:05:47,850 --> 00:05:50,340 Z Denveru, i když, Můžu letět z Denveru 106 00:05:50,340 --> 00:05:54,220 Austin, Austin do Phoenixu, a z Phoenixu do San Franciska. 107 00:05:54,220 --> 00:05:56,050 A teď zase, jsem dosáhl list. 108 00:05:56,050 --> 00:05:59,470 109 00:05:59,470 --> 00:06:03,980 >> Mohl bych pak se vrátit na další město, které jsem dosud plně prozkoumány. 110 00:06:03,980 --> 00:06:07,440 To by bylo v New Yorku, jděte zpět na vrchol mého stromu, 111 00:06:07,440 --> 00:06:09,160 sestoupil do New Yorku. 112 00:06:09,160 --> 00:06:12,700 Z New Yorku, mohu podívejte se Nashville, Nashville do Austinu, 113 00:06:12,700 --> 00:06:17,290 Austin do Phoenixu, a z Phoenixu do San Franciska. 114 00:06:17,290 --> 00:06:20,170 A nakonec, jedno město jsem nebyly podíval na dosud, Miami. 115 00:06:20,170 --> 00:06:24,600 >> No, z Miami jsem řekl, že měl dva Možnosti, Nashville či Austin. 116 00:06:24,600 --> 00:06:28,810 Pokud bych podívejte se na Nashville, no a pak jsem se létat od Nashville, do Austinu, do Phoenixu, 117 00:06:28,810 --> 00:06:29,640 do San Franciska. 118 00:06:29,640 --> 00:06:33,600 Pokud bych podívejte se na Austin, Létám Austin, do Phoenixu, do San Franciska. 119 00:06:33,600 --> 00:06:36,340 A teď mám strom. 120 00:06:36,340 --> 00:06:37,230 Je to úplný strom. 121 00:06:37,230 --> 00:06:41,890 Je to všechno o možnostech a všechny cesty, které jsem mohl vzít. 122 00:06:41,890 --> 00:06:44,310 To znamená, že pokud začnu u kořen stromu na vrcholu 123 00:06:44,310 --> 00:06:47,860 a já jsem šel do jednoho z odejde, to mi říká nejen 124 00:06:47,860 --> 00:06:50,480 kam jdu do skončit, San Francisco, 125 00:06:50,480 --> 00:06:53,670 ale to mi říká, trasu, Musím vzít se tam dostat. 126 00:06:53,670 --> 00:06:56,400 127 00:06:56,400 --> 00:06:59,690 >> Nyní, který z nich je nejlepší? 128 00:06:59,690 --> 00:07:02,430 No, nic o tom přesto problém mi říká, 129 00:07:02,430 --> 00:07:04,710 které z nich je nejlepším řešením. 130 00:07:04,710 --> 00:07:09,270 Možná, že mi záleží nejvíc kolik času jsem ve vzduchu, 131 00:07:09,270 --> 00:07:12,350 nebo vzdálenost, že létám. 132 00:07:12,350 --> 00:07:16,410 V tomto případě, Chicago do San Francisco může být nejkratší číslo 133 00:07:16,410 --> 00:07:18,910 mil ve vzduchu. 134 00:07:18,910 --> 00:07:20,860 >> Možná, že mi záleží cenu. 135 00:07:20,860 --> 00:07:23,680 A všichni víme, přímé lety jsou obvykle dražší. 136 00:07:23,680 --> 00:07:26,610 Takže možná, kdybych to vzít druh zpětnou trasy 137 00:07:26,610 --> 00:07:30,650 přes Miami, Nashville, Austin, Phoenix, možná pak 138 00:07:30,650 --> 00:07:34,070 Mám za nižší cenu. 139 00:07:34,070 --> 00:07:36,440 Ale já jsem mohl optimalizovat na některý kritéria, která mi záleží. 140 00:07:36,440 --> 00:07:39,790 Kdo má nejlepší Let Wi-Fi, nebo které 141 00:07:39,790 --> 00:07:43,110 letiště mají nejlepší jídlo k dispozici. 142 00:07:43,110 --> 00:07:47,280 A každý z nich by mohl dej mi jiné řešení 143 00:07:47,280 --> 00:07:49,215 že vidím jako nejlepší. 144 00:07:49,215 --> 00:07:51,990 145 00:07:51,990 --> 00:07:54,400 >> Tyto druhy problémů, kam jedeme 146 00:07:54,400 --> 00:07:58,480 postavit tuto strom Možnosti a potom 147 00:07:58,480 --> 00:08:02,100 podívat se na každou z nich individuální cesty, a prozkoumat 148 00:08:02,100 --> 00:08:05,270 které z těchto splňuje kritériem pro nás, 149 00:08:05,270 --> 00:08:08,790 budeme nazývat ty problémy vyhledávání. 150 00:08:08,790 --> 00:08:11,280 A máme spoustu algoritmy, z nichž některé 151 00:08:11,280 --> 00:08:15,270 jsme viděli už jít a prozkoumat ty stromy. 152 00:08:15,270 --> 00:08:19,270 Mohli bychom to udělat tak, že jsem právě udělal, je prohledávání do hloubky, 153 00:08:19,270 --> 00:08:22,900 jít dolů tak daleko, jak to půjde, dokud hit list, a pak se vrátí nahoru, 154 00:08:22,900 --> 00:08:24,787 a jít zpátky dolů. 155 00:08:24,787 --> 00:08:26,870 Nebo bychom mohli dělat to, co je volal prohledávání do šířky. 156 00:08:26,870 --> 00:08:29,675 Mohli bychom rozšířit vše v horní části, a poté 157 00:08:29,675 --> 00:08:31,550 vše jeden řádek pod, že, a poté 158 00:08:31,550 --> 00:08:35,240 vše jeden řádek pod to. 159 00:08:35,240 --> 00:08:41,250 Tyto vyhledávací stromy jsou zásadní pro AI. 160 00:08:41,250 --> 00:08:46,570 Ale oni nemají dost dostat to právo po celou dobu. 161 00:08:46,570 --> 00:08:51,600 Ve skutečnosti, v mnoha případech že nám opravdu záleží, 162 00:08:51,600 --> 00:08:54,430 chceme vybudovat strom, ale ne ve skutečnosti 163 00:08:54,430 --> 00:08:57,140 dostat se, aby všechna rozhodnutí. 164 00:08:57,140 --> 00:09:00,940 >> To jsou situace, zvané adversarial vyhledávání, také známý 165 00:09:00,940 --> 00:09:05,390 jako jak psát hraní her systémy a dostat za to zaplaceno. 166 00:09:05,390 --> 00:09:07,940 Ale to jsou druhy systémů, kde jsem 167 00:09:07,940 --> 00:09:12,920 mohl dostat na výběr, když jdu z Boston, který město jdu na další. 168 00:09:12,920 --> 00:09:19,990 Ale po tom, někdo jiný mohl dostat k rozhodnutí o tom, kde jsem se létat. 169 00:09:19,990 --> 00:09:24,040 Takže stavět tyto druhy konstrukce, my jsme 170 00:09:24,040 --> 00:09:28,510 bude muset vzít mírně jiný přístup k němu. 171 00:09:28,510 --> 00:09:31,060 Nebudeme moci jen hledat přes strom 172 00:09:31,060 --> 00:09:35,000 anymore, protože nejsme ten, který je pod kontrolou 173 00:09:35,000 --> 00:09:38,180 každé z těchto rozhodovacích bodů. 174 00:09:38,180 --> 00:09:42,590 >> Takže pojďme si představit jednoduchý Hra jako tic-tac-toe. 175 00:09:42,590 --> 00:09:46,730 Mohl bych začít s úplně prázdný prkno. 176 00:09:46,730 --> 00:09:49,580 A v tic-tac-toe, X se dostane do hry jako první. 177 00:09:49,580 --> 00:09:53,890 A tak jsem mohl myslet na všechny možné pohyby, které by mohly učinit X. 178 00:09:53,890 --> 00:09:57,420 A když já jsem ten, hrající X, to je skvělé. 179 00:09:57,420 --> 00:10:01,020 Mám devíti možných přesune, že mohu dělat. 180 00:10:01,020 --> 00:10:05,000 Mohl bych dát X v některém z těchto devíti poloh. 181 00:10:05,000 --> 00:10:10,710 >> A pak se z každého z těch, I si představit, co se bude dít dál. 182 00:10:10,710 --> 00:10:14,130 No, v tomto případě je druhá hráč by si, aby zase. 183 00:10:14,130 --> 00:10:15,660 O by si, aby zase. 184 00:10:15,660 --> 00:10:19,510 A z každého z těch, tam by bylo osm různých míst 185 00:10:19,510 --> 00:10:22,980 že by mohly O místo jejich značku. 186 00:10:22,980 --> 00:10:25,790 >> Řekněme, rozhodl jsem se, že jsem byl chystá dát X ve středu. 187 00:10:25,790 --> 00:10:28,810 To vždy se zdá, jako dobrý otevření tah. 188 00:10:28,810 --> 00:10:34,870 Mohl bych se na pod tím, že osm možných pohyby, které dělá. O 189 00:10:34,870 --> 00:10:37,320 A teď, když jsem hrál X, to je úžasné. 190 00:10:37,320 --> 00:10:41,740 Mám si vybrat, který z nich I jít na, ten uprostřed. 191 00:10:41,740 --> 00:10:45,000 Ale teď O dostane na výběr. 192 00:10:45,000 --> 00:10:48,750 A já nemám kontrolu po tomto rozhodnutí. 193 00:10:48,750 --> 00:10:51,670 >> Ale z každého z těch možných pozic deska, 194 00:10:51,670 --> 00:10:54,020 je tu pak další set možností. 195 00:10:54,020 --> 00:10:56,700 Pokud jde o být my se znovu obrátit, udělal bych to 196 00:10:56,700 --> 00:11:01,500 dostanete vybrat a říct, dobře, pokud O přesune do dobře, 197 00:11:01,500 --> 00:11:06,110 prostřední místo na levé straně, pak Mám sadu možností 198 00:11:06,110 --> 00:11:09,740 kde můžu vzít mou další tah. 199 00:11:09,740 --> 00:11:14,140 Z těch, mohl bych v úvahu všechny možnosti pod nimi. 200 00:11:14,140 --> 00:11:18,030 A pak O dostane vybrat si mezi ty. 201 00:11:18,030 --> 00:11:22,290 >> A mohl bych udržet budování této strom, dokud jsem se dostal do bodu, 202 00:11:22,290 --> 00:11:26,960 kde buď někdo vyhrává game--, který je 203 00:11:26,960 --> 00:11:31,070 musíš být považován za list node-- nebo deska je zcela plná 204 00:11:31,070 --> 00:11:32,704 a nikdo vyhrál. 205 00:11:32,704 --> 00:11:34,370 A to také bude koncový uzel. 206 00:11:34,370 --> 00:11:35,411 Že to bude remíza. 207 00:11:35,411 --> 00:11:37,820 208 00:11:37,820 --> 00:11:41,680 >> Ale ošemetná věc s tímto je, jestli to byla jen pravidelné hledání 209 00:11:41,680 --> 00:11:44,269 problém, byl bych schopen řekněme, dobře, X by mělo jít sem. 210 00:11:44,269 --> 00:11:45,560 A O měl jít cestou tam. 211 00:11:45,560 --> 00:11:46,770 A pak X měli jít sem. 212 00:11:46,770 --> 00:11:48,269 A pak O měl jít cestou tam. 213 00:11:48,269 --> 00:11:51,860 A pak se můžete dostat tři X v řadě, a já jsem vyhrál. 214 00:11:51,860 --> 00:11:54,870 A hra skončí v pěti pohybů, tři pro mě, 215 00:11:54,870 --> 00:11:57,710 dva pro můj soupeř. 216 00:11:57,710 --> 00:12:01,300 Ale já ne vždy si musíme vybrat, že. 217 00:12:01,300 --> 00:12:03,720 >> Takže místo toho, co jsme bude muset udělat 218 00:12:03,720 --> 00:12:06,270 se budeme mít mít novou strategii. 219 00:12:06,270 --> 00:12:09,350 A strategie, která hra-hrací algoritmy často používají 220 00:12:09,350 --> 00:12:12,000 je to, co se nazývá minimax. 221 00:12:12,000 --> 00:12:15,500 Ústřední myšlenkou minimax je, že jsme 222 00:12:15,500 --> 00:12:21,365 chystá vybrat tah, který dává náš soupeř ten nejhorší možný set 223 00:12:21,365 --> 00:12:22,790 pohybů, které mohou dělat. 224 00:12:22,790 --> 00:12:25,570 225 00:12:25,570 --> 00:12:28,870 To nedělá mi k ničemu zvolit tah kde 226 00:12:28,870 --> 00:12:31,952 Mohl bych vyhrát po že, protože můj soupeř není 227 00:12:31,952 --> 00:12:33,160 chystá dát mi tu šanci. 228 00:12:33,160 --> 00:12:37,770 Chystají se zvolit některé hrozný výsledek pro mě. 229 00:12:37,770 --> 00:12:42,010 Takže jsem se, aby se přesunout, která nutí můj soupeř 230 00:12:42,010 --> 00:12:45,760 udělat něco pro mě lepší. 231 00:12:45,760 --> 00:12:46,260 Dobře. 232 00:12:46,260 --> 00:12:48,410 Pojďme se podívat, jak to dopadne. 233 00:12:48,410 --> 00:12:51,640 Tak tady je náš algoritmus v pseudokódu. 234 00:12:51,640 --> 00:12:54,450 Budeme vytvářet Celá hra strom. 235 00:12:54,450 --> 00:12:56,757 Chystáme se stavět celá struktura. 236 00:12:56,757 --> 00:12:57,840 A pak půjdeme projít. 237 00:12:57,840 --> 00:13:02,100 A na samém dně v každém z koncovými uzly, v každém z listů, 238 00:13:02,100 --> 00:13:07,850 budeme hodnotit, jak cenná je to pro mě? 239 00:13:07,850 --> 00:13:11,690 A budeme se hodnota věcí, které jsou dobré pro mě jako pozitivní. 240 00:13:11,690 --> 00:13:14,460 Věci, které nejsou dobré pro mě bude méně pozitivní, nebo nula, 241 00:13:14,460 --> 00:13:16,480 či dokonce záporná. 242 00:13:16,480 --> 00:13:19,240 >> Takže v tic-tac-toe, možná vítězství je pro mě dobré. 243 00:13:19,240 --> 00:13:20,290 To je jeden. 244 00:13:20,290 --> 00:13:22,400 A kravata je nula. 245 00:13:22,400 --> 00:13:26,230 A něco, co je ztráta pro mě, možná, že je to negativní. 246 00:13:26,230 --> 00:13:29,620 Vše, na čem záleží, je, že lepší je to pro mne, tím vyšší skóre 247 00:13:29,620 --> 00:13:32,160 to přijme. 248 00:13:32,160 --> 00:13:36,690 Z těchto možností na dno, pak budeme filtr směrem nahoru. 249 00:13:36,690 --> 00:13:40,650 A když je to moje šance na výběr mezi sadou alternativ, 250 00:13:40,650 --> 00:13:44,460 Vyberu si ten, který je dostal nejvyšší skóre. 251 00:13:44,460 --> 00:13:47,200 >> A vždy, když je to moje oponenti se obrátit na výběr, 252 00:13:47,200 --> 00:13:52,350 Budu předpokládat, že se chystáte vybrat ten s nejnižším skóre. 253 00:13:52,350 --> 00:13:56,090 A když jsem to celou cestu až na vrchol stromu, 254 00:13:56,090 --> 00:14:03,150 Budu si vybrali cestu, která dává me to nejlepší výsledek, že mohu dostat, 255 00:14:03,150 --> 00:14:09,110 za předpokladu, že můj soupeř dělá všechny správné kroky. 256 00:14:09,110 --> 00:14:11,940 >> Dobře, takže se podívejme, to v akci jako první. 257 00:14:11,940 --> 00:14:14,980 A pak se vlastně podívejte se na kód pro ni. 258 00:14:14,980 --> 00:14:16,780 Tak si představte Mám velký strom. 259 00:14:16,780 --> 00:14:18,280 A teď jsem to hrát tic-tac-toe. 260 00:14:18,280 --> 00:14:20,405 Chtěl jsem dát něco, co trochu bohatší. 261 00:14:20,405 --> 00:14:23,560 Tak jsem dostal nějakou hru, kde tam je mnoho různých skóre 262 00:14:23,560 --> 00:14:26,390 že bych mohl mít na konci. 263 00:14:26,390 --> 00:14:27,980 A tak jsem se stavět tento celý strom. 264 00:14:27,980 --> 00:14:29,070 A já jsem si se pohybovat jako první. 265 00:14:29,070 --> 00:14:31,290 Jsem na kořen stromu. 266 00:14:31,290 --> 00:14:36,150 >> A já se dostanete na výběr that-- tak jsem si maximalizovat přes niž prvním uzlu. 267 00:14:36,150 --> 00:14:38,410 A pak se můj soupeř dostane jít. 268 00:14:38,410 --> 00:14:41,910 A pak jsem si jít ještě jednou. 269 00:14:41,910 --> 00:14:46,830 Tak se na dně, mám sadu možnosti, které jsem si mohou vybrat z, 270 00:14:46,830 --> 00:14:50,570 různé koncové stavy hry. 271 00:14:50,570 --> 00:14:54,980 Pokud jsem se v tom, že daleko levém rohu, 272 00:14:54,980 --> 00:14:58,867 a vidím, že mám na výběr mezi osm, v sedm, a dva, 273 00:14:58,867 --> 00:15:00,450 no, já jsem ten, který dostane na výběr. 274 00:15:00,450 --> 00:15:02,910 Takže budu volit jeden z těch nejlepších. 275 00:15:02,910 --> 00:15:05,650 Jdu si vybrat osm. 276 00:15:05,650 --> 00:15:10,090 >> Takže vím, že jestli jsem někdy pustit se do tohoto bodu, 277 00:15:10,090 --> 00:15:13,890 Budu mít možnost se dostat, že osm bodů. 278 00:15:13,890 --> 00:15:17,410 Kdybych skončí na další bod nad, další uzel nad, 279 00:15:17,410 --> 00:15:20,760 devět, jeden, nebo šest, no, já jsem bude vybrat ty nejlepší z nich. 280 00:15:20,760 --> 00:15:21,950 Vyberu si devět. 281 00:15:21,950 --> 00:15:24,880 Když budu mít možnost volby mezi dva, a čtyři, a jeden, 282 00:15:24,880 --> 00:15:28,240 Vyberu si čtyři, což je nejvyšší. 283 00:15:28,240 --> 00:15:31,990 >> A teď, když jsem se na úrovni nad tím, můj soupeř 284 00:15:31,990 --> 00:15:34,440 je jeden dostane, aby tuto volbu. 285 00:15:34,440 --> 00:15:37,040 Takže můj soupeř se dostává do vybrat, nechci, aby mu 286 00:15:37,040 --> 00:15:39,250 to, co se děje ho dostat osm bodů, 287 00:15:39,250 --> 00:15:41,916 nebo mám dát mu věc, která se dám mu devět bodů, 288 00:15:41,916 --> 00:15:45,240 nebo to, co se děje dát mu čtyři body? 289 00:15:45,240 --> 00:15:49,130 A můj soupeř, přičemž racionální, se děje 290 00:15:49,130 --> 00:15:53,470 zvolit minimálně těch, se chystá vybrat čtyři. 291 00:15:53,470 --> 00:15:56,020 >> A můžu to udělat přes celý strom. 292 00:15:56,020 --> 00:15:59,110 Můžu jít dolů k tomu prostřední sada tří. 293 00:15:59,110 --> 00:16:01,517 A já si mohou vybrat mezi jeden, tři a pět. 294 00:16:01,517 --> 00:16:02,350 A já jsem si vybrat. 295 00:16:02,350 --> 00:16:03,810 Tak jsem si vybrat pět. 296 00:16:03,810 --> 00:16:05,340 Mohu si vybrat tři, devět, nebo dva. 297 00:16:05,340 --> 00:16:07,570 Mám na výběr, takže vybrat si devět. 298 00:16:07,570 --> 00:16:09,290 Šest, pět, nebo dva, vybrat. 299 00:16:09,290 --> 00:16:11,539 Mám si vybrat šest. 300 00:16:11,539 --> 00:16:13,080 Level nad tím, kdo se dostává do vybrat? 301 00:16:13,080 --> 00:16:16,280 302 00:16:16,280 --> 00:16:18,140 Kdo dostane na výběr? 303 00:16:18,140 --> 00:16:20,000 Ten druhý chlap, můj soupeř. 304 00:16:20,000 --> 00:16:22,583 Takže oni si vyberou pět, devět, nebo šest, který z nich? 305 00:16:22,583 --> 00:16:23,410 >> Diváků: Pět. 306 00:16:23,410 --> 00:16:25,250 >> SPEAKER: Oni si vybrat pět. 307 00:16:25,250 --> 00:16:27,400 Dostanou na výběr minimum. 308 00:16:27,400 --> 00:16:29,690 A pak ten poslední, vybrat jednu, dvě nebo tři. 309 00:16:29,690 --> 00:16:31,720 Mám na výběr, takže vybrat tři. 310 00:16:31,720 --> 00:16:34,370 Devět, sedm, nebo dva, vybrat devět. 311 00:16:34,370 --> 00:16:37,070 A 11, šest, nebo čtyři, vybrat 11. 312 00:16:37,070 --> 00:16:41,190 Můj soupeř pak vybere tři, devět, nebo 11, zvolí minimální. 313 00:16:41,190 --> 00:16:43,290 On mi dává tři. 314 00:16:43,290 --> 00:16:47,780 A nakonec v horní části strom, jsem si znovu zvolit. 315 00:16:47,780 --> 00:16:51,190 A já si musíme vybrat mezi čtyři, pět, nebo tři. 316 00:16:51,190 --> 00:16:52,270 Tak jsem vzít pět. 317 00:16:52,270 --> 00:16:55,070 318 00:16:55,070 --> 00:17:00,891 >> Jestli jsem mít všechno pod kontrolou, já bych jít cestou, která vedla k 11. 319 00:17:00,891 --> 00:17:02,390 Ale já nechápu, aby tuto volbu. 320 00:17:02,390 --> 00:17:04,220 Mám-li jít touto cestou. 321 00:17:04,220 --> 00:17:10,710 Můj soupeř mě nutit do volba, která vede k tři. 322 00:17:10,710 --> 00:17:14,530 Takže to nejlepší, co můžu udělat, je aby podnikli střední větev, 323 00:17:14,530 --> 00:17:19,859 učinit tuto volbu, která je nakonec mě vedou k pěti bodů. 324 00:17:19,859 --> 00:17:23,230 To je to, co dělá minimax. 325 00:17:23,230 --> 00:17:23,807 >> Dobře. 326 00:17:23,807 --> 00:17:24,890 Pojďme se podívat na to. 327 00:17:24,890 --> 00:17:27,480 328 00:17:27,480 --> 00:17:32,330 Tak tady v CS50 IDE je program, který 329 00:17:32,330 --> 00:17:36,540 implementuje minimax hrát tic-tac-toe. 330 00:17:36,540 --> 00:17:40,100 Chystáme se stavět up reprezentace. 331 00:17:40,100 --> 00:17:44,390 Budeme mít dva opponent-- nebo dva hráči, náš počítač 332 00:17:44,390 --> 00:17:46,090 přehrávač a člověk hráč. 333 00:17:46,090 --> 00:17:48,980 334 00:17:48,980 --> 00:17:53,090 Číslo hráče z nich bude hrát O. To bude hráč stroj. 335 00:17:53,090 --> 00:17:55,747 Dostanou se pohybovat druhým. 336 00:17:55,747 --> 00:17:57,830 A ten druhý hráč, náš lidský hráč, bude X. 337 00:17:57,830 --> 00:17:59,880 >> A aby svůj život trochu jednoduché, jdu 338 00:17:59,880 --> 00:18:03,060 označit tento hráč negativní jeden. 339 00:18:03,060 --> 00:18:05,026 Tak jsem si jen násobit záporným jedním vyměnit 340 00:18:05,026 --> 00:18:06,400 Mezi jeden hráč a další. 341 00:18:06,400 --> 00:18:09,030 342 00:18:09,030 --> 00:18:12,250 Dobře, takže se pojďme podívat na to, co jsme vlastně dělat. 343 00:18:12,250 --> 00:18:15,840 Budeme definovat naši desku. 344 00:18:15,840 --> 00:18:19,060 Je to bude dobře, jdeme aby mohla být tři tři, 345 00:18:19,060 --> 00:18:21,580 nebo můžeme dokonce hrát Pět pěti nebo sedmi 346 00:18:21,580 --> 00:18:28,870 o sedm tic-tac-toe, kdybyste jako je, na základě nějakého rozměru D. 347 00:18:28,870 --> 00:18:31,260 >> A budeme mít pár pomocných funkcí 348 00:18:31,260 --> 00:18:34,360 že budu dělat věci, jako je inicializaci screen-- nebo líto, 349 00:18:34,360 --> 00:18:38,900 inicializovat naše proměnné, zrušte obrazovce, kreslit desku na obrazovce, 350 00:18:38,900 --> 00:18:41,060 ten, který kontroluje desku zda nebo ne 351 00:18:41,060 --> 00:18:44,520 tam je vítěz, ten, který analyzuje prostřednictvím příkazového řádku, 352 00:18:44,520 --> 00:18:50,670 jen pomoct, ten, který čte v vstup, a jedna funkce nazývá minimax. 353 00:18:50,670 --> 00:18:52,746 A to je ten, budeme záleží nejvíc. 354 00:18:52,746 --> 00:18:54,120 Ale podívejme se nejprve na hlavní. 355 00:18:54,120 --> 00:18:57,490 356 00:18:57,490 --> 00:18:58,510 >> Co děláme? 357 00:18:58,510 --> 00:19:00,570 No, budeme analyzovat naši příkazový řádek, 358 00:19:00,570 --> 00:19:04,300 jen číst v a uvidíme, co rozměr tabule bychom chtěli mít. 359 00:19:04,300 --> 00:19:07,330 Budeme inicializovat naši desku. 360 00:19:07,330 --> 00:19:10,360 A pak budeme zadejte jeden velký divoký přemet, opakovaně 361 00:19:10,360 --> 00:19:16,630 přijímají se pohybuje, dokud je hra vyhrál, nebo je tam ne doleva, přesune. 362 00:19:16,630 --> 00:19:20,560 Pokaždé, když jsme se projít, že smyčka, budeme vyčistit obrazovku. 363 00:19:20,560 --> 00:19:23,290 Budeme čerpat desku na obrazovce. 364 00:19:23,290 --> 00:19:28,750 A my jsme záměrně druh oddělit tyto pryč jako podprogramy, 365 00:19:28,750 --> 00:19:32,030 takže nemáme příliš starat o podrobnostech, jak k nim dochází. 366 00:19:32,030 --> 00:19:33,480 >> Budete mít kód ještě dnes. 367 00:19:33,480 --> 00:19:37,970 A pokud si chcete prohlédnout a zjistit, je můžete všechny vidět. 368 00:19:37,970 --> 00:19:39,890 Ale budeme čerpat deska na obrazovce. 369 00:19:39,890 --> 00:19:43,620 A pak budeme kontrolovat a vidět, máme vítěze? 370 00:19:43,620 --> 00:19:46,290 Má někdo vyhrál tuto hru? 371 00:19:46,290 --> 00:19:49,260 Pokud mají, budeme tisknout out zprávy vítězství. 372 00:19:49,260 --> 00:19:51,680 A budeme hru ukončit. 373 00:19:51,680 --> 00:19:54,510 >> Budeme také zkontrolovat a zjistit, jestli tam je remíza. 374 00:19:54,510 --> 00:19:56,620 Bude snadné zjistit, jestli tam je remíza. 375 00:19:56,620 --> 00:20:00,700 To znamená, že všechny prostory jsou plné, ale tam nebyl ještě vítěz. 376 00:20:00,700 --> 00:20:03,580 Můžeme prohlásit kravatu a hotovo. 377 00:20:03,580 --> 00:20:10,530 Pak skutečný meat-- pokud je to stroj hráč, 378 00:20:10,530 --> 00:20:14,120 budeme dovolit, aby Stroj hráč vyhledávat 379 00:20:14,120 --> 00:20:19,500 přes použití tohoto algoritmus minimax, najít nejlepší tah, že to může. 380 00:20:19,500 --> 00:20:22,310 A pak budeme dal, že se posunou nahoru. 381 00:20:22,310 --> 00:20:27,640 >> V opačném případě, pokud je to člověk hráč, budeme číst nějaký vstup od člověka. 382 00:20:27,640 --> 00:20:30,800 A pak ať je to člověk přehrávač nebo přehrávač stroj, 383 00:20:30,800 --> 00:20:32,800 uděláme pár málo kousky kontrolu chyb, 384 00:20:32,800 --> 00:20:36,910 ujistěte se, že zůstane v mezích skutečných rozměrů desky 385 00:20:36,910 --> 00:20:40,040 že máme, ujistěte se, že tento prostor je prázdný, 386 00:20:40,040 --> 00:20:43,570 že nikoho dát kus tam už. 387 00:20:43,570 --> 00:20:45,810 A pak si jen dát kus na desce, 388 00:20:45,810 --> 00:20:51,550 změňte hráče k další vrstvě, a přírůstek kolik tahů se stalo. 389 00:20:51,550 --> 00:20:54,090 >> To je hlavní smyčka pro Naše tic-tac-toe hra. 390 00:20:54,090 --> 00:20:57,000 391 00:20:57,000 --> 00:21:02,340 Minimax, pak, je přesně to, algoritmus, který jsme předtím. 392 00:21:02,340 --> 00:21:04,710 Jediná úprava, která jsme udělali tak, že jsme 393 00:21:04,710 --> 00:21:07,290 může hrát vyšší rozměrné desky je máme 394 00:21:07,290 --> 00:21:11,070 držel tento dodatečný parametr nazývá hloubka. 395 00:21:11,070 --> 00:21:14,870 A hloubka jen říká, když jsem vyhledávání směrem dolů přes ten strom 396 00:21:14,870 --> 00:21:19,022 a já jsem se tak daleko dolů za nějakou hloubku úrovni 397 00:21:19,022 --> 00:21:20,730 že já prostě nechci jít dál, 398 00:21:20,730 --> 00:21:25,630 Jdu se zastavit a jen hodnotit desku v tomto bodě. 399 00:21:25,630 --> 00:21:27,310 Podívám se a zjistit, jestli tam je vítěz. 400 00:21:27,310 --> 00:21:29,240 Pokud je to vítěz, vraťte mi je. 401 00:21:29,240 --> 00:21:31,720 Jinak, půjdu přes smyčku. 402 00:21:31,720 --> 00:21:34,380 A já řeknu, pro všechny možná místa 403 00:21:34,380 --> 00:21:38,080 že bych mohl možná brát jako můj pohyb, budu 404 00:21:38,080 --> 00:21:43,760 vybudovat hypotetickou prkno, které zahrnuje můj pohyb na této desce, 405 00:21:43,760 --> 00:21:45,960 a pak rekurzivně zavolá minimax. 406 00:21:45,960 --> 00:21:49,360 407 00:21:49,360 --> 00:21:53,900 >> Pokud je to můj krok, jsem si najít ten, který má největší skóre. 408 00:21:53,900 --> 00:21:58,710 Pokud je to mého oponenta tah, zjistíme, ten, který má minimální skóre. 409 00:21:58,710 --> 00:22:02,240 A všechno ostatní je Stačí nahrát vedení. 410 00:22:02,240 --> 00:22:04,789 Dobře, takže uvidíme tento běh. 411 00:22:04,789 --> 00:22:06,830 Vlastně, možná můžeme získat několik dobrovolníků 412 00:22:06,830 --> 00:22:09,930 přijít a hrát tic-tac-toe. 413 00:22:09,930 --> 00:22:12,780 [Neslyšitelný] jednoho, a jeden více, dva, právě tam. 414 00:22:12,780 --> 00:22:13,550 Pojď nahoru. 415 00:22:13,550 --> 00:22:19,290 416 00:22:19,290 --> 00:22:23,650 >> Tak pojďme do toho a restart to úplně. 417 00:22:23,650 --> 00:22:24,150 Takže, ahoj. 418 00:22:24,150 --> 00:22:24,920 >> Publikum: Dobrý den. 419 00:22:24,920 --> 00:22:25,420 >> SPEAKER: Jak se jmenujete? 420 00:22:25,420 --> 00:22:26,086 >> Diváků: Gorav. 421 00:22:26,086 --> 00:22:26,840 SPEAKER: Gorav. 422 00:22:26,840 --> 00:22:27,800 >> Diváků: Jsem Layla. 423 00:22:27,800 --> 00:22:29,490 >> SPEAKER: A Layla, a Layla, sorry. 424 00:22:29,490 --> 00:22:30,384 Pojď nahoru. 425 00:22:30,384 --> 00:22:32,050 Gorav, budeme muset jít jako první. 426 00:22:32,050 --> 00:22:37,710 A já vás požádat, abyste byl ne strašně dobré tic-tac-toe hráčem. 427 00:22:37,710 --> 00:22:40,130 OK, takže všechny tlak off na vás. 428 00:22:40,130 --> 00:22:44,660 Podívejme se však, že náš stroj hráč může skutečně udělat něco chytrého. 429 00:22:44,660 --> 00:22:45,310 Tak jděte do toho. 430 00:22:45,310 --> 00:22:49,830 Budeš typu, ve kterém souřadnic byste chtěli, aby vaše X v. 431 00:22:49,830 --> 00:22:55,170 A0, OK, a stroj je pryč hned a dal svou stopu v A1. 432 00:22:55,170 --> 00:22:56,640 >> Položte O na desce. 433 00:22:56,640 --> 00:22:58,970 Dobře, teď jděte do toho. 434 00:22:58,970 --> 00:23:00,193 Kam byste chtěli jet? 435 00:23:00,193 --> 00:23:03,510 436 00:23:03,510 --> 00:23:05,090 C2. 437 00:23:05,090 --> 00:23:08,430 Náš stroj hráč přijal prostřední náměstí, zablokoval. 438 00:23:08,430 --> 00:23:10,320 Takže to byl dobrý, chytrá věc pro to dělat. 439 00:23:10,320 --> 00:23:13,430 440 00:23:13,430 --> 00:23:14,250 Vy jste ho zablokoval. 441 00:23:14,250 --> 00:23:15,210 To je skvělé. 442 00:23:15,210 --> 00:23:16,390 Trvá roh tam. 443 00:23:16,390 --> 00:23:23,890 444 00:23:23,890 --> 00:23:30,430 >> A to bude vás nutit vezměte poslední prostor, B0. 445 00:23:30,430 --> 00:23:32,220 A hra končí remízou. 446 00:23:32,220 --> 00:23:35,030 Ale hrál přiměřenou Hra proti vám, že jo? 447 00:23:35,030 --> 00:23:36,956 Dobře, děkuji moc, Gorav. 448 00:23:36,956 --> 00:23:40,860 >> [POTLESK] 449 00:23:40,860 --> 00:23:44,723 >> Dobře, Layla, jdeme up hry na vás zde. 450 00:23:44,723 --> 00:23:46,940 >> Publikum: Oh, skvělé. 451 00:23:46,940 --> 00:23:49,950 >> SPEAKER: Chystáme se dát vy čtyři čtyřmi tic-tac-toe. 452 00:23:49,950 --> 00:23:54,760 Nyní, ve čtyřech čtyřmi, musíte vyhrát s čtyři v řadě, ne tři v řadě. 453 00:23:54,760 --> 00:23:56,135 A je to všechno tvoje. 454 00:23:56,135 --> 00:24:02,180 455 00:24:02,180 --> 00:24:04,420 Takže Layla vzal D1. 456 00:24:04,420 --> 00:24:11,730 Jsme nyní bude následovat náš počítač přehrávač zde. 457 00:24:11,730 --> 00:24:16,910 Tři třemi tic-tac-toe je druh věc, která je snadné pro nás všechny. 458 00:24:16,910 --> 00:24:21,960 Ale je to stále hezké vidět počítačový hráč dělat chytré tahy. 459 00:24:21,960 --> 00:24:23,725 Čtyři čtyřmi dostává do být trochu složitější. 460 00:24:23,725 --> 00:24:42,960 461 00:24:42,960 --> 00:24:44,230 >> Hezky uděláno. 462 00:24:44,230 --> 00:24:46,210 Dobře, takže Layla je zakončená. 463 00:24:46,210 --> 00:24:48,270 Jo, a my bychom měli skončit tam. 464 00:24:48,270 --> 00:24:51,870 Ale pojďme udělat ještě jeden tady. 465 00:24:51,870 --> 00:24:53,480 Takže Layla, děkuji. 466 00:24:53,480 --> 00:24:55,112 Hezky uděláno. 467 00:24:55,112 --> 00:24:57,517 >> [POTLESK] 468 00:24:57,517 --> 00:25:00,410 469 00:25:00,410 --> 00:25:04,750 >> Takže naše tic-tac-toe hráč jde až do konce a najde míst, 470 00:25:04,750 --> 00:25:07,040 řeší je pomocí tohoto minimax. 471 00:25:07,040 --> 00:25:08,990 A měl jsem nastavení hloubky na to tak, že 472 00:25:08,990 --> 00:25:11,010 by se běžet příliš rychle, což je pravděpodobně důvod, proč 473 00:25:11,010 --> 00:25:16,790 Layla byl schopen jít pěkně dopředu jako ona, a udělal velmi dobře. 474 00:25:16,790 --> 00:25:20,450 Ale tyto systémy, které právě projít a hrubou silou 475 00:25:20,450 --> 00:25:23,870 jít hlouběji a hlouběji a hlouběji, a držet hledání řešení 476 00:25:23,870 --> 00:25:29,890 že je třeba tyto druhy systémů jsou docela úspěšní v nich dobře, 477 00:25:29,890 --> 00:25:32,700 standardní stolní hry. 478 00:25:32,700 --> 00:25:37,060 >> A ve skutečnosti, pokud se podíváme na Tři třemi tic-tac-toe hra, 479 00:25:37,060 --> 00:25:40,040 toto je v podstatě vyřešen problém. 480 00:25:40,040 --> 00:25:45,430 A to je skvělý diagram od Randall Munroe v XKCD, 481 00:25:45,430 --> 00:25:52,130 ukazující, z kterého byste měli přesunout trvat, vzhledem k tomu, pohyby svého soupeře se. 482 00:25:52,130 --> 00:25:56,420 To je něco, co jsme mohli, snadno určit dopředu. 483 00:25:56,420 --> 00:26:00,180 Ale to, co se děje, když se dostaneme do více komplexní hry, více složité hry, 484 00:26:00,180 --> 00:26:05,690 tam, kde jsou větší desky, více Možnosti, hlubší strategie? 485 00:26:05,690 --> 00:26:09,660 >> Ukazuje se, že tento hrubou silou vyhledávání stále 486 00:26:09,660 --> 00:26:14,150 dělá rozumně dobře, s výjimkou když se dostanete do bodu, 487 00:26:14,150 --> 00:26:19,230 kde ten strom je tak velký že není možné reprezentovat všechno. 488 00:26:19,230 --> 00:26:22,370 489 00:26:22,370 --> 00:26:28,280 Když nemůžete vypočítat celý strom, když nemůžete jít kupředu a tlačit 490 00:26:28,280 --> 00:26:32,204 si do bodu, kdy jste si dostal celý strom v paměti, 491 00:26:32,204 --> 00:26:34,370 nebo zda se můžete dostat do paměti, a to bude jen 492 00:26:34,370 --> 00:26:39,200 trvat příliš dlouho, aby prohledávat to, co musíte udělat něco chytřejší. 493 00:26:39,200 --> 00:26:42,620 494 00:26:42,620 --> 00:26:46,450 >> Aby bylo možné udělat, aby vám musíte udělat dvě věci. 495 00:26:46,450 --> 00:26:49,030 Za prvé, musíte najít nějaký způsob, jak omezit hloubku. 496 00:26:49,030 --> 00:26:50,370 No, to je v pořádku. 497 00:26:50,370 --> 00:26:55,740 Můžeme najít nějaké pěkné, naprosté minimum a říkají, můžete jít tak hluboko pouze. 498 00:26:55,740 --> 00:27:00,890 Ale když to uděláte, to znamená, že vám mají tyto částečně neúplné desek. 499 00:27:00,890 --> 00:27:04,770 A musíte si vybrat, mám rád Tento částečně neúplné deska, 500 00:27:04,770 --> 00:27:08,600 nebo to částečně neúplný deska? 501 00:27:08,600 --> 00:27:11,910 >> A o naše čtyři by čtyř tic-tac-toe hra, 502 00:27:11,910 --> 00:27:15,240 náš počítač hráč dostal dolů do spodní části, a to řekl, 503 00:27:15,240 --> 00:27:16,800 Mám dvě různé desky. 504 00:27:16,800 --> 00:27:17,940 Ani jeden je vítězství. 505 00:27:17,940 --> 00:27:19,120 Ani jeden je ztráta. 506 00:27:19,120 --> 00:27:22,070 Ani jeden je kravata. 507 00:27:22,070 --> 00:27:24,100 Jak si mám vybrat mezi nimi? 508 00:27:24,100 --> 00:27:26,200 A to nemělo mít chytrý způsob, jak dělat to. 509 00:27:26,200 --> 00:27:28,910 510 00:27:28,910 --> 00:27:32,850 >> Vidíme tento druh Vyhodnocení se stalo po celou dobu 511 00:27:32,850 --> 00:27:35,290 jak jsme se dostali do složitějších her. 512 00:27:35,290 --> 00:27:37,600 Šachy je skvělým příkladem. 513 00:27:37,600 --> 00:27:41,550 V šachu, které máme, nejprve Ze všeho, větší nastoupí. 514 00:27:41,550 --> 00:27:43,370 Máme mnohem více kusů. 515 00:27:43,370 --> 00:27:47,930 A umístění těchto kusů a způsob, jakým tyto kousky pohybují 516 00:27:47,930 --> 00:27:50,370 je kriticky důležitá. 517 00:27:50,370 --> 00:27:53,700 Takže pokud chci použít minimax, Musím být schopen specifikovat 518 00:27:53,700 --> 00:27:58,240 a říkají, tato deska, kde nikdo vyhráli nebo prohráli ještě, 519 00:27:58,240 --> 00:28:04,310 je poněkud lepší než ten druhý board, kde nikdo vyhrál nebo prohrál. 520 00:28:04,310 --> 00:28:06,740 >> K tomu, bych mohl dělat věci, jako bych mohl jen 521 00:28:06,740 --> 00:28:10,787 spočítat, kolik kusů musím a kolik kusů máte? 522 00:28:10,787 --> 00:28:12,870 Nebo bych mohl dát jiný ks různých bodů. 523 00:28:12,870 --> 00:28:14,420 Moje královna stojí 20 bodů. 524 00:28:14,420 --> 00:28:16,500 Tvůj pěšák stojí jeden bod. 525 00:28:16,500 --> 00:28:18,920 Kdo má více bodů celkem? 526 00:28:18,920 --> 00:28:22,300 Nebo bych mohl uvažovat o věci, jako je, Kdo má lepší pozici desky? 527 00:28:22,300 --> 00:28:26,820 Čí je to na řadě příště, vše, co mohu 528 00:28:26,820 --> 00:28:31,220 to hodnotit přesněji , která z těchto možností 529 00:28:31,220 --> 00:28:34,660 je lepší bez důkladně zvažuje 530 00:28:34,660 --> 00:28:36,565 Každý krok, který mohl přijít po tom. 531 00:28:36,565 --> 00:28:39,740 532 00:28:39,740 --> 00:28:45,130 >> Nyní, aby tuto práci, jedna z věcí, která je 533 00:28:45,130 --> 00:28:48,680 stane opravdu důležité Pro nás není jen v pohybu rovně 534 00:28:48,680 --> 00:28:53,720 až na určitou hloubku limitu, ale je schopen říci, 535 00:28:53,720 --> 00:28:59,380 jeden z těchto nápadů, které jsem máme, je tak špatné, že je to 536 00:28:59,380 --> 00:29:02,280 není stojí za zvážení všechny možné způsoby, jak 537 00:29:02,280 --> 00:29:06,680 že věci mohou jít od desíti k pěti. 538 00:29:06,680 --> 00:29:12,760 K tomu přidáme do minimax princip tzv Alph-beta. 539 00:29:12,760 --> 00:29:16,340 A alfa-beta říká, pokud máte špatný nápad, 540 00:29:16,340 --> 00:29:22,840 Neztrácejte čas se snaží přesně zjistit, jak zlé to je. 541 00:29:22,840 --> 00:29:24,990 >> Tak tady je to, co budeme dělat. 542 00:29:24,990 --> 00:29:28,620 Budeme trvat stejný zásady, které jsme měli předtím, 543 00:29:28,620 --> 00:29:32,200 stejný typ minimax vyhledávání, jen jsme 544 00:29:32,200 --> 00:29:37,570 bude sledovat, a to nejen z Skutečné hodnoty, které máme, ale my budeme 545 00:29:37,570 --> 00:29:41,440 sledovat nejlepší možný hodnota, kterou bych mohl dostat, 546 00:29:41,440 --> 00:29:45,700 a nejhorší možný Výsledek jsem mohl mít. 547 00:29:45,700 --> 00:29:50,470 A kdykoli ten nejhorší možný věc vypadá pravděpodobné, 548 00:29:50,470 --> 00:29:52,694 Budu opustit tuto část stromu. 549 00:29:52,694 --> 00:29:54,610 A já se ani obtěžovat při pohledu na to ještě. 550 00:29:54,610 --> 00:29:57,680 551 00:29:57,680 --> 00:30:02,600 >> Dobře, tak si představte, že začneme s tímto stejným přesným hře stromu. 552 00:30:02,600 --> 00:30:05,200 A teď se chystáte jít zase dolů, celou cestu dolů 553 00:30:05,200 --> 00:30:07,200 k tomuto levém dolním rohu. 554 00:30:07,200 --> 00:30:11,180 A v tom levém dolním rohu, jsme vypadat a vyhodnocujeme tuto desku. 555 00:30:11,180 --> 00:30:15,700 Možná je to čtyři čtyřmi tic-tac-toe deska, nebo možná je to šachovnici. 556 00:30:15,700 --> 00:30:18,620 Ale my se na to podívat, a budeme hodnotit to, a dostaneme hodnotu osm. 557 00:30:18,620 --> 00:30:22,290 558 00:30:22,290 --> 00:30:28,030 >> V tomto bodě, my víme, že budeme mít alespoň 559 00:30:28,030 --> 00:30:32,380 osm bodů z tohoto spodního rozhodnutí. 560 00:30:32,380 --> 00:30:36,620 Nezáleží na tom, co ten druhý dva jsou, že sedm a že dva. 561 00:30:36,620 --> 00:30:38,580 Ty by mohly být jakékoli hodnoty oni chtěli být. 562 00:30:38,580 --> 00:30:41,279 Chystáme se dostat nejméně osm bodů. 563 00:30:41,279 --> 00:30:43,070 Dobře, ale mohli bychom jděte do toho a zkontrolovat. 564 00:30:43,070 --> 00:30:45,080 Možná, že jeden z nich je lepší než osm. 565 00:30:45,080 --> 00:30:46,000 >> Dívali jsme se na sedm. 566 00:30:46,000 --> 00:30:46,910 Je to lepší než osm? 567 00:30:46,910 --> 00:30:48,680 Ne, že se nemění Náš názor vůbec. 568 00:30:48,680 --> 00:30:49,460 Dívali jsme se na dva. 569 00:30:49,460 --> 00:30:50,543 Je to lepší než osm? 570 00:30:50,543 --> 00:30:52,580 Ne, že se nemění Náš názor vůbec. 571 00:30:52,580 --> 00:30:55,480 Takže teď víme, že jsme vyčerpali všichni tam možnosti. 572 00:30:55,480 --> 00:30:58,330 Nebudeme se dostat něco lepšího než osm. 573 00:30:58,330 --> 00:31:01,310 Chystáme se dostat přesně to osm. 574 00:31:01,310 --> 00:31:03,825 >> A tak jsme se změnit tuto uzel a řekněme, že je nyní jisté. 575 00:31:03,825 --> 00:31:07,010 576 00:31:07,010 --> 00:31:10,270 Jsme přejít o jednu úroveň výše, že. 577 00:31:10,270 --> 00:31:13,820 A teď víme něco o této úrovni minimalizace. 578 00:31:13,820 --> 00:31:18,560 Víme, že jsme nikdy dostat více než osm bodů, pokud půjdeme dolů 579 00:31:18,560 --> 00:31:20,910 že směr. 580 00:31:20,910 --> 00:31:22,980 Vzhledem k tomu, i když ti, Další dvě větve dopadne 581 00:31:22,980 --> 00:31:26,170 aby bylo fantastické a stojí za to tisíce bodů každý, 582 00:31:26,170 --> 00:31:31,666 náš soupeř bude Dej nám minimum, a dej nám osm. 583 00:31:31,666 --> 00:31:32,790 Dobře, no, uvidíme. 584 00:31:32,790 --> 00:31:35,190 Budeme dál touto cestou. 585 00:31:35,190 --> 00:31:38,490 Jdeme dolů na tuto středu na levé straně. 586 00:31:38,490 --> 00:31:40,560 Díváme se dolů a vidíme tam je devět. 587 00:31:40,560 --> 00:31:45,590 Víme, že budeme mít alespoň devět bodů tím, že jde dolů 588 00:31:45,590 --> 00:31:47,720 že uprostřed silnice. 589 00:31:47,720 --> 00:31:52,110 A v tomto bodě, můžeme jen pozastavit. 590 00:31:52,110 --> 00:31:56,910 A můžeme říci, podívejte, já známými v úrovni výše, 591 00:31:56,910 --> 00:32:01,160 Budu mít více než osmi body tím, že jde dolů tímto směrem. 592 00:32:01,160 --> 00:32:05,670 Ale když jsem šel na polovinu cesta namísto levé dráhy, 593 00:32:05,670 --> 00:32:08,980 Chtěl bych získat alespoň devět bodů. 594 00:32:08,980 --> 00:32:13,590 >> Můj soupeř se nikdy nech mě jít dolů, že střední cestu. 595 00:32:13,590 --> 00:32:14,650 Dostanou na výběr. 596 00:32:14,650 --> 00:32:18,140 A jdou zvolit Cesta vlevo směrem k osmi, 597 00:32:18,140 --> 00:32:23,650 spíše než středem směrem co je nejméně devět bodů. 598 00:32:23,650 --> 00:32:25,334 Takže na tom místě, budu zastavit. 599 00:32:25,334 --> 00:32:26,500 A já řeknu, že víš, co? 600 00:32:26,500 --> 00:32:29,990 Nechci se dívat jakýkoli více se v tomto směru. 601 00:32:29,990 --> 00:32:32,270 Protože já nikdy se tam dostat. 602 00:32:32,270 --> 00:32:36,660 >> Mohu přeskočit, že jeden, a mohu přeskočit, že šest, 603 00:32:36,660 --> 00:32:39,720 protože to se nikdy nestane. 604 00:32:39,720 --> 00:32:42,470 Takže já půjdu dolů a budu uvažovat další možnost. 605 00:32:42,470 --> 00:32:44,830 Jdu tam a říkám, vidím dva. 606 00:32:44,830 --> 00:32:47,125 Vím, že když dostanu až sem, já jsem dostane alespoň dvě. 607 00:32:47,125 --> 00:32:49,810 608 00:32:49,810 --> 00:32:50,470 DOBŘE. 609 00:32:50,470 --> 00:32:51,520 I dál. 610 00:32:51,520 --> 00:32:52,440 Vidím čtyři. 611 00:32:52,440 --> 00:32:54,920 Vím, že budu mít alespoň čtyři. 612 00:32:54,920 --> 00:32:57,200 Je tu ještě hodně mezi čtyři a osm, ačkoli. 613 00:32:57,200 --> 00:32:58,454 Tak jsem dál. 614 00:32:58,454 --> 00:32:59,870 Podívám se dolů a vidím, je tu ještě jedna. 615 00:32:59,870 --> 00:33:01,614 Tak jo, já vím, pokud Jdu dolů touto cestou, 616 00:33:01,614 --> 00:33:03,280 Budu mít možnost vybrat si čtyři. 617 00:33:03,280 --> 00:33:06,540 618 00:33:06,540 --> 00:33:08,980 Co se můj soupeř bude dělat? 619 00:33:08,980 --> 00:33:12,310 Mezi něco, co mi dává osm, něco, co mi dává čtyři, 620 00:33:12,310 --> 00:33:14,730 a něco, co mi dává nejméně devět, 621 00:33:14,730 --> 00:33:17,550 dobře, že to bude dát mi čtyři. 622 00:33:17,550 --> 00:33:20,110 A já teď vím, u velmi top, jdu 623 00:33:20,110 --> 00:33:23,145 aby bylo možné získat minimálně čtyři body z této hry. 624 00:33:23,145 --> 00:33:27,030 625 00:33:27,030 --> 00:33:30,900 >> Celá myšlenka alfa-beta je odříznout díly strom tak, 626 00:33:30,900 --> 00:33:32,530 že nemám dívat se na ně už ne. 627 00:33:32,530 --> 00:33:35,964 Ale to stále vypadá, jako jsem byl při pohledu na spoustu stromu. 628 00:33:35,964 --> 00:33:36,880 Pojďme dál dolů. 629 00:33:36,880 --> 00:33:38,305 Půjdeme dolů ten příští teď. 630 00:33:38,305 --> 00:33:39,680 Dole na dně, najdu jeden. 631 00:33:39,680 --> 00:33:41,030 Vím, že budu mít alespoň jednu. 632 00:33:41,030 --> 00:33:41,690 Jsem hledat dál. 633 00:33:41,690 --> 00:33:42,625 >> Najdu tři. 634 00:33:42,625 --> 00:33:44,250 Vím, že budu mít alespoň tři. 635 00:33:44,250 --> 00:33:44,840 I dál. 636 00:33:44,840 --> 00:33:45,660 Najdu pět. 637 00:33:45,660 --> 00:33:49,760 Já vím, že jsem se dostat pět když jsem si v této cestě. 638 00:33:49,760 --> 00:33:52,580 A také vím, pak že můj soupeř, pokud I 639 00:33:52,580 --> 00:33:55,510 vyberte střed tři velké možnosti, 640 00:33:55,510 --> 00:34:01,440 že to bude, aby mi něco, co je pět nebo méně. 641 00:34:01,440 --> 00:34:02,150 >> DOBŘE. 642 00:34:02,150 --> 00:34:03,400 Můžu pokračovat tam. 643 00:34:03,400 --> 00:34:06,470 Můžu se podívat dolů a já Dá se říci, co mám 644 00:34:06,470 --> 00:34:08,239 získat, když jdu po střední cestu? 645 00:34:08,239 --> 00:34:09,909 Jdu se dostat, dobře, tři tam. 646 00:34:09,909 --> 00:34:12,080 Jdu si pro něco to je nejméně tři. 647 00:34:12,080 --> 00:34:16,030 Je tu ještě věci mezi tři a pět, tak jsem hledat dál. 648 00:34:16,030 --> 00:34:20,203 Oh, devět, budu určitě převzít, že více než tři. 649 00:34:20,203 --> 00:34:22,744 Chystám se získat alespoň devět když půjdu dolů, že střední cestu. 650 00:34:22,744 --> 00:34:25,530 651 00:34:25,530 --> 00:34:31,010 >> A teď můj soupeř zastaví a říká: vypadat, že to nemá smysl ještě. 652 00:34:31,010 --> 00:34:33,669 Vím, že můj minimalizace soupeř, je to 653 00:34:33,669 --> 00:34:36,210 chystá dát mi věc, která se menší nebo rovna pěti, 654 00:34:36,210 --> 00:34:39,030 spíše než věc, která se větší než nebo roven devět. 655 00:34:39,030 --> 00:34:39,530 I zastavit. 656 00:34:39,530 --> 00:34:40,779 Nechci vypadat víc se na to. 657 00:34:40,779 --> 00:34:43,280 I dál. 658 00:34:43,280 --> 00:34:44,850 >> Podívám se dolů na tento jeden. 659 00:34:44,850 --> 00:34:46,370 Až na dno, najdu šest. 660 00:34:46,370 --> 00:34:50,040 Já vím, že jsem se získat alespoň šest. 661 00:34:50,040 --> 00:34:53,130 A co mám dělat? 662 00:34:53,130 --> 00:34:54,877 Nemůžu přestat. 663 00:34:54,877 --> 00:34:57,460 Protože je volba mezi něco, co je nejméně šest 664 00:34:57,460 --> 00:34:59,250 a něco, co je méně než pět, on je 665 00:34:59,250 --> 00:35:02,570 chystá dát mi tu věc To je méně než pět. 666 00:35:02,570 --> 00:35:04,779 A teď vím, že jdu jak dostat přesně to, že volba. 667 00:35:04,779 --> 00:35:06,195 Chystám se dostat, že pět volbu. 668 00:35:06,195 --> 00:35:08,980 669 00:35:08,980 --> 00:35:10,010 >> Vrátím se až na vrchol. 670 00:35:10,010 --> 00:35:11,450 Což budu vybrat mezi něčím 671 00:35:11,450 --> 00:35:14,449 to je větší než nebo roven čtyřem, nebo něco, co je rovna pěti? 672 00:35:14,449 --> 00:35:17,140 Jdu si něco to je nejméně pět. 673 00:35:17,140 --> 00:35:20,490 Jdu dolů na poslední cestě, všechny cesta dolů na dno. 674 00:35:20,490 --> 00:35:21,260 Zazní tam taky jeden. 675 00:35:21,260 --> 00:35:23,410 OK, aspoň budu mít jeden bod. 676 00:35:23,410 --> 00:35:24,427 I dál. 677 00:35:24,427 --> 00:35:25,760 Dva, ach, je to lepší než jeden. 678 00:35:25,760 --> 00:35:27,100 Chystám se získat alespoň dva. 679 00:35:27,100 --> 00:35:28,610 Najdu tři. 680 00:35:28,610 --> 00:35:31,450 Já vím, že jsem se dostat tři. 681 00:35:31,450 --> 00:35:34,690 >> A bod výše uvedeného vyplývá, můj soupeř se děje 682 00:35:34,690 --> 00:35:38,540 aby mi dal něco, co je menší než nebo rovný třem. 683 00:35:38,540 --> 00:35:40,940 A teď můžu zastavit. 684 00:35:40,940 --> 00:35:46,290 Vzhledem k tomu, v volba mezi mnou bytí možnost získat pět a můj soupeř 685 00:35:46,290 --> 00:35:52,290 to, že mi něco méně než tři, Já jsem vždy bude trvat, že pět. 686 00:35:52,290 --> 00:35:56,810 Takže si nemyslím, že hodnotit Spodní část stromu vůbec. 687 00:35:56,810 --> 00:35:59,470 >> A teď, se to může zdát menší. 688 00:35:59,470 --> 00:36:03,630 Ale když malé kousky aritmetiky, větší než a menší než, 689 00:36:03,630 --> 00:36:10,640 může odříznout celé části tento exponenciálně rostoucí strom, 690 00:36:10,640 --> 00:36:14,280 která vede k obrovské Množství spoření, úspory 691 00:36:14,280 --> 00:36:17,630 které jsou dostatečně velké, že jsem Můžete začít hrát konkurenčně 692 00:36:17,630 --> 00:36:21,330 u složitějších her. 693 00:36:21,330 --> 00:36:27,030 >> Dobře, pokud se podíváme na velikosti a složitosti různých her, 694 00:36:27,030 --> 00:36:29,470 tic-tac-toe byl náš jednoduchý příklad. 695 00:36:29,470 --> 00:36:32,150 Máme malou desku, tři třemi. 696 00:36:32,150 --> 00:36:36,030 Dostáváme, nanejvýš průměrně asi čtyři různé volby 697 00:36:36,030 --> 00:36:38,440 jak jsme projít hru. 698 00:36:38,440 --> 00:36:42,720 Máme někde kolem 10 k páté možné různé listy. 699 00:36:42,720 --> 00:36:45,200 A budování tic-tac-toe hráč, dobře, jen jsme to udělali. 700 00:36:45,200 --> 00:36:47,460 Je to snadné. 701 00:36:47,460 --> 00:36:49,890 >> Pokud bychom jít až na něco víc komplexní, jako Connect Four. 702 00:36:49,890 --> 00:36:53,170 Vzpomínáte si na tuto hru, kde pustíte malé tokeny? 703 00:36:53,170 --> 00:36:58,490 Je to šest od sedmi deska, Není to mnohem větší, stále 704 00:36:58,490 --> 00:37:00,770 má přibližně stejnou rozvětvení faktorem tic-tac-toe. 705 00:37:00,770 --> 00:37:05,410 Mám asi čtyři možnosti kde můžu dát věci do. 706 00:37:05,410 --> 00:37:10,760 Ale teď, mám mnohem víc vede 10 k 21. moci. 707 00:37:10,760 --> 00:37:14,440 To je něco, co je snadné natolik, že jsme řešit to hned. 708 00:37:14,440 --> 00:37:17,560 >> Dáma, více complex-- vás Dostal osm osm palubě. 709 00:37:17,560 --> 00:37:20,570 Jsi jen na polovinu jim kdykoliv, ačkoli. 710 00:37:20,570 --> 00:37:24,930 Máte větvení faktorem, který je asi 2,8. 711 00:37:24,930 --> 00:37:28,160 No, máme pár pohybuje si můžete vzít. 712 00:37:28,160 --> 00:37:33,870 Vy jste asi 10 dostal do 31. listy, větší a větší, a větší prostory. 713 00:37:33,870 --> 00:37:37,340 Jak jsem prohledávat ty větší a větší prostory, 714 00:37:37,340 --> 00:37:42,220 to je, když se věci, jako je alfa-beta a budou moci odříznout celá odvětví 715 00:37:42,220 --> 00:37:44,420 stává zásadní. 716 00:37:44,420 --> 00:37:47,440 >> Teď, dáma bylo dost snadné v roce 1992. 717 00:37:47,440 --> 00:37:51,400 Počítačový program nazvaný Chinook porazil světové dáma 718 00:37:51,400 --> 00:37:53,590 šampionů, Marion Tinsley. 719 00:37:53,590 --> 00:37:57,260 A od té doby, no člověk mistr hráč má 720 00:37:57,260 --> 00:38:02,290 byl schopen porazit ty nejlepší výpočetní systémy. 721 00:38:02,290 --> 00:38:06,570 Pokud se podíváme na něco jako šachy, teď zase, máme osm osm palubě. 722 00:38:06,570 --> 00:38:09,870 Ale my máme mnohem složitější kusy, mnohem složitější pohyby. 723 00:38:09,870 --> 00:38:14,610 Máme větvení faktor o 35, 35 možných tahů v průměru 724 00:38:14,610 --> 00:38:20,030 že mohu vzít, a stát prostor, počet listů 725 00:38:20,030 --> 00:38:28,950 který vyrostl na 10 až 123. moci, obrovské množství možností. 726 00:38:28,950 --> 00:38:35,570 >> Dokonce stále, moderní procesory jsou schopni to udělat úspěšně. 727 00:38:35,570 --> 00:38:43,900 V roce 1995 a pak v roce 1997, v počítači program s názvem Deep Blue postavený IBM 728 00:38:43,900 --> 00:38:49,601 který běžel na obří superpočítači porazil aktuální mistr světa, 729 00:38:49,601 --> 00:38:50,225 Garry Kasparov. 730 00:38:50,225 --> 00:38:54,000 731 00:38:54,000 --> 00:38:56,650 To byl zlom. 732 00:38:56,650 --> 00:39:00,620 Dnes se však, že stejné zpracování napájení sedí na mém MacBook. 733 00:39:00,620 --> 00:39:04,180 734 00:39:04,180 --> 00:39:06,440 >> Rychlost zpracování udržuje stále rychleji a rychleji. 735 00:39:06,440 --> 00:39:09,500 Můžeme hodnotit více a více desky rychlejší a rychlejší. 736 00:39:09,500 --> 00:39:14,550 Ale ještě důležitější je, že máme lepší vyhodnocovací funkce a lepší prořezávání 737 00:39:14,550 --> 00:39:15,460 metody. 738 00:39:15,460 --> 00:39:19,560 Takže můžeme prohledat prostor více komplexně. 739 00:39:19,560 --> 00:39:22,350 Největší desky hry, že můžeme myslet, 740 00:39:22,350 --> 00:39:26,310 něco jako Go to dostal 19 19 desku, 741 00:39:26,310 --> 00:39:32,490 teď najednou, jsme za bod kde výpočetních systémů vyhrát. 742 00:39:32,490 --> 00:39:34,530 Není výpočetní Systém venku 743 00:39:34,530 --> 00:39:38,880 , který může porazit profesionální hráče Go. 744 00:39:38,880 --> 00:39:45,000 Nejlepší systémy dnes pořadí ji o druh dobré amatérské úrovni. 745 00:39:45,000 --> 00:39:49,285 Takže tam je ještě docela trochu mimo tam, že se nemůžete dostat do ještě. 746 00:39:49,285 --> 00:39:51,840 747 00:39:51,840 --> 00:39:55,360 >> Dobře, tyto tradiční stolní hry, 748 00:39:55,360 --> 00:39:58,560 tyto druhy systémů, kde jsme stavět tento minimax, ať už je to tu 749 00:39:58,560 --> 00:40:06,300 alfa-beta, nebo ne, tyto algoritmy pracují proto, že existují určitá omezení. 750 00:40:06,300 --> 00:40:08,520 Máme dokonalé informace o světě. 751 00:40:08,520 --> 00:40:11,690 Víme, kde jsou všechny díly jsou. 752 00:40:11,690 --> 00:40:13,570 Svět je statické. 753 00:40:13,570 --> 00:40:16,220 Nikdo se přesunout kousky kolem, zatímco já jsem 754 00:40:16,220 --> 00:40:20,640 tam sedí myšlení, vzal mě přijde řada. 755 00:40:20,640 --> 00:40:23,140 Je tu akční prostor, který je diskrétní. 756 00:40:23,140 --> 00:40:26,900 Můžu dát své pěšce tady, nebo si dát své pěšce zde. 757 00:40:26,900 --> 00:40:30,520 Já nesmím dát své pěšce na čára mezi dvěma čtverců. 758 00:40:30,520 --> 00:40:34,430 759 00:40:34,430 --> 00:40:36,520 >> A konečně, akce jsou deterministické. 760 00:40:36,520 --> 00:40:39,790 Vím, že když řeknu, věž na rytíře tři, 761 00:40:39,790 --> 00:40:44,660 moje věž se chystá skončit na rytíře tři, tak dlouho, jak je to platný tah. 762 00:40:44,660 --> 00:40:47,830 Neexistuje žádná nejistota o tom. 763 00:40:47,830 --> 00:40:52,490 Teď, když jsem jít do více různé druhy her, 764 00:40:52,490 --> 00:40:55,960 musíme prolomit tyto předpoklady. 765 00:40:55,960 --> 00:41:00,020 >> Co když půjdu k něčemu jako klasických videoher? 766 00:41:00,020 --> 00:41:04,180 Zde je výběr z videa hry z Atari 2600. 767 00:41:04,180 --> 00:41:05,180 Co mám tam nahoře? 768 00:41:05,180 --> 00:41:08,440 Mám Frogger, Vesmírné Invaders, Pitfall a Pac-Man. 769 00:41:08,440 --> 00:41:11,290 770 00:41:11,290 --> 00:41:14,840 Jaké druhy prostředí mám tady teď? 771 00:41:14,840 --> 00:41:16,900 Který z těchto předpokladů musím zlomit? 772 00:41:16,900 --> 00:41:19,410 773 00:41:19,410 --> 00:41:21,570 >> No, to záleží na hře. 774 00:41:21,570 --> 00:41:28,170 Mohl bych hrát šachy na 2600, a by to bylo, stejně jako tomu bylo dříve. 775 00:41:28,170 --> 00:41:33,020 Pro většinu z těchto systémů, je tu Kompletní znalosti o světě. 776 00:41:33,020 --> 00:41:36,300 K dispozici je kompletně deterministické akce. 777 00:41:36,300 --> 00:41:38,330 Ale obvykle, svět je už není statická. 778 00:41:38,330 --> 00:41:41,970 To znamená, že zatímco já jsem tam sedí čekání, něco se pohybuje. 779 00:41:41,970 --> 00:41:44,320 Duchové jsou na cestě k mě dostat. 780 00:41:44,320 --> 00:41:46,570 Štír je za mnou pod ním. 781 00:41:46,570 --> 00:41:48,880 Tyto Space Invaders jsou přijde blíž a blíž. 782 00:41:48,880 --> 00:41:54,020 783 00:41:54,020 --> 00:41:55,510 Jak dobře můžeme udělat proti nim? 784 00:41:55,510 --> 00:41:58,640 785 00:41:58,640 --> 00:42:02,790 >> Před několika lety, Google byl projekt s názvem 786 00:42:02,790 --> 00:42:12,030 DeepMind, kde trénoval počítač Program hrát Atari 2600 her. 787 00:42:12,030 --> 00:42:16,120 A pokud si myslíte, že to není vážné podnikání, výsledky jejich studie 788 00:42:16,120 --> 00:42:19,920 byly publikovány v Nature, tak jen asi tak dobrý publikace 789 00:42:19,920 --> 00:42:22,500 jak si můžeš získat. 790 00:42:22,500 --> 00:42:24,340 A tady je, jak dobře oni hráli. 791 00:42:24,340 --> 00:42:29,220 >> Mají algoritmus, který seděl a díval se jen na obrazovce vstupy. 792 00:42:29,220 --> 00:42:34,080 To dostalo žádné instrukce vůbec o pravidlech hry. 793 00:42:34,080 --> 00:42:42,610 A to mělo přijít na to, na základě své skóre, jak dobře to dělá. 794 00:42:42,610 --> 00:42:46,560 Jednalo se o systém, který používá něco volal učení zesílení. 795 00:42:46,560 --> 00:42:48,380 To znamená, že se podíval na své skóre. 796 00:42:48,380 --> 00:42:51,620 A jestli to mám dobré skóre, to řekl, Měl bych si ty věci. 797 00:42:51,620 --> 00:42:53,310 A já jsem měl dělat ty znovu. 798 00:42:53,310 --> 00:42:56,450 A jestli to mám špatně, to řekl, Neměl bych udělat znovu ty věci. 799 00:42:56,450 --> 00:42:59,750 800 00:42:59,750 --> 00:43:03,430 >> To je výkon z těchto vyškolených systémů 801 00:43:03,430 --> 00:43:07,490 nechá hrát za Pár hodin na každou hru, 802 00:43:07,490 --> 00:43:12,490 porovnány s profesionálními hráči. 803 00:43:12,490 --> 00:43:19,670 Takže pro všechny hry, které jsou na levé straně této linie, 804 00:43:19,670 --> 00:43:25,920 Toto self-cvičil počítačový program překonala profesionální hráče. 805 00:43:25,920 --> 00:43:29,690 A za všechno do pravdu, profesionálními hráči 806 00:43:29,690 --> 00:43:30,920 byli stále nejlepší. 807 00:43:30,920 --> 00:43:34,040 808 00:43:34,040 --> 00:43:36,850 Za něco, co věděl nic o pravidlech, která 809 00:43:36,850 --> 00:43:43,020 nevěděl nic o struktuře hry, to je působivé představení. 810 00:43:43,020 --> 00:43:45,660 A to je to, co jsme schopni udělat dnes. 811 00:43:45,660 --> 00:43:50,239 >> OK, říkáte, ale pokud budeme přemýšlet o tom, AI ve hrách, 812 00:43:50,239 --> 00:43:52,530 normálně si myslíme, že o Věci, které můžeme ve skutečnosti 813 00:43:52,530 --> 00:43:54,180 sednout a hrát proti. 814 00:43:54,180 --> 00:43:58,760 Pokud bych si sednout a já hrát StarCraft, nebo hraju zdarma Síto, 815 00:43:58,760 --> 00:44:01,870 počítač soupeř je osoba, která kontroluje Zergy, 816 00:44:01,870 --> 00:44:06,770 nebo řízení druhé civilizace. 817 00:44:06,770 --> 00:44:11,920 Jak se tito hráči skutečně najít svůj tah? 818 00:44:11,920 --> 00:44:18,810 >> No, tyto hry jsou strukturovány hodně stejný cesta jako naše stolní hry, 819 00:44:18,810 --> 00:44:22,250 Tyto hry, které budeme souhrnně nazývají čtyři na X Games, 820 00:44:22,250 --> 00:44:26,040 prozkoumat, expand-- zapomenout na ty. 821 00:44:26,040 --> 00:44:26,980 Co jsou? 822 00:44:26,980 --> 00:44:32,150 Prozkoumat, rozšiřovat, a uhasit, Myslím si, že je poslední. 823 00:44:32,150 --> 00:44:36,060 Ale jsou v zásadě průzkum a Conquer hry. 824 00:44:36,060 --> 00:44:41,020 Typicky, počítač soupeř tam má omezené informace. 825 00:44:41,020 --> 00:44:45,486 Nevědí přesně, co je to děje za té mlze války. 826 00:44:45,486 --> 00:44:47,735 Oni nejsou vidět na vlastní oči, co Máte ve vašem inventáři. 827 00:44:47,735 --> 00:44:50,240 828 00:44:50,240 --> 00:44:52,800 >> K dispozici je prostředí, které je dynamické. 829 00:44:52,800 --> 00:44:56,180 Všechno se mění po celou dobu. 830 00:44:56,180 --> 00:45:00,290 Nemusíte dostat sedět a dočkat, aby se váš pohyb. 831 00:45:00,290 --> 00:45:02,810 Ale většina věcí jsou stále diskrétní. 832 00:45:02,810 --> 00:45:04,200 Musím dát své město tady. 833 00:45:04,200 --> 00:45:06,750 Nebo musím dát moje město tady. 834 00:45:06,750 --> 00:45:08,950 A všechno je deterministický. 835 00:45:08,950 --> 00:45:14,660 Když říkám, pohnout jednotkou tady, můj přístroj se pohybuje tady, pokud není překážkou náhle 836 00:45:14,660 --> 00:45:17,700 vstoupí do hry. 837 00:45:17,700 --> 00:45:21,610 Teď, že to není všechno počítač hry, které jsou tam dnes. 838 00:45:21,610 --> 00:45:27,320 >> Pokud bych jít a já hrát první osoba typu hra, něco jako zloděj nebo Falloutu 839 00:45:27,320 --> 00:45:33,350 nebo Skyrim, nebo Halo, nyní Mám počítačovým protivníkům 840 00:45:33,350 --> 00:45:37,860 že jsou tam, že mají velmi odlišná situace. 841 00:45:37,860 --> 00:45:40,020 Mají opět omezené informace. 842 00:45:40,020 --> 00:45:43,420 Oni jen lze spatřit jistá zorné pole. 843 00:45:43,420 --> 00:45:45,180 Životní prostředí je stále dynamický. 844 00:45:45,180 --> 00:45:48,280 Věci se mění po celou dobu. 845 00:45:48,280 --> 00:45:52,300 >> Ale teď mám mnohem víc kontinuální akce prostor. 846 00:45:52,300 --> 00:45:57,170 Mohu být jen pokukování trochu ze dveří. 847 00:45:57,170 --> 00:46:00,650 A některé hry, my akce jsou stochastické. 848 00:46:00,650 --> 00:46:04,590 Mám se pokusit přeskočit tu zeď, ale mám šanci na selhání. 849 00:46:04,590 --> 00:46:08,280 850 00:46:08,280 --> 00:46:14,550 Tyto typy her jsou stále blíž a blíže k druhům regulátorů 851 00:46:14,550 --> 00:46:17,330 že stavíme v robotice. 852 00:46:17,330 --> 00:46:21,050 >> V robotice, musíme předpokládat, že máme omezené množství informací. 853 00:46:21,050 --> 00:46:23,070 Máme senzory, které řekněte nám o světě. 854 00:46:23,070 --> 00:46:25,860 Máme vždy se měnící, dynamické prostředí. 855 00:46:25,860 --> 00:46:30,440 Máme svět, v němž je prostor kontinuální, spíše než diskrétní. 856 00:46:30,440 --> 00:46:36,260 A naše akce, kdy se snažíme oni, mají šanci na selhání. 857 00:46:36,260 --> 00:46:40,960 A ve skutečnosti, moderní hra regulátory pro Vaši Halo soupeře, 858 00:46:40,960 --> 00:46:48,690 nebo pro ty, NPC v Skyrim, v podstatě spustit malé robotiky architektury. 859 00:46:48,690 --> 00:46:50,380 >> Vnímají svět. 860 00:46:50,380 --> 00:46:52,910 Vycházejí model na světě. 861 00:46:52,910 --> 00:46:57,950 Oni výpočetních založený na souboru cílů, které by chtěl dosáhnout. 862 00:46:57,950 --> 00:47:03,110 Plánují akce založené Na to, co vědí. 863 00:47:03,110 --> 00:47:07,940 A to jsou přesně ty samé druhy systémů, které budujeme v robotice. 864 00:47:07,940 --> 00:47:11,420 Takže tyto architektury, aby přinést to zpátky dohromady, 865 00:47:11,420 --> 00:47:14,500 jsou často zcela stejné. 866 00:47:14,500 --> 00:47:16,340 >> Tak uvidíme, jestli můžeme vidět, že. 867 00:47:16,340 --> 00:47:19,210 Pojďme se vrátit k naší Příkladem tic-tac-toe. 868 00:47:19,210 --> 00:47:22,690 A já jsem se zeptat pár mých post-docs přijít a pomozte mi. 869 00:47:22,690 --> 00:47:26,970 Takže Chen Ming, a Alessandro a Olivier, jestli vy by přijít. 870 00:47:26,970 --> 00:47:32,080 871 00:47:32,080 --> 00:47:35,440 A já budu potřebovat pár dobrovolníků 872 00:47:35,440 --> 00:47:37,590 >> OK, jsem viděl ruku právo tam uprostřed. 873 00:47:37,590 --> 00:47:39,965 Dovolte mi, abych ještě jednou, někdo dále v zadní možná. 874 00:47:39,965 --> 00:47:40,881 Dobře, támhle. 875 00:47:40,881 --> 00:47:41,490 Pojď nahoru. 876 00:47:41,490 --> 00:47:44,190 877 00:47:44,190 --> 00:47:45,335 Dobře. 878 00:47:45,335 --> 00:47:49,490 Takže pojďme přijmout, že kryt dolů. 879 00:47:49,490 --> 00:48:03,700 A pokud by se vy přijít hned zpátky tady pro mě fantastické. 880 00:48:03,700 --> 00:48:06,580 >> Takže tohle je robot s názvem Baxter. 881 00:48:06,580 --> 00:48:10,880 A Baxter je robot, který je obchodní platforma, navržený 882 00:48:10,880 --> 00:48:13,030 společnost s názvem Přehodnotit. 883 00:48:13,030 --> 00:48:16,580 A tento robot je určen drobného zpracovatelského průmyslu. 884 00:48:16,580 --> 00:48:19,265 Ale dnes budeme ji použít hrát tic-tac-toe. 885 00:48:19,265 --> 00:48:21,930 886 00:48:21,930 --> 00:48:27,150 Nyní, tento robot je také něco to je poměrně unikátní. 887 00:48:27,150 --> 00:48:32,950 Protože když jsem stála kdekoli V blízkosti je standardní průmyslové automatizace 888 00:48:32,950 --> 00:48:39,580 systém, byl bych v samém hrobě Nebezpečí poranění. 889 00:48:39,580 --> 00:48:45,600 >> Baxter, nicméně, je navržen tak, aby relativně bezpečné pro interakci s. 890 00:48:45,600 --> 00:48:48,680 A tak jsem se mohou tlačit na tomto robota. 891 00:48:48,680 --> 00:48:52,350 A můžete vidět, že je to trochu bit flexibilní, jak se pohybuje kolem. 892 00:48:52,350 --> 00:48:57,250 A mohu přemístit ji kde bych rád, aby to jít. 893 00:48:57,250 --> 00:49:03,410 Nyní v normální robotického systému, budeme mít řadu spojů zde 894 00:49:03,410 --> 00:49:07,970 který by byl přímo reakci na příkazy polohy. 895 00:49:07,970 --> 00:49:13,180 A oni by nutně jedno, pokud byly v pohybu po čerstvém vzduchu, 896 00:49:13,180 --> 00:49:15,555 nebo pokud byly v pohybu přes můj hrudního koše. 897 00:49:15,555 --> 00:49:18,410 898 00:49:18,410 --> 00:49:19,120 >> DOBŘE. 899 00:49:19,120 --> 00:49:22,090 A obvykle, pokud jste byli zde se průmyslových systémů, 900 00:49:22,090 --> 00:49:23,400 bys jít nikde blízko toho. 901 00:49:23,400 --> 00:49:26,280 Tam by byl žlutý Bezpečnostní pásky kolem něj. 902 00:49:26,280 --> 00:49:28,310 Tento systém má mírně odlišné konstrukce 903 00:49:28,310 --> 00:49:32,130 být přátelštější a jednodušší pro lidi, komunikovat s, 904 00:49:32,130 --> 00:49:36,380 v tom, že v každém kloubu, je tu jaro. 905 00:49:36,380 --> 00:49:39,110 A spíše než řízení přesná poloha, 906 00:49:39,110 --> 00:49:43,110 ovládáme určité množství točivý moment, určité množství síly, 907 00:49:43,110 --> 00:49:45,874 že bychom chtěli být na tomto jaře. 908 00:49:45,874 --> 00:49:47,790 Dobře, tak ať mě vzít naši dobrovolníci zde. 909 00:49:47,790 --> 00:49:48,540 Ahoj jak se jmenuješ? 910 00:49:48,540 --> 00:49:49,010 >> Diváků: Louis. 911 00:49:49,010 --> 00:49:49,635 >> SPEAKER: Louis. 912 00:49:49,635 --> 00:49:50,490 Rád tě vidím. 913 00:49:50,490 --> 00:49:50,990 A? 914 00:49:50,990 --> 00:49:51,610 >> Diváků: David. 915 00:49:51,610 --> 00:49:51,960 >> SPEAKER: David. 916 00:49:51,960 --> 00:49:52,550 Rád tě poznávám. 917 00:49:52,550 --> 00:49:54,508 Pokud by si kluci čekat tady na vteřinu, 918 00:49:54,508 --> 00:49:56,420 Budu vám možnost to udělat. 919 00:49:56,420 --> 00:50:00,610 Takže tento robot, pokud jste přišli a pokud se na ni lehce zatlačte, 920 00:50:00,610 --> 00:50:03,780 budete vidět, že pohybuje se trochu. 921 00:50:03,780 --> 00:50:06,349 A pokud si to urvat pravdu tady na zápěstí jen 922 00:50:06,349 --> 00:50:09,390 nad místem, kde se tyto tlačítka jsou, to vypadá, jako byste měli chytit tlačítek, 923 00:50:09,390 --> 00:50:13,100 ale chytit přímo nad ním místo toho, budete bylo možné velmi jemně manipulovat 924 00:50:13,100 --> 00:50:14,545 vesmírem. 925 00:50:14,545 --> 00:50:15,920 Louis, chcete zkusit to? 926 00:50:15,920 --> 00:50:19,465 Tak dej to jen trochu tlačit začít. 927 00:50:19,465 --> 00:50:23,190 A pak, když dáte prsty tady a držet na to, 928 00:50:23,190 --> 00:50:24,807 protože se bude pohybovat na vás, pak. 929 00:50:24,807 --> 00:50:27,824 930 00:50:27,824 --> 00:50:29,365 Dobře, chcete zkusit to? 931 00:50:29,365 --> 00:50:29,980 Pojď nahoru. 932 00:50:29,980 --> 00:50:32,300 Tak dej to jen jemný tlačit tam začít. 933 00:50:32,300 --> 00:50:33,820 Můžete cítit, jaké to je. 934 00:50:33,820 --> 00:50:40,060 A pak, pokud jste to chytit přímo tam, budete mít možnost manévrovat kolem. 935 00:50:40,060 --> 00:50:41,280 >> DOBŘE. 936 00:50:41,280 --> 00:50:47,360 Takže většinou, by tento druh robota použít pro výrobu v malém měřítku. 937 00:50:47,360 --> 00:50:50,980 A já se přesunout ruku jen dolů z cesty trochu zde. 938 00:50:50,980 --> 00:50:55,750 Ale dnes, budeme používat Stejný tic-tac-toe herní systém 939 00:50:55,750 --> 00:50:59,520 založené na minimax, že jsme postavili dříve. 940 00:50:59,520 --> 00:51:00,549 DOBŘE? 941 00:51:00,549 --> 00:51:02,340 Takže, vy jste každý bude hrát hru. 942 00:51:02,340 --> 00:51:04,210 Louis, budete jako první. 943 00:51:04,210 --> 00:51:05,920 Dovolte mi jen držet tady na chvilku. 944 00:51:05,920 --> 00:51:10,949 Budu mít stojíte pravdu tady, jen tak může každý vidět. 945 00:51:10,949 --> 00:51:11,990 Vy jste kluci nastavení tady? 946 00:51:11,990 --> 00:51:13,120 >> ROBOT: Vítejte. 947 00:51:13,120 --> 00:51:15,910 Pojďme si hrát tic-tac-toe. 948 00:51:15,910 --> 00:51:20,860 Nedržte token před Já říkám, že je to na tobě. 949 00:51:20,860 --> 00:51:22,050 I spustit hru. 950 00:51:22,050 --> 00:51:27,900 951 00:51:27,900 --> 00:51:28,750 Je řada na mě. 952 00:51:28,750 --> 00:51:47,002 953 00:51:47,002 --> 00:51:50,210 SPEAKER: Teď, když mohl mít jednu z vaše kousky a jděte do toho a umístěte ji. 954 00:51:50,210 --> 00:51:51,446 ROBOT: Je to na tobě. 955 00:51:51,446 --> 00:51:53,430 [SMÍCH] 956 00:51:53,430 --> 00:51:54,836 Je řada na mě. 957 00:51:54,836 --> 00:51:56,820 [SMÍCH] 958 00:51:56,820 --> 00:52:12,196 959 00:52:12,196 --> 00:52:15,680 [SMÍCH] 960 00:52:15,680 --> 00:52:16,570 Je to na tobě. 961 00:52:16,570 --> 00:52:21,397 962 00:52:21,397 --> 00:52:23,688 SPEAKER: Lidská rasa je Spoléhám na tebe, Louisi. 963 00:52:23,688 --> 00:52:27,440 964 00:52:27,440 --> 00:52:28,350 >> ROBOT: Je řada na mně. 965 00:52:28,350 --> 00:52:44,810 966 00:52:44,810 --> 00:52:47,015 >> SPEAKER: Takže Baxter zde úspěšně blokován. 967 00:52:47,015 --> 00:52:49,670 968 00:52:49,670 --> 00:52:52,480 >> ROBOT: Je to na tobě. 969 00:52:52,480 --> 00:52:53,360 Je řada na mě. 970 00:52:53,360 --> 00:53:14,730 971 00:53:14,730 --> 00:53:16,810 Je to na tobě. 972 00:53:16,810 --> 00:53:17,760 Je řada na mě. 973 00:53:17,760 --> 00:53:21,330 974 00:53:21,330 --> 00:53:23,830 SPEAKER: A necháme Baxter dokončit svůj poslední tah zde. 975 00:53:23,830 --> 00:53:36,622 976 00:53:36,622 --> 00:53:39,090 >> [SMÍCH] 977 00:53:39,090 --> 00:53:40,480 >> ROBOT: To je kravatu. 978 00:53:40,480 --> 00:53:42,030 Já vyhraje příště. 979 00:53:42,030 --> 00:53:43,365 >> [SMÍCH] 980 00:53:43,365 --> 00:53:45,210 >> SPEAKER: Dobře, Díky moc, Louis. 981 00:53:45,210 --> 00:53:46,094 Děkuji. 982 00:53:46,094 --> 00:53:46,980 Můžete jít touto cestou. 983 00:53:46,980 --> 00:53:49,759 >> ROBOT: I spusťte hru. 984 00:53:49,759 --> 00:53:51,800 SPEAKER: Takže dovolte mi vysvětlit pro vás ještě jeden malý 985 00:53:51,800 --> 00:53:55,410 bit než se dostaneme naši odvetu zde. 986 00:53:55,410 --> 00:53:57,200 Co přesně se děje? 987 00:53:57,200 --> 00:53:59,430 Takže robot má kamerový nahoře vrchol tady. 988 00:53:59,430 --> 00:54:01,330 A to je díval se na desce. 989 00:54:01,330 --> 00:54:04,470 A je to vidět, zda je to tu červenou O nebo modrá 990 00:54:04,470 --> 00:54:10,450 a bílá X. Stejně jako ty, které si umístí na tabule, to je v podstatě stejný vstup 991 00:54:10,450 --> 00:54:13,890 že budeme číst od naše struktura dat z naší obrazovky. 992 00:54:13,890 --> 00:54:17,290 Je to běh stejné minimax algoritmus, který bude 993 00:54:17,290 --> 00:54:21,010 schopni zjistit, kde se umístěte dobrou token. 994 00:54:21,010 --> 00:54:24,820 >> A pak dáváme povel o kde bychom chtěli token má být umístěna. 995 00:54:24,820 --> 00:54:26,120 Rameno se pohybuje ven. 996 00:54:26,120 --> 00:54:31,750 Je to pomocí vakuové chapadla aplikovat některé sací uvedeného dřevěného kusu, 997 00:54:31,750 --> 00:54:35,240 si to vyzvednout, přesuňte jej doprava místo, a pak uvolněte sání 998 00:54:35,240 --> 00:54:36,950 a umístěte jej. 999 00:54:36,950 --> 00:54:38,990 Dobře, jdeme dát mu ještě jednu ránu 1000 00:54:38,990 --> 00:54:40,930 s mírně chytřejší přehrávače zde. 1001 00:54:40,930 --> 00:54:42,290 Jste připraveni? 1002 00:54:42,290 --> 00:54:46,150 Dobrá, pokud byste postavit až tady a dát je-- dopadlo takhle 1003 00:54:46,150 --> 00:54:47,955 takže můžete vidět všechny. 1004 00:54:47,955 --> 00:54:48,830 A pak [neslyšitelných]. 1005 00:54:48,830 --> 00:54:49,330 >> ROBOT: Je řada na mně. 1006 00:54:49,330 --> 00:54:50,455 >> SPEAKER: Baxter se spustí. 1007 00:54:50,455 --> 00:55:10,750 1008 00:55:10,750 --> 00:55:11,730 Je to na tobě. 1009 00:55:11,730 --> 00:55:16,490 1010 00:55:16,490 --> 00:55:17,520 Je řada na mě. 1011 00:55:17,520 --> 00:55:38,740 1012 00:55:38,740 --> 00:55:39,690 Je to na tobě. 1013 00:55:39,690 --> 00:55:46,330 1014 00:55:46,330 --> 00:55:47,165 Je řada na mě. 1015 00:55:47,165 --> 00:56:01,252 1016 00:56:01,252 --> 00:56:06,192 >> [SMÍCH] 1017 00:56:06,192 --> 00:56:08,542 >> SPEAKER: [šeptá] Just ho nechat jít dopředu a vyhrát. 1018 00:56:08,542 --> 00:56:09,500 ROBOT: Je to na tobě. 1019 00:56:09,500 --> 00:56:15,099 1020 00:56:15,099 --> 00:56:15,890 SPEAKER: To je v pořádku. 1021 00:56:15,890 --> 00:56:20,390 1022 00:56:20,390 --> 00:56:21,360 >> ROBOT: Je řada na mně. 1023 00:56:21,360 --> 00:56:24,825 1024 00:56:24,825 --> 00:56:26,805 >> [SMÍCH] 1025 00:56:26,805 --> 00:56:42,650 1026 00:56:42,650 --> 00:56:43,510 >> Vyhrál jsem. 1027 00:56:43,510 --> 00:56:45,620 >> [SMÍCH] 1028 00:56:45,620 --> 00:56:46,595 >> I spustit hru. 1029 00:56:46,595 --> 00:56:48,261 >> SPEAKER: Dobře, děkuji moc. 1030 00:56:48,261 --> 00:56:50,180 1031 00:56:50,180 --> 00:56:55,590 Dobře, myslím, že máme čas na ještě jeden vynikající tic-tac-toe player, 1032 00:56:55,590 --> 00:57:00,490 někdo, kdo může dát tuto věc zápas, kdo ví, co dělají. 1033 00:57:00,490 --> 00:57:03,010 >> [SMÍCH] 1034 00:57:03,010 --> 00:57:05,560 >> Kdo to bude naším mistrem tady? 1035 00:57:05,560 --> 00:57:08,110 Dobře, vaši přátelé vás přihlásil. 1036 00:57:08,110 --> 00:57:11,190 To je dost dobré pro mě. 1037 00:57:11,190 --> 00:57:12,194 Řekni mi znovu své jméno. 1038 00:57:12,194 --> 00:57:12,860 Diváků: Tamir. 1039 00:57:12,860 --> 00:57:14,193 SPEAKER: Tamir, rád vás vidím. 1040 00:57:14,193 --> 00:57:19,270 Tak jo, zase budeme, aby vám a to až tady, takže každý může vidět. 1041 00:57:19,270 --> 00:57:22,070 Jste náš zástupce V tomto utkání nyní. 1042 00:57:22,070 --> 00:57:24,540 Baxter je jeden a oh oh a. 1043 00:57:24,540 --> 00:57:26,300 Nebo Omlouvám se, jeden oh a jeden. 1044 00:57:26,300 --> 00:57:27,490 A to je jen na vás tady. 1045 00:57:27,490 --> 00:57:29,340 Baxter dostane pohybovat jako první, ačkoli. 1046 00:57:29,340 --> 00:57:30,435 Tak. 1047 00:57:30,435 --> 00:57:31,310 ROBOT: Je řada na mně. 1048 00:57:31,310 --> 00:57:45,226 1049 00:57:45,226 --> 00:57:48,208 >> [SMÍCH] 1050 00:57:48,208 --> 00:57:52,720 1051 00:57:52,720 --> 00:57:55,780 >> Je to na tobě. 1052 00:57:55,780 --> 00:57:56,845 Je řada na mě. 1053 00:57:56,845 --> 00:58:18,130 1054 00:58:18,130 --> 00:58:18,965 Je to na tobě. 1055 00:58:18,965 --> 00:58:28,751 1056 00:58:28,751 --> 00:58:30,248 Je řada na mě. 1057 00:58:30,248 --> 00:58:51,210 1058 00:58:51,210 --> 00:58:52,160 Je to na tobě. 1059 00:58:52,160 --> 00:59:00,854 1060 00:59:00,854 --> 00:59:03,365 >> [SMÍCH] 1061 00:59:03,365 --> 00:59:04,240 ROBOT: Je řada na mně. 1062 00:59:04,240 --> 00:59:06,930 SPEAKER: Je to mnohem těžší, když stojíte tady, lidi. 1063 00:59:06,930 --> 00:59:19,400 1064 00:59:19,400 --> 00:59:21,840 [SMÍCH] 1065 00:59:21,840 --> 00:59:26,730 1066 00:59:26,730 --> 00:59:29,054 ROBOT: Vy lidé jste tak snadné porazit. 1067 00:59:29,054 --> 00:59:30,803 [Smích a APPLAUSE] 1068 00:59:30,803 --> 00:59:31,886 SPEAKER: Díky moc. 1069 00:59:31,886 --> 00:59:34,692 ROBOT: I vyhrát. 1070 00:59:34,692 --> 00:59:35,400 I spustit hru. 1071 00:59:35,400 --> 00:59:39,500 >> Přednášející: Dobře, takže díky velmi hodně Olivier, a Alessandro, 1072 00:59:39,500 --> 00:59:41,616 a Chen Ming. 1073 00:59:41,616 --> 00:59:45,600 >> [POTLESK] 1074 00:59:45,600 --> 00:59:47,040 >> Chci, aby jeden poslední bod. 1075 00:59:47,040 --> 00:59:51,630 Takže Baxter u velmi nekončí, podváděl. 1076 00:59:51,630 --> 00:59:54,160 1077 00:59:54,160 --> 00:59:56,310 A to bylo nečekané. 1078 00:59:56,310 --> 01:00:00,440 Jeden z fantastický věci, o AI je, že jsme 1079 01:00:00,440 --> 01:00:05,070 dělat práci v AI tak, abychom mohli budovat opravdu zajímavé a inteligentní 1080 01:00:05,070 --> 01:00:06,930 zařízení. 1081 01:00:06,930 --> 01:00:10,130 Ale i my dělat práci v AI protože nám to říká něco 1082 01:00:10,130 --> 01:00:13,940 o tom, jak lidé jsou inteligentní. 1083 01:00:13,940 --> 01:00:17,280 >> Jeden z nejoblíbenějších studie z mé laboratoři je 1084 01:00:17,280 --> 01:00:23,660 při pohledu na to, co se stane, když stroje nečekaně podvádět. 1085 01:00:23,660 --> 01:00:27,070 Udělali jsme to původně ne s Baxter hrát tic-tac-toe, 1086 01:00:27,070 --> 01:00:30,340 ale s menším robot jménem Nao, kdo hrál Kámen, nůžky, papír. 1087 01:00:30,340 --> 01:00:33,010 1088 01:00:33,010 --> 01:00:35,800 A někdy po hrát hodně a hodně 1089 01:00:35,800 --> 01:00:41,580 nudné Kámen, nůžky, papír hry, robot bude hodit gesto, 1090 01:00:41,580 --> 01:00:48,616 ztratit, a pak náhle změnit jeho gesto a říct, že jsem vyhrál. 1091 01:00:48,616 --> 01:00:50,480 >> [SMÍCH] 1092 01:00:50,480 --> 01:00:56,090 >> Teď, někdy bychom také robota, stejně jako kontrola, hodit gesto, 1093 01:00:56,090 --> 01:01:01,270 vyhrát, a změnit jeho gesto ztratit, házet zápas, 1094 01:01:01,270 --> 01:01:04,070 podvádět, aby se ztratit. 1095 01:01:04,070 --> 01:01:07,540 A to není zdaleka tak přesvědčivý. 1096 01:01:07,540 --> 01:01:09,890 Robot, který podvádí s cílem vyhrát lidí 1097 01:01:09,890 --> 01:01:14,660 reagovat, jako kdyby to je , aby je dostat, to líbí 1098 01:01:14,660 --> 01:01:17,690 aktivně hledá jejich zničení. 1099 01:01:17,690 --> 01:01:19,210 >> [SMÍCH] 1100 01:01:19,210 --> 01:01:20,990 >> To se stává agent. 1101 01:01:20,990 --> 01:01:21,840 Je to jako člověk. 1102 01:01:21,840 --> 01:01:23,970 To má víru a záměr. 1103 01:01:23,970 --> 01:01:27,470 A není to dobrý úmysl. 1104 01:01:27,470 --> 01:01:33,790 A robot, který hodí Hra je prostě nefunguje. 1105 01:01:33,790 --> 01:01:36,990 Je to jen rozbité zařízení. 1106 01:01:36,990 --> 01:01:41,405 Ukážu vám několik příkladů z toho z několika našich účastníků. 1107 01:01:41,405 --> 01:01:43,990 1108 01:01:43,990 --> 01:01:45,600 Tak tady je podvádění, aby se ztratit. 1109 01:01:45,600 --> 01:01:46,266 >> [VIDEOPŘEHRÁVÁNÍ] 1110 01:01:46,266 --> 01:01:47,010 - [Neslyšitelný] vyhrát. 1111 01:01:47,010 --> 01:01:49,550 Pojďme hrát. 1112 01:01:49,550 --> 01:01:50,538 >> -Počkej co? 1113 01:01:50,538 --> 01:01:54,490 1114 01:01:54,490 --> 01:01:55,352 >> - [Neslyšitelný] vyhrát. 1115 01:01:55,352 --> 01:01:58,280 Pojďme hrát. 1116 01:01:58,280 --> 01:01:59,400 >> [Neslyšitelný] vyhrát. 1117 01:01:59,400 --> 01:02:02,290 Pojďme hrát. 1118 01:02:02,290 --> 01:02:05,490 >> SPEAKER: A tady je podvádění vyhrát. 1119 01:02:05,490 --> 01:02:06,438 >> Ano, jsem vyhrát. 1120 01:02:06,438 --> 01:02:07,394 Pojďme hrát. 1121 01:02:07,394 --> 01:02:08,828 >> -Nemůžeš Udělat. 1122 01:02:08,828 --> 01:02:10,740 >> [SMÍCH] 1123 01:02:10,740 --> 01:02:12,174 1124 01:02:12,174 --> 01:02:13,979 >> Ano, jsem vyhrát. 1125 01:02:13,979 --> 01:02:14,520 -Ty Podváděl. 1126 01:02:14,520 --> 01:02:17,990 1127 01:02:17,990 --> 01:02:20,010 Nyní podváděl. 1128 01:02:20,010 --> 01:02:21,140 >> Ano, jsem vyhrát. 1129 01:02:21,140 --> 01:02:22,940 >> Hej, ty podvodnice. 1130 01:02:22,940 --> 01:02:26,670 Můžete podvádět, super podvádět. 1131 01:02:26,670 --> 01:02:27,650 >> [END Přehrávání] 1132 01:02:27,650 --> 01:02:31,130 >> SPEAKER: Tyto rozdílné Reakce rychle 1133 01:02:31,130 --> 01:02:34,890 změnit naše vnímání zařízení. 1134 01:02:34,890 --> 01:02:36,780 Znamená to, že jsme záměrně budovat 1135 01:02:36,780 --> 01:02:40,370 stroje, které podvádějí, protože to je nejlepší inženýrství, které můžeme dělat? 1136 01:02:40,370 --> 01:02:44,680 Ne, ale to nám říká něco opravdu zajímavé o lidech. 1137 01:02:44,680 --> 01:02:49,710 Ta věc, která vás a podvádí krade vaše vítězství, to je 1138 01:02:49,710 --> 01:02:53,660 něco, co je naživu, to je animovat, že je ven dostat vás. 1139 01:02:53,660 --> 01:02:54,680 To má duševní stav. 1140 01:02:54,680 --> 01:02:55,400 To má víru. 1141 01:02:55,400 --> 01:02:57,170 To má v úmyslu. 1142 01:02:57,170 --> 01:03:01,540 >> To, co rukama Hra vám, že to není. 1143 01:03:01,540 --> 01:03:04,670 To je prostě nefunguje. 1144 01:03:04,670 --> 01:03:08,900 To je v mnoha ohledech, proč je to snadné hodit hru s dětmi. 1145 01:03:08,900 --> 01:03:12,050 Ale pokud se pokusíte podvádět a druh tvrdí vítězství 1146 01:03:12,050 --> 01:03:15,200 když, víte, jen aby zkrátit hra, oni tě chytí hned. 1147 01:03:15,200 --> 01:03:19,040 1148 01:03:19,040 --> 01:03:23,140 Tyto typy účinků, které vidíme přichází z AI, 1149 01:03:23,140 --> 01:03:26,490 Učí nás hodně o sobě. 1150 01:03:26,490 --> 01:03:28,076 >> Dobře, to je pro dnešek vše. 1151 01:03:28,076 --> 01:03:30,450 Díky moc Davidovi a produkční tým Harvard 1152 01:03:30,450 --> 01:03:32,350 přišla dolů. 1153 01:03:32,350 --> 01:03:33,820 >> [POTLESK] 1154 01:03:33,820 --> 01:03:36,760 1155 01:03:36,760 --> 01:03:41,840 >> Uvidíme se za jeden kvíz, a pak na poslední přednášce. 1156 01:03:41,840 --> 01:03:43,025 Mají velký den. 1157 01:03:43,025 --> 01:03:44,965 >> [POTLESK] 1158 01:03:44,965 --> 01:03:48,360 1159 01:03:48,360 --> 01:03:51,825 >> [Přehrávání hudby] 1160 01:03:51,825 --> 01:03:54,950 DAVID J Malan: No, my pravděpodobně potřebovat zavést nějaký druh šifrování, 1161 01:03:54,950 --> 01:03:55,450 právo? 1162 01:03:55,450 --> 01:03:58,650 Protože pak hlaviček Tyto požadavky HTTP budou 1163 01:03:58,650 --> 01:04:01,530 míchaná tak, že někdo se snaží čichat váš provoz 1164 01:04:01,530 --> 01:04:03,400 nebude ve skutečnosti je moci vidět. 1165 01:04:03,400 --> 01:04:05,254 Takže jaké je řešení tohoto problému? 1166 01:04:05,254 --> 01:04:07,920 No, musíme skutečně zavést šifrování do vzorce, 1167 01:04:07,920 --> 01:04:11,010 tak, že když tato osoba je přenášení dat z A do B, 1168 01:04:11,010 --> 01:04:12,390 můžeme bezpečně send-- 1169 01:04:12,390 --> 01:04:14,590 >> [SMÍCH] 1170 01:04:14,590 --> 01:04:19,530 >> Informace v tak, že protivník nemůže ve skutečnosti vidět.