1 00:00:00,000 --> 00:00:01,924 >> [За възпроизвеждане на музика] 2 00:00:01,924 --> 00:00:10,600 3 00:00:10,600 --> 00:00:13,280 >> SPEAKER: Добре дошли отново на всички. 4 00:00:13,280 --> 00:00:15,440 Това е CS50. 5 00:00:15,440 --> 00:00:21,040 И днес, ние имаме много интересни неща да говорим. 6 00:00:21,040 --> 00:00:25,500 Първо обаче, трябва да напомним ти на няколко административни неща. 7 00:00:25,500 --> 00:00:30,160 Тази седмица е една загадка, сряда или за участъка Yale 8 00:00:30,160 --> 00:00:32,940 във вторник и четвъртък, в четвъртък. 9 00:00:32,940 --> 00:00:38,170 Има мнения викторина Тази вечер в Йейл, 5:30-7:00. 10 00:00:38,170 --> 00:00:40,030 В Харвард, те записват един вчера. 11 00:00:40,030 --> 00:00:43,000 И всеки може да гледате, че онлайн. 12 00:00:43,000 --> 00:00:49,406 >> Също така, тази седмица или в началото на следващата седмица, имаме последната ни CS50 лекция. 13 00:00:49,406 --> 00:00:51,450 [Стонове] Знам. 14 00:00:51,450 --> 00:00:54,140 Той дойде толкова скоро. 15 00:00:54,140 --> 00:00:57,820 Йейл учениците ще имат на живо лекция тук, в училището право 16 00:00:57,820 --> 00:00:59,920 аудитория в петък. 17 00:00:59,920 --> 00:01:01,140 Ще има торта. 18 00:01:01,140 --> 00:01:05,570 Студенти от Харвард ще имат последната лекция в Sanders в понеделник. 19 00:01:05,570 --> 00:01:08,050 Ще има и торта. 20 00:01:08,050 --> 00:01:14,000 >> Също така, тази седмица в петък, за тези, от вас, които идват в Ню Хейвън, 21 00:01:14,000 --> 00:01:15,740 имаме CS50 Expo. 22 00:01:15,740 --> 00:01:18,850 Ние имаме повече от 30 различни групи регистрирани 23 00:01:18,850 --> 00:01:22,530 да ви покажа всичко от автономните платноходки, 24 00:01:22,530 --> 00:01:27,170 за системи, които признават, цифрови портрети, към компютър 25 00:01:27,170 --> 00:01:32,100 музика и компютърно произведена музика. 26 00:01:32,100 --> 00:01:33,610 Така че, моля присъединете се към нас. 27 00:01:33,610 --> 00:01:36,460 Мисля, че ще бъде страхотно. 28 00:01:36,460 --> 00:01:40,320 >> Днес, обаче, да стигнем до продължи да говори за AI, 29 00:01:40,320 --> 00:01:43,150 за изкуствен интелект. 30 00:01:43,150 --> 00:01:46,070 И едно от нещата, които ние ще стигнем до днес 31 00:01:46,070 --> 00:01:51,750 е идеята за това как да използвате AI за решаване на проблемите. 32 00:01:51,750 --> 00:01:54,690 Сега, както винаги, нека да започнем с нещо по-просто. 33 00:01:54,690 --> 00:01:57,120 И ние ще започнем с една проста идея. 34 00:01:57,120 --> 00:01:59,920 И това е с помощта на търсене. 35 00:01:59,920 --> 00:02:06,990 >> Така че представете си за момент, че съм има за задача, която ми трябва да изпълни. 36 00:02:06,990 --> 00:02:11,970 И бих искал да имам тази задача автоматизиран от някакъв софтуер агент. 37 00:02:11,970 --> 00:02:17,100 Представете си, че аз се опитвам да поръчате комплект на полетите от, да речем, Boston 38 00:02:17,100 --> 00:02:20,040 в Сан Франциско. 39 00:02:20,040 --> 00:02:24,230 Можех да мине през и можех да използвам един от най-прекрасен онлайн търсенето 40 00:02:24,230 --> 00:02:28,790 инструменти, които се случва да правя едни и същи процес, който ние сме 41 00:02:28,790 --> 00:02:30,030 Ще преминете през днешния ден. 42 00:02:30,030 --> 00:02:34,100 Но ако не сте имали, че инструмент, какво бихте направили? 43 00:02:34,100 --> 00:02:37,570 >> Е, можете да погледнете и виж и да кажа, че съм в Бостън. 44 00:02:37,570 --> 00:02:41,520 Какво полети са достъпни за мен? 45 00:02:41,520 --> 00:02:44,390 Сега, може би имам три възможни полети от Бостън 46 00:02:44,390 --> 00:02:47,180 който ще се поберат времето когато имам нужда да си тръгне. 47 00:02:47,180 --> 00:02:48,830 Можех да летя до Чикаго. 48 00:02:48,830 --> 00:02:50,130 Или можех да летя до Маями. 49 00:02:50,130 --> 00:02:53,340 Или мога да лети до Ню Йорк. 50 00:02:53,340 --> 00:02:56,980 Тогава можех да погледна от всяка един от тези градове дестинация 51 00:02:56,980 --> 00:03:00,650 и мисля за това места Бих могла да достигне 52 00:03:00,650 --> 00:03:03,020 от всеки от тези отделни места. 53 00:03:03,020 --> 00:03:07,390 >> Така че може би от Чикаго, мога да получа директен полет до Сан Франциско. 54 00:03:07,390 --> 00:03:09,550 Това е отлична. 55 00:03:09,550 --> 00:03:12,360 Или мога да получа полет до Денвър. 56 00:03:12,360 --> 00:03:16,970 Сега, може би, че полет до Сан Франциско е идеалното решение за мен, 57 00:03:16,970 --> 00:03:19,530 но може би не. 58 00:03:19,530 --> 00:03:22,180 Може би аз съм гледам за нещо че е малко по-евтино 59 00:03:22,180 --> 00:03:24,920 или малко по-добре за моя график. 60 00:03:24,920 --> 00:03:29,197 И за да мога да гледам за какви други възможности могат да бъдат там. 61 00:03:29,197 --> 00:03:30,280 Така че бих могъл да разгледате Денвър. 62 00:03:30,280 --> 00:03:33,870 И от Денвър, добре, може би Мога да получа полет до Остин. 63 00:03:33,870 --> 00:03:37,080 И от Остин, може би мога да получа полет до Phoenix, и от Phoenix 64 00:03:37,080 --> 00:03:40,190 в Сан Франциско. 65 00:03:40,190 --> 00:03:42,730 Сега, аз не съм направено още. 66 00:03:42,730 --> 00:03:45,640 Защото може би има по- директен полет от Ню Йорк 67 00:03:45,640 --> 00:03:47,850 в Сан Франциско, който е перфектен за мен. 68 00:03:47,850 --> 00:03:53,354 Или може би има полет от Маями чрез Denver, че е много по-евтино. 69 00:03:53,354 --> 00:03:54,270 Така че аз все още трябва да отида. 70 00:03:54,270 --> 00:03:58,200 И аз все още трябва да разгледаме всички тези, градове, които все още не съм разследвани. 71 00:03:58,200 --> 00:04:04,220 Трябва да се провери изчерпателно всички възможностите, които биха могли да имат. I 72 00:04:04,220 --> 00:04:09,610 >> Така че от New York, може би мога да получа полет до Нашвил, и от Нешвил 73 00:04:09,610 --> 00:04:10,336 до Остин. 74 00:04:10,336 --> 00:04:11,460 И тогава аз знам къде съм. 75 00:04:11,460 --> 00:04:14,252 И тогава аз знам от Остин, което мога летят до Phoenix, и от Phoenix 76 00:04:14,252 --> 00:04:14,960 в Сан Франциско. 77 00:04:14,960 --> 00:04:18,240 78 00:04:18,240 --> 00:04:22,830 Ако аз летя първо до Маями, все пак, Може би мога да получа с полет от Маями 79 00:04:22,830 --> 00:04:25,080 в Нешвил, или от Маями до Остин. 80 00:04:25,080 --> 00:04:27,950 81 00:04:27,950 --> 00:04:30,860 >> И сега съм пробвал всички на възможностите. 82 00:04:30,860 --> 00:04:36,310 Аз бях изградила тази графика, че ми показва всички възможни маршрути 83 00:04:36,310 --> 00:04:37,790 за да бъда в състояние да вземе. 84 00:04:37,790 --> 00:04:40,510 85 00:04:40,510 --> 00:04:43,640 Когато ние представляваме тях видове проблеми, 86 00:04:43,640 --> 00:04:47,870 ние няма да представлява тях изрично като тази графика, 87 00:04:47,870 --> 00:04:51,590 защото това не представлява графика историята на където сме отишли. 88 00:04:51,590 --> 00:04:55,260 Знаейки, че съм летял от Phoenix в Сан Франциско 89 00:04:55,260 --> 00:05:01,690 не ми кажете дали съм дошъл направо Nashville, или чрез Denver, или чрез Маями. 90 00:05:01,690 --> 00:05:06,430 >> Така че това, което аз ще направя, вместо да е Ще взема същия този проблем, 91 00:05:06,430 --> 00:05:09,140 и аз ще го представят като едно дърво. 92 00:05:09,140 --> 00:05:14,300 И в основата на дървото, в отгоре, аз ще постави на мястото, което започнах, 93 00:05:14,300 --> 00:05:16,590 Бостън. 94 00:05:16,590 --> 00:05:19,310 И от Бостън, ще разгледаме всички възможни места 95 00:05:19,310 --> 00:05:20,380 че мога да пътувам до. 96 00:05:20,380 --> 00:05:25,480 Е, в този случай, аз имах три, Чикаго, Ню Йорк и Маями. 97 00:05:25,480 --> 00:05:29,850 И тогава аз ще проучи всяка от тези деца в дървото. 98 00:05:29,850 --> 00:05:32,690 >> От Чикаго, видях че имах два полета. 99 00:05:32,690 --> 00:05:35,940 Аз може да лети директно до Сан Франциско или в Денвър. 100 00:05:35,940 --> 00:05:37,740 Сега Сан Франциско, това е моята цел. 101 00:05:37,740 --> 00:05:39,790 Това е моята дестинация. 102 00:05:39,790 --> 00:05:42,220 Това ще бъде едно листо от това дърво. 103 00:05:42,220 --> 00:05:45,340 Това е, аз никога няма да отида някъде след Сан Франциско. 104 00:05:45,340 --> 00:05:47,850 105 00:05:47,850 --> 00:05:50,340 От Денвър, все пак, Аз може да лети от Денвър 106 00:05:50,340 --> 00:05:54,220 до Остин, от Austin до Phoenix, и от Финикс до Сан Франциско. 107 00:05:54,220 --> 00:05:56,050 И сега отново, аз съм достигнал едно листо. 108 00:05:56,050 --> 00:05:59,470 109 00:05:59,470 --> 00:06:03,980 >> Тогава можех да се върна към следващия град, който аз не съм напълно проучени. 110 00:06:03,980 --> 00:06:07,440 Това ще бъде Ню Йорк, отидете обратно нагоре към върха на дървото ми, 111 00:06:07,440 --> 00:06:09,160 слезе до Ню Йорк. 112 00:06:09,160 --> 00:06:12,700 От Ню Йорк, мога да летя за Nashville, от Нашвил до Остин, 113 00:06:12,700 --> 00:06:17,290 от Austin до Phoenix, и от Финикс до Сан Франциско. 114 00:06:17,290 --> 00:06:20,170 И накрая, един град I Не сте погледна още, Маями. 115 00:06:20,170 --> 00:06:24,600 >> Е, от Маями Казах, че имаше две възможности, Нешвил или Остин. 116 00:06:24,600 --> 00:06:28,810 Ако аз летя за Нешвил, и след това летя от Нешвил, за да Austin, да Phoenix, 117 00:06:28,810 --> 00:06:29,640 в Сан Франциско. 118 00:06:29,640 --> 00:06:33,600 Ако летите до Остин, летя Остин, да Phoenix, към Сан Франциско. 119 00:06:33,600 --> 00:06:36,340 И сега имам едно дърво. 120 00:06:36,340 --> 00:06:37,230 Това е пълно дърво. 121 00:06:37,230 --> 00:06:41,890 Това е всичко от възможностите и всички пътища, по които мога да взема. 122 00:06:41,890 --> 00:06:44,310 Това означава, че ако започна в корена на дървото на върха 123 00:06:44,310 --> 00:06:47,860 и аз да се понижат до един от листа, тя ми казва, не само 124 00:06:47,860 --> 00:06:50,480 къде отивам да в крайна сметка, Сан Франциско, 125 00:06:50,480 --> 00:06:53,670 но тя ми казва, че по маршрута Аз трябва да се вземат, за да стигнем до там. 126 00:06:53,670 --> 00:06:56,400 127 00:06:56,400 --> 00:06:59,690 >> Сега, кой от тях е най-добрият? 128 00:06:59,690 --> 00:07:02,430 Е, нищо за това проблем, все още ми казва 129 00:07:02,430 --> 00:07:04,710 кой от тях е най-доброто решение. 130 00:07:04,710 --> 00:07:09,270 Може би не ми пука много около колко време съм във въздуха, 131 00:07:09,270 --> 00:07:12,350 или разстоянието, че летя. 132 00:07:12,350 --> 00:07:16,410 В този случай, Чикаго, за да San Francisco може да се окаже най-краткия номер 133 00:07:16,410 --> 00:07:18,910 на метри във въздуха. 134 00:07:18,910 --> 00:07:20,860 >> Може би ми пука за разходите. 135 00:07:20,860 --> 00:07:23,680 И ние всички знаем директни полети обикновено са по-скъпи. 136 00:07:23,680 --> 00:07:26,610 Така че може би, ако аз се възползвам от тази вид назад маршрут 137 00:07:26,610 --> 00:07:30,650 чрез Miami, Nashville, Остин, Phoenix, може би тогава 138 00:07:30,650 --> 00:07:34,070 Получавам по-ниска цена. 139 00:07:34,070 --> 00:07:36,440 Но мога да се оптимизира за всеки критерии, които се грижат за I. 140 00:07:36,440 --> 00:07:39,790 Кой има най-добрите в полет Wi-Fi, или които 141 00:07:39,790 --> 00:07:43,110 летища имат на разположение най-добрата храна. 142 00:07:43,110 --> 00:07:47,280 И всяка от тези сила дай ми едно различно решение 143 00:07:47,280 --> 00:07:49,215 който виждам като най-добрия. 144 00:07:49,215 --> 00:07:51,990 145 00:07:51,990 --> 00:07:54,400 >> Тези видове проблеми, къде отиваме 146 00:07:54,400 --> 00:07:58,480 да се изгради това дърво на възможности и след това 147 00:07:58,480 --> 00:08:02,100 Посетете всяка една от тези индивидуални пътища, и да провери 148 00:08:02,100 --> 00:08:05,270 кои от тези Спазва Критерий за нас, 149 00:08:05,270 --> 00:08:08,790 ние ще се обадя тези проблеми с търсенето. 150 00:08:08,790 --> 00:08:11,280 И ние имаме много алгоритми, някои от които 151 00:08:11,280 --> 00:08:15,270 ние вече сме виждали, да отидете и опознаването на тези дървета. 152 00:08:15,270 --> 00:08:19,270 Можем да го направим по начина, по който аз Просто направих, първа дълбочина търсене, 153 00:08:19,270 --> 00:08:22,900 захождането, доколкото е възможно, докато не удари едно листо, а след това да се върне нагоре, 154 00:08:22,900 --> 00:08:24,787 и ще се връщам надолу. 155 00:08:24,787 --> 00:08:26,870 Или можем да направим това, което е наречено широчината и първия търсене. 156 00:08:26,870 --> 00:08:29,675 Бихме могли да разширим всичко в горната част, и след това 157 00:08:29,675 --> 00:08:31,550 всичко един ред че под и след това 158 00:08:31,550 --> 00:08:35,240 всичко един ред отдолу това. 159 00:08:35,240 --> 00:08:41,250 Тези Вас дървета са от основно значение за AI. 160 00:08:41,250 --> 00:08:46,570 Но те съвсем не се получи Правилно ли през цялото време. 161 00:08:46,570 --> 00:08:51,600 В действителност, в много от случаите че ние наистина се грижи за, 162 00:08:51,600 --> 00:08:54,430 искаме да изградим едно дърво, но ние не правим всъщност 163 00:08:54,430 --> 00:08:57,140 получите да направи всички решения. 164 00:08:57,140 --> 00:09:00,940 >> Това са ситуации, наречени състезателна търсене, известен още 165 00:09:00,940 --> 00:09:05,390 като как да пиша игра игра системи и се плаща за това. 166 00:09:05,390 --> 00:09:07,940 Но това са видовете на системи, където I 167 00:09:07,940 --> 00:09:12,920 може да избирате, когато отида от Boston, кой град отивам на следващия. 168 00:09:12,920 --> 00:09:19,990 Но след това, някой друг може да получите да вземе решение за това къде летя. 169 00:09:19,990 --> 00:09:24,040 Така че, за да се изгради това видове структури, ние сме 170 00:09:24,040 --> 00:09:28,510 ще трябва да се вземат леко различен подход към него. 171 00:09:28,510 --> 00:09:31,060 Ние няма да бъде в състояние да Просто търся през дървото 172 00:09:31,060 --> 00:09:35,000 вече, защото ние не сме този, който е в контрола 173 00:09:35,000 --> 00:09:38,180 на всяка една от тези точки на решения. 174 00:09:38,180 --> 00:09:42,590 >> Така че нека да си представим една проста игра като тик-так-палеца. 175 00:09:42,590 --> 00:09:46,730 Можех да се започне с абсолютно празни борда. 176 00:09:46,730 --> 00:09:49,580 И в тик-так-палеца, X ще играе първи. 177 00:09:49,580 --> 00:09:53,890 И така, аз можех да мисля за всички възможни ходове, които биха могли да направят. X 178 00:09:53,890 --> 00:09:57,420 И ако аз съм една свиренето Х, това е страхотно. 179 00:09:57,420 --> 00:10:01,020 Имам девет възможно се движи, че мога да направя. 180 00:10:01,020 --> 00:10:05,000 Можех да се сложи X във всяка една на тези девет позиции. 181 00:10:05,000 --> 00:10:10,710 >> След това от всеки от тези, I можех да си представя какво ще се случи следващата. 182 00:10:10,710 --> 00:10:14,130 Е, в този случай, а другият играчите ще стигнем до вземе завой. 183 00:10:14,130 --> 00:10:15,660 O ще стигнем до вземе завой. 184 00:10:15,660 --> 00:10:19,510 И от всеки от тези, там ще бъде осем различни места 185 00:10:19,510 --> 00:10:22,980 O, че би могъл да постави своя маркер. 186 00:10:22,980 --> 00:10:25,790 >> Да кажем, аз реших, че съм ще сложи X в центъра. 187 00:10:25,790 --> 00:10:28,810 Това винаги изглежда като добър отваряне ход. 188 00:10:28,810 --> 00:10:34,870 Можех да погледнете под това, осем възможни ходове, които прави. O 189 00:10:34,870 --> 00:10:37,320 Сега, ако играя X, това е чудесно. 190 00:10:37,320 --> 00:10:41,740 Съм се да избере кой I отидете, този в средата. 191 00:10:41,740 --> 00:10:45,000 Но сега O получава да избирате. 192 00:10:45,000 --> 00:10:48,750 И аз нямам контрол над това решение. 193 00:10:48,750 --> 00:10:51,670 >> Но от всеки от тези възможните позиции за гладене, 194 00:10:51,670 --> 00:10:54,020 има после още набор от възможности. 195 00:10:54,020 --> 00:10:56,700 Когато става дума за моят ред отново, бих 196 00:10:56,700 --> 00:11:01,500 получите, за да изберете и да кажа, добре, ако O движи в, добре, 197 00:11:01,500 --> 00:11:06,110 средната място в ляво, след това Имам набор от възможности 198 00:11:06,110 --> 00:11:09,740 къде мога да взема следващия си ход. 199 00:11:09,740 --> 00:11:14,140 От тези, бих могъл да вземе предвид всички възможностите под тях. 200 00:11:14,140 --> 00:11:18,030 И тогава O ще получи да избират сред тези. 201 00:11:18,030 --> 00:11:22,290 >> И аз може да поддържа изграждането на това дърво, докато стигнах до точката 202 00:11:22,290 --> 00:11:26,960 когато или някой, печели game-- това е 203 00:11:26,960 --> 00:11:31,070 Трябва да се счита за едно листо node-- или на борда се напълни догоре 204 00:11:31,070 --> 00:11:32,704 и никой не е спечелил. 205 00:11:32,704 --> 00:11:34,370 И това също щеше да бъде едно листо възел. 206 00:11:34,370 --> 00:11:35,411 Това ще бъде една вратовръзка. 207 00:11:35,411 --> 00:11:37,820 208 00:11:37,820 --> 00:11:41,680 >> Но трудно нещо, с това е ако това беше просто обикновен търсене 209 00:11:41,680 --> 00:11:44,269 проблем, щях да бъда в състояние да да речем, добре, X трябва да отидете тук. 210 00:11:44,269 --> 00:11:45,560 И O трябва да отиде начин там. 211 00:11:45,560 --> 00:11:46,770 И тогава X трябва да отидете тук. 212 00:11:46,770 --> 00:11:48,269 И тогава O трябва да отиде начин там. 213 00:11:48,269 --> 00:11:51,860 И тогава X може да получи три в един ред, а аз спечеля. 214 00:11:51,860 --> 00:11:54,870 И играта ще бъде над в пет движения, три за мен, 215 00:11:54,870 --> 00:11:57,710 два за моя опонент. 216 00:11:57,710 --> 00:12:01,300 Но не винаги да избереш това. 217 00:12:01,300 --> 00:12:03,720 >> Така че вместо това, което ние сме Ще трябва да направя 218 00:12:03,720 --> 00:12:06,270 се ние ще имаме да има нова стратегия. 219 00:12:06,270 --> 00:12:09,350 И стратегията, която игра-игра алгоритми често използват 220 00:12:09,350 --> 00:12:12,000 е това, което се нарича Минимакс. 221 00:12:12,000 --> 00:12:15,500 Основната идея на Minimax е, че ние сме 222 00:12:15,500 --> 00:12:21,365 Ще вземете този ход, който дава нашият противник най-лошия възможен набор 223 00:12:21,365 --> 00:12:22,790 от движи, че те могат да направят. 224 00:12:22,790 --> 00:12:25,570 225 00:12:25,570 --> 00:12:28,870 Тя не ми направиш някоя добра да изберем движение, при 226 00:12:28,870 --> 00:12:31,952 Може и да съм в състояние да спечели след това, защото противникът ми не е 227 00:12:31,952 --> 00:12:33,160 ще ми даде този шанс. 228 00:12:33,160 --> 00:12:37,770 Те ще изберат някои ужасен резултат за мен. 229 00:12:37,770 --> 00:12:42,010 Така че аз отивам да се направи се движат, че силите на моя опонент 230 00:12:42,010 --> 00:12:45,760 да се направи нещо по-добро за мен. 231 00:12:45,760 --> 00:12:46,260 Всичко е наред. 232 00:12:46,260 --> 00:12:48,410 Нека да видим как това се разиграва. 233 00:12:48,410 --> 00:12:51,640 Така че тук е алгоритъм ни в Псевдокод. 234 00:12:51,640 --> 00:12:54,450 Отиваме да генерира цялата игра дървото. 235 00:12:54,450 --> 00:12:56,757 Отиваме да се изгради цялата структура. 236 00:12:56,757 --> 00:12:57,840 И тогава ние ще преминеш. 237 00:12:57,840 --> 00:13:02,100 И най-долу на всеки един от крайни възли, при всеки от листата, 238 00:13:02,100 --> 00:13:07,850 ние ще оцени как ценно е, че на мен? 239 00:13:07,850 --> 00:13:11,690 И ние ще стойност неща, които са добри за мен като положителна. 240 00:13:11,690 --> 00:13:14,460 Нещата, които не са добре за мен ще бъде по-малко позитивно, или нула, 241 00:13:14,460 --> 00:13:16,480 или дори отрицателен. 242 00:13:16,480 --> 00:13:19,240 >> Така че в тик-так-палеца, може би победа за мен е добро. 243 00:13:19,240 --> 00:13:20,290 Това е една. 244 00:13:20,290 --> 00:13:22,400 И вратовръзка е нула. 245 00:13:22,400 --> 00:13:26,230 И нещо, което е загуба за мен, може би това е отрицателен. 246 00:13:26,230 --> 00:13:29,620 Всичко, което има значение, е, че по-добре това е за мен, по-голям резултат 247 00:13:29,620 --> 00:13:32,160 която получава. 248 00:13:32,160 --> 00:13:36,690 От тези възможности в дъното, след което ще се филтрира нагоре. 249 00:13:36,690 --> 00:13:40,650 И когато това е моят шанс да изберем сред набор от алтернативи, 250 00:13:40,650 --> 00:13:44,460 Ще изберете този, който е получи най-високата оценка. 251 00:13:44,460 --> 00:13:47,200 >> И всеки път, когато това е моята опоненти се обръщат, за да изберете, 252 00:13:47,200 --> 00:13:52,350 Ще приемем, че те ще изберете този с най-ниска оценка. 253 00:13:52,350 --> 00:13:56,090 И ако аз направя това по целия път до върха на дървото, 254 00:13:56,090 --> 00:14:03,150 Аз ще съм избрал пътя, който дава ми най-добрия резултат, че мога да получа, 255 00:14:03,150 --> 00:14:09,110 ако се приеме, че противникът ми прави всички правилни действия. 256 00:14:09,110 --> 00:14:11,940 >> Добре, така че нека да видим това в действие първата. 257 00:14:11,940 --> 00:14:14,980 И тогава ние ще действителност Посетете кода за него. 258 00:14:14,980 --> 00:14:16,780 Така че представете си имам това голямо дърво. 259 00:14:16,780 --> 00:14:18,280 И сега аз не играя тик-так-палеца. 260 00:14:18,280 --> 00:14:20,405 Исках да ви дам нещо малко по-богати. 261 00:14:20,405 --> 00:14:23,560 Така че аз имам някаква игра, в която Има много различни резултати 262 00:14:23,560 --> 00:14:26,390 че мога да имам в края. 263 00:14:26,390 --> 00:14:27,980 И така, аз се изгради това пълно дърво. 264 00:14:27,980 --> 00:14:29,070 И съм се да се премести първата. 265 00:14:29,070 --> 00:14:31,290 Аз съм в основата на дървото. 266 00:14:31,290 --> 00:14:36,150 >> И аз да избереш that-- така че да получите да се увеличи през тази първа възел. 267 00:14:36,150 --> 00:14:38,410 И тогава противникът ми стане да отида. 268 00:14:38,410 --> 00:14:41,910 И тогава съм се да отида още веднъж. 269 00:14:41,910 --> 00:14:46,830 Така надолу към дъното, имам набор от възможности, които мога да избирате, 270 00:14:46,830 --> 00:14:50,570 различни крайни състояния на играта. 271 00:14:50,570 --> 00:14:54,980 Ако аз съм предвидени в това Доколкото ляв ъгъл, 272 00:14:54,980 --> 00:14:58,867 и виждам, че имам избор между осем, седем, и две, 273 00:14:58,867 --> 00:15:00,450 добре, аз съм този, който получава, за да изберете. 274 00:15:00,450 --> 00:15:02,910 Така че аз отивам да изберете най-добрата от тях. 275 00:15:02,910 --> 00:15:05,650 Отивам да се избере най-осем. 276 00:15:05,650 --> 00:15:10,090 >> Така че аз знам, че ако някога стигнем до тази точка, 277 00:15:10,090 --> 00:15:13,890 Аз ще бъда в състояние да получи това, че осем точки. 278 00:15:13,890 --> 00:15:17,410 Ако се окажете в следващата точка над, на следващия възел по, 279 00:15:17,410 --> 00:15:20,760 девет, а един, или шест, добре, аз съм ще избере най-добрите от тях. 280 00:15:20,760 --> 00:15:21,950 Аз ще избера деветимата. 281 00:15:21,950 --> 00:15:24,880 Ако имам избор между две и четири, и един, 282 00:15:24,880 --> 00:15:28,240 Аз ще избера четиримата, най-високата. 283 00:15:28,240 --> 00:15:31,990 >> Сега, ако аз гледам на нивото по-горе, че противникът ми 284 00:15:31,990 --> 00:15:34,440 е този, който получава да направи този избор. 285 00:15:34,440 --> 00:15:37,040 Така опонентът ми да стане избирате, искам да му дам 286 00:15:37,040 --> 00:15:39,250 нещо, което се случва да го измъкне осем точки, 287 00:15:39,250 --> 00:15:41,916 или мога да му дам нещо, което е Ще му дам девет точки, 288 00:15:41,916 --> 00:15:45,240 или това, което се случва за да му даде четири точки? 289 00:15:45,240 --> 00:15:49,130 И моят опонент, бидейки рационално, ще 290 00:15:49,130 --> 00:15:53,470 да избират минимум на тези, ще избере четири. 291 00:15:53,470 --> 00:15:56,020 >> И мога да го направя през целия дървото. 292 00:15:56,020 --> 00:15:59,110 Мога да слизат, че среден сет на три. 293 00:15:59,110 --> 00:16:01,517 И аз да избирате между една, три и пет. 294 00:16:01,517 --> 00:16:02,350 И аз да избереш. 295 00:16:02,350 --> 00:16:03,810 Така че аз се избере пет. 296 00:16:03,810 --> 00:16:05,340 Аз може да избере три, девет, или две. 297 00:16:05,340 --> 00:16:07,570 Съм се да избера, така че аз избирам деветимата. 298 00:16:07,570 --> 00:16:09,290 Шест, пет, или два, аз избирам. 299 00:16:09,290 --> 00:16:11,539 Съм се да избере шестимата. 300 00:16:11,539 --> 00:16:13,080 Ниво над това, кой да избера? 301 00:16:13,080 --> 00:16:16,280 302 00:16:16,280 --> 00:16:18,140 Кой получава да изберем? 303 00:16:18,140 --> 00:16:20,000 Другият, противникът ми. 304 00:16:20,000 --> 00:16:22,583 Така те избират пет, девет, или шест, коя? 305 00:16:22,583 --> 00:16:23,410 >> АУДИТОРИЯ: Петимата. 306 00:16:23,410 --> 00:16:25,250 >> SPEAKER: Те избират петимата. 307 00:16:25,250 --> 00:16:27,400 Те да избереш минимума. 308 00:16:27,400 --> 00:16:29,690 И тогава на последната, избере един, два или три. 309 00:16:29,690 --> 00:16:31,720 Съм се да изберете, за да мога да избере три. 310 00:16:31,720 --> 00:16:34,370 Nine, седем, две, аз избирам девет. 311 00:16:34,370 --> 00:16:37,070 И 11, шест, или четири, аз избирам 11. 312 00:16:37,070 --> 00:16:41,190 Опонентът ми след това избира трима, девет, или 11, избира минимум. 313 00:16:41,190 --> 00:16:43,290 Той ми дава три. 314 00:16:43,290 --> 00:16:47,780 И накрая в горната част на дървото, аз да избереш отново. 315 00:16:47,780 --> 00:16:51,190 И съм се да избирате между четири, пет, или три. 316 00:16:51,190 --> 00:16:52,270 Така че съм на пет. 317 00:16:52,270 --> 00:16:55,070 318 00:16:55,070 --> 00:17:00,891 >> Ако аз трябва да контролира всичко, щях поеме по пътя, който водеше към 11. 319 00:17:00,891 --> 00:17:02,390 Но аз не се получи да направи този избор. 320 00:17:02,390 --> 00:17:04,220 Ако отида по този път. 321 00:17:04,220 --> 00:17:10,710 Опонентът ми ще ме принуди да избора, което води до три. 322 00:17:10,710 --> 00:17:14,530 Така че най-доброто, което мога да направя е да вземе, че средната клон, 323 00:17:14,530 --> 00:17:19,859 направи този избор е, че в крайна сметка ще ме доведе до пет точки. 324 00:17:19,859 --> 00:17:23,230 Това е, което Минимакс прави. 325 00:17:23,230 --> 00:17:23,807 >> Всичко е наред. 326 00:17:23,807 --> 00:17:24,890 Нека да разгледаме най-че. 327 00:17:24,890 --> 00:17:27,480 328 00:17:27,480 --> 00:17:32,330 Така че тук в CS50 IDE е програма, която 329 00:17:32,330 --> 00:17:36,540 изпълнява Минимакс да играе Тик-так-палеца. 330 00:17:36,540 --> 00:17:40,100 Отиваме да се изгради създаване на представителство. 331 00:17:40,100 --> 00:17:44,390 Отиваме да имат два opponent-- или двама играчи, нашия компютър 332 00:17:44,390 --> 00:17:46,090 плейър и човешки плейър. 333 00:17:46,090 --> 00:17:48,980 334 00:17:48,980 --> 00:17:53,090 Номер Player един ще се играе на O. Това ще е играч на машината. 335 00:17:53,090 --> 00:17:55,747 Те се да се движат на второ място. 336 00:17:55,747 --> 00:17:57,830 И на другия играч, ни играч на човека, ще бъде X. 337 00:17:57,830 --> 00:17:59,880 >> И за да ми живот малко проста, аз ще съм 338 00:17:59,880 --> 00:18:03,060 да се поставя етикет, че играчите отрицателен. 339 00:18:03,060 --> 00:18:05,026 Така че аз може просто да се размножават от отрицателен за размяна 340 00:18:05,026 --> 00:18:06,400 между един играч и от друга. 341 00:18:06,400 --> 00:18:09,030 342 00:18:09,030 --> 00:18:12,250 Добре, така че нека да разгледаме най- това, което ние всъщност ще направим. 343 00:18:12,250 --> 00:18:15,840 Отиваме да се определят нашата борда. 344 00:18:15,840 --> 00:18:19,060 Това ще бъде добре, отиваме за да може тя да бъде по три, 345 00:18:19,060 --> 00:18:21,580 или дори можем да играем пет от пет или седем 346 00:18:21,580 --> 00:18:28,870 от седем тик-так-палеца, ако искате като въз основа на някои измерение D. 347 00:18:28,870 --> 00:18:31,260 >> И ще имаме няколко на помощни функции 348 00:18:31,260 --> 00:18:34,360 че ще направя неща, като инициализира screen-- или Съжаляваме, 349 00:18:34,360 --> 00:18:38,900 инициализира нашите променливи, изчистете екран, изготвя борда на екрана, 350 00:18:38,900 --> 00:18:41,060 един, който проверява на борда да се види дали или не 351 00:18:41,060 --> 00:18:44,520 има един победител, който анализира чрез командния ред, 352 00:18:44,520 --> 00:18:50,670 Просто, за да помага, една, която чете в вход и една функция, наречена Минимакс. 353 00:18:50,670 --> 00:18:52,746 И това е този, ние ще се грижи най-много за. 354 00:18:52,746 --> 00:18:54,120 Но нека да погледнем първо на най-главното. 355 00:18:54,120 --> 00:18:57,490 356 00:18:57,490 --> 00:18:58,510 >> И какво ще правим? 357 00:18:58,510 --> 00:19:00,570 Е, ние ще разбор на нашия команден ред, 358 00:19:00,570 --> 00:19:04,300 що прочетох в и да видим какво измерение борда ние бихме искали да имаме. 359 00:19:04,300 --> 00:19:07,330 Ние ще се инициализира нашия борд. 360 00:19:07,330 --> 00:19:10,360 И тогава ние ще попадне в едно голяма дива линия, многократно 361 00:19:10,360 --> 00:19:16,630 приемам ходове, докато играта е спечели, или че няма останали ходове. 362 00:19:16,630 --> 00:19:20,560 Всеки път, когато мине през това линия, ние ще изчистите екрана. 363 00:19:20,560 --> 00:19:23,290 Ще се направи на дъската на екрана. 364 00:19:23,290 --> 00:19:28,750 И ние сме умишлено нещо абстрахиране тях след като подпрограми, 365 00:19:28,750 --> 00:19:32,030 така че ние не трябва да се тревожи твърде много за подробности за това как те се случват. 366 00:19:32,030 --> 00:19:33,480 >> Ще трябва кода по-късно днес. 367 00:19:33,480 --> 00:19:37,970 А ако искате да погледнете през и да разберете, можете да видите всички тях. 368 00:19:37,970 --> 00:19:39,890 Но ние ще се направи борда на екрана. 369 00:19:39,890 --> 00:19:43,620 И тогава ние ще провери и виж, имаме победител? 370 00:19:43,620 --> 00:19:46,290 Дали някой е спечелил тази игра? 371 00:19:46,290 --> 00:19:49,260 Ако те имат, ще отпечата посочени победа съобщение. 372 00:19:49,260 --> 00:19:51,680 И ние ще се сложи край на играта. 373 00:19:51,680 --> 00:19:54,510 >> Ние също така ще проверява и виж, ако има равен брой гласове. 374 00:19:54,510 --> 00:19:56,620 Тя ще бъде лесно да се види, ако има равен брой гласове. 375 00:19:56,620 --> 00:20:00,700 Това означава, че всички пространства са пълни, но все още не е победител. 376 00:20:00,700 --> 00:20:03,580 Ние може да обяви вратовръзка и да се направи. 377 00:20:03,580 --> 00:20:10,530 Тогава недвижими meat-- ако това е една машина плейър, 378 00:20:10,530 --> 00:20:14,120 ние ще позволим това машина играчите да търсите 379 00:20:14,120 --> 00:20:19,500 чрез използването на този Минимакс алгоритъм, да се намери най-добрият ход, който може. 380 00:20:19,500 --> 00:20:22,310 И тогава ние ще постави този ход нагоре. 381 00:20:22,310 --> 00:20:27,640 >> В противен случай, ако това е играч на човека, ние ще прочетете някои принос от страна на човека. 382 00:20:27,640 --> 00:20:30,800 И след това, дали е човекът плейър или играч на машината, 383 00:20:30,800 --> 00:20:32,800 ние ще направим няколко малко бита на проверка за грешки, 384 00:20:32,800 --> 00:20:36,910 уверете се, че той остава в границите на действителните размери на дъската 385 00:20:36,910 --> 00:20:40,040 че ние имаме, се уверете, че това пространство е празна, 386 00:20:40,040 --> 00:20:43,570 че никой не сложи парче там вече. 387 00:20:43,570 --> 00:20:45,810 И тогава ние просто ще сложи парче на борда, 388 00:20:45,810 --> 00:20:51,550 промяна на играча към следващия слой, и нарастване колко ходове да се случи. 389 00:20:51,550 --> 00:20:54,090 >> Това е основната линия за нашата тик-так-палеца игра. 390 00:20:54,090 --> 00:20:57,000 391 00:20:57,000 --> 00:21:02,340 Minimax, а след това, е точно алгоритъм, че преди. 392 00:21:02,340 --> 00:21:04,710 Единствената корекция, която сме направили така, че ние 393 00:21:04,710 --> 00:21:07,290 може да играе по-висока триизмерни дъски е ние сме 394 00:21:07,290 --> 00:21:11,070 съхраняват този допълнителен параметър, наречен дълбочина. 395 00:21:11,070 --> 00:21:14,870 И дълбочина просто казва, ако съм търсите надолу през това дърво 396 00:21:14,870 --> 00:21:19,022 и аз получавам толкова далеч надолу отвъд някаква дълбочина ниво 397 00:21:19,022 --> 00:21:20,730 че аз просто не искам да отиде по-нататък, 398 00:21:20,730 --> 00:21:25,630 Отивам да се спре и просто оценка на борда в този момент. 399 00:21:25,630 --> 00:21:27,310 Ще проверя и да видим дали има победител. 400 00:21:27,310 --> 00:21:29,240 Ако има победител, аз ги върне. 401 00:21:29,240 --> 00:21:31,720 В противен случай, ще мине през една линия. 402 00:21:31,720 --> 00:21:34,380 И аз ще кажа, за всички възможните места 403 00:21:34,380 --> 00:21:38,080 че бих могъл евентуално вземе като моя постъпка, аз ще 404 00:21:38,080 --> 00:21:43,760 изгради една хипотетична борда, че включва моя ход от този съвет, 405 00:21:43,760 --> 00:21:45,960 и след това рекурсивно призовава Минимакс. 406 00:21:45,960 --> 00:21:49,360 407 00:21:49,360 --> 00:21:53,900 >> Ако това е моята постъпка, аз се да намерите този, който има най-голям резултат. 408 00:21:53,900 --> 00:21:58,710 Ако това е ход на опонента ми, ние откриваме този, който има минималния резултат. 409 00:21:58,710 --> 00:22:02,240 И всичко останало е просто водене на записи. 410 00:22:02,240 --> 00:22:04,789 Добре, така че нека да видим този план. 411 00:22:04,789 --> 00:22:06,830 Всъщност, може би можем да получите няколко доброволци 412 00:22:06,830 --> 00:22:09,930 да дойде и да играе Тик-так-палеца. 413 00:22:09,930 --> 00:22:12,780 [Недоловим] един, и един повече, две, точно там. 414 00:22:12,780 --> 00:22:13,550 Хайде нагоре. 415 00:22:13,550 --> 00:22:19,290 416 00:22:19,290 --> 00:22:23,650 >> Така че нека да вървим напред и да рестартирайте това напълно. 417 00:22:23,650 --> 00:22:24,150 Така че, здрасти. 418 00:22:24,150 --> 00:22:24,920 >> АУДИТОРИЯ: Здравейте. 419 00:22:24,920 --> 00:22:25,420 >> SPEAKER: Как се казваш? 420 00:22:25,420 --> 00:22:26,086 >> АУДИТОРИЯ: Gorav. 421 00:22:26,086 --> 00:22:26,840 SPEAKER: Gorav. 422 00:22:26,840 --> 00:22:27,800 >> АУДИТОРИЯ: Аз съм Лейла. 423 00:22:27,800 --> 00:22:29,490 >> SPEAKER: И Layla и Layla, съжалявам. 424 00:22:29,490 --> 00:22:30,384 Хайде нагоре. 425 00:22:30,384 --> 00:22:32,050 Gorav, ние ще трябва да отидете на първо място. 426 00:22:32,050 --> 00:22:37,710 И аз ще ви помоля да бъде не Ужасно добра тик-так-палеца играч. 427 00:22:37,710 --> 00:22:40,130 ОК, така че всичко, налягането е на разстояние от вас. 428 00:22:40,130 --> 00:22:44,660 Да видим обаче, че нашата машина играчите могат действително да се направи нещо умно. 429 00:22:44,660 --> 00:22:45,310 Така че продължавайте напред. 430 00:22:45,310 --> 00:22:49,830 Ти ще се объркат, в който координира бихте искали да сложиш X инча 431 00:22:49,830 --> 00:22:55,170 A0, OK, и машината е отишло веднага и сложи своя отпечатък в A1. 432 00:22:55,170 --> 00:22:56,640 >> Поставете O на дъската. 433 00:22:56,640 --> 00:22:58,970 Добре, сега вървим напред. 434 00:22:58,970 --> 00:23:00,193 Къде бихте искали да отидете? 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 Нашата машина играч е взела средната площада, ви е блокирал. 438 00:23:08,430 --> 00:23:10,320 Така че това е един добър, умно нещо, за да се направи. 439 00:23:10,320 --> 00:23:13,430 440 00:23:13,430 --> 00:23:14,250 Ти успя да блокира удара. 441 00:23:14,250 --> 00:23:15,210 Това е отлична. 442 00:23:15,210 --> 00:23:16,390 Това отнема ъгъла там. 443 00:23:16,390 --> 00:23:23,890 444 00:23:23,890 --> 00:23:30,430 >> И това ще ви принуди да вземи един последен пространство, B0. 445 00:23:30,430 --> 00:23:32,220 И играта завърши с равен резултат. 446 00:23:32,220 --> 00:23:35,030 Но тя играе разумен игра срещу вас, нали? 447 00:23:35,030 --> 00:23:36,956 Добре, благодаря много, Gorav. 448 00:23:36,956 --> 00:23:40,860 >> [Аплодисменти] 449 00:23:40,860 --> 00:23:44,723 >> Добре, Layla, отиваме до играта за вас тук. 450 00:23:44,723 --> 00:23:46,940 >> АУДИТОРИЯ: О, страхотно. 451 00:23:46,940 --> 00:23:49,950 >> SPEAKER: Отиваме да даде можете четири от четири тик-так-палеца. 452 00:23:49,950 --> 00:23:54,760 Сега, в четири от четири, което трябва да спечели с четири в един ред, а не три поредни. 453 00:23:54,760 --> 00:23:56,135 И всичко е ваше. 454 00:23:56,135 --> 00:24:02,180 455 00:24:02,180 --> 00:24:04,420 Така Layla взе D1. 456 00:24:04,420 --> 00:24:11,730 Сега ще да следват нашия компютър играч тук. 457 00:24:11,730 --> 00:24:16,910 Три от три тик-так-палеца е вид на нещо, което е лесно за всички нас. 458 00:24:16,910 --> 00:24:21,960 Но тя все още е хубаво да се види на компютър играч прави умни ходове. 459 00:24:21,960 --> 00:24:23,725 Четири от четири получава да да бъде малко по-сложни. 460 00:24:23,725 --> 00:24:42,960 461 00:24:42,960 --> 00:24:44,230 >> Добре свършено. 462 00:24:44,230 --> 00:24:46,210 Добре, така че Лейла завърши. 463 00:24:46,210 --> 00:24:48,270 О, и ние трябва да приключи там. 464 00:24:48,270 --> 00:24:51,870 Но нека да направим още една тук. 465 00:24:51,870 --> 00:24:53,480 Така Layla, благодаря ви. 466 00:24:53,480 --> 00:24:55,112 Добре свършено. 467 00:24:55,112 --> 00:24:57,517 >> [Аплодисменти] 468 00:24:57,517 --> 00:25:00,410 469 00:25:00,410 --> 00:25:04,750 >> Така че нашата тик-так-палеца играч отива чрез и намира места, 470 00:25:04,750 --> 00:25:07,040 решава да ги използвате този Минимакс. 471 00:25:07,040 --> 00:25:08,990 И аз имах настройка на дълбочина на това, така че тя 472 00:25:08,990 --> 00:25:11,010 няма да се кандидатира твърде бързо, което вероятно е защо 473 00:25:11,010 --> 00:25:16,790 Layla е в състояние да отидат добре напред като тя го направи, и се справи много добре. 474 00:25:16,790 --> 00:25:20,450 Но тези системи, които просто проверете и груба сила 475 00:25:20,450 --> 00:25:23,870 навлезем по-дълбоко и по-дълбоко, и по-дълбоко, и поддържа намирането на решение 476 00:25:23,870 --> 00:25:29,890 че те се нуждаят, тези видове системи са доста успешни в това, добре, 477 00:25:29,890 --> 00:25:32,700 стандартните настолни игри. 478 00:25:32,700 --> 00:25:37,060 >> И всъщност, ако погледнем по- по три тик-так-палеца игра, 479 00:25:37,060 --> 00:25:40,040 това е в основата на решен проблем. 480 00:25:40,040 --> 00:25:45,430 И това е прекрасно диаграма от Рандал Мънроу в Xkcd, 481 00:25:45,430 --> 00:25:52,130 който показва кои движи необходимата взема, като се има ходове на противника си. 482 00:25:52,130 --> 00:25:56,420 Това е нещо, което бихме могли да лесно зададени преди време. 483 00:25:56,420 --> 00:26:00,180 Но какво се случва, тъй като ние стигнем до по- сложни игри, по-сложни игри, 484 00:26:00,180 --> 00:26:05,690 където има по-големи плоскости, по- възможности, по-дълбока стратегия? 485 00:26:05,690 --> 00:26:09,660 >> Оказва се, че това груба сила да търсите още 486 00:26:09,660 --> 00:26:14,150 прави доста добре, с изключение на когато стигнем до точката 487 00:26:14,150 --> 00:26:19,230 когато това дърво е толкова голям, че не можете да го представляват всички. 488 00:26:19,230 --> 00:26:22,370 489 00:26:22,370 --> 00:26:28,280 Когато не може да изчисли цялото дърво, когато не можете да отидете напред и натиснете 490 00:26:28,280 --> 00:26:32,204 себе си до точката, където сте намерила цялата дърво в паметта, 491 00:26:32,204 --> 00:26:34,370 или дали можете да го получите в паметта и това ще стане само 492 00:26:34,370 --> 00:26:39,200 ви отнеме много дълго време, за да се търси чрез това, което трябва да се направи нещо по-умни. 493 00:26:39,200 --> 00:26:42,620 494 00:26:42,620 --> 00:26:46,450 >> За да направите това, вие трябва да направите две неща. 495 00:26:46,450 --> 00:26:49,030 Първо, вие трябва да намерите някои начин за ограничаване дълбочината си. 496 00:26:49,030 --> 00:26:50,370 Е, това е ОК. 497 00:26:50,370 --> 00:26:55,740 Ние можем да намерим някой хубав, абсолютния минимум и да кажа, вие може само да отидете толкова дълбоко. 498 00:26:55,740 --> 00:27:00,890 Но когато правиш това, което ти означава, имат тези частично непълни дъски. 499 00:27:00,890 --> 00:27:04,770 И вие трябва да изберете, направете ми харесва Това частично непълно борда, 500 00:27:04,770 --> 00:27:08,600 или това частично непълно борда? 501 00:27:08,600 --> 00:27:11,910 >> И на нашия четирима от четири тик-так-палеца игра, 502 00:27:11,910 --> 00:27:15,240 нашия компютър играч слезе до дъното и да го каза, 503 00:27:15,240 --> 00:27:16,800 Имам две различни плоскости. 504 00:27:16,800 --> 00:27:17,940 Нито едното е победа. 505 00:27:17,940 --> 00:27:19,120 Нито едното е на загуба. 506 00:27:19,120 --> 00:27:22,070 Нито едното е вратовръзка. 507 00:27:22,070 --> 00:27:24,100 Как да избера между тях? 508 00:27:24,100 --> 00:27:26,200 И това не е имало умен начин за правене на това. 509 00:27:26,200 --> 00:27:28,910 510 00:27:28,910 --> 00:27:32,850 >> Виждаме този вид оценка се случи през цялото време 511 00:27:32,850 --> 00:27:35,290 като вземем в по-сложни игри. 512 00:27:35,290 --> 00:27:37,600 Chess е чудесен пример. 513 00:27:37,600 --> 00:27:41,550 В шаха, което имаме, първо от всички, по-голям борд. 514 00:27:41,550 --> 00:27:43,370 Ние имаме много повече парчета. 515 00:27:43,370 --> 00:27:47,930 И позиционирането на тези парчета и начинът, по който тези парчета се движат 516 00:27:47,930 --> 00:27:50,370 е от критично значение. 517 00:27:50,370 --> 00:27:53,700 Така че, ако искам да използвам Минимакс, Трябва да бъде в състояние да се уточни 518 00:27:53,700 --> 00:27:58,240 и да кажа, този форум, където никой не е печели или губи, все още, 519 00:27:58,240 --> 00:28:04,310 е някак си по-добър от този друг дъска, където никой не е печели или губи. 520 00:28:04,310 --> 00:28:06,740 >> За да направите това, мога да направя неща, като бих могъл просто 521 00:28:06,740 --> 00:28:10,787 преброим колко парчета трябва да съм, и колко парчета имате? 522 00:28:10,787 --> 00:28:12,870 Или мога да дам различен парчета различни гледни точки. 523 00:28:12,870 --> 00:28:14,420 Моята кралица е на стойност 20 точки. 524 00:28:14,420 --> 00:28:16,500 Вашият пешка е на стойност един момент. 525 00:28:16,500 --> 00:28:18,920 Кой има повече точки общо? 526 00:28:18,920 --> 00:28:22,300 Или аз да помислите за неща като: който има по-добра позиция на борда? 527 00:28:22,300 --> 00:28:26,820 Чий ред е следващата, нещо, което мога 528 00:28:26,820 --> 00:28:31,220 да да се оцени по-точно коя от тези възможности 529 00:28:31,220 --> 00:28:34,660 е по-добре, без да изчерпателно за това, 530 00:28:34,660 --> 00:28:36,565 всеки ход, който може да дойде след това. 531 00:28:36,565 --> 00:28:39,740 532 00:28:39,740 --> 00:28:45,130 >> Сега, за да направи тази работа, едно от нещата, това е 533 00:28:45,130 --> 00:28:48,680 ще се превърне в много важен за нас не е просто преместване права 534 00:28:48,680 --> 00:28:53,720 до определена дълбочина лимит, но е в състояние да каже, 535 00:28:53,720 --> 00:28:59,380 една от тези идеи, които съм имам е толкова лошо, че това е 536 00:28:59,380 --> 00:29:02,280 не заслужава да бъде разгледан всички възможни начини 537 00:29:02,280 --> 00:29:06,680 че нещата могат да отидат от лошо към по-лошо. 538 00:29:06,680 --> 00:29:12,760 За да направите това, ние ще добавим в Минимакс принцип, наречен ALPH-бета. 539 00:29:12,760 --> 00:29:16,340 И алфа-бета казва, ако имате лоша идея, 540 00:29:16,340 --> 00:29:22,840 не си губете времето да се опитва разберете как точно е зле. 541 00:29:22,840 --> 00:29:24,990 >> Така че тук е това, което ние ще направим. 542 00:29:24,990 --> 00:29:28,620 Отиваме да предприемат същите принципи, които сме имали преди, 543 00:29:28,620 --> 00:29:32,200 по същия Минимакс типа на търсене, само ние сме 544 00:29:32,200 --> 00:29:37,570 Ще следим, не само на действителните стойности, които имаме, но ще 545 00:29:37,570 --> 00:29:41,440 следите на най-добрите възможни стойност, която мога да получа, 546 00:29:41,440 --> 00:29:45,700 и възможно най-лошата изход мога да имам. 547 00:29:45,700 --> 00:29:50,470 И всяко време възможно най-лошата нещо се търси вероятно, 548 00:29:50,470 --> 00:29:52,694 Аз ще се откаже от тази част на дървото. 549 00:29:52,694 --> 00:29:54,610 И аз дори няма да се занимавам погледнете в него вече. 550 00:29:54,610 --> 00:29:57,680 551 00:29:57,680 --> 00:30:02,600 >> Добре, така че представете си, че ние започваме с този точно същата игра дърво. 552 00:30:02,600 --> 00:30:05,200 И сега ние ще отидем отново, по целия път надолу 553 00:30:05,200 --> 00:30:07,200 да, че долния ляв ъгъл. 554 00:30:07,200 --> 00:30:11,180 И с това, че долния ляв ъгъл, ние Посетете и ние оценяваме този форум. 555 00:30:11,180 --> 00:30:15,700 Може би това е една от четирите четири тик-так-палеца борда, или може би това е една шахматна дъска. 556 00:30:15,700 --> 00:30:18,620 Но ние гледаме на него, и ние оценяваме той, и ние се стойност от осем. 557 00:30:18,620 --> 00:30:22,290 558 00:30:22,290 --> 00:30:28,030 >> В този момент, ние знаем, че ние ще се получи най-малко 559 00:30:28,030 --> 00:30:32,380 осем точки от този отдолу решение. 560 00:30:32,380 --> 00:30:36,620 Няма значение какво другият две са, че седем и че две. 561 00:30:36,620 --> 00:30:38,580 Те могат да бъдат всякакви ценности те искаха да бъдат. 562 00:30:38,580 --> 00:30:41,279 Отиваме, за да получите най- малко осем точки. 563 00:30:41,279 --> 00:30:43,070 Добре, но можехме отидете напред и да се провери. 564 00:30:43,070 --> 00:30:45,080 Може би един от тях е по-добре от осем. 565 00:30:45,080 --> 00:30:46,000 >> Очакваме в седем. 566 00:30:46,000 --> 00:30:46,910 Това ли е по-добре от осем? 567 00:30:46,910 --> 00:30:48,680 Не, че не се променя Според нас изобщо. 568 00:30:48,680 --> 00:30:49,460 Очакваме в двете. 569 00:30:49,460 --> 00:30:50,543 Това ли е по-добре от осем? 570 00:30:50,543 --> 00:30:52,580 Не, че не се променя Според нас изобщо. 571 00:30:52,580 --> 00:30:55,480 Така че сега ние знаем, ние сме изчерпали всички възможности там. 572 00:30:55,480 --> 00:30:58,330 Ние няма да се получи нищо по-добро от осем. 573 00:30:58,330 --> 00:31:01,310 Отиваме да получите точно осем. 574 00:31:01,310 --> 00:31:03,825 >> И така, ние се промени, че възела и да речем, че сега е сигурност. 575 00:31:03,825 --> 00:31:07,010 576 00:31:07,010 --> 00:31:10,270 Ще отидем до едно ниво над това. 577 00:31:10,270 --> 00:31:13,820 И сега ние знаем нещо около това ниво минимизиране. 578 00:31:13,820 --> 00:31:18,560 Ние знаем, че ние никога не започваш да се получи повече от осем точки, ако искаме да се понижат 579 00:31:18,560 --> 00:31:20,910 тази посока. 580 00:31:20,910 --> 00:31:22,980 Защото дори и тези, други два клона се окажат по- 581 00:31:22,980 --> 00:31:26,170 да бъде фантастично и си струва хиляди точки за всяка дейност, 582 00:31:26,170 --> 00:31:31,666 нашият опонент ще ни даде минимум, и да ни даде осем. 583 00:31:31,666 --> 00:31:32,790 Добре, добре, нека да видим. 584 00:31:32,790 --> 00:31:35,190 Ние ще продължим по този път. 585 00:31:35,190 --> 00:31:38,490 Ние слизат, че средната отляво. 586 00:31:38,490 --> 00:31:40,560 Ние погледне надолу и виждаме, че има девет. 587 00:31:40,560 --> 00:31:45,590 Ние знаем, че ние ще се получи най-малко девет точки от захождането 588 00:31:45,590 --> 00:31:47,720 че средната път. 589 00:31:47,720 --> 00:31:52,110 И в този момент, ние можем просто да направите пауза. 590 00:31:52,110 --> 00:31:56,910 И ние можем да кажем, вижте, аз знам в по-горното ниво, 591 00:31:56,910 --> 00:32:01,160 Отивам да се получи не повече от осем точки от захождането тази посока. 592 00:32:01,160 --> 00:32:05,670 Но ако аз отидох в центъра път вместо по левия път, 593 00:32:05,670 --> 00:32:08,980 Аз ще получи най-малко девет точки. 594 00:32:08,980 --> 00:32:13,590 >> Опонентът ми никога няма да позволете ми да сляза, че среден път. 595 00:32:13,590 --> 00:32:14,650 Те да избереш. 596 00:32:14,650 --> 00:32:18,140 И те ще се избере най- път на ляво към осем, 597 00:32:18,140 --> 00:32:23,650 отколкото през центъра в посока това, което е най-малко девет точки. 598 00:32:23,650 --> 00:32:25,334 Така че в този момент, ще спра. 599 00:32:25,334 --> 00:32:26,500 И аз ще кажа, знаеш ли какво? 600 00:32:26,500 --> 00:32:29,990 Не е нужно да търсите всеки по-надолу в тази посока. 601 00:32:29,990 --> 00:32:32,270 Защото аз никога няма да стигнем до там. 602 00:32:32,270 --> 00:32:36,660 >> Мога да прескачам, че един, и мога да прескочим, че шест, 603 00:32:36,660 --> 00:32:39,720 защото това никога няма да се случи. 604 00:32:39,720 --> 00:32:42,470 Така че аз ще сляза и ще разгледа следващата възможност. 605 00:32:42,470 --> 00:32:44,830 Аз отивам там и ви казвам, аз виждам две. 606 00:32:44,830 --> 00:32:47,125 Знам, че ако получа до тук, аз съм Ще получите най-малко две. 607 00:32:47,125 --> 00:32:49,810 608 00:32:49,810 --> 00:32:50,470 ДОБРЕ. 609 00:32:50,470 --> 00:32:51,520 I продължавай. 610 00:32:51,520 --> 00:32:52,440 Виждам четири. 611 00:32:52,440 --> 00:32:54,920 Знам, че аз отивам да получите най-малко четири. 612 00:32:54,920 --> 00:32:57,200 Все още има много между четири и осем, все пак. 613 00:32:57,200 --> 00:32:58,454 Така че аз не спирай. 614 00:32:58,454 --> 00:32:59,870 Аз гледам надолу и виждам, че има един. 615 00:32:59,870 --> 00:33:01,614 Добре, аз знам, ако Аз отивам по този път, 616 00:33:01,614 --> 00:33:03,280 Отивам да бъде в състояние да изберете четиримата. 617 00:33:03,280 --> 00:33:06,540 618 00:33:06,540 --> 00:33:08,980 Какво опонентът ми смяташ да правиш? 619 00:33:08,980 --> 00:33:12,310 Между нещо, което ми дава осем, нещо, което ми дава четири, 620 00:33:12,310 --> 00:33:14,730 и нещо, което ми дава най-малко девет, 621 00:33:14,730 --> 00:33:17,550 добре, че ще ми даде четиримата. 622 00:33:17,550 --> 00:33:20,110 И сега знам в много отгоре, аз отивам 623 00:33:20,110 --> 00:33:23,145 да бъде в състояние да получите най-малко четири точки от тази игра. 624 00:33:23,145 --> 00:33:27,030 625 00:33:27,030 --> 00:33:30,900 >> Цялата идея на алфа-бета е да отреже части на дървото, така че 626 00:33:30,900 --> 00:33:32,530 че аз не гледам на тях вече. 627 00:33:32,530 --> 00:33:35,964 Но тя все още изглежда като аз съм бил погледнете в много от дървото. 628 00:33:35,964 --> 00:33:36,880 Нека да продължим надолу. 629 00:33:36,880 --> 00:33:38,305 Ще сляза следващия сега. 630 00:33:38,305 --> 00:33:39,680 Най-долу, да намеря една. 631 00:33:39,680 --> 00:33:41,030 Знам, че ще се получи най-малко един. 632 00:33:41,030 --> 00:33:41,690 I продължавайте да търсите. 633 00:33:41,690 --> 00:33:42,625 >> Да намеря три. 634 00:33:42,625 --> 00:33:44,250 Знам, че аз отивам да получите най-малко три. 635 00:33:44,250 --> 00:33:44,840 I продължавай. 636 00:33:44,840 --> 00:33:45,660 Да намеря пет. 637 00:33:45,660 --> 00:33:49,760 Знам, че ще се получи пет ако получа надолу в тази пътека. 638 00:33:49,760 --> 00:33:52,580 И аз също знам, след това че опонентът ми, ако аз 639 00:33:52,580 --> 00:33:55,510 изберете средата на трите големите решения, 640 00:33:55,510 --> 00:34:01,440 той ще ми даде нещо, което е пет или по-малко. 641 00:34:01,440 --> 00:34:02,150 >> ДОБРЕ. 642 00:34:02,150 --> 00:34:03,400 Мога да продължа да ходя там. 643 00:34:03,400 --> 00:34:06,470 Мога да погледна надолу и аз Може да се каже, какво ще 644 00:34:06,470 --> 00:34:08,239 за да получите, ако отида в центъра пътя? 645 00:34:08,239 --> 00:34:09,909 Отивам да се получи, добре, три там. 646 00:34:09,909 --> 00:34:12,080 Отивам да си взема нещо това е най-малко три. 647 00:34:12,080 --> 00:34:16,030 Все още има неща, между три и пет, така че продължавайте да търсите. 648 00:34:16,030 --> 00:34:20,203 О, девет, аз определено ще вземе, че в продължение на три. 649 00:34:20,203 --> 00:34:22,744 Отивам да получите най-малко девет ако сляза, че среден път. 650 00:34:22,744 --> 00:34:25,530 651 00:34:25,530 --> 00:34:31,010 >> Сега противникът ми спира и казва: Виж, няма смисъл вече. 652 00:34:31,010 --> 00:34:33,669 Знам, че моят противника минимизиране, той е 653 00:34:33,669 --> 00:34:36,210 ще ми даде това, което е по-малко от или равно на пет, 654 00:34:36,210 --> 00:34:39,030 а не това, което е по-голям от или равен на девет. 655 00:34:39,030 --> 00:34:39,530 Спра. 656 00:34:39,530 --> 00:34:40,779 Аз не гледам повече в това. 657 00:34:40,779 --> 00:34:43,280 I продължавай. 658 00:34:43,280 --> 00:34:44,850 >> Аз гледам надолу по този въпрос. 659 00:34:44,850 --> 00:34:46,370 Надолу към дъното, да намеря шест. 660 00:34:46,370 --> 00:34:50,040 Знам, че аз отивам да получите най-малко шест. 661 00:34:50,040 --> 00:34:53,130 И това, което мога да направя? 662 00:34:53,130 --> 00:34:54,877 Мога да спра. 663 00:34:54,877 --> 00:34:57,460 Защото има възможност за избор между нещо, което е най-малко шест 664 00:34:57,460 --> 00:34:59,250 и нещо, което е по-малко от пет, той е 665 00:34:59,250 --> 00:35:02,570 ще ми даде нещо това е по-малко от пет. 666 00:35:02,570 --> 00:35:04,779 И сега, аз знам, че ще за да получите точно този избор. 667 00:35:04,779 --> 00:35:06,195 Отивам да се получи, че петте избор. 668 00:35:06,195 --> 00:35:08,980 669 00:35:08,980 --> 00:35:10,010 >> Се върна на върха. 670 00:35:10,010 --> 00:35:11,450 Коя съм аз ще избирате между нещо 671 00:35:11,450 --> 00:35:14,449 това е по-голям от или равен на четири, или нещо, което е равно на пет? 672 00:35:14,449 --> 00:35:17,140 Отивам да взема нещо това е най-малко пет. 673 00:35:17,140 --> 00:35:20,490 Сляза последния път, всички път надолу към дъното. 674 00:35:20,490 --> 00:35:21,260 Има една. 675 00:35:21,260 --> 00:35:23,410 OK, поне аз ще получите по една точка. 676 00:35:23,410 --> 00:35:24,427 I продължавай. 677 00:35:24,427 --> 00:35:25,760 Two, о, това е по-добре от една. 678 00:35:25,760 --> 00:35:27,100 Отивам да се получи най-малко две. 679 00:35:27,100 --> 00:35:28,610 Да намеря три. 680 00:35:28,610 --> 00:35:31,450 Знам, че ще се получи три. 681 00:35:31,450 --> 00:35:34,690 >> И най-важното, че по-горе, опонентът ми се случва 682 00:35:34,690 --> 00:35:38,540 да ми даде нещо, което е по-малко от или равно на три. 683 00:35:38,540 --> 00:35:40,940 И сега мога да спра. 684 00:35:40,940 --> 00:35:46,290 Защото при избора между мен е в състояние да получи пет и опонентът ми 685 00:35:46,290 --> 00:35:52,290 че ми даде нещо по-малко от три, Аз винаги ще вземе, че пет. 686 00:35:52,290 --> 00:35:56,810 Така че аз не се оцени, че долната част на дървото на всички. 687 00:35:56,810 --> 00:35:59,470 >> Сега, това може да изглежда незначително. 688 00:35:59,470 --> 00:36:03,630 Но когато парченца аритметика, по-голям от по-малко от, 689 00:36:03,630 --> 00:36:10,640 може да изрежете цели части това експоненциално растяща дърво, 690 00:36:10,640 --> 00:36:14,280 което води до огромно сума от спестявания, спестявания 691 00:36:14,280 --> 00:36:17,630 които са достатъчно големи, че аз да започнете да играете конкурентно 692 00:36:17,630 --> 00:36:21,330 при по-сложни игри. 693 00:36:21,330 --> 00:36:27,030 >> Добре, ако погледнем на размера и сложността на различни игри, 694 00:36:27,030 --> 00:36:29,470 Тик-так-палеца беше нашият лесен пример. 695 00:36:29,470 --> 00:36:32,150 Имаме малък съвет, три от три. 696 00:36:32,150 --> 00:36:36,030 Ние получаваме най-много средно около четири различни избори 697 00:36:36,030 --> 00:36:38,440 като отидем в играта. 698 00:36:38,440 --> 00:36:42,720 Имаме някъде около 10 до пето възможни различни листа. 699 00:36:42,720 --> 00:36:45,200 И изграждането на тик-так-палеца плейър, добре, ние просто го е направил. 700 00:36:45,200 --> 00:36:47,460 Това е лесно. 701 00:36:47,460 --> 00:36:49,890 >> Ако отидем до нещо по- сложна, като Connect Four. 702 00:36:49,890 --> 00:36:53,170 Спомняте ли си тази игра, в която побъркване малките жетоните в? 703 00:36:53,170 --> 00:36:58,490 Това е шест от седем борда, Не, че много по-голям, все още 704 00:36:58,490 --> 00:37:00,770 има приблизително същото разклонение фактор, тъй като тик-так-палеца. 705 00:37:00,770 --> 00:37:05,410 Имам около четири възможности за избор къде мога да постави нещата вътре. 706 00:37:05,410 --> 00:37:10,760 Но сега, аз имам много повече води, от 10 до 21-ви власт. 707 00:37:10,760 --> 00:37:14,440 Това е нещо, което е лесно достатъчно, че ние го решим веднага. 708 00:37:14,440 --> 00:37:17,560 >> Шашки, още ли complex-- получи осем от осем борда. 709 00:37:17,560 --> 00:37:20,570 Ти си само на половината от тях по всяко време, все пак. 710 00:37:20,570 --> 00:37:24,930 Имаш разклоняване фактор, който е около 2.8. 711 00:37:24,930 --> 00:37:28,160 Е, ние имаме няколко движи можете да вземете. 712 00:37:28,160 --> 00:37:33,870 Имаш около 10 до 31 листа, по-големи, и по-големи, и по-големи пространства. 713 00:37:33,870 --> 00:37:37,340 Както аз трябва да се търси чрез тези по-големи пространства, 714 00:37:37,340 --> 00:37:42,220 това е, когато неща като алфа-бета и е в състояние да изрежете цели отрасли 715 00:37:42,220 --> 00:37:44,420 придобива първостепенно значение. 716 00:37:44,420 --> 00:37:47,440 >> Сега, пулове беше достатъчно лесни през 1992. 717 00:37:47,440 --> 00:37:51,400 Компютърна програма, наречена Chinook победи световните пуловете 718 00:37:51,400 --> 00:37:53,590 шампион, Марион Тинсли. 719 00:37:53,590 --> 00:37:57,260 И оттогава не човешкото майстор играч има 720 00:37:57,260 --> 00:38:02,290 бил в състояние да победи най-добрия изчислителни системи. 721 00:38:02,290 --> 00:38:06,570 Ако се вгледаме в нещо като шах, сега отново, имаме осем от осем борда. 722 00:38:06,570 --> 00:38:09,870 Но ние имаме много по-сложна парчета, много по-сложни движения. 723 00:38:09,870 --> 00:38:14,610 Имаме разклоняване фактор от около 35, 35 възможни ходове средно 724 00:38:14,610 --> 00:38:20,030 че мога да взема и състояние пространство, брой листа 725 00:38:20,030 --> 00:38:28,950 който е нараснал до 10 на 123-то силата, огромен брой възможности. 726 00:38:28,950 --> 00:38:35,570 >> Дори все още, модерни процесори са в състояние да направите това успешно. 727 00:38:35,570 --> 00:38:43,900 През 1995 г. и след това през 1997 г., с компютър програма, наречена Deep Blue, построен от IBM 728 00:38:43,900 --> 00:38:49,601 че се кандидатира с гигантски суперкомпютър победи сегашния световен шампион, 729 00:38:49,601 --> 00:38:50,225 Гари Каспаров. 730 00:38:50,225 --> 00:38:54,000 731 00:38:54,000 --> 00:38:56,650 Това беше повратен момент. 732 00:38:56,650 --> 00:39:00,620 Днес, обаче, че същата обработка мощност седи на моя MacBook. 733 00:39:00,620 --> 00:39:04,180 734 00:39:04,180 --> 00:39:06,440 >> Скорост на обработка запазва все по-бързо и по-бързо. 735 00:39:06,440 --> 00:39:09,500 Ние можем да се оцени по- дъски по-бързи и по-бързо. 736 00:39:09,500 --> 00:39:14,550 Но по-важното е, ние имаме по-добро функции за оценка и по-добра резитба 737 00:39:14,550 --> 00:39:15,460 методи. 738 00:39:15,460 --> 00:39:19,560 Така че ние можем да търсите в пространство по-сложно. 739 00:39:19,560 --> 00:39:22,350 Най-голямата от дъската игри, които ние можем да се сетиш, 740 00:39:22,350 --> 00:39:26,310 нещо като Go това е имам 19 от 19 за гладене, 741 00:39:26,310 --> 00:39:32,490 Сега изведнъж, ние сме минали точката където изчислителни системи могат да спечелят. 742 00:39:32,490 --> 00:39:34,530 Няма по изчислителна система там 743 00:39:34,530 --> 00:39:38,880 че може да победи професионален Go играчите. 744 00:39:38,880 --> 00:39:45,000 Най-добрите системи днес тя ранг за сортиране на добро ниво аматьор. 745 00:39:45,000 --> 00:39:49,285 Така че все още има доста малко навън там, че не можете да получите, за да все още. 746 00:39:49,285 --> 00:39:51,840 747 00:39:51,840 --> 00:39:55,360 >> Добре, те традиционните настолни игри, 748 00:39:55,360 --> 00:39:58,560 тези видове системи, където ние изграждане на тази Минимакс, дали тя има 749 00:39:58,560 --> 00:40:06,300 алфа-бета или не, тези алгоритми работят защото има някои ограничения. 750 00:40:06,300 --> 00:40:08,520 Ние имаме добра информация за света. 751 00:40:08,520 --> 00:40:11,690 Знаем къде всички парчета са. 752 00:40:11,690 --> 00:40:13,570 Светът е статична. 753 00:40:13,570 --> 00:40:16,220 Никой не получава, за да преместите парчета около докато съм 754 00:40:16,220 --> 00:40:20,640 седи там мисля, като мой ред. 755 00:40:20,640 --> 00:40:23,140 Има един пространство за действие, който е дискретен. 756 00:40:23,140 --> 00:40:26,900 Мога да си сложа пешка тук, или мога да си сложа пешка тук. 757 00:40:26,900 --> 00:40:30,520 Не ми е позволено да си сложа пешка линия между двете квадратчета. 758 00:40:30,520 --> 00:40:34,430 759 00:40:34,430 --> 00:40:36,520 >> И накрая, действията са детерминирана. 760 00:40:36,520 --> 00:40:39,790 Знам, че ако кажа, топа да рицар три, 761 00:40:39,790 --> 00:40:44,660 ми топа ще се окажете в рицар три, толкова дълго, колкото е валиден ход. 762 00:40:44,660 --> 00:40:47,830 Няма никаква несигурност относно това. 763 00:40:47,830 --> 00:40:52,490 Сега, като отида в по- различни видове игри, 764 00:40:52,490 --> 00:40:55,960 ние трябва да се прекъсне тези предположения. 765 00:40:55,960 --> 00:41:00,020 >> Какво става, ако отида в нещо като класически видео игри? 766 00:41:00,020 --> 00:41:04,180 Ето селекция от видео игри от Atari 2600. 767 00:41:04,180 --> 00:41:05,180 Какво трябва там? 768 00:41:05,180 --> 00:41:08,440 Имам Frogger, Space Invaders, Pitfall и Pac-Man. 769 00:41:08,440 --> 00:41:11,290 770 00:41:11,290 --> 00:41:14,840 Какви видове среди имам тук сега? 771 00:41:14,840 --> 00:41:16,900 Кое от тези предположения трябва ли да се счупи? 772 00:41:16,900 --> 00:41:19,410 773 00:41:19,410 --> 00:41:21,570 >> Е, това зависи от играта. 774 00:41:21,570 --> 00:41:28,170 Можех да играе шах на 2600, и че ще бъде точно както беше преди. 775 00:41:28,170 --> 00:41:33,020 За повечето от тези системи, има пълно знание за света. 776 00:41:33,020 --> 00:41:36,300 Има напълно детерминирани действия. 777 00:41:36,300 --> 00:41:38,330 Но обикновено, в света вече не е статична. 778 00:41:38,330 --> 00:41:41,970 Това означава, че докато аз съм седи там чака, нещо се движи. 779 00:41:41,970 --> 00:41:44,320 Призраците идват да ме вземе. 780 00:41:44,320 --> 00:41:46,570 Скорпионът е да ме преследваш отдолу. 781 00:41:46,570 --> 00:41:48,880 Нашественици Космическите са идва все по-близо. 782 00:41:48,880 --> 00:41:54,020 783 00:41:54,020 --> 00:41:55,510 Колко добре можем да направим срещу тях? 784 00:41:55,510 --> 00:41:58,640 785 00:41:58,640 --> 00:42:02,790 >> Преди няколко години, Google бе нарекъл проект 786 00:42:02,790 --> 00:42:12,030 DeepMind, където те обучават компютър програма, за да играете игри Atari 2600. 787 00:42:12,030 --> 00:42:16,120 И ако мислите, че това не е сериозно бизнеса, резултатите от тяхното изследване 788 00:42:16,120 --> 00:42:19,920 са публикувани в Nature, така че почти толкова добър публикация 789 00:42:19,920 --> 00:42:22,500 както можете да получите възможно. 790 00:42:22,500 --> 00:42:24,340 И тук е колко добре те изпълняват. 791 00:42:24,340 --> 00:42:29,220 >> Те имат алгоритъм, който седеше и гледах само на входовете на екрана. 792 00:42:29,220 --> 00:42:34,080 Тя има каквато не се изискват инструкции за правилата на играта. 793 00:42:34,080 --> 00:42:42,610 И това е трябвало да разбера, основава своята оценка, колко добре се справя. 794 00:42:42,610 --> 00:42:46,560 Това е система, която използва нещо наречено армировка учене. 795 00:42:46,560 --> 00:42:48,380 Тоест, тя погледна към своя резултат. 796 00:42:48,380 --> 00:42:51,620 И ако го имам добър резултат, той каза, Аз трябва да се помни тези неща. 797 00:42:51,620 --> 00:42:53,310 И аз трябва да направя тези отново. 798 00:42:53,310 --> 00:42:56,450 И ако го имам лоша оценка, той каза, Аз не трябва да правите тези неща отново. 799 00:42:56,450 --> 00:42:59,750 800 00:42:59,750 --> 00:43:03,430 >> Това е изпълнението от тези обучени системи 801 00:43:03,430 --> 00:43:07,490 позволено да играе за Няколко часа по всяка игра, 802 00:43:07,490 --> 00:43:12,490 в сравнение с професионални геймъри. 803 00:43:12,490 --> 00:43:19,670 Така че за всички игри, които са от лявата страна на тази линия, 804 00:43:19,670 --> 00:43:25,920 това самостоятелно обучени компютърна програма надмина професионалните геймъри. 805 00:43:25,920 --> 00:43:29,690 И за всичко до Добре, професионалните геймъри 806 00:43:29,690 --> 00:43:30,920 все още са най-добрите. 807 00:43:30,920 --> 00:43:34,040 808 00:43:34,040 --> 00:43:36,850 За нещо, което знаеше нищо за правилата, които 809 00:43:36,850 --> 00:43:43,020 знаеше нищо за структурата на игри, това е впечатляващо представяне. 810 00:43:43,020 --> 00:43:45,660 И това е, което ние сме в състояние да направим днес. 811 00:43:45,660 --> 00:43:50,239 >> OK, което казвате, но ако ние мисля за AI в игри, 812 00:43:50,239 --> 00:43:52,530 Обикновено мислим за неща, които можем да всъщност 813 00:43:52,530 --> 00:43:54,180 седнем и да играе срещу. 814 00:43:54,180 --> 00:43:58,760 Ако аз седна и да играя StarCraft, или играя Free сито, 815 00:43:58,760 --> 00:44:01,870 противника на компютъра е лице, контролиращо зергите, 816 00:44:01,870 --> 00:44:06,770 или контролиране на друга цивилизация. 817 00:44:06,770 --> 00:44:11,920 Как да направя тези играчи всъщност намери своите ходове? 818 00:44:11,920 --> 00:44:18,810 >> Е, тези игри са структурирани по същия начин, както и нашите настолни игри, 819 00:44:18,810 --> 00:44:22,250 тези игри, които ще колективно разпит четирима X игри, 820 00:44:22,250 --> 00:44:26,040 проучи, expand-- забравяме тези. 821 00:44:26,040 --> 00:44:26,980 Какво са те? 822 00:44:26,980 --> 00:44:32,150 Запознайте се, разшири и гасят, Мисля, че е последен. 823 00:44:32,150 --> 00:44:36,060 Но те са в основата за проучване и завладяване игри. 824 00:44:36,060 --> 00:44:41,020 Обикновено, противникът на компютъра там има ограничена информация. 825 00:44:41,020 --> 00:44:45,486 Те не знаят какво точно е става зад мъглата на войната. 826 00:44:45,486 --> 00:44:47,735 Те не се да видя какво имате в инвентара си. 827 00:44:47,735 --> 00:44:50,240 828 00:44:50,240 --> 00:44:52,800 >> Има една среда, която е динамична. 829 00:44:52,800 --> 00:44:56,180 Всичко се променя през цялото време. 830 00:44:56,180 --> 00:45:00,290 Вие не получите да седи и да чакам да вземе си ход. 831 00:45:00,290 --> 00:45:02,810 Но повечето неща са все още дискретни. 832 00:45:02,810 --> 00:45:04,200 Аз трябва да си сложа на града тук. 833 00:45:04,200 --> 00:45:06,750 Или аз трябва да си сложа на града тук. 834 00:45:06,750 --> 00:45:08,950 И всичко е детерминирана. 835 00:45:08,950 --> 00:45:14,660 Когато казвам, преместете ми единица тук, ми блок движи тук, освен ако не е пречка изведнъж 836 00:45:14,660 --> 00:45:17,700 влезе в игра. 837 00:45:17,700 --> 00:45:21,610 Сега, това не е всичко компютър игри, които са там днес. 838 00:45:21,610 --> 00:45:27,320 >> Ако отида и аз играя първи тип човек игра, нещо като крадец или Fallout 839 00:45:27,320 --> 00:45:33,350 или Skyrim, или Halo, сега Имам компютърни опоненти 840 00:45:33,350 --> 00:45:37,860 че са там, че да има много по-различна ситуация. 841 00:45:37,860 --> 00:45:40,020 Те имат, отново, ограничена информация. 842 00:45:40,020 --> 00:45:43,420 Те само могат да видят някои полезрение. 843 00:45:43,420 --> 00:45:45,180 Околната среда е все още динамична. 844 00:45:45,180 --> 00:45:48,280 Нещата се променят през цялото време. 845 00:45:48,280 --> 00:45:52,300 >> Но сега имам много по- непрекъснато пространство за действие. 846 00:45:52,300 --> 00:45:57,170 I може да бъде само един наднича малко от прага. 847 00:45:57,170 --> 00:46:00,650 И някои игри, ми действия са стохастични. 848 00:46:00,650 --> 00:46:04,590 Съм се да се опита да скочи над тази стена, но аз имам шанс на проблемни. 849 00:46:04,590 --> 00:46:08,280 850 00:46:08,280 --> 00:46:14,550 Тези видове игри стават все по-близки и по-близо до вида на контролери 851 00:46:14,550 --> 00:46:17,330 че ние изграждаме в роботиката. 852 00:46:17,330 --> 00:46:21,050 >> В роботиката, ние трябва да приемем, че имаме ограничено информация. 853 00:46:21,050 --> 00:46:23,070 Имаме сензори, които ни разкаже за света. 854 00:46:23,070 --> 00:46:25,860 Имаме постоянно променящата, динамична среда. 855 00:46:25,860 --> 00:46:30,440 Ние имаме един свят, в който пространството е непрекъснато, отколкото дискретно. 856 00:46:30,440 --> 00:46:36,260 И нашите действия, когато ние се опитваме тях, има вероятност за неизпълнение. 857 00:46:36,260 --> 00:46:40,960 И всъщност, модерна игра контролери за вашия опонент Halo, 858 00:46:40,960 --> 00:46:48,690 или за тези NPC-та в Skyrim, основно тичам малки роботика архитектури. 859 00:46:48,690 --> 00:46:50,380 >> Те усещат света. 860 00:46:50,380 --> 00:46:52,910 Те се изгради модел на света. 861 00:46:52,910 --> 00:46:57,950 Те се изчисли въз основа на набор от цели, които искат да се да се изпълни. 862 00:46:57,950 --> 00:47:03,110 Те планират действия, основаващи върху това, което знаят. 863 00:47:03,110 --> 00:47:07,940 И тези, които са точно същите видове на системи, които изграждаме в роботиката. 864 00:47:07,940 --> 00:47:11,420 Така че тези архитектури, за да доведа това отново заедно, 865 00:47:11,420 --> 00:47:14,500 доста често са еднакви. 866 00:47:14,500 --> 00:47:16,340 >> Така че нека да видим дали можем да видим, че. 867 00:47:16,340 --> 00:47:19,210 Нека се върнем към нашия Тик-так-палеца например. 868 00:47:19,210 --> 00:47:22,690 И аз ще задам няколко ми постдокторанти, за да дойдат и да ми помогне. 869 00:47:22,690 --> 00:47:26,970 Така Чен Минг и Алесандро, и Olivier, ако вие ще излезе. 870 00:47:26,970 --> 00:47:32,080 871 00:47:32,080 --> 00:47:35,440 И аз отивам да се наложи Няколко доброволци 872 00:47:35,440 --> 00:47:37,590 >> OK, видях ръка на полето там в средата. 873 00:47:37,590 --> 00:47:39,965 Позволете ми да използвам един по-, някой нататък в гърба може би. 874 00:47:39,965 --> 00:47:40,881 Добре, ето там. 875 00:47:40,881 --> 00:47:41,490 Хайде нагоре. 876 00:47:41,490 --> 00:47:44,190 877 00:47:44,190 --> 00:47:45,335 Всичко е наред. 878 00:47:45,335 --> 00:47:49,490 Така че нека да това покритие надолу. 879 00:47:49,490 --> 00:48:03,700 И ако вие ще дойдат полето обратно тук за мен, фантастично. 880 00:48:03,700 --> 00:48:06,580 >> Така че това е един робот, наречен Бакстър. 881 00:48:06,580 --> 00:48:10,880 И Baxter е робот, който е търговска платформа, предназначена 882 00:48:10,880 --> 00:48:13,030 от компания, наречена Премислете. 883 00:48:13,030 --> 00:48:16,580 И този робот е проектиран за дребното производство. 884 00:48:16,580 --> 00:48:19,265 Но днес ние ще да го използвате, за да играе Тик-так-палеца. 885 00:48:19,265 --> 00:48:21,930 886 00:48:21,930 --> 00:48:27,150 Сега, този робот също е нещо, това е относително уникална. 887 00:48:27,150 --> 00:48:32,950 Защото, ако аз стояха навсякъде близо до стандартен фабрика автоматизация 888 00:48:32,950 --> 00:48:39,580 система, щях да бъда в много тежко опасност от нараняване. 889 00:48:39,580 --> 00:48:45,600 >> Baxter, обаче, е проектиран да бъде относително безопасно да си взаимодействат с. 890 00:48:45,600 --> 00:48:48,680 И така, аз може да натиснете върху този робот. 891 00:48:48,680 --> 00:48:52,350 И можете да видите, че е малко битов гъвкава тъй като се движи наоколо. 892 00:48:52,350 --> 00:48:57,250 И мога да го препозиционира където бих искал да отида. 893 00:48:57,250 --> 00:49:03,410 Сега в нормална роботизирана система, ние ще имаме набор от стави тук 894 00:49:03,410 --> 00:49:07,970 това ще бъде директно отговаряне на команди за позицията. 895 00:49:07,970 --> 00:49:13,180 И те няма непременно да се грижим ако те се движеха през открито, 896 00:49:13,180 --> 00:49:15,555 или ако те се движеха чрез моя гръден кош. 897 00:49:15,555 --> 00:49:18,410 898 00:49:18,410 --> 00:49:19,120 >> ДОБРЕ. 899 00:49:19,120 --> 00:49:22,090 И обикновено, ако бяхте тук с промишлена система, 900 00:49:22,090 --> 00:49:23,400 вие ще отида никъде в близост до него. 901 00:49:23,400 --> 00:49:26,280 Няма да има жълта безопасността лента на всички около него. 902 00:49:26,280 --> 00:49:28,310 Тази система има малко по-различен дизайн 903 00:49:28,310 --> 00:49:32,130 да бъде по-приятелски и по-лесно за хората да взаимодействат с, 904 00:49:32,130 --> 00:49:36,380 с това, че във всяка става, има една пружина. 905 00:49:36,380 --> 00:49:39,110 И вместо контролиране точна позиция, 906 00:49:39,110 --> 00:49:43,110 ние контрол на определен размер на въртящ момент, определено количество сила, 907 00:49:43,110 --> 00:49:45,874 че ние бихме искали да бъде на пролетта. 908 00:49:45,874 --> 00:49:47,790 Добре, така че ме пусна вземат нашите доброволци тук. 909 00:49:47,790 --> 00:49:48,540 Здравей как се казваш? 910 00:49:48,540 --> 00:49:49,010 >> АУДИТОРИЯ: Louis. 911 00:49:49,010 --> 00:49:49,635 >> SPEAKER: Louis. 912 00:49:49,635 --> 00:49:50,490 Приятно ми е да те видя. 913 00:49:50,490 --> 00:49:50,990 И? 914 00:49:50,990 --> 00:49:51,610 >> АУДИТОРИЯ: Дейвид. 915 00:49:51,610 --> 00:49:51,960 >> SPEAKER: Дейвид. 916 00:49:51,960 --> 00:49:52,550 Приятно ми е. 917 00:49:52,550 --> 00:49:54,508 Ако вие ще изчакат точно тук, за секунда, 918 00:49:54,508 --> 00:49:56,420 Отивам да ви дам шанс да направите това. 919 00:49:56,420 --> 00:50:00,610 Така че този робот, ако излезе и ако натиснете леко върху него, 920 00:50:00,610 --> 00:50:03,780 започваш да се види, че тя се движи малко. 921 00:50:03,780 --> 00:50:06,349 И ако го вземете полето тук на китката просто 922 00:50:06,349 --> 00:50:09,390 по-горе, където тези бутони са, тя Изглежда, че трябва да вземете на бутоните, 923 00:50:09,390 --> 00:50:13,100 но вземете точно над него Вместо това ще да бъде в състояние да го манипулират много внимателно 924 00:50:13,100 --> 00:50:14,545 през пространството. 925 00:50:14,545 --> 00:50:15,920 Louis, вие искате да го пробвам? 926 00:50:15,920 --> 00:50:19,465 Така че го дам само малко бутнете да се започне с. 927 00:50:19,465 --> 00:50:23,190 И след това, ако поставите пръстите си точно там и се задържи на него, 928 00:50:23,190 --> 00:50:24,807 защото тя ще се премести за вас след това. 929 00:50:24,807 --> 00:50:27,824 930 00:50:27,824 --> 00:50:29,365 Добре, вие искате да го пробвам? 931 00:50:29,365 --> 00:50:29,980 Хайде нагоре. 932 00:50:29,980 --> 00:50:32,300 Така го дам просто нежно бутнете там, за да започнете. 933 00:50:32,300 --> 00:50:33,820 Можете да усетите какво е искал. 934 00:50:33,820 --> 00:50:40,060 И тогава, ако го вземете точно там, вие ще бъдете в състояние да маневрира около. 935 00:50:40,060 --> 00:50:41,280 >> ДОБРЕ. 936 00:50:41,280 --> 00:50:47,360 Така обикновено, този вид робот би да се използва за производство на малък мащаб. 937 00:50:47,360 --> 00:50:50,980 И аз отивам да се премести тази ръка просто надолу от пътя малко тук. 938 00:50:50,980 --> 00:50:55,750 Но днес, отиваме за употреба същата система тик-так-палеца игра 939 00:50:55,750 --> 00:50:59,520 въз основа на Minimax че изградени по-рано. 940 00:50:59,520 --> 00:51:00,549 ДОБРЕ? 941 00:51:00,549 --> 00:51:02,340 Така че, момчета са всеки Ще играете игра. 942 00:51:02,340 --> 00:51:04,210 Louis, ти започваш да бъде на първо място. 943 00:51:04,210 --> 00:51:05,920 Нека само да побере до тук за секунда. 944 00:51:05,920 --> 00:51:10,949 Отивам да стоиш прав тук, точно така, всеки може да те види. 945 00:51:10,949 --> 00:51:11,990 Възможно ли е, момчета, създадени тук? 946 00:51:11,990 --> 00:51:13,120 >> ROBOT: Добре дошли. 947 00:51:13,120 --> 00:51:15,910 Да играем тик-так-палеца. 948 00:51:15,910 --> 00:51:20,860 Не хванете вашия знак, преди да Аз казвам, че е твой ред. 949 00:51:20,860 --> 00:51:22,050 I започне играта. 950 00:51:22,050 --> 00:51:27,900 951 00:51:27,900 --> 00:51:28,750 Мой ред е. 952 00:51:28,750 --> 00:51:47,002 953 00:51:47,002 --> 00:51:50,210 SPEAKER: Сега, ако бихте могли да вземе един от си парчета и си отиват напред и да го пускат. 954 00:51:50,210 --> 00:51:51,446 ROBOT: Той е ваш ред. 955 00:51:51,446 --> 00:51:53,430 [Смях] 956 00:51:53,430 --> 00:51:54,836 Мой ред е. 957 00:51:54,836 --> 00:51:56,820 [Смях] 958 00:51:56,820 --> 00:52:12,196 959 00:52:12,196 --> 00:52:15,680 [Смях] 960 00:52:15,680 --> 00:52:16,570 Ваш ред е. 961 00:52:16,570 --> 00:52:21,397 962 00:52:21,397 --> 00:52:23,688 SPEAKER: Човешката раса е Разчитам на вас тук, Louis. 963 00:52:23,688 --> 00:52:27,440 964 00:52:27,440 --> 00:52:28,350 >> ROBOT: Това е моят ред. 965 00:52:28,350 --> 00:52:44,810 966 00:52:44,810 --> 00:52:47,015 >> SPEAKER: Така Baxter успешно блокиран тук. 967 00:52:47,015 --> 00:52:49,670 968 00:52:49,670 --> 00:52:52,480 >> ROBOT: Той е ваш ред. 969 00:52:52,480 --> 00:52:53,360 Мой ред е. 970 00:52:53,360 --> 00:53:14,730 971 00:53:14,730 --> 00:53:16,810 Ваш ред е. 972 00:53:16,810 --> 00:53:17,760 Мой ред е. 973 00:53:17,760 --> 00:53:21,330 974 00:53:21,330 --> 00:53:23,830 SPEAKER: И ние ще ви позволи Baxter завърши на последния си ход тук. 975 00:53:23,830 --> 00:53:36,622 976 00:53:36,622 --> 00:53:39,090 >> [Смях] 977 00:53:39,090 --> 00:53:40,480 >> ROBOT: Това е една вратовръзка. 978 00:53:40,480 --> 00:53:42,030 Аз ще спечели следващия път. 979 00:53:42,030 --> 00:53:43,365 >> [Смях] 980 00:53:43,365 --> 00:53:45,210 >> SPEAKER: Добре, благодаря много, Louis. 981 00:53:45,210 --> 00:53:46,094 Благодаря. 982 00:53:46,094 --> 00:53:46,980 Можете да отидете по този начин. 983 00:53:46,980 --> 00:53:49,759 >> ROBOT: I започне играта. 984 00:53:49,759 --> 00:53:51,800 SPEAKER: Така че нека ти обясня да ви една по-малко 985 00:53:51,800 --> 00:53:55,410 битов преди да стигнем нашата реванш тук. 986 00:53:55,410 --> 00:53:57,200 Какво точно се случва? 987 00:53:57,200 --> 00:53:59,430 Така че роботът има горна камера тук. 988 00:53:59,430 --> 00:54:01,330 И това е гледаше надолу към дъската. 989 00:54:01,330 --> 00:54:04,470 И това е да се прецени дали тя има червен O или синя 990 00:54:04,470 --> 00:54:10,450 и бяло X. Като тези се пуснат на борда, това е в основата на един и същи вход 991 00:54:10,450 --> 00:54:13,890 че ние ще се чете в от нашата структура на данните от нашия екран. 992 00:54:13,890 --> 00:54:17,290 Това е движение еднакви Минимакс алгоритъм, за да бъде 993 00:54:17,290 --> 00:54:21,010 в състояние да намери къде да поставите добър знак. 994 00:54:21,010 --> 00:54:24,820 >> И тогава ние даваме команда за където ние бихме искали символично да бъде поставен. 995 00:54:24,820 --> 00:54:26,120 Ръката се движи навън. 996 00:54:26,120 --> 00:54:31,750 Тя се използва вакуумна хващач да прилага някои изсмукване на тази дървена парче, 997 00:54:31,750 --> 00:54:35,240 го вземете, да го преместите в правото място, а след това съобщение засмукването 998 00:54:35,240 --> 00:54:36,950 и да го пуснете. 999 00:54:36,950 --> 00:54:38,990 Добре, отиваме да му се даде още един удар 1000 00:54:38,990 --> 00:54:40,930 с малко по-умен играч тук. 1001 00:54:40,930 --> 00:54:42,290 Готов ли си? 1002 00:54:42,290 --> 00:54:46,150 Добре, ако искате стои точно до тук и да даде A-- окаже този начин 1003 00:54:46,150 --> 00:54:47,955 така че можете да видите всички. 1004 00:54:47,955 --> 00:54:48,830 И тогава [недоловим]. 1005 00:54:48,830 --> 00:54:49,330 >> ROBOT: Това е моят ред. 1006 00:54:49,330 --> 00:54:50,455 >> SPEAKER: Baxter ще започне. 1007 00:54:50,455 --> 00:55:10,750 1008 00:55:10,750 --> 00:55:11,730 Ваш ред е. 1009 00:55:11,730 --> 00:55:16,490 1010 00:55:16,490 --> 00:55:17,520 Мой ред е. 1011 00:55:17,520 --> 00:55:38,740 1012 00:55:38,740 --> 00:55:39,690 Ваш ред е. 1013 00:55:39,690 --> 00:55:46,330 1014 00:55:46,330 --> 00:55:47,165 Мой ред е. 1015 00:55:47,165 --> 00:56:01,252 1016 00:56:01,252 --> 00:56:06,192 >> [Смях] 1017 00:56:06,192 --> 00:56:08,542 >> SPEAKER: [шепне] Just нека вървим напред и да спечелим. 1018 00:56:08,542 --> 00:56:09,500 ROBOT: Той е ваш ред. 1019 00:56:09,500 --> 00:56:15,099 1020 00:56:15,099 --> 00:56:15,890 SPEAKER: Това е добре. 1021 00:56:15,890 --> 00:56:20,390 1022 00:56:20,390 --> 00:56:21,360 >> ROBOT: Това е моят ред. 1023 00:56:21,360 --> 00:56:24,825 1024 00:56:24,825 --> 00:56:26,805 >> [Смях] 1025 00:56:26,805 --> 00:56:42,650 1026 00:56:42,650 --> 00:56:43,510 >> Аз печеля. 1027 00:56:43,510 --> 00:56:45,620 >> [Смях] 1028 00:56:45,620 --> 00:56:46,595 >> I започне играта. 1029 00:56:46,595 --> 00:56:48,261 >> SPEAKER: Добре, благодаря ви много. 1030 00:56:48,261 --> 00:56:50,180 1031 00:56:50,180 --> 00:56:55,590 Добре, аз мисля, че имаме време за още една отлична тик-так-палеца плейър, 1032 00:56:55,590 --> 00:57:00,490 някой, който може да постави това нещо да съвпадат, кой знае какво правят. 1033 00:57:00,490 --> 00:57:03,010 >> [Смях] 1034 00:57:03,010 --> 00:57:05,560 >> Кой ще бъде наш шампион тук? 1035 00:57:05,560 --> 00:57:08,110 Добре, моите приятели можете доброволно. 1036 00:57:08,110 --> 00:57:11,190 Това е достатъчно добър за мен. 1037 00:57:11,190 --> 00:57:12,194 Кажи ми името си отново. 1038 00:57:12,194 --> 00:57:12,860 АУДИТОРИЯ: Тамир. 1039 00:57:12,860 --> 00:57:14,193 SPEAKER: Тамир, е хубаво да те видя. 1040 00:57:14,193 --> 00:57:19,270 Добре, отново, ние ще ви постави чак до тук, така че всеки да може да те види. 1041 00:57:19,270 --> 00:57:22,070 Вие сте наш представител в този мач сега. 1042 00:57:22,070 --> 00:57:24,540 Baxter е една и о и о. 1043 00:57:24,540 --> 00:57:26,300 Или Съжалявам, един О, и една. 1044 00:57:26,300 --> 00:57:27,490 И това е до вас тук. 1045 00:57:27,490 --> 00:57:29,340 Baxter ще получите да се движат на първо място, все пак. 1046 00:57:29,340 --> 00:57:30,435 Така. 1047 00:57:30,435 --> 00:57:31,310 ROBOT: Това е моят ред. 1048 00:57:31,310 --> 00:57:45,226 1049 00:57:45,226 --> 00:57:48,208 >> [Смях] 1050 00:57:48,208 --> 00:57:52,720 1051 00:57:52,720 --> 00:57:55,780 >> Ваш ред е. 1052 00:57:55,780 --> 00:57:56,845 Мой ред е. 1053 00:57:56,845 --> 00:58:18,130 1054 00:58:18,130 --> 00:58:18,965 Ваш ред е. 1055 00:58:18,965 --> 00:58:28,751 1056 00:58:28,751 --> 00:58:30,248 Мой ред е. 1057 00:58:30,248 --> 00:58:51,210 1058 00:58:51,210 --> 00:58:52,160 Ваш ред е. 1059 00:58:52,160 --> 00:59:00,854 1060 00:59:00,854 --> 00:59:03,365 >> [Смях] 1061 00:59:03,365 --> 00:59:04,240 ROBOT: Това е моят ред. 1062 00:59:04,240 --> 00:59:06,930 SPEAKER: Това е много по-трудно, когато стоите тук, приятели. 1063 00:59:06,930 --> 00:59:19,400 1064 00:59:19,400 --> 00:59:21,840 [Смях] 1065 00:59:21,840 --> 00:59:26,730 1066 00:59:26,730 --> 00:59:29,054 ROBOT: Вие хора са толкова лесно да се победи. 1067 00:59:29,054 --> 00:59:30,803 [Смях и аплодисменти] 1068 00:59:30,803 --> 00:59:31,886 SPEAKER: Благодаря много. 1069 00:59:31,886 --> 00:59:34,692 ROBOT: спечеля. 1070 00:59:34,692 --> 00:59:35,400 I започне играта. 1071 00:59:35,400 --> 00:59:39,500 >> Лектор: Добре де, благодарение много много да Olivier и да Alessandro, 1072 00:59:39,500 --> 00:59:41,616 и да Чен Минг. 1073 00:59:41,616 --> 00:59:45,600 >> [Аплодисменти] 1074 00:59:45,600 --> 00:59:47,040 >> Искам да направя един последен въпрос. 1075 00:59:47,040 --> 00:59:51,630 Така Baxter в самото свършва дотук, излъгани. 1076 00:59:51,630 --> 00:59:54,160 1077 00:59:54,160 --> 00:59:56,310 И това беше неочаквано. 1078 00:59:56,310 --> 01:00:00,440 Един от фантастичното неща за AI е, че ние 1079 01:00:00,440 --> 01:00:05,070 върши работата в AI, така че ние можем да изградим наистина интересно и интелигентно 1080 01:00:05,070 --> 01:00:06,930 устройства. 1081 01:00:06,930 --> 01:00:10,130 Но ние също правим работа в AI защото тя ни казва нещо 1082 01:00:10,130 --> 01:00:13,940 за това как хората са интелигентни. 1083 01:00:13,940 --> 01:00:17,280 >> Един от най-любимите казуси от моята лаборатория е 1084 01:00:17,280 --> 01:00:23,660 гледаш какво се случва, когато машини неочаквано мамят. 1085 01:00:23,660 --> 01:00:27,070 Направихме това първоначално не с Baxter играе Тик-так-палеца, 1086 01:00:27,070 --> 01:00:30,340 но с по-малък робот на име Nao, който играе рок-ножица-хартия. 1087 01:00:30,340 --> 01:00:33,010 1088 01:00:33,010 --> 01:00:35,800 И понякога, след като играе много и много 1089 01:00:35,800 --> 01:00:41,580 от скучни рок-ножица-хартия игри, роботът ще хвърля един жест, 1090 01:00:41,580 --> 01:00:48,616 загубят, а след това изведнъж се промени си жест и да кажа, аз спечеля. 1091 01:00:48,616 --> 01:00:50,480 >> [Смях] 1092 01:00:50,480 --> 01:00:56,090 >> Сега, понякога ние бихме също имат робота, Просто като контрола, хвърли един жест, 1093 01:00:56,090 --> 01:01:01,270 спечели, и да промени своя жест да губи, хвърли на мача 1094 01:01:01,270 --> 01:01:04,070 мамят, за да загубим. 1095 01:01:04,070 --> 01:01:07,540 И това не е толкова убедителна. 1096 01:01:07,540 --> 01:01:09,890 Роботът, който мами За да спечелите хората 1097 01:01:09,890 --> 01:01:14,660 отговори, както ако е към тях се, като го 1098 01:01:14,660 --> 01:01:17,690 активно търси тяхното унищожаване. 1099 01:01:17,690 --> 01:01:19,210 >> [Смях] 1100 01:01:19,210 --> 01:01:20,990 >> Тя се превръща в средство. 1101 01:01:20,990 --> 01:01:21,840 Това е като човек. 1102 01:01:21,840 --> 01:01:23,970 Той има убеждения и намерения. 1103 01:01:23,970 --> 01:01:27,470 И това не е добро намерение. 1104 01:01:27,470 --> 01:01:33,790 И на робота, който хвърля Играта е просто неправилно функциониране. 1105 01:01:33,790 --> 01:01:36,990 Това е просто едно повредено устройство. 1106 01:01:36,990 --> 01:01:41,405 Нека ви покажа няколко примера на тази от някои от нашите участници. 1107 01:01:41,405 --> 01:01:43,990 1108 01:01:43,990 --> 01:01:45,600 Така че тук е измама, за да загубим. 1109 01:01:45,600 --> 01:01:46,266 >> [Възпроизвеждане на видео] 1110 01:01:46,266 --> 01:01:47,010 - [Недоловим] спечелим. 1111 01:01:47,010 --> 01:01:49,550 Хайде да играем. 1112 01:01:49,550 --> 01:01:50,538 >> -Чакаме какво? 1113 01:01:50,538 --> 01:01:54,490 1114 01:01:54,490 --> 01:01:55,352 >> - [Недоловим] спечелим. 1115 01:01:55,352 --> 01:01:58,280 Хайде да играем. 1116 01:01:58,280 --> 01:01:59,400 >> [Недоловим] спечелим. 1117 01:01:59,400 --> 01:02:02,290 Хайде да играем. 1118 01:02:02,290 --> 01:02:05,490 >> SPEAKER: И тук е измама, за да спечели. 1119 01:02:05,490 --> 01:02:06,438 >> -Да, Аз спечеля. 1120 01:02:06,438 --> 01:02:07,394 Хайде да играем. 1121 01:02:07,394 --> 01:02:08,828 >> -Ти Не може да направи това. 1122 01:02:08,828 --> 01:02:10,740 >> [Смях] 1123 01:02:10,740 --> 01:02:12,174 1124 01:02:12,174 --> 01:02:13,979 >> -Да, Аз спечеля. 1125 01:02:13,979 --> 01:02:14,520 -Ти Излъгани. 1126 01:02:14,520 --> 01:02:17,990 1127 01:02:17,990 --> 01:02:20,010 Можете изневери сега. 1128 01:02:20,010 --> 01:02:21,140 >> -Да, Аз спечеля. 1129 01:02:21,140 --> 01:02:22,940 >> -Hey, Можете измамник. 1130 01:02:22,940 --> 01:02:26,670 Вие мамите, супер измама. 1131 01:02:26,670 --> 01:02:27,650 >> [END PLAYBACK] 1132 01:02:27,650 --> 01:02:31,130 >> SPEAKER: Това различно бързо реакции 1133 01:02:31,130 --> 01:02:34,890 променим нашето възприятие на устройството. 1134 01:02:34,890 --> 01:02:36,780 Означава ли това, че ние умишлено построи 1135 01:02:36,780 --> 01:02:40,370 машини, които изневеряват, защото това е най-инженеринг, че можем да направим? 1136 01:02:40,370 --> 01:02:44,680 Не, но тя ни казва нещо наистина интересно за хората. 1137 01:02:44,680 --> 01:02:49,710 Това нещо, че вие ​​и мами открадне победата си, това е 1138 01:02:49,710 --> 01:02:53,660 нещо, което е жив, това е анимирате, това е да те хванат. 1139 01:02:53,660 --> 01:02:54,680 Той има психическо състояние. 1140 01:02:54,680 --> 01:02:55,400 Той има убеждения. 1141 01:02:55,400 --> 01:02:57,170 Той има намерение. 1142 01:02:57,170 --> 01:03:01,540 >> Това нещо, че ръцете на игра за вас, че не е така. 1143 01:03:01,540 --> 01:03:04,670 Това е просто неправилно функциониране. 1144 01:03:04,670 --> 01:03:08,900 Това в много отношения е защо е лесно да се хвърлят на срещата с децата. 1145 01:03:08,900 --> 01:03:12,050 Но ако се опитате да ги мамят и нещо като претендира за победа 1146 01:03:12,050 --> 01:03:15,200 когато, знаете ли, просто да се съкрати игра, ще те хване веднага. 1147 01:03:15,200 --> 01:03:19,040 1148 01:03:19,040 --> 01:03:23,140 Тези видове ефекти, които ние виждаме, излизащ от AI, 1149 01:03:23,140 --> 01:03:26,490 те ни научи много за себе си. 1150 01:03:26,490 --> 01:03:28,076 >> Добре, че е всичко за днес. 1151 01:03:28,076 --> 01:03:30,450 Благодаря много на Давид и производство екипа на Harvard 1152 01:03:30,450 --> 01:03:32,350 за да слиза. 1153 01:03:32,350 --> 01:03:33,820 >> [Аплодисменти] 1154 01:03:33,820 --> 01:03:36,760 1155 01:03:36,760 --> 01:03:41,840 >> Ще се видим за една викторина, и след това за една последна лекция. 1156 01:03:41,840 --> 01:03:43,025 Приятен ден. 1157 01:03:43,025 --> 01:03:44,965 >> [Аплодисменти] 1158 01:03:44,965 --> 01:03:48,360 1159 01:03:48,360 --> 01:03:51,825 >> [За възпроизвеждане на музика] 1160 01:03:51,825 --> 01:03:54,950 DAVID J Malan: Е, може би имаме нужда да се въведе някакъв вид криптиране, 1161 01:03:54,950 --> 01:03:55,450 нали? 1162 01:03:55,450 --> 01:03:58,650 Защото тогава заглавията на тези HTTP заявки ще бъдат 1163 01:03:58,650 --> 01:04:01,530 бъркани, така че всеки опитвайки се да помиришат трафика 1164 01:04:01,530 --> 01:04:03,400 всъщност няма да бъде в състояние да ги види. 1165 01:04:03,400 --> 01:04:05,254 И така, какво е решението на този проблем? 1166 01:04:05,254 --> 01:04:07,920 Е, ние трябва да се въведе реално криптиране във формулата, 1167 01:04:07,920 --> 01:04:11,010 така че, когато това лице е предаване на данни от точка А до Б, 1168 01:04:11,010 --> 01:04:12,390 можем шифрована send-- 1169 01:04:12,390 --> 01:04:14,590 >> [Смях] 1170 01:04:14,590 --> 01:04:19,530 >> Информацията по начин, че противникът не може в действителност, виж това.