>> [Гуляе музыка]
>> Слухаць: Сардэчна запрашаем, кожны.
Гэта CS50.
І сёння, у нас ёсць шмат цікавыя рэчы, каб гаварыць аб.
Па-першае, хоць, я павінен нагадаць Вы з некалькіх адміністрацыйных рэчаў.
На гэтым тыдні віктарыны адным, серада або секцыі Yale
па аўторках і чацвяргах, у чацвер.
Ёсць водгукі віктарыны сёння ў Ельскім універсітэце, 05:30 да 07:00.
У Гарвардзе, яны запісалі адзін ўчора.
І кожны можа паглядзець, што ў Інтэрнэце.
>> Акрамя таго, на гэтым тыдні або ў пачатку наступнага тыдня, у нас ёсць наш апошні CS50 лекцыю.
[Стогны] я ведаю.
Ён прыйшоў так хутка.
Yale студэнты будуць мець жывы лекцыі тут, у юрыдычнай школе
Глядзельная зала ў пятніцу.
Там будзе торт.
Студэнтаў Гарварда будзе мець Апошняя лекцыя ў Сандэрс ў панядзелак.
Там таксама будзе торт.
>> Акрамя таго, на гэтым тыдні ў пятніцу, для тых, з вас, хто прыходзяць у Нью-Хейвен,
у нас ёсць CS50 Expo.
У нас ёсць больш чым 30 зарэгістравана розныя групы
каб паказаць вам усё, ад аўтаномных ветразных,
да сістэм, якія распазнаюць лічбавыя партрэты, на кампутар
музыкай і кампутарам вытворчасці музыкі.
Таму, калі ласка, далучайцеся да нас.
Я думаю, што гэта будзе выдатны час.
>> Сёння, аднак, мы атрымліваем працягваць казаць аб AI,
аб штучным інтэлекце.
І адна з рэчаў, якія мы збіраемся, каб дабрацца да сёння
ідэя аб тым, як выкарыстоўваць AI вырашаць праблемы.
Цяпер, як заўсёды, давайце пачнем з чаго-небудзь простага.
І мы збіраемся, каб пачаць з простай ідэі.
І гэта з дапамогай пошуку.
>> Такім чынам, уявіце, на хвіліну, што я ёсць задача, якую мне трэба выконваць.
І я б хацеў, каб гэтую задачу аўтаматызаваная некаторым праграмнага забеспячэння агента.
Уявіце сабе, што я спрабую забраніраваць набор авіярэйсы з, скажам, Бостан
ў Сан-Францыска.
Я мог бы прайсці і я мог бы выкарыстаць адзін з выдатнага онлайн-пошуку
інструменты, якія збіраецца зрабіць у асноўным той жа працэс, што мы
збіраецца ісці да сённяшняга дня.
Але калі ў вас не было, што інструмент, што б вы зрабілі?
>> Ну, вы маглі б выглядаць і ўбачыць і сказаць, што я ў Бостане.
Якія рэйсы даступныя для мяне?
Цяпер, можа быць, я тры магчымыя рэйсы з Бостана
які будзе адпавядаць часу калі мне трэба сысці.
Я мог бы ляцець у Чыкага.
Ці я мог бы лётаць у Маямі.
Ці я мог бы лётаць у Нью-Ёрк.
Я мог бы затым паглядзець адзін ад адзін з тых гарадоў прызначэння
і думаць аб якіх месцах Я мог бы дасягнуць
ад кожнага з гэтых асобных гарадоў.
>> Так, можа быць, з Чыкага, я магу атрымаць прамы рэйс у Сан-Францыска.
Гэта выдатна.
Ці я мог бы атрымаць рэйс у Дэнверы.
Цяпер, можа быць, што палёт у Сан-Францыска з'яўляецца ідэальным рашэннем для мяне,
але, можа быць, няма.
Можа быць, я шукаю нешта што гэта крыху танней
або трохі лепш для майго графіка.
І таму я мог глядзець на тое, што іншыя Магчымасці могуць быць там.
Так што я мог глядзець у Дэнверы.
І з Дэнвера, ну, можа быць, Я магу атрымаць палёт у Осцін.
І з Осціна, можа быць, я магу атрымаць Палёт у Фінікс, з Фінікса і
ў Сан-Францыска.
Зараз, я яшчэ гэтага не зрабілі.
Таму што, можа быць, ёсць Прамы рэйс з Нью-Ёрка
ў Сан-Францыска, які ідэальна падыходзіць для мяне.
Ці, можа быць, ёсць палёт з Маямі праз Дэнвер, што гэта нашмат танней.
Так што я да гэтага часу ісці.
І я да гэтага часу гляджу на ўсіх тых, горада, якія я яшчэ не вывучаны.
Я павінен вычарпальна праверыць усе магчымасці, якія я мог бы мець.
>> Так з Нью-Ёрка, можа быць, я магу атрымаць Палёт у Нэшвіле, і з Нэшвіла
Осцін.
І тады я ведаю, дзе я знаходжуся.
І тады я ведаю, з Осціна, я магу ляцець у Фінікс, з Фінікса і
ў Сан-Францыска.
Калі я лётаю першым Маямі, хоць, можа быць, я магу атрымаць рэйс з Маямі
у Нэшвіл, або з Маямі ў Осціне.
>> А цяпер я паспрабаваў усё магчымасцяў.
Я пабудаваў гэты графік, паказвае мне ўсе магчымыя маршруты
што я мог бы быць у стане прыняць.
Калі мы ўяўляем гэтыя віды праблем,
мы не збіраемся прадстаўляць ім відавочна, як гэтага графіка,
таму што граф не прадстаўляюць гісторыя, дзе мы пайшлі.
Ведаючы, што я вылецеў з Фенікс ў Сан-Францыска
ня скажыце мне, ці прыйшла я з дапамогай Нэшвіл, або праз Дэнвер, або праз Маямі.
>> Так што я буду рабіць, замест гэтага Я вазьму гэты ж праблемы,
і я буду прадстаўляць яго ў выглядзе дрэва.
І ў корані дрэва, на зверху, я пакладу месца, што я пачаў,
Бостан.
І з Бостана, я буду глядзець на усе магчымыя месцы
што я магу паехаць у.
Ну, у гэтым выпадку, у мяне было тры, Чыкага, Нью-Ёрк, і Маямі.
І тады я буду даследаваць кожны з гэтыя дзеці ў дрэве.
>> З Чыкага, я бачыў што я меў два рэйсы.
Я мог бы лётаць непасрэдна Сан - Францыска або Дэнвера.
Цяпер Сан-Францыска, гэта мая мэта.
Гэта мая прызначэння.
Гэта збіраецца быць ліст гэтага дрэва.
Гэта значыць, я ніколі не буду ісці дзесьці пасля Сан-Францыска.
З Дэнвера, хоць, Я магу лётаць з Дэнвера
Осцін, з Осціна ў Фінікс, і з Фенікса ў Сан-Францыска.
І зараз зноў, я дасягнуў ліст.
>> Я мог бы вярнуцца на наступны горад, які я не цалкам вывучаныя.
Гэта было б у Нью-Ёрку, перайдзіце назад да вяршыні майго дрэва,
спусціцца ў Нью-Ёрку.
З Нью-Ёрка, я магу ляцець у Нэшвіл, з Нэшвіла ў Осціне,
з Осціна ў Фінікс, і з Фенікса ў Сан-Францыска.
І, нарэшце, горад, які я не глядзеў на ўсё ж, Маямі.
>> Ну, з Маямі я сказаў, было два Магчымасці, Нэшвіл або Осцін.
Калі я лётаю ў Нэшвіле, а затым я лётаю з Нэшвіла, у Осцін, у Фенікс,
ў Сан-Францыска.
Калі я лётаю ў Осціне, я лётаю Осцін, у Фінікс, Сан-Францыска.
І зараз у мяне ёсць дрэва.
Гэта поўнае дрэва.
Гэта ўсе магчымасці і ўсе шляхі, што я мог бы прыняць.
Гэта значыць, калі я пачну на корань дрэва ў верхняй
і я іду да адной з лісце, ён кажа мне, не толькі
дзе я збіраюся у канчатковым выніку, Сан-Францыска,
але ён кажа мне, што маршрут Мне трэба, каб дабрацца там.
>> Цяпер, што адзін з іх лепш?
Ну, нічога пра гэта Праблема яшчэ кажа мне,
які з іх з'яўляецца лепшым рашэннем.
Можа быць, я ўсё роўна больш за ўсё колькі разоў я ў паветры,
або адлегласць, што я лячу.
У гэтым выпадку, Чыкага Сан Францыска можа быць кароткі нумар
міль у паветры.
>> Можа быць, я клапачуся аб кошце.
І ўсе мы ведаем прамыя рэйсы як правіла, даражэй.
Так, можа быць, калі я вазьму гэта выгляд зваротнай маршруце
праз Маямі, Нэшвіле, Осцін, Фінікс, можа быць, тады
Я атрымаць больш нізкую цану.
Але я мог бы аптымізаваць на любым Крытэрыі, якія я клапачуся.
Хто атрымаў лепшы ў Палёт Wi-Fi, або якія
аэрапорты маюць лепшая ежа даступная.
І кожны з тых, хто можа даць мне іншае рашэнне
што я бачу як лепшы.
>> Гэтыя віды праблем, куды мы ідзем
пабудаваць гэтую дрэва Магчымасці, а затым
паглядзець на кожны з тых, асобныя дарожкі, і вывучыць
якія з гэтых выконвае крытэрыем для нас,
мы збіраемся называць гэтыя праблемы пошуку.
І ў нас ёсць шмат Алгарытмы, некаторыя з якіх
мы ўжо бачылі, каб пайсці і даследаваць гэтыя дрэвы.
Мы маглі б зрабіць гэта такім чынам, што я толькі што зрабілі, у глыбіню пошуку,
спускаючыся, наколькі мы можам пакуль мы хіт ліст, а затым вяртацца ўверх,
і збіраецца назад ўніз.
Ці мы маглі б рабіць тое, што называецца пошук у шырыню.
Мы маглі б пашырыць ўсё у верхняй частцы, а затым
усе адна лінія пад гэтым, і затым
усе адна лінія пад гэтым.
Гэтыя дрэвы пошуку з'яўляюцца асноватворнымі для ІІ.
Але яны не зусім разумею гэта права ўвесь час.
На самай справе, у многіх выпадкаў што мы сапраўды клапоцімся аб,
мы хочам пабудаваць дрэва, але мы на самай справе не
атрымаць, каб усе рашэнні.
>> Гэта сітуацыі, званыя спаборнасці пошук, таксама вядомы
аб тым, як напісаць гульню гуляць сістэмы і плацяць за гэта.
Але гэтыя віды сістэм, дзе я
можа атрымаць, каб выбраць, калі я іду ад Бостан, які горад я іду да наступнага.
Але пасля гэтага, хто-то можа атрымаць прыняць рашэнне аб тым, дзе я лётаю.
Такім чынам, каб пабудаваць гэтыя віды структуры, мы
прыйдзецца прыняць трохі Іншы падыход да яе.
Мы не збіраемся быць у стане проста шукаць па дрэве
больш, таму што мы не той, які кантралюе
кожнага з гэтых кропак прыняцця рашэнняў.
>> Такім чынам, давайце прадставім сабе просты гульні, як крыжыкі-нулікі.
Я мог бы пачаць з цалкам пусты борце.
І ў крыжыкі-нулікі, Х дабіраецца, каб гуляць у першую чаргу.
І так я мог думаць пра ўсё магчымыя хады, якія маглі б зрабіць Х.
І калі я адзін гульні Х, гэта выдатна.
У мяне ёсць дзевяць магчымае рухаецца, што я магу зрабіць.
Я мог бы пакласці X ў адным з гэтых дзевяці пазіцый.
>> А затым з кожнай з іх, я мог сабе ўявіць, што адбудзецца далей.
Ну, у гэтым выпадку, іншы Гулец атрымае заняць чаргу.
Аб атрымалі б заняць чаргу.
І ад кожнага з іх, ёсць будзе восем розных месцаў
што Аб можа паставіць іх маркер.
>> Скажам, я вырашыў, што я быў збіраецца пакласці X ў цэнтры.
Гэта заўсёды здаецца добры адкрыццё ход.
Я мог глядзець на пад таго, восем магчымых крокаў, якія робіць. Аб
Цяпер, калі я гуляю X, гэта выдатна.
Я атрымліваю выбраць, які я ісці, адзін у сярэдзіне.
Але цяпер Аб атрымлівае, каб выбраць.
І я не маюць кантролю на працягу гэтага рашэння.
>> Але з кожнай з іх магчымыя пазіцыі дошка,
ёсць іншы мноства магчымасцяў.
Калі справа даходзіць да быць мая чарга зноў, я б
атрымаць, каб забраць і сказаць, ну, калі Аб пераходзіць у, ну,
сярэдні пляма на левай, а затым У мяне ёсць набор магчымасцяў
дзе я магу ўзяць мой наступны крок.
З іх, я мог разгледзець усе магчымасці пад імі.
А потым вываду атрымаеце выбраць сярод тых ,.
>> І я мог бы працягваць будаваць гэты дрэва не, пакуль я патрапіў у кропку,
дзе альбо хтосьці выйграе game-- Гэта
павінен быць разгледжаны ліст node-- або плата цалкам запоўнены
і ніхто не выйграў.
І гэта таксама будзе канчатковы вузел.
Гэта збіраецца быць гальштук.
>> Але хітрая рэч з гэтым калі б гэта было проста чарговы пошук
праблема, я быў бы ў стане скажам, ну, X павінен ісці тут.
І Аб павінны ісці шлях там.
І тады Х павінны ісці сюды.
А потым вываду павінны ісці шлях там.
І тады Х можа атрымаць тры у радку, і я выйграю.
І гульня будзе скончана у пяці хадоў, тры для мяне,
два для майго апанента.
Але я не заўсёды можаце выбраць, што.
>> Такім чынам, замест, таго, што мы прыйдзецца рабіць
што мы будзем мець мець новую стратэгію.
І стратэгія, што гульнявыя алгарытмы часта выкарыстоўваюць
гэта тое, што называецца минимаксной.
Цэнтральная ідэя минимаксный, што мы
збіраецца забраць крок, які дае наш апанент горшы набор
хадоў, што яны могуць зрабіць.
Гэта не робіць мне нічога добрага выбраць крок дзе
Я мог бы быць у стане выйграць пасля што, таму што мой супернік ня
збіраецца даць мне гэты шанец.
Яны збіраюцца выбраць некаторыя жахліва вынік для мяне.
Так што я збіраюся зрабіць рухацца, што прымушае майго апанента
зрабіць што-то лепш для мяне.
Добра.
Давайце паглядзім, як гэта губляе значэнне.
Дык вось наш алгарытм псевдокоде.
Мы збіраемся, каб генераваць усё дрэва гульні.
Мы збіраемся пабудаваць ўся структура.
І тады мы будзем ісці да канца.
І ў самым нізе на кожнай з тэрмінальнымі вузламі, у кожным з лісця,
мы ацаніць, як каштоўна тое, што са мной?
І мы збіраемся кошту рэчаў, якія добра для мяне, як быць станоўчым.
Рэчы, якія не вельмі добра для мяне будзе менш станоўчым або роўна нулю,
ці нават адмоўным.
>> Такім чынам, у крыжыкі-нулікі, можа быць, перамога для мяне гэта добра.
Вось адзін.
І гальштук нуля.
І тое, што гэта страта для мне, можа быць, гэта адмоўны.
Усё, што мае значэнне ў тым, што лепш гэта для мяне, тым вышэй адзнака
ён атрымлівае.
Ад гэтых магчымасцяў на знізу, тады мы будзем фільтраваць ўверх.
І калі гэта мой шанец выбраць сярод мноства альтэрнатыў,
Я выберу той, які атрымаў самы высокі бал.
>> І кожны раз, калі гэта мая Праціўнікі чаргу выбіраць,
Я мяркую, што яны збіраюцца выбраць адзін з самых нізкіх лікам.
І калі я зраблю гэта ўвесь шлях да верхняй частцы дрэва,
Я абраў шлях, які дае мне лепшы вынік, што я магу атрымаць,
мяркуючы, што мой апанент робіць усё правільныя крокі.
>> Добра, так што давайце паглядзім гэта дзеянне першым.
І тады мы будзем на самай справе паглядзець на код для яго.
Такім чынам, уявіце, у мяне ёсць гэты вялікі дрэва.
А цяпер я не гуляю ў крыжыкі-нулікі.
Я хацеў, каб даць вам што-то трохі багацей.
Так што я атрымаў некаторую гульню, дзе ёсць шмат розных забівае
што я мог бы ў канцы.
І таму я пабудаваць гэта поўнае дрэва.
І я атрымліваю першы ход.
Я ў корані дрэва.
>> І я атрымліваю выбраць that-- так што я атрымліваю максімальна па гэтай першага вузла.
І тады мой апанент атрымлівае ісці.
І тады я ісці яшчэ раз.
Так на дне, у мяне ёсць набор Магчымасці, якія я магу выбраць з,
розныя тэрмінальныя стану гульні.
Калі я ўніз, што далёка левым куце,
і я бачу, што ў мяне ёсць выбар паміж восем, сем, і два,
ну, я той, які атрымлівае на выбар.
Так што я збіраюся выбраць адным з лепшых з іх.
Я збіраюся выбраць восем.
>> Так што я ведаю, што калі я калі-небудзь прыступім да гэтай кропцы,
Я буду ў стане атрымаць што восем ачкоў.
Калі я ў канчатковым выніку ў наступнай кропцы больш, наступны вузел на працягу,
дзевяць, адзін, ці шэсць, ну, я збіраецца выбраць лепшы з іх.
Я выберу дзевяць.
Калі ў мяне ёсць выбар паміж два, а чатыры, і адзін,
Я выберу чатыры, самы высокі.
>> Цяпер, калі я гляджу на ўзроўні вышэй, што, мой апанент
гэта адзін атрымлівае, каб зрабіць гэты выбар.
Так што мой праціўнік атрымлівае выбраць, я хачу, каб даць яму
Тое, што адбываецца каб атрымаць яго восем ачкоў,
ці я даю яму рэч, якая збіраюся даць яму дзевяць ачкоў,
або рэч, якая адбываецца каб даць яму чатыры ачкі?
І мой апанент, будучы рацыянальным, будзе
выбраць мінімум тым, будзе выбраць чатыры.
>> І я магу гэта зрабіць праз увесь дрэва.
Я магу спусціцца да таго, што сярэдні набор з трох.
І я магу выбраць паміж адзін, тры, пяць.
І я атрымліваю, каб выбраць.
Так што я выбраць пяць.
Я магу выбраць тры, дзевяць, ці два.
Я атрымліваю выбраць, так што я выбраць дзевяць.
Шэсць, пяць, ці два, я выбіраю.
Я атрымліваю выбраць шэсць.
Ўзровень вышэй таго, хто атрымлівае, каб выбраць?
Хто атрымлівае абраць?
Іншы хлопец, мой апанент.
Так яны выбіраюць пяць, дзевяць, ці шэсць, то якія?
>> Аўдыторыя: пяць.
>> Слухаць: Яны выбіраюць пяць.
Яны атрымліваюць, каб выбраць мінімум.
І тады апошні, выбраць адзін, два, ці тры.
Я атрымліваю выбраць, так што я выбраць тры.
Дзевяць, сем, ці два, я выбіраю дзевяць.
І 11, шэсць ці чатыры, я выбіраю 11.
Мой апанент выбірае тры, дзевяці або 11, выбірае мінімальнае.
Ён дае мне тры.
І, нарэшце ў верхняй частцы дрэва, я атрымліваю, каб выбраць зноў.
І я атрымліваю выбіраць паміж чатыры, пяць, ці тры.
Такім чынам, я бяру на пяць.
>> Калі б я атрымаў усё кантраляваць, я б ўстаць на шлях, які прывёў да 11.
Але я не атрымліваю, каб зрабіць гэты выбар.
Калі я іду па гэтым шляху.
Мой апанент прымусіць мяне ў выбар, які прыводзіць да трох.
Такім чынам, лепшае, што я магу зрабіць, гэта прыняць, што сярэдні філіял,
зрабіць гэты выбар, што ў канчатковым рахунку збіраецца прывесці мяне да пяці ачкоў.
Гэта тое, што робіць минимакса.
>> Добра.
Давайце зірнем на гэта.
Дык вось у CS50 IDE гэта праграма, якая
рэалізуе минимакса гуляць у крыжыкі-нулікі.
Мы збіраемся пабудаваць да прадстаўлення.
Мы збіраемся мець два opponent-- або двух гульцоў, наш кампутар
плэер і прайгравальнік чалавека.
Нумар гульца адзін будзе гуляць О. Гэта будзе машына гулец.
Яны атрымліваюць, каб перамясціць секунду.
І іншы гулец, наш чалавек-плэер, будзе X.
>> І зрабіць маё жыццё трохі проста, я іду
маркіраваць, што гулец адмоўны.
Так што я магу проста памножыць на мінус адзінку, каб памяняць
паміж адным гульцом і іншым.
Добра, так што давайце зірнем на тое, што мы на самай справе збіраецца рабіць.
Мы збіраемся, каб вызначыць наш савет.
Гэта будзе добра, мы збіраемся каб яна магла быць тры на тры,
ці мы можам нават гуляць пяць на пяць ці сем
на сем крыжыкі-нулікі, калі вы хочаце як, грунтуючыся на нейкі памернасці D.
>> І мы будзем мець пару з дапаможных функцый
што будзе рабіць рэчы, як ініцыялізаваць screen-- або прабачце,
ініцыялізаваць нашы зменныя, зніміце экранам, намаляваць дошку на экране,
які правярае дошка каб убачыць ці не
ёсць пераможца, які разбірае з дапамогай каманднага радка,
проста, каб дапамагчы, той, які счытвае ўваход, і адна функцыя называецца минимаксной.
І гэта адзін мы клапоцімся больш за ўсё.
Але давайце спачатку паглядзім на асноўны.
>> Што мы робім?
Ну, мы збіраемся разабраць нашу камандны радок,
толькі што прачытаў і паглядзець, што Памер платы, мы хацелі б мець.
Мы ініцыялізаваць плату.
І тады мы будзем уводзіць адзін вялікі дзікі цыкл, неаднаразова
прыняць крокі, пакуль гульня не выйграў, або няма ніякіх перамяшчаецца налева.
Кожны раз, калі мы ідзем праз гэта цыкл, мы ачысціць экран.
Мы будзем маляваць дошка на экране.
І мы наўмысна роду абстрагуючыся ад іх у выглядзе падпраграм,
так, што мы не павінны занадта турбавацца аб падрабязнасцях, як яны адбываюцца.
>> Вы будзеце мець код пазней сёння.
І калі вы хочаце, каб глядзець праз і высветліць гэта, вы можаце ўбачыць іх усё.
Але мы будзем маляваць дошку на экране.
І тады мы будзем правяраць і см, у нас ёсць пераможца?
Хтосьці выйграў гэтую гульню?
Калі ў іх ёсць, мы раздрукаваць з паведамлення перамога.
І мы будзем скончыць гульню.
>> Мы таксама праверыць і ўбачыць, калі ёсць гальштук.
Гэта будзе лёгка ўбачыць, калі ёсць гальштук.
Гэта азначае, што ўсе прасторы поўныя, але не быў пераможцам яшчэ.
Мы можам аб'явіць гальштук і зрабіць.
Тады рэальная meat-- калі гэта машына плэер,
мы дапусціць, што машына плэер для пошуку
шляхам выкарыстання гэтага алгарытму минимаксного, знайсці лепшы ход, што ён можа.
І тады мы будзем пакласці, што рухацца ўверх.
>> У адваротным выпадку, калі гэта чалавек-плэер, мы будзем чытаць некаторыя матэрыялы з чалавека.
А потым няхай гэта будзе чалавек гулец або машына плэер,
мы зробім пару трохі біты праверкі памылак,
пераканайцеся, што ён застаецца ў межах межаў з фактычных памераў платы
што ў нас ёсць, пераканайцеся, што што гэта прастора пуста,
што ніхто паставім кавалак там ужо.
І тады мы будзем проста пакласці кавалак на борце,
змяніць гульца на наступны ўзровень, і павялічыць колькі хадоў адбылося.
>> Гэта асноўны цыкл для наш крыжыкі-нулікі гульня.
Минимакс, то, дакладна алгарытм, які мы раней.
Адзінае, што рэгуляванне мы зрабілі так, што мы
можа гуляць больш мерных поплаткаў мы ў
захаваць гэты дадатковы параметр, званы глыбіня.
І глыбіня проста кажа, калі я пошук ўніз праз гэтага дрэва
і я так далёка ўніз за некаторай глыбіні ўзроўню
што я проста не хачу, каб ісці далей,
Я збіраюся спыніцца і проста ацаніць дошка ў гэтай кропцы.
Я праверыць і паглядзець, калі ёсць пераможца.
Калі ёсць пераможца, я іх вярнуць.
У адваротным выпадку, я пайду праз пятлю.
І я скажу, для ўсіх магчымыя месцы
што я мог, магчыма, ўзяць у якасці майго пераезду, я
пабудаваць гіпатэтычную савет, які ўключае ў сябе свой ход на гэтым борце,
а затым рэкурсіўна выклікае минимакса.
>> Калі гэта мой крок, я атрымліваю, каб знайсці той, які атрымаў найбольшую колькасць балаў.
Калі гэта рух майго апанента, мы знаходзім той, які атрымаў мінімальны бал.
І ўсё астатняе проста ўлік.
Добра, так што давайце паглядзім гэты прабег.
На самай справе, можа быць, мы можам атрымаць пару добраахвотнікаў
прыйсці і гуляць у крыжыкі-нулікі.
[Неразборліва] адным, і адзін Больш за тое, два, прама там.
Давай до.
>> Так што давайце ісці наперад і перазагрузіць гэта цалкам.
Так, прывітанне.
>> АЎДЫТОРЫЯ: Прывітанне.
>> Слухаць: Ваша імя?
>> АЎДЫТОРЫЯ: Gorav.
Слухаць: Gorav.
>> АЎДЫТОРЫЯ: Я Лэйла.
>> Слухаць: І Лэйла, Лэйла і, прабачце.
Давай до.
Gorav, мы збіраемся, каб вы ідзяце ў першую чаргу.
І я папрашу вас быць не жахліва добра крыжыкі-нулікі гулец.
ОК, так што ўсе ціск на вас.
Давайце паглядзім, аднак, што наша машына Гулец можа зрабіць што-то разумны.
Так што наперад.
Вы збіраецеся ўвесці ў якія каардынуюць Вы хацелі б паставіць крыжык ст.
А0, ОК, і машына пайшла адразу і паставіць свой след у А1.
>> Пастаўце O на борце.
Добра, цяпер ідзі наперад.
Дзе б вы хацелі паехаць?
С2.
Наша машына гулец прыняў сярэдні квадрат, заблакаваў вас.
Так што гэта было добра, разумная рэч для таго, каб зрабіць.
Вы заблакавалі.
Гэта выдатна.
Гэта падае кутні там.
>> І гэта адбываецца, каб прымусіць вас ўзяць адзін апошні прасторы, B0.
І гульня сканчаецца ўнічыю.
Але ён гуляў разумны Гульня супраць вас, ці не так?
Добра, дзякуй вельмі шмат, Gorav.
>> [Апладысменты]
>> Добра, Лэйла, мы збіраемся да гульні на вас тут.
>> АЎДЫТОРЫЯ: О, выдатна.
>> СПІКЕР: Мы збіраемся даць Вы Чатыры на чатыры крыжыкі-нулікі.
Цяпер, у чатыры на чатыры, у вас ёсць, каб выйграць з чатырма запар, а не тры ў шэраг.
І гэта ўсё тваё.
Так Лэйла ўзяла D1.
Цяпер мы збіраемся прытрымлівацца наш кампутар гулец тут.
Тры на тры Tic-Tac-Toe з'яўляецца свайго роду рэчы, якія лёгка для ўсіх нас.
Але гэта ўсё роўна прыемна бачыць камп'ютэрнага гульца робіць правільныя хады.
Чатыры на чатыры атрымлівае быць крыху больш складана.
>> Прыгожа зроблена.
Добра, так Лэйла скончыў з.
Аб, і мы павінны скончыліся там.
Але давайце зробім яшчэ адзін тут.
Так Layla, дзякуй.
Прыгожа зроблена.
>> [Апладысменты]
>> Такім чынам, наша гульня ў крыжыкі-нулікі гулец ідзе праз і знаходзіць месца,
вырашае іх з дапамогай гэтай минимакса.
І я быў наладу глыбіні на якія так, каб ён
не будзе працаваць занадта хутка, таму, напэўна,
Лэйла была ў стане пайсці наперад прыгожа як яна, і зрабіў вельмі добра.
Але гэтыя сістэмы, што толькі прайсці і перабор
глыбей, і глыбей, і глыбей, і працягваюць знаходзіць рашэнне
што ім трэба, гэтыя віды сістэм даволі паспяхова гэтыя, ну,
стандартныя настольныя гульні.
>> І на самай справе, калі мы паглядзім на тры на тры крыжыкі-нулікі гульні,
гэта ў асноўным вырашана праблема.
І гэта выдатны схема ад Randall Манро ў XKCD,
паказ, якія перамяшчаюцца вы павінны прыняць, улічваючы рухаецца вашага суперніка.
Гэта тое, што мы маглі б лёгка вызначыць загадзя.
Але тое, што адбываецца, калі мы атрымліваем больш складаныя гульні, больш складаных гульняў,
дзе Ёсць вялікія дошкі, больш Магчымасці, глыбей стратэгія?
>> Аказваецца, што гэта перабор пошуку яшчэ
робіць дастаткова добра, за выключэннем таго, калі вы дойдзеце да кропкі,
дзе гэта дрэва настолькі вялікі што вы не можаце ўявіць ўсё гэта.
Калі вы не можаце вылічыць усё дрэва, калі вы не можаце ісці наперад і штуршок
самі да кропкі, дзе вы атрымаў усё дрэва ў памяці,
ці вы можаце атрымаць яго ў памяці, і гэта будзе толькі
прыняць вас занадта доўга, каб шукаць праз гэта, у вас ёсць што-то рабіць разумней.
>> Для таго, каб зрабіць гэта, вам трэба зрабіць дзве рэчы.
Па-першае, вы павінны знайсці некаторыя спосаб абмежавання глыбіню.
Ну, гэта нармальна.
Мы можам знайсці добры, мінімум і сказаць, вы можаце ісці толькі так глыбока.
Але калі вы гэта зробіце, гэта азначае, што вам гэтыя часткова няпоўныя дошка.
І вы павінны выбраць, я люблю гэта часткова няпоўным дошка,
ці гэта часткова няпоўны панэль?
>> А на нашых чатырох па чатырох крыжыкі-нулікі гульня,
наш кампутар гулец атрымаў ўніз на дно і ён сказаў,
У мяне ёсць два розных плат.
Ні адзін выйгрыш.
Ні адзін страту.
Ні адзін гальштук.
Як выбраць паміж імі?
І гэта не ёсць разумны спосаб зрабіць гэта.
>> Мы бачым, гэты від адзнака адбываюцца ўвесь час
як мы атрымліваем у больш складаных гульнях.
Шахматы з'яўляецца выдатным прыкладам.
У шахматах, мы, па-першае за ўсё, больш плата.
У нас ёсць значна больш штук.
І пазіцыянаванне гэтых частак і тое, як гэтыя кавалачкі рухацца
з'яўляецца крытычна важным.
Так што, калі я хачу выкарыстоўваць минимакса, Мне трэба, каб мець магчымасць паказаць
і казаць, што гэта дошка, дзе ніхто не выйграў ці прайграў яшчэ,
як-то лепш, чым гэта іншае дошка, дзе ніхто не выйграў ці прайграў.
>> Каб зрабіць гэта, я мог бы зрабіць рэчы, як я мог бы проста
падлічыць, колькі штук у мяне ёсць і колькі штук ў вас ёсць?
Ці я мог бы даць розныя шт розныя пункты.
Мая каралева каштуе 20 ачкоў.
Ваш пешка варта адно ачко.
Хто мае агульнай больш ачкоў?
Ці я мог бы разгледзець рэчы, як, хто атрымаў лепшую пазіцыю дошка?
Чыя чаргу гэта побач, усё, што я магу
зрабіць, каб ацаніць больш дакладна якія з гэтых магчымасцяў
лепш без вычарпальна разглядае
кожны крок, які можа прыйсці пасля гэтага.
>> Зараз, каб зрабіць гэтую працу, адна з рэчаў, што гэта
стане сапраўды важна для нас не проста перасоўванне прама
да пэўнай глыбіні мяжа, але, будучы ў стане казаць,
адзін з гэтых ідэй, якія я ёсць так дрэнна, што гэта
не варта разглядаць усе з магчымых шляхоў
што-то можа пайсці ад дрэннага да горшага.
Каб зрабіць гэта, мы дадамо ў минимакса прынцып называецца Альфаў-бэта.
І альфа-бэта кажа, калі ў вас ёсць дрэнная ідэя,
не марнуйце свой час, спрабуючы высветліць, як менавіта гэта дрэнна.
>> Такім чынам, вось што мы збіраемся зрабіць.
Мы збіраемся ўзяць тое ж самае прынцыпы, якія мы раней,
тое ж самае минимакса тыпу пошуку, толькі мы
збіраецца адсочваць не толькі з фактычныя значэння, што ў нас ёсць, але мы
адсочваць найлепшым Значэнне, якое я мог бы атрымаць,
і горшы Вынікам я мог бы.
І ў любы час горшы што шукае, хутчэй за ўсё,
Я адмовіцца ад гэтай частцы дрэва.
І я нават не буду гледзячы на ​​яго больш.
>> Добра, так што ўявіце, што мы пачынаем з гэтай жа дакладнай гульні дрэва.
І зараз мы збіраемся пайсці зноў, ўвесь шлях ўніз
да таго левым ніжнім куце.
І ў гэтым левы ніжні кут, мы глядзець і ацэньваць гэтую дошку.
Можа быць, гэта чатыры на чатыры крыжыкі-нулікі дошка, або, можа быць, гэта шахматная дошка.
Але мы глядзім на яго, і мы ацэньваем гэта, і мы атрымліваем значэнне з васьмі.
>> У той момант, мы ведаем, што мы збіраемся, каб атрымаць па крайняй меры,
восем ачкоў ад гэтай ніжняй рашэння.
Гэта не мае значэння, што іншы два, што сем, і што два.
Яны могуць быць любыя значэння яны хацелі б быць.
Мы збіраемся, каб атрымаць на Менш восем ачкоў.
Усё правільна, але мы маглі ісці наперад і праверыць.
Можа быць, адзін з іх лепш, чым восем.
>> Мы глядзім на сем.
Гэта лепш, чым восем?
Не, гэта не мяняе наша меркаванне наогул.
Мы глядзім на два.
Гэта лепш, чым восем?
Не, гэта не мяняе наша меркаванне наогул.
Так што цяпер мы ведаем, мы вычарпалі усе магчымасці там.
Мы не збіраемся, каб атрымаць што-небудзь лепш, чым восем.
Мы збіраемся, каб атрымаць менавіта восем.
>> І так мы мяняем вузел і скажам, што ў цяперашні час з'яўляецца пэўнасць.
Мы падымаемся на адзін узровень вышэй, што.
І зараз мы ведаем, што-то аб тым, што ўзровень мінімізацыі.
Мы ведаем, што мы ніколі не збіраемся, каб атрымаць больш чым у восем ачкоў, калі мы ідзем ўніз
што кірунак.
Таму што нават калі тыя два іншых галін аказваюцца
быць фантастычным, і стаіць тысячы кропак кожны,
наш праціўнік будзе даць нам мінімум, а даць нам восем.
Добра, добра, давайце паглядзім.
Мы будзем трымаць спускаючыся па гэтым шляху.
Мы спускаемся да гэтай сярэдзіне злева.
Мы глядзяць, і мы бачым, што ёсць дзевяць.
Мы ведаем, што мы збіраемся, каб атрымаць па меншай меры, дзевяць ачкоў, спускаючыся
што сярэдні шлях.
І ў гэты момант, мы можам проста прыпыніць.
І мы можам сказаць, паглядзіце, я ведаць на ўзроўні вышэй,
Я збіраюся атрымаць не больш за восем паказвае, спускаючыся гэты кірунак.
Але калі б я пайшоў уніз сярэдзіна Шлях замест левага шляху,
Я хацеў бы атрымаць, па меншай меры дзевяць ачкоў.
>> Мой апанент ніколі не будзе дазвольце мне ісці па гэтым сярэдні шлях.
Яны атрымліваюць, каб выбраць.
І яны збіраюцца выбраць Шлях да налева да васьмі,
а не ўніз да сярэдзіны тое, што, па меншай меры дзевяць ачкоў.
Такім чынам, на той момант, я спынюся.
І я скажу, вы ведаеце, што?
Я не павінны глядзець больш ўніз у гэтым кірунку.
Таму што я ніколі не буду туды патрапіць.
>> Я магу пераскочыць, што адзін, і я магу прапусціць, што шэсць,
таму што ніколі не здарыцца.
Так што я пайду і я разгледзець наступны магчымасць.
Я іду туды, і я кажу, я бачу два.
Я ведаю, калі я атрымліваю тут, я збіраецца атрымаць па крайняй меры два.
ДОБРА.
Я працягваць.
Я бачу чатыры.
Я ведаю, што я збіраюся атрымаць па меншай меры чатыры.
Там яшчэ шмат паміж чатыры і восем, хоць.
Так што я працягваць.
Я гляджу ўніз і бачу там адзін.
Добра, я ведаю, калі Я іду па гэтым шляху,
Я збіраюся быць у стане выбраць чатыры.
Што мой апанент збіраецца зрабіць?
Паміж чагосьці, што дае мне восем, тое, што дае мне чатыры,
і тое, што дае мне па меншай меры, дзевяць,
добра, што ён збіраецца даць мне чатыры.
І цяпер я ведаю, на вельмі зверху, я збіраюся
каб быць у стане атрымаць па крайняй меры чатыры балы з гэтай гульні.
>> У цэлым ідэя альфа-бэта гэта адрэзаць часткі з дрэва, так
што я не гляджу на іх больш.
Але яна па-ранейшаму выглядае як я быў гледзячы на ​​шмат дрэва.
Давайце працягваць ісці ўніз.
Мы пойдзем ўніз наступны прадпрыемствам.
Ўніз на дне, я лічу, адзін.
Я ведаю, што я збіраюся атрымаць па крайняй меры адзін.
Я працягваю глядзець.
>> Я знаходжу тры.
Я ведаю, што я збіраюся атрымаць па крайняй меры тры.
Я працягваць.
Я знаходжу пяць.
Я ведаю, што я збіраюся атрымаць пяць калі я спускаюся па гэтым шляху.
І я таксама ведаю, то што мой апанент, калі я
выбраць сярэдзіну тры вялікія выбары,
ён збіраецца даць мне тое, што гэта пяць ці менш.
>> ДОБРА.
Я магу працягваць ёсць.
Я магу паглядзець уніз, і я магу сказаць, што я збіраюся
каб атрымаць, калі я іду ўніз па сярэдзіне шляху?
Я іду, каб атрымаць, ну, тры там.
Я збіраюся атрымаць нешта гэта па меншай меры тры.
Там па-ранейшаму, што паміж тры і пяць, так што я працягваю глядзець.
О, дзевяць, я буду вызначана лічыць, што на працягу трох гадоў.
Я іду, каб атрымаць па крайняй меры дзевяць калі я іду ўніз, што сярэдні шлях.
>> Цяпер мой апанент спыняецца і кажа, глядзіце, няма ніякага сэнсу больш.
Я ведаю, што мой мінімізацыя праціўнік, ён
збіраюся даць мне рэч, якая менш або роўна пяці,
а не рэч, якая больш або роўна дзевяці.
Я спыняюся.
Я не гляджу больш на гэта.
Я працягваць.
>> Я гляджу ўніз на гэтым.
Аж да дна, я знаходжу шэсць.
Я ведаю, што я збіраюся атрымаць па меншай меры шэсць.
А што я магу зрабіць?
Я магу спыніць.
Таму што выбар паміж тое, што, па меншай меры шэсць
і тое, што гэта менш, чым пяць, ён
збіраецца даць мне рэч гэта менш, чым пяць.
І цяпер я ведаю, што я збіраюся каб атрымаць менавіта такі выбар.
Я іду, каб атрымаць што пяць выбар.
>> Я вяртаюся на вяршыню.
Які я буду выбраць паміж чым-то
гэта больш або роўна чатыром, ці нешта, што гэта роўна пяці?
Я збіраюся ўзяць нешта гэта, па меншай меры пяць.
Я спускаюся ў апошні шлях, усё аж да дна.
Там гэта адно.
ОК, па меншай меры, я іду, каб атрымаць адно ачко.
Я працягваць.
Па-другое, пра, гэта лепш, чым адзін.
Я іду, каб атрымаць па крайняй меры два.
Я знаходжу тры.
Я ведаю, што я збіраюся атрымаць тры.
>> І вышэй, што кропка, мой апанент збіраецца
каб даць мне што-небудзь менш або роўна тром.
І цяпер я магу спыніцца.
Таму што ў выбар паміж мной быць магчымасць атрымаць пяць і мой апанент
даючы мне што-то менш, чым тры, Я заўсёды буду лічыць, што пяць.
Так што я не ацаніць, што Ніжняя частка дрэва наогул.
>> Цяпер, гэта можа здацца нязначным.
Але, калі маленькія кавалачкі арыфметыкі, больш, але менш,
можа адрэзаць цэлыя часткі гэта расце ў геаметрычнай прагрэсіі дрэва,
што прыводзіць да велізарных колькасць зберажэнняў, назапашванняў
якія з'яўляюцца дастаткова вялікімі, што я можаце пачаць гуляць на конкурснай аснове
ў больш складаных гульнях.
>> Добра, калі мы паглядзім на памер і складанасць розных гульняў,
крыжыкі-нулікі быў наш просты прыклад.
У нас ёсць невялікі савет, тры на тры.
Мы атрымліваем, у лепшым выпадку, у сярэднім каля чатырох розных варыянтаў
як мы ідзем праз гульню.
У нас ёсць дзе-то каля 10 да пяты магчымыя розныя лісце.
І будаўніцтва ў крыжыкі-нулікі плэер, добра, мы проста зрабілі гэта.
Гэта лёгка.
>> Калі мы ідзем да чаго-то больш Комплекс, як Connect Four.
Вы памятаеце гэтую гульню дзе ўпаду маленькія жэтоны ў?
Гэта шэсць сем дошка, не тое, што значна больш, па-ранейшаму
мае прыкладна такі ж разгалінавання фактар, як крыжыкі-нулікі.
У мяне ёсць каля чатырох выбар дзе я магу пакласці рэчы ў.
Але цяпер, я атрымаў значна больш, прыводзіць, з 10 па 21 сілы.
Гэта тое, што лёгка Дастаткова таго, што мы вырашыць адразу.
>> Шашкі, больш complex-- вас атрымаў восем на восем борце.
Ты толькі на палову іх у любы час, хоць.
У вас ёсць разгалінаванне Каэфіцыент гэта каля 2,8.
Ну, у нас ёсць некалькі рухаецца вы можаце ўзяць.
Вы атрымалі ад 10 да 31-лісця, буйныя і больш буйныя, і больш буйныя прасторы.
Як я павінен шукаць праз гэтыя ўсё больш і больш прасторы,
што, калі рэчы, як альфа-бэта і магчымасць адрэзаць усе галіны
становіцца неабходным.
>> Цяпер, шашкі было досыць лёгка ў 1992 годзе.
Кампутарная праграма называецца Чынук пабіць сусветны шашкі
Чэмпіён, Марыён Тинсли.
І з таго часу, няма чалавек майстар гулец
атрымалася пабіць лепшы вылічальныя сістэмы.
Калі мы паглядзім на тое, як шахматы, цяпер зноў, у нас ёсць восем на восем борце.
Але ў нас ёсць значна больш складаным, штук, значна больш складаныя руху.
У нас ёсць каэфіцыента галінавання каля 35, 35 магчымых хадоў у сярэднім
што я магу ўзяць, і стан прастору, колькасць лісця
які вырас да 10 у 123. ўлады, Вялізныя нумары магчымасцяў.
>> Нават да гэтага часу, сучасныя працэсары ў стане зрабіць гэта паспяхова.
У 1995 годзе, а затым у 1997 годзе, кампутар Праграма называецца Deep Blue ад IBM пабудавана
які бег на гіганцкім суперкампутары біць бягучы чэмпіён свету,
Гары Каспараў.
Гэта быў пераломны момант.
Сёння, аднак, што ж апрацоўка Магутнасць сядзіць на маёй MacBook.
>> Хуткасць апрацоўкі захоўвае атрымліваць хутчэй і хутчэй.
Мы можам ацаніць ўсё больш і больш Дошкі хутчэй і хутчэй.
Але што яшчэ больш важна, мы павінны лепш Функцыі ацэнкі і лепш абрэзка
метады.
Такім чынам, мы можам шукаць прастору складаней.
Самая вялікая савета гульні, якія мы можам думаць пра,
нешта накшталт Go гэта атрымаў 19 па 19 дошка,
раптам, мы прайшлі кропку дзе вылічальныя сістэмы могуць выйграць.
Там няма вылічальная Сістэма там
што можа пабіць прафесійны гулец Перайсці.
Лепшы сістэм сёння Ацэнка яго аб свайго роду добрым аматарскім узроўні.
Так што ўсё яшчэ трохі з там, што вы не можаце дабрацца да яшчэ.
>> Добра, гэта традыцыйныя настольныя гульні,
Гэтыя віды сістэм, дзе мы пабудаваць гэтую минимакса, будзь ён атрымаў
альфа-бэта ці не, гэтыя алгарытмы працуюць таму што ёсць пэўныя абмежаванні.
Мы маем дасканалую інфармацыю аб навакольным свеце.
Мы ведаем, дзе ўсе часткі.
Свет з'яўляецца статычным.
Ніхто не атрымлівае, каб перамясціць штук вакол, пакуль я
седзячы там, думаючы, прымаючы мая чарга.
Там у прастору дзеянне, якое дыскрэтна.
Я магу паставіць свой пешку тут, ці я магу паставіць свой пешку тут.
Я не дазволіў паставіць сваю пешку на лінія паміж двума квадратамі.
>> І, нарэшце, дзеянні дэтэрмінавана.
Я ведаю, што калі я кажу, Ладдзя з канём тры,
мая ладдзя будзе ў канчатковым выніку на рыцара тры, пакуль гэта дзейнічае ход.
Там няма нявызначанасці пра гэта.
Цяпер, як я іду да больш розныя віды гульняў,
мы павінны разарваць гэтыя здагадкі.
>> Што рабіць, калі я іду ў той як класічных відэагульняў?
Вось выбар відэа гульні ад Atari 2600.
Што я маю там?
Я атрымаў Frogger, прастору Захопнікаў, Пастка, і Pac-Man.
Якія асяроддзяў у мяне тут зараз?
Які з гэтых здагадак я павінен зламаць?
>> Ну, гэта залежыць ад гульні.
Я мог бы гуляць у шахматы на 2600, і гэта было б так жа, як гэта было раней.
Для большасці з гэтых сістэм, ёсць поўнае веданне пра свет.
Там зусім дэтэрмінаваныя дзеянні.
Але, як правіла, у свеце больш не статычныя.
Гэта значыць, у той час як я сядзеў там чакання, нешта рухаецца.
Прывіды прыходзяць, каб атрымаць мяне.
Скарпіён будзе пасля мяне ўнізе.
Касмічныя захопнікі бліжэй і бліжэй.
Наколькі добра мы можам зрабіць супраць іх?
>> Некалькі гадоў таму, Google што праект пад назвай
DeepMind, дзе яны трэніраваліся кампутар праграма, гуляць у Atari 2600 гульняў.
І калі вы думаеце, што гэта не сур'ёзна бізнес, вынікі іх даследаванні
былі апублікаваныя ў Nature, так амаль гэтак жа добра, публікацыя
як вы можаце, магчыма, атрымаць.
А вось наколькі добра яны выконваюцца.
>> Яны ёсць алгарытм, які сядзеў і глядзеў толькі ўваходы экрана.
Гэта не атрымаў ніякіх інструкцый наогул аб правілах гульні.
І ён павінен быў высветліць, на аснове яго ацэнкі, наколькі добра яна робіць.
Гэта была сістэма, якая выкарыстоўваецца нешта называецца навучанне з падмацаваньнем.
Гэта значыць, гэта глядзела на яго рахунак.
А калі ён атрымаў добрыя ацэнкі, сказаў ён, Я павінен памятаць гэтыя рэчы.
І я павінен рабіць тым зноў.
А калі ён атрымаў дрэнную ацэнку, ён сказаў, Я не павінен рабіць гэтыя рэчы зноў.
>> Гэта выкананне з тых падрыхтаваных сістэм
дазволена гуляць для Некалькі гадзін на кожнай гульні,
у параўнанні з прафесійнымі геймерамі.
Такім чынам, для ўсіх гульняў, якія з левага боку ад гэтай лініі,
гэта сама-навучанне кампутарнай праграмы пераўзышлі прафесійных геймераў.
І ўсё да Правільна, прафесійныя геймеры
яшчэ лепш.
Для чагосьці, што ведаў нічога аб правілах, якія
нічога не ведаў пра структуру гульні, гэта ўражлівыя вынікі.
І гэта тое, што мы можам зрабіць сёння.
>> ОК, вы кажаце, але калі мы думаць аб AI ў гульнях,
Звычайна мы думаем пра Тое, што мы сапраўды можам
сесці і гуляць супраць яго.
Калі я саджуся і гуляю StarCraft, ці я гуляць бясплатна сіта,
кампутар апанент чалавек, які кіруе зергов,
або кіравання іншым цывілізацыі.
Як тыя гульцы на самай справе знайсці свае хады?
>> Ну, гэтыя гульні структураваныя амаль такім жа спосабам, як нашы настольныя гульні,
гэтыя гульні, якія мы разам называюць чатыры X гульні,
даследаваць, expand-- забыць тыя.
Што яны?
Даследуйце, пашыраць і патушыць, Я думаю, што гэта апошні.
Але яны ў асноўным па выведцы і ўладар гульні.
Як правіла, кампутарны праціўнік ёсць мае абмежаваную інфармацыю.
Яны не ведаюць, менавіта тое, што адбываецца за гэтага туману вайны.
Яны не атрымліваюць, каб убачыць, што ў вас ёсць у вашым інвентары.
>> Там у сераду, што з'яўляецца дынамічным.
Усё мяняецца ўвесь час.
Вы не можаце сядзець і чакаць, каб узяць ваш ход.
Але большасць рэчаў ўсё яшчэ дыскрэтным.
Я павінен пакласці мой горад тут.
Ці я павінен паставіць свой горад тут.
І ўсё дэтэрмінавана.
Калі я кажу, паварушыць блок тут, мой блок ня рухаецца тут, калі перашкода раптам
уступае ў гульню.
Цяпер, гэта яшчэ не ўсё кампутарныя гульні, якія там сёння.
>> Калі я іду, і я гуляю першы тып асобы гульня, нешта накшталт Thief або Fallout
або Скайрим, або гало, у цяперашні час У мяне ёсць кампутарных супернікаў
якія там ёсць, што вельмі розныя сітуацыі.
Яны маюць, зноў жа, абмежаваную інфармацыю.
Яны толькі могуць убачыць нейкае поле зроку.
Абарона навакольнага асяроддзя з'яўляецца яшчэ дынамічным.
Рэчы ўвесь час змяняюцца.
>> Але зараз у мяне ёсць значна больш бесперапыннае прастору дзеянні.
Я магу быць толькі выглядваў трохі з дзвярнога праёму.
А некаторыя гульні, мой дзеянні выпадковыя.
Я атрымліваю, каб паспрабаваць пераскочыць праз гэтую сцяну, але я атрымаў шанец паломкі.
Гэтыя тыпы гульняў становяцца бліжэй і бліжэй да відаў кантролераў
што мы будуем у робататэхніцы.
>> У робататэхніцы, мы павінны выказаць здагадку, што ў нас ёсць абмежаваная інфармацыя.
У нас ёсць датчыкі, якія расказаць пра свет.
У нас ёсць заўсёды мяняецца, дынамічная сераду.
У нас ёсць свет, у якім ёсць месца бесперапыннай, а не дыскрэтнай.
І нашы дзеянні, калі мы спрабуем ім, ёсць шанец паломкі.
І на самай справе, сучасная гульня Кантролеры для вашага Halo суперніка,
або для тых НПС ў Skyrim, у асноўным запусціць невялікія архітэктур робататэхнікі.
>> Яны адчуваюць свет.
Яны будуюць мадэль свету.
Яны вылічыць на аснове набору мэты, якія яны хацелі б дасягнуць.
Яны плануюць дзеянні, заснаваныя на тое, што яны ведаюць.
А тыя, роўна тыя ж самыя віды сістэм, якія мы будуем у робататэхніцы.
Такім чынам, гэтыя архітэктуры, каб давесці гэтую назад разам,
часта вельмі тое ж самае.
>> Такім чынам, давайце паглядзім, калі мы можам бачыць, што.
Давайце вернемся да нашага крыжыкі-нулікі прыклад.
І я збіраюся задаць некалькі маіх пост-дакументы, каб прыйсці і дапамагчы мне.
Так Чэнь Мін, і Алесандра, і Аліўе, калі вы, хлопцы б прыдумаць.
І я буду мець патрэбу ў пара добраахвотнікаў
>> ОК, я ўбачыў руку права там у сярэдзіне.
Дазвольце мне ўзяць яшчэ адзін, хто-то далей у спіне можа быць.
Добра, там.
Давай до.
Добра.
Так што давайце лічыць, што крышку ўніз.
І калі вы, хлопцы, прыйдзе прама таму тут для мяне, фантастыка.
>> Так што гэта робат называецца Бакстер.
І Бакстер гэта робат, які гэта камерцыйная платформа, прызначаная
кампаніяй пад назвай Пераасэнсаванне.
І гэты робат прызначаны для малога вытворчасці.
Але сёння мы збіраемся выкарыстоўваць яго, каб гуляць у крыжыкі-нулікі.
Цяпер, гэты робат з'яўляецца таксама тое, гэта адносна унікальным.
Таму што, калі я дзе-небудзь стаялі блізка да стандартнай завадскі аўтаматызацыі
Сістэма, я б у вельмі цяжкім Небяспека раненні.
>> Бакстер, аднак, прызначаны для адносна бяспечна ўзаемадзейнічаць.
І таму я магу націснуць на гэтага робата.
І вы можаце бачыць, што гэта крыху трохі гнуткімі, як яна рухаецца вакол.
І я магу змяніць яго дзе я хацеў бы, каб гэта пайшло.
У цяперашні час у нармальным рабатызаваных сістэмы, мы б мець набор суставаў тут
які быў бы непасрэдна адказвае на каманды пазіцыі.
І яны не клапоцяцца абавязкова калі яны рухаліся праз адкрытым паветры,
або калі яны рухаліся праз мой грудной клеткі.
>> ДОБРА.
І, як правіла, калі вы былі тут з вытворчай сістэмы,
вы ніколі нікуды побач з ім.
Там будзе жоўты Бяспека стужка вакол яго.
Гэтая сістэма мае крыху іншы дызайн
быць прыязней і прасцей для людзей, каб ўзаемадзейнічаць,
у тым, што ў кожным суставе, гэта крыніца.
І замест таго, кантроль дакладная пазіцыя,
мы кантралюем пэўную колькасць крутоўны момант, пэўную колькасць сілы,
што мы хацелі б быць на гэтай вясной.
Добра, так што давайце мне прыняць нашы валанцёры тут.
Прывітанне, як цябе завуць?
>> АЎДЫТОРЫЯ: Луі.
>> Слухаць: Луі.
Прыемна бачыць вас.
І што ж?
>> АЎДЫТОРЫЯ: Дэвід.
>> СПІКЕР: Дэвід.
Вельмі прыемна.
Калі вы, хлопцы, будзе чакаць тут на секунду,
Я збіраюся даць вам шанец зрабіць гэта.
Так што гэта робат, калі вы прыдумалі і калі вы злёгку націснеце на яго,
Вы ўбачыце, што яна рухаецца няшмат.
І калі вы бераце яго прама тут, на запясце проста
вышэй, дзе гэтыя кнопкі, гэта Падобна на тое, што вы павінны захапіць кнопкі,
але захапіць прама над ім, а не, вы зможа вельмі мякка маніпуляваць
ў прасторы.
Луіс, вы хочаце, каб даць яму паспрабаваць?
Так дайце яго крыху націснуць, каб пачаць з.
І потым, калі вы паклалі пальцы тут і ўтрымаць яго,
таму што ён будзе рухацца для Вас тады.
Добра, вы хочаце, каб даць яму паспрабаваць?
Давай до.
Так дайце яго проста пяшчотны націсніце там, каб пачаць.
Вы можаце адчуць, што гэта такое.
І потым, калі вы бераце яго прама там, Вы зможаце манеўраваць у межах.
>> ДОБРА.
Так, як правіла, гэты від робата будзе выкарыстоўваць пры малых вытворчых маштабах.
І я збіраюся перамясціць гэтую руку толькі ўніз ў бок трохі тут.
Але сёння, мы збіраемся выкарыстоўваць ж крыжыкі-нулікі гуляць сістэма
на аснове минимакса, што мы раней пабудаваных.
ДОБРА?
Так, вы, хлопцы, кожны збіраецца гуляць у гульню.
Луіс, вы збіраецеся быць першым.
Дазвольце мне правесці тут на секунду.
Я збіраюся, каб вы стаяць прама тут, проста так што кожны можа бачыць Вас.
Вы, хлопцы стварылі тут?
>> РОБОТ: Сардэчна запрашаем.
Давайце гуляць у крыжыкі-нулікі.
Не понять ваш маркер, перш чым Я кажу, што гэта ваша чаргу.
Я пачаць гульню.
Гэта мая чарга.
Слухаць: Цяпер, калі вы маглі б узяць адзін з Вашы частак і ісці наперад і змясціць яго.
РОБОТ: Гэта ваша чаргу.
[Смех]
Гэта мая чарга.
[Смех]
Гэта ваша чаргу.
СПІКЕР: чалавечы гонка разлічвае на вас тут, Луі.
>> РОБОТ: Гэта мая чарга.
>> Слухаць: Так Бакстер паспяхова блакаваная тут.
>> РОБОТ: Гэта ваша чаргу.
Гэта мая чарга.
Гэта ваша чаргу.
Гэта мая чарга.
Слухаць: І мы дамо Бакстер скончыць свой апошні крок тут.
>> [Смех]
>> РОБОТ: Гэта гальштук.
Я выйграю ў наступны раз.
>> [Смех]
>> Слухаць: Добра, дзякуй вельмі шмат, Луі.
Дзякуй.
Вы можаце ісці па гэтым шляху.
>> РОБОТ: я пачынаю гульню.
Слухаць: Такім чынам, дазвольце мне растлумачыць, Вам яшчэ адзін маленькі
трохі, перш чым мы атрымаем нашу рэванш тут.
Што менавіта адбываецца?
Такім чынам, робат мае камеры наверсе тут.
І гэта, гледзячы на ​​дошку.
І гэта ці бачыць ён атрымаў чырвоную O або сіні
і белы X. Як тыя аб'екты змяшчаюцца на дошка, гэта ў асноўным тое ж самае ўваход
што мы прачыталі б у ад наша структура дадзеных з нашага экрана.
Гэта працуе той жа Алгарытм минимакса быць
стане знайсці, дзе размясціць добрую фішку.
>> І тады мы даём каманду аб дзе мы хацелі б маркер павінен быць змешчаны.
Рука рухаецца з.
Гэта з дапамогай вакуумнага захопу, каб прымяніць некаторыя ўсмоктвання ў гэтай кавалка дрэва,
забраць яго, перамесціце яго направа пляма, а затым адпусціце ўсмоктванне
і змесціце яго.
Добра, мы збіраемся каб даць яму яшчэ адзін стрэл
з трохі разумнейшыя гульца тут.
Вы гатовыя?
Добра, калі б вы стаяць прама тут і даць a-- ператварыць гэты шлях
так што вы можаце бачыць ўсіх.
І тады [неразборліва].
>> РОБОТ: Гэта мая чарга.
>> Слухаць: Бакстер пачне.
Гэта ваша чаргу.
Гэта мая чарга.
Гэта ваша чаргу.
Гэта мая чарга.
>> [Смех]
>> Слухаць: [шаптаўся] Проста хай ісці наперад і перамагаць.
РОБОТ: Гэта ваша чаргу.
Слухаць: Гэта нармальна.
>> РОБОТ: Гэта мая чарга.
>> [Смех]
>> Я выйграю.
>> [Смех]
>> Я пачаць гульню.
>> Слухаць: Добра, дзякуй вельмі шмат.
Добра, я думаю, што мы атрымалі час для яшчэ адзін выдатны крыжыкі-нулікі плэер,
хто можа пакласці гэтую рэч супадаюць, хто ведае, што яны робяць.
>> [Смех]
>> Хто будзе наш чэмпіён тут?
Добра, вашыя сябры добраахвотна вас.
Гэта дастаткова добра для мяне.
Скажы мне сваё імя зноў.
АЎДЫТОРЫЯ: Таміру.
Слухаць: Таміру, прыемна цябе бачыць.
Добра, раз мы збіраемся паставіць вас прама тут, так што кожны можа бачыць Вас.
Вы наш прадстаўнік у гэтым матчы цяпер.
Бакстер з'яўляецца адным і пра і а.
Або прабачце, адзін і адзін, а.
І гэта да вас тут.
Бакстер атрымаеце для перамяшчэння па-першае, хоць.
Такім чынам
РОБОТ: Гэта мая чарга.
>> [Смех]
>> Гэта ваша чаргу.
Гэта мая чарга.
Гэта ваша чаргу.
Гэта мая чарга.
Гэта ваша чаргу.
>> [Смех]
РОБОТ: Гэта мая чарга.
СПІКЕР: Гэта нашмат складаней, калі Вы стаіце тут, хлопцы.
[Смех]
РОБОТ: Вы людзі так лёгка перамагчы.
[Смех і апладысменты]
Слухаць: Дзякуй вельмі шмат.
РОБОТ: я выйграю.
Я пачаць гульню.
>> Дакладчык: Добра, дзякуй вельмі шмат Аліўе, і Алесандра,
і Чэнь Мін.
>> [Апладысменты]
>> Я хачу, каб у апошні момант.
Так Бакстер ў вельмі заканчваецца, падманулі.
І гэта было нечакана.
Адзін з фантастычныя рэчы, пра ІІ, што мы
зрабіць працу ў AI, так што мы можам пабудаваць сапраўды цікавы і разумны
прылады.
Але мы таксама робім працу ў AI таму што ён кажа нам сёе-тое
аб тым, як людзі разумныя.
>> Адзін з любімых Даследаванні, праведзеныя ў маёй лабараторыі з'яўляецца
гледзячы на ​​тое, што адбываецца, калі машыны нечакана падмануць.
Мы зрабілі гэта першапачаткова ня з Бакстер гуляе ў крыжыкі-нулікі,
але з меншым робата па імі НАО, які гуляў рок-нажніцы-папера.
А часам пасля гуляць шмат і шмат
сумных рок-нажніцы-папера гульні, робат будзе кідаць жэст,
страціць, а потым раптам змяніць яго жэст і сказаць, я выйграю.
>> [Смех]
>> Цяпер, часам мы таксама робата, толькі ў якасці кантролю, кінуць жэст,
выйграць, і змяніць яго жэст страціць, кінуць запалку,
чыць для таго, каб страціць.
І гэта далёка не пераканаўчымі.
Робат, які падманвае для таго, каб выйграць людзей
адказаць на, як калі б гэта , Каб атрымаць іх, як гэта
актыўна шукае іх разбурэнне.
>> [Смех]
>> Яна становіцца агентам.
Гэта як чалавек.
Ён мае веру і намер.
І гэта не добры намер.
І робат, які кідае гульня проста няправільна.
Гэта проста разбітае прылада.
Дазвольце мне паказаць вам пару прыкладаў таго, што ад некаторых з нашых удзельнікаў.
Дык вось падман, каб страціць.
>> [Прайграванне відэа]
- [Неразборліва] выйграць.
Давай гуляць.
>> Пачакай, што?
>> - [Неразборліва] выйграць.
Давай гуляць.
>> [Неразборліва] выйграць.
Давай гуляць.
>> Слухаць: І вось падман, каб выйграць.
>> Так, я выйграю.
Давай гуляць.
>> -Вы Ня можаце гэтага зрабіць.
>> [Смех]
>> Так, я выйграю.
-Вы Падманулі.
Цяпер вы падманулі.
>> Так, я выйграю.
>> Эй, вы махляр.
Вы падманваеце, супер чыць.
>> [КАНЕЦ ПРАГЛЯДУ]
>> Слухаць: Такія розныя Рэакцыі хутка
змяніць наша ўспрыманне прылады.
Ці значыць гэта, што мы свядома будаваць
машыны, якія падманваюць, таму што гэта лепшы інжынерна што мы можам зрабіць?
Няма, але гэта кажа нам сёе- сапраўды цікава пра людзей.
Гэта рэч, якая падманвае вас і крадзе ваша перамога, гэта
тое, што жывы, што гэта анімацыі, гэта, каб атрымаць Вас.
Ён мае псіхічнае стан.
Ён мае веру.
Ён мае намер.
>> Гэта рэч, якая ўручае гульня для вас, гэта не так.
Вось толькі са збоямі.
Гэта шмат у чым, чаму гэта лёгка кінуць гульню з дзецьмі.
Але калі вы паспрабуеце падмануць іх і накшталт прэтэндаваць на перамогу
калі вы ведаеце, проста, каб скараціць гульня, яны зловяць вас адразу.
Гэтыя віды эфектаў, мы бачым, выходзіць з AI,
яны вучаць нас шмат чаму пра сябе.
>> Добра, гэта ўсё на сёння.
Вялікі дзякуй Давіду і здымачная група Гарвардскага
для спускаецца.
>> [Апладысменты]
>> Мы будзем бачыць Вас на адным віктарыны, а затым на працягу адной апошняй лекцыі.
Добрага дня.
>> [Апладысменты]
>> [Гуляе музыка]
Дэвід Дж малая: Ну, мы, верагодна, павінны ўвесці нейкі шыфравання,
дакладна?
Таму што тады загалоўках гэтыя HTTP запыты будуць
амлет так, што хто- спрабуючы абнюхаць трафіку
на самай справе не ў стане бачыць іх.
Так што рашэнне гэтай праблемы?
Ну, мы павінны фактычна ўвесці Шыфраванне ў формулу,
так што, калі гэты чалавек перадачы дадзеных ад А да Б,
мы можам надзейна send--
>> [Смех]
>> Інфармацыя такім чынам, што праціўнік не можа, на самай справе, убачыць яго.