[Speel van musiek] Spreker: Welkom terug, almal. Dit is CS50. En vandag, ons het 'n baie interessante dinge om oor te praat. Eerstens, al is, ek het om te herinner jy 'n paar administratiewe dinge. Hierdie week is quiz een Woensdag of vir die artikel Yale op Dinsdae en Donderdae, op Donderdag. Daar is quiz resensies vanaand by Yale, 5:30-07:00. By Harvard, aangeteken hulle een gister. En almal kan dit aanlyn te kyk. Ook hierdie week of vroeg volgende week, ons het ons laaste CS50 lesing. [Kreun] Ek weet. Dit het so gou. Yale studente sal 'n lewendige het lesings hier in die wet skool ouditorium op Vrydag. Daar sal die koek wees. Harvard studente sal die laaste lesing in Sanders op Maandag. Daar sal ook die koek wees. Ook hierdie week op Vrydag, vir diegene van julle wat kom na New Haven, ons het die CS50 Expo. Ons het meer as 30 verskillende groepe geregistreer om jou te wys alles van outonome seilbote, om stelsels wat erken digitale portrette, rekenaar musiek en rekenaar geproduseer musiek. So asseblief saam met ons. Ek dink dit gaan 'n goeie tyd wees. Vandag, al is, kry ons voortgaan praat oor AI, oor kunsmatige intelligensie. En een van die dinge wat ons gaan vandag te kry is die idee van hoe om gebruik AI om probleme op te los. Nou, soos altyd, laat ons begin met iets eenvoudig. En ons gaan om te begin met 'n eenvoudige idee. En dit is met 'n soektog. So dink vir 'n oomblik dat ek 'n taak wat ek nodig het om uit te voer. En ek wil graag die taak het outomatiese deur sommige sagteware agent. Stel jou voor dat ek probeer om 'n stel te bespreek vlug van, kom ons sê, Boston San Francisco. Ek kon deur te gaan en ek kan gebruik een van die wonderlike online soek gereedskap, wat gaan doen basies dieselfde proses wat ons is gaan om te loop deur vandag. Maar as jy het nie daardie instrument, wat sou jy doen? Wel, kan jy kyk en sien en sê: Ek is in Boston. Wat is daar vlug na my toe? Nou, miskien het ek drie moontlike vlugte uit Boston Dit sal die tyd te pas wanneer ek nodig het om te gaan. Ek kon vlieg na Chicago. Of ek kan vlieg na Miami. Of ek kan vlieg na New York. Ek kan dan kyk van elke een van daardie bestemming stede en dink oor wat plekke Ek kan moontlik bereik uit elk van dié individuele stede. So miskien van Chicago, kan ek 'n direkte vlug na San Francisco. Dit is 'n uitstekende. Of ek kan 'n vlug na Denver kry. Nou, miskien vlug na San Francisco is die ideale oplossing vir my, maar miskien nie. Miskien is ek op soek na iets dit is 'n bietjie goedkoper of 'n bietjie beter vir my skedule. En so het ek kan kyk vir wat ander moontlikhede kan wees daar buite. So ek kan kyk na Denver. En van Denver, goed, miskien Ek kan 'n vlug na Austin kry. En van Austin, miskien kan ek kry ' vlug na Phoenix, en van Phoenix San Francisco. Nou, ek nog nie gedoen het nie. Want miskien is daar 'n direkte vlug van New York San Francisco dis perfek vir my. Of miskien is daar 'n vlug van Miami deur Denver dit is 'n baie goedkoper. So ek het nog om te gaan. En ek het nog steeds om te kyk na al daardie stede wat ek nog nie ondersoek nie. Ek moet uitvoerig check al die moontlikhede wat ek mag hê. So van New York, miskien kan ek kry ' vlug na Nashville, en van Nashville Austin. En dan weet ek waar ek is. En dan weet ek van Austin, ek kan vlieg na Phoenix, en van Phoenix San Francisco. As ek vlieg eers Miami, al is, Miskien kan ek 'n vlug van Miami kry Nashville, of van Miami Austin. En nou het ek al probeer van die moontlikhede. Ek het hierdie grafiek opgebou wat wys my al die moontlike roetes dat ek dalk in staat wees om te neem. Wanneer ons hierdie verteenwoordig soorte probleme, ons is nie van plan om te verteenwoordig uitdruklik as hierdie grafiek, want dit grafiek verteenwoordig nie die geskiedenis van waar ons gegaan het. Wetende dat ek gevlieg vanaf Phoenix na San Francisco my nie sê of ek via gekom Nashville, of via Denver, of via Miami. So, wat ek sal doen in plaas is Ek sal dit dieselfde probleem te neem, en ek sal dit as 'n boom verteenwoordig. En aan die wortel van die boom, by die top, ek sal die plek wat ek begin het, Boston. En van Boston, sal ek kyk na al die moontlike plekke dat ek kan reis na. Wel, in hierdie geval, het ek drie, Chicago, New York, en Miami. En dan sal ek elkeen van verken hierdie kinders in die boom. Van Chicago, het ek gesien dat ek het twee vlugte. Ek kon direk vlieg na San Francisco of Denver. Nou San Francisco, dit is my doel te bereik. Dit is my bestemming. Dit gaan om 'n blaar van die boom wees. Dit is, ek is nooit gaan om te gaan iewers ná San Francisco. Van Denver, al is, Ek kan vlieg van Denver Austin, van Austin aan Phoenix, en van Phoenix na San Francisco. En nou weer, ek het 'n blaar bereik. Ek kan dan terug te gaan na die volgende stad wat ek nie ten volle ondersoek. Dit sou wees New York, gaan terug na die top van my boom Kom af na New York. Van New York, kan ek vlieg Nashville, van Nashville om Austin, van Austin aan Phoenix, en van Phoenix na San Francisco. En ten slotte, die een stad ek het nog nie gekyk, Miami. Wel, van Miami Ek het gesê ek het twee moontlikhede, Nashville of Austin. As ek vlieg na Nashville, goed dan vlieg ek van Nashville, Austin, om Phoenix, San Francisco. As ek vlieg na Austin, ek vlieg Austin, Phoenix, San Francisco. En nou het ek 'n boom. Dit is 'n volledige boom. Dit is al die moontlikhede en al die paaie wat ek kon neem. Dit is, as ek begin by die wortel van die boom aan die bokant en ek gaan af na een van die laat dit my vertel nie net waar ek gaan beland, San Francisco, maar dit vertel my die roete wat Ek nodig het om te neem om daar te kom. Nou, wat een van hierdie is die beste? Wel, niks oor hierdie nog probleem vertel my watter een van dié is die beste oplossing. Miskien het ek die meeste omgee hoeveel keer dat ek in die lug, of die afstand wat ek vlieg. In daardie geval, Chicago na San Francisco dalk die kortste getal wees myle in die lug. Miskien het ek omgee koste. En ons almal weet direkte vlugte is gewoonlik duurder. So miskien as ek dit neem soort agtertoe roete deur Miami, Nashville, Austin, Phoenix, miskien dan Ek kry 'n laer prys. Maar ek kon optimaliseer op enige kriteria wat ek omgee. Wie het die beste in vlug Wi-Fi, of wat lughawens het die beste kos beskikbaar is. En elkeen van daardie mag gee my 'n ander oplossing wat ek sien as die beste. Hierdie soort probleme, waar ons gaan om te bou uit die boom van moontlikhede, en dan kyk na elkeen van daardie individuele paaie, en ondersoek watter een van dié vervul 'n kriteria vir ons, ons gaan om te bel diegene search probleme. En ons het baie van algoritmes, waarvan sommige ons het reeds gesien, om te gaan en verken die bome. Ons kan dit doen op die manier wat ek net gedoen het, 'n diepte-eerste soek, om af te gaan so ver as wat ons kan, totdat ons getref 'n blaar, en dan terug te kom op, en gaan terug sit. Of ons kan doen wat genoem breedte-eerste soek. Ons kan alles uit te brei aan die bokant, en dan alles een reël onder daardie, en dan alles een reël onder dit. Diegene search bome is fundamenteel tot AI. Maar hulle het nie heeltemal kry dit reg om al die tyd. Trouens, in 'n groot deel van die gevalle dat ons regtig omgee, ons wil 'n boom te bou, Maar ons het nie eintlik kry om al die besluite te neem. Dit is situasies genoem opponerende soek, ook bekend hoe om te speel spel skryf stelsels en betaal vir dit. Maar hierdie is die soort stelsels waar ek kan kry om van te kies wanneer ek gaan van Boston, watter stad Ek gaan na die volgende. Maar daarna het iemand anders kan kry die besluit oor waar ek vlieg. So om hierdie te bou soorte strukture, ons is gaan hê om 'n effens te neem ander benadering om dit te. Ons gaan nie in staat wees om net soek deur die boom nie, want ons is nie die een wat in beheer van elk van daardie besluit punte. So laat dink 'n eenvoudige spel soos tic-tac-toe. Ek kon met 'n begin heeltemal leeg raad. En in tic-tac-toe, X kry om eerste te speel. En so het ek kon dink oor al die moontlike beweeg wat X kan maak. En as ek die een speel die X, dit is 'n groot. Ek het nege moontlike beweeg wat ek kan maak. Ek kon 'n X in een sit van die nege posisies. En dan van elkeen van daardie, ek kon dink wat gebeur volgende. Wel, in hierdie geval, die ander speler sou kry om 'n beurt te neem. O sou kry om 'n beurt te neem. En uit elk van bogenoemde, is daar sou wees agt verskillende plekke dat O kon hul merker. Kom ons sê ek het besluit dat ek was gaan 'n X in die middel sit. Dit lyk altyd so 'n goeie opening beweeg. Ek kon sien onder dat die agt moontlike beweeg wat O maak. Nou, as ek speel X, dit is wonderlik. Ek kry om watter een ek kies gaan, die een in die middel. Maar nou O kry om van te kies. En ek het nie beheer het oor die besluit. Maar uit elk van dié moontlike raad posisies, daar is dan nog stel moontlikhede. Wanneer dit kom by wees My terugkom, sou ek kry om te kies en te sê, goed, As O beweeg in die, wel, die middel plek op die links, dan Ek het 'n stel van moontlikhede waar ek my volgende skuif kan plaasvind. Van diegene, kon ek al oorweeg die moontlikhede onder hulle. En dan O sou kry om te kies tussen hulle. En ek kon hou die bou van hierdie boom uit totdat ek het tot die punt waar óf iemand wen die game-- dis het om as 'n blaar node-- of die raad is heeltemal vol en niemand het gewen. En dit is ook van plan om 'n blaarnodus wees. Dit gaan om 'n das te wees. Maar die moeilike ding met hierdie is As dit was net 'n gereelde soek probleem, sou ek in staat wees om sê, goed, X moet hier gaan. En O moet weg oor daar te gaan. En dan moet X hier gaan. En dan moet O weg oor daar te gaan. En dan X kan drie kry in 'n ry, en ek wen. En die spel sal wees oor in vyf beweeg, drie vir my, twee vir my teenstander. Maar ek kry nie altyd te kies nie. So in plaas, wat ons is gaan hê om te doen is ons gaan hê om 'n nuwe strategie. En die strategie wat spel-speel algoritmes gebruik dikwels is wat minimaks genoem. Die sentrale idee van minimaks is dat ons gaan na die skuif wat gee pluk ons opponent die ergste moontlike stel beweeg dat hulle kan maak. Dit maak my nie 'n goeie om 'n skuif te kies waar Ek kan in staat wees om te wen nadat dat omdat my teenstander is nie gaan vir my dat 'n kans gee. Hulle gaan 'n paar kies verskriklike uitslag vir my. So ek gaan die maak beweeg wat kragte my opponent om iets vir my beter te doen. Alles reg. Kom ons kyk hoe dit speel nie. So hier is ons algoritme in pseudokode. Ons gaan om te genereer die hele wedstryd boom. Ons gaan bou die hele struktuur. En dan sal ons deur te gaan. En op die heel onderste by elk van die terminale nodes, by elk van die blare, ons sal evalueer hoe waardevolle is dat na my toe? En ons gaan om waarde dinge wat is goed vir my as positief. Dinge wat nie goed vir my minder positief sal wees, of nul, of selfs negatief. So in tic-tac-toe, miskien 'n oorwinning vir my goed is. Dit is 'n een. En 'n das is nul. En iets wat 'n verlies vir my, miskien is dit 'n negatiewe een. Al wat saak maak, is dat die beter Dit is vir my, hoe hoër die telling dit ontvang. Van dié moontlikhede by die bodem, dan sal ons opwaartse filtreer. En wanneer dit is my kans om te kies onder 'n stel van alternatiewe, Ek sal die een wat kies het die hoogste telling. En wanneer dit is my teenstanders draai om van te kies, Ek sal aanvaar dat hulle gaan kies die een met die laagste telling. En as ek doen dit al die pad op die top van die boom, Ek sal 'n pad wat gee gekies my die beste uitkoms wat ek kan kry, veronderstelling dat my opponent maak al die regte skuiwe. Alle reg, so laat ons sien hierdie in aksie eerste. En dan sal ons werklik kyk na die kode vir dit. So dink ek het hierdie groot boom. En nou is ek nie speel tic-tac-toe. Ek wou om jou te gee iets wat 'n bietjie ryker. So ek het 'n paar spel waar het daar is baie verskillende tellings dat ek kan hê aan die einde. En so het ek bou hierdie volledige boom. En ek kry om eers te beweeg. Ek is die wortel van die boom. En ek kry om te kies that-- so ek kry om te maksimeer oor daardie eerste knoop. En dan my opponent kry om te gaan. En dan kry ek weer gaan. So af aan die onderkant, ek het 'n stel van moontlikhede wat ek kan kies uit, verskillende terminale state van die spel. As ek in daardie ver linker hoek, en ek sien dat ek 'n keuse het tussen 'n agt, sewe, en 'n twee, Wel, ek is die een wat kry om van te kies. So ek gaan om te kies die beste een van daardie. Ek gaan die agt kies. So ek weet dat as ek ooit kom neer op daardie punt, Ek sal in staat wees om daardie agt punte te kry. As ek uiteindelik by die volgende punt oor die volgende node oor, 'n nege, 'n een of 'n ses, goed, ek is gaan na die beste van diegene te kies. Ek sal die nege te kies. As ek 'n keuse tussen twee en vier, en een, Ek sal die vier, het die hoogste kies. Nou, as ek kyk na die vlak bo, my opponent is die een kry om daardie keuse te maak. So my opponent kry om kies, wil ek aan hom gee die ding wat gaan om hom agt punte te kry, of ek gee hom die ding wat gaan hom nege punte te gee, of die ding wat gaan hom vier punte te gee? En my opponent, wat rasionele, gaan tot die minimum van die kies, gaan die vier te kies. En ek kan dit doen deur die hele boom. Ek kan daal tot daardie middel stel van drie. En ek kan kies tussen een, drie en vyf. En ek kry om te kies. So ek kies 'n vyf. Ek kan drie, nege, of twee te kies. Ek kry om te kies, so ek kies die nege. Ses, vyf, of twee, ek kies. Ek kry die ses te kies. Vlak bo, wie kry om te kies? Wie kry om van te kies? Die ander man, my teenstander. Sodat hulle kies vyf, nege of ses, waarvan een? GEHOOR: Die vyf. Spreker: Hulle kies die vyf. Hulle kry tot die minimum te kies. En dan is die laaste een, kies een, twee, of drie. Ek kry om te kies, so ek drie te kies. Nege, sewe, of twee, ek kies nege. En 11, ses, of vier, ek kies 11. My teenstander kies dan drie, nege of 11, kies die minimum te beperk. Hy gee my 'n drie. En dan uiteindelik by die top van die boom, ek kry om weer te kies. En ek kry om te kies tussen 'n vier, vyf, of 'n drie. So ek neem die vyf. As ek om alles te beheer, sou ek neem die pad wat gelei het tot die 11. Maar ek kry nie daardie keuse te maak. As ek gaan neer dat die pad. My teenstander sal my dwing om in Die keuse wat lei tot 'n drie. Dus is die beste wat ek kan doen, is om dat die middel-tak neem, maak dat die keuse wat uiteindelik gaan my lei tot vyf punte. Dit is wat minimaks doen. Alles reg. Kom ons neem 'n blik op dit. So hier in die CS50 IDE is 'n program wat implemente minimaks om tic-tac-toe te speel. Ons gaan bou 'n verteenwoordiging. Ons gaan twee opponent-- het of twee spelers, ons rekenaar speler en 'n mens speler. Speler nommer een sal speel die O. Dit sal die masjien speler. Hulle kry om die tweede te beweeg. En die ander speler, ons menslike speler, sal X. En om my lewe te maak 'n bietjie eenvoudige, ek gaan om die speler negatiewe etiketteer. So ek kan net vermeerder deur negatiewe een te ruil tussen een speler en die ander. Alle reg, so laat ons neem 'n blik op wat ons eintlik gaan doen. Ons gaan ons raad te definieer. Dit gaan wees, wel, ons gaan toelaat dat dit tot drie deur drie wees, of ons kan selfs speel vyf deur vyf of sewe met sewe tic-tac-toe as jy wil soos, gebaseer op sommige dimensie D. En ons sal 'n paar het van helper funksies dit sal dinge te doen soos inisialiseer die screen-- of jammer, inisialiseer ons veranderlikes, duidelik die skerm, trek die raad op die skerm, een wat 'n raad tjeks om te sien of daar is 'n wenner, een wat ontleed deur die opdrag lyn, net om uit te help, die een wat lees in insette en een funksie genoem minimaks. En dit is die een ons sal omgee oor. Maar laat ons kyk eers by die hoof. Wat doen ons? Wel, ons gaan ontleed ons opdrag lyn, net lees in en kyk wat dimensie raad wat ons wil hê. Ons sal ons raad inisialiseer. En dan sal ons 'n tree groot wilde lus, herhaaldelik aanvaar beweeg totdat die spel is gewen het, of is daar geen beweeg links. Elke keer as ons gaan deur daardie lus, ons sal die skerm skoon te maak. Ons sal die bord teken op die skerm. En ons is doelbewus soort ekserpering hierdie weg as subroetines, sodat ons nie hoef te bekommer te veel oor die besonderhede van hoe dit gebeur. Jy sal die kode later vandag. En as jy wil om te kyk deur en uit te vind, kan jy hulle almal te sien. Maar ons sal 'n raad te trek op die skerm. En dan sal ons gaan en sien, ons het 'n wenner? Het iemand hierdie wedstryd gewen het? As hulle het, sal ons druk uit 'n oorwinning boodskap. En ons sal die spel eindig. Ons sal ook kyk en kyk of daar 'n das. Dit sal maklik wees om te sien of daar is 'n das. Dit beteken dat al die ruimtes is vol, maar daar is nog nie 'n wenner is. Ons kan nie 'n das te verklaar en gedoen moet word. Toe die werklike meat-- as dit is 'n masjien-speler, ons sal toelaat dat masjien speler om te soek deur die gebruik van hierdie minimaks algoritme, om die beste skuif wat dit kan kry. En dan sal ons die gewemel sit. Andersins, as dit 'n mens speler, ons sal 'n paar insette van die menslike lees. En dan of dit die menslike speler of die rekenaar speler, ons sal 'n paar doen min stukkies foutopsporing, maak seker dit bly binne die grense van die werklike afmetings van die raad wat ons het, maak seker dat die ruimte is leeg, dat niemand se sit ' stuk in reeds daar. En dan sal ons net sit 'n stuk op die bord, verander die speler na die volgende laag, en inkrementeer hoeveel beweeg gebeur het nie. Dit is die belangrikste lus vir ons tic-tac-toe spel. Minimax dan is presies die algoritme wat ons voor. Die enigste aanpassing wat ons gemaak het, sodat ons kan hoër speel dimensionele borde is ons het gehou Hierdie ekstra parameter genoem diepte. En diepte sê net, as ek afwaartse soek deur die boom en ek kry so ver af buite 'n sekere vlak diepte dat ek wil net nie om verder te gaan, Ek gaan om te stop en net die direksie by daardie punt. Ek sal kyk en kyk of daar 'n wenner. As daar 'n wenner, ek hulle terug. Andersins, sal ek gaan deur 'n lus. En ek sal sê, vir al die moontlike plekke dat ek kon moontlik neem as my skuif, sal ek bou van 'n hipotetiese raad wat sluit my skuif op daardie raad, en dan rekursief roep minimaks. As dit is my skuif, ek kry die vind een wat het die grootste telling. As dit skuif my opponent se, vind ons die een wat het die minimum telling. En alles anders is net rekordhouding. Alle reg, so laat ons sien dit hardloop. Eintlik, miskien kan ons kry 'n paar vrywilligers om te kom en speel tic-tac-toe. [Onhoorbaar] een en een meer, twee, reg daar. Kom up. So laat ons gaan voort en weer hierdie heeltemal. So, hi. GEHOOR: Hi. Spreker: Wat is jou naam? GEHOOR: Gorav. Spreker: Gorav. GEHOOR: Ek is Layla. Spreker: En Layla en Layla, jammer. Kom up. Gorav, ons gaan hê jy eers gaan. En ek gaan om jou te vra om 'n nie verskriklik goeie tic-tac-toe-speler. OK, so al die druk af op jou. Kom ons kyk, al is, dat ons masjien speler kan eintlik iets smart te doen. So gaan voort. Jy gaan om te tik in wat koördineer jy wil om jou X in plaas. A0, OK, en die masjien het gegaan dadelik en sit sy merk in A1. Sit die O op die bord. Alle reg, nou gaan voort. Waar wil jy gaan? C2. Ons masjien speler geneem het die middel vierkante, geblokkeer jou. So dit was 'n goeie, slim ding om dit te doen nie. Jy het geblokkeer nie. Dit is 'n uitstekende. Dit neem die hoek is daar. En dit gaan om jou te dwing om neem die een laaste ruimte, B0. En die spel eindig in 'n das. Maar dit het 'n redelike spel teen jou, reg? Alle reg, baie dankie, Gorav. [Applous] Alle reg, Layla, ons gaan die spel op jou hier. GEHOOR: O, groot. Spreker: Ons gaan om te gee jy vier deur vier tic-tac-toe. Nou, in vier deur vier, jy het om te wen met vier in 'n ry, nie drie in 'n ry. En dit is alles joune. So Layla het D1. Ons is nou gaan volg ons rekenaar speler hier. Drie deur drie tic-tac-toe is die soort ding dit is maklik vir ons almal. Maar dit is nog steeds lekker om te sien die rekenaar speler om slim beweeg. Vier deur vier kry om 'n bietjie moeiliker. Mooi gedoen. Alle reg, sodat Layla se afgewerk. O ja, en ons moes daar geëindig. Maar laat ons nie een meer hier. So Layla, dankie. Mooi gedoen. [Applous] So ons tic-tac-toe speler gaan deur en vind plekke, los hulle met behulp van die minimaks. En ek het 'n diepte omgewing op daardie sodat dit sou nie te vinnig hardloop, wat is waarskynlik die rede waarom Layla was om voort te gaan in staat mooi soos sy gedoen het, en het baie goed. Maar hierdie stelsels wat net gaan deur en brute krag gaan dieper, en dieper en dieper, en hou die vind van die oplossing wat hulle nodig het, diegene soorte stelsels is baie suksesvol by hierdie, wel, standaard bordspeletjies. En in die feit, as ons kyk na 'n drie deur drie tic-tac-toe spel, Dit is basies 'n probleem opgelos. En dit is 'n wonderlike diagram van Randall Munroe op Kletskerk, vertoning wat beweeg jy moet neem, gegewe beweeg jou teenstander. Dit is iets wat ons kon maklik voor die tyd te gee. Maar wat gebeur as ons meer komplekse speletjies, meer ingewikkelde speletjies, waar daar groter borde meer moontlikhede, dieper strategie? Dit blyk dat hierdie brute krag soek steeds doen redelik goed nie, behalwe wanneer jy die punt waar daardie boom is so groot dat jy nie kan verteenwoordig dit alles. Wanneer jy die hele boom nie kan bereken, wanneer jy nie vorentoe en druk kan gaan jouself tot op die punt waar jy het gekry die hele boom in die geheue, of jy kan dit kry in die geheue en dit sal net neem jou te lank om deur te soek dit, jy het om iets slimmer te doen. Om dit te kan doen, moet jy het twee dinge te doen. Eerstens, jy het om 'n paar te vind manier van die beperking van jou diepte. Wel, dit is OK. Ons kan 'n paar mooi, absolute minimum te vind en sê, jy kan net gaan so diep. Maar wanneer jy dit doen, dit beteken dat jy het hierdie gedeeltelik onvoltooid planke. En jy het om van te kies, doen ek graag hierdie gedeeltelik onvoltooid raad, of hierdie gedeeltelik onvoltooid raad? En op ons vier deur vier tic-tac-toe spel, ons rekenaar speler het af aan die onderkant en dit het gesê, Ek het twee verskillende planke. Nie een is 'n wen. Nie een is 'n verlies. Nie een is 'n das. Hoe kies ek tussen hulle? En dit het nie 'n het slim manier om dit te doen. Ons sien hierdie soort evaluering gebeur al die tyd as ons in meer komplekse speletjies. Skaak is 'n goeie voorbeeld. In skaak, ons het, in die eerste van alles, 'n groter bord. Ons het baie meer stukke. En die plasing van hierdie stukke en die manier waarop hierdie stukke te beweeg is krities belangrik. So as ek wil minimaks gebruik, Ek moet in staat wees om te spesifiseer en sê hierdie bord waar niemand het gewen of verloor nie, is een of ander manier beter as dit ander raad, waar niemand het gewen of verloor. Om dit te doen, kan ek doen dinge soos ek dalk net tel hoeveel stukke moet ek en hoeveel stukke het jy? Of ek dalk anders te gee stukke verskillende punte. My koningin is 20 punte werd. Jou pion is een punt werd. Wie het meer punte totaal? Of ek kan oorweeg dinge soos, wie het die beter raad posisie? Wie se beurt is dit langs, enigiets wat ek kan doen om meer akkuraat te evalueer watter van hierdie moontlikhede is beter sonder uitvoerig oorweeg elke beweging wat daarna kon kom. Nou dat die werk te maak, een van die dinge wat gaan regtig belangrik geword vir ons is nie net beweeg reguit af na 'n bepaalde diepte limiet, maar in staat is om te sê, een van hierdie idees wat ek het, is so erg dat dit nie die moeite werd oorweging al die moontlike maniere dat dinge kan gaan van kwaad na erger. Om dit te doen, sal ons voeg in minimaks 'n beginsel genoem Alfa-beta. En alfa-beta sê, as jy 'n slegte idee nie, mors nie jou tyd probeer om uit te vind presies hoe sleg dit is. So hier is wat ons gaan doen. Ons gaan dieselfde doen beginsels wat ons voorheen gehad het, dieselfde minimaks tipe soek nie, net ons gaan hou, nie net van die werklike waardes wat ons het, maar ons sal hou van die beste moontlike waarde wat ek kon kry, en die ergste moontlike uitkoms Ek kon hê. En enige tyd die ergste moontlike ding is op soek waarskynlik, Ek sal daardie deel van die boom te laat vaar. En Ek sal nie eens die moeite kyk na dit nie. Alle reg, sodat dink dat ons begin met hierdie presies dieselfde spel boom. En nou is ons gaan om te gaan weer af, al die pad af dat die onderste linkerhoek. En in dié onderste linkerhoek ons kyk en ons evalueer hierdie bord. Miskien is dit 'n vier deur vier tic-tac-toe direksie, of miskien is dit 'n skaakbord. Maar ons kyk na dit, en ons evalueer dit, en ons kry 'n waarde van agt. Op daardie punt, ons weet dat ons gaan ten minste kry agt punte uit hierdie bodem besluit. Dit maak nie saak wat die ander twee is, sewe en dat twee. Hulle kon enige waardes hulle wou wees. Ons gaan op om te kry Minstens agt punte. Alle reg, maar ons kon gaan voort en te keur. Miskien een van hulle is beter as agt. Ons kyk na die sewe. Is dit beter as agt? Nee, dit beteken nie verander ons mening glad nie. Ons kyk na die twee. Is dit beter as agt? Nee, dit beteken nie verander ons mening glad nie. So nou weet ons ons het uitgeput al die moontlikhede is daar. Ons gaan nie om te kry niks beter as agt. Ons gaan presies agt kry. En so het ons verander en node sê, dit is nou 'n sekerheid. Ons gaan op een vlak bo dit. En nou weet ons iets oor daardie minimalisering vlak. Ons weet dat ons nooit gaan kry meer as agt punte as ons gaan af daardie rigting. Want selfs as diegene ander twee takke draai uit te wees en die moeite werd fantastiese duisende punte elk, ons opponent sal ons die minimum, en gee ons die agt. Alle reg, goed, laat ons sien. Ons sal aanhou om af te gaan dat die pad. Ons gaan af na wat middel aan die linkerkant. Ons kyk af en sien ons daar is 'n nege. Ons weet dat ons gaan om te kry minstens nege punte deur te gaan af dat middeweg. En op hierdie punt, kan ons net breek. En ons kan sê, kyk, ek weet in die vlak bo, Ek gaan kry nie meer as agt wys deur af te gaan hierdie rigting. Maar as ek het in die middel pad in plaas van die linker pad, Ek sou kry minstens nege punte. My teenstander is nooit gaan laat my gaan af dat middeweg. Hulle kry om van te kies. En hulle gaan na die kies pad na die links na die agt, eerder as in die middel tot Wat is minstens nege punte. So op daardie punt, sal ek ophou. En ek sal sê, jy weet wat? Ek het nie nodig om enige kyk meer in daardie rigting. Omdat ek nooit gaan om daar te kom. Ek kan spring oor daardie een, en ek kan slaan oor wat ses want dit is nooit gaan gebeur nie. So ek sal afgaan en ek sal oorweeg die volgende moontlikheid. Ek gaan daar en ek sê, ek sien 'n twee. Ek weet as ek tot hier, ek is gaan ten minste twee kry. OK. Ek hou. Ek sien 'n vier. Ek weet ek gaan ten minste vier te kry. Daar is nog 'n baie tussen vier en agt, al is. So ek gaan hou. Ek kyk af en ek sien daar is een. Alle reg, ek weet as Ek gaan op hierdie pad, Ek gaan in staat wees om die vier te kies. Wat my teenstander gaan doen? Tussen iets wat my gee agt, iets wat my gee vier en iets wat gee my minstens nege, Wel, hy gaan my die vier gee. En ek weet nou by die heel boonste, ek gaan in staat wees om ten minste kry vier punte uit hierdie wedstryd. Die hele idee van die alfa-beta is om dele so afgesny die boom dat ek nie meer te kyk na hulle. Maar dit lyk nog steeds soos ek was op soek na 'n baie van die boom. Kom ons hou om af te gaan. Ons sal nou gaan in die volgende een. Af aan die onderkant, vind ek 'n een. Ek weet ek gaan ten minste een te kry. Ek hou soek. Ek vind 'n drie. Ek weet ek gaan ten minste drie kry. Ek hou. Ek vind 'n vyf. Ek weet ek gaan vyf kry as ek in daardie pad. En ek weet ook dan dat my opponent, as ek kies die middel van die drie groot keuses, hy gaan om my te gee iets wat vyf of minder. OK. Ek kan hou gaan daar. Ek kan kyk af en ek kan sê, wat gaan ek te kry as ek gaan in die middel pad? Ek gaan om daar te kom, goed, drie. Ek gaan om iets te kry dit is ten minste drie. Daar is nog dinge tussen drie en vyf, so ek hou soek. O, 'n nege, sal ek beslis neem dat meer as 'n drie. Ek gaan minstens nege kry as ek neerdaal dat middeweg. Stop nou my opponent en sê, kyk, daar is geen punt nie. Ek weet dat my minimalisering teenstander, hy is gaan my die ding wat ons gee minder as of gelyk aan vyf eerder as die ding wat groter as of gelyk aan nege. Ek stop. Ek het nie meer kyk na dit. Ek hou. Ek kyk af op hierdie een. Af na die onderkant, vind ek 'n ses. Ek weet ek gaan minstens ses kry. En wat kan ek doen? Ek kan stop. Want daar is 'n keuse tussen iets wat ten minste ses en iets wat minder as vyf, hy is gaan my die ding gee dit is minder as vyf. En nou, ek weet ek gaan presies te kry dat die keuse. Ek gaan dat vyf keuse te kry. Ek gaan terug na die top. Wat gaan ek kies tussen iets dit is groter as of gelyk aan vier, of iets wat gelyk aan vyf? Ek gaan iets te neem dit is ten minste vyf. Ek gaan in die laaste pad, al die pad af na die bodem. Daar is 'n een. OK, ten minste gaan ek een punt. Ek hou. Twee, o, dit is beter as een. Ek gaan ten minste twee kry. Ek vind 'n drie. Ek weet ek gaan drie kry. En die punt bo, my teenstander gaan my iets wat om te gee minder as of gelyk aan drie. En nou kan ek stop. Want in die keuse tussen my word in staat wees om 'n vyf en my opponent te kry gee my iets minder as drie, Ek is altyd gaan dat vyf neem. So ek weet nie wat evalueer onderste deel van die boom nie. Nou, kan dit lyk minderjarige. Maar wanneer klein stukkies van rekenkunde, groter as en minder as, hele dele van weg kan sny hierdie eksponensieel groeiende boom, wat lei tot 'n groot bedrag van besparings, spaar wat groot genoeg dat ek is kan begin speel mededingend op meer komplekse speletjies. Alle reg, as ons kyk na die grootte en kompleksiteit van verskillende speletjies, tic-tac-toe was ons maklike voorbeeld. Ons het 'n klein raad, drie het deur drie. Ons kry, op die meeste, 'n gemiddeld van omtrent vier verskillende keuses as ons gaan deur die spel. Ons het êrens rondom 10 tot die vyfde moontlik verskillende blare. En die bou van 'n tic-tac-toe speler, goed, ons het net dit gedoen het. Dit is maklik. As ons gaan op na iets meer kompleks, soos Connect Four. Onthou jy hierdie spel waar jy die klein tekens daling in? Dit is 'n ses met sewe raad, nie veel groter, nog het ongeveer dieselfde vertakking faktor soos tic-tac-toe. Ek het omtrent vier keuses waar ek dinge in kan sit. Maar nou, ek het 'n baie meer lei, 10 tot die 21ste krag. Dit is iets wat maklik genoeg dat ons los dit dadelik. Checkers, hoe meer jy complex-- het 'n agt deur agt raad. Jy is net op die helfte van hulle te eniger tyd, al is. Jy het 'n vertakking het faktor wat gaan oor 2,8. Wel, ons het 'n paar gekry beweeg jy kan neem. Jy het ongeveer 10 het die 31 blare, groter en groter, en groter ruimtes. Soos ek het om deur te soek diegene groter en groter ruimtes, Dis toe dat dinge soos die alfa-beta en in staat hele takke weg te sny word noodsaaklik. Nou, checkers was maklik genoeg in 1992. 'N Rekenaar program genaamd Chinook klop die wêreld checkers kampioen, Marion Tinsley. En sedertdien geen menslike meester speler het in staat was om die beste te klop computational stelsels. As ons kyk na iets soos skaak, nou weer, ons het 'n agt deur agt raad. Maar ons het baie meer kompleks stukke, baie meer kompleks bewegings. Ons het 'n vertakking faktor van ongeveer 35, 35 moontlike skuiwe op die gemiddelde dat ek, en 'n staat kan neem ruimte, 'n aantal van die blare dit is gegroei tot 10 123 aan die krag, enorme getalle moontlikhede. Selfs nog, moderne verwerkers in staat is om dit suksesvol te doen. In 1995 en daarna in 1997, 'n rekenaar program genaamd Deep Blue gebou deur IBM wat gehardloop op 'n reuse supercomputer die huidige wêreldkampioen klop, Garry Kasparov. Dit was 'n keerpunt. Vandag, egter dat dieselfde verwerking krag sit op my MacBook. Verwerking spoed hou kry vinniger en vinniger. Ons kan meer en meer te evalueer borde vinniger en vinniger. Maar meer belangrik, ons het 'n beter evaluering funksies en beter snoei metodes. Sodat ons kan soek op die ruimte meer kompleks. Die grootste van die raad speletjies wat ons kan dink, iets soos Go dis 'n 19 met 19 direksie, nou skielik, ons is verby die punt waar computational stelsels kan wen. Daar is geen computational stelsel daar buite wat kan klop 'n professionele Go speler. Die beste stelsels vandag rang dit oor die soort van goeie amateur vlak. So is daar steeds 'n bietjie uit te daar wat jy kan nie nog kry. Alle reg, hierdie tradisionele bordspeletjies, hierdie soort stelsels waar ons bou die minimaks, of dit het alfa-beta of nie, hierdie algoritmes werk want daar is sekere beperkings. Ons het perfekte inligting oor die hele wêreld. Ons weet waar al die stukke is. Die wêreld is staties nie. Niemand kry om die beweeg stukke rondom terwyl ek daar sit dink, neem my beurt. Daar is 'n aksie ruimte wat diskrete. Ek kan my pion hier sit, of ek kan my pion hier sit. Ek is nie toegelaat om my pion op te sit die lyn tussen die twee vierkante. En ten slotte, die optrede is deterministiese. Ek weet dat as ek sê, rook Knight drie my rook gaan eindig by Knight drie, solank dit 'n geldige beweeg. Daar is geen onsekerheid oor dat. Nou, as ek gaan om meer verskillende soorte speletjies, ons het na daardie aannames te breek. Wat as ek gaan om iets soos klassieke video speletjies? Hier is 'n seleksie van die video games van die Atari 2600. Wat moet ek daar? Ek het Frogger, Space het Indringers, valkuil, en Pac-Man. Watter soorte omgewings moet ek nou hier? Watter van hierdie aannames moet ek breek? Wel, dit hang af van die spel. Ek kon skaak speel op die 2600, en dit sou wees, net soos dit was voor. Vir die meeste van hierdie stelsels, is daar volledige kennis oor die wêreld. Daar is heeltemal deterministiese aksies. Maar gewoonlik, die wêreld se nie meer staties. Dit is, terwyl ek daar is sit wag, is iets wat beweeg. Die spoke kom om my te kry. Die skerpioen volg my onder. Die ruimte indringers is kom nader en nader. Hoe goed kan ons doen teen hierdie? 'N Paar jaar gelede, Google het 'n projek genaamd DeepMind, waar hulle opgelei 'n rekenaar program om Atari speel 2600 speletjies. En as jy dink dit is nie ernstig nie besigheid, die resultate van hul studie gepubliseer in Nature, so net oor so 'n goeie publikasie as wat jy moontlik kan kry. En hier is hoe goed hulle presteer. Hulle het 'n algoritme wat sit en kyk net die skerm insette. Dit het geen instruksies hoegenaamd oor die reëls van die spel. En dit was veronderstel om uit te vind, grond sy telling, hoe goed dit was om te doen. Dit was 'n stelsel wat iets gebruik genoem versterking leer. Dit is, dit lyk op sy telling. En as dit 'n goeie telling, het hy gesê, Ek moet daardie dinge te onthou. En ek moet die weer te doen. En as dit het 'n slegte telling, het hy gesê, Ek moet nie die dinge weer doen. Dit is die prestasie van diegene wat opgelei stelsels toegelaat word om te speel vir 'n paar uur op elke wedstryd, vergeleke teen professionele gamers. So vir al die speletjies wat tot by die linkerkant van die lyn, hierdie self-opgeleide rekenaarprogram beter as die professionele spelers. En vir alles op die reg, die professionele spelers was nog steeds die beste. Vir iets wat geweet niks oor die reëls, wat niks geweet van die struktuur van die speletjies, dit is indrukwekkende vertoning. En dit is wat ons in staat om te doen vandag. OK, jy sê, maar as ons dink oor AI in games, gewoonlik ons ​​dink oor die dinge wat ons kan eintlik sit en speel teen. As ek gaan sit en ek speel Craft, of ek speel Free sif, die rekenaar teenstander is die persoon wat die beheer van die Zerg, of die beheer van die ander beskawing. Hoe daardie spelers eintlik hul bewegings te vind? Wel, is hierdie speletjies gestruktureer baie dieselfde manier as ons bordspeletjies, hierdie speletjies wat ons sal gesamentlik noem vier X games, verken, expand-- vergeet van die kinders. Wat is hulle? Verken, uit te brei, en blus, Ek dink is die laaste een. Maar hulle is basies eksplorasie en verower speletjies. Tipies, die rekenaar teenstander daar beperkte inligting. Hulle weet nie presies wat aangaan agter die mis van die oorlog. Hulle kry nie om te sien wat jy in jou voorraad. Daar is 'n omgewing wat dinamies. Alles is besig om al die tyd. Jy kry nie om te sit en wag om jou skuif te neem. Maar die meeste dinge is nog steeds diskrete. Ek moet my stad hier sit. Of moet ek my stad hier sit. En alles is deterministiese. Wanneer ek sê, beweeg my eenheid hier, my eenheid beweeg hier nie, tensy 'n hindernis skielik kom in die spel. Nou, dit is nie al rekenaar speletjies wat daar vandag. As ek gaan en ek speel 'n eerste tipe persoon spel, iets soos dief of Fallout of Skyrim of Halo, nou Ek het rekenaar teenstanders dat daar uit wat 'n baie ander situasie. Hulle het, weer, beperkte inligting. Hulle kan net 'n kyk sekere gebied van die oog. Die omgewing is steeds dinamies. Dinge verander al die tyd. Maar nou het ek 'n baie meer deurlopende aksie ruimte. Ek kan net word loer 'n bietjie uit die deur. En 'n paar speletjies, my optrede is stogastiese. Ek kry om te probeer om te spring oor die muur, maar ek het 'n kans om te misluk. Hierdie tipe van speletjies is om nader en nader aan die soorte beheerders dat ons bou in robotika. In robotika, ons het om te aanvaar dat ons beperkte inligting. Ons het sensors wat vertel ons oor die hele wêreld. Ons het 'n altyd-veranderende, dinamiese omgewing. Ons het 'n wêreld waarin ruimte is deurlopende, eerder as diskrete. En ons optrede, wanneer ons probeer hulle het 'n kans om te misluk. En in die feit, moderne spel beheerders vir jou Halo teenstander, of vir diegene NPCs in Skyrim, basies hardloop klein robotika argitekture. Hulle voel die wêreld. Hulle bou 'n model van die wêreld. Hulle bereken gebaseer op 'n stel van doelwitte wat hulle wil bereik. Hulle beplan aksies gebaseer oor wat hulle weet. En dit is presies dieselfde soort stelsels wat ons bou in robotika. So het hierdie argitekture, om bring dit terug saam, is dikwels baie dieselfde. So laat ons sien of ons dit kan sien nie. Kom ons gaan terug na ons tic-tac-toe voorbeeld. En ek gaan 'n paar van my vra post-docs het om te kom help my. So Chen Ming en Alessandro en Olivier, as jy ouens sou kom. En ek gaan nodig 'n paar van die vrywilligers OK, 'n hand het ek reg daar in die middel. Laat my toe om 'n meer, iemand verder in die rug miskien. Alle reg, daar. Kom up. Alles reg. So laat ons dat dekking af. En as jy ouens reg sou kom terug hier rond vir my, fantasties. So dit is 'n robot genoem Baxter. En Baxter is 'n robot wat is 'n kommersiële platform, ontwerp deur 'n maatskappy genaamd Rethink. En dit robot is ontwerp vir kleinskaalse vervaardiging. Maar vandag gaan ons gebruik dit om tic-tac-toe te speel. Nou, hierdie robot is ook iets dit is relatief uniek. Want as ek nêrens staan naby aan 'n standaard fabriek automatisering stelsel, sou ek in 'n baie ernstige wees gevaar om beseer. Baxter, is egter ontwerp om relatief veilig om met. En so kan ek stoot op hierdie robot. En jy kan sien dit is 'n bietjie bietjie buigsaam as dit beweeg rond. En ek kan dit herposisioneer waar ek wil om dit te gaan. Nou in 'n normale robot stelsel, sou ons 'n stel van gewrigte hier dit sou direk wees reageer op posisie bevele. En hulle sal nie noodwendig omgee as hulle beweeg deur ope lug, of as hulle beweeg deur my ribbekas. OK. En tipies, as jy hier met 'n industriële stelsel, sou jy nêrens naby is. Daar sal geel veiligheid band rondom dit. Hierdie stelsel het 'n effens anders ontwerp om vriendeliker en makliker wees vir mense om interaksie met, in dat elke gewrig, daar is 'n fontein. En eerder as beheer 'n presiese posisie, ons beheer 'n sekere bedrag van wringkrag, 'n sekere bedrag van krag is, dat ons graag wil wees op daardie lente. Alle reg, so laat my neem hier ons vrywilligers. Hallo, wat is jou naam? GEHOOR: Louis. Spreker: Louis. Lekker om jou te sien. En? GEHOOR: David. Spreker: David. Bly te kenne. As jy ouens sal wag hier vir 'n tweede, Ek gaan om jou te gee 'n kans om dit te doen. So hierdie robot, as jy kom en as jy liggies stoot op dit, jy gaan om te sien dat dit beweeg 'n bietjie. En as jy dit reg te gryp hier op die pols net bo waar die knoppies is, is dit lyk soos jy moet gryp die knoppies, maar gryp reg bo dit plaas, sal jy in staat wees om baie versigtig te manipuleer dit deur die ruimte. Louis, jy wil om dit te probeer? So gee dit net 'n bietjie stoot om te begin met. En dan as jy jou vingers daar regs en hou op om dit, want dit sal dan beweeg vir jou. Alle reg, jy wil om dit te probeer? Kom up. So gee dit net 'n sagte stoot daar te begin. Jy kan voel hoe dit voel. En dan as jy dit gryp net daar, jy sal in staat wees om te maneuver op rond. OK. So tipies, hierdie soort van 'n robot sou gebruik word vir kleinskaalse vervaardiging. En ek gaan na hierdie arm net beweeg af uit die pad 'n bietjie hier. Maar vandag, ons gaan die gebruik dieselfde tic-tac-toe spel stelsel gebaseer op minimaks dat ons vroeër gebou. OK? So, julle is elke gaan 'n spel te speel. Louis, jy gaan eerste. Laat my net te hou hier vir 'n tweede. Ek gaan om jou regte te staan hier, net sodat almal kan jy sien. Is jy ouens opgestel hier? ROBOT: Welkom. Kom ons speel tic-tac-toe. Moenie jou teken nie begryp voordat Ek sê dat dit jou beurt is. Ek begin die spel. Dit is my beurt. Spreker: Nou, as jy kan een van neem jou stukke en gaan voort en plaas dit. ROBOT: Dit is jou beurt. [Gelag] Dit is my beurt. [Gelag] [Gelag] Dit is jou beurt. Spreker: Die menslike ras is reken op u hier, Louis. ROBOT: Dit is my beurt. Spreker: So Baxter hier suksesvol geblokkeer. ROBOT: Dit is jou beurt. Dit is my beurt. Dit is jou beurt. Dit is my beurt. Spreker: En ons sal jou laat Baxter klaar uit sy laaste skuif hier. [Gelag] ROBOT: Dit is 'n das. Ek sal volgende keer te wen. [Gelag] Spreker: Alle reg, baie dankie, Louis. Dankie. Jy kan op hierdie manier te gaan. ROBOT: Ek begin die spel. Spreker: So laat ek verduidelik aan jou een bietjie bietjie voor ons kry ons herontmoeting hier. Wat presies gebeur? So die robot het 'n kamera op top hier. En dit is kyk neer op die bord. En dit is om te sien of Dit het 'n rooi O of 'n blou en wit X As diegene kry gelê op die raad, dit is basies dieselfde insette dat ons sal lees in uit ons data struktuur van ons skerm. Dit loop dieselfde minimaks algoritme te wees in staat wees om te vind waar om te plaas 'n goeie teken. En dan is ons gee 'n opdrag oor waar ons wil graag 'n teken geplaas moet word. Die arm beweeg nie. Dit is die gebruik van 'n vakuum grijper om aansoek te doen sommige suiging om daardie hout stuk, dit kom haal, skuif dit na die regte spot, en dan die vrylating suiging en gooi dit. Alle reg, ons gaan om dit te gee 'n meer skoot met 'n effens slimmer speler hier. Jy gereed? Alle reg, as jy wil reg op te staan hier en gee a-- draai uit hierdie manier sodat jy kan sien almal. En dan [onhoorbaar]. ROBOT: Dit is my beurt. Spreker: Baxter sal begin. Dit is jou beurt. Dit is my beurt. Dit is jou beurt. Dit is my beurt. [Gelag] Spreker: [WHISPERING] Net laat hom voort te gaan en te wen. ROBOT: Dit is jou beurt. Spreker: Dit is OK. ROBOT: Dit is my beurt. [Gelag] Ek wen. [Gelag] Ek begin die spel. Spreker: Alle reg, baie dankie. Alle reg, ek dink ons ​​het die tyd het vir een uitstekende tic-tac-toe-speler, iemand wat hierdie ding kan sit om pas, wat weet wat hulle doen. [Gelag] Wie gaan ons kampioen hier wees? Alle reg, jou vriende vrywillig jou. Dit is goed genoeg vir my. Vertel my weer jou naam. GEHOOR: Tamir. Spreker: Tamir, lekker om jou te sien. Alle reg, weer, ons gaan sit jy reg hier sodat almal kan jy sien. Jy is ons verteenwoordiger in hierdie wedstryd nou. Baxter is een en oh en oh. Of jammer, een oh en een. En dit is aan jou hier. Baxter sal kry om die eerste skuif, al is. Doen. ROBOT: Dit is my beurt. [Gelag] Dit is jou beurt. Dit is my beurt. Dit is jou beurt. Dit is my beurt. Dit is jou beurt. [Gelag] ROBOT: Dit is my beurt. Spreker: Dit is 'n baie harder wanneer jy staan ​​hier op, mense. [Gelag] ROBOT: Jy is mense so maklik om te klop. [Gelag en applous] Spreker: Baie dankie. ROBOT: ek wen. Ek begin die spel. Spreker: Alle reg, so dankie baie veel om te Olivier en Alessandro, en Chen Ming. [Applous] Ek wil 'n laaste punt te maak. So Baxter op die heel eindig daar, verneuk. En dit was onverwags. Een van die fantastiese dinge oor AI is dat ons werk te doen in AI sodat ons kan bou baie interessant en intelligente toestelle. Maar ons het ook werk in AI want dit vertel ons iets oor hoe die mens is intelligent. Een van die gunsteling studies van my lab is kyk na wat gebeur wanneer masjiene onverwags kul. Ons het dit aanvanklik nie met Baxter speel tic-tac-toe, maar met 'n kleiner robot genoem Nao, wat rock-papier-skêr gespeel. En soms na speel baie, baie verveel rock-papier-skêr games, die robot sal gooi 'n gebaar, verloor nie, en dan skielik verander sy gebaar en sê ek wen. [Gelag] Nou, soms wil ons ook die robot, net soos 'n beheer, gooi 'n gebaar, wen, en verander sy gebaar om te verloor, gooi die wedstryd, oneerlik om te verloor. En dit is nie naastenby so oortuigend. Die robot wat cheats om mense te wen reageer asof dit uit om hulle te kry, soos dit is aktief op soek na hul ondergang. [Gelag] Dit word 'n agent. Dit is soos 'n persoon. Dit het geloof en voorneme. En dit is nie goeie bedoeling. En die robot wat gooi die spel is net onklaar. Dis net 'n gebreekte toestel. Laat my jou wys 'n paar voorbeelde van daardie van 'n paar van ons deelnemers. So hier is verneuk om te verloor. [Video speel] - [Onhoorbaar] wen. Kom ons speel. -Wag wat? - [Onhoorbaar] wen. Kom ons speel. [Onhoorbaar] wen. Kom ons speel. Spreker: En hier is verneuk om te wen. -Ja, Ek wen. Kom ons speel. -Jy Kan dit nie doen nie. [Gelag] -Ja, Ek wen. -Jy Bedrieg. Jy verneuk nou. -Ja, Ek wen. Hey, jy cheater. Jy oneerlik, super oneerlik. [Einde afspeel] Spreker: Hierdie verskillende reaksies vinnig verander ons persepsie van die toestel. Beteken dit dat ons doelbewus bou masjiene wat oneerlik, want dit is die beste ingenieurswese wat ons kan doen? Nee, maar dit vertel ons iets baie interessant oor mense. Daardie ding wat jy en cheats steel jou oorwinning, dit is iets wat lewendig, dis animeer, dit is uit om jou te kry. Dit het geestelike toestand. Dit het geloof. Dit het voorneme. Daardie ding wat die hande van die spel vir jou, dit is nie. Dit is net onklaar. Dit is in baie maniere hoekom dit maklik om die spel te gooi met kinders. Maar as jy probeer om hulle te kul en soort eis oorwinning wanneer, jy weet, net om die verkort spel, sal hulle jou vang dadelik. Hierdie soort effekte wat ons sien uit te kom van AI, Dit leer ons baie oor onsself. Alle reg, dit is dit vir vandag. Baie dankie aan Dawid en die Harvard produksie span vir afkom. [Applous] Ons sal sien dat jy vir quiz een en dan vir 'n laaste lesing. Lekker dag. [Applous] [Speel van musiek] DAVID J MALAN: Wel, waarskynlik moet ons om 'n soort stel van enkripsie, reg? Want dan is die kop van hierdie HTTP versoeke sal wees roer sodat almal probeer om jou verkeer te snuffel sal eintlik nie in staat wees om hulle te sien. So, wat is die oplossing vir hierdie probleem? Wel, ons moet eintlik stel enkripsie in die formule, sodat wanneer daardie persoon oordrag van data vanaf A na B, ons kan veilig send-- [Gelag] Die inligting in 'n manier dat die teenstander kan nie, in werklikheid, dit sien.