1 00:00:00,000 --> 00:00:01,924 >> [音樂播放] 2 00:00:01,924 --> 00:00:10,600 3 00:00:10,600 --> 00:00:13,280 >> 演講嘉賓:歡迎回來,大家好。 4 00:00:13,280 --> 00:00:15,440 這是CS50。 5 00:00:15,440 --> 00:00:21,040 而今天,我們有很多的 有趣的東西可談。 6 00:00:21,040 --> 00:00:25,500 不過,首先我要提醒 你的一些管理的事情。 7 00:00:25,500 --> 00:00:30,160 本週是測驗之一,星期三 或為耶魯部 8 00:00:30,160 --> 00:00:32,940 在週二和週四,週四。 9 00:00:32,940 --> 00:00:38,170 有測驗點評 今晚在耶魯大學,下午5:30到7:00。 10 00:00:38,170 --> 00:00:40,030 在哈佛,他們1昨天錄製。 11 00:00:40,030 --> 00:00:43,000 每個人都可以觀看,網上。 12 00:00:43,000 --> 00:00:49,406 >> 此外,本週末或下週初, 我們有我們的最後CS50講座。 13 00:00:49,406 --> 00:00:51,450 [呻吟]我知道。 14 00:00:51,450 --> 00:00:54,140 它來了這麼快。 15 00:00:54,140 --> 00:00:57,820 耶魯大學的學生將有一個活 講座在這裡的法學院 16 00:00:57,820 --> 00:00:59,920 觀眾席上週五。 17 00:00:59,920 --> 00:01:01,140 會有蛋糕。 18 00:01:01,140 --> 00:01:05,570 哈佛的學生將有 桑德斯在最後一節課,週一。 19 00:01:05,570 --> 00:01:08,050 也會有蛋糕。 20 00:01:08,050 --> 00:01:14,000 >> 此外,本週上週五,對於那些 你們誰是來紐黑文, 21 00:01:14,000 --> 00:01:15,740 我們有CS50世博會。 22 00:01:15,740 --> 00:01:18,850 我們有超過30 不同的組註冊 23 00:01:18,850 --> 00:01:22,530 告訴你一切 從自主帆船, 24 00:01:22,530 --> 00:01:27,170 該識別系統 數碼人像,計算機 25 00:01:27,170 --> 00:01:32,100 音樂和電腦製作音樂。 26 00:01:32,100 --> 00:01:33,610 所以,請加入我們的行列。 27 00:01:33,610 --> 00:01:36,460 我認為這將是一個偉大的時刻。 28 00:01:36,460 --> 00:01:40,320 >> 但是,今天我們去 繼續談論AI, 29 00:01:40,320 --> 00:01:43,150 關於人工智能。 30 00:01:43,150 --> 00:01:46,070 和的事情之一 我們要拿到今天 31 00:01:46,070 --> 00:01:51,750 是如何的想法 使用人工智能來解決問題。 32 00:01:51,750 --> 00:01:54,690 現在,一如既往,讓我們開始 簡單的東西。 33 00:01:54,690 --> 00:01:57,120 我們要開始 一個簡單的想法。 34 00:01:57,120 --> 00:01:59,920 這就是使用搜索。 35 00:01:59,920 --> 00:02:06,990 >> 所以,想像一分鐘,我 有我需要執行的任務。 36 00:02:06,990 --> 00:02:11,970 我想有該任務 通過一些軟件代理的自動化。 37 00:02:11,970 --> 00:02:17,100 想像一下,我想訂一套 從航班,讓我們說,波士頓 38 00:02:17,100 --> 00:02:20,040 到舊金山。 39 00:02:20,040 --> 00:02:24,230 我可以通過我可以使用 精彩的在線搜索之一 40 00:02:24,230 --> 00:02:28,790 工具,這是要幹什麼 基本相同的過程,我們是 41 00:02:28,790 --> 00:02:30,030 要穿行今天。 42 00:02:30,030 --> 00:02:34,100 但是,如果你沒有這種 工具,你會怎麼辦? 43 00:02:34,100 --> 00:02:37,570 >> 好了,你可以看看和 看,說,我在波士頓。 44 00:02:37,570 --> 00:02:41,520 哪些航班可以給我嗎? 45 00:02:41,520 --> 00:02:44,390 現在,也許我有三個 可能的航班從波士頓 46 00:02:44,390 --> 00:02:47,180 將適合的時間 當我需要離開。 47 00:02:47,180 --> 00:02:48,830 我能飛芝加哥。 48 00:02:48,830 --> 00:02:50,130 或者,我可以飛到邁阿密。 49 00:02:50,130 --> 00:02:53,340 或者,我可以飛到紐約。 50 00:02:53,340 --> 00:02:56,980 然後,我可以看看每個 這些目的地城市之一 51 00:02:56,980 --> 00:03:00,650 想想什麼位置 我可能達到 52 00:03:00,650 --> 00:03:03,020 從每次個別城市。 53 00:03:03,020 --> 00:03:07,390 >> 因此,也許從芝加哥,我可以得到 直飛舊金山。 54 00:03:07,390 --> 00:03:09,550 這是非常好的。 55 00:03:09,550 --> 00:03:12,360 或者,我可以得到一個飛往丹佛的航班。 56 00:03:12,360 --> 00:03:16,970 現在,也許該航班到舊金山 是一個完美的解決方案,對我來說, 57 00:03:16,970 --> 00:03:19,530 但也許不會。 58 00:03:19,530 --> 00:03:22,180 也許我尋找的東西 這是一個有點便宜 59 00:03:22,180 --> 00:03:24,920 或者我的日程表更好一點。 60 00:03:24,920 --> 00:03:29,197 因此,我可以尋找其他什麼 可能性可能是在那裡。 61 00:03:29,197 --> 00:03:30,280 所以,我可以看看丹佛。 62 00:03:30,280 --> 00:03:33,870 而從丹佛,好吧,也許 我可以得到一個飛行奧斯汀。 63 00:03:33,870 --> 00:03:37,080 而從奧斯汀,也許我可以得到一個 飛往鳳凰城,從鳳凰城 64 00:03:37,080 --> 00:03:40,190 到舊金山。 65 00:03:40,190 --> 00:03:42,730 現在,我還沒有完成。 66 00:03:42,730 --> 00:03:45,640 因為也許有一個 從紐約直達航班 67 00:03:45,640 --> 00:03:47,850 到舊金山,非常適合我。 68 00:03:47,850 --> 00:03:53,354 或者,也許有來自邁阿密的航班 通過丹佛,這是一個便宜很多。 69 00:03:53,354 --> 00:03:54,270 所以,我還是得去。 70 00:03:54,270 --> 00:03:58,200 我仍然要看看所有這些 我還沒有進行調查的城市。 71 00:03:58,200 --> 00:04:04,220 我要徹底檢查所有的 我可能有機會。 72 00:04:04,220 --> 00:04:09,610 >> 因此,從紐約,也許我可以得到一個 飛往納什維爾,並從納什維爾 73 00:04:09,610 --> 00:04:10,336 奧斯汀。 74 00:04:10,336 --> 00:04:11,460 然後,我知道我在哪裡。 75 00:04:11,460 --> 00:04:14,252 然後我知道,從奧斯汀,我可以 飛往鳳凰城,從鳳凰城 76 00:04:14,252 --> 00:04:14,960 到舊金山。 77 00:04:14,960 --> 00:04:18,240 78 00:04:18,240 --> 00:04:22,830 如果我先飛到邁阿密,不過, 也許我可以從邁阿密的航班 79 00:04:22,830 --> 00:04:25,080 納什維爾,或從邁阿密到奧斯汀。 80 00:04:25,080 --> 00:04:27,950 81 00:04:27,950 --> 00:04:30,860 >> 現在我已經嘗試了所有 的可能性。 82 00:04:30,860 --> 00:04:36,310 我已經建立了這個圖, 我顯示了所有可能的途徑 83 00:04:36,310 --> 00:04:37,790 我也許可以採取。 84 00:04:37,790 --> 00:04:40,510 85 00:04:40,510 --> 00:04:43,640 當我們表示這些 那樣的問題, 86 00:04:43,640 --> 00:04:47,870 我們不會代表 他們明確地為這個圖, 87 00:04:47,870 --> 00:04:51,590 因為該圖沒有表示 在這裡,我們已經走了的歷史。 88 00:04:51,590 --> 00:04:55,260 知道我的飛 鳳凰城到舊金山 89 00:04:55,260 --> 00:05:01,690 不告訴我,我是否通過來 納什維爾,或通過丹佛,或通過邁阿密。 90 00:05:01,690 --> 00:05:06,430 >> 因此,我會做的是 我要這個同樣的問題, 91 00:05:06,430 --> 00:05:09,140 我將它表示為一棵樹。 92 00:05:09,140 --> 00:05:14,300 並在樹的根,在 頂,我會把我開始的地方, 93 00:05:14,300 --> 00:05:16,590 波士頓。 94 00:05:16,590 --> 00:05:19,310 並在波士頓,我將看看 所有的可能位置 95 00:05:19,310 --> 00:05:20,380 我可以前往。 96 00:05:20,380 --> 00:05:25,480 那麼,在這種情況下,我有三個, 芝加哥,紐約和邁阿密。 97 00:05:25,480 --> 00:05:29,850 然後,我將探討各 這些孩子在樹上。 98 00:05:29,850 --> 00:05:32,690 >> 從芝加哥,我看到了 我有兩個航班。 99 00:05:32,690 --> 00:05:35,940 我可以直接飛到 舊金山或丹佛。 100 00:05:35,940 --> 00:05:37,740 現在舊金山,這就是我的目標。 101 00:05:37,740 --> 00:05:39,790 這是我的目標。 102 00:05:39,790 --> 00:05:42,220 這將是這棵樹的葉子。 103 00:05:42,220 --> 00:05:45,340 也就是說,我永遠不會去 舊金山後的地方。 104 00:05:45,340 --> 00:05:47,850 105 00:05:47,850 --> 00:05:50,340 從丹佛,不過, 我可以從丹佛飛 106 00:05:50,340 --> 00:05:54,220 奧斯汀,奧斯汀鳳凰, 從鳳凰城到舊金山。 107 00:05:54,220 --> 00:05:56,050 而現在再說一次,我已經到了一個葉。 108 00:05:56,050 --> 00:05:59,470 109 00:05:59,470 --> 00:06:03,980 >> 我可以再回到下一個 城市,我還沒有充分開發。 110 00:06:03,980 --> 00:06:07,440 這將是紐約,去 備份到我的樹的頂端, 111 00:06:07,440 --> 00:06:09,160 下來到紐約。 112 00:06:09,160 --> 00:06:12,700 從紐約,我可以飛 納什維爾,從納什維爾到奧斯汀, 113 00:06:12,700 --> 00:06:17,290 從奧斯汀到鳳凰,和 從鳳凰城到舊金山。 114 00:06:17,290 --> 00:06:20,170 最後,一個城市我 還沒有看呢,邁阿密。 115 00:06:20,170 --> 00:06:24,600 >> 那麼,從邁阿密我說我有兩個 可能性,納什維爾和奧斯汀。 116 00:06:24,600 --> 00:06:28,810 如果我飛到納什維爾,那麼好吧我飛 從納什維爾,奧斯汀,鳳凰, 117 00:06:28,810 --> 00:06:29,640 到舊金山。 118 00:06:29,640 --> 00:06:33,600 如果我飛到奧斯汀,我飛奧斯汀, 鳳凰城,舊金山。 119 00:06:33,600 --> 00:06:36,340 現在我有一棵樹。 120 00:06:36,340 --> 00:06:37,230 這是一個完整的樹。 121 00:06:37,230 --> 00:06:41,890 這是所有的可能性, 所有我可以採取的路徑。 122 00:06:41,890 --> 00:06:44,310 也就是說,如果我開始在 樹的頂部根 123 00:06:44,310 --> 00:06:47,860 我再往之一 葉,它告訴我,不僅 124 00:06:47,860 --> 00:06:50,480 在這裡我要 最終,舊金山, 125 00:06:50,480 --> 00:06:53,670 但它告訴我的路線 我需要到那裡。 126 00:06:53,670 --> 00:06:56,400 127 00:06:56,400 --> 00:06:59,690 >> 現在,這些哪一個是最好的? 128 00:06:59,690 --> 00:07:02,430 好了,一無所知 問題還沒有告訴我 129 00:07:02,430 --> 00:07:04,710 其中哪些是最好的解決方案。 130 00:07:04,710 --> 00:07:09,270 也許我關心最關心 我有多少時間是在空氣中, 131 00:07:09,270 --> 00:07:12,350 或距離是我飛。 132 00:07:12,350 --> 00:07:16,410 在這種情況下,芝加哥聖 舊金山可能是最短的數 133 00:07:16,410 --> 00:07:18,910 在航空里程。 134 00:07:18,910 --> 00:07:20,860 >> 也許我在乎成本。 135 00:07:20,860 --> 00:07:23,680 我們都知道直達航班 通常更昂貴。 136 00:07:23,680 --> 00:07:26,610 所以,如果我拿這個,也許 一種倒退路線 137 00:07:26,610 --> 00:07:30,650 通過邁阿密,納什維爾, 奧斯汀,鳳凰,也許那時 138 00:07:30,650 --> 00:07:34,070 我得到一個較低的價格。 139 00:07:34,070 --> 00:07:36,440 但我可以優化任何 我關心的標準。 140 00:07:36,440 --> 00:07:39,790 誰擁有最好的 飛機上的Wi-Fi無線,或 141 00:07:39,790 --> 00:07:43,110 機場擁有最好的食物。 142 00:07:43,110 --> 00:07:47,280 而且每個可能 給我一個不同的解決方案 143 00:07:47,280 --> 00:07:49,215 我看到的是最好的。 144 00:07:49,215 --> 00:07:51,990 145 00:07:51,990 --> 00:07:54,400 >> 這些種類的問題, 我們要去哪裡 146 00:07:54,400 --> 00:07:58,480 打造出了這棵樹 可能性,然後 147 00:07:58,480 --> 00:08:02,100 看看每那些 各個路徑,並檢查 148 00:08:02,100 --> 00:08:05,270 其中那些滿足了 一個標準對我們來說, 149 00:08:05,270 --> 00:08:08,790 我們將調用 這些搜索問題。 150 00:08:08,790 --> 00:08:11,280 我們有很多的 算法,其中一些 151 00:08:11,280 --> 00:08:15,270 我們已經看到,去 探索那些樹。 152 00:08:15,270 --> 00:08:19,270 我們能做到這一點的方式,我 只是做了一個深度優先搜索, 153 00:08:19,270 --> 00:08:22,900 下降盡可能我們可以直到我們 打葉,然後再回來了, 154 00:08:22,900 --> 00:08:24,787 而要正確回落。 155 00:08:24,787 --> 00:08:26,870 或者,我們可以做什麼 所謂廣度優先搜索。 156 00:08:26,870 --> 00:08:29,675 我們可以擴大一切 在頂部,然後 157 00:08:29,675 --> 00:08:31,550 一切一行 下方的是,然後 158 00:08:31,550 --> 00:08:35,240 一切下方的一行。 159 00:08:35,240 --> 00:08:41,250 這些搜索樹 是十分重要的AI。 160 00:08:41,250 --> 00:08:46,570 但他們並沒有完全得到 它的權利所有的時間。 161 00:08:46,570 --> 00:08:51,600 事實上,在很多情況下 我們真正關心的, 162 00:08:51,600 --> 00:08:54,430 我們要建立一棵樹, 但我們實際上並不 163 00:08:54,430 --> 00:08:57,140 去決定一切的。 164 00:08:57,140 --> 00:09:00,940 >> 這些都是所謂的情況下, 對抗性搜索,也被稱為 165 00:09:00,940 --> 00:09:05,390 如何寫玩遊戲 系統和得到報酬。 166 00:09:05,390 --> 00:09:07,940 但這些都是種 系統在哪裡 167 00:09:07,940 --> 00:09:12,920 可能會選擇當我去從 波士頓,我去旁邊哪個城市。 168 00:09:12,920 --> 00:09:19,990 但在那之後,別人可能會 使在哪裡我飛行的決定。 169 00:09:19,990 --> 00:09:24,040 因此,要建立這些 種結構,我們 170 00:09:24,040 --> 00:09:28,510 將不得不採取一種 不同的方法吧。 171 00:09:28,510 --> 00:09:31,060 我們不打算要能夠 只是通過搜索樹 172 00:09:31,060 --> 00:09:35,000 了,因為我們沒有 一個是在控制 173 00:09:35,000 --> 00:09:38,180 其中每個決策點的。 174 00:09:38,180 --> 00:09:42,590 >> 因此,讓我們想像一下一個簡單的 遊戲像井字棋。 175 00:09:42,590 --> 00:09:46,730 我可以從一個 完全空白板。 176 00:09:46,730 --> 00:09:49,580 而在井字棋, x被打首發。 177 00:09:49,580 --> 00:09:53,890 所以,我能想到的一切 可能的行動是X可以使。 178 00:09:53,890 --> 00:09:57,420 如果我是一個打 在X,這是偉大的。 179 00:09:57,420 --> 00:10:01,020 我有九個可能 移動,我可以做到的。 180 00:10:01,020 --> 00:10:05,000 我可以把一個X中的任何一個 這些九個位置。 181 00:10:05,000 --> 00:10:10,710 >> 然後從每次的,我 可以想像接下來會發生什麼。 182 00:10:10,710 --> 00:10:14,130 那麼,在這種情況下,其他 玩家將獲得轉一轉。 183 00:10:14,130 --> 00:10:15,660 Ø將獲得轉一轉。 184 00:10:15,660 --> 00:10:19,510 和從每次的,有 將八個不同的地方 185 00:10:19,510 --> 00:10:22,980 其中O可能將他們的標誌。 186 00:10:22,980 --> 00:10:25,790 >> 比方說,我決定,我是 打算把一個X在中心。 187 00:10:25,790 --> 00:10:28,810 這似乎總是喜歡 良好的開放性舉措。 188 00:10:28,810 --> 00:10:34,870 我可以看看下面的是, 八種可能的舉動,Ö使。 189 00:10:34,870 --> 00:10:37,320 現在,如果我打X,這是美妙的。 190 00:10:37,320 --> 00:10:41,740 我可以選擇哪一個我 去,一個在中間。 191 00:10:41,740 --> 00:10:45,000 但是,現在O與其選擇。 192 00:10:45,000 --> 00:10:48,750 而且我沒有控制 在這一決定。 193 00:10:48,750 --> 00:10:51,670 >> 但是從每次的 可能的倉板, 194 00:10:51,670 --> 00:10:54,020 還有接著又 設置的可能性。 195 00:10:54,020 --> 00:10:56,700 當說到做到 我重新開機,我就 196 00:10:56,700 --> 00:11:01,500 來挑,說,好, 如果可移動到了,好了, 197 00:11:01,500 --> 00:11:06,110 中間點在左邊,然後 我有一組的可能性 198 00:11:06,110 --> 00:11:09,740 在那裡我可以把我的下一步行動。 199 00:11:09,740 --> 00:11:14,140 從這些,我可以考慮全部 他們下方的可能性。 200 00:11:14,140 --> 00:11:18,030 然後與O將得到 在那些選擇。 201 00:11:18,030 --> 00:11:22,290 >> 而且我可以繼續建設這個 樹,直到我到了點 202 00:11:22,290 --> 00:11:26,960 在這裡無論是有人 贏得game--那 203 00:11:26,960 --> 00:11:31,070 得到了被認為是一個葉node-- 或董事會完全充滿 204 00:11:31,070 --> 00:11:32,704 也沒有人贏了。 205 00:11:32,704 --> 00:11:34,370 而這也將是一個葉節點。 206 00:11:34,370 --> 00:11:35,411 這將是一個平局。 207 00:11:35,411 --> 00:11:37,820 208 00:11:37,820 --> 00:11:41,680 >> 但棘手的事情與這 如果這只是一個常規的搜索 209 00:11:41,680 --> 00:11:44,269 的問題,我能 比方說,好了,X應該去這裡。 210 00:11:44,269 --> 00:11:45,560 可是啊應該走的路那邊。 211 00:11:45,560 --> 00:11:46,770 然後X應該走在這裡。 212 00:11:46,770 --> 00:11:48,269 然後與O應該走的路那邊。 213 00:11:48,269 --> 00:11:51,860 然後X可以得到三個 在一排,我贏了。 214 00:11:51,860 --> 00:11:54,870 而本場比賽將超過 在五個動作,三對我來說, 215 00:11:54,870 --> 00:11:57,710 二為我的對手。 216 00:11:57,710 --> 00:12:01,300 但我並不總是得到選擇。 217 00:12:01,300 --> 00:12:03,720 >> 因此,不是,我們是 不得不做 218 00:12:03,720 --> 00:12:06,270 是我們將有 有一個新的戰略。 219 00:12:06,270 --> 00:12:09,350 而戰略 玩遊戲的算法經常使用 220 00:12:09,350 --> 00:12:12,000 是所謂極小。 221 00:12:12,000 --> 00:12:15,500 的中心思想 極小的是,我們 222 00:12:15,500 --> 00:12:21,365 會挑,讓移動 我們的對手可能出現的最壞集 223 00:12:21,365 --> 00:12:22,790 的動作,他們可以做到的。 224 00:12:22,790 --> 00:12:25,570 225 00:12:25,570 --> 00:12:28,870 它沒有我好 選擇一個移動的地方 226 00:12:28,870 --> 00:12:31,952 我也許能取勝後 即,因為我的對手不是 227 00:12:31,952 --> 00:12:33,160 要給我這樣的機會。 228 00:12:33,160 --> 00:12:37,770 他們會選擇一些 可怕的結局對我來說。 229 00:12:37,770 --> 00:12:42,010 所以我打算讓 移動,迫使我的對手 230 00:12:42,010 --> 00:12:45,760 做一些事情對我來說更好。 231 00:12:45,760 --> 00:12:46,260 好吧。 232 00:12:46,260 --> 00:12:48,410 讓我們來看看這發揮出來。 233 00:12:48,410 --> 00:12:51,640 因此,這裡是我們的偽代碼算法。 234 00:12:51,640 --> 00:12:54,450 我們將產生 整個遊戲樹。 235 00:12:54,450 --> 00:12:56,757 我們要打造 整個結構。 236 00:12:56,757 --> 00:12:57,840 然後我們會去。 237 00:12:57,840 --> 00:13:02,100 和在最底層,在每個 終端節點,在各葉片的, 238 00:13:02,100 --> 00:13:07,850 我們將評估如何 可貴的是,在我身上? 239 00:13:07,850 --> 00:13:11,690 而我們要的價值的東西, 是為我好為陽性。 240 00:13:11,690 --> 00:13:14,460 事情是不是為我好 將不太積極的,或零, 241 00:13:14,460 --> 00:13:16,480 甚至為負。 242 00:13:16,480 --> 00:13:19,240 >> 因此,井字棋,也許 一場勝利對我來說是很好的。 243 00:13:19,240 --> 00:13:20,290 這是一個。 244 00:13:20,290 --> 00:13:22,400 而領帶是零。 245 00:13:22,400 --> 00:13:26,230 而東西是一個損失 我,也許這是一個消極的。 246 00:13:26,230 --> 00:13:29,620 所有的事情是更好的 這對我來說,得分越高 247 00:13:29,620 --> 00:13:32,160 它接收。 248 00:13:32,160 --> 00:13:36,690 從這些可能性在 底部,然後我們會篩選向上。 249 00:13:36,690 --> 00:13:40,650 而當這是我選擇的機會 在一組備選的, 250 00:13:40,650 --> 00:13:44,460 我會選擇一個的 拿到了最高分。 251 00:13:44,460 --> 00:13:47,200 >> 每當這是我的 反對者轉而選擇, 252 00:13:47,200 --> 00:13:52,350 我認為他們將 選擇一個得分最低。 253 00:13:52,350 --> 00:13:56,090 如果我做這一切的方式 到樹的頂部, 254 00:13:56,090 --> 00:14:03,150 我已經選擇了一條路,讓 我說,我能得到最好的結果, 255 00:14:03,150 --> 00:14:09,110 假設我的對手 使所有正確的行動。 256 00:14:09,110 --> 00:14:11,940 >> 好吧,讓我們看看 這個動作的第一。 257 00:14:11,940 --> 00:14:14,980 然後我們將實際 看看它的代碼。 258 00:14:14,980 --> 00:14:16,780 所以,想像一下我這棵大樹。 259 00:14:16,780 --> 00:14:18,280 現在我不玩井字棋。 260 00:14:18,280 --> 00:14:20,405 我想給你 東西一點點更豐富。 261 00:14:20,405 --> 00:14:23,560 所以,我有一些遊戲, 有許多不同的分數 262 00:14:23,560 --> 00:14:26,390 我可以有結尾。 263 00:14:26,390 --> 00:14:27,980 所以我建立這個完整的樹。 264 00:14:27,980 --> 00:14:29,070 而且我可以先移動。 265 00:14:29,070 --> 00:14:31,290 我在樹的根。 266 00:14:31,290 --> 00:14:36,150 >> 我能選擇that--所以我得到 跨越該第一節點最大化。 267 00:14:36,150 --> 00:14:38,410 然後我的對手隨便去哪兒。 268 00:14:38,410 --> 00:14:41,910 然後,我現在能去一次。 269 00:14:41,910 --> 00:14:46,830 這樣下來在底部,我有一組 可能性,我可以選擇, 270 00:14:46,830 --> 00:14:50,570 遊戲中不同的終端狀態。 271 00:14:50,570 --> 00:14:54,980 如果我在那很沮喪 最左邊的角落, 272 00:14:54,980 --> 00:14:58,867 我看到,我有一個選擇 八,七,和一個兩者之間, 273 00:14:58,867 --> 00:15:00,450 好了,我是一個得到選擇。 274 00:15:00,450 --> 00:15:02,910 所以我要選擇 這其中的佼佼者。 275 00:15:02,910 --> 00:15:05,650 我要選擇的八個。 276 00:15:05,650 --> 00:15:10,090 >> 所以,我知道,如果我 下來到這一點, 277 00:15:10,090 --> 00:15:13,890 我就可以拿到8分。 278 00:15:13,890 --> 00:15:17,410 如果我最終的下一個點 並且,在接下來的節點, 279 00:15:17,410 --> 00:15:20,760 九,一,或六,好了,我 要選擇最好的那些。 280 00:15:20,760 --> 00:15:21,950 我會選擇九。 281 00:15:21,950 --> 00:15:24,880 如果我有之間的選擇 2,和四,和一, 282 00:15:24,880 --> 00:15:28,240 我會選擇四,最高的。 283 00:15:28,240 --> 00:15:31,990 >> 現在,如果我看水平 上面說,我的對手 284 00:15:31,990 --> 00:15:34,440 是一個得到做出這樣的選擇。 285 00:15:34,440 --> 00:15:37,040 所以,我的對手到達 選擇,我想給他 286 00:15:37,040 --> 00:15:39,250 的事情是怎麼回事 讓他八點, 287 00:15:39,250 --> 00:15:41,916 還是我給他的東西,是 打算給他9分, 288 00:15:41,916 --> 00:15:45,240 或東西是怎麼回事 給他四點? 289 00:15:45,240 --> 00:15:49,130 而我的對手,是 理性的,是怎麼回事 290 00:15:49,130 --> 00:15:53,470 要選擇那些最小的, 是要選擇四個。 291 00:15:53,470 --> 00:15:56,020 >> 我能做到這一點 整個樹。 292 00:15:56,020 --> 00:15:59,110 我可以去到 中間套三。 293 00:15:59,110 --> 00:16:01,517 我可以進行選擇 一,三,五。 294 00:16:01,517 --> 00:16:02,350 我能選擇。 295 00:16:02,350 --> 00:16:03,810 所以,我選擇了五。 296 00:16:03,810 --> 00:16:05,340 我可以選擇三種,九兩。 297 00:16:05,340 --> 00:16:07,570 我能選擇,所以我選擇的九個。 298 00:16:07,570 --> 00:16:09,290 六,五或二,我選擇。 299 00:16:09,290 --> 00:16:11,539 我能選擇的六個。 300 00:16:11,539 --> 00:16:13,080 在該水平之上,誰可以選擇呢? 301 00:16:13,080 --> 00:16:16,280 302 00:16:16,280 --> 00:16:18,140 誰可以選擇呢? 303 00:16:18,140 --> 00:16:20,000 另外一個人,我的對手。 304 00:16:20,000 --> 00:16:22,583 因此,他們選擇5個, 九,六,哪一個? 305 00:16:22,583 --> 00:16:23,410 >> 聽眾:五。 306 00:16:23,410 --> 00:16:25,250 >> 演講嘉賓:他們選擇的五個。 307 00:16:25,250 --> 00:16:27,400 他們能選擇的最低。 308 00:16:27,400 --> 00:16:29,690 然後最後一個, 選擇一個,兩個或三個。 309 00:16:29,690 --> 00:16:31,720 我能選擇,所以我選擇三種。 310 00:16:31,720 --> 00:16:34,370 九,七,或兩個,我選擇九歲。 311 00:16:34,370 --> 00:16:37,070 而11,六,或四個,我選擇11。 312 00:16:37,070 --> 00:16:41,190 我的對手則選擇三, 9,或11,選擇最小。 313 00:16:41,190 --> 00:16:43,290 他給了我三個。 314 00:16:43,290 --> 00:16:47,780 然後最後在頂部 樹,我可以重新選擇。 315 00:16:47,780 --> 00:16:51,190 而我得到之間做出選擇 四,五,或三。 316 00:16:51,190 --> 00:16:52,270 所以,我把五。 317 00:16:52,270 --> 00:16:55,070 318 00:16:55,070 --> 00:17:00,891 >> 如果我控制一切,我會 採取了導致11的路徑。 319 00:17:00,891 --> 00:17:02,390 但我不明白做出這樣的選擇。 320 00:17:02,390 --> 00:17:04,220 如果我走這條路。 321 00:17:04,220 --> 00:17:10,710 我的對手會強迫我進入 這導致了三個選擇。 322 00:17:10,710 --> 00:17:14,530 所以,我能做的最好的是 採取這一中間分支, 323 00:17:14,530 --> 00:17:19,859 做出這樣的選擇這是最終 要帶領我到五點。 324 00:17:19,859 --> 00:17:23,230 這就是極小呢。 325 00:17:23,230 --> 00:17:23,807 >> 好吧。 326 00:17:23,807 --> 00:17:24,890 讓我們來看看這個。 327 00:17:24,890 --> 00:17:27,480 328 00:17:27,480 --> 00:17:32,330 因此,這裡的CS50 IDE是一個程序, 329 00:17:32,330 --> 00:17:36,540 實現極小玩井字棋。 330 00:17:36,540 --> 00:17:40,100 我們要打造 向上的表示。 331 00:17:40,100 --> 00:17:44,390 我們將有兩個opponent-- 或者兩個球員,我們的電腦 332 00:17:44,390 --> 00:17:46,090 播放器和一個人的球員。 333 00:17:46,090 --> 00:17:48,980 334 00:17:48,980 --> 00:17:53,090 玩家頭號將被打 在O.那將是機器的球員。 335 00:17:53,090 --> 00:17:55,747 他們得到第二招。 336 00:17:55,747 --> 00:17:57,830 而其他的球員,我們的 人類的球員,將是X. 337 00:17:57,830 --> 00:17:59,880 >> 而為了讓我的生活 一點簡單的,我要去 338 00:17:59,880 --> 00:18:03,060 標記該玩家負值。 339 00:18:03,060 --> 00:18:05,026 所以我只能乘 由負一換 340 00:18:05,026 --> 00:18:06,400 之間的一個播放器和其他。 341 00:18:06,400 --> 00:18:09,030 342 00:18:09,030 --> 00:18:12,250 好吧,讓我們來看看 我們實際上是要幹什麼。 343 00:18:12,250 --> 00:18:15,840 我們要確定我們的董事會。 344 00:18:15,840 --> 00:18:19,060 這將是,嗯,我們要去 以允許它有三個由三個, 345 00:18:19,060 --> 00:18:21,580 或者,我們甚至可以玩 五經五天或七天 346 00:18:21,580 --> 00:18:28,870 七井字棋,如果你想 像的基礎上,一些尺寸D. 347 00:18:28,870 --> 00:18:31,260 >> 並且我們將有一對夫婦 輔助函數 348 00:18:31,260 --> 00:18:34,360 那會做這樣的事情 初始化screen--還是遺憾, 349 00:18:34,360 --> 00:18:38,900 初始化我們的變量,清除 屏幕上,繪製電路板在屏幕上, 350 00:18:38,900 --> 00:18:41,060 一個檢查板 看是否 351 00:18:41,060 --> 00:18:44,520 有一個贏家,一個 解析通過命令行, 352 00:18:44,520 --> 00:18:50,670 只是助陣,一個讀取 輸入,以及一個函數調用極小。 353 00:18:50,670 --> 00:18:52,746 這就是一個 我們最關心的。 354 00:18:52,746 --> 00:18:54,120 但是,讓我們先來看看主。 355 00:18:54,120 --> 00:18:57,490 356 00:18:57,490 --> 00:18:58,510 >> 我們做什麼? 357 00:18:58,510 --> 00:19:00,570 好了,我們要 分析我們的命令行, 358 00:19:00,570 --> 00:19:04,300 只是讀,看看 維板,我們希望有。 359 00:19:04,300 --> 00:19:07,330 我們將初始化我們的董事會。 360 00:19:07,330 --> 00:19:10,360 然後,我們會輸入一個 野生大循環,反复 361 00:19:10,360 --> 00:19:16,630 接受移動直到遊戲 贏了,或者有沒有向左移動。 362 00:19:16,630 --> 00:19:20,560 每次我們去通過 循環中,我們將清除屏幕。 363 00:19:20,560 --> 00:19:23,290 我們要開董事會在屏幕上。 364 00:19:23,290 --> 00:19:28,750 我們是那種故意 這些抽象走為子程序, 365 00:19:28,750 --> 00:19:32,030 所以,我們不必過於擔心 他們是如何發生的細節。 366 00:19:32,030 --> 00:19:33,480 >> 你必須在代碼後的今天。 367 00:19:33,480 --> 00:19:37,970 如果你想看看通過 並找出,你可以看到他們所有。 368 00:19:37,970 --> 00:19:39,890 但是,我們會得出一個板在屏幕上。 369 00:19:39,890 --> 00:19:43,620 然後我們會檢查並 看,我們有一個贏家? 370 00:19:43,620 --> 00:19:46,290 曾有人贏了這場比賽? 371 00:19:46,290 --> 00:19:49,260 如果他們有,我們將打印 出了勝利的消息。 372 00:19:49,260 --> 00:19:51,680 並且我們將結束遊戲。 373 00:19:51,680 --> 00:19:54,510 >> 我們還將檢查和 看看有沒有打領帶。 374 00:19:54,510 --> 00:19:56,620 這將是很容易,看看是否有一個平手。 375 00:19:56,620 --> 00:20:00,700 這意味著,所有的位已滿, 但還沒有分出勝負呢。 376 00:20:00,700 --> 00:20:03,580 我們可以聲明領帶和完成。 377 00:20:03,580 --> 00:20:10,530 那麼真正的meat--如果 它是一台機器的球員, 378 00:20:10,530 --> 00:20:14,120 我們將允許 機播放器搜索 379 00:20:14,120 --> 00:20:19,500 通過使用這種極大極小算法, 找到最好的招之能。 380 00:20:19,500 --> 00:20:22,310 然後我們會把這個拉升。 381 00:20:22,310 --> 00:20:27,640 >> 否則,如果它是一個人的球員, 我們將閱讀從人的一些輸入。 382 00:20:27,640 --> 00:20:30,800 然後,無論是人 玩家或機器播放器, 383 00:20:30,800 --> 00:20:32,800 我們很少做一對夫婦 錯誤檢查位, 384 00:20:32,800 --> 00:20:36,910 以確保它保持的範圍內 董事會的實際尺寸 385 00:20:36,910 --> 00:20:40,040 我們有,要確保 這空間是空的, 386 00:20:40,040 --> 00:20:43,570 沒有人的放 片中出現了。 387 00:20:43,570 --> 00:20:45,810 然後,我們就放 一塊電路板上, 388 00:20:45,810 --> 00:20:51,550 改變播放器到下一個層,和 增加了多少動作發生。 389 00:20:51,550 --> 00:20:54,090 >> 這對於主循環 我們井字棋遊戲。 390 00:20:54,090 --> 00:20:57,000 391 00:20:57,000 --> 00:21:02,340 極小的話,是完全 該算法之前我們。 392 00:21:02,340 --> 00:21:04,710 唯一的調整是 我們已經取得了讓我們 393 00:21:04,710 --> 00:21:07,290 可以播放高 維板是我們 394 00:21:07,290 --> 00:21:11,070 保持這種所謂的深度額外的參數。 395 00:21:11,070 --> 00:21:14,870 和深度只是說,如果我 通過樹向下搜索 396 00:21:14,870 --> 00:21:19,022 而我得到這麼遠了 超出一定水平的深度 397 00:21:19,022 --> 00:21:20,730 我只是不希望 再往前走, 398 00:21:20,730 --> 00:21:25,630 我會停下來,只是 評估委員會在這一點上。 399 00:21:25,630 --> 00:21:27,310 我會檢查,看看是否有一個贏家。 400 00:21:27,310 --> 00:21:29,240 如果有一個贏家,我回報他們。 401 00:21:29,240 --> 00:21:31,720 否則,我將經歷一個循環。 402 00:21:31,720 --> 00:21:34,380 我會說,所有的 可能位置 403 00:21:34,380 --> 00:21:38,080 那我可能 拿我的舉動,我會 404 00:21:38,080 --> 00:21:43,760 建立一個假想的板, 包括我的舉動上板, 405 00:21:43,760 --> 00:21:45,960 然後遞歸調用極小。 406 00:21:45,960 --> 00:21:49,360 407 00:21:49,360 --> 00:21:53,900 >> 如果這是我的舉動,我可以找到 一個有足夠快的最大比分。 408 00:21:53,900 --> 00:21:58,710 如果是我的對手的舉動,我們發現 那一定的最低分數的人。 409 00:21:58,710 --> 00:22:02,240 和其他一切是 只是記錄保存。 410 00:22:02,240 --> 00:22:04,789 好吧,讓我們看看這個運行。 411 00:22:04,789 --> 00:22:06,830 其實,也許我們可以 找幾個志願者 412 00:22:06,830 --> 00:22:09,930 拿出玩井字棋。 413 00:22:09,930 --> 00:22:12,780 [聽不清]之一,和一個 多,二,就在那裡。 414 00:22:12,780 --> 00:22:13,550 上來吧。 415 00:22:13,550 --> 00:22:19,290 416 00:22:19,290 --> 00:22:23,650 >> 因此,讓我們繼續前進, 完全重新啟動此。 417 00:22:23,650 --> 00:22:24,150 所以,喜。 418 00:22:24,150 --> 00:22:24,920 >> 聽眾:你好。 419 00:22:24,920 --> 00:22:25,420 >> 演講嘉賓:你叫什麼名字? 420 00:22:25,420 --> 00:22:26,086 >> 聽眾:Gorav。 421 00:22:26,086 --> 00:22:26,840 演講嘉賓:Gorav。 422 00:22:26,840 --> 00:22:27,800 >> 聽眾:我是萊拉。 423 00:22:27,800 --> 00:22:29,490 >> 演講嘉賓:而且萊拉,和萊拉,對不起。 424 00:22:29,490 --> 00:22:30,384 上來吧。 425 00:22:30,384 --> 00:22:32,050 Gorav,我們將讓你先走。 426 00:22:32,050 --> 00:22:37,710 而我要問你是不是 非常良好的井字棋的球員。 427 00:22:37,710 --> 00:22:40,130 好了,所有的壓力是關閉你。 428 00:22:40,130 --> 00:22:44,660 讓我們來看看,雖然,我們的機器 玩家其實可以做一些聰明。 429 00:22:44,660 --> 00:22:45,310 因此,繼續前進。 430 00:22:45,310 --> 00:22:49,830 你會在哪個坐標輸入 你想將你的X研究。 431 00:22:49,830 --> 00:22:55,170 A0,OK,機器已經 馬上,把它的標記在A1中。 432 00:22:55,170 --> 00:22:56,640 >> 把O於董事會。 433 00:22:56,640 --> 00:22:58,970 好了,現在繼續。 434 00:22:58,970 --> 00:23:00,193 您要在何處去? 435 00:23:00,193 --> 00:23:03,510 436 00:23:03,510 --> 00:23:05,090 C2。 437 00:23:05,090 --> 00:23:08,430 我們的機器播放器已 廣場中間,擋住你。 438 00:23:08,430 --> 00:23:10,320 所以這是一個很好的, 聰明的為它做。 439 00:23:10,320 --> 00:23:13,430 440 00:23:13,430 --> 00:23:14,250 你阻止它。 441 00:23:14,250 --> 00:23:15,210 這是非常好的。 442 00:23:15,210 --> 00:23:16,390 它開出角球那裡。 443 00:23:16,390 --> 00:23:23,890 444 00:23:23,890 --> 00:23:30,430 >> 而且它會迫使你 取最後一個空間,B0。 445 00:23:30,430 --> 00:23:32,220 而本場比賽以平局結束。 446 00:23:32,220 --> 00:23:35,030 但它起到了合理的 遊戲對你,對不對? 447 00:23:35,030 --> 00:23:36,956 好,非常感謝,Gorav。 448 00:23:36,956 --> 00:23:40,860 >> [掌聲] 449 00:23:40,860 --> 00:23:44,723 >> 好吧,萊拉,我們要去 她對你的遊戲在這裡。 450 00:23:44,723 --> 00:23:46,940 >> 聽眾:哦,太棒了。 451 00:23:46,940 --> 00:23:49,950 >> 演講嘉賓:我們打算給 你四乘四井字棋。 452 00:23:49,950 --> 00:23:54,760 現在,在四乘四,你必須要贏 四成一排,沒有三連勝。 453 00:23:54,760 --> 00:23:56,135 而這一切都屬於你。 454 00:23:56,135 --> 00:24:02,180 455 00:24:02,180 --> 00:24:04,420 所以蕾拉了D1。 456 00:24:04,420 --> 00:24:11,730 我們現在要遵循 我們在這裡的電腦玩家。 457 00:24:11,730 --> 00:24:16,910 三三井字棋是那種 東西,很容易對我們所有人。 458 00:24:16,910 --> 00:24:21,960 但它仍然很好看 電腦玩家作出明智的舉動。 459 00:24:21,960 --> 00:24:23,725 四乘四到達 是有點棘手。 460 00:24:23,725 --> 00:24:42,960 461 00:24:42,960 --> 00:24:44,230 >> 做得好。 462 00:24:44,230 --> 00:24:46,210 好吧,讓蕾拉的結束了。 463 00:24:46,210 --> 00:24:48,270 哦,我們應該已經結束了在那裡。 464 00:24:48,270 --> 00:24:51,870 但是,讓我們做一起來這裡。 465 00:24:51,870 --> 00:24:53,480 所以蕾拉,謝謝。 466 00:24:53,480 --> 00:24:55,112 做得好。 467 00:24:55,112 --> 00:24:57,517 >> [掌聲] 468 00:24:57,517 --> 00:25:00,410 469 00:25:00,410 --> 00:25:04,750 >> 因此,我們井字棋玩家進入 通過和發現的地點, 470 00:25:04,750 --> 00:25:07,040 解決了他們使用這種極小。 471 00:25:07,040 --> 00:25:08,990 而且我有一個深度設置 上,以便它 472 00:25:08,990 --> 00:25:11,010 不會跑的太快, 這可能是為什麼 473 00:25:11,010 --> 00:25:16,790 蕾拉能夠很好地向前走 她做到了,做得很好。 474 00:25:16,790 --> 00:25:20,450 但是,這些系統只 經過和蠻力 475 00:25:20,450 --> 00:25:23,870 走得更深,更深,更深, 並不斷尋找解決方案 476 00:25:23,870 --> 00:25:29,890 他們需要,那些類型的系統 在這些相當成功的,好了, 477 00:25:29,890 --> 00:25:32,700 標準的棋盤遊戲。 478 00:25:32,700 --> 00:25:37,060 >> 而事實上,如果我們看一下 三乘三井字棋遊戲, 479 00:25:37,060 --> 00:25:40,040 這基本上是一個解決的問題。 480 00:25:40,040 --> 00:25:45,430 這是一個美妙的圖 從蘭德爾·門羅在XKCD, 481 00:25:45,430 --> 00:25:52,130 顯示哪些打動你應該 走,給你的對手的動作。 482 00:25:52,130 --> 00:25:56,420 這是我們可以 隨便指定時間提前。 483 00:25:56,420 --> 00:26:00,180 但是,當我們得到更多的會發生什麼 複雜的遊戲,更複雜的遊戲, 484 00:26:00,180 --> 00:26:05,690 那裡有更大的板,更 的可能性,更深層次的戰略是什麼? 485 00:26:05,690 --> 00:26:09,660 >> 事實證明,這 強力搜索仍 486 00:26:09,660 --> 00:26:14,150 確實相當不錯,除了 當你到了點 487 00:26:14,150 --> 00:26:19,230 其中,該樹是如此之大 你不能代表一切。 488 00:26:19,230 --> 00:26:22,370 489 00:26:22,370 --> 00:26:28,280 當你無法計算整個樹, 當你無法前進,並推 490 00:26:28,280 --> 00:26:32,204 你自己,你已經點 得到整個樹在內存中, 491 00:26:32,204 --> 00:26:34,370 或者是否可以得到它 在內存中,它只是 492 00:26:34,370 --> 00:26:39,200 帶你太長時間進行搜索 它,你必須做一些更聰明。 493 00:26:39,200 --> 00:26:42,620 494 00:26:42,620 --> 00:26:46,450 >> 為了做到這一點,你 必須做兩件事情。 495 00:26:46,450 --> 00:26:49,030 首先,你必須要找到一些 限制你的深度的方法。 496 00:26:49,030 --> 00:26:50,370 嗯,這是確定。 497 00:26:50,370 --> 00:26:55,740 我們可以找到一些不錯的,最低限度 並說,你只能走這麼深。 498 00:26:55,740 --> 00:27:00,890 但是,當你這樣做,這意味著你 有這些部分不完整的板。 499 00:27:00,890 --> 00:27:04,770 而你要選擇,我喜歡 這部分不完整的主板, 500 00:27:04,770 --> 00:27:08,600 或者這部分不完整的主板? 501 00:27:08,600 --> 00:27:11,910 >> 而在我們的四經 4井字棋遊戲, 502 00:27:11,910 --> 00:27:15,240 我們的電腦玩家得到了下來 的底部,它說, 503 00:27:15,240 --> 00:27:16,800 我有兩個不同的電路板。 504 00:27:16,800 --> 00:27:17,940 沒有一個是一個雙贏。 505 00:27:17,940 --> 00:27:19,120 沒有一個是虧損的。 506 00:27:19,120 --> 00:27:22,070 沒有一個是一個平局。 507 00:27:22,070 --> 00:27:24,100 如何選擇它們之間? 508 00:27:24,100 --> 00:27:26,200 和它沒有一個 這樣做的聰明的辦法。 509 00:27:26,200 --> 00:27:28,910 510 00:27:28,910 --> 00:27:32,850 >> 我們看到這種 評估發生的事情 511 00:27:32,850 --> 00:27:35,290 隨著我們進入更複雜的遊戲。 512 00:27:35,290 --> 00:27:37,600 國際象棋是一個很好的例子。 513 00:27:37,600 --> 00:27:41,550 在國際象棋中,我們有,第一 所有的人,一個較大的電路板。 514 00:27:41,550 --> 00:27:43,370 我們有更多的作品。 515 00:27:43,370 --> 00:27:47,930 與這些片的定位 和方式,這些棋子 516 00:27:47,930 --> 00:27:50,370 是非常重要的。 517 00:27:50,370 --> 00:27:53,700 所以,如果我想用極小, 我需要能夠指定 518 00:27:53,700 --> 00:27:58,240 並說,此板,其中, 沒有人贏了還是輸呢, 519 00:27:58,240 --> 00:28:04,310 在某種程度上這比其他更好的 板,在那裡沒有人贏了還是輸。 520 00:28:04,310 --> 00:28:06,740 >> 為了做到這一點,我可能會做 像我可能只是 521 00:28:06,740 --> 00:28:10,787 算我多少塊確實有 多少個,你呢? 522 00:28:10,787 --> 00:28:12,870 或者,我可以給不同 件的不同點。 523 00:28:12,870 --> 00:28:14,420 我的皇后是20分。 524 00:28:14,420 --> 00:28:16,500 你的棋子是一分不值。 525 00:28:16,500 --> 00:28:18,920 誰擁有更多的積分總? 526 00:28:18,920 --> 00:28:22,300 或者,我可能會考慮一些事情,如, 誰擁有更好的板位置? 527 00:28:22,300 --> 00:28:26,820 輪到誰下一個, 什麼我可以 528 00:28:26,820 --> 00:28:31,220 做評估更準確地 其中這些可能性 529 00:28:31,220 --> 00:28:34,660 是沒有好 詳盡考慮 530 00:28:34,660 --> 00:28:36,565 一舉一動都可能到來之後。 531 00:28:36,565 --> 00:28:39,740 532 00:28:39,740 --> 00:28:45,130 >> 現在,使這項工作, 的事情的One 533 00:28:45,130 --> 00:28:48,680 將成為非常重要的 對我們來說不只是直線運動 534 00:28:48,680 --> 00:28:53,720 下降到特定深度 限制,但不能說, 535 00:28:53,720 --> 00:28:59,380 這些想法一說我 已經是如此糟糕,它的 536 00:28:59,380 --> 00:29:02,280 不值得考慮 所有的可能的方法 537 00:29:02,280 --> 00:29:06,680 事情可以去每況愈下。 538 00:29:06,680 --> 00:29:12,760 為了做到這一點,我們將添加到極小 一個原則叫做ALPH-β。 539 00:29:12,760 --> 00:29:16,340 而α-β表示, 如果你有一個糟糕的主意, 540 00:29:16,340 --> 00:29:22,840 不要浪費你的時間嘗試 找出它究竟是如何糟糕。 541 00:29:22,840 --> 00:29:24,990 >> 因此,這裡就是我們要做的。 542 00:29:24,990 --> 00:29:28,620 我們將採取同樣的 我們收到的原則, 543 00:29:28,620 --> 00:29:32,200 同樣極小極大類型 搜索,只是我們 544 00:29:32,200 --> 00:29:37,570 要跟踪,不僅是 我們有實際價值,但我們會 545 00:29:37,570 --> 00:29:41,440 跟踪的最佳可能 值,我能得到, 546 00:29:41,440 --> 00:29:45,700 和最壞的可能 結果,我可以有。 547 00:29:45,700 --> 00:29:50,470 而任何時候,最壞的可能 事情正在尋找可能的是, 548 00:29:50,470 --> 00:29:52,694 我會拋棄樹的一部分。 549 00:29:52,694 --> 00:29:54,610 我不會甚至不屑 看它了。 550 00:29:54,610 --> 00:29:57,680 551 00:29:57,680 --> 00:30:02,600 >> 好了,所以可想而知,我們開始 與此完全相同的博弈樹。 552 00:30:02,600 --> 00:30:05,200 而現在我們將去 再次回落,一路下行 553 00:30:05,200 --> 00:30:07,200 到左下角。 554 00:30:07,200 --> 00:30:11,180 而在這左下角,我們 看看我們評估這款主板。 555 00:30:11,180 --> 00:30:15,700 也許這是一個四乘四井字棋 板,或者這是一個國際象棋棋盤。 556 00:30:15,700 --> 00:30:18,620 但是,大家看看吧,我們評估 它,我們得到八的價值。 557 00:30:18,620 --> 00:30:22,290 558 00:30:22,290 --> 00:30:28,030 >> 在這一點上,我們知道 我們將得到至少 559 00:30:28,030 --> 00:30:32,380 八點從這個底部決定。 560 00:30:32,380 --> 00:30:36,620 不要緊什麼其他 兩個是,這七有兩個。 561 00:30:36,620 --> 00:30:38,580 它們可以是任何的值 他們想要的。 562 00:30:38,580 --> 00:30:41,279 我們要得到的 至少8分。 563 00:30:41,279 --> 00:30:43,070 好吧,但是我們可以 繼續檢查。 564 00:30:43,070 --> 00:30:45,080 也許其中之一是超過八個更好。 565 00:30:45,080 --> 00:30:46,000 >> 我們來看一下七個。 566 00:30:46,000 --> 00:30:46,910 那是超過八個好? 567 00:30:46,910 --> 00:30:48,680 沒有,這並不改變 我們的意見都沒有。 568 00:30:48,680 --> 00:30:49,460 我們看看兩個。 569 00:30:49,460 --> 00:30:50,543 那是超過八個好? 570 00:30:50,543 --> 00:30:52,580 沒有,這並不改變 我們的意見都沒有。 571 00:30:52,580 --> 00:30:55,480 所以,現在我們知道我們已經用盡 所有存在的可能性。 572 00:30:55,480 --> 00:30:58,330 我們不會得到 任何超過八個好。 573 00:30:58,330 --> 00:31:01,310 我們將得到完全八強。 574 00:31:01,310 --> 00:31:03,825 >> 因此,我們改變節點 說了,就是現在是必然的。 575 00:31:03,825 --> 00:31:07,010 576 00:31:07,010 --> 00:31:10,270 我們去了一個級別上面。 577 00:31:10,270 --> 00:31:13,820 現在我們知道的東西 有關最小化水平。 578 00:31:13,820 --> 00:31:18,560 我們知道,我們永遠不會得到 八個多百分點,如果我們再往 579 00:31:18,560 --> 00:31:20,910 這個方向努力。 580 00:31:20,910 --> 00:31:22,980 因為即使這些 其他兩個部門轉出 581 00:31:22,980 --> 00:31:26,170 是夢幻般的,值得 成千上萬的每一個點, 582 00:31:26,170 --> 00:31:31,666 我們的對手會給我們 最低限度,並給我們八。 583 00:31:31,666 --> 00:31:32,790 好吧,好吧,讓我們來看看。 584 00:31:32,790 --> 00:31:35,190 我們會繼續走下去的道路。 585 00:31:35,190 --> 00:31:38,490 我們再往左邊的中間。 586 00:31:38,490 --> 00:31:40,560 我們往下看,我們看到有一個九歲。 587 00:31:40,560 --> 00:31:45,590 我們知道,我們將得到 至少有九個點按下去 588 00:31:45,590 --> 00:31:47,720 這中間的道路。 589 00:31:47,720 --> 00:31:52,110 而在這一點上,我們就可以暫停。 590 00:31:52,110 --> 00:31:56,910 我們可以說,看,我 知道在水平以上, 591 00:31:56,910 --> 00:32:01,160 我會得到不超過八個 通過走這方向點。 592 00:32:01,160 --> 00:32:05,670 但是,如果我去攔腰 路徑,而不是離開路徑, 593 00:32:05,670 --> 00:32:08,980 我會得到至少9分。 594 00:32:08,980 --> 00:32:13,590 >> 我的對手永遠不會 讓我走這中間道路。 595 00:32:13,590 --> 00:32:14,650 他們開始選擇。 596 00:32:14,650 --> 00:32:18,140 而且他們會選擇 路徑向左朝8, 597 00:32:18,140 --> 00:32:23,650 而不是下來,對中間 什麼是至少9分。 598 00:32:23,650 --> 00:32:25,334 所以在這一點上,我會停下來。 599 00:32:25,334 --> 00:32:26,500 我會說,你知道嗎? 600 00:32:26,500 --> 00:32:29,990 我沒有看任何 比較下來這個方向努力。 601 00:32:29,990 --> 00:32:32,270 因為我永遠不會去那裡。 602 00:32:32,270 --> 00:32:36,660 >> 我可以跳過那一個, 我可以跳過那六, 603 00:32:36,660 --> 00:32:39,720 因為這是永遠也不會發生。 604 00:32:39,720 --> 00:32:42,470 所以,我會去,我會 考慮下一可能性。 605 00:32:42,470 --> 00:32:44,830 我去那裡,我說,我看到了兩種。 606 00:32:44,830 --> 00:32:47,125 我知道,如果我到了這裡,我 將得到的至少兩個。 607 00:32:47,125 --> 00:32:49,810 608 00:32:49,810 --> 00:32:50,470 好。 609 00:32:50,470 --> 00:32:51,520 我繼續下去。 610 00:32:51,520 --> 00:32:52,440 我看到一個四。 611 00:32:52,440 --> 00:32:54,920 我知道我會得到至少有四個。 612 00:32:54,920 --> 00:32:57,200 仍然有很多的 四個和八個,雖然。 613 00:32:57,200 --> 00:32:58,454 所以,我繼續下去。 614 00:32:58,454 --> 00:32:59,870 我低下頭,我看到有一個。 615 00:32:59,870 --> 00:33:01,614 好吧,我知道,如果 我走上這條道路, 616 00:33:01,614 --> 00:33:03,280 我將能夠選擇的四個。 617 00:33:03,280 --> 00:33:06,540 618 00:33:06,540 --> 00:33:08,980 什麼是我的對手會怎麼做? 619 00:33:08,980 --> 00:33:12,310 東西之間給了我 八,東西給我四, 620 00:33:12,310 --> 00:33:14,730 和東西 讓我至少九個, 621 00:33:14,730 --> 00:33:17,550 好了,他要給我四。 622 00:33:17,550 --> 00:33:20,110 我現在知道了 最頂端,我要去 623 00:33:20,110 --> 00:33:23,145 要能得到至少 四點了這個遊戲。 624 00:33:23,145 --> 00:33:27,030 625 00:33:27,030 --> 00:33:30,900 >> α-β的整體思路 是切斷部分樹, 626 00:33:30,900 --> 00:33:32,530 我不看他們了。 627 00:33:32,530 --> 00:33:35,964 但它仍然看起來像我一直 看著很多樹。 628 00:33:35,964 --> 00:33:36,880 讓我們繼續下去。 629 00:33:36,880 --> 00:33:38,305 現在,我們將下井下一個。 630 00:33:38,305 --> 00:33:39,680 唐氏在底部,我找一個。 631 00:33:39,680 --> 00:33:41,030 我知道我會得到至少一個。 632 00:33:41,030 --> 00:33:41,690 我繼續尋找。 633 00:33:41,690 --> 00:33:42,625 >> 我找了三人。 634 00:33:42,625 --> 00:33:44,250 我知道我會得到至少有三個。 635 00:33:44,250 --> 00:33:44,840 我繼續下去。 636 00:33:44,840 --> 00:33:45,660 我找了五位。 637 00:33:45,660 --> 00:33:49,760 我知道我要送五 如果我在這條道路下不來。 638 00:33:49,760 --> 00:33:52,580 而且我也知道再 我的對手,如果我 639 00:33:52,580 --> 00:33:55,510 選擇中間 三大選擇, 640 00:33:55,510 --> 00:34:01,440 他要給我 東西是五個或更少。 641 00:34:01,440 --> 00:34:02,150 >> 好。 642 00:34:02,150 --> 00:34:03,400 我可以繼續去那裡。 643 00:34:03,400 --> 00:34:06,470 我往下看,我 可以說,我該怎麼 644 00:34:06,470 --> 00:34:08,239 拿到如果我往下走中間路線? 645 00:34:08,239 --> 00:34:09,909 我要得到的,還有三個在那裡。 646 00:34:09,909 --> 00:34:12,080 我要得到的東西 這是至少三個。 647 00:34:12,080 --> 00:34:16,030 目前仍然之間的事情 三和五,所以我一直在尋找。 648 00:34:16,030 --> 00:34:20,203 哦,九,我肯定會 採取了三個。 649 00:34:20,203 --> 00:34:22,744 我要拿到至少有九個 如果我走這中間道路。 650 00:34:22,744 --> 00:34:25,530 651 00:34:25,530 --> 00:34:31,010 >> 現在,我的對手將停止,並說, 你看,有沒有一點了。 652 00:34:31,010 --> 00:34:33,669 我知道我的 最小的對手,他的 653 00:34:33,669 --> 00:34:36,210 要給我的東西,是 小於或等於五, 654 00:34:36,210 --> 00:34:39,030 而非件事是 大於或等於9。 655 00:34:39,030 --> 00:34:39,530 我停下。 656 00:34:39,530 --> 00:34:40,779 我不看任何更多的那個。 657 00:34:40,779 --> 00:34:43,280 我繼續下去。 658 00:34:43,280 --> 00:34:44,850 >> 我小看這一個。 659 00:34:44,850 --> 00:34:46,370 下到谷底,我發現一個六人。 660 00:34:46,370 --> 00:34:50,040 我知道我會得到至少六個。 661 00:34:50,040 --> 00:34:53,130 而我能做些什麼? 662 00:34:53,130 --> 00:34:54,877 我可以停止。 663 00:34:54,877 --> 00:34:57,460 因為有之間的選擇 東西是至少六個 664 00:34:57,460 --> 00:34:59,250 而東西是 不到五年,他的 665 00:34:59,250 --> 00:35:02,570 要給我的事 這是不到五年。 666 00:35:02,570 --> 00:35:04,779 現在我知道我要去 要得到完全的選擇。 667 00:35:04,779 --> 00:35:06,195 我要拿到五次選擇。 668 00:35:06,195 --> 00:35:08,980 669 00:35:08,980 --> 00:35:10,010 >> 我回去到頂部。 670 00:35:10,010 --> 00:35:11,450 我要去哪家 東西之間進行選擇 671 00:35:11,450 --> 00:35:14,449 這是大於或等於4, 或東西是等於五? 672 00:35:14,449 --> 00:35:17,140 我要帶的東西 這至少五個。 673 00:35:17,140 --> 00:35:20,490 我往下走過去的路,所有的 下到谷底的方式。 674 00:35:20,490 --> 00:35:21,260 有一個。 675 00:35:21,260 --> 00:35:23,410 好吧,至少我要拿到一分。 676 00:35:23,410 --> 00:35:24,427 我繼續下去。 677 00:35:24,427 --> 00:35:25,760 二,哦,這是比一個好。 678 00:35:25,760 --> 00:35:27,100 我要拿到至少兩個。 679 00:35:27,100 --> 00:35:28,610 我找了三人。 680 00:35:28,610 --> 00:35:31,450 我知道我會得到三個。 681 00:35:31,450 --> 00:35:34,690 >> 和上面的一點, 我的對手是怎麼回事 682 00:35:34,690 --> 00:35:38,540 給我的東西的 小於或等於3。 683 00:35:38,540 --> 00:35:40,940 現在我可以停止。 684 00:35:40,940 --> 00:35:46,290 因為在我的選擇是 能夠得到一個五我的對手 685 00:35:46,290 --> 00:35:52,290 給我的東西不到三年, 我總是會拿這五。 686 00:35:52,290 --> 00:35:56,810 所以,我不評價說 樹的底部都沒有。 687 00:35:56,810 --> 00:35:59,470 >> 現在,這似乎很小。 688 00:35:59,470 --> 00:36:03,630 但是,當算術一點位, 大於和小於 689 00:36:03,630 --> 00:36:10,640 可以切掉整個地區 這種指數級增長的樹, 690 00:36:10,640 --> 00:36:14,280 這導致了巨大的 儲蓄,儲蓄量 691 00:36:14,280 --> 00:36:17,630 這是足夠大的,我 可以開始玩競爭力 692 00:36:17,630 --> 00:36:21,330 在更複雜的遊戲。 693 00:36:21,330 --> 00:36:27,030 >> 好吧,如果我們看一下尺寸 和不同的遊戲的複雜性, 694 00:36:27,030 --> 00:36:29,470 井字棋是我們簡單的例子。 695 00:36:29,470 --> 00:36:32,150 我們三個了小板,三。 696 00:36:32,150 --> 00:36:36,030 我們得到的,最多,平均為 四種不同的選擇 697 00:36:36,030 --> 00:36:38,440 因為我們去通過遊戲。 698 00:36:38,440 --> 00:36:42,720 我們有地方約10至 第五個可能的不同葉子。 699 00:36:42,720 --> 00:36:45,200 而建設一個井字棋 播放器,好了,我們只是做了它。 700 00:36:45,200 --> 00:36:47,460 小菜一碟。 701 00:36:47,460 --> 00:36:49,890 >> 如果我們去到更多的東西 複雜,如連四。 702 00:36:49,890 --> 00:36:53,170 你還記得這個遊戲, 你把小的令牌? 703 00:36:53,170 --> 00:36:58,490 這是一個六七板, 不是更大,仍 704 00:36:58,490 --> 00:37:00,770 有大約相同的分支 因素,因為井字棋。 705 00:37:00,770 --> 00:37:05,410 我有四個選擇 在那裡我可以把事情研究。 706 00:37:05,410 --> 00:37:10,760 但現在,我已經得到了很多 引出,10到21的功率。 707 00:37:10,760 --> 00:37:14,440 在這個時候,很容易 以至於我們解決這個問題的時候了。 708 00:37:14,440 --> 00:37:17,560 >> 跳棋,更complex--您 八牌上看到一個八。 709 00:37:17,560 --> 00:37:20,570 你只能在半 他們在任何時候,雖然。 710 00:37:20,570 --> 00:37:24,930 你已經有了一個分支 因素是關於2.8。 711 00:37:24,930 --> 00:37:28,160 好了,我們已經有一對夫婦 移動可以採取。 712 00:37:28,160 --> 00:37:33,870 你得約10至31葉, 大,大,和更大的空間。 713 00:37:33,870 --> 00:37:37,340 當我不得不通過搜索 那些越做越大的空間, 714 00:37:37,340 --> 00:37:42,220 這時候,像α-β和 能夠切掉整個分支 715 00:37:42,220 --> 00:37:44,420 就顯得至關重要。 716 00:37:44,420 --> 00:37:47,440 >> 現在,跳棋在1992年很容易。 717 00:37:47,440 --> 00:37:51,400 一種稱為計算機程序 奇努克擊敗世界跳棋 718 00:37:51,400 --> 00:37:53,590 冠軍馬里昂·汀斯利。 719 00:37:53,590 --> 00:37:57,260 從那以後,沒有 人類高手玩家 720 00:37:57,260 --> 00:38:02,290 之所以能夠擊敗最好的 計算系統。 721 00:38:02,290 --> 00:38:06,570 如果我們考察一下國際象棋,現在 再次,我們八板有八個。 722 00:38:06,570 --> 00:38:09,870 但我們有更複雜 件,更複雜的動作。 723 00:38:09,870 --> 00:38:14,610 我們有大約一個分支因子 35,35,平均可能的行動 724 00:38:14,610 --> 00:38:20,030 我可以和狀態 空間,若干葉 725 00:38:20,030 --> 00:38:28,950 是的成長到10到123電源, 數量巨大的可能性。 726 00:38:28,950 --> 00:38:35,570 >> 即使如此,現代的處理器 能夠成功地做到這一點。 727 00:38:35,570 --> 00:38:43,900 在1995年,然後在1997年,一台電腦 程序調用深藍由IBM建造 728 00:38:43,900 --> 00:38:49,601 可以運行在一個巨大的超級計算機 擊敗目前的世界冠軍, 729 00:38:49,601 --> 00:38:50,225 卡斯帕羅夫。 730 00:38:50,225 --> 00:38:54,000 731 00:38:54,000 --> 00:38:56,650 這是一個轉折點。 732 00:38:56,650 --> 00:39:00,620 今天,雖然,相同的處理 電力坐在我的MacBook。 733 00:39:00,620 --> 00:39:04,180 734 00:39:04,180 --> 00:39:06,440 >> 處理速度保持 越走越快。 735 00:39:06,440 --> 00:39:09,500 我們可以評估越來越多 板越來越快。 736 00:39:09,500 --> 00:39:14,550 但更重要的是,我們有更好的 評價功能,更好地修剪 737 00:39:14,550 --> 00:39:15,460 的方法。 738 00:39:15,460 --> 00:39:19,560 所以,我們可以搜索 空間更加複雜地。 739 00:39:19,560 --> 00:39:22,350 該板的最大 遊戲,我們能想到的, 740 00:39:22,350 --> 00:39:26,310 像圍棋這 有一個19 19板, 741 00:39:26,310 --> 00:39:32,490 現在突然,我們過去點 其中,計算系統可以贏得。 742 00:39:32,490 --> 00:39:34,530 有沒有計算 系統在那裡 743 00:39:34,530 --> 00:39:38,880 可以擊敗一個專業棋手。 744 00:39:38,880 --> 00:39:45,000 關於最好的系統今天排名 排序好的業餘水平。 745 00:39:45,000 --> 00:39:49,285 所以還是有相當多的出 那裡,你不能去還。 746 00:39:49,285 --> 00:39:51,840 747 00:39:51,840 --> 00:39:55,360 >> 好吧,這些 傳統的棋牌遊戲, 748 00:39:55,360 --> 00:39:58,560 這些類型的系統,其中,我們 建立這個極小,不管它有 749 00:39:58,560 --> 00:40:06,300 α-β與否,這些算法的工作 因為有一定的限制。 750 00:40:06,300 --> 00:40:08,520 我們有完善的信息 關於世界。 751 00:40:08,520 --> 00:40:11,690 我們知道,所有的作品都是。 752 00:40:11,690 --> 00:40:13,570 世界是靜態的。 753 00:40:13,570 --> 00:40:16,220 沒有人獲得移動 左右,而我是個 754 00:40:16,220 --> 00:40:20,640 坐在那裡想,採取輪到我了。 755 00:40:20,640 --> 00:40:23,140 有一個動作空間的離散。 756 00:40:23,140 --> 00:40:26,900 我可以把我的棋子在這裡, 或者,我可以把我的棋子在這裡。 757 00:40:26,900 --> 00:40:30,520 我不能把我的棋子上 該行兩個廣場之間。 758 00:40:30,520 --> 00:40:34,430 759 00:40:34,430 --> 00:40:36,520 >> 最後,操作 是確定性的。 760 00:40:36,520 --> 00:40:39,790 我知道,如果我說, 車騎士三, 761 00:40:39,790 --> 00:40:44,660 我的車是要結束了在騎士 三,只要它是一個有效舉措。 762 00:40:44,660 --> 00:40:47,830 有沒有這方面的不確定性。 763 00:40:47,830 --> 00:40:52,490 現在,當我去更多 不同類型的遊戲, 764 00:40:52,490 --> 00:40:55,960 我們必須打破這些假設。 765 00:40:55,960 --> 00:41:00,020 >> 如果我去的東西是什麼 喜歡經典視頻遊戲? 766 00:41:00,020 --> 00:41:04,180 這裡有一個選擇的視頻 遊戲從雅達利2600。 767 00:41:04,180 --> 00:41:05,180 我有什麼了嗎? 768 00:41:05,180 --> 00:41:08,440 我有青蛙,空間 入侵者,陷阱和Pac-Man的。 769 00:41:08,440 --> 00:41:11,290 770 00:41:11,290 --> 00:41:14,840 什麼樣的環境 我必須在這裡嗎? 771 00:41:14,840 --> 00:41:16,900 其中這些假設 我必須打破? 772 00:41:16,900 --> 00:41:19,410 773 00:41:19,410 --> 00:41:21,570 >> 嗯,這取決於遊戲。 774 00:41:21,570 --> 00:41:28,170 我會下棋的2600,和 它會成為像從前那樣。 775 00:41:28,170 --> 00:41:33,020 對於大多數這些系統的,有 關於世界的完整的知識。 776 00:41:33,020 --> 00:41:36,300 有完全 確定性的行為。 777 00:41:36,300 --> 00:41:38,330 但通常情況下,世界 不再是靜態的。 778 00:41:38,330 --> 00:41:41,970 也就是說,當我坐在那裡 在等待的東西在移動。 779 00:41:41,970 --> 00:41:44,320 鬼都來接我。 780 00:41:44,320 --> 00:41:46,570 蝎子是繼我的下方。 781 00:41:46,570 --> 00:41:48,880 太空侵略者 越來越近。 782 00:41:48,880 --> 00:41:54,020 783 00:41:54,020 --> 00:41:55,510 我們如何能做到針對這些? 784 00:41:55,510 --> 00:41:58,640 785 00:41:58,640 --> 00:42:02,790 >> 幾年前,谷歌 曾要求項目 786 00:42:02,790 --> 00:42:12,030 DeepMind,他們培養了計算機 節目玩雅達利2600遊戲。 787 00:42:12,030 --> 00:42:16,120 如果你認為這是不嚴重 企業,他們的研究結果 788 00:42:16,120 --> 00:42:19,920 發表在Nature,所以 只是好出版物 789 00:42:19,920 --> 00:42:22,500 因為你所能得到的。 790 00:42:22,500 --> 00:42:24,340 下面是他們如何執行。 791 00:42:24,340 --> 00:42:29,220 >> 他們有一個算法,坐 看著剛剛屏輸入。 792 00:42:29,220 --> 00:42:34,080 它任何沒有得到指令 關於遊戲的規則。 793 00:42:34,080 --> 00:42:42,610 它本來是要弄清楚, 根據其成績,以及它如何在做什麼。 794 00:42:42,610 --> 00:42:46,560 這是用什麼系統 所謂強化學習。 795 00:42:46,560 --> 00:42:48,380 也就是說,它看著它的得分。 796 00:42:48,380 --> 00:42:51,620 如果它得到了一個不錯的成績,它說, 我應該記住這些事情。 797 00:42:51,620 --> 00:42:53,310 我應該再做這些。 798 00:42:53,310 --> 00:42:56,450 如果它有一個不好的分數,它說, 我不應該再這樣做這些事情。 799 00:42:56,450 --> 00:42:59,750 800 00:42:59,750 --> 00:43:03,430 >> 這是性能 這些訓練有素的系統 801 00:43:03,430 --> 00:43:07,490 允許一玩 幾個小時的每場比賽, 802 00:43:07,490 --> 00:43:12,490 相比較專業的玩家。 803 00:43:12,490 --> 00:43:19,670 因此,對於所有的遊戲的 這條線的左側, 804 00:43:19,670 --> 00:43:25,920 這個自學成才的電腦程序 跑贏了職業玩家。 805 00:43:25,920 --> 00:43:29,690 而對於一切的 正確的職業玩家 806 00:43:29,690 --> 00:43:30,920 仍然是最好的。 807 00:43:30,920 --> 00:43:34,040 808 00:43:34,040 --> 00:43:36,850 對於一些知道 一無所知的規則, 809 00:43:36,850 --> 00:43:43,020 一無所知的結構 遊戲,這是令人印象深刻的表現。 810 00:43:43,020 --> 00:43:45,660 而這正是我們今天能夠做到。 811 00:43:45,660 --> 00:43:50,239 >> OK,你說的,但如果我們 想想AI在遊戲中, 812 00:43:50,239 --> 00:43:52,530 通常我們想到的 事情,我們實際上可以 813 00:43:52,530 --> 00:43:54,180 坐下來對戰。 814 00:43:54,180 --> 00:43:58,760 如果我坐下來和我玩 星際爭霸,還是我玩免費篩, 815 00:43:58,760 --> 00:44:01,870 計算機對手是 人控制的虫族, 816 00:44:01,870 --> 00:44:06,770 或控制其他文明。 817 00:44:06,770 --> 00:44:11,920 如何做到這些的球員 很難找到他們的舉動? 818 00:44:11,920 --> 00:44:18,810 >> 那麼,這些遊戲的結構 大致相同的方式作為我們的下棋, 819 00:44:18,810 --> 00:44:22,250 這些遊戲,我們會 共同呼籲四個X遊戲, 820 00:44:22,250 --> 00:44:26,040 探索,expand--忘記的。 821 00:44:26,040 --> 00:44:26,980 他們是什麼? 822 00:44:26,980 --> 00:44:32,150 探索,擴張,並熄滅, 我認為這是最後一個。 823 00:44:32,150 --> 00:44:36,060 但是,他們基本上 探索和征服的遊戲。 824 00:44:36,060 --> 00:44:41,020 通常,計算機對手 有有有限的信息。 825 00:44:41,020 --> 00:44:45,486 他們不知道到底是什麼 會在後面的戰爭的迷霧。 826 00:44:45,486 --> 00:44:47,735 他們不明白,看看有什麼 你有你的庫存。 827 00:44:47,735 --> 00:44:50,240 828 00:44:50,240 --> 00:44:52,800 >> 這裡有一個環境是動態的。 829 00:44:52,800 --> 00:44:56,180 一切都在不斷地變化。 830 00:44:56,180 --> 00:45:00,290 你不要坐下來, 迫不及待地把你的舉動。 831 00:45:00,290 --> 00:45:02,810 但大多數事情還是離散的。 832 00:45:02,810 --> 00:45:04,200 我已經把我的城市在這裡。 833 00:45:04,200 --> 00:45:06,750 或者,我已經把我的城市在這裡。 834 00:45:06,750 --> 00:45:08,950 一切是確定性的。 835 00:45:08,950 --> 00:45:14,660 當我說,把我的單位在這裡,我單位 移動這裡,除非障礙物突然 836 00:45:14,660 --> 00:45:17,700 進場。 837 00:45:17,700 --> 00:45:21,610 現在,這還不是全部電腦 今天比賽是在那裡。 838 00:45:21,610 --> 00:45:27,320 >> 如果我去和我玩一款第一人稱類型 遊戲,像小偷或輻射 839 00:45:27,320 --> 00:45:33,350 或者天際,或暈,現在 我的電腦對手 840 00:45:33,350 --> 00:45:37,860 是在那裡有 一個非常不同的情況。 841 00:45:37,860 --> 00:45:40,020 他們再次,有限的信息。 842 00:45:40,020 --> 00:45:43,420 他們只能看到一個 某些字段的圖。 843 00:45:43,420 --> 00:45:45,180 環境仍然是動態的。 844 00:45:45,180 --> 00:45:48,280 事情正在發生變化所有的時間。 845 00:45:48,280 --> 00:45:52,300 >> 但現在我有一個更 連續動作的空間。 846 00:45:52,300 --> 00:45:57,170 我可以只偷看一 點點出了門道。 847 00:45:57,170 --> 00:46:00,650 而一些遊戲,我 行動是隨機的。 848 00:46:00,650 --> 00:46:04,590 我去嘗試跳過那道牆, 但我有一個失敗的機會。 849 00:46:04,590 --> 00:46:08,280 850 00:46:08,280 --> 00:46:14,550 這些類型的遊戲越來越近 和接近類型的控制器 851 00:46:14,550 --> 00:46:17,330 我們建立的機器人。 852 00:46:17,330 --> 00:46:21,050 >> 在機器人技術,我們必須假設 我們有限制的信息。 853 00:46:21,050 --> 00:46:23,070 我們有傳感器 給我們介紹一下這個世界。 854 00:46:23,070 --> 00:46:25,860 我們有一個不斷更新的, 動態環境。 855 00:46:25,860 --> 00:46:30,440 我們有一個世界中,空間 連續的,而不是離散的。 856 00:46:30,440 --> 00:46:36,260 而且我們的行動,當我們試圖 其中,有一個失敗的機會。 857 00:46:36,260 --> 00:46:40,960 而事實上,現代的遊戲 控制器的最後一戰的對手, 858 00:46:40,960 --> 00:46:48,690 或用於在天際那些的NPC,基本上 經營小機器人的架構。 859 00:46:48,690 --> 00:46:50,380 >> 他們感知世界。 860 00:46:50,380 --> 00:46:52,910 他們建造了世界的模型。 861 00:46:52,910 --> 00:46:57,950 它們計算基於一組的 目標,他們希望實現的目標。 862 00:46:57,950 --> 00:47:03,110 他們計劃基礎的行動 在他們所知道的。 863 00:47:03,110 --> 00:47:07,940 而這些都是完全一樣的種 對我們構建機器人系統。 864 00:47:07,940 --> 00:47:11,420 因此,這些結構,以 把這個重新走到一起, 865 00:47:11,420 --> 00:47:14,500 往往是相當一致的。 866 00:47:14,500 --> 00:47:16,340 >> 因此,讓我們看看我們是否能夠看到。 867 00:47:16,340 --> 00:47:19,210 讓我們回到我們 井字棋的例子。 868 00:47:19,210 --> 00:47:22,690 而我要問我的幾個 博士後上來幫我。 869 00:47:22,690 --> 00:47:26,970 所以陳明,和Alessandro和 奧利維爾,如果你們會來。 870 00:47:26,970 --> 00:47:32,080 871 00:47:32,080 --> 00:47:35,440 而我會需要 一對夫婦的志願者 872 00:47:35,440 --> 00:47:37,590 >> 好吧,我看到了一個手右上 中間有。 873 00:47:37,590 --> 00:47:39,965 讓我帶一個,有人 進一步在後面可能。 874 00:47:39,965 --> 00:47:40,881 好了,在那邊。 875 00:47:40,881 --> 00:47:41,490 上來吧。 876 00:47:41,490 --> 00:47:44,190 877 00:47:44,190 --> 00:47:45,335 好吧。 878 00:47:45,335 --> 00:47:49,490 因此,讓我們說蓋了下來。 879 00:47:49,490 --> 00:48:03,700 如果你們會來的權利 回來在這裡對我來說太棒了。 880 00:48:03,700 --> 00:48:06,580 >> 所以這是一個叫百特的機器人。 881 00:48:06,580 --> 00:48:10,880 和Baxter是一個機器人,這是一個 商業平台,設計 882 00:48:10,880 --> 00:48:13,030 由一家名為反思。 883 00:48:13,030 --> 00:48:16,580 而這個機器人被設計 對於小規模生產。 884 00:48:16,580 --> 00:48:19,265 但今天我們要 用它玩井字棋。 885 00:48:19,265 --> 00:48:21,930 886 00:48:21,930 --> 00:48:27,150 現在,這個機器人也未嘗 這是比較獨特的。 887 00:48:27,150 --> 00:48:32,950 因為如果我站在任何地方 接近標準的工廠自動化 888 00:48:32,950 --> 00:48:39,580 系統,我會非常嚴重 危險受傷。 889 00:48:39,580 --> 00:48:45,600 >> 巴克斯特,但是,被設計成 相對安全進行交互。 890 00:48:45,600 --> 00:48:48,680 所以,我可以把這個機器人。 891 00:48:48,680 --> 00:48:52,350 你可以看到這是一個有點 位靈活,因為它到處移動。 892 00:48:52,350 --> 00:48:57,250 我可以重新定位 在這裡我想它去。 893 00:48:57,250 --> 00:49:03,410 現在,在一個正常的機器人系統, 我們將有一組接頭在這裡 894 00:49:03,410 --> 00:49:07,970 這將是直接 響應位置指令。 895 00:49:07,970 --> 00:49:13,180 他們不一定會在意 如果他們通過戶外運動, 896 00:49:13,180 --> 00:49:15,555 或者,如果他們被感動 通過我的胸腔。 897 00:49:15,555 --> 00:49:18,410 898 00:49:18,410 --> 00:49:19,120 >> 好。 899 00:49:19,120 --> 00:49:22,090 並且通常,如果你 這裡的工業體系, 900 00:49:22,090 --> 00:49:23,400 你會去遠不及它。 901 00:49:23,400 --> 00:49:26,280 會有黃色 安全膠帶周圍的一切。 902 00:49:26,280 --> 00:49:28,310 這個系統有一個 稍有不同的設計 903 00:49:28,310 --> 00:49:32,130 要友好,更容易 人們互動, 904 00:49:32,130 --> 00:49:36,380 中,在每一個關節,有一個春天。 905 00:49:36,380 --> 00:49:39,110 而非控制 一個準確的位置, 906 00:49:39,110 --> 00:49:43,110 我們控制一定量的 扭矩,一定量的力, 907 00:49:43,110 --> 00:49:45,874 我們希望成為的那個春天。 908 00:49:45,874 --> 00:49:47,790 好了,所以讓我 在這裡把我們的志願者。 909 00:49:47,790 --> 00:49:48,540 你好,你的名字是什麼? 910 00:49:48,540 --> 00:49:49,010 >> 聽眾:路易斯。 911 00:49:49,010 --> 00:49:49,635 >> 演講嘉賓:路易斯。 912 00:49:49,635 --> 00:49:50,490 很高興見到你。 913 00:49:50,490 --> 00:49:50,990 和? 914 00:49:50,990 --> 00:49:51,610 >> 聽眾:大衛。 915 00:49:51,610 --> 00:49:51,960 >> 演講嘉賓:大衛。 916 00:49:51,960 --> 00:49:52,550 很高興見到你。 917 00:49:52,550 --> 00:49:54,508 如果你們會等 這裡適合第二, 918 00:49:54,508 --> 00:49:56,420 我想給你 有機會做到這一點。 919 00:49:56,420 --> 00:50:00,610 所以這個機器人,如果你來了 如果你輕推就可以了, 920 00:50:00,610 --> 00:50:03,780 你會看到, 它移動一點點。 921 00:50:03,780 --> 00:50:06,349 如果你抓住它的權利 這裡在手腕上剛 922 00:50:06,349 --> 00:50:09,390 其中,以上這些按鈕,它 看起來你應該抓住的按鈕, 923 00:50:09,390 --> 00:50:13,100 但搶正上方相反,你會 能夠輕輕地操縱它 924 00:50:13,100 --> 00:50:14,545 通過空間。 925 00:50:14,545 --> 00:50:15,920 路易斯,你想給它一個嘗試? 926 00:50:15,920 --> 00:50:19,465 所以給它一點點 推下手。 927 00:50:19,465 --> 00:50:23,190 然後,如果你把你的手指 在那裡,並抓住它, 928 00:50:23,190 --> 00:50:24,807 因為它會動你呢。 929 00:50:24,807 --> 00:50:27,824 930 00:50:27,824 --> 00:50:29,365 好吧,你想給它一個嘗試? 931 00:50:29,365 --> 00:50:29,980 上來吧。 932 00:50:29,980 --> 00:50:32,300 所以給它只是一個溫柔 推那裡開始。 933 00:50:32,300 --> 00:50:33,820 你可以感受到是什麼感覺。 934 00:50:33,820 --> 00:50:40,060 然後,如果你抓住它那裡, 你就可以操縱左右。 935 00:50:40,060 --> 00:50:41,280 >> 好。 936 00:50:41,280 --> 00:50:47,360 因此通常,這種機器人的會 用於小規模製造。 937 00:50:47,360 --> 00:50:50,980 而且我要正義之舉這個手臂 淘汰下來的方式一點點在這裡。 938 00:50:50,980 --> 00:50:55,750 但是今天,我們將使用 同樣的井字棋播放系統 939 00:50:55,750 --> 00:50:59,520 根據我們先前建立極小。 940 00:50:59,520 --> 00:51:00,549 好不好? 941 00:51:00,549 --> 00:51:02,340 所以,你們是各 要玩遊戲。 942 00:51:02,340 --> 00:51:04,210 路易斯,你會是第一個。 943 00:51:04,210 --> 00:51:05,920 讓我抱起來這裡進行了第二次。 944 00:51:05,920 --> 00:51:10,949 我要你站在正確的 在這裡,只是讓每個人都可以看到你。 945 00:51:10,949 --> 00:51:11,990 你們是不是在這裡設置? 946 00:51:11,990 --> 00:51:13,120 >> 機器人:歡迎。 947 00:51:13,120 --> 00:51:15,910 讓我們玩井字棋。 948 00:51:15,910 --> 00:51:20,860 之前,不要抓住你的令牌 我說,這是輪到你了。 949 00:51:20,860 --> 00:51:22,050 我開始遊戲。 950 00:51:22,050 --> 00:51:27,900 951 00:51:27,900 --> 00:51:28,750 這是輪到我了。 952 00:51:28,750 --> 00:51:47,002 953 00:51:47,002 --> 00:51:50,210 演講嘉賓:現在,如果你可以採取的一個 你的作品,並繼續前進,並把它。 954 00:51:50,210 --> 00:51:51,446 機器人:它是輪到你了。 955 00:51:51,446 --> 00:51:53,430 [笑聲] 956 00:51:53,430 --> 00:51:54,836 這是輪到我了。 957 00:51:54,836 --> 00:51:56,820 [笑聲] 958 00:51:56,820 --> 00:52:12,196 959 00:52:12,196 --> 00:52:15,680 [笑聲] 960 00:52:15,680 --> 00:52:16,570 輪到你了。 961 00:52:16,570 --> 00:52:21,397 962 00:52:21,397 --> 00:52:23,688 演講嘉賓:人類是 你指望在這裡,路易斯。 963 00:52:23,688 --> 00:52:27,440 964 00:52:27,440 --> 00:52:28,350 >> 機器人:它是輪到我了。 965 00:52:28,350 --> 00:52:44,810 966 00:52:44,810 --> 00:52:47,015 >> 演講嘉賓:所以,巴克斯特 在這裡成功地阻止。 967 00:52:47,015 --> 00:52:49,670 968 00:52:49,670 --> 00:52:52,480 >> 機器人:它是輪到你了。 969 00:52:52,480 --> 00:52:53,360 這是輪到我了。 970 00:52:53,360 --> 00:53:14,730 971 00:53:14,730 --> 00:53:16,810 輪到你了。 972 00:53:16,810 --> 00:53:17,760 這是輪到我了。 973 00:53:17,760 --> 00:53:21,330 974 00:53:21,330 --> 00:53:23,830 演講嘉賓:我們將讓巴克斯特 在這裡完成了它的最後一步。 975 00:53:23,830 --> 00:53:36,622 976 00:53:36,622 --> 00:53:39,090 >> [笑聲] 977 00:53:39,090 --> 00:53:40,480 >> 機器人:這是一個平局。 978 00:53:40,480 --> 00:53:42,030 我會贏得下一次。 979 00:53:42,030 --> 00:53:43,365 >> [笑聲] 980 00:53:43,365 --> 00:53:45,210 >> 演講嘉賓:好的, 非常感謝,路易。 981 00:53:45,210 --> 00:53:46,094 謝謝。 982 00:53:46,094 --> 00:53:46,980 你可以走這條路。 983 00:53:46,980 --> 00:53:49,759 >> 機器人:我開始遊戲。 984 00:53:49,759 --> 00:53:51,800 演講嘉賓:所以讓我來解釋一下 給你多一個小 985 00:53:51,800 --> 00:53:55,410 前位,我們在這裡得到了複賽。 986 00:53:55,410 --> 00:53:57,200 究竟是怎麼回事? 987 00:53:57,200 --> 00:53:59,430 因此,機器人有一個攝像頭向上頂在這裡。 988 00:53:59,430 --> 00:54:01,330 而且它低頭看著板。 989 00:54:01,330 --> 00:54:04,470 而且它看到是否 它有一個紅色的O或藍色 990 00:54:04,470 --> 00:54:10,450 白色X.由於這些獲得放置在 板,這是基本相同的輸入 991 00:54:10,450 --> 00:54:13,890 我們將從讀取 從我們的屏幕我們的數據結構。 992 00:54:13,890 --> 00:54:17,290 它的運行相同 極大極小算法是 993 00:54:17,290 --> 00:54:21,010 能夠找到在哪裡 把一個很好的象徵。 994 00:54:21,010 --> 00:54:24,820 >> 然後我們給有關的命令 在這裡我們想令牌放置。 995 00:54:24,820 --> 00:54:26,120 手臂動了。 996 00:54:26,120 --> 00:54:31,750 它採用真空夾具適用 一些吸引到木件, 997 00:54:31,750 --> 00:54:35,240 把它撿起來,將其移動到右邊 現貨方面,然後釋放抽吸 998 00:54:35,240 --> 00:54:36,950 並把它。 999 00:54:36,950 --> 00:54:38,990 好吧,我們要去 給它多一槍 1000 00:54:38,990 --> 00:54:40,930 一個稍微聰明的球員在這裡。 1001 00:54:40,930 --> 00:54:42,290 你準備好了嗎? 1002 00:54:42,290 --> 00:54:46,150 好吧,如果你站在直到 這裡為A--出現這樣的局面 1003 00:54:46,150 --> 00:54:47,955 所以你可以看到大家。 1004 00:54:47,955 --> 00:54:48,830 然後[聽不清]。 1005 00:54:48,830 --> 00:54:49,330 >> 機器人:它是輪到我了。 1006 00:54:49,330 --> 00:54:50,455 >> 演講嘉賓:百特將啟動。 1007 00:54:50,455 --> 00:55:10,750 1008 00:55:10,750 --> 00:55:11,730 輪到你了。 1009 00:55:11,730 --> 00:55:16,490 1010 00:55:16,490 --> 00:55:17,520 這是輪到我了。 1011 00:55:17,520 --> 00:55:38,740 1012 00:55:38,740 --> 00:55:39,690 輪到你了。 1013 00:55:39,690 --> 00:55:46,330 1014 00:55:46,330 --> 00:55:47,165 這是輪到我了。 1015 00:55:47,165 --> 00:56:01,252 1016 00:56:01,252 --> 00:56:06,192 >> [笑聲] 1017 00:56:06,192 --> 00:56:08,542 >> 演講嘉賓:[WHISPERING]剛 讓他繼續前進,取得勝利。 1018 00:56:08,542 --> 00:56:09,500 機器人:它是輪到你了。 1019 00:56:09,500 --> 00:56:15,099 1020 00:56:15,099 --> 00:56:15,890 演講嘉賓:這是確定的。 1021 00:56:15,890 --> 00:56:20,390 1022 00:56:20,390 --> 00:56:21,360 >> 機器人:它是輪到我了。 1023 00:56:21,360 --> 00:56:24,825 1024 00:56:24,825 --> 00:56:26,805 >> [笑聲] 1025 00:56:26,805 --> 00:56:42,650 1026 00:56:42,650 --> 00:56:43,510 >> 我贏了。 1027 00:56:43,510 --> 00:56:45,620 >> [笑聲] 1028 00:56:45,620 --> 00:56:46,595 >> 我開始遊戲。 1029 00:56:46,595 --> 00:56:48,261 >> 演講嘉賓:好的,非常感謝你。 1030 00:56:48,261 --> 00:56:50,180 1031 00:56:50,180 --> 00:56:55,590 好吧,我想我們還有時間 多了一個優秀的井字棋的球員, 1032 00:56:55,590 --> 00:57:00,490 誰可以把這個事情 匹配,誰知道他們在做什麼。 1033 00:57:00,490 --> 00:57:03,010 >> [笑聲] 1034 00:57:03,010 --> 00:57:05,560 >> 誰是要在這裡是我們的冠軍嗎? 1035 00:57:05,560 --> 00:57:08,110 好吧,你的朋友自告奮勇你。 1036 00:57:08,110 --> 00:57:11,190 這對我來說不夠好。 1037 00:57:11,190 --> 00:57:12,194 再告訴我你的名字。 1038 00:57:12,194 --> 00:57:12,860 聽眾:塔米爾。 1039 00:57:12,860 --> 00:57:14,193 演講嘉賓:塔米爾,很高興見到你。 1040 00:57:14,193 --> 00:57:19,270 好吧,再次,我們打算把你 直到這裡,所以每個人都可以看到你。 1041 00:57:19,270 --> 00:57:22,070 你是我們的代表 在這場比賽了。 1042 00:57:22,070 --> 00:57:24,540 巴克斯特是哦,呵呵。 1043 00:57:24,540 --> 00:57:26,300 還是遺憾,一個OH和一個。 1044 00:57:26,300 --> 00:57:27,490 而它給你在這裡。 1045 00:57:27,490 --> 00:57:29,340 百特將獲得先動,雖然。 1046 00:57:29,340 --> 00:57:30,435 所以。 1047 00:57:30,435 --> 00:57:31,310 機器人:它是輪到我了。 1048 00:57:31,310 --> 00:57:45,226 1049 00:57:45,226 --> 00:57:48,208 >> [笑聲] 1050 00:57:48,208 --> 00:57:52,720 1051 00:57:52,720 --> 00:57:55,780 >> 輪到你了。 1052 00:57:55,780 --> 00:57:56,845 這是輪到我了。 1053 00:57:56,845 --> 00:58:18,130 1054 00:58:18,130 --> 00:58:18,965 輪到你了。 1055 00:58:18,965 --> 00:58:28,751 1056 00:58:28,751 --> 00:58:30,248 這是輪到我了。 1057 00:58:30,248 --> 00:58:51,210 1058 00:58:51,210 --> 00:58:52,160 輪到你了。 1059 00:58:52,160 --> 00:59:00,854 1060 00:59:00,854 --> 00:59:03,365 >> [笑聲] 1061 00:59:03,365 --> 00:59:04,240 機器人:它是輪到我了。 1062 00:59:04,240 --> 00:59:06,930 演講嘉賓:這是一個很大困難時, 你站在這兒,伙計。 1063 00:59:06,930 --> 00:59:19,400 1064 00:59:19,400 --> 00:59:21,840 [笑聲] 1065 00:59:21,840 --> 00:59:26,730 1066 00:59:26,730 --> 00:59:29,054 機器人:你們人類是那麼容易被擊敗。 1067 00:59:29,054 --> 00:59:30,803 [笑聲及掌聲] 1068 00:59:30,803 --> 00:59:31,886 演講嘉賓:非常感謝。 1069 00:59:31,886 --> 00:59:34,692 機器人:我贏了。 1070 00:59:34,692 --> 00:59:35,400 我開始遊戲。 1071 00:59:35,400 --> 00:59:39,500 >> 演講嘉賓:好的,十分感謝非常 太多的奧利維爾,並亞歷山德羅, 1072 00:59:39,500 --> 00:59:41,616 和陳明。 1073 00:59:41,616 --> 00:59:45,600 >> [掌聲] 1074 00:59:45,600 --> 00:59:47,040 >> 我想提出最後一點。 1075 00:59:47,040 --> 00:59:51,630 所以巴克斯特在非常 到此為止,被騙。 1076 00:59:51,630 --> 00:59:54,160 1077 00:59:54,160 --> 00:59:56,310 這是出乎意料的。 1078 00:59:56,310 --> 01:00:00,440 一個夢幻般的 有關AI的事情是,我們 1079 01:00:00,440 --> 01:00:05,070 做工作,AI,使我們能夠建立 真的很有趣,智能化 1080 01:00:05,070 --> 01:00:06,930 設備。 1081 01:00:06,930 --> 01:00:10,130 但是,我們也愛做的工作 因為它告訴我們什麼 1082 01:00:10,130 --> 01:00:13,940 有關如何人類是聰明的。 1083 01:00:13,940 --> 01:00:17,280 >> 人們所喜愛的 從我的實驗室研究是 1084 01:00:17,280 --> 01:00:23,660 看會發生什麼時 機器意外作弊。 1085 01:00:23,660 --> 01:00:27,070 我們這樣做原本不 百特玩井字棋, 1086 01:00:27,070 --> 01:00:30,340 但有一個名為淖較小的機器人, 誰發揮剪刀,石頭,布。 1087 01:00:30,340 --> 01:00:33,010 1088 01:00:33,010 --> 01:00:35,800 有時後 打很多很多 1089 01:00:35,800 --> 01:00:41,580 無聊的剪刀,石頭,布的遊戲, 機器人將拋出一個手勢, 1090 01:00:41,580 --> 01:00:48,616 輸了,然後突然改變 它的姿態,說,我贏了。 1091 01:00:48,616 --> 01:00:50,480 >> [笑聲] 1092 01:00:50,480 --> 01:00:56,090 >> 現在,有時我們也不得不機器人, 只是作為一個控制,拋出一個手勢, 1093 01:00:56,090 --> 01:01:01,270 贏了,並改變其姿態 輸了,丟了比賽, 1094 01:01:01,270 --> 01:01:04,070 作弊是為了減肥。 1095 01:01:04,070 --> 01:01:07,540 這是幾乎沒有引人注目。 1096 01:01:07,540 --> 01:01:09,890 該秘籍機器人 為了贏得人們 1097 01:01:09,890 --> 01:01:14,660 到,就好像它是響應 出去找他們,喜歡它 1098 01:01:14,660 --> 01:01:17,690 正在積極尋求他們的破壞。 1099 01:01:17,690 --> 01:01:19,210 >> [笑聲] 1100 01:01:19,210 --> 01:01:20,990 >> 它成為一個代理。 1101 01:01:20,990 --> 01:01:21,840 這就像一個人。 1102 01:01:21,840 --> 01:01:23,970 它有信念和意圖。 1103 01:01:23,970 --> 01:01:27,470 而且這不是善意。 1104 01:01:27,470 --> 01:01:33,790 和機器人拋出 遊戲只是故障。 1105 01:01:33,790 --> 01:01:36,990 這只是一個損壞的設備。 1106 01:01:36,990 --> 01:01:41,405 讓我告訴你一些例子 的,從我們的一些參與者。 1107 01:01:41,405 --> 01:01:43,990 1108 01:01:43,990 --> 01:01:45,600 因此,這裡的作弊是為了減肥。 1109 01:01:45,600 --> 01:01:46,266 >> [視頻回放] 1110 01:01:46,266 --> 01:01:47,010 - [聽不清]獲勝。 1111 01:01:47,010 --> 01:01:49,550 讓我們玩。 1112 01:01:49,550 --> 01:01:50,538 >> -Wait,是什麼? 1113 01:01:50,538 --> 01:01:54,490 1114 01:01:54,490 --> 01:01:55,352 >> - [聽不清]獲勝。 1115 01:01:55,352 --> 01:01:58,280 讓我們玩。 1116 01:01:58,280 --> 01:01:59,400 >> [聽不清]獲勝。 1117 01:01:59,400 --> 01:02:02,290 讓我們玩。 1118 01:02:02,290 --> 01:02:05,490 >> 演講嘉賓:這裡的作弊取勝。 1119 01:02:05,490 --> 01:02:06,438 >> - 是的,我贏了。 1120 01:02:06,438 --> 01:02:07,394 讓我們玩。 1121 01:02:07,394 --> 01:02:08,828 >> - 你不能這樣做。 1122 01:02:08,828 --> 01:02:10,740 >> [笑聲] 1123 01:02:10,740 --> 01:02:12,174 1124 01:02:12,174 --> 01:02:13,979 >> - 是的,我贏了。 1125 01:02:13,979 --> 01:02:14,520 -你作弊。 1126 01:02:14,520 --> 01:02:17,990 1127 01:02:17,990 --> 01:02:20,010 現在,您被騙。 1128 01:02:20,010 --> 01:02:21,140 >> - 是的,我贏了。 1129 01:02:21,140 --> 01:02:22,940 >> - 嘿,你騙子。 1130 01:02:22,940 --> 01:02:26,670 你欺騙,超級騙子。 1131 01:02:26,670 --> 01:02:27,650 >> [結束播放] 1132 01:02:27,650 --> 01:02:31,130 >> 演講嘉賓:這些不同 反應迅速 1133 01:02:31,130 --> 01:02:34,890 改變我們的感知設備。 1134 01:02:34,890 --> 01:02:36,780 這是否意味著, 我們特意打造 1135 01:02:36,780 --> 01:02:40,370 該作弊,因為這是機器 我們能做的最好的工程? 1136 01:02:40,370 --> 01:02:44,680 沒有,但它告訴我們什麼 真正有趣的人。 1137 01:02:44,680 --> 01:02:49,710 這件事欺騙了你和 偷了你的勝利,這是 1138 01:02:49,710 --> 01:02:53,660 東西是活的,這是 動畫,那是出去找你。 1139 01:02:53,660 --> 01:02:54,680 它具有的精神狀態。 1140 01:02:54,680 --> 01:02:55,400 它有信念。 1141 01:02:55,400 --> 01:02:57,170 它的意圖。 1142 01:02:57,170 --> 01:03:01,540 >> 這件事,手中的 遊戲中你,那不是。 1143 01:03:01,540 --> 01:03:04,670 這只是發生故障。 1144 01:03:04,670 --> 01:03:08,900 這是在許多方面它為什麼 易投擲遊戲的孩子。 1145 01:03:08,900 --> 01:03:12,050 但是,如果你試圖欺騙他們 和排序的取得勝利 1146 01:03:12,050 --> 01:03:15,200 如果,你知道的,只是為了縮短 比賽中,他們會抓住你的時候了。 1147 01:03:15,200 --> 01:03:19,040 1148 01:03:19,040 --> 01:03:23,140 這些種的效果是 我們看到走出來的AI, 1149 01:03:23,140 --> 01:03:26,490 他們教給我們很多關於自己。 1150 01:03:26,490 --> 01:03:28,076 >> 好吧,這就是它的今天。 1151 01:03:28,076 --> 01:03:30,450 非常感謝大衛, 哈佛製作團隊 1152 01:03:30,450 --> 01:03:32,350 對下來。 1153 01:03:32,350 --> 01:03:33,820 >> [掌聲] 1154 01:03:33,820 --> 01:03:36,760 1155 01:03:36,760 --> 01:03:41,840 >> 我們會看到你的測驗之一, 然後一最後一次演講。 1156 01:03:41,840 --> 01:03:43,025 祝你有美好的一天。 1157 01:03:43,025 --> 01:03:44,965 >> [掌聲] 1158 01:03:44,965 --> 01:03:48,360 1159 01:03:48,360 --> 01:03:51,825 >> [音樂播放] 1160 01:03:51,825 --> 01:03:54,950 大衛·馬蘭:好吧,我們可能需要 引入加密一些, 1161 01:03:54,950 --> 01:03:55,450 對? 1162 01:03:55,450 --> 01:03:58,650 因為那麼頭 這些HTTP請求將 1163 01:03:58,650 --> 01:04:01,530 炒使任何人 試圖嗅出你的流量 1164 01:04:01,530 --> 01:04:03,400 實際上不會能夠看到它們。 1165 01:04:03,400 --> 01:04:05,254 那麼,有什麼辦法解決這個問題? 1166 01:04:05,254 --> 01:04:07,920 好了,我們需要真正引入 加密入公式, 1167 01:04:07,920 --> 01:04:11,010 這樣,當該人是 從A發送數據給B, 1168 01:04:11,010 --> 01:04:12,390 我們可以安全地send-- 1169 01:04:12,390 --> 01:04:14,590 >> [笑聲] 1170 01:04:14,590 --> 01:04:19,530 >> 在一個方式中的信息,該 攻擊者無法,其實,看到它。