[Música tocando] COLUMNA: Benvido de volta, todo o mundo. Este é CS50. E hoxe, temos unha morea de cousas interesantes para falar. Primeiro, porén, eu teño que lembrá- vostede dalgunhas cousas administrativas. Esta semana é un cuestionario, quarta- ou á sección de Yale os martes e xoves, o xoves. Non hai comentarios de quiz esta noite na Universidade de Yale, 05:30 - 07:00. En Harvard, gravaron un onte. E todo o mundo pode ver que en liña. Ademais, esta semana ou principios da próxima semana, nós temos a nosa última charla CS50. [Xemidos] Sei. Veu axiña. Estudantes de Yale terá un live charla aquí na escola de dereito auditorio o venres. Haberá bolo. Estudantes de Harvard terá a última charla en Sanders o luns. Haberá tamén bolo. Ademais, esta semana o venres, para os de vostedes que están vindo para New Haven, temos a Expo CS50. Temos máis de 30 distintos grupos rexistrados para lle amosar todo de veleiros autónomos, para sistemas que recoñecen retratos dixitais, para o ordenador música e música producida por ordenador. Entón, por favor unirse a nós. Eu creo que vai ser un gran momento. Hoxe, porén, hai que seguir a falar de AI, sobre a intelixencia artificial. E unha das cousas que nós estamos indo a chegar ao hoxe é a idea de como usar o AI para resolver problemas. Agora, como sempre, imos comezar con algo sinxelo. E nós imos comezar cunha idea simple. E iso é a través da investigación. Entón, imaxine por un minuto que eu ten unha tarefa que eu teño para realizar. E gustaríame ter esa tarefa automatizado por algún axente software. Imaxina que eu estou tentando reservar un conxunto de voos desde, digamos, Boston a San Francisco. Podería pasar e eu podería usar un de busca en liña marabillosa ferramentas, o que vai facer basicamente o mesmo proceso que estamos indo a pé ata hoxe. Pero se non ten que ferramenta, o que faría? Ben, pode ollar e ver e dicir, eu estou en Boston. O que os voos están dispoñibles para min? Agora, quizais teña tres posibles voos desde Boston que vai caber o tempo cando eu teño saír. Podería voar Chicago. Ou eu podería voar Miami. Ou eu podería voar a Nova York. Podería, entón, mirar de cada un unha desas cidades de destino e pensar sobre o que locais Podería chegar de cada unha destas cidades individuais. Entón, talvez desde Chicago, podo conseguir un voo directo para San Francisco. Isto é excelente. Ou eu podería incorporarse un voo para Denver. Agora, quizais que o voo a San Francisco é a solución perfecta para min, pero quizais non. Poida que eu estou buscando algo iso é un pouco máis barato ou un pouco mellor para o meu horario. E para que eu puidese ver o que outros posibilidades poden estar aí. Entón, eu podería ollar para Denver. E a partir de Denver, así, quizais Podo ir nun voo para Austin. E a partir de Austin, quizais eu poida obter unha voo para Phoenix e da Phoenix a San Francisco. Agora, eu non estou preparado aínda. Porque quizais haxa unha con voos directos de Nova York a San Francisco que é perfecto para min. Ou que haxa un voo de Miami mediante Denver que é moito máis barato. Entón, eu teño que ir. E eu aínda teño que mirar a quen cidades que aínda non investigados. Teño que comprobar exhaustivamente todas as posibilidades que poida ter. Así, a partir de Nova York, quizais eu poida obter unha voo para Nashville, e de Nashville para Austin. E entón eu sei onde estou. E entón eu sei desde Austin, podo voar Phoenix e da Phoenix a San Francisco. Se eu voar Miami primeira, con todo, quizais eu poida coller un voo de Miami para Nashville, ou desde Miami para Austin. E agora eu tente todo das posibilidades. Eu constrúe-se neste gráfico que me mostra todas as posibles rutas que eu podería ser capaz de tomar. Cando nós representamos estes tipo de problemas, non estamos indo para representar Los explicitamente como este gráfico, porque ese gráfico non representa a historia onde fomos. Sabendo que eu voei de Phoenix para San Francisco non me diga se eu vin a través Nashville, ou a través de Denver, ou a través de Miami. Entón, o que vou facer é no canto Vou levar este mesmo problema, e eu vou representa-lo como unha árbore. E na raíz da árbore, na arriba, eu vou poñer o lugar que eu comece, Boston. E a partir de Boston, eu vou mirar para todos os posibles lugares que eu poida viaxar. Ben, neste caso, eu tiña tres, Chicago, Nova York e Miami. E entón eu vou explorar cada un dos eses nenos na árbore. De Chicago, vin que tiña dous voos. Eu podería voar directamente San Francisco ou Denver. Agora San Francisco, que é o meu obxectivo. Ese é o meu destino. Isto vai ser unha folla desa árbore. É dicir, eu nunca estou indo a ir nalgún lugar tras San Francisco. De Denver, aínda que, Podo voar desde Denver para Austin, desde Austin para Phoenix, e de Phoenix a San Francisco. E agora de novo, cheguei a unha folla. Podería, entón, volver á seguinte cidade que aínda non totalmente explotado. Iso sería Nova York, ir vólvese para o cumio da miña árbore, descendan a Nova York. De Nova York, podo voar Nashville, de Nashville a Austin, de Austin para Phoenix, e desde Phoenix a San Francisco. E, finalmente, unha cidade que eu non mirei aínda, Miami. Ben, dende Miami dixen que tiña dous posibilidades, Nashville ou Austin. Se eu voar Nashville, ben, entón eu voo desde Nashville, para Austin, para Phoenix, a San Francisco. Se eu voar Austin, eu voo Austin, para Phoenix, a San Francisco. E agora eu teño unha árbore. É unha árbore completa. É todas as posibilidades e todos os camiños que eu podería tomar. É dicir, se eu comezar a raíz da árbore na parte superior e eu baixar a un dos sae, el dime non só onde eu vou acabar, San Francisco, pero me di a ruta que Necesito levar para chegar alí. Agora, cal destes é o mellor? Ben, nada sobre iso problema aínda me di cal delas é a mellor solución. Poida que eu me importa máis sobre canto tempo eu estou no aire, ou a distancia que estou voando. Nese caso, Chicago para San Francisco pode ser menor número de millas no aire. Poida que eu me preocupo co custo. E todos sabemos voos directos son xeralmente máis caros. Entón, talvez si levar isto tipo de ruta cara atrás través de Miami, Nashville, Austin, Phoenix, quizais, a continuación, Eu recibín un prezo máis baixo. Pero eu podería optimizar en calquera criterios que me interesa. Quen ten o mellor en voo WiFi, ou que aeroportos teñen a mellor comida dispoñible. E cada un destes pode me dar unha solución diferente que eu vexo como o mellor. Estes tipos de problemas, onde imos para construír esta árbore de posibilidades e logo ollar para cada un destes camiños individuais, e examinar cal destes fulfills un criterio para nós, imos chamá- estes problemas de procura. E nós temos lotes de algoritmos, algúns dos cales vimos xa, ir e explorar aquelas árbores. Poderiamos facelo do xeito que eu só fixen, unha busca en profundidade, indo para abaixo, tanto como pudermos ata nós bateu unha folla, e, a continuación, volvéndose, e indo para a dereita de volta para abaixo. Ou podemos facer o que é chamado de procura en anchura. Poderiamos ampliar todo na parte superior, e, a continuación todo nunha liña debaixo que, a continuación, todo unha liña debaixo daquel. Estas árbores de busca son fundamentais para a AI. Pero eles non obter completamente seguro o tempo. De feito, en moitos dos casos que realmente se preocupan, queremos construír unha árbore, pero nós non, en realidade, comeza a facer todas as decisións. Estas son situacións chamadas busca adversarial, tamén coñecido como a forma de escribir rol sistemas e ser pago por iso. Pero estes son os tipos de sistemas onde Pode comezar a escoller cando ir de Boston, que cidade ir á seguinte. Pero despois diso, alguén pode obter para tomar a decisión sobre onde eu voar. Polo tanto, para construír estes tipos de estruturas, estamos vai ter que tomar un pouco visión diferente para el. Non imos ser capaces de pode buscar a través da árbore máis, porque non somos o que está no control de cada un destes puntos de decisión. Entón, imos imaxinar unha simple xogo como tic-tac-toe. Podería comezar cun Placa completamente en branco. E en tic-tac-dedo do pé, X pode xogar primeiro. E para que eu puidese pensar en todo o movementos posibles que X podería facer. E se eu son o único xogo X, iso é óptimo. Teño nove posible move o que podo facer. Podería poñer un X en calquera destes nove posicións. E, a continuación, a partir de cada un destes, I podía imaxinar o que acontece a continuación. Ben, neste caso, a outra xogador comezaría a tomar un rumbo. O comezaría a tomar un rumbo. E de cada un destes, hai sería oito lugares distintos O que podería poñer o marcador. Imos dicir que eu decidir que eu era vai poñer un X no centro. Que sempre parece que un bo movemento de apertura. Podería mirar para abaixo que, a oito movementos posibles que O fai. Agora, se eu estou xogando X, que é marabilloso. Comezar a escoller cal deles eu ir ao un no medio. Pero agora ó comeza a escoller. E eu non teño control sobre esta decisión. Pero a partir de cada un destes posibles posicións de mesa, hai entón outro conxunto de posibilidades. Cando se trata de ser miña vez de novo, eu faría comeza a escoller e dicir, ben, O móvese para o ben, o punto medio do lado esquerdo, a continuación, Eu teño un conxunto de posibilidades onde eu poida tomar o meu seguinte paso. Destes, eu podería considerar todos as posibilidades debaixo deles. E, a continuación, o obtería para escoller entre aqueles. E eu podería continuar a construír esta árbore ata que cheguei ao punto onde queira alguén gaña o que é game-- ten que ser considerada unha folla node-- ou o consello está completamente cheo e ninguén gañou. E iso tamén vai ser un nodo folla. Isto vai ser un empate. Pero a cousa complicada con isto é se iso fose só unha investigación regular problema, eu sería capaz de digamos, así, X debe ir aquí. E O camiño debe ir máis alá. E entón X debe ir aquí. E, a continuación, debe ir O camiño ata alí. E entón X pode obter tres nunha cola, e eu gañar. E o xogo sería máis en cinco movementos, tres para min, dous para o meu adversario. Pero eu non sempre consegue escoller iso. Entón, en vez diso, o que somos vai ter que facer é que nós imos ter para ter unha nova estratexia. E que a estratexia algoritmos xogo-playing adoitan usar é o que se chama minimax. A idea central do minimax é que somos vai escoller o movemento que dá o noso adversario o peor conxunto posible de movementos que poden facer. Non me fai ningún ben para escoller un movemento onde Eu podería ser capaz de vencer despois que, xa que o meu adversario non é me vai dar esa oportunidade. Van escoller algúns resultado terrible para min. Entón eu vou facer o move que forza o meu adversario para facer algo mellor para min. Todo ben. Imos ver como iso se desenvolve. Entón aquí está o noso algoritmo en pseudocódigo. Estamos indo para xerar toda a árbore de xogo. Nós imos construír toda a estrutura. E entón nós imos pasar. E aínda no fondo de cada un dos nós terminais, en cada unha das follas, imos avaliar como valioso é que para min? E nós estamos indo para as cousas de valor que son bos para min como positivo. As cousas que non son boas para min será menos positivo ou cero, ou mesmo negativo. Así, en tic-tac-toe, quizais unha vitoria para min é bo. Esa é unha pregunta. E un empate é cero. E algo que é unha perda para me, quizais iso é unha negativa. Todo o que importa é que o mellor é para min, canto maior sexa a puntuación recibe. A partir destas posibilidades no fondo, entón imos filtrar cara arriba. E cando é a miña oportunidade de escoller entre un conxunto de alternativas, Vou escoller o que é obtivo a maior puntuación. E sempre que el é o meu opoñentes virar para escoller, Vou asumir que eles están indo a escoller aquel coa puntuación máis baixa. E se eu fai iso todo o camiño ata o cumio da árbore, Vou escoller un camiño que dá me o mellor resultado que eu poida obter, asumindo que o meu adversario fai todos os movementos certos. Todo ben, entón imos ver iso en acción por primeira vez. E entón nós imos realmente mirar para o código para el. Entón imaxine teño este gran árbore. E agora eu non estou xogando tic-tac-toe. Quería darlle que un simple rico. Entón, eu teño un pouco de xogo onde hai moitas puntuacións diferentes que eu podería ter ao final. E así eu construír esa árbore completa. E comezo a mover en primeiro lugar. Eu son a raíz da árbore. E comezar a escoller isso-- iso fico para dar a través daquel primeiro nó. E entón o meu adversario ten que ir. E entón eu teño que ir unha vez máis. Así, na parte inferior, eu teño un conxunto de posibilidades que podo escoller, diferentes estados terminais do xogo. Se eu estou abaixo en que extrema esquerda canto, e eu ver que eu teño unha selección entre un e oito, sete, e un dous, ben, eu son o único que comeza a escoller. Entón, eu estou indo a escoller o mellor da xente. Vou escoller o oito. Entón eu sei que eu baixar a ese punto, Eu vou ser capaz de conseguir que os oito puntos. Se eu acabar no seguinte punto sobre, sobre o próximo no, un nove, un, ou un seis, así, eu son vai escoller a mellor delas. Vou escoller a nove. Se eu tivera unha selección entre dous e catro, e un, Vou escoller a catro, o máis alto. Agora, se eu ollar para o nivel enriba diso, meu adversario é o que se ten que facer esa escolla. Entón, o meu adversario comeza a escoller, gustaríame darlle o único que está a suceder para tiralo oito puntos, ou eu darlle a cousa que é vai darlle nove puntos, ou a cousa que está a suceder para darlle catro puntos? E o meu adversario, sendo racional, vai escoller o menos daqueles, vai escoller a catro. E podo facelo a través de toda a árbore. Podo ir para abaixo para que conxunto do medio de tres. E podo escoller entre un, tres e cinco. E comezar a escoller. Entón eu escoller un de cinco. Podo escoller tres, nove ou dous. Comezar a escoller, entón eu escoller o nove. Seis, cinco, ou dous, eu escollo. Comezar a escoller a seis. Nivel superior que, quen comeza a escoller? Quen comeza a escoller? O outro cara, o meu adversario. Entón, eles escoller cinco, nove, ou seis, que? Audiencia: A cinco. COLUMNA: Eles escollen a cinco. Comezan a escoller o mínimo. E, a continuación, o último, escoller un, dous, ou tres. Comezar a escoller, entón eu escoller tres. Nove, sete, ou dous, eu escollo nove. E 11, seis, ou catro, eu escoller 11. Meu opoñente logo escolle tres, nove, ou 11, escolle o mínimo. El me dá un tres. E, finalmente, na parte superior da a árbore, comezar a escoller de novo. E comezar a escoller entre catro, cinco ou tres. Entón eu levo a cinco. Se eu teño que controlar todo, eu tomar o camiño que levou ao 11. Pero eu non conseguir facer esa escolla. Se eu ir por ese camiño. Meu opoñente me vai obrigar a a elección que conduce a un de tres. Entón, o mellor que podo facer é para dar ese ramo medio, facer esa elección é que, finalmente, me vai levar a cinco puntos. Isto é o que fai minimax. Todo ben. Imos dar un ollo niso. Entón, aquí no CS50 IDE é un programa que aplica minimax xogar tic-tac-toe. Nós imos construír Se unha representación. Nós imos ter dous opponent-- ou dous xogadores, o noso ordenador xogador e un xogador humano. O xogador número un xogará o O. Isto vai ser o xogador máquina. Comezan a moverse segundo. E o outro xogador, o noso xogador humano, será X. E para facer a miña vida un pouco simple, eu vou etiquetar este xogador un negativo. Entón eu só podo multiplicar por un negativo para intercambiar entre un e outro xogador. Todo ben, entón imos dar un ollo o que en realidade imos facer. Nós imos definir o noso consello. Será, así, nós imos para permitir que sexa tres por tres, ou podemos incluso xogar cinco por cinco ou sete por sete tic-tac-dedo do pé se como, en base a algunha dimensión D. E nós imos ter un matrimonio de funcións auxiliares que vai facer cousas como iniciar o screen-- ou desculpe, iniciar nosas variables, desmarque a pantalla, chamar a bordo da pantalla, un que impón unha tarxeta a ver se ou non hai un gañador, o que analiza a través da liña de comandos, só para axudar, o que le en entrada, e unha función chamada minimax. E iso é o que imos máis lle gusta. Pero imos ollar primeiro para o inicio. O que imos facer? Ben, imos analizar a liña de comandos, acaba de ler e ver que tarxeta de dimensión que nós queremos ter. Imos comezar o noso consello. E entón nós imos entrar nun gran lazo salvaxe, repetidamente aceptar móvese ata que o xogo é gañou, ou non hai ningún movemento á esquerda. Cada vez que pasar por iso loop, imos limpar a pantalla. Imos chamar a bordo da pantalla. E nós estamos deliberadamente tipo de abstraindo estes afastado como subrutinas, de xeito que non hai que preocuparse moito sobre os detalles de como acontecen. Terá o código máis tarde hoxe. E se queres ollar a través e descubrir, pode ve-los todos. Pero nós imos deseñar unha tarxeta na pantalla. E entón nós imos comprobar e ver, temos un gañador? Alguén gañou este xogo? No caso de que teñen, imos imprimir unha mensaxe de vitoria. E nós imos rematar o partido. Tamén imos comprobar e ver se hai un empate. Vai ser doado para ver se hai un empate. Isto significa que todos os espazos están cheos, pero non houbo aínda un gañador. Podemos declarar un empate e pode facer. A continuación, o certo se meat-- é un xogador de máquina, imos permitir que xogador máquina descriptor mediante o uso deste algoritmo minimax, para atopar a mellor xogada que pode. E entón nós imos poñer este movemento cara arriba. Se non, se é un xogador humano, leremos algunha entrada do humano. E entón se é o humano xogador ou o xogador máquina, imos facer un par pouco bits de comprobación de erros, garantir que se mantén dentro dos límites das dimensións reais do bordo que temos, asegúrese que é o que o espazo baleiro, que ninguén poñer unha peza xa estaba alí. E entón nós imos só poñer unha peza no taboleiro, cambiar o xogador para a capa seguinte, e incrementar cantos movementos acontecer. Ese é o principal lazo para o noso xogo tic-tac-toe. Minimax, entón, é exactamente o algoritmo que antes. O único axuste que fixemos, para que poidamos pode desempeñar maior placas dimensionais é que temos mantido este parámetro adicional chamado profundidade. E profundidade só di, se eu son busca abaixo través daquela árbore e eu fico tan lonxe para abaixo ademais de algún nivel de profundidade que eu só non quero para ir máis lonxe, Vou deixar e só avaliar a bordo naquel momento. Vou comprobar e ver se hai un gañador. Se hai un gañador, eu devolve-los. Se non, eu vou pasar por un loop. E eu vou dicir, para todos as posibles localizacións que eu podería posiblemente tomar como miña cambio, eu vou construír unha placa hipotética que inclúe a miña xogada na que o consello, e, a continuación, chama recursivamente minimax. Se é a miña xogada, eu teño que atopar o aquel que ten a maior puntuación. Se é movemento do meu opoñente, atopamos aquel que ten a puntuación mínima. E todo o demais é mantendo só rexistro. Todo ben, entón imos ver esta carreira. En realidade, talvez o que pudermos obter un par de voluntarios para vir e xogar tic-tac-toe. [Inaudível] un, e un máis, dous, alí mesmo. Imos cara arriba. Entón, imos adiante e reinicie esta completamente. Entón, ola. Audiencia: Ola. COLUMNA: Cal é o seu nome? Audiencia: Gorav. COLUMNA: Gorav. Audiencia: Eu son Layla. Orador: E Layla, e Layla, desculpe. Imos cara arriba. Gorav, nós imos ter que ir primeiro. E eu vou pedir-lle para ser un non terriblemente bo xogador tic-tac-toe. OK, entón toda a presión está fóra en ti. A ver, porén, que a nosa máquina xogador pode realmente facer algo intelixente. Entón vai adiante. Vai escribir en que coordinan desexa poñer o seu X in. A0, OK, ea máquina ha ir inmediatamente e poñer a súa marca na A1. Pon a O no taboleiro. Todo ben, agora vai adiante. Onde quere ir? C2. Noso xogador máquina tomou o cadrado do medio, bloqueou ti. Así, foi unha boa, cousa intelixente para que faga. Bloqueou. Isto é excelente. El marca o canto alí. E vai forza-lo a tomar o último espazo, B0. E o xogo termina en empate. Pero tivo un razoable xogo contra ti, non? Todo ben, moitas grazas, Gorav. [Aplausos] Todo ben, Layla, imos o xogo en ti aquí. Audiencia: Oh, gran. COLUMNA: Estamos indo dar- vostede catro por catro tic-tac-toe. Agora, en catro por catro, tes que gañar con catro nunha fileira, e non tres nunha fileira. E é toda súa. Así Layla levou D1. Estamos indo a seguir noso xogador do ordenador aquí. Tres por tres tic-tac-toe é o tipo de que é doado para todos nós. Senón que é bo ver o xogador do ordenador facendo movementos intelixentes. Catro por catro comeza a ser un pouco máis complicado. Moi ben feito. Todo ben, entón Layla do finalizou. Oh, e debemos terminar alí. Pero imos facer unha aquí. Entón, Layla, grazas. Moi ben feito. [Aplausos] Así, o noso xogador tic-tac-toe vai ea través atopa locais, resolve-los usando este minimax. E eu tiña unha configuración de profundidade en que, para que non ía correr moi rápido, que pode ser porque Layla soubo ir ben fronte como se fixo, e fixo moi ben. Pero estes sistemas que pasar e forza bruta ir máis fondo e máis profundo, e máis profundo, e manter a atopar a solución que precisan, estes tipos de sistemas son bastante exitoso para estes, ben, xogos de mesa por defecto. E, de feito, se miramos un tres por tres xogo tic-tac-toe, este é basicamente un problema resolto. E este é un diagrama marabilloso Randall Munroe de xkcd en, mostrando que ten que moverse tomar, dada movementos do seu opoñente. Isto é algo que poderiamos facilmente especificar antes de tempo. Pero o que ocorre cando chegamos a máis xogos complexos, xogos máis complicados, onde existen placas grandes, máis posibilidades, a estratexia máis profunda? Acontece que este forza bruta busca aínda fai bastante ben, agás cando chegar ao punto onde a árbore é tan grande que non pode representar todo. Cando non pode calcular toda a árbore, cando non pode ir para adiante e empuxe Se para o punto onde ten comezara a árbore enteira na memoria, ou se pode obterse na memoria e ela só vai levalo moito tempo para buscar Lo, ten que facer algo máis intelixente. Co fin de facer iso, ten que facer dúas cousas. En primeiro lugar, ten que atopar algún forma de limitar a súa profundidade. Ben, iso é OK. Podemos atopar algunhas agradables, mínimo e dicir, só se pode ir tan fondo. Pero cando fai isto, iso significa que ter estes ferros parcialmente incompletos. E ten que escoller, eu gusto esta tarxeta parcialmente incompleta, ou esta tarxeta parcialmente incompleta? E nos nosos catro por catro xogo tic-tac-toe, noso xogador do ordenador descendeu para a parte inferior e dixo, Teño dúas placas diferentes. Ningún dos dous é unha vitoria. Ningún dos dous é unha perda. Ningún dos dous é un empate. Como podo escoller entre eles? E el non tiña unha forma intelixente de facelo. Vemos este tipo de avaliación acontecen o tempo como nós entrar en xogos máis complexos. O xadrez é un gran exemplo. No xadrez, temos, en primeiro lugar de todo, unha tarxeta de maior. Temos moito máis pezas. E o posicionamento destas pezas e do xeito que estas pezas se moven é criticamente importante. Entón, se eu queira utilizar minimax, Necesito poder especificar e dicir, esta tarxeta, onde ninguén gañou ou perdeu, con todo, é dalgunha forma mellor que estoutro tarxeta, onde ninguén gañou ou perdeu. Para iso, eu podería fazê- cousas como eu podería só contar cantas pezas que eu teño e cantas pezas ten? Ou eu podería dar diferente pezas puntos diferentes. Miña raíña vale 20 puntos. Seu peón vale un punto. Quen ten máis puntos en total? Ou eu podería considerar cousas como: quen ten o mellor posición do taboleiro? Quen é a quenda seguinte, calquera cousa que eu poida non para avaliar con máis precisión cal destas posibilidades é mellor sen considerando exhaustivamente cada movemento que podería vir despois diso. Agora, para facer este traballo, unha das cousas que é vai facer realmente importante para nós non é só movendo en liña recta ata unha determinada profundidade límite, pero ser capaz de dicir: unha desas ideas que eu teñen é tan malo que é non paga a pena considerar todas as formas posibles que as cousas poden ir de mal a peor. Para iso, imos engadir minimax un principio chamado alph-beta. E alfa-beta di, se ten unha mala idea, non perda o seu tempo tentando descubrir como é malo. Entón aquí está o que imos facer. Nós imos ter o mesmo principios que tiñamos antes, o mesmo tipo minimax de investigación, só somos vai seguir, non só do valores reais de que dispoñemos, pero imos seguir o mellor posible valor que puiden chegar, eo peor posible resultado que eu podería ter. E calquera momento o peor posible cousa é mirar probable, Vou deixar esa parte da árbore. E eu non vou incomodar mesmo mirando para el anymore. Todo ben, entón imaxine que comecemos con esta mesma árbore xogo exacto. E agora estamos indo a ir de novo, todo o camiño para que parte inferior esquerda. E nese parte inferior esquerda canto, nós mirar e avaliamos esta tarxeta. Quizais sexa un catro por catro tic-tac-toe tarxeta, ou que é un taboleiro de xadrez. Pero miramos para el, e nós avaliamos Lo, e temos un valor de oito. Nese punto, sabemos que nós estamos indo a obter, polo menos, oito puntos de esta decisión inferior. Non importa o que o outro dous son, que sete e que dous. Poderían ser calquera valores querían ser. Nós imos chegar a menos oito puntos. Todo ben, pero poderiamos dalle confía. Quizais un deles é mellor que oito. Nós miramos para o sete. Está mellor que oito? Non, iso non cambia nosa opinión en todo. Nós miramos para os dous. Está mellor que oito? Non, iso non cambia nosa opinión en todo. Polo tanto, agora sabemos que xa esgotou todas as posibilidades alí. Non estamos indo a chegar nada mellor que oito. Estamos indo para obter exactamente oito. E así nós cambiamos ese nó e digamos, que é agora unha certeza. Nós subir un nivel por riba diso. E agora sabemos algo sobre ese nivel de minimización. Sabemos que nunca chegaremos máis de oito puntos se descendemos nesa dirección. Porque aínda que os outros dous ramos vir para ser fantástico e paga a pena miles de puntos, cada, o noso adversario daranos a mínimo, e nos dá a oito. Todo ben, ben, imos ver. Seguiremos por ese camiño. Descendemos para que medio á esquerda. Miramos para abaixo e vemos que hai un nove. Sabemos que imos chegar polo menos nove puntos, indo para abaixo que camiño do medio. E, neste punto, podemos só facer unha pausa. E podemos dicir, mira, eu coñecer o nivel anterior, Eu estou indo a obter non máis que oito apunta cara abaixo, indo nesta dirección. Pero se eu fun para o medio camiño en vez do camiño da esquerda, Quere obter polo menos nove puntos. Meu opoñente é nunca vai déixeme ir por ese camiño do medio. Comezan a escoller. E eles están indo a escoller o camiño á esquerda en dirección a oito, no canto de no medio cara o que é, polo menos, nove puntos. Entón, nese punto, vou parar. E eu vou dicir, xa sabe o que? Non teño que mirar para máis baixo nesa dirección. Porque eu non vou chegar alí. Podo ignorar que un, e podo ignorar que seis, porque iso non vai ocorrer. Entón, eu vou baixar e eu vou Considero o seguinte posibilidade. Eu vou alí e digo, eu vexo un dous. Sei que se eu ficar aquí, eu son se ve polo menos dous. Aceptar. I continuar. Eu vexo un catro. Sei que estou indo a obter, polo menos, catro. Aínda hai moito entre catro e oito, con todo. Entón eu sigo indo. Eu ollo para abaixo e vexo que hai un. Todo ben, sei que se I ir por este camiño, Eu vou ser capaz de elixir o catro. Que o meu adversario vai facer? Entre algo que me dá oito, algo que me dá catro, e que algo me dá, polo menos, nove, ben, que vai me dar catro. E sei agora no moi alto, eu vou para poder obter, polo menos, catro puntos fóra deste xogo. Toda a idea de alfa-beta é cortar partes da árbore para que eu non mirar para eles anymore. Pero aínda parece que eu estiven mirando para unha chea de árbore. Seguiremos indo para abaixo. Imos descender a próxima agora. Alí no fondo, eu atopar un. Sei que estou indo a obter, polo menos, un. Eu fico mirando. I atopar un tres. Sei que estou indo a obter, polo menos, tres. I continuar. I atopar un cinco. Sei que estou indo a obter cinco se eu baixar ese camiño. E eu tamén sei, a continuación, que o meu adversario, se eu escoller o medio de os tres grandes opcións, el me vai dar algo que é cinco ou menos. Aceptar. Podo seguir aí. Podo ollar para abaixo e eu pódese dicir, que eu vou de obter, se eu baixar o camiño do medio? Eu estou indo a obter, así, tres alí. Eu estou indo a obter algo que é polo menos tres. Aínda hai cousas entre tres e cinco, entón eu continúe a buscar. Oh, un nove, eu vou sempre levar isto ao longo dun tres. Eu estou indo a obter, polo menos, nove se eu for por ese camiño do medio. Agora o meu adversario para e di: mire, non hai ningún punto anymore. Sei que o meu minimización opoñente, é me vai dar a cousa que é menos que ou igual a cinco, ao contrario da cousa que é maior que ou igual a nove. Eu paro. Non ollo máis para iso. I continuar. Eu ollo para abaixo nun presente. Ata o fondo, creo un seis. Sei que estou indo a obter, polo menos, seis. E o que podo facer? Podo parar. Porque non hai unha selección entre algo que é, polo menos, seis e algo que é menos de cinco anos, é vai dar-me a cousa que é menos que cinco. E agora sei que vou para obter exactamente esa opción. Eu estou indo a obter cinco elección. Eu volver a subir ata o cumio. Que é que eu vou escoller entre algo que é maior que ou igual a catro, ou algo que é igual a cinco? Vou tomar algo que é, polo menos, cinco anos. Descendo o último camiño, todo o camiño ata o fondo. Hai un un. OK, polo menos eu estou indo a obter un punto. I continuar. Dous, oh, iso é mellor que unha. Eu estou indo a obter, polo menos, dous. I atopar un tres. Sei que estou indo a obter tres. E o punto de arriba que, o meu adversario vai para me dar algo que é menos que ou igual a tres. E agora podo parar. Porque na elección entre eu estar capaz de obter un cinco e meu opoñente dándome algo inferior a tres, Sempre vou ter que cinco. Así que non avaliar que parte inferior da árbore de todo. Agora, isto pode parecer menor. Pero cando pequenos anacos de aritmética, superior e inferior, pode cortar partes enteiras de esta árbore en crecemento exponencial, que conduce a un enorme cantidade de aforro, aforro que son grandes abondo para que eu Pode comezar a xogar competitivamente en xogos máis complexos. Todo ben, se miramos para o tamaño e complexidade de xogos distintos, tic-tac-toe foi o noso exemplo fácil. Temos unha pequena placa, tres por tres. Estivemos con, como máximo, unha media de preto de catro diferentes opcións como nós atravesamos o xogo. Temos algo en torno de 10 a posibles follas diferentes quinto. Ea construción dun tic-tac-toe xogador, ben, só fixen iso. É doado. Ou tamén ata algo máis complexo, como Connect Four. Vostede recorda deste xogo onde deixar caer as pequenas fichas? É unha tarxeta de seis por sete, non moi grande, aínda ten aproximadamente a mesma galla factor como tic-tac-toe. Teño preto de catro opcións onde podo poñer as cousas en. Pero agora, eu teño moito máis leva, 10 elevado á potencia 21. Isto é algo que é doado abondo para que resolver-lo inmediatamente. Checkers, máis complex-- ten un oito por oito bordo. Está só na metade da los en calquera momento, con todo. Ten unha ramificación factor que é preto de 2,8. Ben, temos unha parella move-se pode tomar. Ten preto de 10 a 31 de follas, espazos maiores e máis grandes, e grandes. Como eu teño que buscar estes espazos cada vez máis grandes, que é cando as cousas como beta e alfa- sendo capaz de cortar ramas enteiros pasa a ser esencial. Agora, damas foi fácil o suficiente en 1992. Un programa de ordenador chamado Chinook bater as damas mundo campión, Marion Tinsley. E, desde entón, non xogador de mestre humano ten foi capaz de vencer o mellor sistemas computacionais. Mira algo como xadrez, agora de novo, temos un oito por oito bordo. Pero temos moito máis complexo pezas, tanto os movementos máis complexos. Temos un factor de ramificación duns 35, 35 movementos posibles en media que eu poida tomar, e un estado espazo, un número de follas que creceu de 10 a 123 o poder, un número enorme de posibilidades. Aínda así, os procesadores modernos son capaces de facelo correctamente. En 1995 e, a continuación, en 1997, un ordenador programa chamado Deep Blue construído pola IBM que corría nun supercomputador xigante bater o actual campión mundial, Garry Kasparov. Este foi un punto de viraxe. Hoxe, porén, que a mesma transformación poder senta no meu MacBook. Velocidade de procesamento mantén quedando máis rápido e máis rápido. Podemos valorar máis e máis placas máis rápidas e máis rápido. Pero o máis importante, temos mellor funcións de avaliación e mellor poda métodos. Así, podemos buscar o espazo máis complexo. A maior do consello xogos que podemos pensar, Vai algo como isto é ten unha tarxeta de 19 por 19, Agora, de súpeto, estamos alén do punto onde os sistemas computacionais pode gañar. Non hai ningún computacional sistema por aí que pode bater un xogador profesional Go. Os mellores sistemas de hoxe clasificalos lo sobre o tipo de bo nivel afeccionado. Así, aínda hai un pouco para fóra hai que non pode chegar a aínda. Todo ben, estas xogos de mesa tradicionais, este tipo de sistemas onde construír esa minimax, se ten alfa-beta ou non, estes algoritmos de traballar porque hai certas restricións. Temos a información perfecta sobre o mundo. Sabemos onde están todas as pezas. O mundo é estático. Ninguén queda para mover o anacos de todo, mentres eu estou sentado alí pensando, tomando miña vez. Hai un espazo de acción que é discreta. Podo poñer o meu peón aquí, ou podo poñer o meu peón aquí. Eu non estou autorizado a poñer o meu peón en a liña entre os dous cadrados. E, finalmente, as accións son deterministas. Sei que se eu digo, Rook cabaleiro para tres, miña torre vai acabar no cabaleiro tres, sempre que é un movemento válido. Non hai incerteza sobre iso. Agora, como eu ir máis distintos tipos de xogos, temos que romper esas suposicións. E se eu ir a algo como clásicos videoxogos? Aquí está unha selección de vídeos xogos do Atari 2600. O que eu teño alí enriba? Teño Frogger, Espazo Invaders, Pitfall, e Pac-Man. Que tipo de ambientes eu teño aquí agora? Cal destas premisas eu teño que romper? Ben, iso depende do xogo. Podería xogar xadrez en 2600, e sería exactamente como era antes. Para a maioría destes sistemas, hai coñecemento completo sobre o mundo. Hai completamente accións determinista. Pero, xeralmente, o mundo non estático. É dicir, mentres eu estou sentado alí esperando, algo se está movendo. As pantasmas están vindo para me incorporarse. O escorpión me seguindo por baixo. Os invasores do espazo son chegando cada vez máis preto. Como ben podemos facer contra iso? Hai uns anos, Google tiña un proxecto chamado DeepMind onde adestraron un ordenador programa de xogar Atari 2600 xogos. E se pensas que iso non é grave negocio, os resultados do seu estudo foron publicados na revista Nature, de xeito case tan bo unha publicación como pode eventualmente chegar. E aquí está como ben eles realizados. Teñen un algoritmo que se sentou e viu só as entradas de pantalla. Ten ningunha instrución que sexa sobre as regras do xogo. E era para descubrir, baseou a súa puntuación, o quão ben el estaba facendo. Este foi un sistema que utiliza algo chamado de aprendizaxe por reforzo. É dicir, el ollou para a súa puntuación. E se obtivo unha boa puntuación, el dixo: Eu debería me lembrar desas cousas. E eu debería facer os outra vez. E se obtivo unha nota malo, el dixo: Non debería facer isto de novo. Este é o rendemento destes sistemas formados autorizado a xogar por un unhas horas en cada partido, comparados con xogadores profesionais. Polo tanto, para todos os xogos que están cara á esquerda desta liña, Este programa de ordenador auto-adestrados superaron os xogadores profesionais. E para que todo o dereito, os xogadores profesionais aínda foron os mellores. Para algo que sabía nada sobre as normas, que non sabía nada sobre a estrutura do xogos, este é un desempeño impresionante. E iso é o que nós somos capaces de facer hoxe. OK, di, pero se nós pensar AI en xogos, normalmente pensamos sobre a cousas que podemos realmente sentir e xogar contra. Se eu me sento e toco StarCraft, ou eu xogo gratuíto Sieve, o adversario é o equipo persoa que controla o Zerg, ou o control do outro civilización. Como eses xogadores realmente atopar os seus movementos? Ben, estes xogos son estruturados do mesmo xeito que os nosos xogos de mesa, estes xogos que imos chamar colectivamente catro xogos X, explorar, expand-- esquecer os queridos. Que son? Explorar, expandir e extinguir, Creo que é a última. Pero son basicamente xogos de explotación e conquistar. Normalmente, o adversario do ordenador non ten información limitadas. Eles non saben o que está pasando por tras desa néboa da guerra. Eles non poden ver o que ten no seu inventario. Hai un ambiente que é dinámico. Todo está cambiando o tempo. Non pode sentir-se e esperar a tomar a súa xogada. Pero a maioría das cousas que aínda son discretos. Teño que poñer a miña cidade aquí. Ou eu teño que poñer a miña cidade aquí. E todo é determinista. Cando digo, mover miña unidade aquí, miña unidade move-se aquí, a non ser un obstáculo de súpeto entra en xogo. Agora, iso non é todo ordenador xogos que están por aí hoxe. Se eu ir e eu xogo un primeiro tipo persoa xogo, algo así como ladrón ou Fallout ou Skyrim, ou o Halo, agora Teño adversarios controlados por ordenador que están aí fóra, que teñen unha situación moi diferente. Teñen, de novo, información limitadas. Eles só poden ver un seguro campo de visión. O ambiente é aínda dinámico. As cousas están cambiando o tempo. Pero agora eu teño un moito máis espazo de acción continua. Podo ser só amosar unha pouco fóra da porta. E algúns xogos, a miña accións son estocástica. Comezar a tentar ir sobre esa parede, pero eu teño a oportunidade de fracasar. Estes tipos de xogos están achegando e máis próximas aos tipos de controladores que nós construímos en robótica. En robótica, temos que asumir que temos información limitada. Temos que sensores conte-nos sobre o mundo. Temos un sempre mudando, ambiente dinámico. Temos un mundo no que o espazo é continua, no canto de discreta. E nós, cando intentamos eles, ten unha oportunidade de fracasar. E, de feito, xogo moderno controladores para o seu adversario de Halo, ou para os NPCs en Skyrim basicamente realizar pequenas arquitecturas robóticas. Eles senten o mundo. Eles construír un modelo do mundo. Eles computam en base a un conxunto de obxectivos que quere realizar. Planean accións baseadas sobre o que saben. E eses son exactamente os mesmos tipos dos sistemas que construímos en robótica. Así, estas arquitecturas, para traer iso de volta xuntos, son moitas veces moi o mesmo. Entón, imos ver se podemos ver iso. Imos volver ao noso exemplo tic-tac-toe. E eu vou pedir un par de meu post-docs para vir e me axudar. Entón, Chen Ming, e Alessandro, e Olivier, se vostedes virían para arriba. E eu vou ter un par de voluntarios OK, eu vin un dereito man alí no medio. Deixe-me dar un máis, alguén aínda máis na parte de atrás, quizais. Todo ben, alí. Imos cara arriba. Todo ben. Polo tanto, imos ter que cubrir para abaixo. E se vostedes virían dereita de volta por aquí para min, fantástico. Polo tanto, este é un robot chamado Baxter. E Baxter é un robot que é unha plataforma comercial, deseñado por unha empresa chamada Rethink. E este robot está concibida para a fabricación en pequena escala. Pero hoxe imos usalo para xogar tic-tac-toe. Agora, este robot tamén é algo que é relativamente única. Porque se eu estivese en pé en calquera lugar preto dunha fábrica automatización estándar sistema, eu estaría en moi grave perigo de ser ferido. Baxter, con todo, foi concibida para ser relativamente seguro para interactuar con. E para que eu poida empurrar este robot. E podes ver que é un pouco pouco flexible que se move arredor. E podo reposicioná la onde me gustaría que vaia. Agora nun sistema robótico normal, teriamos un conxunto de articulacións aquí que sería directamente respondendo aos mandos de posición. E non necesariamente se preocupan se estaban movendo a través de aire libre, ou no caso de que estaban movendo a través da miña caixa torácica. Aceptar. E normalmente, se fose aquí cun sistema industrial, ía a ningunha parte preto del. Habería amarelo cinta de seguridade ao redor del. Este sistema ten un deseño lixeiramente diferente para ser máis agradable e máis fácil para a xente a interactuar con, en que en cada unha das xuntas, hai unha primavera. E, no canto de controlar unha posición exacta, que controla unha certa cantidade de de par, unha certa cantidade de forza, que queremos estar nesa primavera. Todo ben, entón déixenme levar os nosos voluntarios aquí. Ola, cal é o seu nome? Audiencia: Louis. COLUMNA: Louis. Encantado de verte. E? Audiencia: David. COLUMNA: David. Encantado de coñecerte. Se vós esperarían aquí por un segundo, Vou darlle a oportunidade de facelo. Polo tanto, este robot, se vir cara arriba e se empurrar delicada sobre el, vai ver que se move un pouco. E se agarralo lo dereito aquí no pulso só sobre onde os botóns son, el Parece que ten que coller os botóns, pero cara á dereita por riba no seu lugar, vai poder manipular a ser moi suavemente a través do espazo. Louis, quere darlle un intento? Entón, darlle un pouco empurrar para comezar. E entón se pór os dedos alí e coller a el, porque vai pasar para ti, entón. Todo ben, quere darlle un intento? Imos cara arriba. Entón, darlle só unha lixeira empurrar alí para comezar. Pode sentir o que é como. E entón se agarralo lo alí mesmo, vai ser capaz de manobrar en torno. Aceptar. Entón, normalmente, este tipo de un robot faría pode empregar para a fabricación de pequena escala. E eu vou mover este brazo só abaixo fóra do camiño un pouco aquí. Pero hoxe, nós estamos indo a usar o mesmo sistema de xogo tic-tac-toe baseado minimax que construímos antes. OK? Entón, vostedes son cada vai xogar un partido. Louis, está indo a ser o primeiro. Déixeme só realizarse aquí por un segundo. Vou ter que estar ben aquí, só para que todos poidan velo. Vostedes están configurar aquí? ROBOT: Benvido. Imos xogar tic-tac-toe. Non suxeite o token antes Digo que é a súa vez. Eu iniciar o xogo. É a miña vez. COLUMNA: Agora, se puidese tomar unha das as súas pezas e ir adiante e poñelas. ROBOT: É a súa vez. [Risas] É a miña vez. [Risas] [Risas] É a súa vez. Speak: A raza humana é contando con vostede aquí, Louis. ROBOT: É a miña vez. COLUMNA: Entón Baxter bloqueado correctamente aquí. ROBOT: É a súa vez. É a miña vez. É a súa vez. É a miña vez. Orador: E nós imos deixar Baxter rematar a súa última xogada aquí. [Risas] ROBOT: Isto é un empate. Eu vou gañar a próxima vez. [Risas] COLUMNA: Todo ben, moitas grazas, Louis. Grazas. Pode ir por este camiño. ROBOT: eu iniciar o xogo. COLUMNA: Entón deixe-me explicar para ti un pouco máis pouco antes de chegar a nosa revancha aquí. O que é exactamente está a suceder? Así, o robot ten unha cámara enriba aquí. E está mirando para a tarxeta. E está a ver se ten un O vermello é un azul e X. branco como aqueles colócanse no tarxeta, que é basicamente a mesma entrada que estariamos lendo desde nosa estrutura de datos da nosa pantalla. Está executando o mesmo algoritmo minimax ser capaz de atopar onde poñer un bo sinal. E entón nós estamos dando un comando sobre onde nós quere un token para ser instalado. O brazo está movendo para fóra. É a usar un dispositivo de comprensión de baleiro para aplicar algunha succión para que a peza de madeira, pegalo, mover para a dereita local, e a continuación, solte a succión e déixea. Todo ben, imos para darlle un tiro con un xogador algo máis intelixente aquí. Está preparado? Todo ben, se queda ata aquí e dar um-- resultando nese camiño para que poida ver todo o mundo. E entón [inaudível]. ROBOT: É a miña vez. COLUMNA: Baxter vai comezar. É a súa vez. É a miña vez. É a súa vez. É a miña vez. [Risas] COLUMNA: [murmurada] Só deixar ir adiante e gañar. ROBOT: É a súa vez. COLUMNA: Isto é OK. ROBOT: É a miña vez. [Risas] Eu gañar. [Risas] Eu iniciar o xogo. COLUMNA: Todo ben, moitas grazas. Todo ben, eu creo que temos tempo para máis un excelente xogador de tic-tac-toe, alguén que pode poñer esa cousa de corresponden, que sabe o que está facendo. [Risas] Quen será o noso campión aquí? Todo ben, os seus amigos ofrecéronlle. Iso é bo o suficiente para min. Dime o seu nome de novo. Audiencia: Tamir. COLUMNA: Tamir, bo velo. Todo ben, unha vez máis, imos poñelas ata aquí para que todos poidan velo. Vostede é o noso representante neste xogo agora. Baxter é un e Oh e Oh. Ou Sentímolo, unha oh e un. E cómpre a vostede aquí. Baxter comezará a mover-se en primeiro lugar, con todo. So. ROBOT: É a miña vez. [Risas] É a súa vez. É a miña vez. É a súa vez. É a miña vez. É a súa vez. [Risas] ROBOT: É a miña vez. COLUMNA: É moito máis difícil cando está de pé aquí, xente. [Risas] ROBOT: Vostedes humanos son tan fáciles de bater. [Risas e aplausos] COLUMNA: Moitas grazas. ROBOT: eu gañar. Eu iniciar o xogo. Palestrante: Todo ben, entón moitas grazas moi a Olivier, e Alessandro, e Chen Ming. [Aplausos] Quero facer un último punto. Así Baxter no propio remata aí, enganado. E iso era inesperado. Un dos fantástica cousas sobre AI é que facer o traballo en AI para que poidamos construír realmente interesante e intelixente dispositivos. Pero nós tamén facemos traballo en AI porque nos di algo sobre como os humanos son intelixentes. Un dos favoritos estudos de meu laboratorio é mirando para o que ocorre cando máquinas de vez trampas. Fixemos iso orixinalmente non con Baxter xogar tic-tac-dedo do pé, pero cun robot menor chamado Non, que xogou pedra-papel-tesouro. E, ás veces despois xogando lotes e lotes de perforación de xogos de pedra-papel-tesouro, o robot xogaría un xesto, perder, e, a continuación, cambiar de súpeto seu xesto e dicir, eu gañou. [Risas] Agora, ás veces tamén teriamos o robot, así como un control, xogue un xesto, gañar, e cambiar o seu xesto que perder, xogar o partido, enganar a fin de perder. E iso non é tan atractivo. O robot que engana a fin de gañar persoas para responder como se fose para obtelos, como está esforzarse para a súa destrución. [Risas] Pasa a ser un axente. É como se fose unha persoa. Ten crenza e intención. E non é boa intención. E o robot que xoga o xogo é só mal funcionamento. É só un dispositivo roto. Deixe-me amosar-lle un par de exemplos de que a partir de algúns dos nosos participantes. Entón aquí está traizoando a fin de perder. [REPRODUCIÓN DE VIDEO] - [Inaudível] gañar. Xoguemos. Espere, o que? - [Inaudível] gañar. Xoguemos. [Inaudível] gañar. Xoguemos. Orador: E aquí é trampa para gañar. Si, eu gañou. Xoguemos. -Vostede Non pode facelo. [Risas] Si, eu gañou. -Vostede Traizoou. Vostede traizoou agora. Si, eu gañou. Ei, trampóns. Vostede enganar, super fraude. [FIN DE REPRODUCIÓN] COLUMNA: Estes diferente reaccións rapidamente cambiar a nosa percepción do dispositivo. Isto significa que nós deliberadamente construír máquinas que se enganan porque iso a mellor enxeñaría que podemos facer? Non, pero dinos algo realmente interesante sobre as persoas. Aquela cousa que engana e rouba a súa vitoria, que é algo que está vivo, que é animar, que está fóra para comeza-lo. Ten estado mental. Ten crenza. Ten a intención. Aquela que as mans xogo para ti, que non é. Isto é só mal funcionamento. Isto é, en moitos aspectos, porque é fácil de xogar o xogo cos nenos. Pero se tentar erro-los e tipo de reivindicar a vitoria cando, xa sabe, só para acurtar o xogo, eles van pegá-lo inmediatamente. Estes tipos de efectos que vemos que sae da AI, eles nos ensinan moito sobre nós mesmos. Todo ben, iso é por hoxe. Moitas grazas a David e o equipo de produción Harvard para baixar. [Aplausos] Imos velo nun cuestionario, e, a continuación, para unha última charla. Que teñas un día fantástico. [Aplausos] [Música tocando] DAVID Malan J: Ben, nós probablemente precisa para introducir algún tipo de cifrado, non? Porque, entón, as cabeceiras de esas peticións HTTP será revoltos para que calquera persoa intentando capturar tráfico non vai realmente ser capaz de velos. Entón, cal é a solución a este problema? Ben, necesitamos realmente introducir cifrado na fórmula, de xeito que cando esa persoa a transmisión de datos a partir de A para B, podemos seguramente send-- [Risas] A información dun xeito que o adversario non pode, de feito, velo.