1 00:00:00,000 --> 00:00:01,924 >> [MUSIC PLAYING] 2 00:00:01,924 --> 00:00:10,600 3 00:00:10,600 --> 00:00:13,280 >> SPEAKER: Selamat datang kembali, semua orang. 4 00:00:13,280 --> 00:00:15,440 Ini adalah CS50. 5 00:00:15,440 --> 00:00:21,040 Dan hari ini, kami memiliki banyak hal yang menarik untuk dibicarakan. 6 00:00:21,040 --> 00:00:25,500 Pertama, meskipun, saya harus mengingatkan Anda dari hal-hal administratif beberapa. 7 00:00:25,500 --> 00:00:30,160 Minggu ini adalah kuis satu, Rabu atau untuk bagian Yale 8 00:00:30,160 --> 00:00:32,940 pada hari Selasa dan Kamis, Kamis. 9 00:00:32,940 --> 00:00:38,170 Tersedia ulasan kuis malam ini di Yale, 5:30-07:00. 10 00:00:38,170 --> 00:00:40,030 Di Harvard, mereka merekam satu kemarin. 11 00:00:40,030 --> 00:00:43,000 Dan semua orang bisa menonton online itu. 12 00:00:43,000 --> 00:00:49,406 >> Juga, minggu ini atau awal minggu depan, kita harus kuliah CS50 terakhir kami. 13 00:00:49,406 --> 00:00:51,450 [Erangan] saya tahu. 14 00:00:51,450 --> 00:00:54,140 Itu datang begitu cepat. 15 00:00:54,140 --> 00:00:57,820 Siswa Yale akan memiliki hidup kuliah di sini di sekolah hukum 16 00:00:57,820 --> 00:00:59,920 auditorium Jumat. 17 00:00:59,920 --> 00:01:01,140 Akan ada kue. 18 00:01:01,140 --> 00:01:05,570 Siswa Harvard akan memiliki kuliah terakhir di Sanders, Senin. 19 00:01:05,570 --> 00:01:08,050 Juga akan ada kue. 20 00:01:08,050 --> 00:01:14,000 >> Juga, pekan ini Jumat, bagi mereka Anda yang datang ke New Haven, 21 00:01:14,000 --> 00:01:15,740 kita memiliki Expo CS50. 22 00:01:15,740 --> 00:01:18,850 Kami memiliki lebih dari 30 kelompok yang berbeda terdaftar 23 00:01:18,850 --> 00:01:22,530 menunjukkan segalanya dari perahu layar otonom, 24 00:01:22,530 --> 00:01:27,170 untuk sistem yang mengakui potret digital, ke komputer 25 00:01:27,170 --> 00:01:32,100 musik dan musik-diproduksi komputer. 26 00:01:32,100 --> 00:01:33,610 Jadi silahkan bergabung dengan kami. 27 00:01:33,610 --> 00:01:36,460 Saya pikir itu akan menjadi waktu yang tepat. 28 00:01:36,460 --> 00:01:40,320 >> Hari ini, meskipun, kita bisa terus berbicara tentang AI, 29 00:01:40,320 --> 00:01:43,150 tentang kecerdasan buatan. 30 00:01:43,150 --> 00:01:46,070 Dan salah satu hal yang kita akan sampai ke hari ini 31 00:01:46,070 --> 00:01:51,750 adalah ide tentang bagaimana untuk menggunakan AI untuk memecahkan masalah. 32 00:01:51,750 --> 00:01:54,690 Sekarang, seperti biasa, mari kita mulai dengan sesuatu yang sederhana. 33 00:01:54,690 --> 00:01:57,120 Dan kita akan mulai dengan ide sederhana. 34 00:01:57,120 --> 00:01:59,920 Dan itu menggunakan pencarian. 35 00:01:59,920 --> 00:02:06,990 >> Jadi bayangkan sebentar bahwa saya memiliki tugas yang saya butuhkan untuk melakukan. 36 00:02:06,990 --> 00:02:11,970 Dan saya ingin memiliki tugas yang otomatis oleh beberapa agen software. 37 00:02:11,970 --> 00:02:17,100 Bayangkan bahwa saya sedang mencoba untuk memesan satu set dari penerbangan dari, katakanlah, Boston 38 00:02:17,100 --> 00:02:20,040 ke San Francisco. 39 00:02:20,040 --> 00:02:24,230 Aku bisa pergi melalui dan saya bisa menggunakan salah satu pencarian online indah 40 00:02:24,230 --> 00:02:28,790 alat, yang akan melakukan pada dasarnya proses yang sama bahwa kita 41 00:02:28,790 --> 00:02:30,030 akan berjalan melalui hari ini. 42 00:02:30,030 --> 00:02:34,100 Tapi jika Anda tidak memiliki itu alat, apa yang akan Anda lakukan? 43 00:02:34,100 --> 00:02:37,570 >> Nah, Anda bisa melihat dan melihat dan berkata, aku di Boston. 44 00:02:37,570 --> 00:02:41,520 Penerbangan apa yang tersedia untuk saya? 45 00:02:41,520 --> 00:02:44,390 Sekarang, mungkin aku memiliki tiga mungkin penerbangan dari Boston 46 00:02:44,390 --> 00:02:47,180 yang sesuai waktu ketika saya harus meninggalkan. 47 00:02:47,180 --> 00:02:48,830 Aku bisa terbang ke Chicago. 48 00:02:48,830 --> 00:02:50,130 Atau aku bisa terbang ke Miami. 49 00:02:50,130 --> 00:02:53,340 Atau aku bisa terbang ke New York. 50 00:02:53,340 --> 00:02:56,980 Saya kemudian bisa melihat dari masing-masing salah satu kota tujuan 51 00:02:56,980 --> 00:03:00,650 dan berpikir tentang apa lokasi Saya mungkin bisa mencapai 52 00:03:00,650 --> 00:03:03,020 dari masing-masing kota individual. 53 00:03:03,020 --> 00:03:07,390 >> Jadi mungkin dari Chicago, saya bisa mendapatkan penerbangan langsung ke San Francisco. 54 00:03:07,390 --> 00:03:09,550 Itu sangat baik. 55 00:03:09,550 --> 00:03:12,360 Atau aku bisa mendapatkan penerbangan ke Denver. 56 00:03:12,360 --> 00:03:16,970 Sekarang, mungkin bahwa penerbangan ke San Francisco adalah solusi sempurna bagi saya, 57 00:03:16,970 --> 00:03:19,530 tapi mungkin tidak. 58 00:03:19,530 --> 00:03:22,180 Mungkin aku sedang mencari sesuatu itu sedikit lebih murah 59 00:03:22,180 --> 00:03:24,920 atau sedikit lebih baik untuk jadwal saya. 60 00:03:24,920 --> 00:03:29,197 Dan jadi saya bisa melihat apa yang lainnya kemungkinan mungkin di luar sana. 61 00:03:29,197 --> 00:03:30,280 Jadi saya bisa melihat Denver. 62 00:03:30,280 --> 00:03:33,870 Dan dari Denver, well, mungkin Saya bisa mendapatkan penerbangan ke Austin. 63 00:03:33,870 --> 00:03:37,080 Dan dari Austin, mungkin aku bisa mendapatkan penerbangan ke Phoenix, dan dari Phoenix 64 00:03:37,080 --> 00:03:40,190 ke San Francisco. 65 00:03:40,190 --> 00:03:42,730 Sekarang, aku belum selesai. 66 00:03:42,730 --> 00:03:45,640 Karena mungkin ada penerbangan langsung dari New York 67 00:03:45,640 --> 00:03:47,850 ke San Francisco yang sempurna bagi saya. 68 00:03:47,850 --> 00:03:53,354 Atau mungkin ada penerbangan dari Miami melalui Denver yang jauh lebih murah. 69 00:03:53,354 --> 00:03:54,270 Jadi saya masih harus pergi. 70 00:03:54,270 --> 00:03:58,200 Dan saya masih harus melihat semua orang kota-kota yang saya belum diselidiki belum. 71 00:03:58,200 --> 00:04:04,220 Saya harus mendalam memeriksa semua kemungkinan bahwa saya mungkin memiliki. 72 00:04:04,220 --> 00:04:09,610 >> Jadi dari New York, mungkin saya bisa mendapatkan penerbangan ke Nashville, dan dari Nashville 73 00:04:09,610 --> 00:04:10,336 ke Austin. 74 00:04:10,336 --> 00:04:11,460 Dan kemudian saya tahu keberadaan saya. 75 00:04:11,460 --> 00:04:14,252 Dan kemudian saya tahu dari Austin, aku bisa terbang ke Phoenix, dan dari Phoenix 76 00:04:14,252 --> 00:04:14,960 ke San Francisco. 77 00:04:14,960 --> 00:04:18,240 78 00:04:18,240 --> 00:04:22,830 Jika aku terbang pertama ke Miami, meskipun, mungkin aku bisa mendapatkan penerbangan dari Miami 79 00:04:22,830 --> 00:04:25,080 ke Nashville, atau dari Miami ke Austin. 80 00:04:25,080 --> 00:04:27,950 81 00:04:27,950 --> 00:04:30,860 >> Dan sekarang saya sudah mencoba semua dari kemungkinan. 82 00:04:30,860 --> 00:04:36,310 Saya telah membangun grafik ini yang menunjukkan saya semua kemungkinan rute 83 00:04:36,310 --> 00:04:37,790 bahwa saya mungkin bisa mengambil. 84 00:04:37,790 --> 00:04:40,510 85 00:04:40,510 --> 00:04:43,640 Ketika kami mewakili ini macam masalah, 86 00:04:43,640 --> 00:04:47,870 kami tidak akan mewakili mereka secara eksplisit sebagai grafik ini, 87 00:04:47,870 --> 00:04:51,590 karena grafik yang tidak mewakili sejarah di mana kita sudah. 88 00:04:51,590 --> 00:04:55,260 Mengetahui bahwa saya terbang dari Phoenix ke San Francisco 89 00:04:55,260 --> 00:05:01,690 tidak memberitahu saya apakah saya datang melalui Nashville, atau melalui Denver, atau melalui Miami. 90 00:05:01,690 --> 00:05:06,430 >> Jadi apa yang akan saya lakukan sebagai gantinya adalah Aku akan mengambil masalah yang sama, 91 00:05:06,430 --> 00:05:09,140 dan aku akan mewakili sebagai pohon. 92 00:05:09,140 --> 00:05:14,300 Dan pada akar pohon, di atas, saya akan menempatkan tempat yang saya mulai, 93 00:05:14,300 --> 00:05:16,590 Boston. 94 00:05:16,590 --> 00:05:19,310 Dan dari Boston, saya akan melihat semua lokasi yang mungkin 95 00:05:19,310 --> 00:05:20,380 bahwa saya dapat melakukan perjalanan ke. 96 00:05:20,380 --> 00:05:25,480 Nah, dalam hal ini, aku punya tiga, Chicago, New York, dan Miami. 97 00:05:25,480 --> 00:05:29,850 Dan kemudian aku akan mengeksplorasi masing-masing anak-anak ini di pohon. 98 00:05:29,850 --> 00:05:32,690 >> Dari Chicago, saya melihat bahwa aku punya dua penerbangan. 99 00:05:32,690 --> 00:05:35,940 Aku bisa terbang langsung ke San Francisco atau ke Denver. 100 00:05:35,940 --> 00:05:37,740 Sekarang San Francisco, itulah tujuan saya. 101 00:05:37,740 --> 00:05:39,790 Itu tujuan saya. 102 00:05:39,790 --> 00:05:42,220 Itu akan menjadi daun pohon ini. 103 00:05:42,220 --> 00:05:45,340 Artinya, aku tidak akan pergi suatu tempat setelah San Francisco. 104 00:05:45,340 --> 00:05:47,850 105 00:05:47,850 --> 00:05:50,340 Dari Denver, meskipun, Aku bisa terbang dari Denver 106 00:05:50,340 --> 00:05:54,220 ke Austin, dari Austin ke Phoenix, dan dari Phoenix ke San Francisco. 107 00:05:54,220 --> 00:05:56,050 Dan sekarang lagi, saya telah mencapai daun. 108 00:05:56,050 --> 00:05:59,470 109 00:05:59,470 --> 00:06:03,980 >> Saya kemudian bisa kembali ke yang berikutnya kota yang aku belum sepenuhnya dieksplorasi. 110 00:06:03,980 --> 00:06:07,440 Itu akan menjadi New York, pergi kembali ke atas pohon saya, 111 00:06:07,440 --> 00:06:09,160 datang ke New York. 112 00:06:09,160 --> 00:06:12,700 Dari New York, saya bisa terbang ke Nashville, dari Nashville ke Austin, 113 00:06:12,700 --> 00:06:17,290 dari Austin ke Phoenix, dan dari Phoenix ke San Francisco. 114 00:06:17,290 --> 00:06:20,170 Dan akhirnya, salah satu kota saya belum melihat belum, Miami. 115 00:06:20,170 --> 00:06:24,600 >> Nah, dari Miami aku bilang aku punya dua kemungkinan, Nashville atau Austin. 116 00:06:24,600 --> 00:06:28,810 Jika saya terbang ke Nashville, baik maka aku terbang dari Nashville, ke Austin, ke Phoenix, 117 00:06:28,810 --> 00:06:29,640 ke San Francisco. 118 00:06:29,640 --> 00:06:33,600 Jika saya terbang ke Austin, aku terbang Austin, untuk Phoenix, ke San Francisco. 119 00:06:33,600 --> 00:06:36,340 Dan sekarang saya memiliki pohon. 120 00:06:36,340 --> 00:06:37,230 Ini adalah pohon lengkap. 121 00:06:37,230 --> 00:06:41,890 Ini semua kemungkinan dan semua jalan yang aku bisa mengambil. 122 00:06:41,890 --> 00:06:44,310 Artinya, jika saya mulai di akar pohon di atas 123 00:06:44,310 --> 00:06:47,860 dan saya pergi ke salah satu daun, ia memberitahu saya tidak hanya 124 00:06:47,860 --> 00:06:50,480 di mana aku akan berakhir, San Francisco, 125 00:06:50,480 --> 00:06:53,670 tapi ia memberitahu saya bahwa rute Saya perlu mengambil untuk sampai ke sana. 126 00:06:53,670 --> 00:06:56,400 127 00:06:56,400 --> 00:06:59,690 >> Sekarang, yang satu ini adalah yang terbaik? 128 00:06:59,690 --> 00:07:02,430 Nah, apa-apa tentang ini Masalah belum memberitahu saya 129 00:07:02,430 --> 00:07:04,710 mana yang merupakan solusi terbaik. 130 00:07:04,710 --> 00:07:09,270 Mungkin aku peduli paling tentang berapa banyak waktu saya di udara, 131 00:07:09,270 --> 00:07:12,350 atau jarak yang aku terbang. 132 00:07:12,350 --> 00:07:16,410 Dalam hal ini, Chicago ke San Francisco mungkin jumlah terpendek 133 00:07:16,410 --> 00:07:18,910 mil di udara. 134 00:07:18,910 --> 00:07:20,860 >> Mungkin aku peduli tentang biaya. 135 00:07:20,860 --> 00:07:23,680 Dan kita semua tahu penerbangan langsung biasanya lebih mahal. 136 00:07:23,680 --> 00:07:26,610 Jadi mungkin jika saya mengambil ini jenis rute mundur 137 00:07:26,610 --> 00:07:30,650 melalui Miami, Nashville, Austin, Phoenix, mungkin kemudian 138 00:07:30,650 --> 00:07:34,070 Saya mendapatkan harga yang lebih rendah. 139 00:07:34,070 --> 00:07:36,440 Tapi aku bisa mengoptimalkan pada setiap kriteria yang saya peduli. 140 00:07:36,440 --> 00:07:39,790 Siapa yang punya yang terbaik di penerbangan Wi-Fi, atau yang 141 00:07:39,790 --> 00:07:43,110 bandara memiliki makanan terbaik yang tersedia. 142 00:07:43,110 --> 00:07:47,280 Dan masing-masing mungkin memberikan solusi yang berbeda 143 00:07:47,280 --> 00:07:49,215 yang saya lihat sebagai yang terbaik. 144 00:07:49,215 --> 00:07:51,990 145 00:07:51,990 --> 00:07:54,400 >> Jenis-jenis masalah, di mana kita akan 146 00:07:54,400 --> 00:07:58,480 untuk membangun pohon ini kemungkinan, dan kemudian 147 00:07:58,480 --> 00:08:02,100 melihat masing-masing jalur individu, dan memeriksa 148 00:08:02,100 --> 00:08:05,270 mana yang memenuhi kriteria bagi kita, 149 00:08:05,270 --> 00:08:08,790 kita akan memanggil masalah-masalah pencarian. 150 00:08:08,790 --> 00:08:11,280 Dan kami memiliki banyak algoritma, beberapa di antaranya 151 00:08:11,280 --> 00:08:15,270 kita lihat sudah, pergi dan mengeksplorasi pohon-pohon. 152 00:08:15,270 --> 00:08:19,270 Kita bisa melakukannya dengan cara yang saya hanya melakukan, pencarian depth-first, 153 00:08:19,270 --> 00:08:22,900 turun sejauh yang kami bisa sampai kita memukul daun, dan kemudian datang kembali, 154 00:08:22,900 --> 00:08:24,787 dan akan segera kembali ke bawah. 155 00:08:24,787 --> 00:08:26,870 Atau kita bisa melakukan apa disebut pencarian breadth-first. 156 00:08:26,870 --> 00:08:29,675 Kita bisa memperluas segalanya di bagian atas, dan kemudian 157 00:08:29,675 --> 00:08:31,550 semuanya satu baris di bawah itu, dan kemudian 158 00:08:31,550 --> 00:08:35,240 semuanya satu baris di bawahnya itu. 159 00:08:35,240 --> 00:08:41,250 Pohon-pohon pencarian merupakan dasar untuk AI. 160 00:08:41,250 --> 00:08:46,570 Tapi mereka tidak cukup mendapatkan benar sepanjang waktu. 161 00:08:46,570 --> 00:08:51,600 Bahkan, dalam banyak kasus bahwa kita benar-benar peduli, 162 00:08:51,600 --> 00:08:54,430 kami ingin membangun sebuah pohon, tapi kami tidak benar-benar 163 00:08:54,430 --> 00:08:57,140 bisa membuat semua keputusan. 164 00:08:57,140 --> 00:09:00,940 >> Ini adalah situasi yang disebut pencarian permusuhan, juga dikenal 165 00:09:00,940 --> 00:09:05,390 bagaimana menulis playing game sistem dan dibayar untuk itu. 166 00:09:05,390 --> 00:09:07,940 Tetapi ini adalah jenis sistem di mana saya 167 00:09:07,940 --> 00:09:12,920 mungkin bisa memilih ketika saya pergi dari Boston, yang kota saya pergi ke depan. 168 00:09:12,920 --> 00:09:19,990 Tapi setelah itu, orang lain mungkin mendapatkan untuk membuat keputusan tentang di mana aku terbang. 169 00:09:19,990 --> 00:09:24,040 Jadi untuk membangun ini jenis struktur, kami 170 00:09:24,040 --> 00:09:28,510 akan harus mengambil sedikit pendekatan yang berbeda untuk itu. 171 00:09:28,510 --> 00:09:31,060 Kami tidak akan dapat hanya mencari melalui pohon 172 00:09:31,060 --> 00:09:35,000 lagi, karena kita tidak salah satu yang memegang kendali 173 00:09:35,000 --> 00:09:38,180 dari masing-masing poin keputusan. 174 00:09:38,180 --> 00:09:42,590 >> Jadi mari kita bayangkan sederhana permainan seperti tic-tac-toe. 175 00:09:42,590 --> 00:09:46,730 Aku bisa mulai dengan papan benar-benar kosong. 176 00:09:46,730 --> 00:09:49,580 Dan di tic-tac-toe, X akan bermain pertama. 177 00:09:49,580 --> 00:09:53,890 Dan jadi saya bisa berpikir tentang semua mungkin langkah yang X bisa membuat. 178 00:09:53,890 --> 00:09:57,420 Dan jika aku yang bermain X, itu hebat. 179 00:09:57,420 --> 00:10:01,020 Saya memiliki sembilan mungkin bergerak bahwa saya dapat membuat. 180 00:10:01,020 --> 00:10:05,000 Aku bisa menempatkan X di salah satu dari sembilan posisi. 181 00:10:05,000 --> 00:10:10,710 >> Dan kemudian dari masing-masing, saya bisa membayangkan apa yang terjadi selanjutnya. 182 00:10:10,710 --> 00:10:14,130 Nah, dalam hal ini, yang lain pemain akan bisa mengambil giliran. 183 00:10:14,130 --> 00:10:15,660 O akan bisa mengambil giliran. 184 00:10:15,660 --> 00:10:19,510 Dan dari masing-masing, ada akan delapan tempat yang berbeda 185 00:10:19,510 --> 00:10:22,980 O yang bisa menempatkan penanda mereka. 186 00:10:22,980 --> 00:10:25,790 >> Katakanlah saya memutuskan bahwa saya akan menempatkan X di tengah. 187 00:10:25,790 --> 00:10:28,810 Yang selalu tampak seperti langkah pembukaan yang baik. 188 00:10:28,810 --> 00:10:34,870 Aku bisa melihat di bawah itu, delapan kemungkinan bergerak yang O membuat. 189 00:10:34,870 --> 00:10:37,320 Sekarang, jika saya bermain X, itu indah. 190 00:10:37,320 --> 00:10:41,740 Saya bisa memilih mana yang saya pergi ke, satu di tengah. 191 00:10:41,740 --> 00:10:45,000 Tapi sekarang O mendapat untuk memilih. 192 00:10:45,000 --> 00:10:48,750 Dan saya tidak memiliki kontrol atas keputusan itu. 193 00:10:48,750 --> 00:10:51,670 >> Tapi dari masing-masing posisi papan mungkin, 194 00:10:51,670 --> 00:10:54,020 ada maka lain set kemungkinan. 195 00:10:54,020 --> 00:10:56,700 Ketika datang untuk menjadi giliran saya lagi, saya akan 196 00:10:56,700 --> 00:11:01,500 bisa memilih dan mengatakan, baik, jika O bergerak ke, baik, 197 00:11:01,500 --> 00:11:06,110 tempat tengah di sebelah kiri, kemudian Saya memiliki satu set kemungkinan 198 00:11:06,110 --> 00:11:09,740 di mana saya bisa mengambil langkah berikutnya. 199 00:11:09,740 --> 00:11:14,140 Dari mereka, saya bisa mempertimbangkan semua kemungkinan di bawah mereka. 200 00:11:14,140 --> 00:11:18,030 Dan kemudian O akan mendapatkan untuk memilih di antara mereka. 201 00:11:18,030 --> 00:11:22,290 >> Dan aku bisa terus membangun ini pohon keluar sampai aku sampai ke titik 202 00:11:22,290 --> 00:11:26,960 di mana baik seseorang memenangkan game-- itu 203 00:11:26,960 --> 00:11:31,070 mendapat dipertimbangkan daun node-- atau papan benar-benar penuh 204 00:11:31,070 --> 00:11:32,704 dan tidak ada yang menang. 205 00:11:32,704 --> 00:11:34,370 Dan itu juga akan menjadi simpul daun. 206 00:11:34,370 --> 00:11:35,411 Itu akan menjadi dasi. 207 00:11:35,411 --> 00:11:37,820 208 00:11:37,820 --> 00:11:41,680 >> Tetapi hal rumit dengan ini jika ini hanya pencarian biasa 209 00:11:41,680 --> 00:11:44,269 masalah, saya akan bisa katakanlah, baik, X harus pergi di sini. 210 00:11:44,269 --> 00:11:45,560 Dan O harus pergi cara di atas sana. 211 00:11:45,560 --> 00:11:46,770 Dan kemudian X harus pergi di sini. 212 00:11:46,770 --> 00:11:48,269 Dan kemudian O harus pergi cara di atas sana. 213 00:11:48,269 --> 00:11:51,860 Dan kemudian X bisa mendapatkan tiga berturut-turut, dan saya menang. 214 00:11:51,860 --> 00:11:54,870 Dan permainan akan berakhir dalam lima langkah, tiga bagi saya, 215 00:11:54,870 --> 00:11:57,710 dua untuk lawan saya. 216 00:11:57,710 --> 00:12:01,300 Tapi aku tidak selalu bisa memilih itu. 217 00:12:01,300 --> 00:12:03,720 >> Jadi sebaliknya, apa yang kita akan harus melakukan 218 00:12:03,720 --> 00:12:06,270 adalah kita akan memiliki memiliki strategi baru. 219 00:12:06,270 --> 00:12:09,350 Dan strategi yang algoritma game-playing sering menggunakan 220 00:12:09,350 --> 00:12:12,000 adalah apa yang disebut minimax. 221 00:12:12,000 --> 00:12:15,500 Ide sentral dari minimax adalah bahwa kita 222 00:12:15,500 --> 00:12:21,365 akan mengambil langkah yang memberikan lawan kami mungkin set terburuk 223 00:12:21,365 --> 00:12:22,790 dari bergerak bahwa mereka dapat membuat. 224 00:12:22,790 --> 00:12:25,570 225 00:12:25,570 --> 00:12:28,870 Itu tidak ada gunanya bagiku untuk memilih langkah mana 226 00:12:28,870 --> 00:12:31,952 Aku mungkin bisa menang setelah itu, karena lawan saya tidak 227 00:12:31,952 --> 00:12:33,160 akan memberi saya kesempatan itu. 228 00:12:33,160 --> 00:12:37,770 Mereka akan memilih beberapa hasil yang mengerikan bagi saya. 229 00:12:37,770 --> 00:12:42,010 Jadi aku akan membuat bergerak yang memaksa lawan saya 230 00:12:42,010 --> 00:12:45,760 untuk melakukan sesuatu yang lebih baik bagi saya. 231 00:12:45,760 --> 00:12:46,260 Baiklah. 232 00:12:46,260 --> 00:12:48,410 Mari kita lihat bagaimana yang bermain keluar. 233 00:12:48,410 --> 00:12:51,640 Jadi, inilah algoritma dalam pseudocode. 234 00:12:51,640 --> 00:12:54,450 Kita akan menghasilkan seluruh pohon permainan. 235 00:12:54,450 --> 00:12:56,757 Kami akan membangun seluruh struktur. 236 00:12:56,757 --> 00:12:57,840 Dan kemudian kita akan pergi melalui. 237 00:12:57,840 --> 00:13:02,100 Dan di bagian paling bawah di masing-masing node terminal, pada setiap daun, 238 00:13:02,100 --> 00:13:07,850 kami akan mengevaluasi bagaimana berharga adalah bahwa saya? 239 00:13:07,850 --> 00:13:11,690 Dan kita akan nilai-hal yang yang baik bagi saya sebagai positif. 240 00:13:11,690 --> 00:13:14,460 Hal-hal yang tidak baik bagi saya akan kurang positif, atau nol, 241 00:13:14,460 --> 00:13:16,480 atau bahkan negatif. 242 00:13:16,480 --> 00:13:19,240 >> Jadi dalam tic-tac-toe, mungkin kemenangan bagi saya adalah baik. 243 00:13:19,240 --> 00:13:20,290 Itu salah satu a. 244 00:13:20,290 --> 00:13:22,400 Dan dasi adalah nol. 245 00:13:22,400 --> 00:13:26,230 Dan sesuatu yang kerugian bagi saya, mungkin itu yang negatif. 246 00:13:26,230 --> 00:13:29,620 Yang penting adalah bahwa lebih baik itu untuk saya, semakin tinggi skor 247 00:13:29,620 --> 00:13:32,160 yang diterimanya. 248 00:13:32,160 --> 00:13:36,690 Dari mereka yang kemungkinan di bawah, maka kita akan menyaring ke atas. 249 00:13:36,690 --> 00:13:40,650 Dan ketika itu kesempatan saya untuk memilih antara satu set alternatif, 250 00:13:40,650 --> 00:13:44,460 Saya akan memilih salah satu yang mendapat skor tertinggi. 251 00:13:44,460 --> 00:13:47,200 >> Dan setiap kali itu saya lawan berubah untuk memilih, 252 00:13:47,200 --> 00:13:52,350 Saya akan berasumsi bahwa mereka akan memilih salah satu dengan nilai terendah. 253 00:13:52,350 --> 00:13:56,090 Dan jika saya melakukan ini semua jalan sampai ke puncak pohon, 254 00:13:56,090 --> 00:14:03,150 Saya akan memilih jalan yang memberikan saya hasil terbaik yang bisa saya dapatkan, 255 00:14:03,150 --> 00:14:09,110 dengan asumsi bahwa lawan saya membuat semua gerakan yang benar. 256 00:14:09,110 --> 00:14:11,940 >> Baiklah, jadi mari kita lihat ini dalam tindakan pertama. 257 00:14:11,940 --> 00:14:14,980 Dan kemudian kita akan benar-benar melihat kode untuk itu. 258 00:14:14,980 --> 00:14:16,780 Jadi bayangkan saya harus pohon besar ini. 259 00:14:16,780 --> 00:14:18,280 Dan sekarang aku tidak bermain tic-tac-toe. 260 00:14:18,280 --> 00:14:20,405 Saya ingin memberikan Anda sesuatu yang sedikit lebih kaya. 261 00:14:20,405 --> 00:14:23,560 Jadi saya punya beberapa permainan di mana ada banyak nilai yang berbeda 262 00:14:23,560 --> 00:14:26,390 bahwa aku bisa memiliki di akhir. 263 00:14:26,390 --> 00:14:27,980 Dan jadi saya membangun pohon lengkap ini. 264 00:14:27,980 --> 00:14:29,070 Dan aku bisa bergerak pertama. 265 00:14:29,070 --> 00:14:31,290 Aku di akar pohon. 266 00:14:31,290 --> 00:14:36,150 >> Dan aku bisa memilih itu-- jadi saya mendapatkan untuk memaksimalkan seluruh simpul pertama. 267 00:14:36,150 --> 00:14:38,410 Dan kemudian lawan saya mendapat untuk pergi. 268 00:14:38,410 --> 00:14:41,910 Dan kemudian saya bisa pergi lagi. 269 00:14:41,910 --> 00:14:46,830 Begitu turun di bagian bawah, saya memiliki satu set kemungkinan bahwa saya dapat memilih dari, 270 00:14:46,830 --> 00:14:50,570 negara terminal yang berbeda dari permainan. 271 00:14:50,570 --> 00:14:54,980 Jika aku turun di bahwa paling kiri pojok, 272 00:14:54,980 --> 00:14:58,867 dan saya melihat bahwa saya punya pilihan antara delapan, tujuh, dan dua, 273 00:14:58,867 --> 00:15:00,450 baik, saya salah satu yang mendapat untuk memilih. 274 00:15:00,450 --> 00:15:02,910 Jadi aku akan memilih yang terbaik dari mereka. 275 00:15:02,910 --> 00:15:05,650 Aku akan memilih delapan. 276 00:15:05,650 --> 00:15:10,090 >> Jadi saya tahu bahwa jika saya pernah turun ke titik itu, 277 00:15:10,090 --> 00:15:13,890 Aku akan bisa mendapatkan delapan poin. 278 00:15:13,890 --> 00:15:17,410 Jika saya berakhir di titik berikutnya lebih, node berikutnya lebih, 279 00:15:17,410 --> 00:15:20,760 sembilan, satu, atau enam, well, aku akan memilih yang terbaik dari mereka. 280 00:15:20,760 --> 00:15:21,950 Saya akan memilih sembilan. 281 00:15:21,950 --> 00:15:24,880 Jika saya memiliki pilihan antara dua, dan empat, dan satu, 282 00:15:24,880 --> 00:15:28,240 Saya akan memilih empat, yang tertinggi. 283 00:15:28,240 --> 00:15:31,990 >> Sekarang, jika saya melihat tingkat di atas itu, lawan saya 284 00:15:31,990 --> 00:15:34,440 adalah salah satu mendapat untuk membuat pilihan itu. 285 00:15:34,440 --> 00:15:37,040 Jadi lawan saya sampai ke memilih, apakah saya ingin memberinya 286 00:15:37,040 --> 00:15:39,250 hal itu akan untuk mendapatkan dia delapan poin, 287 00:15:39,250 --> 00:15:41,916 atau apakah saya memberinya hal itu akan memberinya sembilan poin, 288 00:15:41,916 --> 00:15:45,240 atau hal yang terjadi memberinya empat poin? 289 00:15:45,240 --> 00:15:49,130 Dan lawan saya, menjadi rasional, akan 290 00:15:49,130 --> 00:15:53,470 untuk memilih minimum dari mereka, akan memilih empat. 291 00:15:53,470 --> 00:15:56,020 >> Dan saya bisa melakukan ini melalui seluruh pohon. 292 00:15:56,020 --> 00:15:59,110 Aku bisa pergi ke yang set tengah dari tiga. 293 00:15:59,110 --> 00:16:01,517 Dan aku bisa memilih antara satu, tiga, dan lima. 294 00:16:01,517 --> 00:16:02,350 Dan aku bisa memilih. 295 00:16:02,350 --> 00:16:03,810 Jadi saya memilih lima. 296 00:16:03,810 --> 00:16:05,340 Aku bisa memilih tiga, sembilan, atau dua. 297 00:16:05,340 --> 00:16:07,570 Saya bisa memilih, jadi saya memilih sembilan. 298 00:16:07,570 --> 00:16:09,290 Enam, lima, atau dua, saya memilih. 299 00:16:09,290 --> 00:16:11,539 Saya bisa memilih enam. 300 00:16:11,539 --> 00:16:13,080 Tingkat di atas itu, siapa yang akan dipilih? 301 00:16:13,080 --> 00:16:16,280 302 00:16:16,280 --> 00:16:18,140 Siapa yang mendapat untuk memilih? 303 00:16:18,140 --> 00:16:20,000 Orang lain, lawan saya. 304 00:16:20,000 --> 00:16:22,583 Jadi mereka memilih lima, sembilan, atau enam, yang mana? 305 00:16:22,583 --> 00:16:23,410 >> AUDIENCE: Lima. 306 00:16:23,410 --> 00:16:25,250 >> SPEAKER: Mereka memilih lima. 307 00:16:25,250 --> 00:16:27,400 Mereka bisa memilih minimum. 308 00:16:27,400 --> 00:16:29,690 Dan kemudian yang terakhir, memilih salah satu, dua, atau tiga. 309 00:16:29,690 --> 00:16:31,720 Saya bisa memilih, jadi saya memilih tiga. 310 00:16:31,720 --> 00:16:34,370 Sembilan, tujuh, atau dua, saya memilih sembilan. 311 00:16:34,370 --> 00:16:37,070 Dan 11, enam, atau empat, saya memilih 11. 312 00:16:37,070 --> 00:16:41,190 Lawan saya kemudian memilih tiga, sembilan, atau 11, memilih minimum. 313 00:16:41,190 --> 00:16:43,290 Dia memberi saya tiga. 314 00:16:43,290 --> 00:16:47,780 Dan akhirnya di puncak pohon, aku bisa memilih lagi. 315 00:16:47,780 --> 00:16:51,190 Dan aku bisa memilih antara empat, lima, atau tiga. 316 00:16:51,190 --> 00:16:52,270 Jadi saya mengambil lima. 317 00:16:52,270 --> 00:16:55,070 318 00:16:55,070 --> 00:17:00,891 >> Jika saya harus mengendalikan segala sesuatu, saya akan mengambil jalan yang mengarah ke 11. 319 00:17:00,891 --> 00:17:02,390 Tapi aku tidak bisa membuat pilihan itu. 320 00:17:02,390 --> 00:17:04,220 Jika saya pergi ke jalan itu. 321 00:17:04,220 --> 00:17:10,710 Lawan saya akan memaksa saya ke pilihan yang mengarah ke tiga. 322 00:17:10,710 --> 00:17:14,530 Jadi yang terbaik yang dapat saya lakukan adalah untuk mengambil cabang tengah, 323 00:17:14,530 --> 00:17:19,859 membuat pilihan itu akhirnya akan membawa saya ke lima poin. 324 00:17:19,859 --> 00:17:23,230 Itulah yang minimax tidak. 325 00:17:23,230 --> 00:17:23,807 >> Baiklah. 326 00:17:23,807 --> 00:17:24,890 Mari kita lihat itu. 327 00:17:24,890 --> 00:17:27,480 328 00:17:27,480 --> 00:17:32,330 Jadi di sini di CS50 IDE adalah sebuah program yang 329 00:17:32,330 --> 00:17:36,540 mengimplementasikan minimax untuk bermain tic-tac-toe. 330 00:17:36,540 --> 00:17:40,100 Kami akan membangun up representasi. 331 00:17:40,100 --> 00:17:44,390 Kita akan memiliki dua opponent-- atau dua pemain, komputer kita 332 00:17:44,390 --> 00:17:46,090 player dan pemain manusia. 333 00:17:46,090 --> 00:17:48,980 334 00:17:48,980 --> 00:17:53,090 Pemain nomor satu akan bermain O. Itu akan menjadi pemain mesin. 335 00:17:53,090 --> 00:17:55,747 Mereka bisa bergerak kedua. 336 00:17:55,747 --> 00:17:57,830 Dan pemain lain, kami pemain manusia, akan X. 337 00:17:57,830 --> 00:17:59,880 >> Dan untuk membuat hidup saya menjadi kecil sederhana, aku akan 338 00:17:59,880 --> 00:18:03,060 label yang negatif player. 339 00:18:03,060 --> 00:18:05,026 Jadi aku hanya dapat berkembang biak oleh satu negatif untuk swap 340 00:18:05,026 --> 00:18:06,400 antara satu pemain dan lainnya. 341 00:18:06,400 --> 00:18:09,030 342 00:18:09,030 --> 00:18:12,250 Baiklah, jadi mari kita lihat apa yang kita benar-benar akan dilakukan. 343 00:18:12,250 --> 00:18:15,840 Kita akan mendefinisikan papan kami. 344 00:18:15,840 --> 00:18:19,060 Ini akan menjadi, baik, kita akan untuk memungkinkan untuk menjadi tiga oleh tiga, 345 00:18:19,060 --> 00:18:21,580 atau kita bahkan dapat bermain lima dengan lima atau tujuh 346 00:18:21,580 --> 00:18:28,870 tujuh tic-tac-toe jika Anda akan seperti, berdasarkan beberapa dimensi D. 347 00:18:28,870 --> 00:18:31,260 >> Dan kita akan memiliki beberapa fungsi helper 348 00:18:31,260 --> 00:18:34,360 yang akan melakukan hal-hal seperti menginisialisasi screen-- atau menyesal, 349 00:18:34,360 --> 00:18:38,900 menginisialisasi variabel kita, menghapus layar, menggambar papan di layar, 350 00:18:38,900 --> 00:18:41,060 salah satu yang memeriksa papan untuk melihat apakah atau tidak 351 00:18:41,060 --> 00:18:44,520 ada pemenang, yang mem-parsing melalui baris perintah, 352 00:18:44,520 --> 00:18:50,670 hanya untuk membantu, yang berbunyi masukan, dan satu fungsi yang disebut minimax. 353 00:18:50,670 --> 00:18:52,746 Dan itulah salah satu kita akan peduli tentang. 354 00:18:52,746 --> 00:18:54,120 Tapi mari kita lihat pertama di utama. 355 00:18:54,120 --> 00:18:57,490 356 00:18:57,490 --> 00:18:58,510 >> Apa yang kita lakukan? 357 00:18:58,510 --> 00:19:00,570 Nah, kita akan mengurai baris perintah kami, 358 00:19:00,570 --> 00:19:04,300 hanya membaca dan melihat apa papan dimensi kita ingin memiliki. 359 00:19:04,300 --> 00:19:07,330 Kami akan menginisialisasi papan kami. 360 00:19:07,330 --> 00:19:10,360 Dan kemudian kita akan memasukkan salah satu lingkaran liar besar, berulang kali 361 00:19:10,360 --> 00:19:16,630 menerima bergerak sampai permainan ini adalah menang, atau tidak ada gerakan kiri. 362 00:19:16,630 --> 00:19:20,560 Setiap kali kita pergi melalui itu lingkaran, kita akan membersihkan layar. 363 00:19:20,560 --> 00:19:23,290 Kami akan menarik papan di layar. 364 00:19:23,290 --> 00:19:28,750 Dan kami sengaja semacam abstrak ini pergi sebagai subrutin, 365 00:19:28,750 --> 00:19:32,030 sehingga kita tidak perlu khawatir terlalu banyak tentang rincian bagaimana mereka terjadi. 366 00:19:32,030 --> 00:19:33,480 >> Anda akan memiliki kode hari ini. 367 00:19:33,480 --> 00:19:37,970 Dan jika Anda ingin melihat melalui dan mencari tahu, Anda dapat melihat mereka semua. 368 00:19:37,970 --> 00:19:39,890 Tapi kita akan menarik papan di layar. 369 00:19:39,890 --> 00:19:43,620 Dan kemudian kami akan memeriksa dan lihat, kita memiliki pemenang? 370 00:19:43,620 --> 00:19:46,290 Apakah seseorang memenangkan pertandingan ini? 371 00:19:46,290 --> 00:19:49,260 Jika mereka memiliki, kami akan mencetak keluar pesan kemenangan. 372 00:19:49,260 --> 00:19:51,680 Dan kami akan mengakhiri permainan. 373 00:19:51,680 --> 00:19:54,510 >> Kami juga akan memeriksa dan melihat apakah ada dasi. 374 00:19:54,510 --> 00:19:56,620 Ini akan mudah untuk melihat apakah ada dasi. 375 00:19:56,620 --> 00:20:00,700 Ini berarti bahwa semua ruang penuh, tapi belum ada pemenang belum. 376 00:20:00,700 --> 00:20:03,580 Kita dapat mendeklarasikan dasi dan dilakukan. 377 00:20:03,580 --> 00:20:10,530 Kemudian meat-- nyata jika itu pemain mesin, 378 00:20:10,530 --> 00:20:14,120 kami akan memungkinkan bahwa mesin pemutar untuk mencari 379 00:20:14,120 --> 00:20:19,500 melalui menggunakan algoritma minimax ini, untuk menemukan langkah terbaik yang dapat dilakukannya. 380 00:20:19,500 --> 00:20:22,310 Dan kemudian kami akan menempatkan bahwa langkah up. 381 00:20:22,310 --> 00:20:27,640 >> Jika tidak, jika itu pemain manusia, kita akan membaca beberapa masukan dari manusia. 382 00:20:27,640 --> 00:20:30,800 Dan kemudian apakah itu manusia pemain atau pemain mesin, 383 00:20:30,800 --> 00:20:32,800 kami akan melakukan beberapa sedikit bit pengecekan error, 384 00:20:32,800 --> 00:20:36,910 pastikan tetap dalam batas-batas dari dimensi sebenarnya dari papan 385 00:20:36,910 --> 00:20:40,040 yang kita miliki, pastikan bahwa ruang yang kosong, 386 00:20:40,040 --> 00:20:43,570 bahwa tidak ada seseorang put sepotong di sana sudah. 387 00:20:43,570 --> 00:20:45,810 Dan kemudian kami hanya akan menempatkan sepotong di papan, 388 00:20:45,810 --> 00:20:51,550 mengubah pemain ke lapisan berikutnya, dan kenaikan berapa banyak bergerak terjadi. 389 00:20:51,550 --> 00:20:54,090 >> Itu loop utama untuk permainan tic-tac-toe kami. 390 00:20:54,090 --> 00:20:57,000 391 00:20:57,000 --> 00:21:02,340 Minimax, kemudian, tepatnya algoritma yang kita sebelumnya. 392 00:21:02,340 --> 00:21:04,710 Satu-satunya penyesuaian yang kami telah membuat sehingga kita 393 00:21:04,710 --> 00:21:07,290 bisa bermain lebih tinggi papan dimensi adalah kita sudah 394 00:21:07,290 --> 00:21:11,070 terus parameter tambahan ini disebut mendalam. 395 00:21:11,070 --> 00:21:14,870 Dan kedalaman hanya mengatakan, jika saya mencari ke bawah melalui pohon yang 396 00:21:14,870 --> 00:21:19,022 dan saya mendapatkan begitu jauh ke bawah melampaui beberapa kedalaman tingkat 397 00:21:19,022 --> 00:21:20,730 bahwa saya hanya tidak ingin untuk pergi lebih jauh, 398 00:21:20,730 --> 00:21:25,630 Aku akan berhenti dan hanya mengevaluasi dewan pada saat itu. 399 00:21:25,630 --> 00:21:27,310 Aku akan memeriksa dan melihat apakah ada pemenang. 400 00:21:27,310 --> 00:21:29,240 Jika ada pemenang, saya kembali mereka. 401 00:21:29,240 --> 00:21:31,720 Jika tidak, saya akan pergi melalui loop. 402 00:21:31,720 --> 00:21:34,380 Dan aku akan mengatakan, untuk semua kemungkinan lokasi 403 00:21:34,380 --> 00:21:38,080 bahwa saya mungkin bisa mengambil sebagai langkah saya, saya akan 404 00:21:38,080 --> 00:21:43,760 membangun sebuah papan hipotetis yang termasuk saya pindah di papan itu, 405 00:21:43,760 --> 00:21:45,960 dan kemudian secara rekursif memanggil minimax. 406 00:21:45,960 --> 00:21:49,360 407 00:21:49,360 --> 00:21:53,900 >> Jika itu saya pindah, saya bisa menemukan salah satu yang mendapat skor terbesar. 408 00:21:53,900 --> 00:21:58,710 Jika itu bergerak lawan saya, kita menemukan salah satu yang punya nilai minimum. 409 00:21:58,710 --> 00:22:02,240 Dan segala sesuatu yang lain hanya pencatatan. 410 00:22:02,240 --> 00:22:04,789 Baiklah, jadi mari kita lihat run ini. 411 00:22:04,789 --> 00:22:06,830 Sebenarnya, mungkin kita bisa mendapatkan beberapa relawan 412 00:22:06,830 --> 00:22:09,930 untuk datang dan bermain tic-tac-toe. 413 00:22:09,930 --> 00:22:12,780 [Tidak terdengar] satu, dan satu lebih, dua, di sana. 414 00:22:12,780 --> 00:22:13,550 Ayo up. 415 00:22:13,550 --> 00:22:19,290 416 00:22:19,290 --> 00:22:23,650 >> Jadi mari kita pergi ke depan dan me-restart ini sepenuhnya. 417 00:22:23,650 --> 00:22:24,150 Jadi, hi. 418 00:22:24,150 --> 00:22:24,920 >> AUDIENCE: Hi. 419 00:22:24,920 --> 00:22:25,420 >> SPEAKER: Siapa nama Anda? 420 00:22:25,420 --> 00:22:26,086 >> AUDIENCE: Gorav. 421 00:22:26,086 --> 00:22:26,840 SPEAKER: Gorav. 422 00:22:26,840 --> 00:22:27,800 >> AUDIENCE: Saya Layla. 423 00:22:27,800 --> 00:22:29,490 >> SPEAKER: Dan Layla, dan Layla, maaf. 424 00:22:29,490 --> 00:22:30,384 Ayo up. 425 00:22:30,384 --> 00:22:32,050 Gorav, kita akan memiliki Anda pergi dulu. 426 00:22:32,050 --> 00:22:37,710 Dan aku akan meminta Anda untuk menjadi tidak sangat baik pemain tic-tac-toe. 427 00:22:37,710 --> 00:22:40,130 OK, jadi semua tekanan off pada Anda. 428 00:22:40,130 --> 00:22:44,660 Mari kita lihat, meskipun, bahwa mesin kami pemain benar-benar bisa melakukan sesuatu yang cerdas. 429 00:22:44,660 --> 00:22:45,310 Jadi pergi ke depan. 430 00:22:45,310 --> 00:22:49,830 Anda akan mengetik di mana koordinat Anda ingin menempatkan X di. 431 00:22:49,830 --> 00:22:55,170 A0, OK, dan mesin telah pergi segera dan menaruh tanda di A1. 432 00:22:55,170 --> 00:22:56,640 >> Masukan O pada papan. 433 00:22:56,640 --> 00:22:58,970 Baiklah, sekarang pergi ke depan. 434 00:22:58,970 --> 00:23:00,193 Kamu mau pergi kemana? 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 Mesin pemain kami telah mengambil tengah persegi, diblokir Anda. 438 00:23:08,430 --> 00:23:10,320 Jadi itu baik, hal yang cerdas untuk itu harus dilakukan. 439 00:23:10,320 --> 00:23:13,430 440 00:23:13,430 --> 00:23:14,250 Anda telah diblokir itu. 441 00:23:14,250 --> 00:23:15,210 Itu sangat baik. 442 00:23:15,210 --> 00:23:16,390 Dibutuhkan sudut ada. 443 00:23:16,390 --> 00:23:23,890 444 00:23:23,890 --> 00:23:30,430 >> Dan itu akan memaksa Anda untuk mengambil satu ruang terakhir, B0. 445 00:23:30,430 --> 00:23:32,220 Dan permainan berakhir di dasi. 446 00:23:32,220 --> 00:23:35,030 Tapi itu memainkan wajar pertandingan melawan Anda, bukan? 447 00:23:35,030 --> 00:23:36,956 Baiklah, terima kasih banyak, Gorav. 448 00:23:36,956 --> 00:23:40,860 >> [TEPUK TANGAN] 449 00:23:40,860 --> 00:23:44,723 >> Baiklah, Layla, kita akan up permainan di sini. 450 00:23:44,723 --> 00:23:46,940 >> AUDIENCE: Oh, bagus. 451 00:23:46,940 --> 00:23:49,950 >> SPEAKER: Kami akan memberikan Anda empat oleh empat tic-tac-toe. 452 00:23:49,950 --> 00:23:54,760 Sekarang, dalam empat oleh empat, Anda harus menang dengan empat berturut-turut, tidak tiga berturut-turut. 453 00:23:54,760 --> 00:23:56,135 Dan itu semua milikmu. 454 00:23:56,135 --> 00:24:02,180 455 00:24:02,180 --> 00:24:04,420 Jadi Layla mengambil D1. 456 00:24:04,420 --> 00:24:11,730 Kami sekarang akan mengikuti pemain komputer kami di sini. 457 00:24:11,730 --> 00:24:16,910 Tiga oleh tiga tic-tac-toe adalah jenis yang hal yang mudah bagi kita semua. 458 00:24:16,910 --> 00:24:21,960 Tapi masih bagus untuk melihat pemain komputer membuat langkah cerdas. 459 00:24:21,960 --> 00:24:23,725 Empat oleh empat sampai ke menjadi sedikit rumit. 460 00:24:23,725 --> 00:24:42,960 461 00:24:42,960 --> 00:24:44,230 >> Baik dilakukan. 462 00:24:44,230 --> 00:24:46,210 Baiklah, jadi Layla selesai. 463 00:24:46,210 --> 00:24:48,270 Oh, dan kita harus berakhir di sana. 464 00:24:48,270 --> 00:24:51,870 Tapi mari kita lakukan satu lagi di sini. 465 00:24:51,870 --> 00:24:53,480 Jadi Layla, terima kasih. 466 00:24:53,480 --> 00:24:55,112 Baik dilakukan. 467 00:24:55,112 --> 00:24:57,517 >> [TEPUK TANGAN] 468 00:24:57,517 --> 00:25:00,410 469 00:25:00,410 --> 00:25:04,750 >> Jadi pemain tic-tac-toe kami pergi melalui dan menemukan lokasi, 470 00:25:04,750 --> 00:25:07,040 memecahkan mereka menggunakan minimax ini. 471 00:25:07,040 --> 00:25:08,990 Dan saya memiliki pengaturan kedalaman pada itu sehingga 472 00:25:08,990 --> 00:25:11,010 tidak akan berjalan terlalu cepat, yang mungkin mengapa 473 00:25:11,010 --> 00:25:16,790 Layla bisa pergi baik ke depan seperti yang dia lakukan, dan melakukan dengan sangat baik. 474 00:25:16,790 --> 00:25:20,450 Tapi sistem ini yang baru saja pergi melalui dan kekerasan 475 00:25:20,450 --> 00:25:23,870 pergi lebih dalam, dan lebih dalam, dan lebih dalam, dan terus mencari solusi 476 00:25:23,870 --> 00:25:29,890 yang mereka butuhkan, orang-orang macam sistem cukup sukses di ini, baik, 477 00:25:29,890 --> 00:25:32,700 permainan papan standar. 478 00:25:32,700 --> 00:25:37,060 >> Dan pada kenyataannya, jika kita melihat sebuah tiga oleh tiga tic-tac-toe permainan, 479 00:25:37,060 --> 00:25:40,040 ini pada dasarnya adalah masalah diselesaikan. 480 00:25:40,040 --> 00:25:45,430 Dan ini adalah diagram indah dari Randall Munroe di XKCD, 481 00:25:45,430 --> 00:25:52,130 menunjukkan yang menggerakkan Anda harus mengambil, mengingat bergerak lawan. 482 00:25:52,130 --> 00:25:56,420 Ini adalah sesuatu yang kita bisa mudah menentukan depan waktu. 483 00:25:56,420 --> 00:26:00,180 Tapi apa yang terjadi setelah kami mendapatkan lebih game kompleks, permainan lebih rumit, 484 00:26:00,180 --> 00:26:05,690 di mana ada papan besar, lebih kemungkinan, strategi yang lebih dalam? 485 00:26:05,690 --> 00:26:09,660 >> Ternyata ini brute force mencari masih 486 00:26:09,660 --> 00:26:14,150 tidak cukup baik, kecuali ketika Anda sampai ke titik 487 00:26:14,150 --> 00:26:19,230 di mana pohon yang begitu besar bahwa Anda tidak dapat mewakili semuanya. 488 00:26:19,230 --> 00:26:22,370 489 00:26:22,370 --> 00:26:28,280 Bila Anda tidak dapat menghitung seluruh pohon, ketika Anda tidak bisa pergi ke depan dan mendorong 490 00:26:28,280 --> 00:26:32,204 diri ke titik di mana Anda telah mendapatkan seluruh pohon dalam memori, 491 00:26:32,204 --> 00:26:34,370 atau apakah Anda bisa mendapatkannya dalam memori dan akan hanya 492 00:26:34,370 --> 00:26:39,200 membawa Anda terlalu lama untuk mencari melalui itu, Anda harus melakukan sesuatu yang lebih cerdas. 493 00:26:39,200 --> 00:26:42,620 494 00:26:42,620 --> 00:26:46,450 >> Untuk melakukan itu, Anda harus melakukan dua hal. 495 00:26:46,450 --> 00:26:49,030 Pertama, Anda harus menemukan beberapa cara membatasi kedalaman Anda. 496 00:26:49,030 --> 00:26:50,370 Nah, itu OK. 497 00:26:50,370 --> 00:26:55,740 Kita dapat menemukan beberapa yang bagus, telanjang minimum dan berkata, Anda hanya dapat pergi begitu dalam. 498 00:26:55,740 --> 00:27:00,890 Tetapi ketika Anda melakukannya, itu berarti Anda memiliki papan ini sebagian tidak lengkap. 499 00:27:00,890 --> 00:27:04,770 Dan Anda harus memilih, apakah saya suka papan sebagian tidak lengkap ini, 500 00:27:04,770 --> 00:27:08,600 atau papan sebagian tidak lengkap ini? 501 00:27:08,600 --> 00:27:11,910 >> Dan pada kita empat oleh empat tic-tac-toe permainan, 502 00:27:11,910 --> 00:27:15,240 pemain komputer kita turun ke bawah dan berkata, 503 00:27:15,240 --> 00:27:16,800 Aku punya dua papan yang berbeda. 504 00:27:16,800 --> 00:27:17,940 Satu pun adalah menang. 505 00:27:17,940 --> 00:27:19,120 Satu tidak adalah kerugian. 506 00:27:19,120 --> 00:27:22,070 Satu tidak adalah dasi. 507 00:27:22,070 --> 00:27:24,100 Bagaimana cara memilih antara mereka? 508 00:27:24,100 --> 00:27:26,200 Dan itu tidak memiliki cara cerdas melakukan hal itu. 509 00:27:26,200 --> 00:27:28,910 510 00:27:28,910 --> 00:27:32,850 >> Kita melihat seperti ini Evaluasi terjadi sepanjang waktu 511 00:27:32,850 --> 00:27:35,290 seperti yang kita masuk ke permainan yang lebih kompleks. 512 00:27:35,290 --> 00:27:37,600 Catur adalah contoh yang bagus. 513 00:27:37,600 --> 00:27:41,550 Dalam catur, kita harus, pertama dari semua, papan yang lebih besar. 514 00:27:41,550 --> 00:27:43,370 Kami memiliki jauh lebih potongan. 515 00:27:43,370 --> 00:27:47,930 Dan posisi potongan-potongan ini dan cara yang potongan-potongan ini bergerak 516 00:27:47,930 --> 00:27:50,370 sangat penting. 517 00:27:50,370 --> 00:27:53,700 Jadi jika saya ingin menggunakan minimax, Aku harus mampu menentukan 518 00:27:53,700 --> 00:27:58,240 dan mengatakan, forum ini, di mana tidak ada yang menang atau kalah lagi, 519 00:27:58,240 --> 00:28:04,310 entah bagaimana lebih baik daripada ini lain papan, di mana tidak ada yang menang atau kalah. 520 00:28:04,310 --> 00:28:06,740 >> Untuk melakukan itu, saya mungkin melakukan hal-hal seperti aku mungkin hanya 521 00:28:06,740 --> 00:28:10,787 menghitung berapa banyak potongan yang saya miliki dan berapa banyak buah yang Anda miliki? 522 00:28:10,787 --> 00:28:12,870 Atau aku mungkin memberikan yang berbeda potongan poin yang berbeda. 523 00:28:12,870 --> 00:28:14,420 Queen saya adalah senilai 20 poin. 524 00:28:14,420 --> 00:28:16,500 Gadai Anda bernilai satu poin. 525 00:28:16,500 --> 00:28:18,920 Yang memiliki jumlah poin lebih? 526 00:28:18,920 --> 00:28:22,300 Atau aku mungkin mempertimbangkan hal-hal seperti, yang punya posisi papan yang lebih baik? 527 00:28:22,300 --> 00:28:26,820 Giliran itu berikutnya, apa pun yang saya bisa 528 00:28:26,820 --> 00:28:31,220 jangan untuk mengevaluasi lebih akurat yang kemungkinan ini 529 00:28:31,220 --> 00:28:34,660 lebih baik tanpa mendalam mengingat 530 00:28:34,660 --> 00:28:36,565 setiap langkah yang bisa datang setelah itu. 531 00:28:36,565 --> 00:28:39,740 532 00:28:39,740 --> 00:28:45,130 >> Sekarang untuk membuat pekerjaan itu, salah satu hal yang 533 00:28:45,130 --> 00:28:48,680 akan menjadi sangat penting bagi kita tidak hanya bergerak lurus 534 00:28:48,680 --> 00:28:53,720 ke kedalaman tertentu batas, namun mampu mengatakan, 535 00:28:53,720 --> 00:28:59,380 salah satu ide-ide ini yang saya memiliki begitu buruk bahwa itu 536 00:28:59,380 --> 00:29:02,280 tidak layak dipertimbangkan semua cara yang mungkin 537 00:29:02,280 --> 00:29:06,680 bahwa hal-hal dapat pergi dari buruk menjadi lebih buruk. 538 00:29:06,680 --> 00:29:12,760 Untuk melakukan itu, kita akan menambahkan ke minimax Prinsip yang disebut alph-beta. 539 00:29:12,760 --> 00:29:16,340 Dan alpha-beta mengatakan, jika Anda memiliki ide yang buruk, 540 00:29:16,340 --> 00:29:22,840 jangan buang waktu Anda mencoba untuk mencari tahu seberapa buruk itu. 541 00:29:22,840 --> 00:29:24,990 >> Jadi, inilah yang akan kita lakukan. 542 00:29:24,990 --> 00:29:28,620 Kita akan mengambil yang sama prinsip-prinsip yang kita miliki sebelumnya, 543 00:29:28,620 --> 00:29:32,200 jenis minimax yang sama pencarian, hanya kami 544 00:29:32,200 --> 00:29:37,570 akan melacak, tidak hanya dari nilai yang sebenarnya yang kita miliki, tetapi kita akan 545 00:29:37,570 --> 00:29:41,440 melacak terbaik Nilai yang saya bisa, 546 00:29:41,440 --> 00:29:45,700 dan kemungkinan terburuk hasil aku bisa memiliki. 547 00:29:45,700 --> 00:29:50,470 Dan setiap saat kemungkinan terburuk Hal ini mencari kemungkinan, 548 00:29:50,470 --> 00:29:52,694 Aku akan meninggalkan bagian dari pohon. 549 00:29:52,694 --> 00:29:54,610 Dan aku bahkan tidak akan repot-repot melihat itu lagi. 550 00:29:54,610 --> 00:29:57,680 551 00:29:57,680 --> 00:30:02,600 >> Baiklah, jadi bayangkan bahwa kita mulai dengan pohon permainan ini tepat sama. 552 00:30:02,600 --> 00:30:05,200 Dan sekarang kita akan pergi turun lagi, semua jalan ke bawah 553 00:30:05,200 --> 00:30:07,200 untuk yang pojok kiri bawah. 554 00:30:07,200 --> 00:30:11,180 Dan di bawah yang meninggalkan sudut, kami terlihat dan kami mengevaluasi forum ini. 555 00:30:11,180 --> 00:30:15,700 Mungkin itu adalah empat oleh empat tic-tac-toe papan, atau mungkin papan catur. 556 00:30:15,700 --> 00:30:18,620 Tapi kami melihat itu, dan kami mengevaluasi itu, dan kami mendapatkan nilai delapan. 557 00:30:18,620 --> 00:30:22,290 558 00:30:22,290 --> 00:30:28,030 >> Pada saat itu, kita tahu bahwa kita akan mendapatkan setidaknya 559 00:30:28,030 --> 00:30:32,380 delapan poin dari keputusan bawah ini. 560 00:30:32,380 --> 00:30:36,620 Tidak peduli apa yang lain Keduanya, yang tujuh dan dua. 561 00:30:36,620 --> 00:30:38,580 Mereka bisa menjadi nilai-nilai mereka ingin menjadi. 562 00:30:38,580 --> 00:30:41,279 Kita akan mendapatkan di Setidaknya delapan poin. 563 00:30:41,279 --> 00:30:43,070 Baiklah, tapi kita bisa pergi ke depan dan memeriksa. 564 00:30:43,070 --> 00:30:45,080 Mungkin salah satunya adalah lebih baik daripada delapan. 565 00:30:45,080 --> 00:30:46,000 >> Kami melihat tujuh. 566 00:30:46,000 --> 00:30:46,910 Apakah yang lebih baik dari delapan? 567 00:30:46,910 --> 00:30:48,680 Tidak, itu tidak mengubah pendapat kami sama sekali. 568 00:30:48,680 --> 00:30:49,460 Kita melihat dua. 569 00:30:49,460 --> 00:30:50,543 Apakah yang lebih baik dari delapan? 570 00:30:50,543 --> 00:30:52,580 Tidak, itu tidak mengubah pendapat kami sama sekali. 571 00:30:52,580 --> 00:30:55,480 Jadi sekarang kita tahu bahwa kita telah kehabisan semua kemungkinan ada. 572 00:30:55,480 --> 00:30:58,330 Kami tidak akan mendapatkan sesuatu yang lebih baik dari delapan. 573 00:30:58,330 --> 00:31:01,310 Kita akan mendapatkan persis delapan. 574 00:31:01,310 --> 00:31:03,825 >> Dan jadi kami mengubah simpul itu dan mengatakan, bahwa sekarang adalah kepastian. 575 00:31:03,825 --> 00:31:07,010 576 00:31:07,010 --> 00:31:10,270 Kami naik satu tingkat di atas itu. 577 00:31:10,270 --> 00:31:13,820 Dan sekarang kita tahu sesuatu tentang tingkat minimalisasi. 578 00:31:13,820 --> 00:31:18,560 Kita tahu bahwa kita tidak akan pernah mendapatkan lebih dari delapan poin jika kita turun 579 00:31:18,560 --> 00:31:20,910 arah itu. 580 00:31:20,910 --> 00:31:22,980 Karena bahkan jika mereka dua cabang lainnya berubah 581 00:31:22,980 --> 00:31:26,170 menjadi fantastis dan layak ribuan poin masing-masing, 582 00:31:26,170 --> 00:31:31,666 lawan kami akan memberi kita minimum, dan memberi kita delapan. 583 00:31:31,666 --> 00:31:32,790 Baiklah, baik, mari kita lihat. 584 00:31:32,790 --> 00:31:35,190 Kami akan terus turun jalan itu. 585 00:31:35,190 --> 00:31:38,490 Kami pergi ke yang tengah di sebelah kiri. 586 00:31:38,490 --> 00:31:40,560 Kami melihat ke bawah dan kita melihat ada sembilan. 587 00:31:40,560 --> 00:31:45,590 Kita tahu bahwa kita akan mendapatkan setidaknya sembilan poin dengan turun 588 00:31:45,590 --> 00:31:47,720 bahwa jalan tengah. 589 00:31:47,720 --> 00:31:52,110 Dan pada titik ini, kita hanya bisa berhenti. 590 00:31:52,110 --> 00:31:56,910 Dan kita dapat mengatakan, melihat, saya tahu di tingkat atas, 591 00:31:56,910 --> 00:32:01,160 Aku akan mendapatkan tidak lebih dari delapan menunjukkan dengan turun ke arah ini. 592 00:32:01,160 --> 00:32:05,670 Tetapi jika aku pergi di tengah jalan bukan jalan kiri, 593 00:32:05,670 --> 00:32:08,980 Saya akan mendapatkan setidaknya sembilan poin. 594 00:32:08,980 --> 00:32:13,590 >> Lawan saya tidak pernah akan biarkan aku turun bahwa jalan tengah. 595 00:32:13,590 --> 00:32:14,650 Mereka bisa memilih. 596 00:32:14,650 --> 00:32:18,140 Dan mereka akan memilih jalan ke kiri menuju delapan, 597 00:32:18,140 --> 00:32:23,650 bukan di tengah menuju apa setidaknya sembilan poin. 598 00:32:23,650 --> 00:32:25,334 Jadi pada saat itu, aku akan berhenti. 599 00:32:25,334 --> 00:32:26,500 Dan saya akan mengatakannya, kau tahu apa? 600 00:32:26,500 --> 00:32:29,990 Saya tidak perlu melihat lebih lebih turun ke arah itu. 601 00:32:29,990 --> 00:32:32,270 Karena aku tidak akan pernah sampai ke sana. 602 00:32:32,270 --> 00:32:36,660 >> Saya bisa melewatkan yang satu, dan saya bisa melewatkan enam, 603 00:32:36,660 --> 00:32:39,720 karena itu tidak akan pernah terjadi. 604 00:32:39,720 --> 00:32:42,470 Jadi saya akan pergi dan aku akan mempertimbangkan kemungkinan berikutnya. 605 00:32:42,470 --> 00:32:44,830 Saya pergi ke sana dan saya katakan, saya melihat dua. 606 00:32:44,830 --> 00:32:47,125 Saya tahu jika saya bisa di sini, aku akan mendapatkan setidaknya dua. 607 00:32:47,125 --> 00:32:49,810 608 00:32:49,810 --> 00:32:50,470 OKE. 609 00:32:50,470 --> 00:32:51,520 Aku terus berjalan. 610 00:32:51,520 --> 00:32:52,440 Saya melihat empat. 611 00:32:52,440 --> 00:32:54,920 Aku tahu aku akan mendapatkan setidaknya empat. 612 00:32:54,920 --> 00:32:57,200 Masih banyak di antara empat dan delapan, meskipun. 613 00:32:57,200 --> 00:32:58,454 Jadi aku terus. 614 00:32:58,454 --> 00:32:59,870 Aku melihat ke bawah dan saya melihat ada satu. 615 00:32:59,870 --> 00:33:01,614 Baiklah, saya tahu jika Aku turun jalan ini, 616 00:33:01,614 --> 00:33:03,280 Aku akan dapat memilih empat. 617 00:33:03,280 --> 00:33:06,540 618 00:33:06,540 --> 00:33:08,980 Apa lawan saya lakukan? 619 00:33:08,980 --> 00:33:12,310 Antara sesuatu yang memberi saya delapan, sesuatu yang memberi saya empat, 620 00:33:12,310 --> 00:33:14,730 dan sesuatu yang memberi saya setidaknya sembilan, 621 00:33:14,730 --> 00:33:17,550 baik, dia akan memberi saya empat. 622 00:33:17,550 --> 00:33:20,110 Dan aku tahu sekarang di paling atas, aku akan 623 00:33:20,110 --> 00:33:23,145 untuk bisa mendapatkan setidaknya empat poin dari pertandingan ini. 624 00:33:23,145 --> 00:33:27,030 625 00:33:27,030 --> 00:33:30,900 >> Seluruh ide alpha-beta adalah untuk memotong bagian pohon sehingga 626 00:33:30,900 --> 00:33:32,530 bahwa saya tidak melihat mereka lagi. 627 00:33:32,530 --> 00:33:35,964 Tapi masih terlihat seperti aku sudah melihat banyak pohon. 628 00:33:35,964 --> 00:33:36,880 Mari kita terus turun. 629 00:33:36,880 --> 00:33:38,305 Kami akan pergi ke yang berikutnya sekarang. 630 00:33:38,305 --> 00:33:39,680 Turun di bagian bawah, aku menemukan satu a. 631 00:33:39,680 --> 00:33:41,030 Aku tahu aku akan mendapatkan setidaknya satu. 632 00:33:41,030 --> 00:33:41,690 Aku terus mencari. 633 00:33:41,690 --> 00:33:42,625 >> Saya menemukan tiga. 634 00:33:42,625 --> 00:33:44,250 Aku tahu aku akan mendapatkan setidaknya tiga. 635 00:33:44,250 --> 00:33:44,840 Aku terus berjalan. 636 00:33:44,840 --> 00:33:45,660 Saya menemukan lima. 637 00:33:45,660 --> 00:33:49,760 Aku tahu aku akan mendapatkan lima jika saya turun di jalan itu. 638 00:33:49,760 --> 00:33:52,580 Dan aku juga tahu itu bahwa lawan saya, jika saya 639 00:33:52,580 --> 00:33:55,510 memilih tengah tiga pilihan besar, 640 00:33:55,510 --> 00:34:01,440 dia akan memberi saya sesuatu yang lima atau kurang. 641 00:34:01,440 --> 00:34:02,150 >> OKE. 642 00:34:02,150 --> 00:34:03,400 Aku bisa terus ada. 643 00:34:03,400 --> 00:34:06,470 Aku bisa melihat ke bawah dan aku bisa mengatakan, apa yang akan saya 644 00:34:06,470 --> 00:34:08,239 untuk mendapatkan jika saya pergi ke jalan tengah? 645 00:34:08,239 --> 00:34:09,909 Aku akan mendapatkan, baik, tiga di sana. 646 00:34:09,909 --> 00:34:12,080 Aku akan mendapatkan sesuatu itu setidaknya tiga. 647 00:34:12,080 --> 00:34:16,030 Masih ada hal-hal antara tiga dan lima, jadi aku terus mencari. 648 00:34:16,030 --> 00:34:20,203 Oh, sembilan, aku akan pasti mengambil bahwa selama tiga. 649 00:34:20,203 --> 00:34:22,744 Aku akan mendapatkan setidaknya sembilan jika saya turun bahwa jalan tengah. 650 00:34:22,744 --> 00:34:25,530 651 00:34:25,530 --> 00:34:31,010 >> Sekarang lawan saya berhenti dan berkata, terlihat, tidak ada gunanya lagi. 652 00:34:31,010 --> 00:34:33,669 Saya tahu bahwa saya minimalisasi lawan, dia 653 00:34:33,669 --> 00:34:36,210 akan memberi saya hal itu kurang dari atau sama dengan lima, 654 00:34:36,210 --> 00:34:39,030 bukan hal yang lebih besar dari atau sama dengan sembilan. 655 00:34:39,030 --> 00:34:39,530 Aku berhenti. 656 00:34:39,530 --> 00:34:40,779 Saya tidak melihat lagi pada saat itu. 657 00:34:40,779 --> 00:34:43,280 Aku terus berjalan. 658 00:34:43,280 --> 00:34:44,850 >> Aku melihat ke bawah satu ini. 659 00:34:44,850 --> 00:34:46,370 Turun ke bawah, saya menemukan enam. 660 00:34:46,370 --> 00:34:50,040 Aku tahu aku akan mendapatkan setidaknya enam. 661 00:34:50,040 --> 00:34:53,130 Dan apa yang bisa saya lakukan? 662 00:34:53,130 --> 00:34:54,877 Saya bisa berhenti. 663 00:34:54,877 --> 00:34:57,460 Karena ada pilihan antara sesuatu yang setidaknya enam 664 00:34:57,460 --> 00:34:59,250 dan sesuatu yang kurang dari lima, dia 665 00:34:59,250 --> 00:35:02,570 akan memberikan hal yang yang kurang dari lima. 666 00:35:02,570 --> 00:35:04,779 Dan sekarang aku tahu aku akan untuk mendapatkan persis pilihan itu. 667 00:35:04,779 --> 00:35:06,195 Aku akan mendapatkan lima pilihan. 668 00:35:06,195 --> 00:35:08,980 669 00:35:08,980 --> 00:35:10,010 >> Aku kembali naik ke atas. 670 00:35:10,010 --> 00:35:11,450 Yang akan saya memilih antara sesuatu 671 00:35:11,450 --> 00:35:14,449 yang lebih besar dari atau sama dengan empat, atau sesuatu yang sama dengan lima? 672 00:35:14,449 --> 00:35:17,140 Aku akan mengambil sesuatu itu setidaknya lima. 673 00:35:17,140 --> 00:35:20,490 Aku pergi ke jalan terakhir, semua cara turun ke bawah. 674 00:35:20,490 --> 00:35:21,260 Ada satu a. 675 00:35:21,260 --> 00:35:23,410 OK, setidaknya aku akan mendapatkan satu poin. 676 00:35:23,410 --> 00:35:24,427 Aku terus berjalan. 677 00:35:24,427 --> 00:35:25,760 Dua, oh, itu lebih baik dari satu. 678 00:35:25,760 --> 00:35:27,100 Aku akan mendapatkan setidaknya dua. 679 00:35:27,100 --> 00:35:28,610 Saya menemukan tiga. 680 00:35:28,610 --> 00:35:31,450 Aku tahu aku akan mendapatkan tiga. 681 00:35:31,450 --> 00:35:34,690 >> Dan titik di atas itu, lawan saya akan 682 00:35:34,690 --> 00:35:38,540 untuk memberikan sesuatu yang kurang dari atau sama dengan tiga. 683 00:35:38,540 --> 00:35:40,940 Dan sekarang saya bisa berhenti. 684 00:35:40,940 --> 00:35:46,290 Karena dalam pilihan antara saya menjadi bisa mendapatkan lima dan lawan saya 685 00:35:46,290 --> 00:35:52,290 memberi saya sesuatu yang kurang dari tiga, Saya selalu akan mengambil lima. 686 00:35:52,290 --> 00:35:56,810 Jadi saya tidak menilai bahwa bagian bawah pohon sama sekali. 687 00:35:56,810 --> 00:35:59,470 >> Sekarang, ini mungkin tampak kecil. 688 00:35:59,470 --> 00:36:03,630 Tapi ketika sedikit dari aritmatika, lebih besar dari dan kurang dari, 689 00:36:03,630 --> 00:36:10,640 dapat memotong seluruh bagian dari pohon ini tumbuh secara eksponensial, 690 00:36:10,640 --> 00:36:14,280 yang mengarah ke besar jumlah tabungan, tabungan 691 00:36:14,280 --> 00:36:17,630 yang cukup besar yang saya bisa mulai bermain kompetitif 692 00:36:17,630 --> 00:36:21,330 di game lebih kompleks. 693 00:36:21,330 --> 00:36:27,030 >> Baiklah, jika kita melihat ukuran dan kompleksitas permainan yang berbeda, 694 00:36:27,030 --> 00:36:29,470 tic-tac-toe adalah contoh mudah kami. 695 00:36:29,470 --> 00:36:32,150 Kami punya sebuah papan kecil, tiga oleh tiga. 696 00:36:32,150 --> 00:36:36,030 Kami mendapatkan, paling banyak, rata-rata sekitar empat pilihan yang berbeda 697 00:36:36,030 --> 00:36:38,440 seperti yang kita pergi melalui permainan. 698 00:36:38,440 --> 00:36:42,720 Kami memiliki suatu tempat sekitar 10 ke mungkin daun yang berbeda kelima. 699 00:36:42,720 --> 00:36:45,200 Dan membangun tic-tac-toe pemain, baik, kami hanya melakukannya. 700 00:36:45,200 --> 00:36:47,460 Mudah. 701 00:36:47,460 --> 00:36:49,890 >> Jika kita pergi ke sesuatu yang lebih kompleks, seperti Connect Four. 702 00:36:49,890 --> 00:36:53,170 Apakah Anda ingat game ini di mana Anda drop token kecil di? 703 00:36:53,170 --> 00:36:58,490 Ini adalah enam tujuh papan, tidak jauh lebih besar, masih 704 00:36:58,490 --> 00:37:00,770 memiliki sekitar percabangan yang sama faktor sebagai tic-tac-toe. 705 00:37:00,770 --> 00:37:05,410 Aku punya sekitar empat pilihan di mana saya dapat menempatkan hal-hal dalam. 706 00:37:05,410 --> 00:37:10,760 Tapi sekarang, aku punya lebih banyak mengarah, 10 pangkat 21. 707 00:37:10,760 --> 00:37:14,440 Itu sesuatu yang mudah cukup bahwa kita menyelesaikannya segera. 708 00:37:14,440 --> 00:37:17,560 >> Checkers, lebih complex-- Anda mendapat delapan dengan delapan papan. 709 00:37:17,560 --> 00:37:20,570 Anda hanya berada di setengah dari mereka setiap saat, meskipun. 710 00:37:20,570 --> 00:37:24,930 Anda punya percabangan Faktor itu sekitar 2,8. 711 00:37:24,930 --> 00:37:28,160 Nah, kita punya pasangan bergerak Anda dapat mengambil. 712 00:37:28,160 --> 00:37:33,870 Anda punya sekitar 10 sampai 31 daun, lebih besar, dan lebih besar, dan lebih besar ruang. 713 00:37:33,870 --> 00:37:37,340 Seperti yang saya harus mencari ruang-ruang yang lebih besar dan lebih besar, 714 00:37:37,340 --> 00:37:42,220 saat itulah hal-hal seperti alpha-beta dan mampu memotong seluruh cabang 715 00:37:42,220 --> 00:37:44,420 menjadi penting. 716 00:37:44,420 --> 00:37:47,440 >> Sekarang, catur cukup mudah pada tahun 1992. 717 00:37:47,440 --> 00:37:51,400 Sebuah program komputer yang disebut Chinook mengalahkan catur dunia 718 00:37:51,400 --> 00:37:53,590 juara, Marion Tinsley. 719 00:37:53,590 --> 00:37:57,260 Dan sejak itu, tidak ada Pemain tuan manusia memiliki 720 00:37:57,260 --> 00:38:02,290 mampu mengalahkan yang terbaik sistem komputasi. 721 00:38:02,290 --> 00:38:06,570 Jika kita melihat sesuatu seperti catur, sekarang lagi, kami memiliki delapan dengan delapan papan. 722 00:38:06,570 --> 00:38:09,870 Tapi kita harus jauh lebih kompleks potongan, gerakan jauh lebih kompleks. 723 00:38:09,870 --> 00:38:14,610 Kami memiliki faktor percabangan dari sekitar 35, 35 mungkin bergerak rata-rata 724 00:38:14,610 --> 00:38:20,030 bahwa saya dapat mengambil, dan negara ruang, jumlah daun 725 00:38:20,030 --> 00:38:28,950 yang tumbuh 10 pangkat 123, nomor besar kemungkinan. 726 00:38:28,950 --> 00:38:35,570 >> Bahkan masih, prosesor modern mampu melakukan hal ini berhasil. 727 00:38:35,570 --> 00:38:43,900 Pada tahun 1995 dan kemudian pada tahun 1997, komputer program yang disebut Deep Blue dibangun oleh IBM 728 00:38:43,900 --> 00:38:49,601 yang berlari pada superkomputer raksasa mengalahkan juara dunia saat ini, 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 Ini adalah titik balik. 732 00:38:56,650 --> 00:39:00,620 Hari ini, meskipun, bahwa pengolahan yang sama daya duduk di MacBook saya. 733 00:39:00,620 --> 00:39:04,180 734 00:39:04,180 --> 00:39:06,440 >> Kecepatan pemrosesan terus semakin cepat dan lebih cepat. 735 00:39:06,440 --> 00:39:09,500 Kita dapat mengevaluasi lebih dan lebih papan lebih cepat dan lebih cepat. 736 00:39:09,500 --> 00:39:14,550 Tapi yang lebih penting, kita harus lebih baik fungsi evaluasi dan pemangkasan yang lebih baik 737 00:39:14,550 --> 00:39:15,460 metode. 738 00:39:15,460 --> 00:39:19,560 Jadi kita dapat mencari lebih banyak ruang secara kompleks. 739 00:39:19,560 --> 00:39:22,350 Yang terbesar dari papan game yang dapat kita pikirkan, 740 00:39:22,350 --> 00:39:26,310 sesuatu seperti Go yang mendapat 19 oleh 19 dewan, 741 00:39:26,310 --> 00:39:32,490 sekarang tiba-tiba, kami melewati titik di mana sistem komputasi bisa menang. 742 00:39:32,490 --> 00:39:34,530 Tidak ada komputasi sistem di luar sana 743 00:39:34,530 --> 00:39:38,880 yang bisa mengalahkan pemain Go profesional. 744 00:39:38,880 --> 00:39:45,000 Sistem peringkat terbaik hari ini itu tentang semacam tingkat amatir yang baik. 745 00:39:45,000 --> 00:39:49,285 Jadi masih ada cukup sedikit keluar ada yang Anda tidak bisa mendapatkan ke belum. 746 00:39:49,285 --> 00:39:51,840 747 00:39:51,840 --> 00:39:55,360 >> Baiklah, ini permainan papan tradisional, 748 00:39:55,360 --> 00:39:58,560 jenis-jenis sistem di mana kita membangun minimax ini, apakah itu punya 749 00:39:58,560 --> 00:40:06,300 alpha-beta atau tidak, algoritma ini bekerja karena ada kendala tertentu. 750 00:40:06,300 --> 00:40:08,520 Kami memiliki informasi yang sempurna tentang dunia. 751 00:40:08,520 --> 00:40:11,690 Kita tahu di mana semua bagian yang. 752 00:40:11,690 --> 00:40:13,570 Dunia yang statis. 753 00:40:13,570 --> 00:40:16,220 Tak ada yang untuk memindahkan potongan sekitar sementara aku 754 00:40:16,220 --> 00:40:20,640 duduk di sana berpikir, mengambil giliran saya. 755 00:40:20,640 --> 00:40:23,140 Ada ruang tindakan yang diskrit. 756 00:40:23,140 --> 00:40:26,900 Saya dapat menempatkan pion saya di sini, atau saya dapat menempatkan pion saya di sini. 757 00:40:26,900 --> 00:40:30,520 Saya tidak diizinkan untuk menempatkan bidak saya di garis di antara dua kotak. 758 00:40:30,520 --> 00:40:34,430 759 00:40:34,430 --> 00:40:36,520 >> Dan akhirnya, tindakan adalah deterministik. 760 00:40:36,520 --> 00:40:39,790 Saya tahu bahwa jika saya mengatakan, benteng untuk ksatria tiga, 761 00:40:39,790 --> 00:40:44,660 benteng saya akan berakhir di knight tiga, selama itu langkah yang valid. 762 00:40:44,660 --> 00:40:47,830 Tidak ada ketidakpastian tentang itu. 763 00:40:47,830 --> 00:40:52,490 Sekarang, saat aku pergi ke lebih berbagai jenis permainan, 764 00:40:52,490 --> 00:40:55,960 kita harus memecahkan asumsi-asumsi. 765 00:40:55,960 --> 00:41:00,020 >> Bagaimana jika saya pergi ke sesuatu seperti video game klasik? 766 00:41:00,020 --> 00:41:04,180 Berikut pilihan video game dari Atari 2600. 767 00:41:04,180 --> 00:41:05,180 Apa yang harus saya atas sana? 768 00:41:05,180 --> 00:41:08,440 Aku punya Frogger, Ruang Penjajah, Pitfall, dan Pac-Man. 769 00:41:08,440 --> 00:41:11,290 770 00:41:11,290 --> 00:41:14,840 Jenis lingkungan apa apakah saya harus di sini sekarang? 771 00:41:14,840 --> 00:41:16,900 Yang asumsi ini apakah saya harus istirahat? 772 00:41:16,900 --> 00:41:19,410 773 00:41:19,410 --> 00:41:21,570 >> Yah, itu tergantung pada permainan. 774 00:41:21,570 --> 00:41:28,170 Saya bisa bermain catur pada 2600, dan itu akan menjadi seperti itu sebelumnya. 775 00:41:28,170 --> 00:41:33,020 Untuk sebagian besar dari sistem ini, ada pengetahuan yang lengkap tentang dunia. 776 00:41:33,020 --> 00:41:36,300 Ada benar-benar tindakan deterministik. 777 00:41:36,300 --> 00:41:38,330 Tapi biasanya, dunia ini tidak lagi statis. 778 00:41:38,330 --> 00:41:41,970 Artinya, sementara aku duduk di sana menunggu, sesuatu yang bergerak. 779 00:41:41,970 --> 00:41:44,320 Hantu datang untuk mendapatkan saya. 780 00:41:44,320 --> 00:41:46,570 Kalajengking yang mengikuti saya di bawahnya. 781 00:41:46,570 --> 00:41:48,880 Penjajah ruang yang datang lebih dekat dan lebih dekat. 782 00:41:48,880 --> 00:41:54,020 783 00:41:54,020 --> 00:41:55,510 Seberapa baik kita bisa lakukan terhadap ini? 784 00:41:55,510 --> 00:41:58,640 785 00:41:58,640 --> 00:42:02,790 >> Beberapa tahun yang lalu, Google telah proyek yang disebut 786 00:42:02,790 --> 00:42:12,030 DeepMind, di mana mereka dilatih komputer Program memainkan Atari 2600 game. 787 00:42:12,030 --> 00:42:16,120 Dan jika Anda berpikir ini tidak serius bisnis, hasil penelitian mereka 788 00:42:16,120 --> 00:42:19,920 diterbitkan di Nature, sehingga hanya tentang sebaik publikasi 789 00:42:19,920 --> 00:42:22,500 seperti yang Anda mungkin bisa mendapatkan. 790 00:42:22,500 --> 00:42:24,340 Dan inilah seberapa baik mereka tampil. 791 00:42:24,340 --> 00:42:29,220 >> Mereka memiliki algoritma yang duduk dan menyaksikan hanya input layar. 792 00:42:29,220 --> 00:42:34,080 Ini tidak punya petunjuk apapun tentang aturan permainan. 793 00:42:34,080 --> 00:42:42,610 Dan itu seharusnya mengetahui, berdasarkan nilai yang, seberapa baik yang dilakukannya. 794 00:42:42,610 --> 00:42:46,560 Ini adalah sistem yang digunakan sesuatu disebut pembelajaran penguatan. 795 00:42:46,560 --> 00:42:48,380 Artinya, itu tampak pada nilai-nya. 796 00:42:48,380 --> 00:42:51,620 Dan jika itu mendapat skor yang baik, katanya, Aku harus ingat hal-hal. 797 00:42:51,620 --> 00:42:53,310 Dan saya harus melakukan hal-lagi. 798 00:42:53,310 --> 00:42:56,450 Dan jika mendapat nilai buruk, katanya, Saya tidak harus melakukan hal-hal lagi. 799 00:42:56,450 --> 00:42:59,750 800 00:42:59,750 --> 00:43:03,430 >> Ini adalah kinerja dari sistem-sistem yang terlatih 801 00:43:03,430 --> 00:43:07,490 diizinkan untuk bermain untuk beberapa jam pada setiap pertandingan, 802 00:43:07,490 --> 00:43:12,490 dibandingkan dengan gamer profesional. 803 00:43:12,490 --> 00:43:19,670 Jadi untuk semua permainan yang ke sisi kiri baris ini, 804 00:43:19,670 --> 00:43:25,920 program komputer self-terlatih ini mengungguli gamer profesional. 805 00:43:25,920 --> 00:43:29,690 Dan untuk semuanya ke kanan, gamer profesional 806 00:43:29,690 --> 00:43:30,920 masih yang terbaik. 807 00:43:30,920 --> 00:43:34,040 808 00:43:34,040 --> 00:43:36,850 Untuk sesuatu yang tahu apa-apa tentang aturan, yang 809 00:43:36,850 --> 00:43:43,020 tahu apa-apa tentang struktur permainan, ini adalah kinerja yang mengesankan. 810 00:43:43,020 --> 00:43:45,660 Dan ini adalah apa yang kita mampu lakukan hari ini. 811 00:43:45,660 --> 00:43:50,239 >> OK, Anda katakan, tapi jika kita berpikir tentang AI di game, 812 00:43:50,239 --> 00:43:52,530 biasanya kita berpikir tentang hal-hal yang kita dapat benar-benar 813 00:43:52,530 --> 00:43:54,180 duduk dan bermain melawan. 814 00:43:54,180 --> 00:43:58,760 Jika saya duduk dan saya bermain StarCraft, atau saya bermain gratis Saringan, 815 00:43:58,760 --> 00:44:01,870 lawan komputer adalah orang mengendalikan Zerg, 816 00:44:01,870 --> 00:44:06,770 atau mengendalikan peradaban lainnya. 817 00:44:06,770 --> 00:44:11,920 Bagaimana para pemain benar-benar menemukan gerakan mereka? 818 00:44:11,920 --> 00:44:18,810 >> Nah, game ini terstruktur banyak cara yang sama seperti papan permainan kami, 819 00:44:18,810 --> 00:44:22,250 game ini yang kita akan kolektif memanggil empat pertandingan X, 820 00:44:22,250 --> 00:44:26,040 mengeksplorasi, expand-- lupa yang. 821 00:44:26,040 --> 00:44:26,980 Apakah mereka? 822 00:44:26,980 --> 00:44:32,150 Jelajahi, memperluas, dan memadamkan, Saya pikir adalah yang terakhir. 823 00:44:32,150 --> 00:44:36,060 Tapi mereka pada dasarnya eksplorasi dan menaklukkan game. 824 00:44:36,060 --> 00:44:41,020 Biasanya, lawan komputer ada memiliki informasi yang terbatas. 825 00:44:41,020 --> 00:44:45,486 Mereka tidak tahu persis apa yang terjadi di balik kabut perang. 826 00:44:45,486 --> 00:44:47,735 Mereka tidak bisa melihat apa yang Anda memiliki dalam persediaan Anda. 827 00:44:47,735 --> 00:44:50,240 828 00:44:50,240 --> 00:44:52,800 >> Ada lingkungan yang dinamis. 829 00:44:52,800 --> 00:44:56,180 Semuanya berubah sepanjang waktu. 830 00:44:56,180 --> 00:45:00,290 Anda tidak bisa duduk dan menunggu untuk mengambil langkah Anda. 831 00:45:00,290 --> 00:45:02,810 Tapi kebanyakan hal masih diskrit. 832 00:45:02,810 --> 00:45:04,200 Saya harus meletakkan kota saya di sini. 833 00:45:04,200 --> 00:45:06,750 Atau aku harus meletakkan kota saya di sini. 834 00:45:06,750 --> 00:45:08,950 Dan semuanya deterministik. 835 00:45:08,950 --> 00:45:14,660 Ketika saya mengatakan, memindahkan unit saya di sini, unit saya bergerak di sini, kecuali hambatan tiba-tiba 836 00:45:14,660 --> 00:45:17,700 datang ke dalam bermain. 837 00:45:17,700 --> 00:45:21,610 Sekarang, itu tidak semua komputer permainan yang di luar sana hari ini. 838 00:45:21,610 --> 00:45:27,320 >> Jika saya pergi dan saya bermain tipe orang pertama permainan, sesuatu seperti Thief atau Fallout 839 00:45:27,320 --> 00:45:33,350 atau Skyrim, atau Halo, sekarang Saya memiliki lawan komputer 840 00:45:33,350 --> 00:45:37,860 yang di luar sana yang memiliki situasi yang sangat berbeda. 841 00:45:37,860 --> 00:45:40,020 Mereka memiliki, lagi, informasi yang terbatas. 842 00:45:40,020 --> 00:45:43,420 Mereka hanya bisa melihat bidang tertentu pandang. 843 00:45:43,420 --> 00:45:45,180 Lingkungan masih dinamis. 844 00:45:45,180 --> 00:45:48,280 Hal-hal yang berubah sepanjang waktu. 845 00:45:48,280 --> 00:45:52,300 >> Tapi sekarang aku punya lebih banyak ruang tindakan terus menerus. 846 00:45:52,300 --> 00:45:57,170 Aku bisa saja mengintip sebuah sedikit keluar dari pintu. 847 00:45:57,170 --> 00:46:00,650 Dan beberapa permainan, saya tindakan yang stokastik. 848 00:46:00,650 --> 00:46:04,590 Aku bisa mencoba untuk melompati dinding itu, tapi aku punya kesempatan gagal. 849 00:46:04,590 --> 00:46:08,280 850 00:46:08,280 --> 00:46:14,550 Jenis permainan semakin dekat dan lebih dekat ke jenis kontroler 851 00:46:14,550 --> 00:46:17,330 yang kita bangun di robotika. 852 00:46:17,330 --> 00:46:21,050 >> Dalam robotika, kita harus mengasumsikan bahwa kita memiliki informasi terbatas. 853 00:46:21,050 --> 00:46:23,070 Kami memiliki sensor yang memberitahu kita tentang dunia. 854 00:46:23,070 --> 00:46:25,860 Kami memiliki selalu berubah, lingkungan yang dinamis. 855 00:46:25,860 --> 00:46:30,440 Kami memiliki sebuah dunia di mana ruang terus menerus, bukan diskrit. 856 00:46:30,440 --> 00:46:36,260 Dan tindakan kita, ketika kita mencoba mereka, memiliki kesempatan gagal. 857 00:46:36,260 --> 00:46:40,960 Dan pada kenyataannya, permainan modern controller untuk lawan Halo Anda, 858 00:46:40,960 --> 00:46:48,690 atau bagi mereka NPC di Skyrim, pada dasarnya menjalankan arsitektur robotika kecil. 859 00:46:48,690 --> 00:46:50,380 >> Mereka merasakan dunia. 860 00:46:50,380 --> 00:46:52,910 Mereka membangun sebuah model dunia. 861 00:46:52,910 --> 00:46:57,950 Mereka menghitung berdasarkan pada satu set tujuan yang mereka ingin capai. 862 00:46:57,950 --> 00:47:03,110 Mereka berencana tindakan berdasarkan pada apa yang mereka ketahui. 863 00:47:03,110 --> 00:47:07,940 Dan mereka adalah persis jenis yang sama sistem yang kita bangun dalam robotika. 864 00:47:07,940 --> 00:47:11,420 Jadi arsitektur ini, untuk membawa kembali ini bersama-sama, 865 00:47:11,420 --> 00:47:14,500 seringkali cukup sama. 866 00:47:14,500 --> 00:47:16,340 >> Jadi mari kita lihat apakah kita dapat melihat bahwa. 867 00:47:16,340 --> 00:47:19,210 Mari kita kembali ke kami tic-tac-toe contoh. 868 00:47:19,210 --> 00:47:22,690 Dan aku akan meminta beberapa saya post-docs untuk datang dan membantu saya. 869 00:47:22,690 --> 00:47:26,970 Jadi Chen Ming, dan Alessandro, dan Olivier, jika kalian akan datang. 870 00:47:26,970 --> 00:47:32,080 871 00:47:32,080 --> 00:47:35,440 Dan aku akan membutuhkan beberapa relawan 872 00:47:35,440 --> 00:47:37,590 >> OK, saya melihat tangan dengan benar ada di tengah. 873 00:47:37,590 --> 00:47:39,965 Biarkan aku mengambil satu lagi, seseorang lanjut di belakang mungkin. 874 00:47:39,965 --> 00:47:40,881 Baiklah, di sana. 875 00:47:40,881 --> 00:47:41,490 Ayo up. 876 00:47:41,490 --> 00:47:44,190 877 00:47:44,190 --> 00:47:45,335 Baiklah. 878 00:47:45,335 --> 00:47:49,490 Jadi mari kita berlindung yang turun. 879 00:47:49,490 --> 00:48:03,700 Dan jika kalian akan datang tepat kembali di sini bagi saya, fantastis. 880 00:48:03,700 --> 00:48:06,580 >> Jadi ini adalah sebuah robot yang disebut Baxter. 881 00:48:06,580 --> 00:48:10,880 Dan Baxter adalah robot itu adalah Platform komersial, dirancang 882 00:48:10,880 --> 00:48:13,030 oleh sebuah perusahaan bernama Rethink. 883 00:48:13,030 --> 00:48:16,580 Dan robot ini dirancang untuk manufaktur skala kecil. 884 00:48:16,580 --> 00:48:19,265 Tapi hari ini kita akan menggunakannya untuk bermain tic-tac-toe. 885 00:48:19,265 --> 00:48:21,930 886 00:48:21,930 --> 00:48:27,150 Sekarang, robot ini juga sesuatu yang relatif unik. 887 00:48:27,150 --> 00:48:32,950 Karena jika saya berdiri di mana saja dekat dengan otomatisasi pabrik standar 888 00:48:32,950 --> 00:48:39,580 sistem, saya akan sangat serius di bahaya terluka. 889 00:48:39,580 --> 00:48:45,600 >> Baxter, bagaimanapun, dirancang untuk menjadi relatif aman untuk berinteraksi dengan. 890 00:48:45,600 --> 00:48:48,680 Dan jadi saya bisa mendorong pada robot ini. 891 00:48:48,680 --> 00:48:52,350 Dan Anda dapat melihat itu sedikit bit fleksibel ketika bergerak di sekitar. 892 00:48:52,350 --> 00:48:57,250 Dan saya dapat reposisi itu di mana saya ingin untuk pergi. 893 00:48:57,250 --> 00:49:03,410 Sekarang dalam sistem robot normal, kita akan memiliki satu set sendi sini 894 00:49:03,410 --> 00:49:07,970 yang akan langsung merespon perintah posisi. 895 00:49:07,970 --> 00:49:13,180 Dan mereka tidak akan selalu peduli jika mereka bergerak melalui udara terbuka, 896 00:49:13,180 --> 00:49:15,555 atau jika mereka bergerak melalui tulang rusuk saya. 897 00:49:15,555 --> 00:49:18,410 898 00:49:18,410 --> 00:49:19,120 >> OKE. 899 00:49:19,120 --> 00:49:22,090 Dan biasanya, jika Anda di sini dengan sistem industri, 900 00:49:22,090 --> 00:49:23,400 Anda akan ke mana-mana dekat itu. 901 00:49:23,400 --> 00:49:26,280 Akan ada kuning pita pengaman di sekitar itu. 902 00:49:26,280 --> 00:49:28,310 Sistem ini memiliki desain yang sedikit berbeda 903 00:49:28,310 --> 00:49:32,130 menjadi ramah dan lebih mudah bagi orang-orang untuk berinteraksi dengan, 904 00:49:32,130 --> 00:49:36,380 di bahwa di setiap sendi, ada mata air. 905 00:49:36,380 --> 00:49:39,110 Dan bukannya mengendalikan posisi yang tepat, 906 00:49:39,110 --> 00:49:43,110 kita mengendalikan sejumlah torsi, sejumlah kekuatan, 907 00:49:43,110 --> 00:49:45,874 bahwa kami ingin berada di musim semi itu. 908 00:49:45,874 --> 00:49:47,790 Baiklah, jadi biar mengambil relawan kami di sini. 909 00:49:47,790 --> 00:49:48,540 Hai siapa namamu? 910 00:49:48,540 --> 00:49:49,010 >> AUDIENCE: Louis. 911 00:49:49,010 --> 00:49:49,635 >> SPEAKER: Louis. 912 00:49:49,635 --> 00:49:50,490 Senang bertemu Anda. 913 00:49:50,490 --> 00:49:50,990 Dan? 914 00:49:50,990 --> 00:49:51,610 >> AUDIENCE: David. 915 00:49:51,610 --> 00:49:51,960 >> SPEAKER: David. 916 00:49:51,960 --> 00:49:52,550 Senang berjumpa dengan mu. 917 00:49:52,550 --> 00:49:54,508 Jika kalian akan menunggu di sini untuk kedua, 918 00:49:54,508 --> 00:49:56,420 Aku akan memberikan Anda kesempatan untuk melakukan hal ini. 919 00:49:56,420 --> 00:50:00,610 Jadi robot ini, jika Anda datang dan jika Anda mendorong lembut di atasnya, 920 00:50:00,610 --> 00:50:03,780 Anda akan melihat bahwa bergerak sedikit. 921 00:50:03,780 --> 00:50:06,349 Dan jika Anda ambil benar di sini di pergelangan tangan hanya 922 00:50:06,349 --> 00:50:09,390 di atas di mana tombol-tombol yang, itu Sepertinya Anda harus mengambil tombol, 923 00:50:09,390 --> 00:50:13,100 tapi ambil tepat di atas itu sebagai gantinya, Anda akan dapat sangat lembut memanipulasi 924 00:50:13,100 --> 00:50:14,545 melalui ruang. 925 00:50:14,545 --> 00:50:15,920 Louis, Anda ingin mencobanya? 926 00:50:15,920 --> 00:50:19,465 Jadi memberikan hanya sedikit mendorong untuk memulai dengan. 927 00:50:19,465 --> 00:50:23,190 Dan kemudian jika Anda menempatkan jari Anda di sana dan terus ke itu, 928 00:50:23,190 --> 00:50:24,807 karena akan bergerak untuk Anda kemudian. 929 00:50:24,807 --> 00:50:27,824 930 00:50:27,824 --> 00:50:29,365 Baiklah, Anda ingin mencobanya? 931 00:50:29,365 --> 00:50:29,980 Ayo up. 932 00:50:29,980 --> 00:50:32,300 Jadi memberikan hanya lembut mendorong ada untuk memulai. 933 00:50:32,300 --> 00:50:33,820 Anda bisa merasakan seperti apa rasanya. 934 00:50:33,820 --> 00:50:40,060 Dan kemudian jika Anda ambil di sana, Anda akan dapat melakukan manuver di sekitar. 935 00:50:40,060 --> 00:50:41,280 >> OKE. 936 00:50:41,280 --> 00:50:47,360 Jadi biasanya, jenis ini robot akan digunakan untuk pembuatan skala kecil. 937 00:50:47,360 --> 00:50:50,980 Dan aku akan menggerakkan lengan ini hanya turun dari jalan sedikit di sini. 938 00:50:50,980 --> 00:50:55,750 Tapi hari ini, kita akan menggunakan Sistem bermain tic-tac-toe yang sama 939 00:50:55,750 --> 00:50:59,520 berdasarkan minimax yang kita dibangun sebelumnya. 940 00:50:59,520 --> 00:51:00,549 OKE? 941 00:51:00,549 --> 00:51:02,340 Jadi, kalian masing-masing akan memainkan game. 942 00:51:02,340 --> 00:51:04,210 Louis, Anda akan menjadi yang pertama. 943 00:51:04,210 --> 00:51:05,920 Biarkan aku hanya terus di sini untuk kedua. 944 00:51:05,920 --> 00:51:10,949 Aku akan memiliki Anda berdiri tepat di sini, hanya sehingga semua orang dapat melihat Anda. 945 00:51:10,949 --> 00:51:11,990 Apakah kalian mengatur di sini? 946 00:51:11,990 --> 00:51:13,120 >> ROBOT: Selamat Datang. 947 00:51:13,120 --> 00:51:15,910 Mari kita bermain tic-tac-toe. 948 00:51:15,910 --> 00:51:20,860 Jangan pegang token Anda sebelum Saya mengatakan bahwa itu adalah giliran Anda. 949 00:51:20,860 --> 00:51:22,050 Saya memulai permainan. 950 00:51:22,050 --> 00:51:27,900 951 00:51:27,900 --> 00:51:28,750 Ini adalah giliran saya. 952 00:51:28,750 --> 00:51:47,002 953 00:51:47,002 --> 00:51:50,210 SPEAKER: Sekarang, jika Anda bisa mengambil salah satu dari potongan dan pergi ke depan dan tempatkan. 954 00:51:50,210 --> 00:51:51,446 ROBOT: Ini adalah giliran Anda. 955 00:51:51,446 --> 00:51:53,430 [TAWA] 956 00:51:53,430 --> 00:51:54,836 Ini adalah giliran saya. 957 00:51:54,836 --> 00:51:56,820 [TAWA] 958 00:51:56,820 --> 00:52:12,196 959 00:52:12,196 --> 00:52:15,680 [TAWA] 960 00:52:15,680 --> 00:52:16,570 Giliran Anda. 961 00:52:16,570 --> 00:52:21,397 962 00:52:21,397 --> 00:52:23,688 SPEAKER: Umat manusia adalah mengandalkan Anda di sini, Louis. 963 00:52:23,688 --> 00:52:27,440 964 00:52:27,440 --> 00:52:28,350 >> ROBOT: Ini adalah giliran saya. 965 00:52:28,350 --> 00:52:44,810 966 00:52:44,810 --> 00:52:47,015 >> SPEAKER: Jadi Baxter berhasil diblok di sini. 967 00:52:47,015 --> 00:52:49,670 968 00:52:49,670 --> 00:52:52,480 >> ROBOT: Ini adalah giliran Anda. 969 00:52:52,480 --> 00:52:53,360 Ini adalah giliran saya. 970 00:52:53,360 --> 00:53:14,730 971 00:53:14,730 --> 00:53:16,810 Giliran Anda. 972 00:53:16,810 --> 00:53:17,760 Ini adalah giliran saya. 973 00:53:17,760 --> 00:53:21,330 974 00:53:21,330 --> 00:53:23,830 SPEAKER: Dan kami akan membiarkan Baxter menyelesaikan keluar bergerak terakhirnya di sini. 975 00:53:23,830 --> 00:53:36,622 976 00:53:36,622 --> 00:53:39,090 >> [TAWA] 977 00:53:39,090 --> 00:53:40,480 >> ROBOT: Itu dasi. 978 00:53:40,480 --> 00:53:42,030 Saya akan menang kali. 979 00:53:42,030 --> 00:53:43,365 >> [TAWA] 980 00:53:43,365 --> 00:53:45,210 >> SPEAKER: Baiklah, terima kasih banyak, Louis. 981 00:53:45,210 --> 00:53:46,094 Terima kasih. 982 00:53:46,094 --> 00:53:46,980 Anda dapat pergi dengan cara ini. 983 00:53:46,980 --> 00:53:49,759 >> ROBOT: Saya memulai permainan. 984 00:53:49,759 --> 00:53:51,800 SPEAKER: Jadi mari saya jelaskan Anda satu lagi sedikit 985 00:53:51,800 --> 00:53:55,410 bit sebelum kita mendapatkan pertandingan ulang kami di sini. 986 00:53:55,410 --> 00:53:57,200 Apa sebenarnya yang terjadi? 987 00:53:57,200 --> 00:53:59,430 Jadi robot memiliki kamera di bagian atas sini. 988 00:53:59,430 --> 00:54:01,330 Dan itu melihat ke bawah di papan. 989 00:54:01,330 --> 00:54:04,470 Dan itu melihat apakah itu punya O merah atau biru 990 00:54:04,470 --> 00:54:10,450 dan X. putih Seperti yang bisa ditempatkan pada papan, yang pada dasarnya input yang sama 991 00:54:10,450 --> 00:54:13,890 bahwa kita akan membaca di dari struktur data kami dari layar kami. 992 00:54:13,890 --> 00:54:17,290 Itu berjalan sama algoritma minimax menjadi 993 00:54:17,290 --> 00:54:21,010 mampu menemukan tempat untuk menempatkan tanda yang baik. 994 00:54:21,010 --> 00:54:24,820 >> Dan kemudian kami memberikan perintah tentang di mana kami ingin token untuk ditempatkan. 995 00:54:24,820 --> 00:54:26,120 Lengan bergerak keluar. 996 00:54:26,120 --> 00:54:31,750 Ini menggunakan gripper vakum untuk menerapkan beberapa hisap untuk sepotong kayu, 997 00:54:31,750 --> 00:54:35,240 mengambilnya, memindahkannya ke kanan tempat, dan kemudian melepaskan hisap 998 00:54:35,240 --> 00:54:36,950 dan menjatuhkannya. 999 00:54:36,950 --> 00:54:38,990 Baiklah, kita akan untuk memberikan satu tembakan lebih 1000 00:54:38,990 --> 00:54:40,930 dengan sedikit lebih pintar pemain di sini. 1001 00:54:40,930 --> 00:54:42,290 Anda siap? 1002 00:54:42,290 --> 00:54:46,150 Baiklah, jika Anda akan berdiri di atas di sini dan memberikan a-- jadi begini 1003 00:54:46,150 --> 00:54:47,955 sehingga Anda dapat melihat semua orang. 1004 00:54:47,955 --> 00:54:48,830 Dan kemudian [tidak terdengar]. 1005 00:54:48,830 --> 00:54:49,330 >> ROBOT: Ini adalah giliran saya. 1006 00:54:49,330 --> 00:54:50,455 >> SPEAKER: Baxter akan mulai. 1007 00:54:50,455 --> 00:55:10,750 1008 00:55:10,750 --> 00:55:11,730 Giliran Anda. 1009 00:55:11,730 --> 00:55:16,490 1010 00:55:16,490 --> 00:55:17,520 Ini adalah giliran saya. 1011 00:55:17,520 --> 00:55:38,740 1012 00:55:38,740 --> 00:55:39,690 Giliran Anda. 1013 00:55:39,690 --> 00:55:46,330 1014 00:55:46,330 --> 00:55:47,165 Ini adalah giliran saya. 1015 00:55:47,165 --> 00:56:01,252 1016 00:56:01,252 --> 00:56:06,192 >> [TAWA] 1017 00:56:06,192 --> 00:56:08,542 >> SPEAKER: [Berbisik] Hanya biarkan dia pergi ke depan dan menang. 1018 00:56:08,542 --> 00:56:09,500 ROBOT: Ini adalah giliran Anda. 1019 00:56:09,500 --> 00:56:15,099 1020 00:56:15,099 --> 00:56:15,890 SPEAKER: Itu OK. 1021 00:56:15,890 --> 00:56:20,390 1022 00:56:20,390 --> 00:56:21,360 >> ROBOT: Ini adalah giliran saya. 1023 00:56:21,360 --> 00:56:24,825 1024 00:56:24,825 --> 00:56:26,805 >> [TAWA] 1025 00:56:26,805 --> 00:56:42,650 1026 00:56:42,650 --> 00:56:43,510 >> Aku menang. 1027 00:56:43,510 --> 00:56:45,620 >> [TAWA] 1028 00:56:45,620 --> 00:56:46,595 >> Saya memulai permainan. 1029 00:56:46,595 --> 00:56:48,261 >> SPEAKER: Baiklah, terima kasih banyak. 1030 00:56:48,261 --> 00:56:50,180 1031 00:56:50,180 --> 00:56:55,590 Baiklah, saya pikir kami punya waktu untuk satu lagi yang sangat baik pemain tic-tac-toe, 1032 00:56:55,590 --> 00:57:00,490 seseorang yang dapat menempatkan hal ini untuk cocok, siapa yang tahu apa yang mereka lakukan. 1033 00:57:00,490 --> 00:57:03,010 >> [TAWA] 1034 00:57:03,010 --> 00:57:05,560 >> Siapa yang akan menjadi juara di sini? 1035 00:57:05,560 --> 00:57:08,110 Baiklah, teman sukarela Anda. 1036 00:57:08,110 --> 00:57:11,190 Itu cukup baik bagi saya. 1037 00:57:11,190 --> 00:57:12,194 Katakan padaku nama Anda lagi. 1038 00:57:12,194 --> 00:57:12,860 AUDIENCE: Tamir. 1039 00:57:12,860 --> 00:57:14,193 SPEAKER: Tamir, bagus untuk melihat Anda. 1040 00:57:14,193 --> 00:57:19,270 Baiklah, sekali lagi, kita akan menempatkan Anda sampai di sini sehingga semua orang dapat melihat Anda. 1041 00:57:19,270 --> 00:57:22,070 Anda perwakilan kami di pertandingan ini sekarang. 1042 00:57:22,070 --> 00:57:24,540 Baxter adalah satu dan oh dan oh. 1043 00:57:24,540 --> 00:57:26,300 Atau menyesal, satu oh dan satu. 1044 00:57:26,300 --> 00:57:27,490 Dan terserah kepada Anda di sini. 1045 00:57:27,490 --> 00:57:29,340 Baxter akan mendapatkan bergerak dulu. 1046 00:57:29,340 --> 00:57:30,435 Begitu. 1047 00:57:30,435 --> 00:57:31,310 ROBOT: Ini adalah giliran saya. 1048 00:57:31,310 --> 00:57:45,226 1049 00:57:45,226 --> 00:57:48,208 >> [TAWA] 1050 00:57:48,208 --> 00:57:52,720 1051 00:57:52,720 --> 00:57:55,780 >> Giliran Anda. 1052 00:57:55,780 --> 00:57:56,845 Ini adalah giliran saya. 1053 00:57:56,845 --> 00:58:18,130 1054 00:58:18,130 --> 00:58:18,965 Giliran Anda. 1055 00:58:18,965 --> 00:58:28,751 1056 00:58:28,751 --> 00:58:30,248 Ini adalah giliran saya. 1057 00:58:30,248 --> 00:58:51,210 1058 00:58:51,210 --> 00:58:52,160 Giliran Anda. 1059 00:58:52,160 --> 00:59:00,854 1060 00:59:00,854 --> 00:59:03,365 >> [TAWA] 1061 00:59:03,365 --> 00:59:04,240 ROBOT: Ini adalah giliran saya. 1062 00:59:04,240 --> 00:59:06,930 SPEAKER: Ini jauh lebih sulit ketika Anda berdiri di sini, orang-orang. 1063 00:59:06,930 --> 00:59:19,400 1064 00:59:19,400 --> 00:59:21,840 [TAWA] 1065 00:59:21,840 --> 00:59:26,730 1066 00:59:26,730 --> 00:59:29,054 ROBOT: Anda manusia begitu mudah untuk mengalahkan. 1067 00:59:29,054 --> 00:59:30,803 [Tertawa DAN Tepuk Tangan] 1068 00:59:30,803 --> 00:59:31,886 SPEAKER: Terima kasih banyak. 1069 00:59:31,886 --> 00:59:34,692 ROBOT: saya menang. 1070 00:59:34,692 --> 00:59:35,400 Saya memulai permainan. 1071 00:59:35,400 --> 00:59:39,500 >> SPEAKER: Baiklah, jadi terima kasih sangat banyak untuk Olivier, dan Alessandro, 1072 00:59:39,500 --> 00:59:41,616 dan Chen Ming. 1073 00:59:41,616 --> 00:59:45,600 >> [TEPUK TANGAN] 1074 00:59:45,600 --> 00:59:47,040 >> Saya ingin membuat satu titik terakhir. 1075 00:59:47,040 --> 00:59:51,630 Jadi Baxter di sangat berakhir di sana, ditipu. 1076 00:59:51,630 --> 00:59:54,160 1077 00:59:54,160 --> 00:59:56,310 Dan yang tak terduga. 1078 00:59:56,310 --> 01:00:00,440 Salah satu fantastis hal tentang AI adalah kita bahwa 1079 01:00:00,440 --> 01:00:05,070 melakukan pekerjaan di AI sehingga kita dapat membangun benar-benar menarik dan cerdas 1080 01:00:05,070 --> 01:00:06,930 perangkat. 1081 01:00:06,930 --> 01:00:10,130 Tapi kami juga melakukan pekerjaan di AI karena memberitahu kita sesuatu 1082 01:00:10,130 --> 01:00:13,940 tentang bagaimana manusia cerdas. 1083 01:00:13,940 --> 01:00:17,280 >> Salah satu favorit Studi dari laboratorium saya adalah 1084 01:00:17,280 --> 01:00:23,660 melihat apa yang terjadi ketika mesin tiba-tiba menipu. 1085 01:00:23,660 --> 01:00:27,070 Kami melakukan ini awalnya tidak dengan Baxter bermain tic-tac-toe, 1086 01:00:27,070 --> 01:00:30,340 tapi dengan robot kecil bernama Nao, yang bermain batu-kertas-gunting. 1087 01:00:30,340 --> 01:00:33,010 1088 01:00:33,010 --> 01:00:35,800 Dan kadang-kadang setelah bermain banyak dan banyak 1089 01:00:35,800 --> 01:00:41,580 membosankan batu-kertas-gunting game, robot akan melemparkan isyarat, 1090 01:00:41,580 --> 01:00:48,616 kalah, dan kemudian tiba-tiba berubah sikap dan mengatakan, saya menang. 1091 01:00:48,616 --> 01:00:50,480 >> [TAWA] 1092 01:00:50,480 --> 01:00:56,090 >> Sekarang, kadang-kadang kita juga harus robot, hanya sebagai kontrol, melempar isyarat, 1093 01:00:56,090 --> 01:01:01,270 menang, dan mengubah sikap nya kehilangan, membuang pertandingan, 1094 01:01:01,270 --> 01:01:04,070 menipu untuk kalah. 1095 01:01:04,070 --> 01:01:07,540 Dan itu hampir tidak menarik. 1096 01:01:07,540 --> 01:01:09,890 Robot yang menipu dalam rangka untuk memenangkan orang 1097 01:01:09,890 --> 01:01:14,660 menanggapi seolah-olah itu adalah untuk mendapatkan mereka, seperti itu 1098 01:01:14,660 --> 01:01:17,690 secara aktif mencari kehancuran mereka. 1099 01:01:17,690 --> 01:01:19,210 >> [TAWA] 1100 01:01:19,210 --> 01:01:20,990 >> Ini menjadi agen. 1101 01:01:20,990 --> 01:01:21,840 Hal ini seperti seseorang. 1102 01:01:21,840 --> 01:01:23,970 Memiliki keyakinan dan niat. 1103 01:01:23,970 --> 01:01:27,470 Dan itu bukan niat baik. 1104 01:01:27,470 --> 01:01:33,790 Dan robot yang melempar permainan yang hanya rusak. 1105 01:01:33,790 --> 01:01:36,990 Ini hanya sebuah perangkat yang rusak. 1106 01:01:36,990 --> 01:01:41,405 Mari saya tunjukkan beberapa contoh itu dari beberapa peserta kami. 1107 01:01:41,405 --> 01:01:43,990 1108 01:01:43,990 --> 01:01:45,600 Jadi, inilah kecurangan untuk kalah. 1109 01:01:45,600 --> 01:01:46,266 >> [VIDEO PLAYBACK] 1110 01:01:46,266 --> 01:01:47,010 - [Tak terdengar] menang. 1111 01:01:47,010 --> 01:01:49,550 Ayo mulai. 1112 01:01:49,550 --> 01:01:50,538 >> -Tunggu apa? 1113 01:01:50,538 --> 01:01:54,490 1114 01:01:54,490 --> 01:01:55,352 >> - [Tak terdengar] menang. 1115 01:01:55,352 --> 01:01:58,280 Ayo mulai. 1116 01:01:58,280 --> 01:01:59,400 >> [Tak terdengar] menang. 1117 01:01:59,400 --> 01:02:02,290 Ayo mulai. 1118 01:02:02,290 --> 01:02:05,490 >> SPEAKER: Dan di sini curang untuk menang. 1119 01:02:05,490 --> 01:02:06,438 >> -Ya, Saya menang. 1120 01:02:06,438 --> 01:02:07,394 Ayo mulai. 1121 01:02:07,394 --> 01:02:08,828 >> -Anda Tidak bisa melakukan itu. 1122 01:02:08,828 --> 01:02:10,740 >> [TAWA] 1123 01:02:10,740 --> 01:02:12,174 1124 01:02:12,174 --> 01:02:13,979 >> -Ya, Saya menang. 1125 01:02:13,979 --> 01:02:14,520 -Kamu curang. 1126 01:02:14,520 --> 01:02:17,990 1127 01:02:17,990 --> 01:02:20,010 Anda ditipu sekarang. 1128 01:02:20,010 --> 01:02:21,140 >> -Ya, Saya menang. 1129 01:02:21,140 --> 01:02:22,940 >> Hei, Anda cheater. 1130 01:02:22,940 --> 01:02:26,670 Anda menipu, super cheat. 1131 01:02:26,670 --> 01:02:27,650 >> [END PLAYBACK] 1132 01:02:27,650 --> 01:02:31,130 >> SPEAKER: berbeda ini reaksi cepat 1133 01:02:31,130 --> 01:02:34,890 mengubah persepsi kita tentang perangkat. 1134 01:02:34,890 --> 01:02:36,780 Apakah itu berarti bahwa kami sengaja membangun 1135 01:02:36,780 --> 01:02:40,370 mesin yang menipu karena itulah rekayasa terbaik yang dapat kita lakukan? 1136 01:02:40,370 --> 01:02:44,680 Tidak, tetapi mengatakan sesuatu benar-benar menarik tentang orang-orang. 1137 01:02:44,680 --> 01:02:49,710 Hal itu yang menipu Anda dan mencuri kemenangan Anda, itu 1138 01:02:49,710 --> 01:02:53,660 sesuatu yang hidup, yang bernyawa, yang keluar untuk mendapatkan Anda. 1139 01:02:53,660 --> 01:02:54,680 Ini memiliki kondisi mental. 1140 01:02:54,680 --> 01:02:55,400 Memiliki keyakinan. 1141 01:02:55,400 --> 01:02:57,170 Ini memiliki niat. 1142 01:02:57,170 --> 01:03:01,540 >> Hal itu yang tangan yang permainan untuk Anda, itu tidak. 1143 01:03:01,540 --> 01:03:04,670 Itu hanya rusak. 1144 01:03:04,670 --> 01:03:08,900 Hal ini dalam banyak hal mengapa mudah untuk membuang permainan dengan anak-anak. 1145 01:03:08,900 --> 01:03:12,050 Tetapi jika Anda mencoba untuk menipu mereka dan semacam mengklaim kemenangan 1146 01:03:12,050 --> 01:03:15,200 saat, Anda tahu, hanya untuk mempersingkat permainan, mereka akan menangkap Anda segera. 1147 01:03:15,200 --> 01:03:19,040 1148 01:03:19,040 --> 01:03:23,140 Jenis-jenis efek yang kita lihat keluar dari AI, 1149 01:03:23,140 --> 01:03:26,490 mereka mengajarkan kita banyak tentang diri kita sendiri. 1150 01:03:26,490 --> 01:03:28,076 >> Baiklah, itu saja untuk hari ini. 1151 01:03:28,076 --> 01:03:30,450 Terima kasih banyak untuk David dan tim produksi Harvard 1152 01:03:30,450 --> 01:03:32,350 untuk turun. 1153 01:03:32,350 --> 01:03:33,820 >> [TEPUK TANGAN] 1154 01:03:33,820 --> 01:03:36,760 1155 01:03:36,760 --> 01:03:41,840 >> Kami akan melihat Anda untuk kuis satu, dan kemudian untuk satu pesan terakhir. 1156 01:03:41,840 --> 01:03:43,025 Semoga hari Anda menyenangkan. 1157 01:03:43,025 --> 01:03:44,965 >> [TEPUK TANGAN] 1158 01:03:44,965 --> 01:03:48,360 1159 01:03:48,360 --> 01:03:51,825 >> [MUSIC PLAYING] 1160 01:03:51,825 --> 01:03:54,950 DAVID J Malan: Yah, kita mungkin perlu untuk memperkenalkan beberapa jenis enkripsi, 1161 01:03:54,950 --> 01:03:55,450 kanan? 1162 01:03:55,450 --> 01:03:58,650 Karena maka header permintaan HTTP ini akan 1163 01:03:58,650 --> 01:04:01,530 orak sehingga siapa pun mencoba untuk mengendus lalu lintas Anda 1164 01:04:01,530 --> 01:04:03,400 tidak akan benar-benar dapat melihat mereka. 1165 01:04:03,400 --> 01:04:05,254 Jadi apa solusi untuk masalah ini? 1166 01:04:05,254 --> 01:04:07,920 Nah, kita harus benar-benar memperkenalkan enkripsi ke dalam rumus, 1167 01:04:07,920 --> 01:04:11,010 sehingga ketika orang itu adalah transmisi data dari A ke B, 1168 01:04:11,010 --> 01:04:12,390 kita bisa aman send-- 1169 01:04:12,390 --> 01:04:14,590 >> [TAWA] 1170 01:04:14,590 --> 01:04:19,530 >> Informasi dengan cara yang musuh tidak dapat, pada kenyataannya, melihatnya.