[音楽再生] SPEAKER:再びようこそ、みんな。 これはCS50です。 そして今日、私たちはたくさんあり​​ます 語る興味深いです。 まず、しかし、私は思い出させるために持っています いくつかの行政もののこと。 今週は、水曜日クイズ1です またはエールセクションの 火曜日と木曜日に、木曜日に。 クイズレビューがあります 今夜エール7:00 5:30で。 ハーバード大学では、彼らは昨日の1を記録しました。 そして、誰もがそれをオンラインで見ることができます。 また、今週か来週初め、 私たちは私たちの最後のCS50の講義があります。 【うなり声]私は知っています。 これは、こんなに早く来ました。 エールの学生は、ライブを持っています ここではロースクールで講義 金曜日の講堂。 ケーキがあります。 ハーバード大学の学生が持っています 月曜日にサンダースの最後の講義。 また、ケーキがあります。 また、今週金曜日に、用のもの あなたの人はニューヘブンに来ています、 我々はCS50エキスポがあります。 私たちは30以上のものを持っています 異なるグループが登録され あなたのすべてを表示します 自律ヨットから、 認識システムへ コンピュータにデジタル肖像画、 音楽とコンピュータ生産音楽。 だから、私たちに参加してください。 私はそれは素晴らしい時間になるだろうと思います。 今日は、しかし、我々はを取得 AIの話を続け、 人工知能について。 そして、物事のこと 私たちは今日に取得するつもりです 方法のアイデアがあります 問題を解決するために、AIを使用しています。 さて、いつものように、のは始めましょう シンプルなもので。 そして、私たちは開始するつもりです シンプルなアイデアを持ちます。 そして、それは検索を使っています。 だから私分間想像 私は実行する必要があるタスクを持っています。 そして私は、そのタスクを持っているしたいのですが いくつかのソフトウェア・エージェントによって自動化されました。 私はセットを予約しようとしていることを想像してみて 発の便、のは、ボストンを言わせて サンフランシスコへ。 私はを通して行くことができると私は使用することができます 素晴らしいオンライン検索の1 どうするつもりされているツール、 私たちがしている基本的に同じプロセス 今日を歩くつもり。 しかし、あなたはそれを持っていなかった場合 ツール、あなたは何をしますか? さて、あなたは見ることができると 私はボストンにいるよ、見て言います。 何便が私にはありますか? 今、多分私は3を持っています ボストンのうち可能な便 それは時間に適合します 私がままにする必要がある場合。 私はシカゴに飛ぶことができます。 または私はマイアミに飛ぶことができます。 または私はニューヨークに飛ぶことができます。 私は、それぞれから見ることができます これらの目的地の都市の一つ どのような場所を考えます 私は多分に達する可能性があります これらの個々の各都市から。 だから多分、シカゴから、私は得ることができます サンフランシスコへの直行便。 それは優秀なのです。 または私はデンバー行きの航空券を得ることができます。 さて、多分サンフランシスコへのフライト 私のための完璧なソリューションです、 しかし、そうでないかもしれません。 たぶん私は何かを探しています それは少し安くです または私のスケジュールの少しでも良いです。 だから私は他のもののために見ることができます 可能性がそこにあるかもしれません。 だから私はデンバーで見ることができます。 デンバーから、まあ、 私はオースティン行きの航空券を取得することができます。 オースティンから、多分私は得ることができます フェニックス、​​フェニックスからのフライト サンフランシスコへ。 今、私はまだいませんよ。 多分ありますので ニューヨークからの直行便 サンフランシスコにそれは私のために最適です。 それとも、マイアミからのフライトがあります デンバーを通じてかなり安いということ。 だから私はまだ行かなければなりません。 そして、私はまだそれらのすべてを見ています 私はまだ調査されていない都市。 私は徹底的にすべてをチェックする必要があります 私が持っているかもしれない可能性。 だから、ニューヨークから、多分私は得ることができます ナッシュビル、ナッシュビルからのフライト オースティンへ。 そして私は私がどこに知っています。 そして私は私ができる、オースティンから知っています フェニックス、​​フェニックスから飛びます サンフランシスコへ。 私はマイアミに最初に飛ぶ場合は、しかし、 多分私はマイアミからのフライトを取得することができます ナッシュビルへの、またはマイアミからオースティンへ。 そして今、私はすべて試してみました 可能性。 私は、このグラフを構築してきたこと 私は可能なルートのすべてを示しています 私が取ることができるかもしれないということ。 我々はこれらを表す場合 問題の種類、 我々が表現するつもりはありません このグラフのように明示的に、 そのグラフを表すものではありませんので、 私たちが行ってきた場所の歴史。 私はから飛んだことを知っ サンフランシスコへのフェニックス 私は経由して来たかどうか私に教えてくれありません ナッシュビル、またはデンバー経由、またはマイアミ経由。 だから私は何をしよう代わりであります 私はこの同じ問題を取りますよ、 私はツリーとしてそれを表現します。 そして、ツリーのルートに、時 トップ、私は、私が始めた場所に出してあげます ボストン。 そしてボストンから、私は見てみましょう 可能な位置のすべて 私は旅行することができます。 さて、このケースでは、私は3を持っていました、 シカゴ、ニューヨーク、マイアミ。 そして私は、のそれぞれを見ていきます ツリー内のこれらの子供たち。 シカゴから、私は見ました 私は2つのフライトを持っていました。 私はに直接飛ぶことができます サンフランシスコやデンバーへ。 今サンフランシスコ、それが私の目標です。 それが私の目的地です。 つまり、このツリーのリーフになるだろう。 つまり、私は行くつもりはありませんよ サンフランシスコの後にどこか。 デンバーから、しかし、 私はデンバーから飛ぶことができます オースティン、オースティンからフェニックスに、 フェニックスからサンフランシスコへ。 そして今、再び、私は葉に達しました。 私は、次のに戻って行くことができます 私は完全に探求していない都市。 それは、ニューヨークも行くだろう 戻って私のツリーの最上部まで、 ニューヨークに降りてきます。 ニューヨークから、私はに飛ぶことができます ナッシュビル、ナッシュビルからオースティン、 オースティンからフェニックスにあり、 フェニックスからサンフランシスコへ。 そして最後に、1つの都市のI マイアミは、まだ見ていません。 まあ、マイアミから私は2を持っていたと述べました 可能性、ナッシュビルやオースティン。 私はナッシュビルに飛ぶ場合は、よく、私は飛びます ナッシュビルから、オースティン、フェニックス、 サンフランシスコへ。 私はオースティンに飛ぶ場合、私は、オースティンフライ フェニックス、​​サンフランシスコへ。 そして今、私は木を持っています。 それは完全なツリーです。 これは、すべての可能性とです 私が取ることができるすべてのパス。 私が起動する場合、つまり、 上部にあるツリーのルート 私は、のいずれかに下ります 葉、それだけではない私に指示 ここで私はするつもりです 結局、サンフランシスコ、 しかし、それは、そのルート私に語りました 私はそこに着くために取る必要があります。 さて、これらのどちらがベスト? これについてはまあ、何もありません 問題は、まだ私に語りました それらのどれが最適なソリューションです。 たぶん私は、最大で約ケア 私は、空気中にいるどのくらいの時間、 または私は飛んだ距離。 その場合には、シカゴサンへ フランシスコは、最短数であるかもしれません 空気中のマイル。 たぶん私は、コストを気に。 そして、我々はすべての直行便を知っています 通常より高価です。 だから多分私はこれを取る場合 後方ルートの種類 マイアミ、ナッシュビルを通じ、 オースティン、フェニックス、​​多分その後 私は低価格を得ます。 しかし、私は、任意に最適化することができました 私が気に基準。 誰が最高の持っています フライトのWi-Fi、またはこれ 空港利用可能な最高の料理を持っています。 そして、それらのそれぞれがかもしれません 私は別のソリューションを提供 私は最善であると見ています。 この種の問題、 ここで、我々が行っています このツリーを構築します その後の可能性、および それらのそれぞれを見て 個々のパス、および検討 それら満たすのどの 私たちのための基準、 我々はコールするつもりです それらの検索の問題。 そして、私たちはたくさんあり​​ます アルゴリズム、そのうちのいくつか 我々が行くように、すでに見てきました それらの木を探ります。 私たちは、私のようにそれを行うことができます ただ、深さ優先探索をしました、 まで我々はできる限りダウン我々 葉をヒットしてから、アップ戻って来て、 右バックダウン。 それとも何だ行うことができます 幅優先探索と呼ばれます。 私たちはすべてを拡大する可能性が 上部に、その後、 すべて1行 その下に、その後、 すべてその下に1行。 これらの探索木 AIの基本です。 しかし、彼らは非常に得ることはありません それは右のすべての時間。 実際には、多くのケースで 私たちは本当に気にすることを、 私たちは木を構築したいです、 しかし、我々は実際にはありません 意思決定のすべてを作るために得ます。 これらはと呼ばれるような状況です また、既知の敵対検索、 ゲームプレイを作成する方法として、 システムおよびそれのために支払いを受けます。 しかし、これらは種類があります システムのどこに 私はから行くときに選択するかもしれません 私は、次に行く都市ボストン、。 しかし、その後、他の誰かが得るかもしれません 私が飛ぶ場所についての決定を行います。 したがって、これらを構築​​します 種類構造、我々はしています 少しを取る必要があるとして それに異なるアプローチ。 私たちのことができるようにするつもりはありません ただ木を検索 もう、私たちはだからではありません コントロールのだ1 これらの決定点のそれぞれの。 それでは、簡単なを想像してみましょう 三目並べのようなゲーム。 私が開始することができます 完全に空白ボード。 そして、三目並べで、 Xは、最初に再生するために取得します。 そして、私はすべてを考えることができ Xは作ることができる可能な動き。 そして、私は1つの演奏だ場合 Xは、それは素晴らしいことです。 私は可能な9を持っています 私が作ることができることを移動します。 私はいずれかのXを入れることができます これらの9箇所の。 そして、それらのそれぞれのI 次に何が起こるか想像できます。 さて、この場合には、他の プレイヤーは、ターンを取ることになるだろう。 Oがターンを取ることになるだろう。 そして、それらのそれぞれから、そこに 8つの異なる場所になります そのOは、そのマーカーを配置可能性があります。 のは私があったことを決めたとしましょう 中央にXを置くつもり。 それはいつものように思えます 良い開放の動き。 私はその下に見ることができます、 Oが作る8つの可能な移動。 私はXをプレイしている場合今、それは素晴らしいです。 私は1つのIを選択してもらいます 途中で1つに行きます。 しかし、今Oが選ぶことを得ます。 そして、私はコントロールを持っていません その決定を超えます。 しかし、それらのそれぞれから 可能なボードの位置、 その後、別のあります 可能性のセット。 それがあることになると 再び私の番、私は希望 よく、ピックアップと言ってもらいます、 Oはに移動した場合、よく、 その後、左側の真ん中のスポット、 私は可能性のセットを持っています どこで私は私の次の動きを取ることができます。 これらのことから、私はすべてを検討することもでき それらの下の可能性。 そしてOはなるだろう それらの中から選択します。 そして、私はこれを構築保つことができます 木は私がポイントになったアウトまで いずれかの誰か だgame--勝 葉考慮されるようになりましたnode-- またはボードが完全にいっぱいです 誰が勝っていません。 そして、それはまた、リーフノードになるだろう。 それはネクタイになるだろう。 しかし、これにトリッキーなことがあります これは、通常の検索であれば 問題は、私のことができるようにしたいです 言う、よく、Xは、ここに行く必要があります。 Oは道の上にそこに行く必要があります。 そしてXはこっちに行く必要があります。 そしてOが道の上にそこに行く必要があります。 そしてXは、3を得ることができます 行中で、私は勝ちます。 そして、ゲームオーバーになります 5移動し、私のための3つの中で、 私の相手のための2つ。 しかし、私はいつもそれを選ぶために得ることはありません。 だからではなく、私たちは何をしています 実行しているつもり 我々は、必要があるとしているされています 新たな戦略を持っています。 そして、その戦略 ゲームプレイングアルゴリズムは、頻繁に使用します ミニマックスと呼ばれるものです。 の中心的な考え ミニマックスは、私たちがしているということです 与える動きを迎えに行きます 私たちの相手最悪の可能なセット 彼らが作ることができることを移動します。 それは私に何か良いをしません 移動場所を選択します 私は後に勝つことができるかもしれません 私の相手ではないので、その 私にそのチャンスを与えるつもり。 彼らはいくつかを選択するつもりです 私のためにひどい結果。 だから私はするつもりです 私の相手を強制的に移動 私のために、より良い何かをします。 大丈夫。 のは、それが外に果たしている方法を見てみましょう。 そこでここでは擬似コードのアルゴリズムです。 私たちは、生成しようとしています 全体のゲームツリー。 私たちは、構築しようとしています 全体の構造。 そして、我々は通過します。 そして、一番下のそれぞれで 葉のそれぞれの端末ノード、 私たちはどのように評価します 貴重なことは私にはありますか? そして、我々はそのことを大切にしようとしています 陽性であるとして私のために良いです。 私のために良いものではありません事 以下、正、またはゼロになり、 あるいは負。 だから、三目並べで、多分 私のための勝利は良いです。 それは一つです。 そして、タイはゼロです。 そしてに対する損失何か 私は、多分それは負の一つです。 重要なのは良いことです それは、私のために、より高いスコアです それが受け取ります。 で、それらの可能性から、 一番下、我々は上向きにフィルタリングします。 そして、それは選択する私のチャンスだとき 候補の中から、 私はだいずれかを選択します 最も高いスコアを得ました。 そして、それは私だ時はいつでも 反対派は、選択するターン 私は、彼らがしようとしていると仮定します 最低スコアのいずれかを選択します。 そして、私はこれを行う場合はすべての方法 ツリーの最上部まで、 私が与えたパスを選択していますよ 私私が得ることができる最高の結果、 私の相手と仮定 すべての右の移動になります。 すべての権利なので、見てみましょう このアクションの最初の。 そして、我々は実際によ そのためのコードを見てください。 だから私はこの大きな木を持っている想像してみてください。 そして今、私は三目並べをプレイしていませんよ。 私はあなたを与えたかったです 少しリッチな何か。 だから私はどこにいくつかのゲームを持っています 多くの異なるスコアがあります 私は最後に持っていることができること。 そして私はこの完全なツリーを構築。 そして、私が最初に移動してもらいます。 私は、ツリーのルートでよ。 そして私は私が取得that--選ぶことを得ます その最初のノード全体に最大化します。 そして、私の相手は行くことを得ます。 そして私はもう一度行くことを得ます。 下部のダウンだから、私はセットを持っています 私が選ぶことができる可能性、 ゲームの他の端末の状態。 私はその中でダウンだ場合 遠くの隅を残し、 私は選択肢を持っていることがわかり 8、7、および2つの間に、 よく、私は選ぶことを得る一人です。 だから私は選択するつもりです それらの最良のもの。 私は8を選択するつもりです。 だから私は、もし私が今まで知っています その時点までに降り、 私は、8ポイントを取得できるようになります。 私は次のポイントで終了した場合 、次のノードの上に、オーバー 9、1、または6、よく、私は それらの最良の選択になるだろう。 私は9を選択します。 私は間の選択を持っている場合 2、4、1、 私は4、最高]を選択します。 今、私はレベルで見れば それ以上、私の相手 一つはその選択をすることを得るです。 だから、私の相手はになります 選択し、私は彼を与えたいと思いますか 起こっていること 彼に8ポイントを得るために、 または私は彼だものを与えてください 彼に9点を与えるつもり、 またはそのことが起こっています 彼に4点を与えるには? そして、私の対戦相手は、さ 合理的、起こっています それらの最小値を選択するには、 4を選択しようとしています。 そして、私はこれを行うことができます ツリー全体を通じ。 私はそれまで行くことができます 3の真ん中のセット。 そして、私はの間で選択することができます 一3、及び5。 そして、私は選ぶことを得ます。 だから私は、5つを選択します。 私は3、9、または2を選択することができます。 私が選ぶことを得るので、私は9を選択します。 六、5、または2、私が選択します。 私は6を選択してもらいます。 その上のレベルでは、誰が選択するようになりますか? 誰が選択するようになりますか? 他の男、私の相手。 そこで彼らは、5を選択 9、または6、どれ? 聴衆:5。 SPEAKER:彼らは5を選択します。 彼らは、最小値を選択してもらいます。 そして最後の1、 1つ、2つまたは3を選択します。 私が選ぶことを得るので、私は3を選択します。 ナイン、7、または2、私は9を選択します。 そして、11、6、または4つは、私は11を選択します。 私の相手は次の3つを選択し、 9、または11は、最小値を選択します。 彼は私に3を与えます。 そして、最終的にの上部に 木は、私は再び選択してもらいます。 そして私はの間で選択するために取得 4つ、5つ、または3。 だから私は、5つを取ります。 私はすべてを制御するようになった場合、私は思います 11につながったパスを取ります。 しかし、私はその選択をするために得ることはありません。 私は、そのパス下に行く場合。 私の相手はに私を強制します 3につながる選択肢。 だから私は行うことができます最善です その中の分岐を取るために、 最終的なその選択をします 5つのポイントに私をリードして行きます。 それはミニマックスが何をするかです。 大丈夫。 それでは、その見てみましょう。 だからここCS50で IDEは、そのプログラムであります 三目並べを再生するにはミニマックス実装しています。 私たちは、構築しようとしています 表現まで。 我々は2つ​​のopponent--を持っているつもりです または2選手、当社のコンピュータ プレイヤーと人間のプレーヤー。 プレーヤー番号1が再生されます O.は、それはマシン選手になるだろう。 彼らは、第二移動してもらいます。 そして、他のプレーヤー、私たちの 人間のプレイヤーは、Xとなります そして、私の人生aを作るために 私は行くよ、シンプルで小さな そのプレイヤー負のいずれかを標識します。 だから、僕は掛けることができます 負のいずれかで交換します 一人のプレイヤーと他の間で。 すべての権利、それでは見てみましょう 私たちが実際にやろうとしています。 私たちは、ボードを定義しようとしています。 これはよく、私たちが行っている、になるだろう それは3による三できるようにするために、 または私たちも再生することができます 5または7で5 あなたが希望の場合7三目並べによって 以下のように、いくつかの寸法Dに基づいて、 そして、我々はいくつかあります ヘルパー関数の それは次のようなことをやります 、screen--またはごめんを初期化します 私たちの変数を初期化、クリア 画面は、画面上にボードを描きます ボードをチェック1 かどうかを確認します 勝者、1があります コマンドラインを解析し、 ただ、中に読み込むものを助けるために 入力、および1つの機能は、ミニマックスと呼ばれます。 そして、それは一つです 我々はについて最も気にします。 しかし、ここでは主に最初のを見てみましょう。 私たちは何をしますか? まあ、我々はするつもりです 私たちのコマンドラインを解析し、 ただで読み、何を参照 寸法ボードは、我々が持っているしたいと思います。 私たちは、ボードを初期化します。 そして、我々は、いずれかを入力します 繰り返し大きな野生のループ、 ゲームがあるまで移動を受け入れます 勝った、または残された動きはありません。 私達はその通過するたびに ループは、我々は、画面をクリアします。 私たちは、画面上のボードを描画します。 そして、我々は一種の意図的にしています サブルーチンとしてこれらを抽象化、 私たちは、あまり心配する必要がないように 彼らが起こる方法の詳細については。 後で今日のコードを持っています。 そして、あなたはを通して見てみたい場合 そしてあなたがそれらのすべてを見ることができ、見つけます。 しかし、我々は、画面上にボードを描画します。 そして、我々はチェックします 参照、我々は勝者を持っているのですか? 誰かがこのゲームに勝っていますか? 彼らが持っている場合は、印刷します 勝利メッセージアウト。 そして、我々は、ゲームを終了します。 また、チェックします ネクタイがあるかどうかを参照してください。 これは、タイがあるのか​​どうかを確認するために容易になるだろう。 これは、すべてのスペースがいっぱいであることを意味し、 まだ勝者がなかったです。 私たちは、ネクタイを宣言することができて、実行が行われます。 そして、本当のmeat--場合 それは機械の選手です、 我々はそれを許可します 検索するマシンプレーヤー このミニマックスアルゴリズムを使用を通して、 それができることを最善手を見つけることができます。 そして、我々はその動きを上にあげますよ。 そうでなければ、それは人間の選手だ場合、 私たちは人間からいくつかの入力を読み込みます。 そして、それは人間のかどうか 選手やマシンプレーヤー、 我々は少しのカップルをやります エラーチェックのビット、 それが境界内にとどまることを確認してください ボードの実際の寸法の 我々が持っていることを、確認してください そのスペースが空であることを、 誰のは置いていないこと すでにそこにある作品。 そして、我々はただあげますよ ボード上の作品は、 次の層への選手を変更する、および 動きが起こってきたどのように多くの増分。 それがためのメインループです 私たちの三目並べゲーム。 ミニマックスは、その後、正確です 前我々のアルゴリズム。 調整のみという 我々はそのため私たちを作りました 高い再生することができます 次元のボードは、我々ましたです 深さと呼ばれるこの追加のパラメータを保ちました。 そして、深さは、ちょうど私があれば、言います そのツリーを下方向に検索 私は、これまで降ります いくつかのレベルの深さを越えて 私は望んでいないこと 先に進むためには、 私は停止し、ちょうどつもりです その時点でボードを評価します。 私がチェックし、勝者があるかどうか表示されます。 勝者がある場合、私はそれらを返します。 そうでなければ、私はループを通過します。 そして、私はすべてのため、言いますよ 可能な位置 私は可能性ができること 、私の動きとして、私はよ取ります 架空のボードを構築すること そのボード上の私の動きを含み、 して、再帰的ミニマックスを呼び出します。 それは私の移動の場合は、私が見つけるために取得 最大のスコアを持っている1。 それは私の相手の動きなら、我々は見つけます 最小スコアを持っている1。 そして、他のすべてがあります 単に記録保持。 すべての権利なので、のは、この実行を見てみましょう。 実際には、多分私達がすることができます ボランティアのカップルを取得 出てくると三目並べを再生します。 [聞こえない] 1、および1 右が、2、より多くの。 アップさあ。 それでは、先に行くとしましょう 完全にこれを再起動してください。 だから、こんにちは。 聴衆:こんにちは。 スピーカー:あなたの名前は何ですか? 聴衆:Gorav。 SPEAKER:Gorav。 聴衆:私はレイラです。 SPEAKER:そしてレイラ、レイラと、申し訳ありません。 アップさあ。 Gorav、我々はあなたが最初に行く必要があるとしています。 そして、私はないことをお願いするつもりです ものすごく良い三目並べプレーヤー。 [OK]を、ので、すべての圧力はあなたにオフになっています。 私たちのマシンということは、しかし、見てみましょう プレイヤーが実際にスマートな何かを行うことができます。 だから先に行きます。 あなたはここで座標を入力するつもりです あなたはあなたにXを入れたいと思います。 A0、[OK]をクリックし、マシンが行ってきました すぐにとA1にそのマークを付けます。 ボード上にOを入れてください。 すべての権利、今先に行きます。 どこに行きたい? C2。 私たちのマシンプレーヤーが取りました 中央の広場は、あなたをブロック。 だから、よかったです それが行うためのスマートなもの。 あなたはそれをブロックしました。 それは優秀なのです。 それはそこの角を取ります。 そして、それはにあなたを強制的に起こっています 最後のスペース、B0を取ります。 そして、ゲームは引き分けに終わります。 しかし、それは合理的なを果たしました あなたとの試合、右? すべての権利、おかげで非常に多く、Gorav。 [拍手] すべての権利、レイラ、我々が行っています ここにあなたのゲームまで。 聴衆:ああ、素晴らしいです。 SPEAKER:私たちは与えるつもりです あなた4三目並べフォー。 さて、4×4で、あなたは勝つために持っています 行の行の4つの、3つはありませんと。 そして、それはすべてあなたのものです。 だから、レイラはD1を取りました。 私たちは今、従うつもりです ここに私たちのコンピュータプレーヤー。 3三目並べのThreeは一種であります 私たちのすべてのために簡単であることを。 しかし、それは参照することがうれしいです スマート移動を行うコンピュータプレーヤー。 4フォーになります 少しトリッキーです。 素敵行います。 すべての権利なので、レイラさんは締めくくりました。 ああ、私たちはそこで終わっている必要があります。 しかし、それでは、ここで1以上のアップを実行してみましょう。 レイラので、よろしくお願いします。 素敵行います。 [拍手] だから、私たちの三目並べのプレーヤーが行きます 通って場所を見つけ、 このミニマックスを使用してそれらを解決します。 そして、私は深さの設定を持っていました それそのように 速すぎて実行されないだろう、 これはおそらく理由です レイラはうまく先に行くことができました 彼女がいた、と非常によく行ったように。 単にこれらのシステムは、その 通って、力任せに行きます 深く、深く、深く行きます、 そして、解決策を見つける保ちます 彼らは必要があると、システムのそれらの種類 よく、これらにはかなり成功しています、 標準のボードゲーム。 そして実際に、私たちは見ている場合 3三目並べゲームによって3、 これは基本的に解決される問題です。 そして、これは素晴らしい図であります XKCDでランドールマンローから、 あなたがすべき移動上映 相手の移動を考えると、取ります。 これは、我々はできるものです 簡単に事前に指定します。 我々はより多くを取得としてではなく、何が起こります 複雑なゲーム、より複雑なゲーム、 大きなボードは、より多くの、存在する場合 可能性、より深い戦略? それは、このことが判明 まだ検索力ずく 除いて、合理的によくありません あなたがポイントに到達したとき その木はとても大きい場合 あなたはそれをすべてを表すことができないこと。 あなたはツリー全体を計算することができない場合には、 あなたが前方に移動してプッシュすることができないとき あなた自身あなたがきた点に メモリ内にツリー全体を得て、 またはあなたはそれを得ることができるかどうか メモリ内の、それだけだろう 検索するあなたはあまりにも時間がかかり それは、あなたがよりスマートに何かをしなければなりません。 それを行うためには、あなた 2つのことを行う必要があります。 まず、あなたはいくつかを見つける必要があり あなたの深さを制限する方法。 まあ、それは大丈夫です。 我々はいくつかの素晴らしい、裸の最小値を見つけることができます あなたが唯一のように深く行くことができる、と言います。 しかし、あなたはそれを行うとき、それはあなたを意味 これらの部分的に不完全なボードを持っています。 そして、あなたは、選択する必要が私は好きですか この部分的に不完全ボード、 または、この部分的に不完全ボード? そして、私たちの4で上 4三目並べゲーム、 当社のコンピュータプレーヤーが降りました 下に、それは言いました、 私は2つの異なったボードを持っています。 どちらも勝利です。 どちらも1は損失です。 どちらも1はネクタイです。 私はそれらの間どのように選ぶのですか? そして、それは持っていませんでした それを行うのスマートな方法。 私たちは、この種のを見ます 評価は、すべての時間が起こります 我々は、より複雑なゲームに入るとして。 チェスは偉大な例です。 チェスでは、まず、持っています すべての、大きなボード。 私たちは、はるかに多くの作品を持っています。 そして、これらの作品の位置づけ これらの作品は、移動することと方法 非常に重要です。 だから私はミニマックスを使用する場合は、 私が指定できるようにする必要があります このボード、言います 誰が勝っていないか、まだ失ってしまいました、 何とかこの他より優れています 誰が勝っていないか、失われた基板。 これを行うには、私が行う可能性があります 私はちょうどかもしれないようなもの 私が持っているどのように多くの作品を行うカウント あなたはどのように多くの作品を持っていますか? または私は別のを与えるかもしれません 作品異なる点。 私の女王は20ポイントの価値があります。 あなたのポーンは一点の価値があります。 誰がより多くのポイントの合計を持っていますか? または私は物事が好き検討するかもしれません、 誰がより良いボードの位置を持っていますか? 誰のターン、それは隣にあり、 その私ができるもの より正確に評価するために行います これらの可能性のどちら なしの優れています 徹底的に考慮 その後に来ることができすべての動き。 今では仕事をするために、 だことの一つ 本当に重要になろう 私たちはただまっすぐに移動していないため 特定の深さまで 制限が、言うことができること、 その私がこれらのアイデアの一つ 持っている、それはだように悪いです 検討する価値はありません 可能な方法のすべて 物事は悪化の一途をたどることができます。 そのためには、ミニマックスに追加します ALPH-βと呼ばれる原理。 また、α-βは述べています、 あなたは悪い考えを持っている場合、 にしようとするあなたの時間を無駄にしません それが正確にどのように悪い見つけます。 だからここは私たちがやろうとしているものです。 私たちは、同じことを取るつもりです 我々の前に持っていたの原則、 同じミニマックスタイプ 検索の、唯一の我々がいます だけでなく、を追跡行きます 実際、我々が持っている値が、我々はよ 可能な限り最高の追跡 私は得ることができる値、 そして最悪 私が持っている可能性があり、結果。 そして、いつでも最悪 事はそう見ています、 私は木の一部を放棄します。 そして、私も気にしないだろう もうそれを見て。 すべての権利、私たちは始めることを想像します これと同じ正確なゲーム木と。 そして今、我々は行くつもりです ダウン再び、すべての方法ダウン その左下隅に。 そして、その底に、我々は、コーナーを左に 見て、私たちは、このボードを評価します。 多分それは4×4三目並べです ボード、または多分それはチェスボードです。 しかし、我々はそれを見て、私達は評価します それ、私たちは8の値を取得します。 その時点で、我々はことを知っています 我々は、少なくとも得ようとしています この底決定から8ポイント。 それは問題ではありませんどのような他の 二人は、その7、そのうちの2つです。 彼らは、任意の値をとることができ 彼らはになりたかったです。 私たちは、で取得するつもりです 少なくとも8点。 すべての権利が、我々は可能性 先に行くとチェック。 たぶん、そのうちの一つは、8よりも優れています。 我々は7を見てください。 8よりもより良いですか? いいえ、それは変わりません 我々の意見ですべて。 我々は2つ​​を見てください。 8よりもより良いですか? いいえ、それは変わりません 我々の意見ですべて。 だから今、私たちは私たちが消耗してきた知っています そこにすべての可能性。 我々は取得するつもりはありません 8よりももっと良いもの。 我々は正確に8を取得するつもりです。 そして、私たちは、そのノードを変更し、 それは今確実である、と言います。 我々は、上記の1つ上のレベルに行きます。 そして今、我々は何かを知っています その最小化レベルに関する。 我々は取得するつもりはありませんしていることを知っています 以上の8点は、我々がダウンした場合 その方向。 そのためものもあれば 他の二つのブランチが判明します 幻想的で価値があります ポイントの数千人それぞれ、 私たちの対戦相手は、私たちに与えます 最小値、および私たちに8を与えます。 すべての権利、よく、見てみましょう。 私たちは、そのパスを下って行くおこう。 私たちは、左側にその中に下ります。 私たちは下を向いて、私たちは9があります参照してください。 我々は取得するつもりだことを知っています ダウン行くことによって、少なくとも9点 その中の道路。 そして、この時点で、私たちは一時停止することができます。 そして、私たちは私が見て、言うことができます 上のレベルで知っています、 私は8よりも多くを得るしないつもりです この方向を下に行くことによってポイント。 しかし、私は真ん中をダウンした場合 代わりに左のパスのパス、 私は、少なくとも9点になるだろう。 私の相手はするつもりはありません 私はその中の道を行きましょう。 彼らは選ぶことを得ます。 そして、彼らは選択するつもりです 8の方の左へのパス、 むしろ向けて中盤より 少なくとも9点は何ですか。 だから、その時点で、私は停止されます。 そして、私はあなたが何を知っている、と言うでしょうか? 私はいずれかを見てする必要はありません その方向にダウンより。 私はそこに行くことはありませんだから。 私は、その1をスキップすることができます 私は、その6をスキップすることができます それが起こるだろうことはありませんだから。 だから私は、下に行くだろうと私はよ 次の可能性を検討してください。 私は2つを見て、私はそこに行くと私は言います。 私はここにしてもらう場合、私は知っています 少なくとも二つを取得するつもり。 OK。 私は続けます。 私は4を参照してください。 私は、少なくとも4つを取得するつもりだ知っています。 間の多くがまだあります しかし4、8、。 だから私は続けます。 私がダウンして見て、私は1つがあります参照してください。 すべての権利、私はかどうかを知ります 私は、この道を行きます 私は4を選択できるようにするつもりです。 どうするつもり私の相手は何ですか? 私を与えるものとの間に 8、私に4を与えるもの、 何かその 私は少なくとも9を与え、 まあ、彼は私に4を与えるために起こっています。 そして、私は今知っていますで 一番上に、私は行きますよ 少なくとも取得することができるように、 このゲームのうち4点。 アルファ - ベータの全体的なアイデア そう部分に木をカットすることです 私は、もはやそれを見ていないこと。 私がしてきたようにしかし、それはまだ見えます 木をたくさん見て。 ダウン続けるのをしてみましょう。 私たちは今、次のいずれかの下に行きますよ。 下部のダウン、私は1つを見つけます。 私は、少なくともいずれかを取得するつもりだ知っています。 私は探し続けます。 私は3を見つけます。 私は、少なくとも3を取得するつもりだ知っています。 私は続けます。 私は5を見つけます。 私は5を取得するつもりだ知っています 私はそのパスで降りる場合。 そして、私もその後を知ります 私の相手それは、私の場合 の中央を選択 三大の選択肢、 彼は私を与えるために起こっています 5以下何か。 OK。 私はそこに行く保つことができます。 私がダウンして見て、私がすることができます 私が何をつもりだ、と言うことができます 私は真ん中の道を行けば取得するには? 私は、よく、3を取得するつもりです。 私は何かを得るつもりです それは、少なくとも3つのます。 間のものがまだあります 3と5、私は探し続けます。 ああ、9、私は間違いなくよ 3の上にそれを取ります。 私は少なくとも9を取得するつもりです 私はその中の道を行けば。 今、私の対戦相手は、停止して言います ない点はもうありません、見て。 私は自分のことを知っています 最小化の対戦相手は、彼がです 私だものを提供するつもり 5以下、 むしろだものよりも 以上9に等しいです。 私は停止します。 私はその時にこれ以上見ていません。 私は続けます。 私はこの1つを見下します。 一番下まで、私は6を見つけます。 私は少なくとも6を取得するつもりだ知っています。 そして、私は何ができるのでしょうか? 私は停止することができます。 間の選択がありますので 少なくとも6つの何か そして、何かその 5未満、彼はです 私の事を与えるつもり それが5未満です。 そして今、私は私が知っているつもりです まさにその選択を取得します。 私はその5の選択肢を取得するつもりです。 私はトップまで戻ってください。 どの私はするつもりです 何かのどちらかを選択 すなわち、4個以上です または5に等しい何か? 私は何かを取るつもりです それは、少なくとも5つです。 私はすべて、最後のパスを下ります 一番下までの方法。 1があります。 [OK]を、少なくとも私は1つのポイントを取得するつもりです。 私は続けます。 二つは、ああ、それは1よりはましです。 私は、少なくとも二つを取得するつもりです。 私は3を見つけます。 私は3を取得するつもりだ知っています。 そして、それ以上の点、 私の対戦相手が起こっています 私に何かを与えるために 以下3に等しいです。 そして今、私は停止することができます。 私の選択があることであるため 5、私の相手を取得することができます 私は3未満のものを与え、 私はいつもその5を取るつもりです。 だから私はそれを評価しません まったくツリーの下の部分。 さて、これはマイナーなように思えるかもしれません。 しかし、時の演算の少しビット、 より大きく、より少ないです、 全体の部分を切り取ることができます この指数関数的に成長している木、 それは巨大につながります 貯金、貯蓄の量 私に十分な大きさであること 競争力の再生を開始することができます より複雑なゲームで。 我々は大きさを見れば、すべての権利 別のゲームの複雑さと、 三目並べは、私たちの簡単な例でした。 私たちは3により小さなボード、3を持っています。 我々は、最大で、平均を取得します 約4さまざまな選択肢 我々はゲームを行くように。 私たちは、どこかの周りに10を持っています 第五可能な異なる葉。 そして、三目並べを構築 プレイヤーは、よく、私たちはそれをやりました。 それは簡単です。 我々はより多くの何かに上がる場合 コネクトフォーのような複雑な、。 あなたはどこにこのゲームを覚えていますか あなたはではほとんどのトークンをドロップしますか? それは、6〜7によってボードです ないそのはるかに大きな、まだ 同じ分岐について持っています 三目並べのような要因。 私は約4つの選択肢を持っています どこで物事を置くことができます。 しかし、今、私が持っているより多くの 21電源に、10をリードしています。 それは簡単です何か 我々はすぐにそれを解決することは十分。 チェッカーは、より多くのあなたをcomplex-- 8×8ボードを得ました。 あなたは半分だけです いつでも、しかし。 あなたは、分岐を持っています 約2.8だ要因。 まあ、我々はカップルを持っています あなたが取ることができる移動します。 あなたは、31日の葉に約10を持っています より大きな、より大きな、より大きなスペース。 私は、全体を検索する必要がありますように それらどんどん大きくスペース、 ときに、α-βのようなものが、それはです 全体枝を切り取ることができること 必要不可欠となります。 さて、チェッカーは、1992年に十分に簡単でした。 呼ばれるコンピュータプログラム チヌークは世界チェッカーを打ちます チャンピオン、マリオンティンズリー。 それ以来、なし 人間のマスタープレーヤーが持っています 最善を打つことができました 計算システム。 我々は今、チェスのようなものを見てみると 再び、私たちは、8×8ボードを持っています。 しかし、我々ははるかに複雑なを持っています ピース、はるかに複雑な動き。 私たちは、程度の分岐因子を持っています 平均して35、35可能な動き 私は、と状態を取ることができること スペース、葉の数 それは、第123電源に10まで成長しています、 可能性の膨大な数。 それでも、最近のプロセッサ これを正常に行うことができます。 1995年に、その後1997年に、コンピュータ ディープ・ブルーと呼ばれるプログラムは、IBMによって建てられました それは巨大なスーパーコンピューターで実行されていました 現在の世界チャンピオンを破りました、 ギャリーカスパロフ。 これがターニングポイントでした。 今日では、しかし、その同じ処理 電源は、私のMacBookに位置しています。 処理速度は維持し より速く、より速く取得。 我々はより多くを評価することができます ボードより速く、より速く。 しかし、もっと重要なことは、私たちはより良い持っています 評価関数とより良い剪定 メソッド。 だから私たちは検索することができます より複雑スペース。 ボードの最大の 私たちが考えることができるゲーム、 ゴーのようなものです 19 19によってボードを持って、 今突然、我々はポイントを過ぎています ここで、計算システムは、勝つことができます。 何の計算はありません そこシステム それは棋士を打つことができます。 最良のシステムは本日、約それをランク付け 良いアマチュアレベルの一種。 だから、かなり出てまだあります あなたはまだそこに得ることができないこと。 すべての権利、これらの 伝統的なボードゲーム、 我々これらの種類のシステム それが持っているかどうか、このミニマックスを構築 α-βか、これらのアルゴリズムは、仕事 一定の制約があるため。 我々は完璧な情報を持っています 世界について。 すべてのピースがどこにあるか私たちは知っています。 世界は静的です。 誰もが移動する得ません 私は一方で周りの作品 私の番を取って、考えてそこに座って。 離散のアクションスペースがあります。 私はここに私のポーンを置くことができ、 または私はここに私のポーンを置くことができます。 私は自分のポーンを置くことは許されませんよ 2つの正方形の間のライン。 そして最後に、アクション 決定論的です。 私は、私が言うことを知っている場合 騎士〜3ルーク、 私のルークは騎士で終了する予定です 3、限り、それは、有効な動きだとして。 それについての不確実性はありません。 今、私はそれ以上に行くと ゲームのさまざまな種類、 我々は、これらの仮定を破ることがあります。 私は何かに行けば 古典的なビデオゲームのような? ここでは、ビデオの選択です アタリ2600のゲーム。 私はそこに何がありますか? 私はフロッガー、スペースを持っています インベーダー、落とし穴、およびパックマン。 どのような環境の種類 私は今ここにあるのですか? これらの仮定のどちら 私は破るためにあるのですか? まあ、それはゲームによって異なります。 私は、2600年にチェスをする可能性があり、 それは前にしただけのようになります。 これらのシステムのほとんどは、あります 世界についての完全な知識。 完全にあります 決定論的なアクション。 しかし通常は、世界の もはや静的。 私はそこに座っていながら、つまり、 待って、何かが動いています。 幽霊が私を得るために来ています。 サソリは私を下に以下の通りです。 スペース侵略者は、 近づく来ます。 我々は、これらに対してどれだけを行うことができますか? 数年前、グーグル プロジェクトが呼び出されていました 彼らはコンピュータの訓練を受けたDeepMind、 アタリ2600のゲームをプレイするためのプログラム。 そして、あなたは、これは深刻ではないと思われる場合 ビジネス、彼らの研​​究の結果 そう、自然に掲載されました 同じように良い公表について あなたはおそらく得ることができますように。 そして、ここで彼らが行っどれだけです。 彼らは座っていたアルゴリズムを持っています ちょうど画面入力を見ました。 それは全くの命令を持っていません ゲームのルールについて。 そして、それは把握することになっていました、 そのスコアをベース、どれだけそれをやっていました。 これは何かを使用するシステムでした 強化学習と呼ばれます。 つまり、そのスコアを見ました。 それは良いスコアを得た場合、それは言いました、 私はそれらの事を覚えておいてください。 そして、私は再びそれらを行う必要があります。 それは悪いスコアを得た場合、それは言いました、 私は再び、これらのことを行うべきではありません。 これはパフォーマンスです これらの訓練を受けたシステムの 以下のためにプレーすることができ 各ゲームの数時間、 プロゲーマーと比較。 あるゲームのすべてのためにそう この行の左側に、 この自己訓練されたコンピュータプログラム プロゲーマーを上回りました。 そしてすべてのために 右、プロゲーマー まだ最高のでした。 知っていた何かのために そのルールについては何もありません、 の構造について何も知りませんでした ゲームは、これは印象的なパフォーマンスです。 そして、これは我々が今日行うことができるしているものです。 [OK]を、あなたが言うが、私たちの場合 ゲームでのAIについて考え、 通常、我々は考えます 私たちが実際にできること 座ると対戦します。 私は座って、私がプレイした場合 スタークラフト、または私は無料ふるいを果たし、 コンピュータの対戦相手は、 ザーグを制御する人、 または他の文明を制御します。 どのようにそれらのプレーヤー 実際に彼らの動きを見つけますか? さて、これらのゲームが構成されています ずっと私達のボードゲームと同じように、 これらのゲーム私たちはよ 総称して、4 Xのゲームを呼び出します 探検、expand--ものを忘れています。 彼らは何ですか? 探検、展開し、消火、 私は最後のものであると思います。 しかし、彼らは基本的にしています 探査やゲームを征服します。 一般的に、コンピュータの対戦相手 限られた情報があります。 彼らは正確に何を知りません 戦争の霧の後ろに行きます。 彼らは何を参照するために得ることはありません あなたはあなたの在庫を持っています。 ダイナミックな環境があります。 すべてがすべての時間を変えています。 あなたが座って取得しないと あなたの移動を取るのを待ちます。 しかし、ほとんどのものはまだ離散的です。 私はここに私の町を配置する必要があります。 または私はここに私の町を配置する必要があります。 そして、すべてが決定的です。 私が言うとき、ここに私のユニットを自分のユニットを移動させます 突然障害物がない限り、ここに移動 戦場に出ます。 さて、それはすべてのコンピュータではありません そこに今日のゲーム。 私が行くと、私は最初の人のタイプを再生する場合 ゲーム、泥棒や放射性降下物のようなもの またはSkyrimの、またはハロ、今 私はコンピュータの相手を持っています 持っているそこにいること 非常に異なる状況。 彼らは、再び、限られた情報を持っています。 彼らは見ることができます ビューの特定のフィールド。 環境は依然として動的です。 物事はすべての時間を変更しています。 しかし、今、私は多くを持っています 連続行動空間。 私はちょうどのぞき見することができます 戸口の外に少し。 そして、いくつかのゲーム、私の アクションは確率的です。 私はその壁を飛び越えることを試みることを得ます、 私は失敗のチャンスを持っています。 ゲームのこれらのタイプは、近づいています コントローラの種類に近いです 私たちはロボット工学で構築すること。 ロボット工学では、前提とする必要があります 我々は情報が限られていること。 私たちは、そのセンサーを持っています 世界について教えてください。 私たちは常に変化を持っています、 動的な環境。 スペースがある、我々は、世界を持っています 連続的ではなく離散。 我々は試してみて、私たちの行動、 彼らは、失敗の可能性を持っています。 そして、実際には、現代のゲーム あなたのハロー相手のためのコントローラ、 またはSkyrimの中でそれらのNPCのため、基本的に 小さなロボットアーキテクチャを実行します。 彼らは世界を感じます。 彼らは、世界のモデルを構築します。 これらは、一連のに基づいて計算します 彼らが達成したい目標。 彼らはベースのアクションを計画します 彼らが知っているの。 そして、それらはまったく同じ種類です 私たちはロボット工学で構築するシステムの。 したがって、これらのアーキテクチャは、に 一緒にこのバックを持って、 多くの場合、全く同じです。 だから我々はそれを見ることができる場合を見てみましょう。 背中の私たちに行こう 三目並べ例。 そして、私は私のカップルを依頼するつもりです ポスドクは出てくると私を助けるために。 だからチェンミン、およびアレッサンドロ、および オリビエは、あなたたちが出てくるならば。 そして、私は必要つもりです ボランティアのカップル [OK]を、私は右の手を見ました そこに真ん中インチ 私は誰か、1以上のを見てみましょう さらに多分戻りました。 すべての権利、あそこ。 アップさあ。 大丈夫。 それでは、そのカバーを下に見てみましょう。 そして、君たちは右来る場合 バック辺りで私のために、素晴らしいです。 だから、これはバクスターと呼ばれるロボットです。 そして、バクスターだロボットです 設計商用プラットフォーム、 再考という会社によって。 そして、このロボットは設計されています 小規模製造のため。 しかし、今日、私たちはするつもりです 三目並べを再生するために使用します。 さて、このロボットも何かあります それは比較的ユニークです。 私はどこに立っていた場合ので 標準工場の自動化に近いです このシステムは、私は非常に墓になるだろう 危険性が負傷しています。 バクスターは、しかし、であるように設計され と相互作用する比較的安全。 そして私は、このロボットにプッシュすることができます。 そして、あなたはそれは少しだ見ることができます それが周りに移動すると少し柔軟。 そして、私はそれを再配置することができます どこ私はそれが行きたいと思います。 これで、通常のロボットシステムでは、 ここでは、関節のセットを持っているでしょう それは直接になります 位置コマンドに応答。 そして、彼らは必ずしも気にしないだろう 彼らが開いて空気中を移動した場合には、 あるいは、移動された場合 私の胸郭を通して。 OK。 そして一般的に、あなたがいた場合 ここに産業システムと、 あなたはそれの近くにどこにも行かないでしょう。 黄色があるでしょう すべてその周りの安全テープ。 このシステムで使用されています わずかに異なるデザイン フレンドリーかつ容易にすることが 人々はと対話するために、 各関節のそれで、春があります。 そしてよりもむしろ制御 正確な位置、 我々は、特定の量を制御します トルク、力の一定量、 私たちは春になりたいということ。 すべての権利は​​、そのように私をしましょう ここに私たちのボランティアを取ります。 こんにちはあなたの名前は何ですか? 聴衆:ルイ。 SPEAKER:ルイ。 お会いできてうれしいです。 そして? 者:デビッド。 スピーカー:デイヴィッド。 始めまして。 あなたたちは待つことになる場合 右ここで第二のために、 私はあなたを与えるつもりです これを行うためのチャンス。 したがって、このロボットは、あなたが出てくる場合 そしてあなたはそれを軽く押した場合、 あなたはそれを見に行くしています それは少し移動します。 そして、あなたは右のそれをつかむ場合 ここだけの手首に これらのボタンは、それである場合、上記 あなたがボタンをつかむべきであるように見えます、 その代わりに右のそれの上につかむ、あなたはよ 非常にゆっくりとそれを操作することができます 空間を介して。 ルイ、あなたはそれを試してみることにしたいですか? だから少しそれを与えます で開始するプッシュ。 そして、あなたの指を置く場合 右がそれに握ります、 それはあなたのために移動しますので。 すべての権利、あなたはそれを試してみることにしたいですか? アップさあ。 だから穏やかにそれを与えます 起動するためにそこにプッシュします。 あなたはそれがどのようなものか感じることができます。 そして、あなたはすぐそこにそれをつかむと、 あなたの周りに操縦することができるでしょう。 OK。 だから一般的に、ロボットのこの種のだろう 小規模の製造に使用されます。 そして、私はこの腕を移動するつもりです 少しここで邪魔にならないようにダウン。 しかし、今日、私たちは使用するつもり 同じ三目並べの再生システム 我々は以前に構築されたミニマックスに基づきます。 OK? だから、あなたたちはそれぞれ ゲームをプレイする予定。 ルイは、あなたが最初になるようになるだろう。 私はちょうど第二のためにここにホールドアップしてみましょう。 私はあなたが右に立っているつもりです ここでは、ちょうどそう、誰もがあなたを見ることができます。 あなたたちは、ここで設定されていますか? ロボット:ようこそ。 それでは、三目並べを再生してみましょう。 前にトークンを把握しないでください 私はそれはあなたの番であると言います。 私はゲームを開始します。 それは私の番です。 スピーカー:今、あなたのいずれかを取ることができれば あなたの作品と先に行くと、それを配置します。 ロボット:それはあなたの番です。 [笑い] それは私の番です。 [笑い] [笑い] それはあなたの番です。 SPEAKER:人類があります 、ここであなたにルイを数えます。 ロボット:それは私の番です。 SPEAKER:だからバクスター 首尾よくここにブロックされました。 ロボット:それはあなたの番です。 それは私の番です。 それはあなたの番です。 それは私の番です。 SPEAKER:そして、我々はバクスターをもらおう ここで、最後の動きを終えます。 [笑い] ロボット:それはネクタイです。 私は次の時間を獲得します。 [笑い] SPEAKER:すべての権利、 おかげで非常に多く、ルイ。 ありがとう。 あなたはこの道を行くことができます。 ロボット:私はゲームを開始します。 SPEAKER:だから私に説明してみましょう あなたに1つ以上の小さな ビット私たちはここに私たちの再戦を取得する前に。 正確に何が起こっているのでしょうか? そこでロボットが、ここでカメラまでトップを持っています。 そして、それはボードを見下ろしています。 そして、それはかどうかを見ています それはレッドOまたは青を持っています それらのように白いXでは、上に置かれます ボードは、それが基本的に同一の入力情報 我々はから読んであろうと 私たちの画面から、当社のデータ構造。 これは、同じことを実行しています なるようにミニマックスアルゴリズム どこに見つけることができます 良いトークンを配置します。 そして、我々は、約コマンドを与えています 私たちは、トークンのようにしたい場所に配置します。 腕が出て動いています。 それは適用するために、真空グリッパーを使用しています その木材にはいくつかの吸引、 それを拾う、右に移動 スポットは、その後、吸引を解放します そして、それをドロップします。 すべての権利、私たちが行っています それをもう一つのショットを与えるために ここで少し賢くプレーヤー。 あなたは〜を用意する? すべての権利、あなたは右に立つだろう場合 ここで、この方法を与えるA--消します だから、誰もが見ることができます。 そして、[聞こえません]。 ロボット:それは私の番です。 SPEAKER:バクスターが開始されます。 それはあなたの番です。 それは私の番です。 それはあなたの番です。 それは私の番です。 [笑い] スピーカー:[WHISPERING]ジャスト 彼が先に行くと勝つましょう。 ロボット:それはあなたの番です。 スピーカー:それは大丈夫です。 ロボット:それは私の番です。 [笑い] 私は勝ちます。 [笑い] 私はゲームを開始します。 SPEAKER:すべての権利は​​、どうもありがとうございました。 すべての権利、私たちは時間を持っていると思います もう一つの優れた三目並べプレーヤー、 この事を置くことができる人 マッチ、彼らがやっていることを知っています。 [笑い] 誰がここに私達のチャンピオンになるだろうか? すべての権利、あなたの友人はあなたを志願しました。 それは私には十分です。 もう一度あなたの名前を教えてください。 聴衆:タミール。 スピーカー:タミール、あなたを見て素敵。 すべての権利は​​、再び、私たちはあなたを置くつもりです 右ここに誰もがあなたを見ることができます。 あなたは私たちの代表的なものです この試合で、今。 バクスターは1とオハイオ州とオハイオ州です。 または、申し訳ありませんが、1つのOH基及び1つ。 そして、それはここにあなた次第です。 バクスターは、しかし、最初に移動することになります。 Soが ロボット:それは私の番です。 [笑い] それはあなたの番です。 それは私の番です。 それはあなたの番です。 それは私の番です。 それはあなたの番です。 [笑い] ロボット:それは私の番です。 スピーカー:それは多くの困難時です あなたは、ここで人々を立っています。 [笑い] ロボット:あなた人間が打つので簡単です。 [笑いと拍手] SPEAKER:どうもありがとうございました。 ロボット:私は勝ちます。 私はゲームを開始します。 SPEAKER:すべての権利なので、おかげで非常に オリビエに多くの、とのアレッサンドロ、 そして、チェン・ミンへ。 [拍手] 私は1つの最後のポイントを作りたいです。 非常にバクスターそう だまされ、そこに終わります。 そして、それは予想外でした。 幻想の一つ AIについての事は、我々です 我々が構築できるように、AIで仕事をします 本当に面白いとインテリジェント デバイス。 しかし、我々はまた、AIで仕事をします それは私たちに何かを伝えるため、 人間が知的であるかについて。 お気に入りの一つ 私の研究室から研究されています ときに何が起こるかを見て マシンが予期せずにごまかします。 我々はないと当初はこれをしませんでした バクスターは、三目並べを再生します しかし奈央という名前の小さいロボットと、 じゃんけんをした人。 そして、時には後 とてもたくさんの再生を 退屈なじゃんけんゲーム、 ロボットは、ジェスチャーを投げるだろう 失い、その後、急激に変化します そのジェスチャーと私は勝つ、と言います。 [笑い] さて、時には我々はまた、ロボットを持っていると思います ちょうどコントロールとして、ジェスチャーを投げます、 勝つ、そのジェスチャーを変更 失い、試合を投げます、 失うためにカンニング。 そして、それはほぼ同じ魅力的ではありません。 詐欺ロボット 人を獲得するために、 それがあるかのように反応します アウトそれのように、それらを取得します 積極的に破壊を求めています。 [笑い] それはエージェントになります。 それは人のようです。 それは信念と意志を持っています。 そして、それは良い意図ではありません。 スローロボット ゲームは単に故障しています。 それはちょうど壊れたデバイスです。 私はあなたに例をいくつかお見せしましょう 私たちの参加者の数からその。 だからここに失うために不正行為です。 [ビデオ再生] - [聞こえない]勝ちます。 遊ぼう。 -wait、何? - [聞こえない]勝ちます。 遊ぼう。 [聞こえない]勝ちます。 遊ぼう。 SPEAKER:そして、ここでは、勝つために不正行為です。 - はい、私は勝ちます。 遊ぼう。 - あなたはそれを行うことはできません。 [笑い] - はい、私は勝ちます。 - あなたはだまさ。 これでだまさ。 - はい、私は勝ちます。 -Hey、あなた詐欺師。 あなたは、スーパーチートをごまかします。 [END再生] スピーカー:これらの異なります 急速に反応 デバイスの私達の認識を変えます。 それはそれを意味しています 我々は意図的に構築します それはだからカンニングマシン 私たちができる最善のエンジニアリング? いいえ、それは何かを教えてくれる 人々について本当に面白いです。 あなたを騙しその事と あなたの勝利は盗み、それはです 生きているもの、それはです それはあなたを取得するためにアウトです、アニメーション化します。 それは、精神状態を持っています。 それは信念を持っています。 これは、意思を持っています。 手その事 あなたのゲームは、それはありません。 それはちょうど誤動作です。 それは、理由はこれが多くの方法であります 子供と一緒にゲームを投げやすいです。 しかし、あなたはそれらをカンニングしようとした場合 ソートの勝利を主張 あなたが知っているとき、ちょうど短くします ゲームは、彼らはすぐにあなたをキャッチします。 その効果のこれらの種類 私たちは、AIから出てくる参照してください。 彼らは私たちに自分自身について多くのことを教えています。 すべての権利、それは今日のためにそれです。 ダビデとに非常に感謝します ハーバード大学の制作チーム 下って来るため。 [拍手] 私たちは、クイズいずれかにお会いしましょう して、最後の講義のために。 すてきな一日を。 [拍手] [音楽再生] DAVID Jマラン:まあ、私たちはおそらく必要 暗号化のいくつかの種類を紹介します、 右? その後のヘッダーため、 これらのHTTP要求になります 誰ようにスクランブル あなたのトラフィックを盗聴しようとしています 実際にそれらを見ることはできません。 したがって、この問題の解決策は何ですか? さて、私たちは実際に導入する必要があります 式への暗号化、 そのように人がいるとき AからBにデータを送信し、 私たちはしっかりとsend--することができます [笑い] そのように記載されている情報 敵は、実際には、それを見ることはできません。