[Jouer de la musique] CONFÉRENCIER: Bienvenue à tous. Ceci est CS50. Et aujourd'hui, nous avons beaucoup de choses intéressantes à raconter. Mais d'abord, je dois rappeler vous d'un certain nombre de choses administratives. Cette semaine est un jeu-questionnaire, le mercredi ou pour la section de Yale les mardis et jeudis, le jeudi. Il ya des critiques de quiz ce soir à Yale, 05 heures 30-à-7:00. À Harvard, ils ont enregistré un hier. Et tout le monde peut regarder cette ligne. Aussi, cette semaine ou au début de la semaine prochaine, nous avons notre dernière conférence CS50. [Gémissements] Je sais. Il est venu si tôt. Étudiants de Yale auront un direct sermonner ici à l'école de droit auditorium vendredi. Il y aura du gâteau. Les étudiants de Harvard auront la dernière conférence à Sanders lundi. Il y aura aussi gâteau. Aussi, cette semaine, le vendredi, pour ceux d'entre vous qui viennent à New Haven, nous avons l'Expo de CS50. Nous avons plus de 30 différents groupes enregistrés à vous montrer tout de voiliers autonomes, aux systèmes qui reconnaissent portraits numériques, à l'ordinateur la musique et la musique produite par ordinateur. Alors s'il vous plaît vous joindre à nous. Je pense que ça va être un grand moment. Aujourd'hui, cependant, nous arrivons à continuer à parler de l'IA, à propos de l'intelligence artificielle. Et l'une des choses qui nous allons arriver à aujourd'hui est l'idée de la façon de AI utiliser pour résoudre des problèmes. Maintenant, comme toujours, nous allons commencer avec quelque chose de simple. Et nous allons commencer avec une idée simple. Et voilà en utilisant la recherche. Alors, imaginez un instant que je avoir une tâche que je dois accomplir. Et je voudrais avoir cette tâche automatisée par un agent logiciel. Imaginez que je suis en train de réserver un ensemble des vols au départ de, disons, Boston à San Francisco. Je pourrais passer et je pouvais utiliser l'un des merveilleux recherche en ligne outils, qui va faire essentiellement le même processus que nous sommes aller à pied à travers aujourd'hui. Mais si vous ne disposez que outil, que feriez-vous? Eh bien, vous pourriez regarder et vois et dis, je suis à Boston. Qu'est-ce que les vols sont disponibles pour moi? Maintenant, peut-être je ai trois vols possibles sur Boston qui correspondra à l'heure quand je dois partir. Je pouvais voler à Chicago. Ou je pouvais voler à Miami. Ou je pouvais voler à New York. Je pourrais alors chercher de chaque une de ces villes de destination et de réfléchir à quels endroits Je pouvais atteindre à partir de chacune de ces villes. Alors peut-être de Chicago, je peux obtenir un vol direct à destination de San Francisco. Cela est excellent. Ou je pourrais obtenir un vol à destination de Denver. Maintenant, peut-être que le vol à San Francisco est la solution parfaite pour moi, mais peut-être pas. Peut-être que je cherche quelque chose qui est un peu moins cher ou un peu mieux pour mon calendrier. Et donc je pourrais chercher ce que les autres possibilités pourraient être là-bas. Donc, je pourrais regarder Denver. Et à partir de Denver, ainsi, peut-être Je peux obtenir un vol pour Austin. Et à partir de Austin, peut-être je peux obtenir un vol pour Phoenix, et de Phoenix à San Francisco. Maintenant, je ne suis pas encore fini. Parce que peut-être il ya une vol direct de New York à San Francisco qui est parfait pour moi. Ou peut-être il ya un vol de Miami grâce à Denver qui est beaucoup moins cher. Donc, je dois encore aller. Et je dois encore regarder tous ceux villes que je ne suis pas encore étudiées. Je dois vérifier exhaustive l'ensemble des les possibilités que je pourrais avoir. Donc, à partir de New York, peut-être je peux obtenir un vol à destination de Nashville, et de Nashville à Austin. Et puis, je sais où je suis. Et puis je sais de Austin, je peux vol à Phoenix, et de Phoenix à San Francisco. Si je vole premier à Miami, cependant, peut-être je peux obtenir un vol de Miami à Nashville, ou de Miami à Austin. Et maintenant, je l'ai essayé tous des possibilités. Je ai construit ce graphique que me montre tous les itinéraires possibles que je pourrais être en mesure de prendre. Quand nous représenter ces sortes de problèmes, on ne va pas à représenter les explicitement comme ce graphique, parce que ce graphique ne représente pas l'histoire de l'endroit où nous sommes allés. Sachant que je pris l'avion de Phoenix à San Francisco ne me dites pas que je suis venu par l'intermédiaire Nashville, ou via Denver, ou via Miami. Donc ce que je vais faire à la place est Je vais prendre ce même problème, et je vais le représenter comme un arbre. Et à la racine de l'arbre, à la dessus, je vais mettre l'endroit que je commencé, Boston. Et de Boston, je vais regarder tous les emplacements possibles que je peux voyager à. Eh bien, dans ce cas, je devais trois, Chicago, New York et Miami. Et puis, je vais explorer chacun des ces enfants dans l'arbre. De Chicago, je voyais que je devais deux vols. Je pouvais voler directement à San Francisco ou Denver. Maintenant San Francisco, qui est mon objectif. Voilà ma destination. Cela va être une feuille de cet arbre. Voilà, je ne vais jamais aller quelque part après San Francisco. De Denver, cependant, Je peux voler de Denver à Austin, Austin à partir de Phoenix, et de Phoenix à San Francisco. Et maintenant encore, je suis arrivé à une feuille. Je pourrais alors revenir à la prochaine ville que je ne l'ai pas entièrement exploré. Ce serait New York, aller Retour au sommet de mon arbre, descendre à New York. De New York, je peux voler à Nashville, de Nashville à Austin, de Austin à Phoenix, et de Phoenix à San Francisco. Et enfin, une ville que je ne l'ont pas encore regardé, Miami. Eh bien, à partir de Miami, je dit que je devais deux possibilités, Nashville ou Austin. Si je prends l'avion pour Nashville, eh bien je vole de Nashville, à Austin, à Phoenix, à San Francisco. Si je prends l'avion à Austin, je vole Austin, à Phoenix, San Francisco. Et maintenant, je dois un arbre. Il est un arbre complet. Il est de toutes les possibilités et tous les chemins que je pouvais prendre. Autrement dit, si je me mets à la racine de l'arbre dans la partie supérieure et je descends à l'un des quitte, il me dit non seulement où je vais finir, San Francisco, mais il me dit que la route Je dois prendre pour y arriver. Maintenant, laquelle de ces est le meilleur? Eh bien, rien à ce sujet problème me dit encore de ceux qui est la meilleure solution. Peut-être que je me soucie le plus à propos de combien de temps je suis dans l'air, ou la distance que je prends l'avion. Dans ce cas, Chicago à San Francisco pourrait être le nombre le plus court de miles dans l'air. Peut-être que je me soucie de coût. Et nous savons tous que des vols directs sont généralement plus cher. Alors peut-être si je prends cette type d'itinéraire vers l'arrière par Miami, Nashville, Austin, Phoenix, peut-être alors Je reçois un prix inférieur. Mais je ne pouvais optimiser sur tout critères que je me soucie. Qui a le meilleur vol Wi-Fi, ou qui aéroports ont la meilleure nourriture disponible. Et chacun de ceux qui pourraient me donner une solution différente que je vois comme étant le meilleur. Ces sortes de problèmes, où nous allons de construire sur cet arbre de possibilités, et puis Examinons chacun de ceux parcours individuels, et d'examiner qui remplit de ces un critère pour nous, nous allons appeler ces problèmes de recherche. Et nous avons beaucoup de algorithmes, dont certaines nous avons déjà vu, d'aller et d'explorer ces arbres. Nous pourrions le faire de la manière que je n'a tout simplement, une recherche en profondeur d'abord, aller aussi loin que nous pouvons jusqu'à ce que nous frapper une feuille, puis de revenir en place, et d'aller droit vers le bas. Ou nous pourrions faire ce qui est appelé algorithme de parcours en largeur. Nous pourrions développer tout au sommet, puis tout une ligne dessous, et ensuite, tout une ligne en dessous qui. Ces arbres de recherche sont fondamentales pour AI. Mais ils ne reçoivent pas assez à droite tout le temps. En fait, dans beaucoup de cas que nous nous soucions vraiment, nous voulons construire un arbre, mais nous ne le faisons pas fait arriver à faire toutes les décisions. Ce sont des situations appelées recherche contradictoire, aussi connu comme la façon d'écrire jouer au jeu systèmes et être payé pour cela. Mais ce sont les types des systèmes où je pourrait obtenir de choisir quand je vais partir Boston, la ville où je vais à la prochaine. Mais après cela, quelqu'un d'autre pourrait obtenir de prendre la décision sur l'endroit où je vole. Donc, pour construire ces sortes de structures, nous sommes allez avoir à prendre un peu approche différente. Nous ne serons pas en mesure de il suffit de chercher dans l'arbre plus, parce que nous ne sommes pas celui qui est dans le contrôle de chacun de ces points de décision. Alors imaginons simple jeu comme tic-tac-toe. Je pourrais commencer par une conseil complètement vide. Et en tic-tac-toe, X arrive à jouer en premier. Et donc je ne pouvais penser à toutes les coups possibles que X puisse faire. Et si je suis le seul jeu X, qui est grand. Je dois neuf possible propose que je peux faire. Je pourrais mettre un X dans l'une quelconque de ces neuf postes. Et puis, de chacun de ces, je pouvait imaginer ce qui arrive ensuite. Eh bien, dans ce cas, l'autre joueur devrait recevoir de prendre un virage. O serait l'occasion de prendre un virage. Et à partir de chacune des personnes, il serait huit endroits différents O qui pourrait placer leur marqueur. Disons que je décidai que je suis va mettre un X dans le centre. Cela semble toujours comme un bon mouvement d'ouverture. Je pourrais regarder en dessous de ce que, le huit coups possibles que O fait. Maintenant, si je joue X, qui est merveilleux. Je peux choisir qui je aller, l'une au milieu. Mais maintenant, O obtient de choisir. Et je ne ai pas le contrôle sur cette décision. Mais à partir de chacun de ces postes du conseil d'administration possibles, il ya alors une autre un ensemble de possibilités. Quand il vient à être à mon tour, je ne retournerais obtenir de choisir et de dire, eh bien, si O se déplace dans le bien, l'endroit du milieu sur la gauche, puis Je dois un ensemble de possibilités où je peux prendre mon prochain déménagement. De ceux-là, je pourrais considérer tous les possibilités en dessous. Et puis O recevrait de choisir parmi ceux-ci. Et je pourrais continuer à construire cette arbre jusqu'à ce que je suis arrivé au point où quelqu'un soit remporte le game-- qui est arrivés à être considérés comme une feuille node-- ou le conseil est complètement plein et personne n'a gagné. Et cela va aussi être un nœud feuille. Cela va être un match nul. Mais la chose la plus délicate avec ceci est si cela était juste une recherche normale problème, je serais en mesure de par exemple, eh bien, X devrait aller ici. Et O devrait aller bien là-bas. Et puis X devrait aller ici. Et puis O devrait aller bien là-bas. Et puis X peut obtenir trois dans une rangée, et je gagne. Et le jeu serait plus en cinq mouvements, trois pour moi, deux pour mon adversaire. Mais je ne suis pas toujours de choisir cela. Ainsi, au lieu, ce que nous sommes allez avoir à faire est que nous allons devoir d'avoir une nouvelle stratégie. Et que la stratégie algorithmes de jeu vidéo utilisent souvent est ce qu'on appelle minimax. L'idée centrale de Minimax est que nous sommes aller chercher le mouvement qui donne notre adversaire le pire de jeu possible de mouvements qu'ils peuvent faire. Il ne me fait pas de bien de choisir un mouvement où Je pourrais être capable de gagner après que, parce que mon adversaire est pas va me donner cette chance. Ils vont choisir une résultat terrible pour moi. Donc, je vais faire la déplacer qui force mon adversaire de faire quelque chose de mieux pour moi. Bien. Voyons comment cela se joue. Alors, voici notre algorithme en pseudo. Nous allons générer l'arbre entier de jeu. Nous allons construire la structure entière. Et puis nous allons passer en revue. Et tout en bas à chacune de la les noeuds terminaux, sur chacune des feuilles, nous évaluons comment précieux est que pour moi? Et nous allons à des choses de valeur qui sont bonnes pour moi comme étant positif. Les choses qui ne sont pas bonnes pour moi sera moins positif, ou nul, ou même négative. Donc, en tic-tac-toe, peut-être une victoire pour moi est bon. Voilà un. Et une cravate est de zéro. Et quelque chose qui est une perte pour moi, peut-être est une valeur négative. Tout ce qui importe est que la meilleure il est pour moi, plus le score qu'il reçoit. A partir de ces possibilités à la bas, puis nous allons filtrer vers le haut. Et quand il est ma chance de choisir parmi un ensemble d'alternatives, Je vais choisir celui qui est a obtenu le score le plus élevé. Et chaque fois qu'il est mon adversaires tour de choisir, Je suppose qu'ils vont choisir celui avec le score le plus bas. Et si je fais ça tout le chemin au sommet de l'arbre, Je l'ai choisi une voie qui donne moi le meilleur résultat que je peux obtenir, en supposant que mon adversaire rend tous les bons mouvements. Très bien, alors voyons ceci dans l'action première. Et puis nous allons effectivement regarder le code pour elle. Alors, imaginez que je dois ce grand arbre. Et maintenant, je ne joue pas de tic-tac-toe. Je voulais vous donner quelque chose d'un peu plus riche. Donc, je dois un jeu où il ya beaucoup de différents scores que je pouvais avoir à la fin. Et si je construis cet arbre complet. Et je reçois de se déplacer en premier. Je suis à la racine de l'arbre. Et je peux choisir that-- si je reçois de maximiser à travers ce premier noeud. Et puis mon adversaire arrive à aller. Et puis je reçois d'aller une fois de plus. Donc, au bas, je dois un ensemble de possibilités que je peux choisir, différents états terminaux du jeu. Si je suis dans ce que extrême gauche coin, et je vois que je dois un choix entre un huit, sept, et un deux, bien, je suis celui qui obtient de choisir. Donc, je vais choisir le meilleur l'un de ceux. Je vais choisir le huit. Donc, je sais que si jamais je descendre à ce point, Je serai en mesure d'obtenir que les huit points. Si je me retrouve au point suivant plus, le noeud suivant sur, neuf, un, ou d'un six, bien, je suis va choisir le meilleur d'entre eux. Je vais choisir le neuf. Si je dois choisir entre deux, quatre, et un, Je vais choisir le quatre, le plus haut. Maintenant, si je regarde le niveau ci-dessus que, mon adversaire est l'un arrive à faire ce choix. Donc, mon adversaire arrive à choisis, ce que je veux lui donner la chose qui se passe de lui faire huit points, ou dois-je lui donne la chose qui est vais lui donner neuf points, ou de la chose qui va de lui donner quatre points? Et mon adversaire, étant rationnelle, va de choisir le minimum de personnes, va choisir quatre. Et je peux le faire à travers l'ensemble de l'arbre. Je peux descendre à ce que ensemble du milieu de trois. Et je peux choisir entre un, trois et cinq. Et je peux choisir. Je choisis donc cinq. Je peux choisir trois, neuf ou deux. Je peux choisir, je choisis donc neuf. Six, cinq, ou deux, je choisis. Je peux choisir les six. Niveau supérieur à celui qui reprend de choisir? Qui va choisir? L'autre gars, mon adversaire. Alors, ils choisissent cinq, neuf ans, ou six, lequel? AUDIENCE: Le cinq. CONFÉRENCIER: ils choisissent les cinq. Ils apprennent à choisir le minimum. Et puis le dernier, choisir un, deux, ou trois. Je peux choisir, si je choisis trois. Neuf, sept, ou deux, je choisis de neuf. Et 11, six, ou quatre, je choisis 11. Mon adversaire choisit alors trois, neuf ans, ou 11, choisit le minimum. Il me donne trois. Et puis enfin au sommet de l'arbre, je reçois de choisir à nouveau. Et je peux choisir entre quatre, cinq, ou trois. Donc, je prends les cinq. Si je suis de tout contrôler, je ferais prendre le chemin qui conduit à la 11. Mais je ne reçois pas de faire ce choix. Si je vais dans cette voie. Mon adversaire va me forcer à le choix qui mène à un trois. Donc, le meilleur que je peux faire est de prendre cette branche médiane, faire ce choix qui est finalement va me conduire à cinq points. Voilà ce que fait minimax. Bien. Jetons un coup d'oeil. Donc, ici, dans le CS50 IDE est un programme qui met en œuvre Minimax à jouer tic-tac-toe. Nous allons construire une représentation. Nous allons avoir deux opponent-- ou deux joueurs, notre ordinateur joueur et un joueur humain. Numéro du joueur un joueront O. Ce sera le joueur de machine. Ils apprennent à se déplacer seconde. Et l'autre joueur, notre joueur humain, sera X. Et de faire de ma vie un peu simple, je vais pour marquer que l'un des joueurs négative. Donc, je ne peux multiplier par une négatif à échanger entre une et l'autre joueur. Très bien, nous allons donc jeter un oeil à ce que nous allons réellement faire. Nous allons définir notre conseil d'administration. Il va y avoir, eh bien, nous allons à lui permettre d'être trois par trois, ou nous pouvons même jouer cinq par cinq ou sept par sept tic-tac-toe Si vous souhaitez comme, basée sur une dimension D. Et nous avons un couple de fonctions auxiliaires ça va faire des choses comme initialiser le screen-- ou désolé, initialiser nos variables, décochez la écran, dessiner la carte sur l'écran, celui qui vérifie un conseil pour voir si oui ou non il ya un gagnant, celui qui parse grâce à la ligne de commande, juste pour aider, celui qui lit dans entrée, et une fonction appelée minimax. Et qui est celui nous intéressent le plus. Mais regardons d'abord à la principale. Qu'est-ce qu'on fait? Eh bien, nous allons analyser notre ligne de commande, il suffit de lire et voir ce dimension bord, nous aimerions avoir. Nous allons initialiser notre conseil d'administration. Et puis nous entrerons dans un grande boucle sauvage, à plusieurs reprises accepter déplace jusqu'à ce que le jeu est gagné, ou il n'y a pas de mouvements de gauche. Chaque fois que nous allons à travers ce boucle, nous allons effacer l'écran. Nous allons dessiner la carte sur l'écran. Et nous sommes délibérément sorte de abstraire ces loin que les sous-programmes, de sorte que nous ne devons pas nous inquiéter trop sur les détails de la façon dont ils se produisent. Vous aurez le code plus tard aujourd'hui. Et si vous voulez regarder à travers et découvrez, vous pouvez les voir tous. Mais nous allons dessiner une carte sur l'écran. Et puis nous vérifions et voir, ne nous avons un gagnant? Quelqu'un a gagné ce jeu? Si elles ont, nous allons imprimer un message de victoire. Et nous allons finir le jeu. Nous allons également vérifier et voir si il ya un lien. Il sera facile de voir si il ya un lien. Cela veut dire que tous les espaces sont remplis, mais il n'a pas encore été un gagnant. Nous pouvons déclarer une cravate et être fait. Alors la vraie meat-- si il est un joueur de la machine, nous allons permettre que joueur de machine à la recherche grâce à l'aide de cet algorithme de Minimax, pour trouver le meilleur coup qu'il peut. Et puis nous allons mettre en place ce mouvement. Sinon, si il est un joueur humain, nous lisons une certaine entrée de l'humain. Et puis, que ce soit l'homme joueur ou le joueur de machine, nous ferons peu un couple bits de contrôle d'erreur, assurez-vous qu'il reste dans les limites des dimensions réelles du conseil que nous avons, assurez- que cet espace est vide, que de ne mettre la une pièce déjà là. Et puis nous venons de mettre une pièce sur le plateau, changer le joueur à la couche suivante, et incrémenter le nombre de mouvements ont passé. Voilà la boucle principale pour notre jeu de tic-tac-toe. Minimax, alors, est exactement l'algorithme que nous avant. Le seul ajustement qui nous avons fait de sorte que nous peut jouer plus conseils dimensions est que nous avons gardé ce paramètre supplémentaire appelé profondeur. Et la profondeur dit juste, si je suis la recherche vers le bas par cet arbre et je suis tellement loin vers le bas delà d'un certain niveau de profondeur que je ne veux tout simplement pas d'aller plus loin, Je vais arrêter et juste évaluer le conseil à ce point. Je vais vérifier et voir si il ya un gagnant. Si il ya un gagnant, je les retourne. Sinon, je vais passer par une boucle. Et je vais le dire, pour l'ensemble de les emplacements possibles que je pouvais peut- prendre comme mon déménagement, je vais construire un conseil fictif que comprend mon déménagement de ce conseil, puis appelle de manière récursive minimax. Si elle est mon déménagement, je reçois pour trouver le celui qui a le plus grand score. Si il est le déménagement de mon adversaire, nous trouvons celui qui a obtenu le score minimum. Et tout le reste est tenue juste fiche. Très bien, alors voyons ce terme. En fait, nous pouvons peut- obtenir un couple de bénévoles à venir et de jouer tic-tac-toe. [Inaudible] l'un, et l'autre De plus, deux, juste là. Monte. Allons donc de l'avant et redémarrer cela complètement. Alors, salut. AUDIENCE: Salut. CONFÉRENCIER: Quel est votre nom? AUDIENCE: Gorav. CONFÉRENCIER: Gorav. AUDIENCE: Je suis Layla. CONFÉRENCIER: Et Layla, et Layla, désolé. Monte. Gorav, nous allons devoir vous allez d'abord. Et je vais vous demander d'être un pas terriblement bon joueur tic-tac-toe. OK, donc toute la pression est hors de vous. Voyons, cependant, que notre machine joueur peut réellement faire quelque chose d'intelligent. Donc vas-y. Vous allez taper dans lequel coordonner vous voulez mettre votre X. A0, OK, et la machine est allé immédiatement et de mettre sa marque dans A1. Mettez l'O sur la carte. Bon, maintenant aller de l'avant. Où voudrais-tu aller? C2. Notre joueur de machine a pris le carré du milieu, vous bloqué. Donc, ce fut un bon, chose la plus intelligente à faire pour elle. Vous avez bloqué il. Cela est excellent. Il tire le corner il. Et il va vous forcer à prendre le dernier espace, B0. Et le match se termine par un match nul. Mais il a joué un raisonnable jeu contre vous, non? Très bien, merci beaucoup, Gorav. [APPLAUDISSEMENTS] Tout droit, Layla, nous allons le jeu sur vous ici. AUDIENCE: Oh, génial. Président: Nous allons donner vous quatre par quatre tic-tac-toe. Maintenant, en quatre par quatre, vous avez à gagner avec quatre dans une rangée, pas trois dans une rangée. Et il est tout à toi. Donc, Layla a pris D1. Nous allons maintenant suivre notre lecteur de l'ordinateur ici. Trois par trois tic-tac-toe est le genre de chose qui est facile pour nous tous. Mais il est toujours agréable de voir la lecteur de l'ordinateur faire des mouvements intelligents. Quatre par quatre arrive à être un peu plus délicat. Bien fait. Très bien, alors Layla réussit. Oh, et nous aurions dû se terminer là. Mais nous allons faire un de plus ici. Donc, Layla, je vous remercie. Bien fait. [APPLAUDISSEMENTS] Donc, notre joueur de tic-tac-toe va grâce et trouve des emplacements, résout les utilisant ce minimax. Et je devais un réglage de la profondeur sur cette sorte qu'il ne serait pas courir trop vite, qui est probablement la raison pour laquelle Layla était capable d'aller bien à l'avance comme elle l'a fait, et a très bien fait. Mais ces systèmes que juste passer et la force brute aller plus loin, et plus profond, et plus profond, et continuer à trouver la solution dont ils ont besoin, ces types de systèmes sont tout à fait réussi à ceux-ci, ainsi, jeux de société classiques. Et en fait, si nous regardons un trois par trois jeu de tic-tac-toe, ceci est fondamentalement un problème résolu. Et cela est un schéma merveilleuse Randall Munroe à partir XKCD, montrant quels déplacer, vous devriez prendre, compte tenu des mouvements de votre adversaire. Ceci est quelque chose que nous pourrions facilement spécifier à l'avance. Mais qu'advient-il que nous aurons plus jeux complexes, des jeux plus complexes, où il ya des grandes planches, plus possibilités, la stratégie de plus profond? Il se trouve que ce force brute Still Searching fait assez bien, sauf lorsque vous arrivez au point où cet arbre est si grand que vous ne pouvez pas représenter tout. Lorsque vous ne pouvez pas calculer la totalité de l'arbre, lorsque vous ne pouvez pas aller de l'avant et pousser vous au point où vous avez obtenu la totalité de l'arbre dans la mémoire, ou si vous pouvez l'obtenir dans la mémoire et il sera simplement vous prendre beaucoup trop de temps à la recherche par le biais elle, vous avez à faire quelque chose plus intelligente. Pour ce faire, vous avoir à faire deux choses. Tout d'abord, vous devez trouver un certain manière de limiter la profondeur. Eh bien, voilà OK. Nous pouvons trouver une belle, strict minimum et dire, vous ne pouvez aller si profond. Mais quand vous faites cela, cela signifie que vous avoir ces planches partiellement incomplètes. Et vous avez à choisir, dois-je l'aime cette planche partiellement incomplète, ou ce conseil partiellement incomplète? Et sur notre quatre par quatre matchs de tic-tac-toe, notre lecteur de l'ordinateur descendit au fond et il a dit, Je ai deux cartes différentes. Ni l'un est une victoire. Ni l'un est une perte. Ni l'un est une cravate. Comment puis-je choisir entre les deux? Et il n'a pas de façon intelligente de le faire. Nous voyons ce genre de évaluation arrive tout le temps que nous entrons dans des jeux plus complexes. Echecs est un excellent exemple. Aux échecs, nous avons, d'abord de tous, une planche plus grande. Nous avons beaucoup plus de morceaux. Et le positionnement de ces pièces et la façon dont ces morceaux déplacer est d'une importance cruciale. Donc, si je veux utiliser Minimax, Je dois être en mesure de préciser et dire, ce conseil, où personne n'a encore gagné ou perdu, est en quelque sorte mieux que cet autre conseil d'administration, où personne n'a gagné ou perdu. Pour ce faire, je pourrais faire choses comme je pourrais juste compter le nombre de pièces que je dois et combien de pièces avez-vous? Ou je pourrais donner différente morceaux différents points. Ma reine vaut 20 points. Votre pion vaut un point. Qui a le plus de points au total? Ou je pourrais envisager des choses comme, Qui a le mieux la position du conseil d'administration? A qui le tour suivant, tout ce que je peux ne d'évaluer de façon plus précise lequel de ces possibilités est mieux sans considérant exhaustive chaque mouvement qui pourrait venir après. Maintenant, pour faire ce travail, l'une des choses qui est va devenir vraiment important pour nous est pas seulement déplacent en ligne droite jusqu'à une profondeur particulière limite, mais être capable de dire, une de ces idées que je ont est si mauvais qu'il est pas la peine de considérer tous les moyens possibles que les choses peuvent aller de mal en pis. Pour ce faire, nous allons ajouter dans Minimax un principe appelé alph-bêta. Et alpha-bêta dit, si vous avez une mauvaise idée, ne perdez pas votre temps à essayer de de savoir exactement à quel point il est. Donc, voici ce que nous allons faire. Nous allons prendre le même principes que nous avions avant, le même type minimax de la recherche, que nous sommes va suivre, non seulement de la valeurs réelles que nous avons, mais nous allons garder une trace de la meilleure possible la valeur que je pouvais obtenir, et le pire possible résultat que je pouvais avoir. Et chaque fois que le pire chose est à la recherche de chances, Je vais abandonner cette partie de l'arbre. Et je vais même pas la peine regardant plus. Très bien, alors imaginons que nous commençons avec ce même arbre de jeu exact. Et maintenant, nous allons aller nouveau vers le bas, tout en bas dans ce coin en bas à gauche. Et dans ce coin en bas à gauche, nous regardons et nous évaluons ce conseil. Peut-être qu'il est un quatre par quatre tic-tac-toe conseil, ou peut-être qu'il est un échiquier. Mais nous regardons, et nous évaluons il, et nous obtenons une valeur de huit ans. À ce moment, nous savons que nous allons obtenir au moins huit points de cette décision de fond. Il n'a pas d'importance ce que l'autre sont deux, sept et que que deux. Ils pourraient être les valeurs ils voulaient être. Nous allons obtenir au moins huit points. Très bien, mais nous pourrions aller de l'avant et vérifier. Peut-être que l'un d'eux est meilleur que huit. Nous regardons le sept. Est-ce mieux de huit? Non, cela ne change pas notre avis à tous. Nous regardons les deux. Est-ce mieux de huit? Non, cela ne change pas notre avis à tous. Alors maintenant, nous savons que nous avons épuisé toutes les possibilités là-bas. On ne va pas pour obtenir rien de mieux que de huit. Nous allons obtenir exactement huit. Et si nous changeons ce nœud et par exemple, qui est maintenant une certitude. Nous montons d'un niveau au-dessus. Et maintenant, nous savons quelque chose à propos de ce niveau de minimisation. Nous savons que nous ne pourrons jamais obtenir plus de huit points si nous descendons cette direction. Parce que même si ceux- deux autres branches se révèlent être fantastique et de la valeur des milliers de points chacun, notre adversaire va nous donner la minimum, et nous donner les huit. Tout droit, eh bien, nous allons voir. Nous allons continuer dans cette voie. Nous descendons à celle du milieu sur le côté gauche. Nous regardons vers le bas et nous voyons qu'il ya un neuf. Nous savons que nous allons obtenir au moins neuf points en descendant cette route milieu. Et à ce stade, nous ne pouvons mettre en pause. Et nous pouvons dire, regardez, je savoir dans le niveau au-dessus, Je vais chercher pas plus de huit Points by aller dans cette direction. Mais si je suis descendu au milieu chemin au lieu de la voie de gauche, Je voudrais obtenir au moins neuf points. Mon adversaire ne va jamais laissez-moi aller dans cette voie du milieu. Ils obtiennent de choisir. Et ils vont choisir le chemin à gauche vers le huit, plutôt que sur le milieu vers ce qui est au moins neuf points. Donc, à ce moment-là, je vais arrêter. Et je vais le dire, vous savez quoi? Je ne dois regarder tout plus bas dans cette direction. Parce que je ne vais jamais y arriver. Je peux sauter celui-là, et je peux sauter que six, parce que cela ne se fera jamais. Donc, je vais descendre, et je vais envisager la possibilité suivante. Je vais là-bas, et je le dis, je vois deux. Je sais que si je reçois ici, je suis allez obtenir au moins deux. D'ACCORD. Je continue. Je vois quatre. Je sais que je vais avoir au moins quatre. Il ya encore beaucoup entre quatre et huit, cependant. Donc je continue. Je regarde et je vois qu'il ya un. Très bien, je sais que si Je vais dans cette voie, Je vais être en mesure de choisir les quatre. Qu'est-ce que mon adversaire va faire? Entre quelque chose qui me donne huit, quelque chose qui me donne quatre, et quelque chose que me donne au moins neuf, Eh bien, il va me donner quatre. Et je sais maintenant à la très haut, je vais pour être en mesure d'obtenir au moins quatre points sur ce jeu. L'idée de l'alpha-bêta est de couper les parties de l'arbre de sorte que je ne regarde plus à eux. Mais il semble encore comme je l'ai été en regardant beaucoup de l'arbre. Gardons descendre. Nous descendons la prochaine maintenant. Tout en bas, je trouve un. Je sais que je vais avoir au moins un. Je continue la recherche. Je trouve trois. Je sais que je vais avoir au moins trois. Je continue. Je trouve cinq. Je sais que je vais obtenir cinq si je descends dans cette voie. Et je sais aussi alors que mon adversaire, si je choisir le milieu de les trois grands choix, il va me donner quelque chose qui est de cinq ou moins. D'ACCORD. Je peux continuer à aller là-bas. Je peux regarder en bas et je peut dire, que vais-je à obtenir si je descends la voie du milieu? Je vais à obtenir, ainsi, trois là. Je vais obtenir quelque chose qui est au moins trois. Il ya encore des choses entre trois et cinq, donc je continuer à chercher. Oh, neuf, Je vais certainement prendre que sur trois. Je vais d'obtenir au moins neuf si je vais dans cette voie du milieu. Maintenant, mon adversaire arrête et dit, Regardez, il n'y a aucun point plus. Je sais que mon minimisation adversaire, il est va me donner la chose qui est inférieur ou égal à cinq, plutôt que la chose qui est supérieure ou égale à neuf. J'arrête. Je ne regarde pas plus à cela. Je continue. Je regarde en bas sur celui-ci. Vers le bas, je trouve un six. Je sais que je vais avoir au moins six. Et qu'est-ce que je peux faire? Je peux arrêter. Parce qu'il ya un choix entre quelque chose qui est au moins six et quelque chose qui est moins de cinq ans, il est va me donner la chose qui est inférieur à cinq. Et maintenant, je sais que je vais pour obtenir exactement ce choix. Je vais obtenir que cinq choix. Je remonte vers le haut. Qui vais-je choisir entre quelque chose qui est supérieur ou égal à quatre, ou quelque chose qui est égal à cinq? Je vais prendre quelque chose qui est au moins cinq ans. Je descends le dernier chemin, tout le chemin vers le bas. Il ya un. OK, au moins, je vais me faire un point. Je continue. Deux, oh, qui est mieux qu'une. Je vais d'obtenir au moins deux. Je trouve trois. Je sais que je vais obtenir trois. Et le point ci-dessus que, mon adversaire va de me donner quelque chose qui est inférieur ou égal à trois. Et maintenant, je peux arrêter. Parce que dans le choix entre moi étant mesure d'obtenir un de cinq ans et mon adversaire me donner quelque chose de moins de trois, Je vais toujours à prendre que cinq. Donc, je ne évaluent pas que partie inférieure de l'arbre du tout. Maintenant, cela peut sembler mineur. Mais quand des petits morceaux de l'arithmétique, supérieure et inférieure, peut couper des parties entières de cet arbre croît de façon exponentielle, qui mène à un énorme Montant des économies, économies qui sont assez grand pour que je peut commencer à jouer en compétition à des jeux plus complexes. Très bien, si nous regardons la taille et la complexité des différents jeux, tic-tac-toe était notre exemple simple. Nous avons un petit conseil, trois par trois. Nous obtenons, tout au plus, une moyenne de environ quatre choix différents que nous avançons dans le jeu. Nous avons quelque part autour de 10 à la cinquième possibles différentes feuilles. Et la construction d'un tic tac-toe joueur, eh bien, nous avons juste fait. C'est facile. Si nous montons à quelque chose de plus complexe, comme Connect Four. Vous rappelez-vous ce jeu où vous déposez les petits jetons en? Il est un conseil de six à sept heures, pas beaucoup plus grand, encore a environ la même ramification FACTOR tic-tac-toe. Je dois environ quatre choix où je peux mettre les choses en. Mais maintenant, je dois beaucoup plus conduit, 10 au 21 courant. Voilà quelque chose qui est facile assez que nous résolvons tout de suite. Checkers, plus vous complex-- obtenu huit par huit bord. Vous êtes seulement sur la moitié de à tout moment, si. Vous avez une ramification facteur qui est d'environ 2,8. Eh bien, nous avons un couple se déplace, vous pouvez prendre. Vous avez environ 10 à feuilles 31e, des espaces plus grands et plus grands, et plus. Comme je l'ai grâce à la recherche ces espaces plus en plus, qui est quand les choses comme alpha-bêta et être capable de couper des branches entières devient essentiel. Maintenant, dames était assez facile en 1992. Un programme informatique appelé Chinook a battu les dames du monde champion, Marion Tinsley. Et depuis lors, aucune lecteur maître humain a été en mesure de battre le meilleur systèmes informatiques. Si nous regardons quelque chose comme les échecs, maintenant encore une fois, nous avons huit par huit bord. Mais nous avons beaucoup plus complexe pièces, une grande partie des mouvements plus complexes. Nous avons un facteur de branchement d'environ 35, 35 coups possibles en moyenne que je peux prendre, et un état l'espace, un certain nombre de feuilles qui a grandi à 10 à la puissance 123e, un nombre énorme de possibilités. Même encore, les processeurs modernes sont en mesure de le faire avec succès. En 1995 puis en 1997, un ordinateur programme appelé Deep Blue construit par IBM qui a eu lieu sur un supercalculateur géant battre le champion du monde actuel, Garry Kasparov. Ce fut un point tournant. Aujourd'hui, cependant, que même traitement le pouvoir est assis sur mon MacBook. La vitesse de traitement continue plus en plus vite. Nous pouvons évaluer plus en plus conseils rapides et plus rapide. Mais plus important encore, nous avons mieux fonctions d'évaluation et de mieux l'élagage méthodes. Donc, nous pouvons rechercher la l'espace de manière plus complexe. Le plus gros de la carte jeux que nous pouvons penser, quelque chose comme Go qui est obtenu un conseil de 19 à 19 ans, tout à coup, nous avons dépassé le point où les systèmes informatiques peuvent gagner. Il n'y a pas de calcul système là-bas qui peut battre un joueur professionnel Go. Les meilleurs systèmes aujourd'hui rang qu'elle propos le genre de bon niveau amateur. Donc, il ya encore un peu out là que vous ne pouvez pas encore. Tous les droits, ceux-ci jeux de société traditionnels, ces types de systèmes où nous construire ce Minimax, si elle a obtenu alpha-bêta ou non, ces algorithmes fonctionnent parce qu'il ya certaines contraintes. Nous avons des informations parfaite sur le monde. Nous savons où toutes les pièces sont. Le monde est statique. Personne ne reçoit de déplacer le pièces autour pendant que je suis assis là à penser, en prenant à mon tour. Il ya un espace d'action qui est discrète. Je peux mettre mon pion ici, ou je peux mettre mon pion ici. Je ne suis pas autorisé à mettre mon pion sur la ligne entre les deux places. Et enfin, les actions sont déterministes. Je sais que si je dis, tour de chevalier de trois, mon tour va finir au chevalier trois, tant qu'il est un mouvement valide. Il n'y a pas d'incertitude à ce sujet. Maintenant, comme je vais au plus différents types de jeux, nous devons briser ces hypothèses. Qu'est-ce que si je vais à quelque chose comme les jeux vidéo classiques? Voici une sélection de vidéo jeux de l'Atari 2600. Que dois-je là? Je dois Frogger, Espace Invaders, Pitfall, et Pac-Man. Quels types d'environnements dois-je ici? Laquelle de ces hypothèses dois-je briser? Eh bien, cela dépend de la partie. Je pourrais jouer aux échecs sur la 2600, et il serait juste comme il était avant. Pour la plupart de ces systèmes, il y a une connaissance complète sur le monde. Il est tout à fait actions déterministes. Mais généralement, le monde de plus statique. Autrement dit, alors que je suis assis là attente, quelque chose bouge. Les fantômes viennent me chercher. Le scorpion me suit dessous. Les envahisseurs de l'espace sont se rapprocher de plus en plus. Comment bien pouvons-nous faire contre cela? Il ya quelques années, Google avait un projet appelé Deepmind, où ils ont formé un ordinateur programme de jouer Atari 2600 jeux. Et si vous pensez que cela est pas sérieux affaires, les résultats de leur étude ont été publiés dans la revue Nature, de sorte à peu près aussi bonne une publication que vous pouvez éventuellement obtenir. Et voici comment ils ont joué. Ils ont un algorithme qui était assis et regardé seulement les entrées de l'écran. Il a obtenu aucune instruction que ce soit sur les règles du jeu. Et il était censé comprendre, basé son score, comment il faisait. Ce fut un système qui utilise quelque chose appelé apprentissage par renforcement. Qui est, il regarda son score. Et si elle a obtenu un bon score, il a dit, Je me souviens de ces choses. Et je dois faire ceux nouveau. Et si elle a obtenu une mauvaise note, il dit, Je ne devrais pas faire ces choses à nouveau. Ceci est la performance de ces systèmes formés autorisé à jouer pour une quelques heures sur chaque jeu, comparés aux joueurs professionnels. Donc, pour tous les jeux qui sont sur le côté gauche de cette ligne, ce programme informatique autodidacte surperformé les joueurs professionnels. Et pour que tout le droite, les joueurs professionnels étaient toujours le meilleur. Pour quelque chose qui savait rien sur les règles, que rien sur la structure du savait jeux, ceci est impressionnante performance. Et voilà ce que nous sommes en mesure de faire aujourd'hui. OK, vous dites, mais si nous penser AI dans les jeux, normalement nous pensons à la les choses que nous pouvons réellement asseoir et jouer contre. Si je asseoir et je joue StarCraft, ou je joue Sieve gratuit, l'adversaire d'ordinateur est le personne contrôlant les Zergs, ou autre commande de la civilisation. Comment font ces joueurs effectivement trouver leurs mouvements? Eh bien, ces jeux sont structurés de la même façon que nos jeux de société, ces jeux que nous allons appeler collectivement quatre jeux X, explorer, expand-- oublier les petits. Que sont-ils? Explorez, développez, et d'éteindre, Je pense est le dernier. Mais ils sont essentiellement exploration et de conquête de jeux. Typiquement, l'adversaire d'ordinateur il a peu d'informations. Ils ne savent pas exactement ce qui est passe derrière ce brouillard de la guerre. Ils ne reçoivent pas de voir ce vous avez dans votre inventaire. Il ya un environnement qui est dynamique. Tout change tout le temps. Vous ne recevez pas de s'asseoir et attendre pour prendre votre déménagement. Mais la plupart des choses sont encore discrète. Je dois mettre ma ville ici. Ou je dois mettre ma ville ici. Et tout est déterministe. Quand je dis, déplacer mon unité ici, mon unité se déplace ici, sauf si un obstacle soudain entre en jeu. Maintenant, ce nest pas tout ordinateur jeux qui sont là aujourd'hui. Si je vais et je joue un premier type de personne jeu, quelque chose comme voleur ou Fallout ou Skyrim, ou Halo, maintenant Je dois adversaires de l'ordinateur qui sont là-bas qui ont une situation très différente. Ils ont, à nouveau, des informations limitées. Ils ne peuvent voir un certain champ de vision. L'environnement est toujours dynamique. Les choses changent tout le temps. Mais maintenant, je dois beaucoup plus espace d'action continue. Je peux être tout à la dérobée un peu en dehors de la porte. Et certains jeux, mon actions sont stochastiques. Je reçois d'essayer de sauter par-dessus ce mur, mais je l'ai eu la chance d'échouer. Ces types de jeux se rapprochent et plus proche de la nature des contrôleurs que nous construisons dans la robotique. En robotique, nous avons à assumer que nous avons des informations limitées. Nous avons capteurs nous dire sur le monde. Nous avons une toujours changeante, environnement dynamique. Nous avons un monde dans lequel l'espace est continue, plutôt que discrète. Et nos actions, quand nous essayons eux, ont une chance d'échouer. Et en fait, jeu moderne contrôleurs pour votre adversaire Halo, ou pour les PNJ dans Skyrim, essentiellement gérer de petites architectures de robotique. Ils sentent le monde. Ils construisent un modèle du monde. Ils calculent basés sur un ensemble de objectifs qu'ils aimeraient accomplir. Ils prévoient des actions en fonction sur ce qu'ils savent. Et ce sont exactement les mêmes types des systèmes que nous construisons dans la robotique. Donc, ces architectures, à ramener cela ensemble, sont souvent tout à fait la même. Donc, nous allons voir si nous pouvons voir que. Revenons à notre exemple de tic-tac-toe. Et je vais demander à un couple de mon post-docs à venir et aidez-moi. Donc, Chen Ming, et Alessandro, et Olivier, si vous les gars viendrait. Et je vais avoir besoin un couple de bénévoles OK, je vis un droit de main y dans le milieu. Permettez-moi de prendre un de plus, quelqu'un plus loin dans le dos peut-être. Tout à droite, là-bas. Monte. Bien. Prenons donc que la couverture vers le bas. Et si vous les gars viendrait droit Retour ici pour moi, fantastique. Alors ceci est un robot appelé Baxter. Et Baxter est un robot qui est un plate-forme commerciale, conçue par une compagnie appelée Rethink. Et ce robot est conçu pour la fabrication à petite échelle. Mais aujourd'hui, nous allons l'utiliser pour jouer tic-tac-toe. Maintenant, ce robot est aussi quelque chose qui est relativement unique. Parce que si je trouvais partout près d'une automatisation d'usine standard système, je serais en très grave danger d'être blessé. Baxter, cependant, est conçu pour être relativement sûr pour interagir avec. Et donc je peux pousser sur ce robot. Et vous pouvez le voir, il est un peu peu souple, car il se déplace. Et je peux repositionner où je voudrais qu'il aille. Or, dans un système robotique normale, nous aurions un ensemble de joints ici ce serait directement répondre aux commandes de position. Et ils ne se soucieraient pas nécessairement si ils se déplacent à travers l'air ouvert, ou si elles se déplaçaient à travers ma cage thoracique. D'ACCORD. Et généralement, si vous étiez ici avec un système industriel, vous iriez loin d'elle. Il y aurait jaune bande de sécurité tout autour de lui. Ce système a un design légèrement différent pour être plus convivial et plus facile pour les gens d'interagir avec, en ce que dans chaque commune, il ya un ressort. Et plutôt que de contrôler une position exacte, nous contrôlons une certaine quantité de couple, une certaine quantité de la force, que nous aimerions être sur que le printemps. Très bien, alors laissez-moi prendre nos bénévoles ici. Salut quel est ton nom? AUDIENCE: Louis. CONFÉRENCIER: Louis. Ravi de vous voir. Et? AUDIENCE: David. Conférencier: David. Enchanté de faire votre connaissance. Si vous les gars attendrait ici pour une seconde, Je vais vous donner une chance de le faire. Donc, ce robot, si vous venez et si vous appuyez doucement sur elle, vous allez voir que il se déplace un peu. Et si vous prenez à droite ici sur le poignet juste ci-dessus où les boutons sont, il semble que vous devez saisir les boutons, mais saisir juste au-dessus à la place, vous aurez être capable de manipuler très doucement à travers l'espace. Louis, vous voulez faire un essai? Afin de lui donner un peu pousser pour commencer. Et puis si vous mettez vos doigts juste là et accrocher à elle, car il se déplacera pour vous alors. Très bien, vous voulez faire un essai? Monte. Afin de lui donner juste une douce pousser là pour commencer. Vous pouvez vous sentir comme ce qu'il est. Et puis si vous prenez juste là, vous serez en mesure de manœuvrer autour. D'ACCORD. Donc, généralement, ce genre d'un robot serait être utilisé pour la fabrication de petits échelle. Et je vais passer ce bras juste bas de la route un peu ici. Mais aujourd'hui, nous allons utiliser le même système de jeu de tic-tac-toe basé sur Minimax que nous avons construit plus tôt. D'accord? Donc, vous les gars sont chacun va jouer un jeu. Louis, vous allez être le premier. Permettez-moi de hold-up ici pour une seconde. Je vais devoir vous vous tenez droit ici, donc tout le monde peut vous voir. Êtes-vous les gars mis en place ici? ROBOT: Bienvenue. Jouons tic-tac-toe. Ne pas saisir votre jeton avant Je dis que ce sera votre tour. Je commence le jeu. C'est mon tour. CONFÉRENCIER: Maintenant, si vous pouviez prendre un des vos morceaux et aller de l'avant et placez-le. ROBOT: Il est de votre tour. [RIRE] C'est mon tour. [RIRE] [RIRE] C'est à ton tour. CONFÉRENCIER: La race humaine est compte sur vous ici, Louis. ROBOT: Il est mon tour. CONFÉRENCIER: Donc Baxter bloqué avec succès ici. ROBOT: Il est de votre tour. C'est mon tour. C'est à ton tour. C'est mon tour. CONFÉRENCIER: Et nous allons laisser Baxter terminer son dernier coup ici. [RIRE] ROBOT: Voilà une cravate. Je vais gagner la prochaine fois. [RIRE] CONFÉRENCIER: Très bien, merci beaucoup, Louis. Merci. Vous pouvez aller dans cette voie. ROBOT: je commence le jeu. CONFÉRENCIER: Alors laissez-moi vous expliquer vous un peu plus peu avant nous obtenons notre revanche ici. Qu'est-ce qui se passe exactement? Ainsi, le robot a une caméra là-haut ici. Et ça en regardant la carte. Et il est de voir si il a un O rouge ou bleu et X. blanc comme ceux se placé sur le conseil d'administration, qui est essentiellement la même entrée que nous serions en train de lire depuis notre structure de données de notre écran. Il fonctionne de la même algorithme minimax être en mesure de trouver où placer un bon coup. Et puis nous donner un ordre à propos où nous aimerions un jeton pour être placé. Le bras se déplace sur. Il utilise une pince à vide à appliquer aspiration à une certaine pièce de bois qui, le ramasser, le déplacer vers la droite place, puis relâchez l'aspiration et déposez-le. Très bien, nous allons pour lui donner une autre chance avec un lecteur légèrement plus intelligent ici. Tu es prêt? Très bien, si vous voulez reposer jusqu'à ici et donner a-- tourner de cette façon de sorte que vous pouvez voir tout le monde. Et puis [inaudible]. ROBOT: Il est mon tour. CONFÉRENCIER: Baxter va commencer. C'est à ton tour. C'est mon tour. C'est à ton tour. C'est mon tour. [RIRE] CONFÉRENCIER: [WHISPERING] Juste laissez-le aller de l'avant et gagner. ROBOT: Il est de votre tour. Président: Cela est OK. ROBOT: Il est mon tour. [RIRE] Je gagne. [RIRE] Je commence le jeu. CONFÉRENCIER: Très bien, je vous remercie beaucoup. Très bien, je pense que nous avons le temps pour encore un excellent joueur de tic-tac-toe, quelqu'un qui peut mettre cette chose à correspondent, qui sait ce qu'ils font. [RIRE] Qui va être notre champion ici? Très bien, vos amis vous volontaire. Cela est assez bon pour moi. Dites-moi votre nom à nouveau. AUDIENCE: Tamir. CONFÉRENCIER: Tamir, agréable de vous voir. Tout droit, encore une fois, nous allons vous mettre juste ici que tout le monde peut vous voir. Vous êtes notre représentant dans ce match aujourd'hui. Baxter est un et oh et oh. Ou désolé, oh l'un et l'autre. Et il est à vous ici. Baxter va se faire le premier pas, cependant. Ainsi. ROBOT: Il est mon tour. [RIRE] C'est à ton tour. C'est mon tour. C'est à ton tour. C'est mon tour. C'est à ton tour. [RIRE] ROBOT: Il est mon tour. CONFÉRENCIER: Il est beaucoup plus difficile quand vous êtes debout ici, les gens. [RIRE] ROBOT: Vous les humains sont si faciles à battre. [Rires et applaudissements] CONFÉRENCIER: Merci beaucoup. ROBOT: je gagne. Je commence le jeu. Président: Très bien, alors merci beaucoup à Olivier, et Alessandro, et Chen Ming. [APPLAUDISSEMENTS] Je veux faire un dernier point. Donc Baxter à la très arrêter là, triché. Et ce fut inattendu. Un du fantastique choses à propos de AI est que nous faire des travaux en IA de sorte que nous pouvons construire vraiment intéressant et intelligent appareils. Mais nous faisons aussi des travaux en IA car il nous dit quelque chose sur la façon dont les êtres humains sont intelligents. L'un des favoris les études de mon laboratoire est en regardant ce qui se passe quand machines trichent de façon inattendue. Nous l'avons fait à l'origine pas Baxter jouer tic-tac-toe, mais plus petite avec un robot nommé Nao, qui a joué roche-papier-ciseaux. Et parfois après jouer beaucoup, beaucoup d'ennuyer Pierre-Feuille-Ciseaux jeux, le robot jetterait un geste, perdre, et puis soudainement changer son geste et de dire, je gagne. [RIRE] Maintenant, parfois, nous aurions également le robot, tout comme un contrôle, jetez un geste, gagner, et changer son geste à perdre, jeter le match, tricher pour perdre. Et qui est loin d'être aussi convaincant. Le robot qui triche afin de gagner les gens à répondre comme si elle était out pour les obtenir, comme il recherche activement leur destruction. [RIRE] Il devient un agent. Il est comme une personne. Il a la conviction et l'intention. Et il est pas bonne intention. Et le robot qui lance le jeu est juste un dysfonctionnement. Il est juste un appareil défectueux. Permettez-moi de vous montrer quelques exemples de ce à partir de quelques-uns de nos participants. Alors, voici la tricherie dans le but de perdre. [LECTURE VIDÉO] - [Inaudible] gagner. Jouons. -Attends quoi? - [Inaudible] gagner. Jouons. [Inaudible] gagner. Jouons. CONFÉRENCIER: Et voici la tricherie pour gagner. Oui, je gagne. Jouons. -Vous Ne pouvez pas faire cela. [RIRE] Oui, je gagne. -Tu as triché. Vous avez triché maintenant. Oui, je gagne. Hé, vous tricheur. Vous trichez, super tricheur. [FIN LECTURE] CONFÉRENCIER: Ces différentes réactions rapidement changer notre perception de l'appareil. Cela veut dire que nous construisons délibérément machines qui trichent parce que ce la meilleure ingénierie que nous pouvons faire? Non, mais il nous dit quelque chose vraiment intéressant sur les gens. Cette chose que vous et astuces vole votre victoire, que ce quelque chose qui est vivant, qui est Animer, qui est là pour vous attraper. Il a l'état mental. Il a la conviction. Il a l'intention. Cette chose qui tend le jeu pour vous, qui est pas. Voilà tout dysfonctionnement. Ceci est à bien des égards pourquoi il est facile de jeter le jeu avec les enfants. Mais si vous essayez de les tromper et une sorte de prétendre à la victoire quand, vous le savez, juste pour raccourcir la jeu, ils vous attrapent tout de suite. Ces types d'effets que nous voyons sortir de l'IA, ils nous apprennent beaucoup de choses sur nous-mêmes. Tout à droite, qui est tout pour aujourd'hui. Merci beaucoup à David et l'équipe de production de Harvard pour descendre. [APPLAUDISSEMENTS] Nous vous verrons pour un quizz, puis pour une dernière lecture. Bonne journée. [APPLAUDISSEMENTS] [Jouer de la musique] DAVID MALAN J: Eh bien, nous avons probablement besoin d'introduire une sorte de cryptage, droit? Car alors les en-têtes de ces requêtes HTTP seront brouillés afin que quiconque essayer de renifler votre trafic ne sera pas réellement être en mesure de les voir. Alors, quelle est la solution à ce problème? Eh bien, nous devons effectivement introduire chiffrement dans la formule, de sorte que lorsque ladite personne est transmettre des données de A à B, nous pouvons en toute sécurité send-- [RIRE] Les informations contenues dans une manière que le adversaire ne peut pas, en fait, le voir.