1 00:00:00,000 --> 00:00:01,924 >> [Muusika mängib] 2 00:00:01,924 --> 00:00:10,600 3 00:00:10,600 --> 00:00:13,280 >> SPEAKER: Tere tulemast tagasi, kõigile. 4 00:00:13,280 --> 00:00:15,440 See on CS50. 5 00:00:15,440 --> 00:00:21,040 Ja täna on meil palju huvitavaid asju rääkida. 6 00:00:21,040 --> 00:00:25,500 Esiteks, kuigi mul meelde sa mõne haldus asju. 7 00:00:25,500 --> 00:00:30,160 Sel nädalal on viktoriin üks kolmapäev või Yale'i osa 8 00:00:30,160 --> 00:00:32,940 teisipäeviti ja neljapäeviti, neljapäeval. 9 00:00:32,940 --> 00:00:38,170 On viktoriin kommentaare täna Yale'i, 5:30-07:00. 10 00:00:38,170 --> 00:00:40,030 Harvardi lindistasid nad ühe eile. 11 00:00:40,030 --> 00:00:43,000 Ja igaüks võib vaadata, et online. 12 00:00:43,000 --> 00:00:49,406 >> Ka sel nädalal või järgmise nädala alguses, meil on viimase CS50 loeng. 13 00:00:49,406 --> 00:00:51,450 [Oigeid] Ma tean. 14 00:00:51,450 --> 00:00:54,140 See tuli nii kiiresti. 15 00:00:54,140 --> 00:00:57,820 Yale õpilased on live loengu siin Law School 16 00:00:57,820 --> 00:00:59,920 auditoorium reedel. 17 00:00:59,920 --> 00:01:01,140 Seal saab kooki. 18 00:01:01,140 --> 00:01:05,570 Harvardi õpilastel viimane loeng Sanders esmaspäeval. 19 00:01:05,570 --> 00:01:08,050 Toimub ka kooki. 20 00:01:08,050 --> 00:01:14,000 >> Ka sel nädalal reedel, neile teist, kes tulevad New Haven, 21 00:01:14,000 --> 00:01:15,740 meil on CS50 Expo. 22 00:01:15,740 --> 00:01:18,850 Meil on üle 30 erinevate gruppide registreeritud 23 00:01:18,850 --> 00:01:22,530 näidata teile kõike ühepoolsete purjekad, 24 00:01:22,530 --> 00:01:27,170 süsteemide puhul tunda digitaalse portreed, et arvuti 25 00:01:27,170 --> 00:01:32,100 muusika ja arvuti toodetud muusika. 26 00:01:32,100 --> 00:01:33,610 Nii et palun meiega ühineda. 27 00:01:33,610 --> 00:01:36,460 Ma arvan, et see saab olema hea aeg. 28 00:01:36,460 --> 00:01:40,320 >> Täna aga saame jätkata räägime AI, 29 00:01:40,320 --> 00:01:43,150 umbes tehisintellekti. 30 00:01:43,150 --> 00:01:46,070 Ja üks asi, mis me ei kavatse saada täna 31 00:01:46,070 --> 00:01:51,750 on idee, kuidas kasuta AI probleeme lahendada. 32 00:01:51,750 --> 00:01:54,690 Nüüd, nagu alati, alustame midagi lihtsat. 33 00:01:54,690 --> 00:01:57,120 Ja me ei kavatse hakata lihtsa idee. 34 00:01:57,120 --> 00:01:59,920 Ja ongi kasutades otsingut. 35 00:01:59,920 --> 00:02:06,990 >> Seega kujutada ühe minuti, et ma on ülesanne, mida ma vaja teha. 36 00:02:06,990 --> 00:02:11,970 Ja ma tahaks olla see ülesanne automatiseeritud mõned tarkvara agent. 37 00:02:11,970 --> 00:02:17,100 Kujutage ette, et ma üritan broneerida komplekt väljuvate lendude oletame, Boston 38 00:02:17,100 --> 00:02:20,040 San Francisco. 39 00:02:20,040 --> 00:02:24,230 Ma võiks minna läbi ja ma kasutan üks imeline online search 40 00:02:24,230 --> 00:02:28,790 tööriistad, mida kavatsete teha põhimõtteliselt sama protsess, mis me oleme 41 00:02:28,790 --> 00:02:30,030 läheb jalutada täna. 42 00:02:30,030 --> 00:02:34,100 Aga kui sa ei ole, et näitaja, mida sa teeksid? 43 00:02:34,100 --> 00:02:37,570 >> Noh, sa võiksid otsida ja näha ja öelda, et ma olen Boston. 44 00:02:37,570 --> 00:02:41,520 Mis lennud on minule? 45 00:02:41,520 --> 00:02:44,390 Nüüd äkki mul on kolm võimalik lende välja Boston 46 00:02:44,390 --> 00:02:47,180 mis sobib aeg kui ma pean lahkuma. 47 00:02:47,180 --> 00:02:48,830 Ma lendan Chicagosse. 48 00:02:48,830 --> 00:02:50,130 Või ma lendan Miamisse. 49 00:02:50,130 --> 00:02:53,340 Või ma võiks lennata New Yorki. 50 00:02:53,340 --> 00:02:56,980 Ma võiks siis otsida igast üks neist kohtades linnad 51 00:02:56,980 --> 00:03:00,650 ja mõtle, mida asukohad Ma võiks jõuda 52 00:03:00,650 --> 00:03:03,020 iga nende üksikute linnad. 53 00:03:03,020 --> 00:03:07,390 >> Ehk Chicagost, et ma saan otselend San Francisco. 54 00:03:07,390 --> 00:03:09,550 See on väga hea. 55 00:03:09,550 --> 00:03:12,360 Või ma saaks lendu Denver. 56 00:03:12,360 --> 00:03:16,970 Nüüd äkki, et lend San Francisco on ideaalne lahendus minu jaoks, 57 00:03:16,970 --> 00:03:19,530 aga võib-olla mitte. 58 00:03:19,530 --> 00:03:22,180 Võib-olla ma otsin midagi see on natuke odavam 59 00:03:22,180 --> 00:03:24,920 või natuke parem kavva. 60 00:03:24,920 --> 00:03:29,197 Ja nii ma võiks vaadata, mida teised võimaluste olla seal. 61 00:03:29,197 --> 00:03:30,280 Nii et ma võiks vaadata Denver. 62 00:03:30,280 --> 00:03:33,870 Ja Denver, noh, võibolla Ma saan lennu Austin. 63 00:03:33,870 --> 00:03:37,080 Ja Austin, äkki ma saan lend Phoenix ja Phoenix 64 00:03:37,080 --> 00:03:40,190 San Francisco. 65 00:03:40,190 --> 00:03:42,730 Nüüd ma pole seda veel teinud. 66 00:03:42,730 --> 00:03:45,640 Sest äkki seal on otselend New York 67 00:03:45,640 --> 00:03:47,850 San Francisco, mis on täiuslik minu jaoks. 68 00:03:47,850 --> 00:03:53,354 Või äkki seal on lennu lähtekohast Miami läbi Denver, et on palju odavam. 69 00:03:53,354 --> 00:03:54,270 Nii et ma ikka pean minema. 70 00:03:54,270 --> 00:03:58,200 Ja mul on veel vaadata kõiki neid linnades, et ma ei ole veel uuritud. 71 00:03:58,200 --> 00:04:04,220 Mul on ammendavalt kontrollida kõiki võimalusi, et ma oleks võinud. 72 00:04:04,220 --> 00:04:09,610 >> Nii et New York, äkki ma saan lend Nashville, ja Nashville'i 73 00:04:09,610 --> 00:04:10,336 Austin. 74 00:04:10,336 --> 00:04:11,460 Ja siis ma tean, kus ma olen. 75 00:04:11,460 --> 00:04:14,252 Ja siis ma tean Austin, suudan lennata Phoenix ja Phoenix 76 00:04:14,252 --> 00:04:14,960 San Francisco. 77 00:04:14,960 --> 00:04:18,240 78 00:04:18,240 --> 00:04:22,830 Kui ma lendan esimesena Miami, kuigi äkki ma saan lennu lähtekohast Miami 79 00:04:22,830 --> 00:04:25,080 Nashville, või Miamist Austin. 80 00:04:25,080 --> 00:04:27,950 81 00:04:27,950 --> 00:04:30,860 >> Ja nüüd ma olen proovinud kõiki võimalustest. 82 00:04:30,860 --> 00:04:36,310 Olen loonud see graafik, mis näitab mulle kõik võimalikest viisidest 83 00:04:36,310 --> 00:04:37,790 et ma võiks olla võimalik võtta. 84 00:04:37,790 --> 00:04:40,510 85 00:04:40,510 --> 00:04:43,640 Kui me esindame neid erinevaid probleeme, 86 00:04:43,640 --> 00:04:47,870 me ei hakka esindama nad selgesõnaliselt seda graafikut, 87 00:04:47,870 --> 00:04:51,590 sest see graafik ei esinda ajalugu, kus me oleme kadunud. 88 00:04:51,590 --> 00:04:55,260 Teades, et ma lendas Phoenix San Francisco 89 00:04:55,260 --> 00:05:01,690 ei ütle mulle, kas ma tulin kaudu Nashville kaudu või Denver või kaudu Miami. 90 00:05:01,690 --> 00:05:06,430 >> Mida ma teen selle asemel on Ma võtan seda sama probleem, 91 00:05:06,430 --> 00:05:09,140 ja ma esindada puuna. 92 00:05:09,140 --> 00:05:14,300 Ja just puu juures top, panen paika, et hakkasin, 93 00:05:14,300 --> 00:05:16,590 Boston. 94 00:05:16,590 --> 00:05:19,310 Ja Boston, ma vaadata kõiki võimalikke asukohti 95 00:05:19,310 --> 00:05:20,380 et võin sõita. 96 00:05:20,380 --> 00:05:25,480 Noh, antud juhul oli mul kolm, Chicago, New York ja Miami. 97 00:05:25,480 --> 00:05:29,850 Ja siis ma uurida iga Nende lapsed puu. 98 00:05:29,850 --> 00:05:32,690 >> From Chicago, ma nägin et mul oli kaks lendu. 99 00:05:32,690 --> 00:05:35,940 Ma lendan otse San Francisco või Denver. 100 00:05:35,940 --> 00:05:37,740 Nüüd San Francisco, mis on minu eesmärk. 101 00:05:37,740 --> 00:05:39,790 See on minu sihtkohta. 102 00:05:39,790 --> 00:05:42,220 See saab olema lehed seda puud. 103 00:05:42,220 --> 00:05:45,340 See tähendab, et ma ei lähe kuskil pärast San Francisco. 104 00:05:45,340 --> 00:05:47,850 105 00:05:47,850 --> 00:05:50,340 Denver, kuigi Võin lennata Denver 106 00:05:50,340 --> 00:05:54,220 Austin, Austin sihtkohta Phoenix, ja Phoenix sihtkohta San Francisco. 107 00:05:54,220 --> 00:05:56,050 Ja nüüd jälle olen jõudnud lehed. 108 00:05:56,050 --> 00:05:59,470 109 00:05:59,470 --> 00:06:03,980 >> Ma võiks siis tagasi minna järgmisele linna, et ma ei ole täielikult uuritud. 110 00:06:03,980 --> 00:06:07,440 See oleks New York, minna tagasi üles peale minu puu, 111 00:06:07,440 --> 00:06:09,160 langenud New York. 112 00:06:09,160 --> 00:06:12,700 From New York, võin lennata Nashville, Nashville Austin, 113 00:06:12,700 --> 00:06:17,290 Austin Phoenix ja lähtekohast Phoenix sihtkohta San Francisco. 114 00:06:17,290 --> 00:06:20,170 Ja lõpuks üks linna I ei ole vaadanud veel, Miami. 115 00:06:20,170 --> 00:06:24,600 >> Noh, Miami Ma ütlesin, oli kaks võimalused, Nashville või Austin. 116 00:06:24,600 --> 00:06:28,810 Kui ma lennata Nashville, ka siis ma lendan Nashville, Austin, Phoenix, 117 00:06:28,810 --> 00:06:29,640 San Francisco. 118 00:06:29,640 --> 00:06:33,600 Kui ma lennata Austin, ma lendan Austin, Phoenix, et San Francisco. 119 00:06:33,600 --> 00:06:36,340 Ja nüüd on mul puu. 120 00:06:36,340 --> 00:06:37,230 See on täielik puu. 121 00:06:37,230 --> 00:06:41,890 See kõik võimalustest ja kõik teed, et ma võiks võtta. 122 00:06:41,890 --> 00:06:44,310 See tähendab, et kui ma hakkan juures just puu tipus 123 00:06:44,310 --> 00:06:47,860 ja ma minna ühe jätab ta ütleb mulle, mitte ainult 124 00:06:47,860 --> 00:06:50,480 kus ma lähen lõpuks, San Francisco, 125 00:06:50,480 --> 00:06:53,670 aga ta ütleb mulle marsruuti Mul on vaja võtta, et sinna jõuda. 126 00:06:53,670 --> 00:06:56,400 127 00:06:56,400 --> 00:06:59,690 >> Nüüd, kui üks neist on parim? 128 00:06:59,690 --> 00:07:02,430 Noh, midagi selle Probleem veel ütleb mulle 129 00:07:02,430 --> 00:07:04,710 millised neist on parim lahendus. 130 00:07:04,710 --> 00:07:09,270 Võib-olla ma hoolin kõige rohkem kui palju aega ma olen õhus, 131 00:07:09,270 --> 00:07:12,350 või kaugus, et ma lendan. 132 00:07:12,350 --> 00:07:16,410 Sellisel juhul Chicago San Francisco võiks olla lühim number 133 00:07:16,410 --> 00:07:18,910 miili kaugusel õhus. 134 00:07:18,910 --> 00:07:20,860 >> Võib-olla ma hoolin kulu. 135 00:07:20,860 --> 00:07:23,680 Ja me kõik teame, otselende on tavaliselt kallimad. 136 00:07:23,680 --> 00:07:26,610 Ehk siis, kui ma seda Selline tahapoole marsruut 137 00:07:26,610 --> 00:07:30,650 läbi Miami, Nashville, Austin, Phoenix, äkki siis 138 00:07:30,650 --> 00:07:34,070 Ma saan madalama hinna. 139 00:07:34,070 --> 00:07:36,440 Aga ma võiks optimeerida iga kriteeriumid, et ma hoolin. 140 00:07:36,440 --> 00:07:39,790 Kellel on parim lennu Wi-Fi, või mis 141 00:07:39,790 --> 00:07:43,110 lennujaamu on parim toit olemas. 142 00:07:43,110 --> 00:07:47,280 Ja kõik need võiksid mulle teistsugust lahendust 143 00:07:47,280 --> 00:07:49,215 et ma näen on parim. 144 00:07:49,215 --> 00:07:51,990 145 00:07:51,990 --> 00:07:54,400 >> Sellised probleemid, kuhu me läheme 146 00:07:54,400 --> 00:07:58,480 ehitada välja see puu võimalusi ja seejärel 147 00:07:58,480 --> 00:08:02,100 vaadata kõiki neid üksikute teed, ja uurida 148 00:08:02,100 --> 00:08:05,270 mis nende täida kriteerium meie jaoks, 149 00:08:05,270 --> 00:08:08,790 me ei kavatse helistada Neil otsing probleeme. 150 00:08:08,790 --> 00:08:11,280 Ja meil on palju algoritme, millest mõned 151 00:08:11,280 --> 00:08:15,270 oleme näinud juba, et minna ja uurida neid puid. 152 00:08:15,270 --> 00:08:19,270 Me võiksime seda teha nii, et ma just tegin, sügavus esimese otsida, 153 00:08:19,270 --> 00:08:22,900 läheb alla nii palju kui saame, kuni me tabas lehed, ja siis tulevad tagasi üles 154 00:08:22,900 --> 00:08:24,787 ja läheb kohe tagasi alla. 155 00:08:24,787 --> 00:08:26,870 Või me võiksime seda, mida on nimetatakse laius-first search. 156 00:08:26,870 --> 00:08:29,675 Me saame suurendada kõike ülaosas ja seejärel 157 00:08:29,675 --> 00:08:31,550 kõik ühes reas alt, et seejärel 158 00:08:31,550 --> 00:08:35,240 kõik ühe rea all seda. 159 00:08:35,240 --> 00:08:41,250 Need otsingut puud on oluline AI. 160 00:08:41,250 --> 00:08:46,570 Aga nad ei ole päris saada see õigus kogu aeg. 161 00:08:46,570 --> 00:08:51,600 Tegelikult palju juhtudest et me tõesti hoolivad, 162 00:08:51,600 --> 00:08:54,430 me tahame ehitada puu, aga me tegelikult ei 163 00:08:54,430 --> 00:08:57,140 saada teha kõik otsused. 164 00:08:57,140 --> 00:09:00,940 >> Need on olukorrad nimetatakse võistleva otsing, tuntud ka 165 00:09:00,940 --> 00:09:05,390 nagu kuidas kirjutada mängu mängima süsteemide ja saada selle eest makstakse. 166 00:09:05,390 --> 00:09:07,940 Aga need on erinevaid süsteemide kus ma 167 00:09:07,940 --> 00:09:12,920 võiks saada valida, millal ma võiksin minna Boston, mis linna ma minna järgmisele. 168 00:09:12,920 --> 00:09:19,990 Aga pärast seda, keegi võiks saada teha otsus selle kohta, kus ma lennata. 169 00:09:19,990 --> 00:09:24,040 Nii et ehitada neist tüüpi struktuure, et me oleme 170 00:09:24,040 --> 00:09:28,510 lähed on võtta veidi erinevat lähenemisviisi. 171 00:09:28,510 --> 00:09:31,060 Me ei kavatse olla võimeline lihtsalt otsida puu 172 00:09:31,060 --> 00:09:35,000 enam, sest me ei ole üks, mis on kontrolli all 173 00:09:35,000 --> 00:09:38,180 iga nimetatud otsuse punkti. 174 00:09:38,180 --> 00:09:42,590 >> Nii saab kujutada lihtne mängu nagu tic-tac-toe. 175 00:09:42,590 --> 00:09:46,730 Ma võiks alustada täiesti tühi pardal. 176 00:09:46,730 --> 00:09:49,580 Ja tic-tac-toe, X saab mängida esimest. 177 00:09:49,580 --> 00:09:53,890 Ja nii ma ei mõtle kõiki võimalikke käike, et X saaks teha. 178 00:09:53,890 --> 00:09:57,420 Ja kui ma olen üks mängimine X, mis on suurepärane. 179 00:09:57,420 --> 00:10:01,020 Mul on üheksa võimalik liigub, et võin teha. 180 00:10:01,020 --> 00:10:05,000 Ma võiks panna X mõni nende üheksa seisukohti. 181 00:10:05,000 --> 00:10:10,710 >> Ja siis on kõik need, ma võiks ette kujutada, mis juhtub järgmisena. 182 00:10:10,710 --> 00:10:14,130 Well, käesoleval juhul, teine Mängija ei saa teha pööre. 183 00:10:14,130 --> 00:10:15,660 O saaksin võtta omakorda. 184 00:10:15,660 --> 00:10:19,510 Ja igast sellisest, seal oleks kaheksa erinevates kohtades 185 00:10:19,510 --> 00:10:22,980 et O tõttu oma marker. 186 00:10:22,980 --> 00:10:25,790 >> Oletame, et ma otsustasin, et ma olin läheb panna X keskel. 187 00:10:25,790 --> 00:10:28,810 See alati tundub hea avamine liikuda. 188 00:10:28,810 --> 00:10:34,870 Ma ei suutnud vaadata all, mis on Kaheksa võimalikke käike, et O teeb. 189 00:10:34,870 --> 00:10:37,320 Nüüd, kui ma mängin X, mis on imeline. 190 00:10:37,320 --> 00:10:41,740 Ma saan valida kuhu ma minna, üks keskel. 191 00:10:41,740 --> 00:10:45,000 Aga nüüd O saab valida. 192 00:10:45,000 --> 00:10:48,750 Ja ma ei ole kontrolli üle, et otsuse. 193 00:10:48,750 --> 00:10:51,670 >> Aga kõik need võimalik juhatuse seisukohti, 194 00:10:51,670 --> 00:10:54,020 seal on siis teine määrata võimalusi. 195 00:10:54,020 --> 00:10:56,700 Kui tegemist olla minu kord jälle näeksin 196 00:10:56,700 --> 00:11:01,500 saada valida ja öelda, hästi, kui O kolib, noh, 197 00:11:01,500 --> 00:11:06,110 keskel kohapeal vasakul, siis Mul on kogum võimalused 198 00:11:06,110 --> 00:11:09,740 kus ma võtan järgmise käigu. 199 00:11:09,740 --> 00:11:14,140 Nendest, ma võiks kaaluda kõiki võimalusi nende alt. 200 00:11:14,140 --> 00:11:18,030 Ja siis O saaksin valida nende seas. 201 00:11:18,030 --> 00:11:22,290 >> Ja ma võiks hoida hoone selle Puu, kuni sain asja juurde 202 00:11:22,290 --> 00:11:26,960 kus kas keegi võidab MÄNG_ see on 203 00:11:26,960 --> 00:11:31,070 sai lugeda lehest node-- või juhatus on täis 204 00:11:31,070 --> 00:11:32,704 ja keegi on võitnud. 205 00:11:32,704 --> 00:11:34,370 Ja see on ka kavatse olla lehttipuga. 206 00:11:34,370 --> 00:11:35,411 See saab olema lips. 207 00:11:35,411 --> 00:11:37,820 208 00:11:37,820 --> 00:11:41,680 >> Aga keeruline asi on see, kui see oli lihtsalt regulaarne otsingut 209 00:11:41,680 --> 00:11:44,269 probleem, et ma oleksin võimeline ütleme, noh, X peaks minema siin. 210 00:11:44,269 --> 00:11:45,560 Ja O peaks minema viis sinna. 211 00:11:45,560 --> 00:11:46,770 Ja siis X peaks minema siin. 212 00:11:46,770 --> 00:11:48,269 Ja siis O peaks minema viis sinna. 213 00:11:48,269 --> 00:11:51,860 Ja siis X saan kolm järjest, ja ma võidan. 214 00:11:51,860 --> 00:11:54,870 Ja oleks mäng üle viie liigub, kolm minu jaoks, 215 00:11:54,870 --> 00:11:57,710 kaks minu vastane. 216 00:11:57,710 --> 00:12:01,300 Aga ma ei saa alati valida seda. 217 00:12:01,300 --> 00:12:03,720 >> Nii et selle asemel, mida me oleme läheb tegema 218 00:12:03,720 --> 00:12:06,270 on meil plaanis teha on uus strateegia. 219 00:12:06,270 --> 00:12:09,350 Ja strateegia Mängu mängimine algoritmid kasutavad sageli 220 00:12:09,350 --> 00:12:12,000 on see, mida nimetatakse Minimax. 221 00:12:12,000 --> 00:12:15,500 Keskne idee Minimax on see, et me oleme 222 00:12:15,500 --> 00:12:21,365 läheb valima liikuda, mis annab Meie vastane halvimal võimalikul komplekt 223 00:12:21,365 --> 00:12:22,790 käike, et nad saavad teha. 224 00:12:22,790 --> 00:12:25,570 225 00:12:25,570 --> 00:12:28,870 See ei tee mulle midagi head valida liikuda, kus 226 00:12:28,870 --> 00:12:31,952 Ma võiksid võita pärast et kuna minu vastane ei ole 227 00:12:31,952 --> 00:12:33,160 annan mina, et võimalus. 228 00:12:33,160 --> 00:12:37,770 Nad lähevad valima mõned kohutav tulemus minu jaoks. 229 00:12:37,770 --> 00:12:42,010 Nii et ma lähen tegema liikuda, mis sunnib oma vastase 230 00:12:42,010 --> 00:12:45,760 midagi paremat minu jaoks. 231 00:12:45,760 --> 00:12:46,260 Hästi. 232 00:12:46,260 --> 00:12:48,410 Vaatame, kuidas see mängib välja. 233 00:12:48,410 --> 00:12:51,640 Nii et siin on meie algoritm pseudokoodi. 234 00:12:51,640 --> 00:12:54,450 Me läheme luua Kogu mängu puu. 235 00:12:54,450 --> 00:12:56,757 Me läheme ehitada kogu struktuuri. 236 00:12:56,757 --> 00:12:57,840 Ja siis me läheme läbi. 237 00:12:57,840 --> 00:13:02,100 Ja väga põhjas on iga terminal sõlmede igal lehtede, 238 00:13:02,100 --> 00:13:07,850 me hinnata, kuidas väärtuslik on see, et mulle? 239 00:13:07,850 --> 00:13:11,690 Ja me ei kavatse väärtus asjad, mis on hea minu jaoks on positiivne. 240 00:13:11,690 --> 00:13:14,460 Asjad, mis ei ole hea minu jaoks on vähem positiivne või null, 241 00:13:14,460 --> 00:13:16,480 või isegi negatiivne. 242 00:13:16,480 --> 00:13:19,240 >> Nii tic-tac-toe, võibolla win on minu jaoks hea. 243 00:13:19,240 --> 00:13:20,290 See on üks. 244 00:13:20,290 --> 00:13:22,400 Ja lips on null. 245 00:13:22,400 --> 00:13:26,230 Ja midagi, mis on kahjumis mulle, äkki see on negatiivne. 246 00:13:26,230 --> 00:13:29,620 Loeb see, et parem see on minu jaoks, seda suurem on skoor 247 00:13:29,620 --> 00:13:32,160 see saab. 248 00:13:32,160 --> 00:13:36,690 Nendest võimalustest juures alt, siis me filtreerida ülespoole. 249 00:13:36,690 --> 00:13:40,650 Ja kui see on minu võimalus valida üks komplekt alternatiive, 250 00:13:40,650 --> 00:13:44,460 Ma valida üks, mis on sai kõige rohkem punkte. 251 00:13:44,460 --> 00:13:47,200 >> Ja alati, kui see on minu vastased omakorda valida, 252 00:13:47,200 --> 00:13:52,350 Ma eeldada, et nad ei kavatse valida üks madalaima punktisumma. 253 00:13:52,350 --> 00:13:56,090 Ja kui ma seda kogu tee kuni tipus, 254 00:13:56,090 --> 00:14:03,150 Ma olen valinud tee, mis annab Minu parim tulemus, et ma saan, 255 00:14:03,150 --> 00:14:09,110 eeldades, et mu vastane teeb õigeid asju. 256 00:14:09,110 --> 00:14:11,940 >> Olgu, nii vaatame Seda tegevust esimene. 257 00:14:11,940 --> 00:14:14,980 Ja siis me tegelikult vaadata koodi. 258 00:14:14,980 --> 00:14:16,780 Seega kujutada Mul on see suur puu. 259 00:14:16,780 --> 00:14:18,280 Ja nüüd ma ei mängi tic-tac-toe. 260 00:14:18,280 --> 00:14:20,405 Tahtsin teile midagi natuke rikkamaks. 261 00:14:20,405 --> 00:14:23,560 Nii et ma olen saanud mõned mängu, kus seal on palju erinevaid punkte 262 00:14:23,560 --> 00:14:26,390 et ma oleks võinud lõpus. 263 00:14:26,390 --> 00:14:27,980 Ja nii ma ehitada täielik puu. 264 00:14:27,980 --> 00:14:29,070 Ja ma saan liikuda esimene. 265 00:14:29,070 --> 00:14:31,290 Ma olen keskmes puu. 266 00:14:31,290 --> 00:14:36,150 >> Ja ma saan valida selle-- nii et ma saan maksimeerida üle, et esimese sõlme. 267 00:14:36,150 --> 00:14:38,410 Ja siis minu vastane saab minna. 268 00:14:38,410 --> 00:14:41,910 Ja siis ma saan minna veel kord. 269 00:14:41,910 --> 00:14:46,830 Nii maha allosas, mul on kogum võimalused, et ma saan valida, 270 00:14:46,830 --> 00:14:50,570 erinevat terminal riigid mängu. 271 00:14:50,570 --> 00:14:54,980 Kui ma alla, et kaugel vasakul nurgas, 272 00:14:54,980 --> 00:14:58,867 ja ma näen, et mul on valik vahel kaheksa, seitse, ja kaks, 273 00:14:58,867 --> 00:15:00,450 Noh, ma olen see, kes saab valida. 274 00:15:00,450 --> 00:15:02,910 Nii et ma lähen valima parim neist. 275 00:15:02,910 --> 00:15:05,650 Ma lähen valima kaheksa. 276 00:15:05,650 --> 00:15:10,090 >> Nii et ma tean, et kui ma kunagi pikali, et hetkel, 277 00:15:10,090 --> 00:15:13,890 Ma oleks võimalik saada, et kaheksa punkti. 278 00:15:13,890 --> 00:15:17,410 Kui ma lõpuks järgmisel punkti möödas, järgmise sõlme, 279 00:15:17,410 --> 00:15:20,760 üheksa, üks või kuus, noh, ma olen kavatsete valida parim neist. 280 00:15:20,760 --> 00:15:21,950 Ma valida üheksa. 281 00:15:21,950 --> 00:15:24,880 Kui mul on valida Kahe ja nelja ning üks, 282 00:15:24,880 --> 00:15:28,240 Ma valida nelja kõrgeim. 283 00:15:28,240 --> 00:15:31,990 >> Nüüd, kui ma vaatan tasandil eespool, et minu vastane 284 00:15:31,990 --> 00:15:34,440 on üks saab selle valiku. 285 00:15:34,440 --> 00:15:37,040 Nii et minu vastane jõuab valida, kas ma tahan anda talle 286 00:15:37,040 --> 00:15:39,250 asi, mis läheb saada teda kaheksa punkti, 287 00:15:39,250 --> 00:15:41,916 või ma annan talle asi see on annan talle üheksa punkti, 288 00:15:41,916 --> 00:15:45,240 või asi, mis läheb anda talle neli punkti? 289 00:15:45,240 --> 00:15:49,130 Ja minu vastane, olles ratsionaalne, läheb 290 00:15:49,130 --> 00:15:53,470 valida vähemalt need, läheb valima neli. 291 00:15:53,470 --> 00:15:56,020 >> Ja ma ei saa seda teha läbi kogu puu. 292 00:15:56,020 --> 00:15:59,110 Võin minna, et Lähis-kolmest. 293 00:15:59,110 --> 00:16:01,517 Ja ma ei saa valida ühe, kolme ja viie. 294 00:16:01,517 --> 00:16:02,350 Ja ma saan valida. 295 00:16:02,350 --> 00:16:03,810 Nii et ma valida viis. 296 00:16:03,810 --> 00:16:05,340 Ma saan valida kolme, üheksa või kaks. 297 00:16:05,340 --> 00:16:07,570 Ma saan valida, et ma valida üheksa. 298 00:16:07,570 --> 00:16:09,290 Kuus viis või kaks, ma valin. 299 00:16:09,290 --> 00:16:11,539 Ma saan valida kuus. 300 00:16:11,539 --> 00:16:13,080 Tase kõrgemal, kes saab valida? 301 00:16:13,080 --> 00:16:16,280 302 00:16:16,280 --> 00:16:18,140 Kes saab valida? 303 00:16:18,140 --> 00:16:20,000 Teine mees, minu vastane. 304 00:16:20,000 --> 00:16:22,583 Nii nad valida viis, üheksa või kuus, siis milline? 305 00:16:22,583 --> 00:16:23,410 >> Sihtrühm: viis. 306 00:16:23,410 --> 00:16:25,250 >> SPEAKER: Nad valivad viie. 307 00:16:25,250 --> 00:16:27,400 Nad saavad valida minimaalne. 308 00:16:27,400 --> 00:16:29,690 Ja siis viimane, valida ühe, kahe või kolme. 309 00:16:29,690 --> 00:16:31,720 Ma saan valida, et valida kolm. 310 00:16:31,720 --> 00:16:34,370 Üheksa seitse või kaks, valin üheksa. 311 00:16:34,370 --> 00:16:37,070 Ja 11, kuus või neli, ma valin 11. 312 00:16:37,070 --> 00:16:41,190 Mu vastane valib siis kolm, üheksa või 11, valib miinimumini. 313 00:16:41,190 --> 00:16:43,290 Ta annab mulle kolm. 314 00:16:43,290 --> 00:16:47,780 Ja siis lõpuks tipus puu, ma saan valida uuesti. 315 00:16:47,780 --> 00:16:51,190 Ja ma saan valida nelja-, viie- või kolm. 316 00:16:51,190 --> 00:16:52,270 Nii ma võtan viis. 317 00:16:52,270 --> 00:16:55,070 318 00:16:55,070 --> 00:17:00,891 >> Kui ma sain kontrollida kõike, ma võtta tee, mis viis 11. 319 00:17:00,891 --> 00:17:02,390 Aga ma ei saa teha seda valikut. 320 00:17:02,390 --> 00:17:04,220 Kui ma lähen seda teed. 321 00:17:04,220 --> 00:17:10,710 Mu vastane sunnib mind valik, mis viib kolm. 322 00:17:10,710 --> 00:17:14,530 Nii et parim, mis ma teha saan, on võtta, et keset filiaal, 323 00:17:14,530 --> 00:17:19,859 selle valiku, mis on lõpuks kõik viib mind viis punkti. 324 00:17:19,859 --> 00:17:23,230 Seda minimax teeb. 325 00:17:23,230 --> 00:17:23,807 >> Hästi. 326 00:17:23,807 --> 00:17:24,890 Võtame pilk seda. 327 00:17:24,890 --> 00:17:27,480 328 00:17:27,480 --> 00:17:32,330 Nii et siin on CS50 IDE on programm, mis 329 00:17:32,330 --> 00:17:36,540 rakendab minimax mängida tic-tac-toe. 330 00:17:36,540 --> 00:17:40,100 Me läheme ehitada kuni esindus. 331 00:17:40,100 --> 00:17:44,390 Me läheme kaks opponent-- või kaks mängijat, meie arvuti 332 00:17:44,390 --> 00:17:46,090 mängija ja inimese mängija. 333 00:17:46,090 --> 00:17:48,980 334 00:17:48,980 --> 00:17:53,090 Mängija number üks saab mängida O. See oleks masin mängija. 335 00:17:53,090 --> 00:17:55,747 Nad saavad liikuda teise. 336 00:17:55,747 --> 00:17:57,830 Ja teine ​​mängija, meie Inimese mängija, X. 337 00:17:57,830 --> 00:17:59,880 >> Ja et minu elu natuke lihtne, ma lähen 338 00:17:59,880 --> 00:18:03,060 märgistama, et mängija negatiivne. 339 00:18:03,060 --> 00:18:05,026 Nii et ma lihtsalt korrutada poolt negatiivne vahetada 340 00:18:05,026 --> 00:18:06,400 vahel üks mängija ja teisi. 341 00:18:06,400 --> 00:18:09,030 342 00:18:09,030 --> 00:18:12,250 Olgu, nii võtame pilk mida me tegelikult teha kavatsed. 343 00:18:12,250 --> 00:18:15,840 Me läheme määratleda oma pardal. 344 00:18:15,840 --> 00:18:19,060 See saab olema, noh, me ei kavatse et ta saaks olla kolm kolme, 345 00:18:19,060 --> 00:18:21,580 või saame isegi mängida viis viis või seitse 346 00:18:21,580 --> 00:18:28,870 seitse tic-tac-toe, kui soovite jms, mis põhineb mõningatel mõõtme D. 347 00:18:28,870 --> 00:18:31,260 >> Ja me peame paar abistaja funktsioonid 348 00:18:31,260 --> 00:18:34,360 mis teen asju initsialiseerida screen-- või kahju, 349 00:18:34,360 --> 00:18:38,900 initsialiseerida meie muutujad, selge ekraan, juhtida juhatuse ekraanil, 350 00:18:38,900 --> 00:18:41,060 üks, mis kontrollib juhatuse näha, kas 351 00:18:41,060 --> 00:18:44,520 seal on võitja, mis korrastab läbi käsurea 352 00:18:44,520 --> 00:18:50,670 lihtsalt appi, mis loeb sisend ja üks funktsioon nimega Minimax. 353 00:18:50,670 --> 00:18:52,746 Ja see on üks me hoolime kõige rohkem. 354 00:18:52,746 --> 00:18:54,120 Aga vaatame esmalt peamine. 355 00:18:54,120 --> 00:18:57,490 356 00:18:57,490 --> 00:18:58,510 >> Mida me siis teeme? 357 00:18:58,510 --> 00:19:00,570 Noh, me ei kavatse sõeluda meie käsurida, 358 00:19:00,570 --> 00:19:04,300 lihtsalt lugeda ja vaadata, mis mõõde pardal me tahaksime olla. 359 00:19:04,300 --> 00:19:07,330 Me initsialiseerida meie laual. 360 00:19:07,330 --> 00:19:10,360 Ja siis me sisestage üks suur loodusliku loop, korduvalt 361 00:19:10,360 --> 00:19:16,630 käike kuni mäng on võitnud, või seal liigub vasakule. 362 00:19:16,630 --> 00:19:20,560 Iga kord, kui me minna läbi, et loop, me selge ekraan. 363 00:19:20,560 --> 00:19:23,290 Me teha juhatuse ekraanil. 364 00:19:23,290 --> 00:19:28,750 Ja me oleme teadlikult omamoodi abstraheerimisel need ära nagu alamprogrammid 365 00:19:28,750 --> 00:19:32,030 nii et me ei pea muretsema liiga palju üksikasjadest, kuidas need tekivad. 366 00:19:32,030 --> 00:19:33,480 >> Sul on kood täna hiljem. 367 00:19:33,480 --> 00:19:37,970 Ja kui sa tahad vaadata läbi ja selgitada välja, näed neid kõiki. 368 00:19:37,970 --> 00:19:39,890 Aga me juhtida juhatuse ekraanil. 369 00:19:39,890 --> 00:19:43,620 Ja siis me kontrollida ja vaata, kas meil on võitja? 370 00:19:43,620 --> 00:19:46,290 Kas keegi võitis selle mängu? 371 00:19:46,290 --> 00:19:49,260 Kui nad on, me printida välja võidu kirja. 372 00:19:49,260 --> 00:19:51,680 Ja me lõpuks mäng. 373 00:19:51,680 --> 00:19:54,510 >> Me ka vaadata ja vaata, kas seal on lips. 374 00:19:54,510 --> 00:19:56,620 See oleks lihtne näha, kas seal on lips. 375 00:19:56,620 --> 00:20:00,700 See tähendab, et kõik ruumid on täis, kuid seal ei ole võitja veel. 376 00:20:00,700 --> 00:20:03,580 Me võime kuulutada lips ja teha. 377 00:20:03,580 --> 00:20:10,530 Siis tõeline meat-- kui see masin mängija, 378 00:20:10,530 --> 00:20:14,120 me lubada, et masin mängija otsida 379 00:20:14,120 --> 00:20:19,500 läbi, kasutades seda minimax algoritm, leida parim liikuda, et see on võimalik. 380 00:20:19,500 --> 00:20:22,310 Ja siis me paneme selle tempot. 381 00:20:22,310 --> 00:20:27,640 >> Vastasel juhul, kui see on inimese mängija, me lugeda mõned panus inimese. 382 00:20:27,640 --> 00:20:30,800 Ja siis kas see on inimese mängija või masin-mängija, 383 00:20:30,800 --> 00:20:32,800 teeme paar vähe bitti veatuvastuse, 384 00:20:32,800 --> 00:20:36,910 veenduge, et see jääb piiridesse tegeliku mõõtmed juhatuse 385 00:20:36,910 --> 00:20:40,040 mis meil on, veenduge, et see ruum on tühi, 386 00:20:40,040 --> 00:20:43,570 et keegi ei pane tükk seal juba. 387 00:20:43,570 --> 00:20:45,810 Ja siis me lihtsalt panna tükk laual, 388 00:20:45,810 --> 00:20:51,550 muuta mängija järgmise kihi ja juurdekasvu, kui palju liigub juhtunud. 389 00:20:51,550 --> 00:20:54,090 >> See on peamine ahel Meie tic-tac-toe mäng. 390 00:20:54,090 --> 00:20:57,000 391 00:20:57,000 --> 00:21:02,340 Minimax, siis on täpselt algoritm, mida me varem. 392 00:21:02,340 --> 00:21:04,710 Ainus muutustega oleme teinud nii, et me 393 00:21:04,710 --> 00:21:07,290 saab mängida kõrgemaid mõõtmete lauad on me oleme 394 00:21:07,290 --> 00:21:11,070 hoida seda lisaparameeter nimetatakse sügavus. 395 00:21:11,070 --> 00:21:14,870 Ja sügavuse lihtsalt ütleb, kui ma olen otsivad allapoole läbi, et puu 396 00:21:14,870 --> 00:21:19,022 ja ma saan nii palju alla üle teatud taseme sügavus 397 00:21:19,022 --> 00:21:20,730 et ma lihtsalt ei taha minna kaugemale, 398 00:21:20,730 --> 00:21:25,630 Ma lähen lõpetada ja lihtsalt hindab juhatus sel hetkel. 399 00:21:25,630 --> 00:21:27,310 Ma vaatan ja vaata, kas seal on võitja. 400 00:21:27,310 --> 00:21:29,240 Kui seal on võitja, ma neid tagasi. 401 00:21:29,240 --> 00:21:31,720 Muidu ma lähen läbi silmuse. 402 00:21:31,720 --> 00:21:34,380 Ja ma ütlen, et kõik võimalikud asukohad 403 00:21:34,380 --> 00:21:38,080 et ma võiks võimalusel võtta minu liikuda, ma 404 00:21:38,080 --> 00:21:43,760 ehitada hüpoteetiline pardal, mis sisaldab minu liikuda, et pardal, 405 00:21:43,760 --> 00:21:45,960 ja siis rekursiivselt kutsub Minimax. 406 00:21:45,960 --> 00:21:49,360 407 00:21:49,360 --> 00:21:53,900 >> Kui see on minu liikuda, ma saan leida üks, mis sai suurima punktisumma. 408 00:21:53,900 --> 00:21:58,710 Kui see on mu vastase käiku, leiame üks, mis sai minimaalne punktisumma. 409 00:21:58,710 --> 00:22:02,240 Ja kõik muu on lihtsalt arvestuse pidamist. 410 00:22:02,240 --> 00:22:04,789 Olgu, nii vaatame seda käivitada. 411 00:22:04,789 --> 00:22:06,830 Tegelikult äkki saame saada paar vabatahtlikud 412 00:22:06,830 --> 00:22:09,930 tulla ja mängida tic-tac-toe. 413 00:22:09,930 --> 00:22:12,780 [Kuuldamatu] üks, ja üks rohkem, kaks, seal. 414 00:22:12,780 --> 00:22:13,550 Tule üles. 415 00:22:13,550 --> 00:22:19,290 416 00:22:19,290 --> 00:22:23,650 >> Nii lähme edasi ja taaskäivitage see täielikult. 417 00:22:23,650 --> 00:22:24,150 Nii, hi. 418 00:22:24,150 --> 00:22:24,920 >> Sihtrühm: Tere. 419 00:22:24,920 --> 00:22:25,420 >> SPEAKER: Mis su nimi on? 420 00:22:25,420 --> 00:22:26,086 >> Sihtrühm: Gorav. 421 00:22:26,086 --> 00:22:26,840 SPEAKER: Gorav. 422 00:22:26,840 --> 00:22:27,800 >> Sihtrühm: ma olen Layla. 423 00:22:27,800 --> 00:22:29,490 >> SPEAKER: Ja Layla ja Layla, vabandust. 424 00:22:29,490 --> 00:22:30,384 Tule üles. 425 00:22:30,384 --> 00:22:32,050 Gorav, me ei kavatse olla lähete esimest. 426 00:22:32,050 --> 00:22:37,710 Ja ma küsin, et olla mitte kohutavalt hea tic-tac-toe mängija. 427 00:22:37,710 --> 00:22:40,130 OK, nii et kõik on surve välja teid. 428 00:22:40,130 --> 00:22:44,660 Vaatame, kuigi, et meie masin Mängija saab tegelikult midagi tark. 429 00:22:44,660 --> 00:22:45,310 Nii et laske käia. 430 00:22:45,310 --> 00:22:49,830 Sa lähed kirjutad, mis koordineerib soovid panna oma X. 431 00:22:49,830 --> 00:22:55,170 A0, OK, ja masin on läinud kohe ja pane oma kaubamärgi A1. 432 00:22:55,170 --> 00:22:56,640 >> Pane O laual. 433 00:22:56,640 --> 00:22:58,970 Olgu, nüüd edasi minna. 434 00:22:58,970 --> 00:23:00,193 Kuhu soovite minna? 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 Meie masin mängija on võtnud keskel ruutu, blokeeritud teid. 438 00:23:08,430 --> 00:23:10,320 Nii et oli hea, smart asi, et seda teha. 439 00:23:10,320 --> 00:23:13,430 440 00:23:13,430 --> 00:23:14,250 Sa oled blokeerinud. 441 00:23:14,250 --> 00:23:15,210 See on väga hea. 442 00:23:15,210 --> 00:23:16,390 See võtab nurgas. 443 00:23:16,390 --> 00:23:23,890 444 00:23:23,890 --> 00:23:30,430 >> Ja see läheb sind sundida võta üks viimase ruumi, B0. 445 00:23:30,430 --> 00:23:32,220 Ja mängu Kaasomandis. 446 00:23:32,220 --> 00:23:35,030 Aga see oli mõistlik mängu vastu, eks? 447 00:23:35,030 --> 00:23:36,956 Olgu, tänan väga, Gorav. 448 00:23:36,956 --> 00:23:40,860 >> [APPLAUSE] 449 00:23:40,860 --> 00:23:44,723 >> Olgu, Layla, me ei kavatse up mäng sulle siin. 450 00:23:44,723 --> 00:23:46,940 >> Sihtrühm: Oh, tore. 451 00:23:46,940 --> 00:23:49,950 >> SPEAKER: Me anda sa neli neli tic-tac-toe. 452 00:23:49,950 --> 00:23:54,760 Nüüd, neli nelja, pead võita neli järjest, mitte kolm rida. 453 00:23:54,760 --> 00:23:56,135 Ja see on kõik sinu. 454 00:23:56,135 --> 00:24:02,180 455 00:24:02,180 --> 00:24:04,420 Nii Layla võttis D1. 456 00:24:04,420 --> 00:24:11,730 Jälgime nüüd kavatseb jälgida Meie arvuti mängija siin. 457 00:24:11,730 --> 00:24:16,910 Kolm kolm tic-tac-toe on selline asi, mis on lihtne meile kõigile. 458 00:24:16,910 --> 00:24:21,960 Aga see on ikka tore näha arvuti mängija tehes smart liigub. 459 00:24:21,960 --> 00:24:23,725 Neli nelja jõuab olla natuke keerukam. 460 00:24:23,725 --> 00:24:42,960 461 00:24:42,960 --> 00:24:44,230 >> Ilusti tehtud. 462 00:24:44,230 --> 00:24:46,210 Olgu, nii Layla on valmis maha. 463 00:24:46,210 --> 00:24:48,270 Oh, ja me oleks pidanud lõppes seal. 464 00:24:48,270 --> 00:24:51,870 Aga teeme veel ühe siia üles. 465 00:24:51,870 --> 00:24:53,480 Nii Layla, aitäh. 466 00:24:53,480 --> 00:24:55,112 Ilusti tehtud. 467 00:24:55,112 --> 00:24:57,517 >> [APPLAUSE] 468 00:24:57,517 --> 00:25:00,410 469 00:25:00,410 --> 00:25:04,750 >> Nii et meie tic-tac-toe mängija läheb läbi ja leiab kohtades, 470 00:25:04,750 --> 00:25:07,040 lahendab neid kasutavad seda Minimax. 471 00:25:07,040 --> 00:25:08,990 Ja mul oli sügavuse seadistus sellel nii, et see 472 00:25:08,990 --> 00:25:11,010 ei joosta liiga kiiresti, mis on ilmselt põhjus, miks 473 00:25:11,010 --> 00:25:16,790 Layla oli võimalus minna ilusti ees nagu ta tegi, ja tegi väga hästi. 474 00:25:16,790 --> 00:25:20,450 Aga need süsteemid, mis lihtsalt läbida ja jõuvõtete 475 00:25:20,450 --> 00:25:23,870 sügavamale ja sügavamale ja sügavamale, ja hoida leida lahendus 476 00:25:23,870 --> 00:25:29,890 mida nad vajavad, seda tüüpi süsteemid on üsna edukas need, noh, 477 00:25:29,890 --> 00:25:32,700 standard lauamänge. 478 00:25:32,700 --> 00:25:37,060 >> Ja tegelikult, kui me vaatame kolm kolm tic-tac-toe mäng 479 00:25:37,060 --> 00:25:40,040 see põhiliselt lahendatud probleem. 480 00:25:40,040 --> 00:25:45,430 Ja see on suurepärane skeem alates Randall Munroe kell XKCD, 481 00:25:45,430 --> 00:25:52,130 näitab, milliseid liikuda sa peaksid võtta, sest oma vastase käike. 482 00:25:52,130 --> 00:25:56,420 See on midagi, mida me võiksime lihtsalt täpsustada enne tähtaega. 483 00:25:56,420 --> 00:26:00,180 Aga mis juhtub, kui saame rohkem keerulised mängud, rohkem keerulisi mänge, 484 00:26:00,180 --> 00:26:05,690 kus on suurem lauad, enam võimalused, sügavam strateegia? 485 00:26:05,690 --> 00:26:09,660 >> Selgub, et see jõuvõtete otsivad ikka 486 00:26:09,660 --> 00:26:14,150 teeb suhteliselt hästi, välja arvatud kui sa saad selle punktini 487 00:26:14,150 --> 00:26:19,230 kui see puu on nii suur, et sa ei saa endast kõik. 488 00:26:19,230 --> 00:26:22,370 489 00:26:22,370 --> 00:26:28,280 Kui te ei saa arvutada kogu puu, kui sa ei saa minna edasi ja push 490 00:26:28,280 --> 00:26:32,204 ise punktini, kus sa oled saanud kogu puu mälu, 491 00:26:32,204 --> 00:26:34,370 või kas saad seda mälu ja see lihtsalt 492 00:26:34,370 --> 00:26:39,200 teid liiga pikk otsida see, mida sa pead tegema midagi targemaks. 493 00:26:39,200 --> 00:26:42,620 494 00:26:42,620 --> 00:26:46,450 >> Selleks, et teil pead tegema kahte asja. 495 00:26:46,450 --> 00:26:49,030 Esiteks, sa pead leidma mõned kuidas piirata oma sügavust. 496 00:26:49,030 --> 00:26:50,370 Noh, see on OK. 497 00:26:50,370 --> 00:26:55,740 Me võime leida mõne kena, minimaalseim ja öelda, siis saab minna ainult nii sügav. 498 00:26:55,740 --> 00:27:00,890 Aga kui sa seda teha, see tähendab, et sa on need osaliselt mittetäieliku lauad. 499 00:27:00,890 --> 00:27:04,770 Ja sul on valida, kas ma tahan see osaliselt mittetäieliku pardal, 500 00:27:04,770 --> 00:27:08,600 või seda osaliselt mittetäieliku pardal? 501 00:27:08,600 --> 00:27:11,910 >> Ja meie neli poolt Nelja tic-tac-toe mäng 502 00:27:11,910 --> 00:27:15,240 Meie arvuti mängija sai näha põhja ja ta ütles, 503 00:27:15,240 --> 00:27:16,800 Mul kaks erinevat lauad. 504 00:27:16,800 --> 00:27:17,940 Ei üks on win. 505 00:27:17,940 --> 00:27:19,120 Ei üks on kaotus. 506 00:27:19,120 --> 00:27:22,070 Ei üks on lips. 507 00:27:22,070 --> 00:27:24,100 Kuidas valida neid? 508 00:27:24,100 --> 00:27:26,200 Ja see ei ole smart lahenduseks oleks. 509 00:27:26,200 --> 00:27:28,910 510 00:27:28,910 --> 00:27:32,850 >> Me näeme seda liiki hindamise juhtub kogu aeg 511 00:27:32,850 --> 00:27:35,290 kui me sattuda keerulisem mänge. 512 00:27:35,290 --> 00:27:37,600 Male on suurepärane näide. 513 00:27:37,600 --> 00:27:41,550 Male, meil on esimene kõik, suurem pardal. 514 00:27:41,550 --> 00:27:43,370 Meil on palju tükki. 515 00:27:43,370 --> 00:27:47,930 Ja positsioneerimine need tükid ja nii, et need tükid liikuda 516 00:27:47,930 --> 00:27:50,370 on äärmiselt oluline. 517 00:27:50,370 --> 00:27:53,700 Nii et kui ma tahan kasutada Minimax, Mul on vaja, et oleks võimalik määrata 518 00:27:53,700 --> 00:27:58,240 ja öelda, et see board, kus keegi on võitnud või kaotanud veel 519 00:27:58,240 --> 00:28:04,310 on kuidagi parem kui see teine pardal, kus keegi on võitnud või kaotanud. 520 00:28:04,310 --> 00:28:06,740 >> Selleks, et ma võiks teha asjad võin lihtsalt 521 00:28:06,740 --> 00:28:10,787 arvutada, mitu tükki ma pean ja mitu tükki sul on? 522 00:28:10,787 --> 00:28:12,870 Või ma võin anda erinevaid tükki erinevates punktides. 523 00:28:12,870 --> 00:28:14,420 Minu kuninganna on väärt 20 punkti. 524 00:28:14,420 --> 00:28:16,500 Sinu ettur on ühe punkti vääriline. 525 00:28:16,500 --> 00:28:18,920 Kes on rohkem punkte kokku? 526 00:28:18,920 --> 00:28:22,300 Või ma võiks kaaluda asju, kes sai parem seis? 527 00:28:22,300 --> 00:28:26,820 Kelle kord on ta kõrval, midagi, mis suudan 528 00:28:26,820 --> 00:28:31,220 ei hinnata täpsemalt mis need võimalused 529 00:28:31,220 --> 00:28:34,660 on parem ilma ammendavalt arvestades 530 00:28:34,660 --> 00:28:36,565 iga sammu, mis võib tulla pärast seda. 531 00:28:36,565 --> 00:28:39,740 532 00:28:39,740 --> 00:28:45,130 >> Nüüd teha seda tööd, Üks asi, mis on 533 00:28:45,130 --> 00:28:48,680 hakkab muutuma väga oluline Meil ei ole lihtsalt liigub otse 534 00:28:48,680 --> 00:28:53,720 alla teatud sügavusele piiri, kuid on võimalik öelda, 535 00:28:53,720 --> 00:28:59,380 üks neist ideedest, mis ma on nii halb, et see on 536 00:28:59,380 --> 00:29:02,280 ei vääriks kaalumist kõik võimalikud viisid 537 00:29:02,280 --> 00:29:06,680 et asjad võivad minna pahemaks. 538 00:29:06,680 --> 00:29:12,760 Selleks, lisame sisse minimax põhimõtet nimetatakse alph-beeta. 539 00:29:12,760 --> 00:29:16,340 Ja alfa-beeta ütleb, kui sul on halb mõte, 540 00:29:16,340 --> 00:29:22,840 ei raiska oma aega üritab täpselt teada, kui halb see on. 541 00:29:22,840 --> 00:29:24,990 >> Nii et siin on, mida me teeme. 542 00:29:24,990 --> 00:29:28,620 Me läheme sama põhimõtteid, mis meil oli enne, 543 00:29:28,620 --> 00:29:32,200 Samal minimax tüübist otsida, vaid me oleme 544 00:29:32,200 --> 00:29:37,570 läheb jälgida, mitte ainult tegelikud väärtused, mis meil on, kuid me 545 00:29:37,570 --> 00:29:41,440 jälgida võimalikult väärtus, et ma saaks, 546 00:29:41,440 --> 00:29:45,700 ja halvim võimalik tulemust ma oleks võinud. 547 00:29:45,700 --> 00:29:50,470 Ja igal ajal halvim võimalik asi tahab tõenäoliselt, 548 00:29:50,470 --> 00:29:52,694 Ma loobuma, et osa puu. 549 00:29:52,694 --> 00:29:54,610 Ja ma isegi ei viitsinud Vaadates seda enam. 550 00:29:54,610 --> 00:29:57,680 551 00:29:57,680 --> 00:30:02,600 >> Olgu, nii kujutada, et hakkame Selle sama täpne mäng puu. 552 00:30:02,600 --> 00:30:05,200 Ja nüüd me läheme jälle maha, kogu tee alla 553 00:30:05,200 --> 00:30:07,200 Selle alumises vasakus nurgas. 554 00:30:07,200 --> 00:30:11,180 Ja et all vasakul nurgas, me otsima ja me hindame seda pardal. 555 00:30:11,180 --> 00:30:15,700 Võibolla on see neli neli tic-tac-toe pardal, või võibolla see malelaual. 556 00:30:15,700 --> 00:30:18,620 Aga me vaatame seda, ja me hindame seda ja saame väärtuse kaheksa. 557 00:30:18,620 --> 00:30:22,290 558 00:30:22,290 --> 00:30:28,030 >> Sel hetkel, me teame, et me ei hakka vähemalt 559 00:30:28,030 --> 00:30:32,380 kaheksa punkti selle alt otsuse. 560 00:30:32,380 --> 00:30:36,620 See ei ole tähtis, mida teised kaks on, et seitse ja kaks. 561 00:30:36,620 --> 00:30:38,580 Nad võivad olla mis tahes väärtusi nad tahtsid olla. 562 00:30:38,580 --> 00:30:41,279 Me läheme saada on vähemalt kaheksa punkti. 563 00:30:41,279 --> 00:30:43,070 Olgu, aga me võiksime minna ja vaadata. 564 00:30:43,070 --> 00:30:45,080 Võib-olla üks neist on parem kui kaheksa. 565 00:30:45,080 --> 00:30:46,000 >> Me vaatame seitse. 566 00:30:46,000 --> 00:30:46,910 Kas see on parem kui kaheksa? 567 00:30:46,910 --> 00:30:48,680 Ei, see ei muutu Meie arvates üldse. 568 00:30:48,680 --> 00:30:49,460 Me vaatame kaks. 569 00:30:49,460 --> 00:30:50,543 Kas see on parem kui kaheksa? 570 00:30:50,543 --> 00:30:52,580 Ei, see ei muutu Meie arvates üldse. 571 00:30:52,580 --> 00:30:55,480 Nüüd me teame, et me oleme ammendanud kõiki võimalusi seal. 572 00:30:55,480 --> 00:30:58,330 Me ei hakka midagi paremat kui kaheksa. 573 00:30:58,330 --> 00:31:01,310 Me läheme saada täpselt kaheksa. 574 00:31:01,310 --> 00:31:03,825 >> Ja nii me muudame selle sõlme ja ütleme, et on nüüd kindel. 575 00:31:03,825 --> 00:31:07,010 576 00:31:07,010 --> 00:31:10,270 Me tõusevad ühe taseme võrra, mis. 577 00:31:10,270 --> 00:31:13,820 Ja nüüd me teame midagi sellest minimeerimine tasandil. 578 00:31:13,820 --> 00:31:18,560 Me teame, et me ei saa kunagi saada rohkem kui kaheksa punkti, kui me läheme 579 00:31:18,560 --> 00:31:20,910 selles suunas. 580 00:31:20,910 --> 00:31:22,980 Sest isegi siis, kui need Ülejäänud kaks haru osutuvad 581 00:31:22,980 --> 00:31:26,170 olema fantastiline ja väärt tuhandeid hindepunkti iga 582 00:31:26,170 --> 00:31:31,666 Meie vastane ei anna meile minimaalne, ja anna meile kaheksa. 583 00:31:31,666 --> 00:31:32,790 Olgu, hästi, vaatame. 584 00:31:32,790 --> 00:31:35,190 Me jätkame seda teed. 585 00:31:35,190 --> 00:31:38,490 Me minna, et keset vasakul. 586 00:31:38,490 --> 00:31:40,560 Ootame alla ja me näeme seal on üheksa. 587 00:31:40,560 --> 00:31:45,590 Me teame, et me ei kavatse saada vähemalt üheksa punkti allakäik 588 00:31:45,590 --> 00:31:47,720 et keset teed. 589 00:31:47,720 --> 00:31:52,110 Ja sel hetkel, saame lihtsalt paus. 590 00:31:52,110 --> 00:31:56,910 Ja me ei saa öelda, vaata, ma tean taseme üle, 591 00:31:56,910 --> 00:32:01,160 Ma lähen mitte rohkem kui kaheksa juhib minnes mööda selles suunas. 592 00:32:01,160 --> 00:32:05,670 Aga kui ma läksin keskväljal path asemel vasakul tee, 593 00:32:05,670 --> 00:32:08,980 Ma saan vähemalt üheksa punkti. 594 00:32:08,980 --> 00:32:13,590 >> Mu vastane on kunagi andke minna, et keset teed. 595 00:32:13,590 --> 00:32:14,650 Nad saavad valida. 596 00:32:14,650 --> 00:32:18,140 Ja nad ei kavatse valida tee vasakule poole kaheksa, 597 00:32:18,140 --> 00:32:23,650 mitte keskväljal suunas Mis vähemalt üheksa punkti. 598 00:32:23,650 --> 00:32:25,334 Nii sel hetkel, ma lõpetada. 599 00:32:25,334 --> 00:32:26,500 Ja ma ütlen, sa tead, mida? 600 00:32:26,500 --> 00:32:29,990 Ma ei pea vaatama rohkem maha selles suunas. 601 00:32:29,990 --> 00:32:32,270 Sest ma olen kunagi sinna. 602 00:32:32,270 --> 00:32:36,660 >> Ma ei jäta enam, et üks, ja ma ei jäta enam, et kuus, 603 00:32:36,660 --> 00:32:39,720 Sest see ei juhtu mitte kunagi. 604 00:32:39,720 --> 00:32:42,470 Nii et ma lähen alla ja ma kaaluda järgmise võimaluse. 605 00:32:42,470 --> 00:32:44,830 Ma lähen sinna ja ütlen, ma näen kahte. 606 00:32:44,830 --> 00:32:47,125 Ma tean, et kui ma saan siin ma olen hakka vähemalt kaks. 607 00:32:47,125 --> 00:32:49,810 608 00:32:49,810 --> 00:32:50,470 OKEI. 609 00:32:50,470 --> 00:32:51,520 Ma käiks. 610 00:32:51,520 --> 00:32:52,440 Ma näen nelja. 611 00:32:52,440 --> 00:32:54,920 Ma tean, et ma lähen vähemalt neli. 612 00:32:54,920 --> 00:32:57,200 Seal on veel palju vahel neli ja kaheksa, kuigi. 613 00:32:57,200 --> 00:32:58,454 Nii et ma käiks. 614 00:32:58,454 --> 00:32:59,870 Ma vaatan alla ja näen seal on üks. 615 00:32:59,870 --> 00:33:01,614 Olgu, ma tean, kui Ma minna seda teed, 616 00:33:01,614 --> 00:33:03,280 Ma lähen, et oleks võimalik valida nelja. 617 00:33:03,280 --> 00:33:06,540 618 00:33:06,540 --> 00:33:08,980 Mis on minu vastane tegema hakkad? 619 00:33:08,980 --> 00:33:12,310 Aastatel midagi, mis annab mulle kaheksa, midagi, mis annab mulle neli, 620 00:33:12,310 --> 00:33:14,730 ja midagi, mis annab mulle vähemalt üheksa, 621 00:33:14,730 --> 00:33:17,550 noh, ta läheb mulle neli. 622 00:33:17,550 --> 00:33:20,110 Ja ma tean, et nüüd on väga top, ma lähen 623 00:33:20,110 --> 00:33:23,145 suutma saada vähemalt neli punkti välja see mäng. 624 00:33:23,145 --> 00:33:27,030 625 00:33:27,030 --> 00:33:30,900 >> Kogu idee alfa-beeta on ära lõigatud osad puud nii 626 00:33:30,900 --> 00:33:32,530 et ma ei vaata neid enam. 627 00:33:32,530 --> 00:33:35,964 Aga see ikka välja näeb ma olen Vaadates palju puu. 628 00:33:35,964 --> 00:33:36,880 Hoidkem allakäik. 629 00:33:36,880 --> 00:33:38,305 Me läheme järgmise nüüd. 630 00:33:38,305 --> 00:33:39,680 Alla allosas, leian ühe. 631 00:33:39,680 --> 00:33:41,030 Ma tean, et ma lähen vähemalt üks. 632 00:33:41,030 --> 00:33:41,690 Ma hoida otsin. 633 00:33:41,690 --> 00:33:42,625 >> Ma leian, kolm. 634 00:33:42,625 --> 00:33:44,250 Ma tean, et ma lähen vähemalt kolm. 635 00:33:44,250 --> 00:33:44,840 Ma käiks. 636 00:33:44,840 --> 00:33:45,660 Ma leida viis. 637 00:33:45,660 --> 00:33:49,760 Ma tean, et ma lähen viie kui ma pikali, et tee. 638 00:33:49,760 --> 00:33:52,580 Ja ma tean ka, siis et minu vastane, kui ma 639 00:33:52,580 --> 00:33:55,510 vali keskel kolm suurt valikut, 640 00:33:55,510 --> 00:34:01,440 ta läheb mulle midagi, mis on viis või vähem. 641 00:34:01,440 --> 00:34:02,150 >> OKEI. 642 00:34:02,150 --> 00:34:03,400 Ma ei käiks seal. 643 00:34:03,400 --> 00:34:06,470 Ma ei vaata alla ja ma Võib öelda, mida ma kavatsen 644 00:34:06,470 --> 00:34:08,239 saada, kui ma minna keset teed? 645 00:34:08,239 --> 00:34:09,909 Ma lähen, noh, kolm on. 646 00:34:09,909 --> 00:34:12,080 Ma lähen midagi see on vähemalt kolm. 647 00:34:12,080 --> 00:34:16,030 Seal on veel asju vahel kolm kuni viis, et ma hoida vaadates. 648 00:34:16,030 --> 00:34:20,203 Oh, üheksa, ma kindlasti võtta, et üle kolme. 649 00:34:20,203 --> 00:34:22,744 Ma lähen vähemalt üheksa kui ma minna, et keset teed. 650 00:34:22,744 --> 00:34:25,530 651 00:34:25,530 --> 00:34:31,010 >> Nüüd on mu vastane peatub ja ütleb, otsida, ei ole mõtet enam. 652 00:34:31,010 --> 00:34:33,669 Ma tean, et mu minimeerimine vastane, ta on 653 00:34:33,669 --> 00:34:36,210 annan mina see, mis on väiksem või võrdne kuni viie, 654 00:34:36,210 --> 00:34:39,030 mitte asi, mis on suurem või võrdne kuni üheksat. 655 00:34:39,030 --> 00:34:39,530 Ma peatada. 656 00:34:39,530 --> 00:34:40,779 Ma ei vaata enam seda. 657 00:34:40,779 --> 00:34:43,280 Ma käiks. 658 00:34:43,280 --> 00:34:44,850 >> Ma üleolevalt selle ühe. 659 00:34:44,850 --> 00:34:46,370 Alaserva, leian kuus. 660 00:34:46,370 --> 00:34:50,040 Ma tean, et ma lähen vähemalt kuus. 661 00:34:50,040 --> 00:34:53,130 Ja mida ma saan teha? 662 00:34:53,130 --> 00:34:54,877 Ma ei saa peatada. 663 00:34:54,877 --> 00:34:57,460 Sest seal on valida midagi, mis on vähemalt kuus 664 00:34:57,460 --> 00:34:59,250 ja midagi, mis on vähem kui viis, et ta on 665 00:34:59,250 --> 00:35:02,570 annan mulle asi see on vähem kui viis. 666 00:35:02,570 --> 00:35:04,779 Ja nüüd ma tean, et ma lähen saada täpselt seda valikut. 667 00:35:04,779 --> 00:35:06,195 Ma lähen, et viie valik. 668 00:35:06,195 --> 00:35:08,980 669 00:35:08,980 --> 00:35:10,010 >> Ma lähen tagasi kuni tippu. 670 00:35:10,010 --> 00:35:11,450 Mis ma nüüd valida midagi 671 00:35:11,450 --> 00:35:14,449 see on suurem või võrdne neljani või midagi, mis on võrdne viis? 672 00:35:14,449 --> 00:35:17,140 Ma lähen võtta midagi see on vähemalt viis. 673 00:35:17,140 --> 00:35:20,490 Ma lähen alla viimane rada, kõik Muide alaserva. 674 00:35:20,490 --> 00:35:21,260 Seal on üks. 675 00:35:21,260 --> 00:35:23,410 OK, vähemalt ma saan ühe punkti. 676 00:35:23,410 --> 00:35:24,427 Ma käiks. 677 00:35:24,427 --> 00:35:25,760 Kaks, oh, see on parem kui üks. 678 00:35:25,760 --> 00:35:27,100 Ma lähen vähemalt kaks. 679 00:35:27,100 --> 00:35:28,610 Ma leian, kolm. 680 00:35:28,610 --> 00:35:31,450 Ma tean, et ma lähen kolm. 681 00:35:31,450 --> 00:35:34,690 >> Ja koht üle, et minu vastane läheb 682 00:35:34,690 --> 00:35:38,540 mulle midagi, mis on väiksem või võrdne kolmega. 683 00:35:38,540 --> 00:35:40,940 Ja nüüd ma ei saa peatada. 684 00:35:40,940 --> 00:35:46,290 Sest valida mulle on võimalik saada viis ja minu vastane 685 00:35:46,290 --> 00:35:52,290 annab mulle midagi vähem kui kolm, Ma olen alati aega võtab, et viis. 686 00:35:52,290 --> 00:35:56,810 Nii et ma ei hinnata, et alumine osa puu üldse. 687 00:35:56,810 --> 00:35:59,470 >> Nüüd, see võib tunduda väike. 688 00:35:59,470 --> 00:36:03,630 Aga kui vähe bitti aritmeetika, suurem kui ja väiksem 689 00:36:03,630 --> 00:36:10,640 saab lõigata ära kogu osi see plahvatuslikult kasvav puu, 690 00:36:10,640 --> 00:36:14,280 mis viib tohutu summa kokkuhoid, kokkuhoid 691 00:36:14,280 --> 00:36:17,630 mis on piisavalt suured, et ma saad mängida konkurentsis 692 00:36:17,630 --> 00:36:21,330 kell keerulisem mänge. 693 00:36:21,330 --> 00:36:27,030 >> Hea küll, kui me vaatame suurus ja keerukust erinevaid mänge, 694 00:36:27,030 --> 00:36:29,470 tic-tac-toe oli meie lihtne näide. 695 00:36:29,470 --> 00:36:32,150 Meil on väike pardal, kolm kolmest. 696 00:36:32,150 --> 00:36:36,030 Me saame parimal juhul keskmiselt umbes neli erinevaid valikuid 697 00:36:36,030 --> 00:36:38,440 kui me minna läbi mängu. 698 00:36:38,440 --> 00:36:42,720 Meil on kuskil 10 kuni Viienda võimalike erinevate lehtedega. 699 00:36:42,720 --> 00:36:45,200 Ja hoone tic-tac-toe mängija, noh, me lihtsalt tegime seda. 700 00:36:45,200 --> 00:36:47,460 See on lihtne. 701 00:36:47,460 --> 00:36:49,890 >> Kui me läheme üles midagi keeruline, nagu Connect Four. 702 00:36:49,890 --> 00:36:53,170 Kas sa mäletad seda mängu, kus lohistad vähe märkidel? 703 00:36:53,170 --> 00:36:58,490 See on kuus seitse pardal, ei ole nii palju suurem, veel 704 00:36:58,490 --> 00:37:00,770 on umbes sama hargnevate tegur tic-tac-toe. 705 00:37:00,770 --> 00:37:05,410 Mul on umbes neli valikuid kus ma saan panna asju. 706 00:37:05,410 --> 00:37:10,760 Aga nüüd, mul on palju rohkem viib, 10. 21. võimu. 707 00:37:10,760 --> 00:37:14,440 See on midagi, mida on lihtne piisavalt, et me lahendame selle kohe. 708 00:37:14,440 --> 00:37:17,560 >> Kabe, rohkem complex-- sa sai kaheksa kaheksa pardal. 709 00:37:17,560 --> 00:37:20,570 Sa oled vaid pool neid igal ajal, kuigi. 710 00:37:20,570 --> 00:37:24,930 Sul on hargnevate tegur, mis on umbes 2,8. 711 00:37:24,930 --> 00:37:28,160 Noh, meil on paar liigub võite võtta. 712 00:37:28,160 --> 00:37:33,870 Sul on umbes 10 kuni 31. lehed, suurem ja suurem, ja suured vahed. 713 00:37:33,870 --> 00:37:37,340 Kuna mul on otsida need suuremaks ruumid, 714 00:37:37,340 --> 00:37:42,220 see on kui asjad alfa-beeta ja on võimalik lõigata ära kogu oksad 715 00:37:42,220 --> 00:37:44,420 muutub oluliseks. 716 00:37:44,420 --> 00:37:47,440 >> Nüüd, kabe oli piisavalt lihtne 1992. aastal. 717 00:37:47,440 --> 00:37:51,400 Arvutiprogramm nimetatakse Chinook võita maailma kabe 718 00:37:51,400 --> 00:37:53,590 meister, Marion Tinsley. 719 00:37:53,590 --> 00:37:57,260 Ja sellest ajast peale, ei ole Inimese kapten mängija 720 00:37:57,260 --> 00:38:02,290 suutnud võita parim arvutuslikke süsteemid. 721 00:38:02,290 --> 00:38:06,570 Kui me vaatame midagi nagu male, nüüd uuesti, siis on meil kaheksa kaheksa pardal. 722 00:38:06,570 --> 00:38:09,870 Aga meil on palju keerulisem tükki, palju keerulisem liigutusi. 723 00:38:09,870 --> 00:38:14,610 Meil on hargnevate koefitsient on 35, 35 võimalikke käike keskmiselt 724 00:38:14,610 --> 00:38:20,030 et ma ei võta, ja riik ruumi, mõned lehed 725 00:38:20,030 --> 00:38:28,950 mis on kasvanud 10 kuni 123. võimu, tohutu hulk võimalusi. 726 00:38:28,950 --> 00:38:35,570 >> Isegi veel, kaasaegne töötlejad on võimalik seda teha edukalt. 727 00:38:35,570 --> 00:38:43,900 Aastal 1995 ja seejärel aastal 1997, arvuti programmi nimega Deep Blue ehitatud IBM 728 00:38:43,900 --> 00:38:49,601 mis jooksis hiiglane superarvuti peksid praegune maailmameister, 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 See oli pöördepunktiks. 732 00:38:56,650 --> 00:39:00,620 Täna aga, et sama töötlemine power istub minu MacBook. 733 00:39:00,620 --> 00:39:04,180 734 00:39:04,180 --> 00:39:06,440 >> Töökiirust hoiab saada kiiremini ja kiiremini. 735 00:39:06,440 --> 00:39:09,500 Me ei hinnata enam ja enam lauad kiiremini ja kiiremini. 736 00:39:09,500 --> 00:39:14,550 Kuid mis veel tähtsam, meil on parem hindamise funktsioonid ja parem pügamine 737 00:39:14,550 --> 00:39:15,460 meetodeid. 738 00:39:15,460 --> 00:39:19,560 Nii saame otsida ruumi rohkem kompleksselt. 739 00:39:19,560 --> 00:39:22,350 Suurim juhatuse mängud, mida me ei mõtle, 740 00:39:22,350 --> 00:39:26,310 midagi Go, mis on sain 19 19 pardal, 741 00:39:26,310 --> 00:39:32,490 nüüd äkki, et oleme viimase punkti kus arvutuslikke süsteeme on võimalik võita. 742 00:39:32,490 --> 00:39:34,530 Pole arvutuslikke süsteem seal 743 00:39:34,530 --> 00:39:38,880 mis võib võita professionaalne Go mängija. 744 00:39:38,880 --> 00:39:45,000 Parim süsteemid täna auaste see umbes omamoodi hea amatöör tasemel. 745 00:39:45,000 --> 00:39:49,285 Nii et on ikka üsna vähe välja seal, et sa ei saa, veel. 746 00:39:49,285 --> 00:39:51,840 747 00:39:51,840 --> 00:39:55,360 >> Olgu, need traditsioonilised lauamängud, 748 00:39:55,360 --> 00:39:58,560 selliseid süsteeme, kus me ehitada Minimax, kas see sai 749 00:39:58,560 --> 00:40:06,300 alfa-beeta või mitte, nende algoritmide töö sest seal on teatud piirangud. 750 00:40:06,300 --> 00:40:08,520 Meil on täiuslik informatsioon maailma kohta. 751 00:40:08,520 --> 00:40:11,690 Me teame, kui kõik tükid on. 752 00:40:11,690 --> 00:40:13,570 Maailm on staatiline. 753 00:40:13,570 --> 00:40:16,220 Keegi ei saa liikuda tükid ümber kuigi ma olen 754 00:40:16,220 --> 00:40:20,640 istub seal mõtlesin, võttes minu kord. 755 00:40:20,640 --> 00:40:23,140 Seal on hagi ruumi, mis on diskreetne. 756 00:40:23,140 --> 00:40:26,900 Ma ei pane minu ettur siin või ma ei pane minu ettur siin. 757 00:40:26,900 --> 00:40:30,520 Ma ei lubatud panna minu ettur joone vahele kaks ruutu. 758 00:40:30,520 --> 00:40:34,430 759 00:40:34,430 --> 00:40:36,520 >> Ja lõpuks, tegevused on determineeritud. 760 00:40:36,520 --> 00:40:39,790 Ma tean, et kui ma ütlen, Vanker, et ratsu kolm, 761 00:40:39,790 --> 00:40:44,660 minu vanker läheb lõpuks Knight kolm, nii kaua kui see on kehtiv liikuda. 762 00:40:44,660 --> 00:40:47,830 Ei ole ebakindlus et. 763 00:40:47,830 --> 00:40:52,490 Nüüd, kui ma lähen rohkem erinevaid mänge, 764 00:40:52,490 --> 00:40:55,960 meil murda need eeldused. 765 00:40:55,960 --> 00:41:00,020 >> Mis siis, kui ma lähen midagi nagu klassikaline mängud? 766 00:41:00,020 --> 00:41:04,180 Siin on valik video mänge Atari 2600. 767 00:41:04,180 --> 00:41:05,180 Mida ma pean seal? 768 00:41:05,180 --> 00:41:08,440 Mul Frogger, Space Sissetungijad, Pitfall ja Pac-Man. 769 00:41:08,440 --> 00:41:11,290 770 00:41:11,290 --> 00:41:14,840 Milliseid keskkondi ma pean nüüd siin? 771 00:41:14,840 --> 00:41:16,900 Milline neist eeldustest ma pean murda? 772 00:41:16,900 --> 00:41:19,410 773 00:41:19,410 --> 00:41:21,570 >> Noh, see sõltub mängust. 774 00:41:21,570 --> 00:41:28,170 Ma võiks mängida malet 2600, ja oleks just nagu ta oli enne. 775 00:41:28,170 --> 00:41:33,020 Enamiku neist süsteemidest, seal on täielik teadmisi maailma. 776 00:41:33,020 --> 00:41:36,300 Seal on täiesti determineeritud tegevusi. 777 00:41:36,300 --> 00:41:38,330 Aga tavaliselt, maailma enam staatiline. 778 00:41:38,330 --> 00:41:41,970 See tähendab, et kui ma istun seal ootab, midagi liigub. 779 00:41:41,970 --> 00:41:44,320 Tondid tulevad mind. 780 00:41:44,320 --> 00:41:46,570 Skorpion on järgmised mulle alt. 781 00:41:46,570 --> 00:41:48,880 Space Invaders on lähemale ja lähemale. 782 00:41:48,880 --> 00:41:54,020 783 00:41:54,020 --> 00:41:55,510 Kui hästi me saame teha nende vastu? 784 00:41:55,510 --> 00:41:58,640 785 00:41:58,640 --> 00:42:02,790 >> Paar aastat tagasi, Google oli projekti nimega 786 00:42:02,790 --> 00:42:12,030 DeepMind, kus nad koolitatud arvuti Programm mängida Atari 2600 mängud. 787 00:42:12,030 --> 00:42:16,120 Ja kui te arvate, et see ei ole tõsine äri, tulemused nende uuring 788 00:42:16,120 --> 00:42:19,920 avaldati ajakirjas Nature, et lihtsalt nii hea avaldamine 789 00:42:19,920 --> 00:42:22,500 kui saad olla saan. 790 00:42:22,500 --> 00:42:24,340 Ja siin on, kui hästi nad läbi. 791 00:42:24,340 --> 00:42:29,220 >> Nad on algoritm, mis istus ja vaatasin lihtsalt ekraani sisendeid. 792 00:42:29,220 --> 00:42:34,080 See sai mingit juhised üldse umbes mängureeglid. 793 00:42:34,080 --> 00:42:42,610 Ja see pidi välja mõtlema, rajas oma skoor, kui hästi ta teeb. 794 00:42:42,610 --> 00:42:46,560 See oli süsteem, mis kasutatakse midagi nimetatakse tugevdamine õppimist. 795 00:42:46,560 --> 00:42:48,380 See tähendab, et ta vaatas oma skoor. 796 00:42:48,380 --> 00:42:51,620 Ja kui ta sai hea tulemus, ütles ta, Ma ei tohi unustada neid asju. 797 00:42:51,620 --> 00:42:53,310 Ja ma peaks tegema need uuesti. 798 00:42:53,310 --> 00:42:56,450 Ja kui ta sai halb skoor, seda ütles, Ma ei tohiks teha neid asju uuesti. 799 00:42:56,450 --> 00:42:59,750 800 00:42:59,750 --> 00:43:03,430 >> See on täitmiseks nende koolitatud süsteemid 801 00:43:03,430 --> 00:43:07,490 lubatud mängida jaoks paari tunni jooksul iga mängu, 802 00:43:07,490 --> 00:43:12,490 võrreldakse professionaalne mängijatele. 803 00:43:12,490 --> 00:43:19,670 Nii kõik mängud, mis on vasakule küljele seda joont, 804 00:43:19,670 --> 00:43:25,920 Selle iseõppinud arvutiprogrammi edestas professionaalne mängijatele. 805 00:43:25,920 --> 00:43:29,690 Ja kõik, et õige, professionaalne mängijatele 806 00:43:29,690 --> 00:43:30,920 olid ikka parim. 807 00:43:30,920 --> 00:43:34,040 808 00:43:34,040 --> 00:43:36,850 Midagi, mis teadis midagi reeglid, mis 809 00:43:36,850 --> 00:43:43,020 teadnud midagi struktuur mängud, see on muljetavaldav tulemuslikkuse. 810 00:43:43,020 --> 00:43:45,660 Ja see on see, mida me saame teha täna. 811 00:43:45,660 --> 00:43:50,239 >> OK, sa ütled, aga kui me mõtle AI mänge, 812 00:43:50,239 --> 00:43:52,530 Tavaliselt mõtleme asju, mida me saame tegelikult 813 00:43:52,530 --> 00:43:54,180 istuda ja mängida. 814 00:43:54,180 --> 00:43:58,760 Kui ma istuda ja ma mängin StarCraft või Mängin Tasuta sõela, 815 00:43:58,760 --> 00:44:01,870 arvuti vastane on isik, kes kontrollib Zerg, 816 00:44:01,870 --> 00:44:06,770 või kontrollida teiste tsivilisatsiooni. 817 00:44:06,770 --> 00:44:11,920 Kuidas need mängijad tegelikult leida oma käigud? 818 00:44:11,920 --> 00:44:18,810 >> Noh, need mängud on ehitatud samamoodi nagu meie lauamänge, 819 00:44:18,810 --> 00:44:22,250 neid mänge, et me tulen ühiselt kutsuda neli X mängud, 820 00:44:22,250 --> 00:44:26,040 uurida, expand-- unustada need. 821 00:44:26,040 --> 00:44:26,980 Mis nad on? 822 00:44:26,980 --> 00:44:32,150 Uuri, laiendada ja kustutada, Ma arvan, et on viimane. 823 00:44:32,150 --> 00:44:36,060 Aga nad on põhimõtteliselt uurimise ja vallutada mängud. 824 00:44:36,060 --> 00:44:41,020 Tavaliselt arvuti vastane seal on vähe teavet. 825 00:44:41,020 --> 00:44:45,486 Nad ei tea täpselt, mis toimub selle taga udu sõja. 826 00:44:45,486 --> 00:44:47,735 Nad ei saa näha, mis sa pead oma nimekirja. 827 00:44:47,735 --> 00:44:50,240 828 00:44:50,240 --> 00:44:52,800 >> Seal on keskkond, mis on dünaamiline. 829 00:44:52,800 --> 00:44:56,180 Kõik muutub kogu aeg. 830 00:44:56,180 --> 00:45:00,290 Sa ei saa istuda ja oodata, et teha oma liikuda. 831 00:45:00,290 --> 00:45:02,810 Aga enamik asju on veel diskreetne. 832 00:45:02,810 --> 00:45:04,200 Mul on panna oma linna siin. 833 00:45:04,200 --> 00:45:06,750 Või pean panen linna siin. 834 00:45:06,750 --> 00:45:08,950 Ja kõik on determineeritud. 835 00:45:08,950 --> 00:45:14,660 Kui ma ütlen, liikuda oma seadme siin, minu üksus liigub siin, kui ei ole takistust äkki 836 00:45:14,660 --> 00:45:17,700 hakkavad. 837 00:45:17,700 --> 00:45:21,610 Nüüd, see pole veel kõik arvutis mängud, mis on seal täna. 838 00:45:21,610 --> 00:45:27,320 >> Kui ma lähen ja mängin esimene inimene tüübist Mängu midagi varas või Fallout 839 00:45:27,320 --> 00:45:33,350 või Skyrim, või Halo, nüüd Mul on arvuti vastased 840 00:45:33,350 --> 00:45:37,860 mis on seal, et on väga erinevas olukorras. 841 00:45:37,860 --> 00:45:40,020 Nad on jällegi vähe infot. 842 00:45:40,020 --> 00:45:43,420 Nad ainult ei näe Teatud vaatevälja. 843 00:45:43,420 --> 00:45:45,180 Keskkond on ikka dünaamiline. 844 00:45:45,180 --> 00:45:48,280 Asjad muutuvad kogu aeg. 845 00:45:48,280 --> 00:45:52,300 >> Aga nüüd on mul palju pidev tegevus ruumi. 846 00:45:52,300 --> 00:45:57,170 Ma ei saa lihtsalt piilumist natuke välja ukseava. 847 00:45:57,170 --> 00:46:00,650 Ja mõned mängud, minu meetmed on stohhastiline. 848 00:46:00,650 --> 00:46:04,590 Ma saan proovida hüpata üle, et seina, kuid mul on võimalus ebaõnnestuda. 849 00:46:04,590 --> 00:46:08,280 850 00:46:08,280 --> 00:46:14,550 Seda tüüpi mängud on jõudmas ja lähemale liiki kontrollerid 851 00:46:14,550 --> 00:46:17,330 et me ehitame robootika. 852 00:46:17,330 --> 00:46:21,050 >> Robootika, peame eeldama et meil on vähe teavet. 853 00:46:21,050 --> 00:46:23,070 Meil on andurid, mis pajatavad maailma. 854 00:46:23,070 --> 00:46:25,860 Meil on alati muutuvas, dünaamiline keskkond. 855 00:46:25,860 --> 00:46:30,440 Meil on maailm, kus ruumi on pidev, mitte diskreetne. 856 00:46:30,440 --> 00:46:36,260 Ja meie teod, kui püüame neid on võimalus ebaõnnestuda. 857 00:46:36,260 --> 00:46:40,960 Ja tegelikult, kaasaegse mängu lennujuhte oma Halo vastane, 858 00:46:40,960 --> 00:46:48,690 või neile Riiklik kontaktisik Skyrim, põhiliselt perefirmad robootika arhitektuuri. 859 00:46:48,690 --> 00:46:50,380 >> Nad tunnetavad maailma. 860 00:46:50,380 --> 00:46:52,910 Nad ehitada maailma mudel. 861 00:46:52,910 --> 00:46:57,950 Nad Arvuta põhineb komplekt eesmärke, et nad sooviksid täita. 862 00:46:57,950 --> 00:47:03,110 Nad kavatsevad tegevuse aluseks kohta, mida nad teavad. 863 00:47:03,110 --> 00:47:07,940 Ja need on täpselt samasugused süsteeme, mis me ehitame robootika. 864 00:47:07,940 --> 00:47:11,420 Nii et need arhitektuurid, et viia see tagasi kokku, 865 00:47:11,420 --> 00:47:14,500 on sageli üsna sama. 866 00:47:14,500 --> 00:47:16,340 >> Vaatame, kas me saame seda näha. 867 00:47:16,340 --> 00:47:19,210 Lähme tagasi meie tic-tac-toe näiteks. 868 00:47:19,210 --> 00:47:22,690 Ja ma küsin paar minu järeldoktori tulla ja mind aidata. 869 00:47:22,690 --> 00:47:26,970 Nii Chen Ming ja Alessandro ja Olivier, kui te poisid oleks tulla. 870 00:47:26,970 --> 00:47:32,080 871 00:47:32,080 --> 00:47:35,440 Ja ma vajan paar vabatahtlikel 872 00:47:35,440 --> 00:47:37,590 >> OK, ma nägin käsi paremale üles seal keset. 873 00:47:37,590 --> 00:47:39,965 Lubage mul veel üks, keegi edasi tagasi äkki. 874 00:47:39,965 --> 00:47:40,881 Olgu, seal. 875 00:47:40,881 --> 00:47:41,490 Tule üles. 876 00:47:41,490 --> 00:47:44,190 877 00:47:44,190 --> 00:47:45,335 Hästi. 878 00:47:45,335 --> 00:47:49,490 Võtame selle katte alla. 879 00:47:49,490 --> 00:48:03,700 Ja kui te poisid tulevad õige tagasi siinkandis minu jaoks fantastiline. 880 00:48:03,700 --> 00:48:06,580 >> Nii et see on robot nimega Baxter. 881 00:48:06,580 --> 00:48:10,880 Ja Baxter on robot, mis on kaubik platvorm, mille eesmärk on 882 00:48:10,880 --> 00:48:13,030 firma nimega Rethink. 883 00:48:13,030 --> 00:48:16,580 Ja see robot on mõeldud väikesemahulise tootmise. 884 00:48:16,580 --> 00:48:19,265 Aga täna me ei kavatse kasuta seda mängida tic-tac-toe. 885 00:48:19,265 --> 00:48:21,930 886 00:48:21,930 --> 00:48:27,150 Nüüd on see robot on ka midagi see on suhteliselt unikaalne. 887 00:48:27,150 --> 00:48:32,950 Sest kui ma seisid kõikjal lähedal standard tehase automaatika 888 00:48:32,950 --> 00:48:39,580 süsteemi, oleksin väga tõsine oht vigastada. 889 00:48:39,580 --> 00:48:45,600 >> Baxter, aga eesmärk on olla suhteliselt ohutu suhelda. 890 00:48:45,600 --> 00:48:48,680 Ja nii ma ei lükka seda robot. 891 00:48:48,680 --> 00:48:52,350 Ja näed, et see on natuke natuke paindlik, sest see liigub. 892 00:48:52,350 --> 00:48:57,250 Ja ma ei saa ümber paigutada kus ma tahan seda teha. 893 00:48:57,250 --> 00:49:03,410 Nüüd on normaalne robotsüsteem, meil oleks komplekti liigesed siin 894 00:49:03,410 --> 00:49:07,970 mis oleks otseselt vastates positsiooni käske. 895 00:49:07,970 --> 00:49:13,180 Ja nad ei pruugi huvita kui nad liikusid läbi vabas õhus, 896 00:49:13,180 --> 00:49:15,555 või kui nad liikusid läbi mu rinnakorv. 897 00:49:15,555 --> 00:49:18,410 898 00:49:18,410 --> 00:49:19,120 >> OKEI. 899 00:49:19,120 --> 00:49:22,090 Ja tavaliselt, kui sa olid siin tööstuslik süsteem, 900 00:49:22,090 --> 00:49:23,400 sa läheks kuhugi lähedale. 901 00:49:23,400 --> 00:49:26,280 Ei oleks kollane kaitseteipi kõik ümber. 902 00:49:26,280 --> 00:49:28,310 See süsteem on veidi erinev disain 903 00:49:28,310 --> 00:49:32,130 olla sõbralikum ja lihtsam inimesed suhtlevad, 904 00:49:32,130 --> 00:49:36,380 et igas ühine, seal on kevadel. 905 00:49:36,380 --> 00:49:39,110 Ja mitte kontrollimiseks täpne asukoht, 906 00:49:39,110 --> 00:49:43,110 me kontrollida teatud summa pöördemoment, teatud jõud, 907 00:49:43,110 --> 00:49:45,874 et me tahaks olla, et kevadel. 908 00:49:45,874 --> 00:49:47,790 Olgu, las ma võta meie vabatahtlikega siin. 909 00:49:47,790 --> 00:49:48,540 Tere, mis su nimi on? 910 00:49:48,540 --> 00:49:49,010 >> Sihtrühm: Louis. 911 00:49:49,010 --> 00:49:49,635 >> SPEAKER: Louis. 912 00:49:49,635 --> 00:49:50,490 Tore sind näha. 913 00:49:50,490 --> 00:49:50,990 Ja? 914 00:49:50,990 --> 00:49:51,610 >> Sihtrühm: David. 915 00:49:51,610 --> 00:49:51,960 >> SPEAKER: David. 916 00:49:51,960 --> 00:49:52,550 Meeldiv tutvuda. 917 00:49:52,550 --> 00:49:54,508 Kui te poisid ei oota siinsamas teist, 918 00:49:54,508 --> 00:49:56,420 Ma annan teile võimalus seda teha. 919 00:49:56,420 --> 00:50:00,610 Nii et see robot, kui sa tulla ja kui surute seda õrnalt, 920 00:50:00,610 --> 00:50:03,780 sa lähed, et näha, et see liigub natuke. 921 00:50:03,780 --> 00:50:06,349 Ja kui te rüütama see õige siin randme lihtsalt 922 00:50:06,349 --> 00:50:09,390 Ülaltoodud kus need nupud on, seda Tundub, et sa peaksid haarata nupud, 923 00:50:09,390 --> 00:50:13,100 kuid haarata õigus üle selle asemel, saate suutma väga õrnalt manipuleerida seda 924 00:50:13,100 --> 00:50:14,545 läbi kosmose. 925 00:50:14,545 --> 00:50:15,920 Louis, sa tahad seda proovida? 926 00:50:15,920 --> 00:50:19,465 Nii et see natuke push alustada. 927 00:50:19,465 --> 00:50:23,190 Ja siis, kui paned oma sõrmi seal ja kinni hoida, et see, 928 00:50:23,190 --> 00:50:24,807 sest ta liigub teile siis. 929 00:50:24,807 --> 00:50:27,824 930 00:50:27,824 --> 00:50:29,365 Olgu, sa tahad seda proovida? 931 00:50:29,365 --> 00:50:29,980 Tule üles. 932 00:50:29,980 --> 00:50:32,300 Nii et see vaid õrn push seal hakata. 933 00:50:32,300 --> 00:50:33,820 Võite tunda, mis tunne on. 934 00:50:33,820 --> 00:50:40,060 Ja siis, kui te rüütama see seal, Teil on võimalik manööverdada ümber. 935 00:50:40,060 --> 00:50:41,280 >> OKEI. 936 00:50:41,280 --> 00:50:47,360 Nii tavaliselt selline robot oleks kasutatakse väikesemahuliste tootmine. 937 00:50:47,360 --> 00:50:50,980 Ja ma liigutada käsi lihtsalt maha teed natuke siin. 938 00:50:50,980 --> 00:50:55,750 Aga täna, me ei kavatse kasutada Sama tic-tac-toe mängides süsteemi 939 00:50:55,750 --> 00:50:59,520 põhineb Minimax, et me varem rajatud. 940 00:50:59,520 --> 00:51:00,549 OKEI? 941 00:51:00,549 --> 00:51:02,340 Nii, kutid on iga läheb mängima mängu. 942 00:51:02,340 --> 00:51:04,210 Louis, sa lähed, et olla esimene. 943 00:51:04,210 --> 00:51:05,920 Lubage mul lihtsalt hoia siin teist. 944 00:51:05,920 --> 00:51:10,949 Ma lähen teile seisa siin, just nii kõik näevad sind. 945 00:51:10,949 --> 00:51:11,990 Kas te luua siin? 946 00:51:11,990 --> 00:51:13,120 >> Robot: Tere. 947 00:51:13,120 --> 00:51:15,910 Mängime tic-tac-toe. 948 00:51:15,910 --> 00:51:20,860 Ärge haarake oma sümboolne enne Ma ütlen, et see on sinu kord. 949 00:51:20,860 --> 00:51:22,050 Ma alustada mängu. 950 00:51:22,050 --> 00:51:27,900 951 00:51:27,900 --> 00:51:28,750 See on minu kord. 952 00:51:28,750 --> 00:51:47,002 953 00:51:47,002 --> 00:51:50,210 SPEAKER: Nüüd, kui sa saaksid olla üks oma tükki ja minna ja panna see. 954 00:51:50,210 --> 00:51:51,446 Robot: See on teie kord. 955 00:51:51,446 --> 00:51:53,430 [NAER] 956 00:51:53,430 --> 00:51:54,836 See on minu kord. 957 00:51:54,836 --> 00:51:56,820 [NAER] 958 00:51:56,820 --> 00:52:12,196 959 00:52:12,196 --> 00:52:15,680 [NAER] 960 00:52:15,680 --> 00:52:16,570 See on teie kord. 961 00:52:16,570 --> 00:52:21,397 962 00:52:21,397 --> 00:52:23,688 SPEAKER: Inimkond on arvestame teiega siin, Louis. 963 00:52:23,688 --> 00:52:27,440 964 00:52:27,440 --> 00:52:28,350 >> Robot: See on minu kord. 965 00:52:28,350 --> 00:52:44,810 966 00:52:44,810 --> 00:52:47,015 >> SPEAKER: Nii Baxter edukalt blokeerinud siin. 967 00:52:47,015 --> 00:52:49,670 968 00:52:49,670 --> 00:52:52,480 >> Robot: See on teie kord. 969 00:52:52,480 --> 00:52:53,360 See on minu kord. 970 00:52:53,360 --> 00:53:14,730 971 00:53:14,730 --> 00:53:16,810 See on teie kord. 972 00:53:16,810 --> 00:53:17,760 See on minu kord. 973 00:53:17,760 --> 00:53:21,330 974 00:53:21,330 --> 00:53:23,830 SPEAKER: Ja me laseme Baxter lõpetada oma viimase käigu siin. 975 00:53:23,830 --> 00:53:36,622 976 00:53:36,622 --> 00:53:39,090 >> [NAER] 977 00:53:39,090 --> 00:53:40,480 >> Robot: See on lips. 978 00:53:40,480 --> 00:53:42,030 Ma võidab järgmine kord. 979 00:53:42,030 --> 00:53:43,365 >> [NAER] 980 00:53:43,365 --> 00:53:45,210 >> SPEAKER: Hea küll, Tänan, Louis. 981 00:53:45,210 --> 00:53:46,094 Aitäh. 982 00:53:46,094 --> 00:53:46,980 Võite minna seda teed. 983 00:53:46,980 --> 00:53:49,759 >> Robot: ma alustada mängu. 984 00:53:49,759 --> 00:53:51,800 SPEAKER: Nii Seletan teile veel üks väike 985 00:53:51,800 --> 00:53:55,410 natuke enne kui saame meie mängime taas siin. 986 00:53:55,410 --> 00:53:57,200 Mis täpselt toimub? 987 00:53:57,200 --> 00:53:59,430 Nii et robot on kaamera up top siin. 988 00:53:59,430 --> 00:54:01,330 Ja see on alla vaadates pardal. 989 00:54:01,330 --> 00:54:04,470 Ja see on näha, kas see sai punase O või sinine 990 00:54:04,470 --> 00:54:10,450 ja valge X. Kuna need saavad panna pardal, mis on põhimõtteliselt sama sisendi 991 00:54:10,450 --> 00:54:13,890 et meil oleks lugedes alates Meie andmete struktuuri meie ekraanil. 992 00:54:13,890 --> 00:54:17,290 See töötab sama minimax algoritm 993 00:54:17,290 --> 00:54:21,010 võimalik leida, kust koht hea märk. 994 00:54:21,010 --> 00:54:24,820 >> Ja siis anname käsu kohta kus me tahaksime märgina panna. 995 00:54:24,820 --> 00:54:26,120 Õlg kolimist. 996 00:54:26,120 --> 00:54:31,750 See kasutades vaakumit haarats kohaldada mõned imemise et klots, 997 00:54:31,750 --> 00:54:35,240 buffee, liigutada paremale kohapeal, ja seejärel vabastage äraveo 998 00:54:35,240 --> 00:54:36,950 ja kukuta. 999 00:54:36,950 --> 00:54:38,990 Hea küll, me läheme anda talle veel üks shot 1000 00:54:38,990 --> 00:54:40,930 veidi targemaks mängija siin. 1001 00:54:40,930 --> 00:54:42,290 Oled valmis? 1002 00:54:42,290 --> 00:54:46,150 Olgu, kui sa seisa püsti siin ja anda a-- siis nii läks 1003 00:54:46,150 --> 00:54:47,955 nii et näete kõigile. 1004 00:54:47,955 --> 00:54:48,830 Ja siis [kuuldamatu]. 1005 00:54:48,830 --> 00:54:49,330 >> Robot: See on minu kord. 1006 00:54:49,330 --> 00:54:50,455 >> SPEAKER: Baxter hakkab. 1007 00:54:50,455 --> 00:55:10,750 1008 00:55:10,750 --> 00:55:11,730 See on teie kord. 1009 00:55:11,730 --> 00:55:16,490 1010 00:55:16,490 --> 00:55:17,520 See on minu kord. 1011 00:55:17,520 --> 00:55:38,740 1012 00:55:38,740 --> 00:55:39,690 See on teie kord. 1013 00:55:39,690 --> 00:55:46,330 1014 00:55:46,330 --> 00:55:47,165 See on minu kord. 1015 00:55:47,165 --> 00:56:01,252 1016 00:56:01,252 --> 00:56:06,192 >> [NAER] 1017 00:56:06,192 --> 00:56:08,542 >> SPEAKER: [WHISPERING] Just lase tal minna ja võita. 1018 00:56:08,542 --> 00:56:09,500 Robot: See on teie kord. 1019 00:56:09,500 --> 00:56:15,099 1020 00:56:15,099 --> 00:56:15,890 SPEAKER: See on OK. 1021 00:56:15,890 --> 00:56:20,390 1022 00:56:20,390 --> 00:56:21,360 >> Robot: See on minu kord. 1023 00:56:21,360 --> 00:56:24,825 1024 00:56:24,825 --> 00:56:26,805 >> [NAER] 1025 00:56:26,805 --> 00:56:42,650 1026 00:56:42,650 --> 00:56:43,510 >> Ma võidan. 1027 00:56:43,510 --> 00:56:45,620 >> [NAER] 1028 00:56:45,620 --> 00:56:46,595 >> Ma alustada mängu. 1029 00:56:46,595 --> 00:56:48,261 >> SPEAKER: Olgu, tänan teid väga. 1030 00:56:48,261 --> 00:56:50,180 1031 00:56:50,180 --> 00:56:55,590 Hea küll, ma arvan, et meil aega veel üks suurepärane tic-tac-toe mängija, 1032 00:56:55,590 --> 00:57:00,490 keegi, kes suudab panna see asi Naudi kes teab, mida nad teevad. 1033 00:57:00,490 --> 00:57:03,010 >> [NAER] 1034 00:57:03,010 --> 00:57:05,560 >> Kes saab olema meie meister siin? 1035 00:57:05,560 --> 00:57:08,110 Olgu, teie sõbrad vabatahtlikult teile. 1036 00:57:08,110 --> 00:57:11,190 See on minu jaoks piisavalt hea. 1037 00:57:11,190 --> 00:57:12,194 Ütle mulle oma nimi uuesti. 1038 00:57:12,194 --> 00:57:12,860 Sihtrühm: Tamir. 1039 00:57:12,860 --> 00:57:14,193 SPEAKER: Tamir, tore sind näha. 1040 00:57:14,193 --> 00:57:19,270 Hea küll, jälle, me ei kavatse panna teid õige siia, et kõik saaksid näha. 1041 00:57:19,270 --> 00:57:22,070 Olete meie esindaja Selles mängu nüüd. 1042 00:57:22,070 --> 00:57:24,540 Baxter on üks ja oh ja oh. 1043 00:57:24,540 --> 00:57:26,300 Või sorry, üks oh ja ühe. 1044 00:57:26,300 --> 00:57:27,490 Ja see on kuni teil siin. 1045 00:57:27,490 --> 00:57:29,340 Baxter saavad liikuda esimene, kuigi. 1046 00:57:29,340 --> 00:57:30,435 So. 1047 00:57:30,435 --> 00:57:31,310 Robot: See on minu kord. 1048 00:57:31,310 --> 00:57:45,226 1049 00:57:45,226 --> 00:57:48,208 >> [NAER] 1050 00:57:48,208 --> 00:57:52,720 1051 00:57:52,720 --> 00:57:55,780 >> See on teie kord. 1052 00:57:55,780 --> 00:57:56,845 See on minu kord. 1053 00:57:56,845 --> 00:58:18,130 1054 00:58:18,130 --> 00:58:18,965 See on teie kord. 1055 00:58:18,965 --> 00:58:28,751 1056 00:58:28,751 --> 00:58:30,248 See on minu kord. 1057 00:58:30,248 --> 00:58:51,210 1058 00:58:51,210 --> 00:58:52,160 See on teie kord. 1059 00:58:52,160 --> 00:59:00,854 1060 00:59:00,854 --> 00:59:03,365 >> [NAER] 1061 00:59:03,365 --> 00:59:04,240 Robot: See on minu kord. 1062 00:59:04,240 --> 00:59:06,930 SPEAKER: See on palju raskem kui sa seisad siin, inimesed. 1063 00:59:06,930 --> 00:59:19,400 1064 00:59:19,400 --> 00:59:21,840 [NAER] 1065 00:59:21,840 --> 00:59:26,730 1066 00:59:26,730 --> 00:59:29,054 Robot: Sa inimestel on nii lihtne võita. 1067 00:59:29,054 --> 00:59:30,803 [Naeru ja APPLAUSE] 1068 00:59:30,803 --> 00:59:31,886 SPEAKER: Tänan. 1069 00:59:31,886 --> 00:59:34,692 Robot: võidan. 1070 00:59:34,692 --> 00:59:35,400 Ma alustada mängu. 1071 00:59:35,400 --> 00:59:39,500 >> SPEAKER: Okei, nii et tänu väga palju Olivier ja Alessandro, 1072 00:59:39,500 --> 00:59:41,616 ja Chen Ming. 1073 00:59:41,616 --> 00:59:45,600 >> [APPLAUSE] 1074 00:59:45,600 --> 00:59:47,040 >> Ma tahan teha viimane punkt. 1075 00:59:47,040 --> 00:59:51,630 Nii Baxter on väga lõpe, petnud. 1076 00:59:51,630 --> 00:59:54,160 1077 00:59:54,160 --> 00:59:56,310 Ja see oli ootamatu. 1078 00:59:56,310 --> 01:00:00,440 Üks fantastiline asju AI on see, et me 1079 01:00:00,440 --> 01:00:05,070 teha tööd AI et saaksime ehitada tõesti huvitav ja intelligentne 1080 01:00:05,070 --> 01:00:06,930 seadmeid. 1081 01:00:06,930 --> 01:00:10,130 Aga teeme ka tööd AI sest see ütleb meile midagi 1082 01:00:10,130 --> 01:00:13,940 kuidas inimesed on intelligentsed. 1083 01:00:13,940 --> 01:00:17,280 >> Üks lemmik uuringud minu lab on 1084 01:00:17,280 --> 01:00:23,660 vaadates mis juhtub siis, kui masinad ootamatult petta. 1085 01:00:23,660 --> 01:00:27,070 Me tegime seda algselt mitte Baxter mängides tic-tac-toe, 1086 01:00:27,070 --> 01:00:30,340 kuid väiksema robot nimega Nao, kes mängis rock paber-käärid. 1087 01:00:30,340 --> 01:00:33,010 1088 01:00:33,010 --> 01:00:35,800 Ja mõnikord pärast mängib palju, palju 1089 01:00:35,800 --> 01:00:41,580 igav kivi-paber-käärid mängu, robot oleks visata žest, 1090 01:00:41,580 --> 01:00:48,616 kaotada, ja siis äkki muutus selle žesti ja öelda, ma võidan. 1091 01:00:48,616 --> 01:00:50,480 >> [NAER] 1092 01:00:50,480 --> 01:00:56,090 >> Nüüd, mõnikord me tahaks ka robot, niisama kontrolli, viska žest, 1093 01:00:56,090 --> 01:01:01,270 võita, ja muuta selle žestiga kaotada, viska mängu, 1094 01:01:01,270 --> 01:01:04,070 petma, et kaotada. 1095 01:01:04,070 --> 01:01:07,540 Ja see ei ole kaugeltki nii mõjuvad. 1096 01:01:07,540 --> 01:01:09,890 Robot, mis petab selleks, et võita rahva 1097 01:01:09,890 --> 01:01:14,660 vastata nii, kui see on välja, et saada neid, nagu see 1098 01:01:14,660 --> 01:01:17,690 otsib aktiivselt nende hävitamist. 1099 01:01:17,690 --> 01:01:19,210 >> [NAER] 1100 01:01:19,210 --> 01:01:20,990 >> See muutub agent. 1101 01:01:20,990 --> 01:01:21,840 See on nagu inimene. 1102 01:01:21,840 --> 01:01:23,970 See on usk ja tahe. 1103 01:01:23,970 --> 01:01:27,470 Ja see ei ole hea tahe. 1104 01:01:27,470 --> 01:01:33,790 Ja robot, mis viskab mäng on lihtsalt rikkis. 1105 01:01:33,790 --> 01:01:36,990 See on lihtsalt katki seade. 1106 01:01:36,990 --> 01:01:41,405 Las ma näitan sulle mõned näited Selle mõnest meie osalejad. 1107 01:01:41,405 --> 01:01:43,990 1108 01:01:43,990 --> 01:01:45,600 Nii et siin on petmine, et kaotada. 1109 01:01:45,600 --> 01:01:46,266 >> [Video taasesitus] 1110 01:01:46,266 --> 01:01:47,010 - [Kuuldamatu] võita. 1111 01:01:47,010 --> 01:01:49,550 Mängime. 1112 01:01:49,550 --> 01:01:50,538 >> Oota, mida? 1113 01:01:50,538 --> 01:01:54,490 1114 01:01:54,490 --> 01:01:55,352 >> - [Kuuldamatu] võita. 1115 01:01:55,352 --> 01:01:58,280 Mängime. 1116 01:01:58,280 --> 01:01:59,400 >> [Kuuldamatu] võita. 1117 01:01:59,400 --> 01:02:02,290 Mängime. 1118 01:02:02,290 --> 01:02:05,490 >> SPEAKER: Ja siin on petmine võita. 1119 01:02:05,490 --> 01:02:06,438 >> Jah, ma võidan. 1120 01:02:06,438 --> 01:02:07,394 Mängime. 1121 01:02:07,394 --> 01:02:08,828 >> Sa ei saa seda teha. 1122 01:02:08,828 --> 01:02:10,740 >> [NAER] 1123 01:02:10,740 --> 01:02:12,174 1124 01:02:12,174 --> 01:02:13,979 >> Jah, ma võidan. 1125 01:02:13,979 --> 01:02:14,520 Sa petnud. 1126 01:02:14,520 --> 01:02:17,990 1127 01:02:17,990 --> 01:02:20,010 Sa petnud nüüd. 1128 01:02:20,010 --> 01:02:21,140 >> Jah, ma võidan. 1129 01:02:21,140 --> 01:02:22,940 >> Hei, sa cheater. 1130 01:02:22,940 --> 01:02:26,670 Sa petad, super petta. 1131 01:02:26,670 --> 01:02:27,650 >> [Taasesituse lõpetamiseks] 1132 01:02:27,650 --> 01:02:31,130 >> SPEAKER: Need erinevad reaktsioonid kiiresti 1133 01:02:31,130 --> 01:02:34,890 muuta meie arusaama seade. 1134 01:02:34,890 --> 01:02:36,780 Kas see tähendab, et me teadlikult ehitada 1135 01:02:36,780 --> 01:02:40,370 masinad, mis petta, sest see on parim insener, et me saame teha? 1136 01:02:40,370 --> 01:02:44,680 Ei, aga see ütleb meile midagi tõesti huvitav inimesi. 1137 01:02:44,680 --> 01:02:49,710 See asi, mis petab sind ja varastab teie võit, mis on 1138 01:02:49,710 --> 01:02:53,660 midagi, mis on elus, mis on animeerida, mis on välja sulle. 1139 01:02:53,660 --> 01:02:54,680 See on vaimne seisund. 1140 01:02:54,680 --> 01:02:55,400 See on usk. 1141 01:02:55,400 --> 01:02:57,170 See on kavatsus. 1142 01:02:57,170 --> 01:03:01,540 >> See asi, mis käed mängu teile, et ei ole. 1143 01:03:01,540 --> 01:03:04,670 See on lihtsalt rikkis. 1144 01:03:04,670 --> 01:03:08,900 See on paljuski põhjus, miks see lihtne viska mängu kids. 1145 01:03:08,900 --> 01:03:12,050 Aga kui sa püüad petta neid ja omamoodi võiduks 1146 01:03:12,050 --> 01:03:15,200 kui sa tead, lihtsalt lühendada mängu, nad püüavad su kohe. 1147 01:03:15,200 --> 01:03:19,040 1148 01:03:19,040 --> 01:03:23,140 Sellised mõjud, mis näeme tulevad välja AI, 1149 01:03:23,140 --> 01:03:26,490 nad õpetavad meile palju meist endist. 1150 01:03:26,490 --> 01:03:28,076 >> Hea küll, see on see täna. 1151 01:03:28,076 --> 01:03:30,450 Tänan, et David ja Harvardi tootmise meeskond 1152 01:03:30,450 --> 01:03:32,350 tulemas alla. 1153 01:03:32,350 --> 01:03:33,820 >> [APPLAUSE] 1154 01:03:33,820 --> 01:03:36,760 1155 01:03:36,760 --> 01:03:41,840 >> Me näeme teid viktoriin üks, ja siis viimane loeng. 1156 01:03:41,840 --> 01:03:43,025 Head päeva. 1157 01:03:43,025 --> 01:03:44,965 >> [APPLAUSE] 1158 01:03:44,965 --> 01:03:48,360 1159 01:03:48,360 --> 01:03:51,825 >> [Muusika mängib] 1160 01:03:51,825 --> 01:03:54,950 DAVID J Humala: Noh, me ilmselt vaja tutvustada mingit krüpteerimist, 1161 01:03:54,950 --> 01:03:55,450 õige? 1162 01:03:55,450 --> 01:03:58,650 Sest siis päised Nende HTTP taotlusi saab 1163 01:03:58,650 --> 01:04:01,530 rüselema, nii et igaüks püüab nuusutada oma liiklust 1164 01:04:01,530 --> 01:04:03,400 tegelikult ei oleks võimalik neid näha. 1165 01:04:03,400 --> 01:04:05,254 Mis siis lahendus sellele probleemile? 1166 01:04:05,254 --> 01:04:07,920 Noh, me peame tegelikult tutvustada krüpteerimist valemisse, 1167 01:04:07,920 --> 01:04:11,010 nii et kui see inimene on andmete edastamiseks A punkti B, 1168 01:04:11,010 --> 01:04:12,390 saame kindlalt send-- 1169 01:04:12,390 --> 01:04:14,590 >> [NAER] 1170 01:04:14,590 --> 01:04:19,530 >> Teave viisil, et Vastane ei saa tegelikult näha.