>> [Predvaja glasba]
>> SPEAKER: Dobrodošel nazaj, vsi.
To je CS50.
In danes, imamo veliko zanimivih stvari govoriti.
Prvič, čeprav, moram opomniti ste za nekaj upravnih stvareh.
Ta teden je kviz ena, sreda ali za odsek Yale
ob torkih in četrtkih, v četrtek.
Obstajajo kviz ocene Nocoj na univerzi Yale, 5:30 do 7:00.
Na Harvardu, eno včeraj so posneli.
In vsakdo lahko gledal to na spletu.
>> Tudi ta teden ali v začetku prihodnjega tedna, imamo zadnjo CS50 predavanje.
[Stokanje] poznam.
Je prišel tako kmalu.
Yale študenti bodo imeli v živo predavanje tukaj v pravo šolo
avditorij v petek.
Tam bo torta.
Harvard študenti bo imela Zadnje predavanje v Sandersa v ponedeljek.
Tam bo tudi torta.
>> Tudi ta teden v petek, za tiste, od vas, ki prihajajo v New Haven,
imamo CS50 Expo.
Imamo več kot 30 različne skupine registrirana
da vam pokaže vse iz avtonomnih jadrnicami,
sistemov, ki priznavajo Digitalni portreti, na računalniku
glasba in računalniško proizvedene glasbe.
Torej nam prosim pridružite.
Mislim, da se dogaja, da je pravi čas.
>> Danes, čeprav smo prišli do naprej govorimo o AI,
o umetni inteligenci.
In ena od stvari, ki bomo dobili do danes
je ideja o tem, kako uporabite AI za reševanje problemov.
Zdaj pa, kot vedno, začnimo z nekaj preprostega.
In bomo za začetek s preprosto zamislijo.
In to je z iskanjem.
>> Torej, si predstavljajte za minuto, da sem imajo nalogo, da moram opraviti.
In želim, da imajo to nalogo avtomatizirajo neki software agent.
Predstavljajte si, da skušam rezervirate niz letov iz, recimo, Boston
v San Franciscu.
Jaz bi šel skozi in sem lahko uporabite eden od čudovitega spletno iskanje
orodja, ki bo naredil v bistvu enak proces, ki smo
bom sprehod skozi danes.
Ampak, če niste imeli, da Orodje, kaj bi ti naredil?
>> No, lahko pogledate in videli in rekli, da sem v Bostonu.
Kaj leti so mi na voljo?
Zdaj, morda imam tri možni poleti od Bostona
ki bo ustrezal čas ko moram oditi.
Jaz bi leteti v Chicago.
Ali lahko letim v Miami.
Ali sem lahko letel v New York.
Jaz bi potem poglej iz vsake eden od tistih destinacijo mest
in pomislite, kaj lokacijah Jaz bi lahko dosegli
iz vsake od teh posameznih mestih.
>> Torej, morda iz Chicaga, lahko dobim direkten let v San Franciscu.
To je odlično.
Ali lahko dobim let v Denverju.
Zdaj, morda, da je let v San Franciscu je idealna rešitev za mene,
a morda ne.
Mogoče sem iskal nekaj da je malo cenejši
ali malo bolje za moj urnik.
In tako lahko gledam za kaj drugega možnosti bi bilo tam.
Tako sem lahko ogledate na Denver.
In iz Denverja, no, morda Lahko dobim let v Austinu.
In od Austina, morda lahko dobim let v Phoenix, in iz Phoenix
v San Franciscu.
Zdaj bom še ni končana.
Saj morda obstaja direkten let iz New Yorka
v San Franciscu, ki je kot nalašč za mene.
Ali morda obstaja let iz Miamija skozi Denver, ki je veliko cenejši.
Torej moram še iti.
In sem še vedno, da pogled na vse tiste, mesta, ki sem ga še niso preiskali.
Moram izčrpno preverite vse možnosti, da bi jo imam.
>> Torej iz New Yorka, morda lahko dobim polet v Nashville in od Nashville
v Austin.
In potem vem, kje sem.
In potem vem iz Austina, sem lahko leteti v Phoenix, in iz Phoenix
v San Franciscu.
Če letim najprej Miami, čeprav, Morda lahko dobim let iz Miamija
Nashville, ali iz Miamija v Austin.
>> In zdaj sem poskušal vse od možnosti.
Sem zgradili ta graf, ki mi prikazuje vse možne poti
da bi moral biti sposoben sprejeti.
Ko smo predstavljajo ti vrste težav,
ne bomo, da predstavljajo jim izrecno kot grafu,
ker da graf ne predstavlja zgodovina, kjer smo šli.
Vedoč, da sem letel iz Phoenix San Francisco
me ne pove, ali sem prišel preko Nashville, ali preko Denver, ali preko Miami.
>> Torej, kaj bom naredil, namesto da je Jaz bom to isto težavo,
in bom jo predstavljajo kot drevo.
In ob korenu drevesa v spodnjem top, bom dal mesto, ki sem začel,
Boston.
In iz Bostona, bom poglej vseh možnih lokacijah
da ne morem potovati.
No, v tem primeru, sem tri, Chicago, New York in Miami.
In potem bom raziskati vsako ti otroci v drevesu.
>> Iz Chicaga, sem videl da sem imel dve leti.
Jaz bi lahko letel neposredno San Francisco ali v Denver.
Zdaj San Francisco, to je moj cilj.
To je moj cilj.
To se dogaja, da se listov tega drevesa.
To pomeni, da jaz nikoli ne bo šel nekje po San Franciscu.
Iz Denverja, čeprav, Lahko letim iz Denverja
Austin, Austin v Phoenix, in od Phoenix do San Francisca.
In zdaj spet, sem dosegel listov.
>> Jaz bi nato pa pojdite nazaj na naslednjo mesto, da nisem v celoti raziskani.
To bi bilo v New Yorku, pojdite nazaj gor na vrhu mojega drevesa,
prišel v New York.
Iz New Yorka, da lahko letim, da Nashville, od Nashville v Austin,
Austin v Phoenix, in od Phoenix do San Francisca.
In končno, eno mesto sem ni pogledal še Miami.
>> No, iz Miamija sem rekel, sem imel dva možnosti, Nashville in Austin.
Če letim v Nashville, no potem pa letim od Nashville, Austin, Phoenix,
v San Franciscu.
Če letim v Austin, letim Austin, Phoenix, San Francisco.
In zdaj imam drevo.
To je popolna drevo.
To je vse o možnostih in vse poti, ki lahko vzamem.
To je, če sem začeti izvajati Koren drevesa na vrhu
in sem dol enem izmed pusti, da mi pove, ne samo
kjer bom končajo, San Francisco,
ampak to mi pove pot, ki Moram vzeti do tja.
>> Zdaj, kar je eden od teh je najboljši?
No, nič o tem problem še mi pove
kateri od teh je najboljša rešitev.
Mogoče mi vseeno najbolj pa koliko časa sem v zraku,
ali je razdalja, ki sem jaz letenja.
V tem primeru, Chicago San Francisco lahko najkrajša število
kilometrov v zraku.
>> Mogoče mi je mar stroškov.
In vsi vemo, direktnih letov so ponavadi dražji.
Mogoče, če vzamem to vrsta zavoljo poti
skozi Miami, Nashville, Austin, Phoenix, morda pa
Sem dobil nižjo ceno.
Ampak jaz bi optimizirali na kateri koli Kriteriji, ki me skrbi.
Kdo ima najboljši v polet Wi-Fi, ali ki
Letališča imajo na voljo najboljša hrana.
In vsak izmed tistih morda daj mi drugačno rešitev
da vidim, kot da so najboljši.
>> Te vrste težav, kam gremo
zgraditi ta drevo Možnosti, nato
pogled na vsako od tistih posamezne poti, in preučiti
kateri od teh izpolnjuje merilo za nas,
bomo, da pokličete ti iskanju težave.
In imamo veliko algoritmi, od katerih so nekatere
smo že videli, da gredo in raziskovanje teh dreves.
Mi lahko to storite tako, da sem pravkar storil, po globini najprej iskanje,
Padamo kolikor smo lahko, dokler ne bomo hit list, nato pa prihaja nazaj gor,
in gredo nazaj dol.
Ali lahko naredimo, kar je imenuje širina-prvi iskanja.
Mi lahko razširi vse Na vrhu in nato
Vse ena vrstica Pod to, in nato
Vse ena vrstica pod to.
Ti iskalna drevesa so temeljnega pomena za AI.
Ampak oni ne čisto dobili prav ves čas.
Dejstvo je, v veliko primerih da smo res skrbi,
želimo zgraditi drevo, vendar ne bomo dejansko
dobili, da bi vse odločitve.
>> To so situacije, imenovane kontradiktornost iskanje, znan tudi
kako napisati igre igranje sistemi in plačani za to.
Toda to so vrste sistemov, kjer sem
morda dobili, da izberejo, ko sem šel iz Boston, ki je mesto grem zraven.
Ampak po tem, lahko nekdo drug dobil da bi odločitev o tem, kje letim.
Torej, za izgradnjo teh vrst struktur, smo
bodo morali vzeti nekoliko drugačen pristop k njej.
Mi ne bomo mogli samo iskanje po drevesu
več, ker nismo tista, ki je pod nadzorom
vsakega od teh točkah odločanja.
>> Torej, kaj je zamisliti preprost igra kot tic-tac-toe.
Jaz bi lahko začeli z popolnoma prazno, board.
In v tic-tac-toe, X bo igral prvi.
In tako bi lahko razmišljam o vsem možne poteze, da bi X narediti.
In če sem tista igranje X, da je super.
Imam devet možnih premakne, da sem lahko.
Lahko bi dal znak X v kateremkoli teh devetih pozicij.
>> In potem iz vsake od tistih, ki sem lahko predstavljate, kaj se bo zgodilo.
No, v tem primeru drugi Igralec bi dobili, da se obrnejo.
O bi dobili, da se obrnejo.
In iz vsakega od tistih, tam bi bilo osem različnih krajih
da O lahko dajo svoje označevalec.
>> Recimo, da sem se odločil, da sem bil bo dal X v sredini.
Ki vedno zdi, kot dobra odpiranje poteza.
Jaz bi poglej pod tem, da je Osem možne poteze, da O naredi.
Zdaj, če igram X, to je čudovito.
Sem dobil, da izberejo eno, ki I iti, eno v sredini.
Toda zdaj O dobi izbrati.
In nimam nadzora nad to odločitvijo.
>> Toda iz vsakega od tistih Možni položaji deska,
tam je potem drugo niz možnosti.
Ko gre za biti bo moja spet obrnejo, jaz bi
priti do kramp in rekel, dobro, če O preseli v dobro,
srednja točka na levi strani, nato pa Moram niz možnosti
kjer sem lahko svojo naslednjo potezo.
Od tistih, ki bi po mojem mnenju vse možnosti pod njimi.
In potem bi O zaslužiti da izberejo med tistimi.
>> In sem lahko vodijo izgradnjo tega drevo ven, dokler nisem prišel do točke
kjer je bodisi nekdo zmaga game--, ki je
dobil jih je treba obravnavati kot leaf node-- ali svet je povsem polna
in nihče ni zmagal.
In to tudi dogaja, da se Vozel.
To se dogaja, da je kravata.
>> Ampak težavno stvar pri tem je, če bi bilo to le redna iskanje
problem, sem lahko recimo, dobro, X morala iti tukaj.
In O mora iti pot tja.
In potem bi X iti tja.
In potem bi O iti pot tja.
In potem lahko X dobili tri zapored, in sem zmagal.
In pa igra preko v petih potezah, tri za mene,
dva za mojega nasprotnika.
Ampak jaz ne vedno dobili, da izberejo, da.
>> Torej, namesto, kaj smo bodo morali storiti
se bomo morali da imajo novo strategijo.
In strategija, ki Igra-igranje algoritmi pogosto uporabljajo
je tisto, kar se imenuje minimax.
Osrednja ideja minimax je, da smo
dogaja, da izberete potezo, ki daje naš nasprotnik najslabša možna set
od premika, ki jih lahko naredite.
To se mi ne naredi nič dobrega izbrati potezo kjer
Jaz bi mogli zmagati po da, ker je moj nasprotnik ni
dogaja, da mi to priložnost.
Ti boš, da izberejo nekaj grozno izid zame.
Torej grem, da bi premakniti, da prisili mojega nasprotnika
storiti nekaj boljšega za mene.
V redu.
Poglejmo, kako se to igra ven.
Torej, tukaj je naš algoritem v psevdokoda.
Mi bomo za ustvarjanje Celotna igra drevo.
Mi bomo za izgradnjo Celotna konstrukcija.
In potem bomo šli skozi.
In na samem dnu na vsakem od terminala vozlišč, v vsakem izmed listov,
bomo oceniti, kako dragoceno je, da je z mano?
In bomo stvari vrednostjo, ki so dobro zame kot pozitiven.
Stvari, ki jih ni dobro za mene bo manj pozitiven, ali nič,
ali celo negativna.
>> Torej v tic-tac-toe, morda zmaga zame je dober.
To je eno.
In kravato je nič.
In nekaj, kar je izguba mi, morda, da je negativna.
Vse, kar je pomembno, je, da je bolje to je za mene, višja je ocena
ki jih prejme.
Od teh možnosti na dno, potem bomo filter navzgor.
In ko je moja priložnost, da izberejo med nizom alternativ,
Bom izbrati tistega, ki je dobil najvišjo oceno.
>> In vsakič, ko je moja nasprotniki obrniti, da izberejo,
Bom Predvidevam, da boš izberite tistega z najnižjo oceno.
In če to naredim vso pot do vrha drevesa,
Sem bom izbral pot, ki daje me je najboljši rezultat, da lahko dobim,
ob predpostavki, da je moj nasprotnik naredi vse prave poteze.
>> Vse je v redu, tako da je videti to dejanje prvi.
In potem bomo dejansko poglej kodo za njo.
Torej, zamisliti imam to veliko drevo.
In zdaj ne igram tic-tac-toe.
Želel sem, da bi vas nekaj malo bogatejši.
Torej imam nekaj igra, kjer tam je veliko različnih rezultati
da bi lahko imeli na koncu.
In tako sem zgraditi to popolno drevo.
In sem dobil, da najprej premakniti.
Jaz sem pri korenu drevesa.
>> In sem dobil, da izberejo that-- da dobim povečati čez to prvo vozlišče.
In potem moj nasprotnik dobi iti.
In potem sem dobil, da gredo še enkrat.
Torej navzdol na dnu, da ima niz Možnosti, da lahko izbirate,
Različne države igre terminal.
Če sem dol, da daleč levem kotu,
in vidim, da imam na izbiro med osem, sedem, in dva,
no, jaz sem tisti, ki dobi izbrati.
Tako da bom, da izberejo Najbolj ena od teh.
Grem izbrati osem.
>> Zato vem, da če bom kdaj dol do te točke,
Bom lahko dobili, da je osem točk.
Če sem na koncu na naslednjo točko več, naslednje vozlišče konec,
devet, ena ali šest, no, jaz sem bo izbrati najboljše tiste.
Bom izbrali devet.
Če bi imeli možnost izbire med dve, štiri, in enim,
Bom izbrali štiri, kar je najvišja.
>> Zdaj, če gledam na ravni zgoraj, da je moj nasprotnik
je eden dobi, da bi to odločitev.
Torej, moj nasprotnik dobi izbrali, ne želim, da bi mu
stvar, ki se dogaja spraviti osem točk,
ali pa sem mu dal stvar, ki je dogaja, da mu je devet točk,
ali stvar, ki se dogaja da mu štiri točke?
In moj nasprotnik, pri čemer racionalno, se dogaja
izbrati najmanj tistim, se dogaja, da izberejo štiri.
>> In to lahko storim skozi celotno drevo.
Lahko grem navzdol, da srednji sklop treh.
In jaz lahko izbirajo med ena, tri in pet.
In sem dobil, da izberejo.
Torej, sem se odločil za pet.
Ne morem izbrati tri, devet, ali dva.
Sem dobil, da izberejo, tako da sem se odločil za devet.
Šest, pet, ali dva, sem se odločil.
Dobim izbrati šest.
Stopnja zgoraj, da kdo dobi izbrati?
Kdo dobi izbrati?
Drugi tip, moj nasprotnik.
Tako so izbrali pet, devet, ali šest, ki je ena?
>> OBČINSTVO: Pet.
>> SPEAKER: So izbrali pet.
Oni dobijo izbrati minimum.
In potem je zadnja, izbere enega, dva ali tri.
Sem dobil, da izberejo, tako da sem se odločil tri.
Devet, sedem ali dva, sem se odločil, devet.
In 11, šest ali štiri, sem izbral 11.
Moj nasprotnik potem izbere tri, devet ali 11, izbere minimum.
On mi daje tri.
In nato končno na vrhu drevo, dobim spet izbrali.
In sem dobil, da izberejo med štiri, pet ali tri.
Torej vzamem pet.
>> Če bom dobil nadzor nad vsem, sem ubrati pot, ki je vodila do 11.
Ampak jaz ne razumem, da bi to odločitev.
Če grem dol tej poti.
Moj nasprotnik me bodo prisilili v izbira, ki vodi do tri.
Zato je najbolje, da sem lahko naredil je, sprejeti to srednji vejo,
bi to izbiro, ki je na koncu dogaja, da me pripelje do petih točk.
To je tisto, minimax počne.
>> V redu.
Oglejmo pogled na to.
Torej, tukaj v CS50 IDE je program, ki
izvaja minimax igrati tic-tac-toe.
Mi bomo za izgradnjo up reprezentacije.
Bomo imeli dve opponent-- ali dva igralca, naš računalnik
Igralec in človeški igralec.
Številka igralec ena bo igral O. To bo stroj igralec.
So prišli do drugega premakniti.
In drugi igralec, naše človeški igralec, da ne bo X.
>> In da bi moje življenje malo preprosto, jaz grem
označevati, da igralca v negativnem.
Tako da sem lahko samo množijo s negativnega, da bi zamenjali
med enim igralcem in drugi.
Vse je v redu, tako da je lahko pogled na kaj smo dejansko storili.
Bomo opredeliti našo ploščo.
To se dogaja, da je dobro, da gremo da se omogoči, da je tri s tri,
ali mi lahko celo igrajo pet s pet ali sedem
za sedem tic-tac-toe, če bi podobno, ki temelji na neki razsežnosti D.
>> In bomo imeli par od pomožne funkcije
da bom naredil stvari, kot so inicializacijo screen-- ali žal,
inicializacijo naše spremenljivke, počistite zaslon, potegnite ploščo na zaslonu,
tisti, ki preverja krovu da vidite, ali ne
tam je zmagovalec tisti, ki razčleni skozi ukazno vrstico,
samo pomagati, tisto, ki je zapisano v vhod in ena funkcija imenuje minimax.
In to je eden bomo mar najbolj všeč.
Toda poglejmo najprej na glavni.
>> Kaj počnemo?
No, bomo razčleniti našo ukazno vrstico,
samo brati in videti, kaj dimenzija svet bi radi imeli.
Bomo inicializacijo našo ploščo.
In potem bomo vnesti eno big wild zanka, večkrat
sprejeti poteze, dokler se igra zmagal, ali pa je ni premika levo.
Vsakič, ko gremo skozi to zanka, bomo počistiti zaslon.
Mi bomo pripraviti ploščo na zaslonu.
In smo namenoma nekako abstrahiranje to stran kot podprogram,
tako da nam ni treba skrbeti preveč o podrobnostih, kako se zgodi.
>> Boste morali kodo kasneje danes.
In če hočeš gledati skozi in izvedeli, da jih vsi vidimo.
Ampak bomo pripraviti desko na zaslonu.
In potem bomo preveri in glej, imamo zmagovalca?
Je nekdo zmagal to igro?
Če imajo, bomo natisnete ven zmaga sporočila.
In bomo končate igro.
>> Bomo tudi preveriti in vidim, če je kravata.
To bo enostavno, da vidim, če obstaja kravato.
To pomeni, da so vsi prostori polni, vendar ni bilo še zmagovalec.
Mi lahko razglasi kravato in bi morali narediti.
Potem je pravi meat-- če to je stroj predvajalnik,
bomo dovolijo, da Stroj igralec iskanje
z uporabo te Minimax algoritem, najti najboljšo potezo, da je to mogoče.
In potem bomo dal to move up.
>> V nasprotnem primeru, če je človek igralec, bomo prebrali nekaj prispevek človeka.
In potem, ali je človeško igralec ali stroj predvajalnik,
bomo naredili nekaj malo bitov preverjanje napak,
poskrbite, da ostane znotraj meja dejanskih razsežnosti plošče
da imamo, se prepričajte, da je ta prostor prazen,
da nihče dal kos tam že.
In potem bomo samo dal kos na krovu,
zamenjati igralca na naslednjo plast, in prirastek koliko potez je zgodilo.
>> To je glavna zanka za naša tic-tac-toe igro.
Minimax, potem je točno algoritem, ki smo prej.
Edina prilagoditev, ki smo naredili tako, da smo
lahko igrajo višje dimenzionalni plošče je, ki smo jih
hrani ta dodatni parameter, imenovano globino.
In globino samo pravi, če sem iskanje navzdol skozi drevesa
in sem dobil tako daleč navzdol onkraj neke globine ravni
da jaz samo ne želim da gredo vse nadaljnje,
Bom ustaviti in samo oceniti ploščo na tej točki.
Bom preverite in videli, če je zmagovalec.
Če je zmagovalec, sem jih vrnil.
V nasprotnem primeru bom šel skozi zanko.
In bom rekel, za vse možne lokacije
da sem lahko morebiti vzemite mojo potezo, bom
zgraditi hipotetično ploščo, ki vključuje mojo potezo na tej ladji,
nato pa rekurzivno klice Minimax.
>> Če je moja poteza, sem dobil, da bi našli tisti, ki je dobil največje število točk.
Če je moj nasprotnik poteza, smo ugotovili, tisti, ki je dobil najnižjo oceno.
In vse ostalo je Samo vodenje evidence.
Vse je v redu, tako da je videti to tek.
Pravzaprav, morda bomo lahko dobili nekaj prostovoljcev
da pridejo gor in igrati tic-tac-toe.
[Neslišno] ena, in ena več, dva, prav tam.
Pridi gor.
>> Torej, gremo naprej in zagnati to popolnoma.
Torej, hi.
>> OBČINSTVO: Zdravo.
>> SPEAKER: Kako ti je ime?
>> OBČINSTVO: Gorav.
SPEAKER: Gorav.
>> OBČINSTVO: Jaz sem Layla.
>> SPEAKER: In Layla, in Layla, žal.
Pridi gor.
Gorav, bomo imeli greš prvi.
In bom, da vas prosim, da je ne strašno dobra tic-tac-toe igralec.
OK, tako da vse je pritisk off na vas.
Poglejmo, čeprav je, da naš stroj Igralec lahko dejansko naredi nekaj pametnega.
Torej, pojdi naprej.
Ti boš, da tip v katerem usklajujejo bi želeli, da vaš X v.
A0, OK, in stroj je šel desno stran in dal svoj pečat v A1.
>> Postavite O na krovu.
Vse je v redu, zdaj gremo naprej.
Kam želite iti?
C2.
Naš stroj Igralec je sprejela srednji kvadratni, blokiran vas.
Tako, da je bila dobra, pametna stvar za to narediti.
Ste ga blokirali.
To je odlično.
To traja kotu tam.
>> In to se dogaja, da te prisili, da vzemite eno zadnji prostor, B0.
In igra se konča s kravato.
Vendar je igral razumno Igra proti tebi, kajne?
V redu, hvala lepa, Gorav.
>> [Aplavz]
>> Vredu, Layla, greva gor igre za vas tukaj.
>> OBČINSTVO: Oh, super.
>> SPEAKER: bomo dati vam štiri štiri tic-tac-toe.
Zdaj, v štirih s štiri, moraš zmagati s štirimi zapored, ne tri zapored.
In to je vse tvoje.
Torej Layla je D1.
Mi smo zdaj dogaja, da sledite naš računalnik player tukaj.
Tri za tri tic-tac-toe je vrsta stvar, ki je enostaven za vse nas.
Ampak to je še vedno lepo videti Računalnik igralec izdelavo pametne poteze.
Štiri za štiri dobi bo malo težje.
>> Lepo opravljeno.
Vse je v redu, tako da Layla je zaključil.
Oh, in mi bi morali tam končal.
Ampak kaj je naredil še en tu gor.
Torej Layla, hvala.
Lepo opravljeno.
>> [Aplavz]
>> Torej naša tic-tac-toe igralec gre skozi in najde lokacije,
rešuje njihovo uporabo tega Minimax.
In sem imel nastavitev globine na to, da ji
ne bi bilo teči prehitro, kar je verjetno, zakaj
Layla mogel iti lepo naprej kot ona, in naredil zelo dobro.
Ampak ti sistemi, ki so pravkar iti skozi in silo
globlje in globlje in globlje, in obdržati iskanju rešitev
ki jih potrebujejo, tiste vrste sistemov so precej uspešni pri njih, tudi,
standardne družabne igre.
>> In v resnici, če pogledamo tri za tri tic-tac-toe igro,
to je v bistvu rešen problem.
In to je čudovit diagram od Randall Munroe na Xkcd,
Prikazovanje, ki premikajo bi smeli sprejeti, ker vaš nasprotnik je poteze.
To je nekaj, kar smo lahko enostavno določiti vnaprej.
Toda kaj se zgodi, ko pridemo do bolj kompleksne igre, bolj zapletena igre,
kjer obstajajo Večje deske več, možnosti, globlje strategija?
>> Izkazalo se je, da je to silo iščejo vedno
pa razmeroma dobro, razen ko prideš do točke,
če to drevo je tako velika, da ga vse ne more predstavljati.
Ko ne more izračunati celotno drevo, ko ne more iti naprej in potisnite
sami do točke, kjer youve gotten celotno drevo v spomin,
ali pa ga lahko dobite v spomin in da bo samo
vzemite si preveč časa, da iskanje po to, kar morate storiti nekaj pametnejši.
>> Da za to, vas morali narediti dve stvari.
Najprej moraš najti nekaj način omejevanja svoje globine.
No, to je v redu.
Mi lahko našli nekaj lepo, najnujnejše in pravijo, greš lahko samo tako globoko.
Toda ko to storite, da vam pomeni so te delno nepopolnih plošč.
In boste morali izbrati, ali mi je všeč To delno nepopolna krovu,
ali je to delno nepopolni svet?
>> In na naših štirih, ki jih štiri tic-tac-toe igro,
naš računalnik igralec dobil dol do dna in je rekel,
Imam dva različna desk.
Niti ena zmaga.
Niti eden je izguba.
Niti eden je kravata.
Kako izbrati med njimi?
In to niso imeli pameten način za početje to.
>> Vidimo te vrste vrednotenje zgodi ves čas
kot smo dobili v bolj kompleksne igre.
Šah je odličen primer.
V šahu, moramo najprej vse, večji svet.
Imamo veliko več kosov.
In pozicioniranje teh kosov in način, da ti kosi premikanje
je izredno pomembno.
Torej, če želim uporabljati Minimax, Moram biti sposobni določiti
in reči, ta svet, kjer nihče ni zmagal ali izgubil še,
je nekako bolje kot ta drugi svet, kjer nihče ni zmagal ali izgubil.
>> Da bi to dosegli, bi jaz Stvari, kot so morda sem
preštejte, koliko kosov imam in koliko kosov imate?
Ali lahko dam drugačen kosov različnih točk.
Moja kraljica je vredna 20 točk.
Vaš kmet je vredno eno točko.
Kdo ima več točk skupaj?
Ali bi se mi zdi stvari všeč, ki je dobil boljši položaj plošče?
Čigava je na vrsti je naslednji, vse, kar sem lahko
ne da bi natančneje oceniti katera od teh možnosti
Bolje je, ne da bi izčrpno upoštevamo
vsaka poteza, ki bi lahko prišel po tem.
>> Zdaj pa, da bi to delo, ena od stvari, ki je
bo postala zares pomembno za nas ni samo premika naravnost
navzdol na določeno globino meja, vendar bi mogli reči,
ena izmed teh idej, ki sem imajo tako slab, da je
ni vredno razmisliti vseh možnih načinov
da lahko gredo stvari iz slabega na slabše.
Da bi to dosegli, bomo dodali v MINIMAX načelo, imenovano -alfa-beta.
In alfa-beta pravi, če imate slabo idejo,
ne zapravljajo svoj čas težaven izvedeti točno, kako slabo je.
>> Torej, tukaj je, kaj bomo storili.
Bomo vzeli enako načela, ki smo jih imeli prej,
enako minimaks tip iskanja, le da smo
gre slediti, ne le od dejanske vrednosti, ki jih imamo, vendar bomo
spremljate najboljša možna vrednost, da sem lahko dobil,
in najslabša možna Rezultat bi lahko imeli.
In kadarkoli najslabša možna stvar je videti verjetno,
Bom opusti ta del drevesa.
In ne bom niti trudile gledaš na to anymore.
>> Vse je v redu, tako da si predstavljam, da začnemo s to isto točno igre drevesa.
In zdaj smo šli spet navzdol, vso pot navzdol
na tem spodnjem levem kotu.
In v tem spodnjem levem kotu, smo poglej in ocenjujemo ta odbor.
Mogoče je štiri s štirimi tic-tac-toe krovu, ali morda je šahovnici.
Ampak gledamo na to, in ocenjujemo to, in smo dobili vrednost osem.
>> Takrat smo vedeli, da bomo dobili vsaj
osem točk od tega dna odločbe.
Ni važno, kaj drugi dva, da sedem in da sta dve.
Ti so lahko vse vrednosti so želeli biti.
Bomo dobili na Najmanj osem točk.
Vse je v redu, vendar pa smo lahko pojdi naprej in preverite.
Morda eden od njiju je boljši od osmih.
>> Gledamo na sedem.
Je, da je bolje kot osem?
Ne, to ne spremeni naše mnenje sploh.
Gledamo na dveh.
Je, da je bolje kot osem?
Ne, to ne spremeni naše mnenje sploh.
Zdaj vemo, da smo izčrpali vse možnosti tam.
Ne bomo dobili kaj boljši od osmih.
Bomo dobili natanko osem.
>> In tako smo spremenili to vozlišče in recimo, da je zdaj gotovost.
Gremo eno stopnjo nad tem.
In zdaj vemo, kaj o tej ravni minimalizacije.
Vemo, da nikoli ne bo dobil več kot osem točk, če gremo dol
da smer.
Ker tudi če tisti, drugi dve veji izkažejo
bi bilo fantastično in vredno tisoče točk vsakega,
naš nasprotnik nam bo dala minimum, in nam dal osem.
Vse je v redu, no, pa poglejmo.
Bomo nadaljuj po tej poti.
Gremo dol k tej sredini na levi strani.
Gledamo navzdol in vidimo, da je devet.
Vemo, da bomo dobili najmanj devet točk, ki jih bo dol
da Middle Road.
In na tej točki, lahko samo pavza.
In lahko rečemo, poglej sem vem v stopnji zgoraj,
Jaz grem, da bi dobili več kot osem poudarja, da greste dol to smer.
Ampak, če sem šel po sredi Pot namesto leve poti,
Rad bi dobil vsaj devet točk.
>> Moj nasprotnik nikoli ne bo mi dol to srednjo pot.
Dobijo izbrati.
In oni 'tekoč, da izberejo Pot levo proti osem,
namesto po sredini smeri kaj je vsaj devet točk.
Torej, na tej točki, bom ustavil.
In bom rekel, veste kaj?
Nimam pogledati koli več določenimi v tej smeri.
Ker sem ne bo nikoli prišel tja.
>> Lahko preskočite nad tem enem, in sem lahko preskočite nad tem šest,
ker to nikoli ne bo zgodilo.
Torej, jaz bom šel dol in bom menijo, naslednjo možnost.
Grem tja in rečem, vidim dva.
Vem, da če dobim tukaj, sem bo dobil vsaj dva.
V REDU.
Jaz nadaljujem.
Vidim štiri.
Vem, da bom dobil vsaj štiri.
Še vedno je veliko med štiri in osem, čeprav.
Tako sem nadaljuj.
Sem pogledal dol in vidim, da je eden.
Dobro, vem, če Sem šel po tej poti,
Jaz grem, da bi lahko izbrali štiri.
Kaj je moj nasprotnik bo naredil?
Med nekaj, kar mi daje osem, nekaj, kar mi daje štiri,
in nekaj, kar mi daje vsaj devet,
No, on se dogaja, da mi štirje.
In vem, zdaj v zelo top, jaz grem
bi lahko dobili vsaj štiri točke od te igre.
>> Celotna ideja alfa-beta je, da bi prekinil deli drevesa tako
da ne gledam na njih več.
Ampak to še vedno izgleda kot da sem bil gledaš veliko drevo.
Naj nadaljujem navzdol.
Bomo šli dol naslednjo zdaj.
Dol na dnu, sem našel enega.
Vem, da bom dobil vsaj enega.
Držim videti.
>> Sem našel tri.
Vem, da bom dobil vsaj tri.
Jaz nadaljujem.
Sem našel pet.
Vem, da bom dobil pet če pridem dol na tej poti.
In tudi vem, potem da mojega nasprotnika, če I
izberejo sredi tri velike izbire,
on se dogaja, da bi me nekaj, kar je pet ali manj.
>> V REDU.
Lahko nadaljujem tam.
Sem lahko pogledal dol in jaz Lahko rečem, kaj bom
da bi dobili, če grem dol po srednji poti?
Jaz grem, da bi dobili, dobro, tri tam.
Jaz grem, da bi dobili nekaj da je vsaj tri.
Še vedno se stvari med tri in pet, tako da sem iščite naprej.
Oh, devet, bom definitivno sprejeti, da več kot tri.
Jaz grem, da bi dobili vsaj devet če grem dol, da je srednja pot.
>> Zdaj pa moj nasprotnik ustavi in ​​reče: poglej, nima smisla več.
Vem, da je moj zmanjševanjem nasprotnik, on je
dogaja, da mi je stvar, ki je manjša ali enaka pet,
namesto stvar, ki je večja ali enaka devet.
Neham.
Ne gledam več na to.
Jaz nadaljujem.
>> Sem pogledal dol na to.
Do dna, sem našel šest.
Vem, da bom dobil vsaj šest.
In kaj lahko storim?
Ne morem ustaviti.
Zato, ker je izbira med nekaj, kar je vsaj šest
in nekaj, kar je manj kot pet, on je
dogaja, da mi stvar To je manj kot pet.
In zdaj vem, da bom da bi dobili točno to izbiro.
Jaz grem, da bi dobili, da je pet izbiro.
>> Grem nazaj do vrha.
Katerih bom izbirate med nekaj
to je enako ali večje od štiri, ali nekaj, kar je enako petim?
Bom vzeti nekaj to je najmanj pet.
Grem dol zadnjo pot, vsi tja do dna.
Tam je ena.
OK, vsaj jaz bom dobil eno točko.
Jaz nadaljujem.
Dva, oh, da je bolje kot ena.
Jaz grem, da bi dobili vsaj dva.
Sem našel tri.
Vem, da bom dobil tri.
>> In točko zgoraj, da moj nasprotnik se dogaja
da mi nekaj, kar je manjša ali enaka tri.
In zdaj ne morem ustaviti.
Ker v izbira med mano pa lahko dobili pet in mojega nasprotnika
mi dali nekaj manj kot tri, Jaz sem vedno dogaja, da to pet.
Torej, jaz ne ocenila, da Spodnji del drevesa sploh.
>> Zdaj lahko to zdi manjše.
Toda, ko malo bitov aritmetike, večja od in manjša
more odrezati cele dele to eksponentno raste drevo,
ki vodi do ogromne znesek prihrankov, prihrankov
da so dovolj velike, da sem lahko začnete igrati konkurenčno
na bolj zahtevnih iger.
>> Vse je v redu, če pogledamo velikost in kompleksnost različnih iger,
tic-tac-toe je bil naš enostaven primer.
Imamo majhno desko, tri s tri.
Smo dobili kvečjemu povprečno približno štiri različne možnosti
ko gremo skozi igro.
Imamo nekje okoli 10 do peti možne različne liste.
In izgradnja tic-tac-toe igralec, dobro, smo pravkar storil.
To je enostavno.
>> Če gremo do nekaj več kompleksna, kot Connect Four.
Se spomnite to igro, kjer ti spusti malo žetonov v?
To je šest jih sedem board, ne, da je veliko večji, še vedno
ima približno enako razvejane faktor, kot tic-tac-toe.
Imam približno štiri izbire kjer sem lahko postavite stvari.
Toda zdaj, imam veliko več vodi, od 10 do 21. oblasti.
To je nekaj, kar je enostavno Dovolj, da smo ga rešili takoj.
>> Dama, bolj vas complex-- dobil osem osem krovu.
Vi ste le na polovici jim ob vsakem času, čeprav.
Imaš razvejane dejavnik, ki je približno 2,8.
No, imamo nekaj premakne ste lahko.
Imaš okoli 10 do 31. listov, večje in večje in večje prostore.
Kot sem moral iskati prek ti večji in večji prostori,
da je, ko stvari, kot so alfa-beta in bi mogli odrezati celotne panoge
ključnega pomena.
>> Zdaj, dama je bila dovolj preprosta leta 1992.
Računalniški program, imenovan Chinook premagati svetovno dama
prvak, Marion Tinsley.
In od takrat, ni človeški mojster igralec ima
bila sposobna premagati najboljše računski sistemi.
Če pogledamo nekaj podobnega šahu, ki je zdaj spet imamo osem osem krovu.
Vendar imamo veliko bolj zapletena kosov, veliko bolj kompleksna gibanja.
Imamo razvejenosti faktor okoli 35, 35 možne poteze v povprečju
da sem lahko, in državo Prostor, število listov
ki je zrasla za 10 na 123. moči, ogromno število možnosti.
>> Celo še, sodobne procesorje So sposobni to narediti uspešno.
V letu 1995 in nato v letu 1997, z računalnikom Program se imenuje Deep Blue, ki jih IBM zgradili
ki je potekal na velikanski superračunalnik premagati trenutne svetovni prvak,
Garry Kasparov.
To je bila prelomnica.
Danes, čeprav, da ista obdelava Moč sedi na mojem MacBook.
>> Hitrost obdelave ohranja dobili hitreje in hitreje.
Mi lahko oceni več deske hitreje in hitreje.
Toda še bolj pomembno, imamo boljše funkcije vrednotenja in bolje obrezovanje
metode.
Tako bomo lahko preiskovati prostor bolj kompleksno.
Največji uprave igre, ki jih lahko zamislite,
nekaj podobnega Go, ki je dobil 19 s 19 desko,
zdaj nenadoma, sva mimo točke kjer lahko računalniški sistemi za zmago.
Ni računalniška Sistem tam
da lahko premagaš strokovno Go predvajalnika.
Najboljši sistemi danes je čin o neke dobre ravni amaterskega.
Torej je še vedno zelo malo ven tam, da ne morete priti še.
>> V redu, to tradicionalne družabne igre,
te vrste sistemov, kjer smo zgraditi to Minimax, ali je pomisleku
alfa-beta ali ne, ti algoritmi delo saj obstajajo določene omejitve.
Imamo popoln informacije o svetu.
Vemo, kje so vsi koščki.
Svet je statična.
Nihče ne pride k premikanje kosov okoli, medtem ko sem
sedel tam razmišljanje, pri čemer sem jaz na vrsti.
Tam je prostor za dejanje, ki je diskretna.
Jaz lahko dam kmeta tukaj, ali bom lahko dal svoj kmeta tukaj.
Ne smem dati svoj kmeta na linija med dvema kvadratov.
>> In končno, dejanja so deterministični.
Vem, da če rečem, Trdnjava za viteza tri,
moja trdnjava se bo na koncu na viteza tri, dokler je veljavna poteza.
Ni negotovost o tem.
Zdaj, ko sem šel na več različne vrste iger,
moramo prekiniti te predpostavke.
>> Kaj pa, če grem za nekaj kot klasične video igre?
Tukaj je izbor video igre iz Atari 2600.
Kaj imam tam gor?
Imam Frogger, Space Zavojevalci, pasti, in Pac-Man.
Katere vrste okolij imam zdaj tukaj?
Kateri od teh predpostavk moram prekiniti?
>> No, odvisno od igre.
Jaz bi igral šah na 2600, in da bi bilo tako kot je bilo prej.
Za večino od teh sistemov, tam je popolno znanje o svetu.
Tam je popolnoma deterministični ukrepi.
Ampak ponavadi, na svetu ni več statična.
To je, ko sem sedel tam čaka, nekaj se premika.
Duhovi, ki prihajajo, da bi me dobili.
Škorpijon me sledi spodaj.
Space Invaders so prihajajo bližje in bližje.
Kako dobro lahko storimo zoper to?
>> Pred nekaj leti, Google je projekt, ki se imenuje
DeepMind, kjer so usposobljeni računalnik Program za igranje Atari 2600 iger.
In če mislite, da to ni resna poslovni rezultati njihovega študija
so bili objavljeni v reviji Nature, tako skoraj tako dobra objava
kot si lahko morda dobite.
In tukaj je, kako dobro so opravili.
>> Imajo algoritem, ki sedijo in gledal samo vhode zaslon.
Pomisleku nobenih navodil whatsoever o pravilih igre.
In je bilo predvideno, da ugotovimo, temelji na svojo oceno, kako dobro je delal.
To je bil sistem, ki uporablja nekaj imenuje okrepitev učenja.
To pomeni, da je bilo videti na rezultat.
In če imaš dober rezultat, je dejal, Naj spomnim te stvari.
In naj storim tiste znova.
In če je dobil slabo oceno, je dejal, Jaz ne bi še enkrat te stvari.
>> To je predstava teh usposobljenih sistemov
dovoljeno, da igrajo za Nekaj ​​ur za vsako igro,
primerjajo profesionalne igralce.
Torej za vse igre, ki so na levi strani te linije,
to self-usposobljeni računalniški program prekosila strokovne zabava.
In za vse, kar je desno, poklicni igralci
so še vedno najboljši.
Za nekaj, kar je vedel, nič o pravilih, ki
vedel ničesar o strukturi igre, to je impresivna predstava.
In to je tisto, kar smo sposobni storiti danes.
>> OK, si rečem, če pa pomislite AI v igrah,
običajno razmišljamo o stvari, da bomo lahko dejansko
usedem in igrati proti.
Če sem se usesti in igram StarCraft, ali igram brezplačno sito,
računalnik nasprotnik je oseba, ki nadzoruje Zerg,
ali nadzor druge civilizacije.
Kako ti igralci dejansko našli svoje poteze?
>> No, te igre so strukturirane skoraj enak način, kot je naše družabne igre,
te igre, da bomo skupaj pokličite štiri X igre,
raziskati, expand-- pozabiti tiste.
Kaj so oni?
Raziščite, razširiti in pogasiti, Mislim, da je zadnji.
Ampak oni so v bistvu raziskovanje in vladaj igre.
Značilno je, da računalnik nasprotnik tam ima omejene informacije.
Oni ne vedo, kaj je dogaja za ta megla vojne.
Ne dobijo, da vidite, kaj imate v vašem inventarja.
>> Tam je okolje, ki je dinamičen.
Vse se spreminja ves čas.
Ne boste dobili, da bi sedel in čakam, da bo vaš korak.
Vendar je večina stvari, ki so še vedno diskretna.
Moram dal moje mesto tukaj.
Ali moram dati moje mesto tukaj.
In vse je deterministična.
Ko rečem, premakniti mojo enoto sem, moj enoto premakne tukaj, če oviro nenadoma
prihaja v igro.
Zdaj pa, da še ni vse računalnik igre, ki so tam danes.
>> Če grem in sem igral prva oseba tip igre, nekaj takega kot tat ali Fallout
ali Skyrim ali halo, zdaj Imam računalniške nasprotnike
da so tam, da imajo zelo drugačen položaj.
Imajo spet omejene informacije.
So le lahko videli gotovo vidno polje.
Okolje je še vedno dinamičen.
Stvari se ves čas spreminjajo.
>> Ampak zdaj imam še veliko več neprekinjeno delovanje prostor.
Jaz lahko samo kukanja malo ven iz vrata.
In nekaj iger, moj dejanja so stohastične.
Sem dobil, da bi poskušali skočiti čez zid, ampak imam možnost, da ni.
Te vrste iger so bližje in bližje vrste krmilnikov
da gradimo v robotiki.
>> Robotike, moramo domnevati, da imamo omejene informacije.
Imamo senzorje, ki povej nam o svetu.
Imamo vedno menjava, dinamično okolje.
Imamo svet, v katerem je prostor neprekinjen namesto diskretna.
In naša dejanja, ko skušamo njih, imajo možnost, da ni.
In v resnici, sodobna igra krmilniki za vaše Halo nasprotnika,
ali za tiste NPC v Skyrim, v bistvu teči majhne robotika arhitektur.
>> Čutijo svet.
Zgradijo model svetu.
So Compute temelji na nizu cilji, ki bi jih radi dosegli.
Načrtujejo dejavnosti, ki temeljijo o tem, kaj vedo.
In to so natanko iste vrste sistemov, ki jih gradijo v robotiki.
Torej te arhitekture, da bi to nazaj skupaj,
so pogosto precej enake.
>> Torej, da vidimo, če vidimo, da.
Vrnimo se k naši tic-tac-toe primer.
In jaz bom prosil nekaj mojih post-docs, da pridejo gor in mi pomagaj.
Torej Chen Ming in Alessandro, in Olivier, če bi vi prišli.
In bom potreboval Nekaj ​​prostovoljcev
>> OK, sem videl roko pravice tam v sredini.
Naj bo ena več, nekdo dodatno v ozadju morda.
Vse je v redu, tam.
Pridi gor.
V redu.
Torej, vzemimo, da je pokrov dol.
In če bi vi prišli prav nazaj tukaj zame fantastično.
>> Torej je to robot imenovan Baxter.
In Baxter je robot, ki je poslovna platforma, ki je namenjen
z družbo, imenovano premisliti.
In to je robot zasnovan za proizvodnjo v manjšem obsegu.
Ampak danes bomo ga uporabljajo za igranje tic-tac-toe.
Zdaj, ta robot je tudi nekaj da je relativno edinstven.
Ker če bi bil jaz stal kjerkoli blizu standardni avtomatizaciji
sistem, sem se v samem grobu nevarnost, da se poškodujejo.
>> Baxter pa je zasnovan relativno varna za interakcijo z.
In tako sem lahko push na tej robota.
In lahko vidite, da je malo bit prilagodljivi, saj se premika okoli.
In sem ga lahko prestavite kjer bi rad, da bi šel.
Sedaj v normalni robotskim sistemom, želimo imeti niz sklepov tukaj
da bi neposredno odziva na ukaze pozicij.
In oni ne bi nujno nego če bi se premikajo skozi prostem
ali če so bili ti gibljejo skozi moje rebra.
>> V REDU.
In ponavadi, če ste bili tukaj z industrijskega sistema,
bi šel nikamor blizu njega.
Tam bo rumena varnostni trak vse okoli njega.
Ta sistem ima nekoliko drugačen dizajn
biti prijaznejši in lažje za ljudi, za interakcijo z,
s tem, da v vsakem spoju, da je vzmet.
In namesto krmiljenje natančen položaj,
kontroliramo določeno količino navor, določena količina sile,
da bi radi, da se na to pomlad.
Vse je v redu, zato mi dovolite, bi naše prostovoljce tukaj.
Živjo kako ti je ime?
>> OBČINSTVO: Louis.
>> SPEAKER: Louis.
Lepo te je videti.
In?
>> OBČINSTVO: David.
>> SPEAKER: David.
Me veseli.
Če bi vidva počakajte tukaj za sekundo,
Bom vam možnost, da to storijo.
Torej ta robot, če prideš gor in če nežno potisnite na njem,
boste videli, da se premika malo.
In če ga zgrabi desno Tukaj na zapestju samo
zgoraj, kjer so ti gumbi, jo Izgleda, morate zgrabi gumbe,
ampak zgrabi desno nad njim, namesto, boste lahko to zelo nežno manipulirati
skozi prostor.
Louis, si želijo, da ga poskusite?
Torej daj samo malo pritisnite, da začnete s.
In potem, če si dal prste tam in se držite z njim,
ker se bo premaknil za vas, potem.
Vredu, hočeš, da ga poskusite?
Pridi gor.
Torej daj samo nežen potisnite tam začeti.
Lahko se počutijo, kaj je to všeč.
In potem, če ga zgrabi tam, boste lahko za manevriranje okoli.
>> V REDU.
Torej tipično bi tovrstno robota se uporabljajo za majhno industrijskem merilu.
In bom premakniti roko samo dol s poti malo tukaj.
Ampak danes, bomo uporabljati Enako tic-tac-toe konkurenčni sistem
temelji na MINIMAX, da smo zgradili prej.
V REDU?
Torej, vidva sta vsak dogaja, da igrajo igro.
Louis, boš biti prvi.
Naj samo držite se za sekundo.
Jaz bom moral stojiš desno tukaj, samo zato, da lahko vsi vidimo.
Ali vidva ustanovila tu?
>> ROBOT: Pozdravljeni.
Igrajmo tic-tac-toe.
Ne razumejo figuro pred Pravim, da ste na vrsti.
Začnem igro.
To je moj na vrsti.
SPEAKER: Zdaj, če bi lahko eden od vaše kosov in gredo naprej in jo postavite.
ROBOT: To je vaša vrsti.
[Smeh]
To je moj na vrsti.
[Smeh]
Ste na vrsti.
SPEAKER: Človeška rasa je Računam na vas tukaj, Louis.
>> ROBOT: To je moja vrsti.
>> SPEAKER: Torej Baxter uspešno blokiral tukaj.
>> ROBOT: To je vaša vrsti.
To je moj na vrsti.
Ste na vrsti.
To je moj na vrsti.
SPEAKER: In bomo pustil Baxter dokončati svojo zadnjo potezo tukaj.
>> [Smeh]
>> ROBOT: To je kravata.
Bom zmagal naslednjič.
>> [Smeh]
>> SPEAKER: All right, hvala lepa, Louis.
Hvala.
Lahko greš v to smer.
>> ROBOT: začnem igro.
SPEAKER: Torej mi razloži za vas ena bolj malo
malo preden smo dobili našo revanš tukaj.
Kaj točno se dogaja?
Torej robot ima fotoaparat up top tukaj.
In to je strmela krovu.
In to je videti, ali da je dobil rdeč O ali modra
in beli X. Kot tiste dobil dani na odbor, ki je v bistvu enak vložek
da bi bilo branje v od naša podatkovna struktura iz naše zaslonu.
To je tekmovanje v teku isto minimax algoritem biti
mogli najti, kje postaviti dober žeton.
>> In potem smo daje ukaz o kjer bi radi žeton, ki se dajo.
Roka se premika ven.
To je s pomočjo vakuumskega prijemala za uporabo nekatere sesalna bil lesenega kosa,
to dvignili, ga premaknete v desno spot, in nato spustite sesanje
in ga spustite.
V redu, gremo da ga še eno priložnost
z nekoliko pametnejši predvajalnikom tukaj.
Ste pripravljeni?
Vse je v redu, če bi se izkazale desno navzgor tu in dati a-- izkažejo na ta način
tako da boste lahko videli vse.
In potem [neslišno].
>> ROBOT: To je moja vrsti.
>> SPEAKER: Baxter bo začelo.
Ste na vrsti.
To je moj na vrsti.
Ste na vrsti.
To je moj na vrsti.
>> [Smeh]
>> SPEAKER: [šepeta] Just naj mu gredo naprej in zmagati.
ROBOT: To je vaša vrsti.
SPEAKER: To je v redu.
>> ROBOT: To je moja vrsti.
>> [Smeh]
>> Zmagam.
>> [Smeh]
>> Začnem igro.
>> SPEAKER: Dobro, hvala lepa.
Vse je v redu, mislim, da imamo čas za ena odlična tic-tac-toe predvajalnik,
nekdo, ki lahko dal to stvar ujemajo, kdo ve, kaj počnejo.
>> [Smeh]
>> Kdo bo naš prvak tukaj?
Vse je v redu, vaši prijatelji vam javil.
To je dovolj dobro zame.
Spet Povej mi svoje ime.
OBČINSTVO: Tamir.
SPEAKER: Tamir, lepo vas je videti.
Vse je v redu, še enkrat, bomo, da vam dajo Pravica do tukaj, tako da lahko vsi vidijo.
Vi ste naš predstavnik V tej tekmi zdaj.
Baxter je ena in oh in oh.
Ali žal, ena oh in ena.
In to je odvisno od vas tukaj.
Baxter bo dobil najprej premakniti, čeprav.
So.
ROBOT: To je moja vrsti.
>> [Smeh]
>> Ste na vrsti.
To je moj na vrsti.
Ste na vrsti.
To je moj na vrsti.
Ste na vrsti.
>> [Smeh]
ROBOT: To je moja vrsti.
SPEAKER: To je veliko težje, ko stojiš tu, ljudje.
[Smeh]
ROBOT: Ti ljudje so tako enostavno premagati.
[Smeh in aplavz]
SPEAKER: Hvala lepa.
ROBOT: zmagam.
Začnem igro.
>> Govornik: V redu, hvala veliko Olivier, in Alessandro,
in Chen Ming.
>> [Aplavz]
>> Želim, da bi eno zadnjo točko.
Torej Baxter na samem konča tam, goljufal.
In to je bilo nepričakovano.
Eden od fantastično stvari o AI je, da smo
delati v AI, tako da lahko gradimo res zanimiva in inteligentna
naprav.
Ampak smo tudi to delo v AI saj nam pove nekaj
o tem, kako so ljudje inteligentni.
>> Eden od favorita Študije iz mojega laboratorija je
gledaš, kaj se zgodi, ko stroji nepričakovano goljufija.
To smo sprva ni storil z Baxter igrati tic-tac-toe,
vendar z manjšim robota z imenom Nao, ki je igral rock papir škarje.
In včasih, ko igrajo veliko in veliko
za vrtanje kamnin-papir-škarje igre, robot bi vrgel gesto,
izgubili, nato pa se nenadoma spremeni njegova gesta in reči, da sem zmagal.
>> [Smeh]
>> Zdaj, včasih sva tudi robota, tako kot je nadzor, vrgel gesto,
zmago, in spremenite svojo gesto izgubiti, vrgel tekmo,
goljufija, da bi izgubili.
In to še zdaleč ni tako prepričljiv.
Robot, ki goljufa da bi zmagal ljudi
odzove kot če je ven, da jih dobite, všeč
dejavno išče njihovo uničenje.
>> [Smeh]
>> To postane agent.
To je kot oseba.
To je prepričanje in namen.
In to ni dober namen.
In robot, ki vrže Igra je samo okvarjena.
To je samo pokvarjen naprava.
Naj vam pokažem nekaj primerov od tega je nekaj naših udeležencev.
Torej, tukaj je varanje, da bi izgubili.
>> [VIDEO PREDVAJANJE]
- [Neslišno] zmagali.
Igrajmo.
>> -Wait, Kaj?
>> - [Neslišno] zmagali.
Igrajmo.
>> [Neslišno] zmagali.
Igrajmo.
>> SPEAKER: In tukaj je varanje za zmago.
>> Ja, sem zmagal.
Igrajmo.
>> Saj ne more storiti.
>> [Smeh]
>> Ja, sem zmagal.
-Ti Goljufal.
Si goljufal zdaj.
>> Ja, sem zmagal.
>> Hej, si goljuf.
You goljufija, super goljufija.
>> [END PREDVAJANJE]
>> SPEAKER: Ti različni hitro reakcije
spremeniti naše dojemanje naprave.
Ali to pomeni, da smo namenoma graditi
stroji, ki varajo, ker to je najboljši inženiring, da lahko storimo?
Ne, vendar nam pove nekaj Res zanimivo, o ljudeh.
To je stvar, ki vas in goljufa ukrade vaše zmage, ki je
nekaj, kar je živ, da je animirati, da je ven, da boste dobili.
To je duševno stanje.
To je prepričanje.
To je namen.
>> To je stvar, ki je rokah Igra za vas, ki to ni.
To je samo v delovanju.
To je v mnogih pogledih, zakaj je enostavno vrgel igro z otroki.
Ampak, če jih boste poskušali goljufati in nekako trdijo zmago
ko, veš, samo da skrajša Igra, ki jih bomo ujeli takoj.
Te vrste učinkov, ki vidimo prihajajo iz AI,
so nam naučil veliko o sebi.
>> V redu, to je vse za danes.
Najlepša hvala za Davida in produkcijska ekipa Harvard
Za spušča.
>> [Aplavz]
>> Vidimo se za kviz eno, in potem za eno zadnje predavanje.
Imej lep dan.
>> [Aplavz]
>> [Predvaja glasba]
DAVID J Malan: No, bomo verjetno morali uvesti neke vrste šifriranja,
prav?
Ker potem se zaglavja te zahteve HTTP bo
umešana tako, da vsakdo poskuša vohanje vaš promet
dejansko ne bodo mogli videti.
Torej, kaj je rešitev za ta problem?
No, moramo dejansko uvesti šifriranje v formuli
tako, da kadar je ta oseba prenosa podatkov od A do B,
bomo lahko varno send--
>> [Smeh]
>> Informacije na način, da je nasprotnik ne more v resnici videti.