[მუსიკის დაკვრა] დინამიკები: კეთილი, ყველას. ეს არის CS50. და დღეს ჩვენ გვაქვს ბევრი საინტერესო რამ ვისაუბროთ. თუმცა, პირველ რიგში, მე უნდა შევახსენო თქვენ რამდენიმე ადმინისტრაციული რამ. ამ კვირაში ვიქტორინა ერთი, ოთხშაბათი ან იელის განყოფილებაში სამშაბათს და ხუთშაბათს, ხუთშაბათს. არსებობს ინტელექტუალური მიმოხილვა დღეს იელის, 5:30 to 7:00. ჰარვარდის, ისინი ჩაწერილი ერთი გუშინ. და ყველას შეგიძლიათ ნახოთ, რომ ონლაინ რეჟიმში. გარდა ამისა, ამ კვირაში ან მომდევნო კვირის დასაწყისში, ჩვენ გვაქვს ჩვენი ბოლო CS50 ლექცია. [მადლობები] მე ვიცი. იგი მოვიდა ასე მალე. იელის სტუდენტებს ექნებათ პირდაპირ ეთერში ლექცია აქ სამართლის სკოლა აუდიტორიაში პარასკევს. იქნება ტორტი. ჰარვარდის სტუდენტებს ექნებათ ბოლო ლექცია Sanders ორშაბათს. ასევე იქნება ტორტი. გარდა ამისა, ამ კვირაში, პარასკევს, მათთვის, თქვენ, რომლებიც მოდიან New Haven, ჩვენ გვაქვს CS50 ექსპო. ჩვენ გვაქვს 30-ზე მეტი სხვადასხვა ჯგუფების რეგისტრირებული აჩვენებს, თუ ყველაფერი საწყისი ავტონომიური sailboats, სისტემები, აღიარებს ციფრული პორტრეტი, კომპიუტერული მუსიკა და კომპიუტერული წარმოებული მუსიკა. ასე რომ, გთხოვთ, შემოგვიერთდეთ. ვფიქრობ, ეს იქნება დიდი დრო. დღეს, თუმცა, ჩვენ კიდევ გაგრძელდება ვსაუბრობთ AI, შესახებ ხელოვნური ინტელექტი. და კიდევ ერთი რამ, რომ ჩვენ ვაპირებთ, რომ მიიღოთ დღეს არის იდეა, თუ როგორ უნდა გამოყენება AI პრობლემების მოსაგვარებლად. ახლა, როგორც ყოველთვის, მოდით დავიწყოთ რაღაც მარტივი. და ჩვენ ვაპირებთ, რომ დაიწყოს მარტივი იდეა. და რომ ის გამოყენებით ძებნა. ასე რომ, ერთი წუთით წარმოიდგინეთ, რომ მე აქვს დავალება, რომ მე უნდა შეასრულოს. მე მინდა, რომ აქვს ამოცანა ავტომატური ზოგიერთი პროგრამული აგენტი. წარმოიდგინეთ, რომ ვცდილობ წიგნის კომპლექტი ფრენების, ასე ვთქვათ, Boston სან ფრანცისკოში. მე ვერ გადის და მე ვერ გამოიყენებს ერთ საოცარ ძებნა ინსტრუმენტები, რომელიც აპირებს ძირითადად იგივე პროცესი, რომელიც ჩვენ აპირებს გავლა დღეს. მაგრამ თუ არ აქვს, რომ ინსტრუმენტი, რას იზამდით? ისე, თქვენ შეიძლება გამოიყურებოდეს და ვხედავ და ვთქვა, მე ბოსტონში. რა რეისების ხელმისაწვდომია ჩემთვის? ახლა, შესაძლოა, მაქვს სამი შესაძლებელია რეისები გარეთ Boston რომელიც შეესაბამება დრო როდესაც მე უნდა დატოვონ. მე ვერ ფრენა ჩიკაგოში. ან მე ვერ ფრენა Miami. ან მე ვერ ფრენა ნიუ იორკში. მე მაშინ გამოიყურება თითოეული ერთ-ერთი იმ დანიშნულების ქალაქი და ვიფიქროთ, რა ადგილას მე შეიძლება მიაღწიოს თითოეული იმ ინდივიდუალური ქალაქებში. ასე რომ, შესაძლოა, Chicago, მე შეუძლია მიიღოს პირდაპირი რეისი სან ფრანცისკოში. ეს არის შესანიშნავი. ან მე ვერ მიიღოს ფრენის Denver. ახლა, შესაძლოა, რომ ფრენის San Francisco არის სრულყოფილი გადაწყვეტა ჩემთვის, მაგრამ იქნებ არა. იქნებ ვეძებ რაღაც რომ ცოტა იაფი ან ცოტა უკეთესი, ჩემი გრაფიკი. ასე რომ, მე ვერ გამოიყურება რა სხვა შესაძლებლობები შეიძლება იყოს იქ. ასე რომ, მე შეიძლება შევხედოთ Denver. და Denver, ასევე, შესაძლოა, მე შეუძლია მიიღოს ფრენის -დან Austin -ში. და Austin, შესაძლოა, მე შეუძლია მიიღოს ფრენის Phoenix, და Phoenix სან ფრანცისკოში. ახლა, მე არ გაუკეთებია. იმის გამო, რომ, შესაძლოა, იქ პირდაპირი ავიარეისი New York სან-ფრანცისკოში, რომელიც არის სრულყოფილი ჩემთვის. ან იქნებ იქ რეისს Miami მეშვეობით Denver რომ ბევრი იაფია. ასე რომ, მე მაინც უნდა წავიდეს. და მე მაინც უნდა შევხედოთ ყველა იმ ქალაქებში, რომლებსაც არ არის გამოძიებული. მე უნდა ამომწურავად შეამოწმოს ყველა შესაძლებლობა, რომ მე შეიძლება ჰქონდეს. ასე რომ, New York, შესაძლოა, მე შეუძლია მიიღოს ფრენის Nashville, და Nashville -დან Austin -ში. და მერე მე ვიცი, სადაც მე ვარ. და მერე მე ვიცი, Austin, შემიძლია ფრენა Phoenix, და Phoenix სან ფრანცისკოში. თუ მე ფრენა პირველი Miami, თუმცა, იქნებ მე შეუძლია მიიღოს რეისს Miami ნეშვილში, ან Miami -დან Austin -ში. ახლა მე შევეცადე ყველა შესაძლებლობები. მე ავაშენეთ up ამ გრაფიკზე აჩვენებს ჩემთან ყველა შესაძლო მარშრუტები რომ მე შეიძლება შეძლებს მიიღოს. როდესაც ჩვენ წარმოადგენს ამ სახის პრობლემები, ჩვენ არ ვაპირებთ წარმოადგენს მათ მკაფიოდ, როგორც ამ გრაფაში, იმიტომ, რომ გრაფაში არ წარმოადგენს ისტორია, სადაც ჩვენ წავიდა. იცის, რომ მე გაფრინდა Phoenix -დან San Francisco არ მითხრათ თუ არა მე, მსაჯის Nashville, ან გავლით Denver, ან გავლით Miami. ასე რომ, რაც მე ამის ნაცვლად მე მიიღოს ეს იგივე პრობლემა, და მე, წარმოადგენს მას, როგორც ხე. და ერთი ძირი ხე, ზე დაბრუნება, მე ამას იმ ადგილზე, რომელიც დაიწყო, Boston. და Boston, მე შევხედოთ ყველა შესაძლო ადგილას რომ მე შემიძლია გამგზავრება. ისე, ამ შემთხვევაში, მე მქონდა სამი, ჩიკაგოში, ნიუ-იორკში, Miami. და მაშინ მე შეისწავლონ თითოეული ამ ბავშვების ხე. მდებარეობა ჩიკაგოში, დავინახე, რომ მე მქონდა ორი რეისები. მე ვერ დაფრინავენ პირდაპირ San Francisco ან Denver. ახლა San Francisco, რომ ჩემი მიზანი. ეს არის ჩემი დანიშნულების. ეს იქნება ფოთოლი ამ ხე. ეს არის ის, მე არასდროს წასვლა სადღაც შემდეგ სან ფრანცისკოში. Denver, თუმცა, მე შემიძლია ფრენა მოძიებაში Denver Austin, Austin -დან Phoenix, და Phoenix -დან San Francisco. და ახლა ისევ, მე მიაღწია ფოთოლი. მე მაშინ დაბრუნდეს შემდეგი ქალაქი, რომელიც მე არ არის სრულად შესწავლილი. ეს იქნება New York, წავიდეთ უკან ზევით ჩემი ხე, ჩამოდი ნიუ იორკში. მდებარეობა New York, მე შეუძლია ფრენა Nashville, Nashville -დან Austin, Austin -დან Phoenix, და Phoenix -დან San Francisco. და ბოლოს, ერთ ქალაქში მე არ შევხედე ჯერ, Miami. კარგად, Miami მე ვუთხარი, რომ ორი შესაძლებლობები, Nashville ან Austin. თუ მე ფრენა Nashville, ასევე მაშინ მე ფრენა საწყისი ნეშვილში, Austin, Phoenix, სან ფრანცისკოში. თუ მე ფრენა Austin, მე ფრენა Austin, Phoenix, სან ფრანცისკოში. და ახლა აქვს ხე. ეს სრული ხე. ეს ყველა შესაძლებლობა, და ყველა ბილიკები, რომ მე ვერ მიიღებს. რომ არის, თუ მე იწყება ხის ფესვი ზედა და ქვევით ერთი ტოვებს, ის მეუბნება, არა მხოლოდ სადაც მე ვაპირებ დასრულდება, San Francisco, მაგრამ ის მეუბნება, მარშრუტი, რომ მე უნდა მიიღოს, რათა იქ. ახლა, რომელიც ერთ-ერთი ასეთი არის საუკეთესო? ისე, ამის შესახებ არაფერი პრობლემა არ არის მეუბნება რომელიც იმ არის საუკეთესო გამოსავალი. იქნებ მე მაინტერესებს ყველაზე მეტად , რამდენი დრო მე ჰაერში, ან მანძილი, რომ მე საფრენი. იმ შემთხვევაში, ჩიკაგოში San ფრანცისკოში შეიძლება იყოს მოკლე ნომერი მილის ჰაერში. იქნებ მე აინტერესებს ღირებულება. და ჩვენ ყველამ ვიცით რეისების როგორც წესი, უფრო ძვირი. ასე რომ, შესაძლოა თუ მე ამ სახის უკან მარშრუტი მეშვეობით Miami, Nashville, Austin, Phoenix, იქნებ მაშინ მე კიდევ უფრო დაბალ ფასად. მაგრამ მე ვერ ოპტიმიზაცია ნებისმიერი კრიტერიუმები, რომ მე აინტერესებს. ვინ მიიღო საუკეთესო ფრენის Wi-Fi, ან რომელიც აეროპორტს აქვს საუკეთესო საკვები არის შესაძლებელი. და თითოეული იმ ძალის მომეცი გადაწყვეტა რომ ვხედავ როგორც საუკეთესო. ამ სახის პრობლემები, სადაც ჩვენ ვაპირებთ აშენება ამ ხე შესაძლებლობები და შემდეგ შევხედოთ თითოეული იმ ინდივიდუალური ბილიკები, და შეამოწმოს რომელიც იმ ასრულებს კრიტერიუმები ჩვენთვის, ჩვენ ვაპირებთ, რომ მოვუწოდო იმ საძიებო პრობლემები. და ჩვენ გვაქვს უამრავი ალგორითმები, რომელთაგან ზოგიერთი ჩვენ ვნახეთ უკვე, უნდა წავიდეს და შეისწავლონ იმ ხეები. ჩვენ შეგვიძლია ამის გაკეთება ისე, რომ მე უბრალოდ გააკეთა, სიღრმე პირველი საძიებო, აპირებს ქვემოთ რამდენადაც ჩვენ შეგვიძლია, სანამ ჩვენ მოხვდა ფოთოლი, და შემდეგ მოდის უკან, და უფლება უკან ქვემოთ. ან ჩვენ შეგვიძლია გავაკეთოთ რა მოუწოდა სიგანის პირველი ძებნა. ჩვენ შეიძლება გაფართოებას ყველაფერი ზედა, და შემდეგ ყველაფერი ერთი ხაზი ქვევმოთ რომ, და შემდეგ ყველაფერი ერთი ხაზი ქვეშ რომ. ისინი, ძებნის ხეები ფუნდამენტური AI. მაგრამ ისინი არ მიიღოთ საკმაოდ ეს უფლება ყველა დროის. სინამდვილეში, ბევრი შემთხვევები რომ ჩვენ ნამდვილად აინტერესებს, ჩვენ გვსურს, ავაშენოთ ხე, მაგრამ ჩვენ არ რეალურად მისაღებად ყველა იმ გადაწყვეტილებას. ეს არის სიტუაციები, ე.წ. შეჯიბრებითობის ძიება, ასევე ცნობილი როგორ დაწერა თამაში სათამაშო სისტემები და მიიღოთ გადახდილი ეს. მაგრამ ეს არის სახის სისტემები, სადაც მე შეიძლება აირჩიოს, როდესაც მე წასვლა Boston, რომელიც ქალაქის მე წასვლა მომდევნო. მაგრამ ამის შემდეგ, ვინმეს შეიძლება მიიღოს უნდა მიიღოს გადაწყვეტილება, სადაც მე ფრენა. ასე რომ, ავაშენოთ ეს სახის სტრუქტურები, ჩვენ აპირებთ უნდა მიიღოს ოდნავ განსხვავებული მიდგომა იგი. ჩვენ არ ვაპირებთ შეძლებს უბრალოდ ძებნის მეშვეობით ხე აღარ, იმიტომ, რომ ჩვენ არ ვართ ერთი, რომ კონტროლი თითოეული იმ გადაწყვეტილების რაოდენობა. მოდით წარმოვიდგინოთ, მარტივი თამაში მოსწონს tic-TAC-toe. მე ვერ იწყება სრულიად ცარიელი ფორუმში. და tic-TAC-toe, X იღებს ითამაშოს პირველი. ასე რომ, მე ვფიქრობ ყველა შესაძლო ნაბიჯები, რომ X შეიძლება მიიღოს. და თუ მე ერთი სათამაშო X, რომ დიდი. მაქვს ცხრა შესაძლებელია მოძრაობს, რომ მე შემიძლია. მე ვერ დააყენა X ნებისმიერ იმ ცხრა პოზიციებზე. და მაშინ თითოეული იმ, მე ვერ წარმომიდგენია, რა მოხდება შემდეგ. ისე, ამ შემთხვევაში, სხვა მოთამაშე დაიჭერს მიიღოს მხრივ. O დაიჭერს მიიღოს მხრივ. და თითოეული იმ, არსებობს იქნება რვა სხვადასხვა ადგილზე რომ O შეიძლება განათავსონ მათი მარკერი. ვთქვათ, მე გადავწყვიტე, რომ მე ვიყავი აპირებს ბოლო X ცენტრში. რომ ყოველთვის, როგორც ჩანს, კარგი გახსნის ნაბიჯი. მე ვერ შევხედოთ ქვეშ, რომ რვა შესაძლო ნაბიჯები, რომ O ხდის. ახლა კი, თუ მე ვთამაშობდი X, რომ მშვენიერი. მე აირჩიოს, რომელიც ერთი მე წასვლა, ერთი ცენტრიდან. მაგრამ ახლა O იღებს აირჩიოს. და მე არ უნდა კონტროლი გამო, რომ გადაწყვეტილება. მაგრამ თითოეული იმ შესაძლებელია ფორუმში პოზიციებზე, იქ მაშინ სხვა მითითებული შესაძლებლობები. როდესაც საქმე უნდა იყოს ჩემი მხრივ, კიდევ ერთხელ, მე უნდა აირჩიოთ და აცხადებენ, რომ, ასევე, თუ O გადადის, ასევე, შუა ადგილას მარცხენა, მაშინ მაქვს კომპლექტი შესაძლებლობები სადაც მე შეუძლია ჩემი შემდეგი ნაბიჯი. იმ შემთხვევაში, მე ვერ განიხილოს ყველა შესაძლებლობები ქვეშ მათ. და მაშინ O დაიჭერს აირჩიოს შორის იმ. და მე ვერ შენარჩუნება აშენებს ეს ხე, სანამ მე მივიღე იმ წერტილში სადაც არც ვინმე იგებს game--, რომ მიიღო განიხილება ფოთოლი კვანძის ან გამგეობის სრულიად სრული და არავინ მოიგო. და ეს ასევე იქნება ფოთოლი კვანძში. ეს იქნება საშუალება. მაგრამ სახიფათო რამ ამ არის თუ ეს იყო მხოლოდ რეგულარული ძიება პრობლემა, მე მინდა შეძლებს ვთქვათ, კარგად, X უნდა წავიდეს აქ. და O უნდა წავიდეს გზა იქ. და მაშინ X უნდა წავიდეთ აქ. და მაშინ O უნდა წავიდეს გზა იქ. და მაშინ X შეგიძლიათ სამი ზედიზედ, და მე გაიმარჯვებს. და თამაში იქნება მეტი ხუთ ნაბიჯები, სამი ჩემთვის, ორი ჩემი მოწინააღმდეგე. მაგრამ მე ყოველთვის არ უნდა აირჩიოს, რომ. ასე რომ, ნაცვლად, რაც ჩვენ აპირებთ უნდა გააკეთოს არის ჩვენ ვაპირებთ აქვს აქვს ახალი სტრატეგია. და სტრატეგიაზე, რომელიც თამაშის-სათამაშო ალგორითმები ხშირად იყენებენ რასაც minimax. ცენტრალური იდეა minimax არის, რომ ჩვენ ვაპირებთ აირჩიოთ ნაბიჯი, რომელიც იძლევა ჩვენი მეტოქე უარესი კომპლექტი გადადის, რომ მათ შეუძლიათ. იგი ამას არ გააკეთებს ჩემთვის ნებისმიერი კარგი აირჩიოს ნაბიჯი, სადაც მე შეიძლება შეძლებს მოგების შემდეგ რომ, იმიტომ, რომ ჩემი მოწინააღმდეგე არ არის აპირებს მომეცი, რომ შანსი. ისინი აპირებენ აირჩიოს გარკვეული საშინელი შედეგით ჩემთვის. ამიტომ, მე ვაპირებ, რომ გადატანა, რომელიც აიძულებს ჩემი მოწინააღმდეგე , რომ რამე უკეთესი ჩემთვის. ყველა უფლება. ვნახოთ, როგორ ასრულებს გარეთ. ასე რომ, აქ არის ჩვენი ალგორითმს pseudocode. ჩვენ ვაპირებთ, რომ გენერირება მთელი თამაში ხე. ჩვენ ვაპირებთ, რომ ავაშენოთ მთელი სტრუქტურა. და მაშინ ჩვენ გავლა. და ძალიან ბოლოში ყოველ ტერმინალის კვანძების, ყოველ ფოთლები, ჩვენ შევაფასოთ, რამდენად მნიშვნელოვანი ის არის, რომ მე? და ჩვენ ვაპირებთ, რომ ღირებულება რამ, რომ კარგი ჩემთვის, როგორც პოზიტიური. რაც არ არის კარგი ჩემთვის ნაკლები იქნება დადებითი, ან ნულოვანი, ან თუნდაც უარყოფითი. ასე რომ, tic-TAC-toe, შესაძლოა, win ჩემთვის არის კარგი. ეს არის ერთ-ერთი. და ჰალსტუხი არის ნულოვანი. და რაღაც რომ დაკარგვა მე, შესაძლოა, უარყოფითი ერთი. ყველა თემა არის ის, რომ უკეთესი ეს არის ჩემთვის, უმაღლესი ქულა იგი იღებს. იმ შესაძლებლობების ზე ბოლოში, მაშინ ჩვენ გავფილტროთ მოყოლებული. ხოლო როდესაც ეს ჩემი შანსი აირჩიოს შორის კომპლექტი ალტერნატივა, მე აირჩიოს ერთი, რომ უმაღლესი ქულა მივიღე. და როდესაც ეს ჩემი ოპონენტები აქციოს აირჩიოს, მე ვივარაუდოთ, რომ ისინი აპირებენ აირჩიეთ ერთი ყველაზე დაბალი ქულა. და თუ ამის გაკეთება ყველა გზა ზევით ხე, მე ავირჩიე გზა, რომელიც იძლევა ჩემთვის საუკეთესო შედეგს, რომ მე შეუძლია მიიღოს, თუ გავითვალისწინებთ, რომ ჩემი მოწინააღმდეგე იღებს ყველა უფლება გადადის. ყველა უფლება, ასე რომ ვნახოთ ეს აქცია პირველი. და მაშინ ჩვენ რეალურად შევხედოთ კოდი იგი. წარმოიდგინეთ მაქვს ეს დიდი ხე. და ახლა მე არ თამაშობენ tic-TAC-toe. მინდოდა გაძლევთ რაღაც ცოტა მდიდარი. ასე რომ, მე მივიღე რამდენიმე თამაში, სადაც არსებობს ბევრი სხვადასხვა ქულა რომ მე შეიძლება ბოლოს. ასე რომ, მე ავაშენოთ ეს სრული ხე. და მე გადაადგილება პირველი. მე ვარ ძირი ხე. და მე უნდა აირჩიოს that-- ასე რომ მე რომ მაქსიმალურად მასშტაბით, რომ პირველი კვანძი. და მაშინ ჩემი მოწინააღმდეგე იღებს წასვლა. და მაშინ მე წასვლა კიდევ ერთხელ. ასე რომ, ქვემოთ ბოლოში, მე მაქვს კომპლექტი შესაძლებლობები, რომ შეგიძლიათ, სხვადასხვა ტერმინალის სახელმწიფოების თამაში. თუ მე ვარ ქვემოთ რომ შორს მარცხენა კუთხეში, და მე ვხედავ, რომ მე მაქვს არჩევანი შორის რვა, შვიდი, და ორი, ასევე, მე ერთი რომ იღებს აირჩიოს. ამიტომ, მე ვაპირებ აირჩიოს საუკეთესო ერთი იმ. მე ვაპირებ აირჩიოს რვა. ასე რომ, მე ვიცი, რომ თუ ოდესმე მიიღოს ქვემოთ რომ წერტილი, მე ვიქნები შეუძლია მიიღოს, რომ რვა ქულა. თუ მე დასრულდება მდე მომდევნო ეტაპზე მეტი, მომდევნო კვანძის მეტი, ცხრა, ერთი, ან ექვსი, ასევე, მე აპირებს აირჩიოს საუკეთესო იმ. მე აირჩიოს ცხრა. თუ მე მაქვს არჩევანი ორი და ოთხი, და ერთი, მე აირჩიოს ოთხი, უმაღლესი. ახლა, თუ მე შევხედოთ დონეზე ზემოთ რომ, ჩემი მოწინააღმდეგე არის ერთი იღებს, რომ არჩევანი. ასე რომ, ჩემი მოწინააღმდეგე იღებს აირჩიოს, არ მინდა, რომ მისთვის ის, რომ აპირებს მისაღებად მას რვა ქულა, ან შემიძლია მისცეს, რაც არის ვაპირებთ, რათა მას ცხრა რაოდენობა, ან რამ, რომ აპირებს მისცეს ოთხი ქულა? ჩემი მოწინააღმდეგე, როგორც რაციონალური, აპირებს აირჩიოს მინიმუმ იმ, აპირებს აირჩიოს ოთხ. და მე შემიძლია ამის გაკეთება მთელი ხე. შემიძლია წასვლა ქვემოთ რომ შუა სამი. და მე შეგიძლიათ აირჩიოთ შორის ერთი, სამი და ხუთი. და მე უნდა აირჩიოს. ასე რომ, მე აირჩიოს ხუთ. შემიძლია აირჩიოს სამ, ცხრა, ან ორი. მე უნდა აირჩიოს, ასე რომ აირჩიოს ცხრა. ექვსი, ხუთი, ან ორი, მე აირჩიოს. მე უნდა აირჩიოს ექვსი. დონეზე მაღლა რომ, რომელიც იღებს აირჩიოს? ვინ იღებს აირჩიოს? სხვა ბიჭი, ჩემი მოწინააღმდეგე. ასე რომ, ისინი აირჩიოს ხუთ, ცხრა, ან ექვსი, რომელი? აუდიტორია: ხუთ. დინამიკები: ისინი აირჩიოს ხუთ. მათ შეუძლიათ აირჩიონ მინიმალური. და შემდეგ ბოლო ერთი, აირჩიოს ერთი, ორი, ან სამი. მე უნდა აირჩიოს, ასე რომ აირჩიოს სამი. ცხრა, შვიდი, ან ორი, მე აირჩიოს ცხრა. და 11, ექვსი, ოთხი, მე აირჩიოს 11. ჩემი მოწინააღმდეგე ირჩევს სამი, ცხრა, ან 11, ირჩევს მინიმუმ. მან მაძლევს სამი. და ბოლოს ზედა ხე, მე უნდა აირჩიოს ერთხელ. და მე არჩევანის წინაშე ოთხი, ხუთი, ან სამი. ასე რომ, მე ხუთ. თუ მე მივიღე აკონტროლებენ ყველაფერს, მე მინდა მიიღოს გზა, რამაც 11. მაგრამ მე არ მიიღოს, რომ არჩევანი. თუ ქვევით, რომ გზა. ჩემი მოწინააღმდეგე აიძულებს ჩემთვის შევიდა არჩევანი, რომელიც იწვევს სამი. ასე რომ, საუკეთესო, რომ შემიძლია არის იმისათვის, რომ საშუალო ფილიალი, რომ არჩევანი, რომ, საბოლოო ჯამში, აპირებს გამოიწვიოს ჩემთვის ხუთ რაოდენობა. ეს არის ის რაც minimax აკეთებს. ყველა უფლება. მოდით შევხედოთ, რომ. ასე რომ, აქ CS50 IDE არის პროგრამა, რომელიც ახორციელებს minimax ითამაშოს tic-TAC-toe. ჩვენ ვაპირებთ, რომ ავაშენოთ up წარმომადგენლობა. ჩვენ ვაპირებთ, რომ გვაქვს ორი opponent-- ან ორი მოთამაშე, ჩვენი კომპიუტერი მოთამაშე და ადამიანის მოთამაშე. Player ნომერ იქნება სათამაშო ო ეს იქნება მანქანა მოთამაშე. ისინი გადაადგილება მეორე. და სხვა მოთამაშე, ჩვენი ადამიანის მოთამაშე იქნება X. და იმისათვის, რომ ჩემს ცხოვრებაში ცოტა მარტივი, მე ვაპირებ წარწერა, რომ მოთამაშე ნეგატიური. ასე რომ, შემიძლია გავამრავლო ნეგატიური სვოპ შორის ერთ-ერთი მოთამაშე და სხვა. ყველა უფლება, მოდით შევხედოთ რაც ჩვენ რეალურად აპირებს. ჩვენ ვაპირებთ, რომ გამოვხატოთ ჩვენი ფორუმში. ეს იქნება, ასევე, ჩვენ ვაპირებთ იმისთვის რომ იყოს სამი სამი, ან ჩვენ შეგვიძლია კიდევ ითამაშებს ხუთ ხუთი ან შვიდი შვიდი tic-TAC-toe თუ გსურთ ისევე როგორც, რომელიც ეფუძნება რამდენიმე განზომილება დ და ჩვენ გვაქვს რამდენიმე დამხმარე ფუნქციები რომ ყველაფერს გააკეთებს რამ, როგორიცაა ვრთავ ეკრანზე და ვწუხვარ, ინიციალიზაცია ჩვენი ცვლადები, გარკვევა ეკრანზე, მიაპყროს ფორუმში ეკრანზე, ერთი, რომელიც ამოწმებს ფორუმში იმისათვის, რომ ნახოთ თუ არა არ არის გამარჯვებული, ერთი, რომ parses მეშვეობით ბრძანების, უბრალოდ, რათა დაეხმაროს out, ერთი რომ წერია, შეყვანის და ერთი ფუნქცია მოუწოდა minimax. და ეს არის ერთ-ერთი ჩვენ ვზრუნავთ ყველაზე შესახებ. მაგრამ მოდით შევხედოთ პირველი მთავარი. რას ვაკეთებთ? ისე, ჩვენ ვაპირებთ გარჩევის ჩვენი ბრძანების, უბრალოდ წაიკითხა და ვნახოთ რა განზომილება საბჭოს ჩვენ გვინდა, რომ გვქონდეს. ჩვენ ინიციალიზაცია ჩვენი ფორუმში. და მაშინ ჩვენ შევა ერთი დიდი ველური loop, არაერთხელ მიიღოს გადადის სანამ თამაში მოიგო, ან არ არსებობს ნაბიჯები მარცხენა. ყოველ ჯერზე ჩვენ გაიაროს, რომ მარყუჟის, ჩვენ გარკვევა ეკრანზე. ჩვენ მიაპყროს ფორუმში ეკრანზე. და ჩვენ შეგნებულად ერთგვარი abstracting ამ მოშორებით როგორც subroutines, ასე, რომ ჩვენ არ უნდა ინერვიულოთ ძალიან ბევრი დეტალების შესახებ, თუ როგორ მოხდება. თქვენ არ გაქვთ კოდი დღესვე. და თუ გვინდა, გაეცნონ და გაირკვეს, ხედავთ მათ ყველა. მაგრამ ჩვენ მიაპყროს ფორუმში ეკრანზე. და მაშინ ჩვენ შემოწმება და ვხედავ, გვაქვს გამარჯვებული? აქვს ვინმეს მოიგო ეს თამაში? თუ მათ აქვთ, ჩვენ ბეჭდვა out გამარჯვება გაგზავნა. და ჩვენ დასრულდება თამაში. ჩვენ ასევე შემოწმება და თუ არსებობს ჰალსტუხი. ეს იქნება ადვილი თუ არსებობს ჰალსტუხი. ეს ნიშნავს, რომ ყველა ფართები სავსე, მაგრამ არ ყოფილა გამარჯვებული ამჟამად. შეიძლება ითქვას, ჰალსტუხი და უნდა გაკეთდეს. მაშინ რეალური meat-- თუ ეს არის მანქანა მოთამაშე, ჩვენ დავუშვებთ, რომ მანქანა მოთამაშე ძიება გამოყენებით ამ minimax ალგორითმი, მოვძებნოთ საუკეთესო ნაბიჯი, რომელიც მას შეუძლია. და მაშინ ჩვენ დააყენა, რომ ეს ნაბიჯი up. წინააღმდეგ შემთხვევაში, თუ ის ადამიანის მოთამაშე, ჩვენ წაიკითხა რამდენიმე შეყვანის ადამიანის. და მაშინ, თუ არა ის, რომ ადამიანის მოთამაშე ან მანქანა მოთამაშე, ჩვენ ყველაფერს გავაკეთებთ, რამდენიმე პატარა ბიტი შეცდომა შემოწმება, დარწმუნდით, რომ იგი რჩება საზღვრებში ფაქტობრივი ზომები ფორუმში ჩვენ, რა თქმა , რომ სივრცე ცარიელი, რომ არავის დააყენოს ცალი იქ უკვე. და მაშინ ჩვენ უბრალოდ დააყენა ნაჭერი ფორუმში, შეცვლა ფეხბურთელი მომდევნო ფენა, და ნამატი რამდენი ნაბიჯები არ მოხდა. ეს არის მთავარი მარყუჟის ჩვენი tic-TAC-toe თამაში. Minimax, მაშინ, არის ზუსტად ალგორითმი, რომ ჩვენ წინაშე. მხოლოდ რეგულირება, რომ ჩვენ გააკეთა ისე, რომ ჩვენ შეგიძლიათ ითამაშოთ უმაღლესი სამგანზომილებიანი დაფები ჩვენ ინახება ამ დამატებითი პარამეტრი ეწოდება სიღრმე. და სიღრმე უბრალოდ ამბობს, რომ, თუ მე ძიების ქვევით მეშვეობით, რომ ხე და მე ჯერჯერობით ქვემოთ მიღმა გარკვეული დონის სიღრმე რომ მე უბრალოდ არ მინდა წასვლა რაიმე, მე ვაპირებ შეჩერება და მხოლოდ შეაფასოს საბჭოს იმ ეტაპზე. მე შემოწმება და თუ არსებობს გამარჯვებული. თუ არსებობს გამარჯვებული, მე დააბრუნონ. წინააღმდეგ შემთხვევაში, მე გავლა loop. და მე ვიტყვი, ყველა შესაძლო ადგილებში რომ მე შესაძლოა, მიიღოს როგორც ჩემი ნაბიჯი, მე ავაშენოთ ჰიპოთეტური საბჭო, რომელიც მოიცავს ჩემი ნაბიჯი, რომ საბჭო, და შემდეგ რეკურსიული მოუწოდებს minimax. თუ ეს ჩემი ნაბიჯი, მე, რათა იპოვოს ერთი, რომ მივიღე უდიდესი ანგარიში. თუ ეს არის ჩემი მოწინააღმდეგის ნაბიჯი, ჩვენ ვხედავთ, ერთი, რომ მივიღე მინიმალური ანგარიშით. და ყველაფერი უბრალოდ აღრიცხვის. ყველა უფლება, ასე რომ ვნახოთ ამ პერსპექტივაში. სინამდვილეში, იქნებ ჩვენ მისაღებად რამდენიმე მოხალისეები ამუშავება და ითამაშოს tic-TAC-toe. [INAUDIBLE] და ერთი უფრო მეტიც, ორი, მარჯვენა. კარგით up. მოდით წავიდეთ წინ და გადატვირთეთ ეს მთლიანად. ასე რომ, hi. აუდიტორია: Hi. დინამიკები: რა გქვია? აუდიტორია: Gorav. დინამიკები: Gorav. აუდიტორია: მე Layla. დინამიკები: და Layla და Layla, ბოდიში. კარგით up. Gorav, ჩვენ ვაპირებთ, რომ თქვენ წასვლა პირველი. და მე ვაპირებ გთხოვოთ, რომ იყოს არა საშინლად კარგი tic-TAC-toe მოთამაშე. ასე, რომ ყველაფერი წნევის off თქვენ. ვნახოთ, მიუხედავად იმისა, რომ ჩვენი მანქანა მოთამაშეს შეუძლია რეალურად რაღაც ჭკვიანი. ასე რომ წავიდეთ წინ. თქვენ აპირებს აკრიფოთ რომელიც კოორდინაციას გსურთ განათავსოთ თქვენი იქსი. A0, OK, და მანქანა წავიდა დაუყოვნებლივ და თავისი ნიშნის A1. განათავსეთ O ფორუმში. ყველა უფლება, ახლა წავიდეთ წინ. სად გსურთ წასვლა? C2. ჩვენი მანქანა მოთამაშე მიღებული აქვს შუა მოედანზე, დაბლოკა თქვენ. ასე რომ, კარგი, ჭკვიანი რამ უნდა გააკეთოს. შენ დაბლოკა იგი. ეს არის შესანიშნავი. იგი იღებს კუთხეში. და ის აპირებს, რათა აიძულოს თქვენ მიიღოს ერთი ბოლო სივრცეში, B0. და თამაში დამთავრდა ჰალსტუხი. მაგრამ ეს ითამაშა გონივრული თამაში წინააღმდეგ, არა? ყველა უფლება წყალობით ძალიან ბევრი, Gorav. [ტაში] ყველა უფლება, Layla, ჩვენ ვაპირებთ up თამაში აქ. აუდიტორია: ოჰ, დიდი. დინამიკები: ჩვენ ვაპირებთ, რათა თქვენ ოთხი ოთხი tic-TAC-toe. ახლა, ოთხი ოთხი, თქვენ უნდა მოვიგოთ ოთხი ზედიზედ, არა სამი in a row. და ეს ყველაფერი შენია. ასე რომ, Layla მიიღო D1. ახლა ჩვენ უნდა დაიცვას ჩვენი კომპიუტერის მოთამაშე აქ. სამი სამი tic-TAC-toe არის ერთგვარი რამ რომ არ არის ადვილი ყველა ჩვენგანისთვის. მაგრამ მაინც ლამაზი, რომ ნახოთ კომპიუტერული მოთამაშე მიღების ჭკვიანი გადადის. ოთხი ოთხი იღებს იყოს ცოტა უფრო რთული. ლამაზად კეთდება. ყველა უფლება, Layla ის დასრულა. ოჰ, და ჩვენ უნდა დამთავრებულიყო არსებობს. მაგრამ მოდით კიდევ ერთი აქ. ასე რომ, Layla, მადლობა. ლამაზად კეთდება. [ტაში] ასე რომ, ჩვენი tic-TAC-toe მოთამაშე მიდის მეშვეობით და აღმოაჩენს ადგილას, წყვეტს მათი გამოყენებით ამ minimax. და მქონდა სიღრმე გარემოში რომ ასე, რომ ეს არ აწარმოებს ძალიან სწრაფად, რომელიც ალბათ ამიტომ Layla შეძლო ლამაზად წინ როგორც მან გააკეთა, და ძალიან კარგად. მაგრამ ეს სისტემა, რომელიც მხოლოდ გავლა და უხეში ძალის წავიდეთ ღრმა და ღრმა და ღრმა, და შევინარჩუნოთ მოძიებაში გადაწყვეტა რომ მათ სჭირდებათ, იმ სახის სისტემები საკმაოდ წარმატებული ამ, ასევე, სტანდარტული სამაგიდო თამაშები. და რეალურად, თუ დავაკვირდებით სამი სამი tic-TAC-toe თამაში, ეს არის ძირითადად პრობლემა მოგვარდა. და ეს არის მშვენიერი სქემა საწყისი Randall Munroe at xkcd, ჩვენება რომელიც გადავა თქვენ უნდა მიიღოს, იმის გათვალისწინებით, მოწინააღმდეგის გადადის. ეს არის ის, რომ ჩვენ შეგვიძლია ადვილად მიუთითოთ ვადამდე. მაგრამ რა ხდება, როგორც ჩვენ უფრო რთული თამაშები, უფრო რთული თამაშები, სადაც არ არსებობს უფრო დიდი დაფები, უფრო შესაძლებლობები, ღრმა სტრატეგია? გამოდის, რომ ამ უხეში ძალის ეძებს მაინც აკეთებს საკმაოდ კარგად, გარდა როდესაც თქვენ იმ წერტილში, სადაც, რომ ხე არის იმდენად დიდი, რომ თქვენ ვერ წარმოადგენს, რომ ყველა. როდესაც თქვენ ვერ გამოთვლაც მთელი ხე, როდესაც თქვენ არ შეგიძლიათ წავიდეთ წინ და დააყენებს თავს იმ წერტილში, სადაც თქვენ მიღებული მთელი ხე მეხსიერება, ან თუ თქვენ შეგიძლიათ მიიღოთ ეს მეხსიერება და იგი მხოლოდ მიიღოს თქვენ ძალიან დიდი ხნის ძებნის მეშვეობით ის, რაც თქვენ უნდა გავაკეთოთ რაღაც ჭკვიანია. იმისათვის, რომ გავაკეთოთ, რომ თქვენ უნდა გავაკეთოთ ორი რამ. პირველი, თქვენ უნდა გამოძებნოს გზა შეზღუდვის თქვენი სიღრმეზე. ისე, რომ OK. ჩვენ შეგვიძლია რაღაც ლამაზი, შიშველი მინიმალური და აცხადებენ, რომ თქვენ შეგიძლიათ მხოლოდ წასვლა ისე ღრმა. მაგრამ როდესაც თქვენ, რომ ეს ნიშნავს, რომ თქვენ ამ ნაწილობრივ არასრული დაფები. და თქვენ უნდა აირჩიოს, მომწონს ეს ნაწილობრივ არასრული ფორუმში, ან ეს ნაწილობრივ არასრული ფორუმში? და ჩვენი ოთხი ოთხი tic-TAC-toe თამაში, ჩვენი კომპიუტერის მოთამაშე ჩამოვიდა ბოლოში და ეს განაცხადა, მაქვს ორი სხვადასხვა დაფები. არც ერთი გამარჯვება. არც ერთი არის დაკარგვა. არც ერთი ჰალსტუხი. როგორ შემიძლია აირჩიოს მათ შორის? და არ აქვს გონივრული გზა აკეთებს, რომ. ჩვენ ვხედავთ ამ სახის შეფასების მოხდეს ყველა დროის როგორც ჩვენ შეღწევას უფრო რთული თამაშები. ჭადრაკი არის დიდი მაგალითია. ჭადრაკში, ჩვენ გვაქვს, პირველი ყველა, დიდი ფორუმში. ჩვენ ბევრად მეტი ცალი. და წესი ცალი და ისე, რომ ამ ცალი გადაადგილება კრიტიკულად მნიშვნელოვანია. ასე რომ, თუ გსურთ გამოიყენოთ minimax, მე უნდა იყოს შეუძლია განსაზღვროს და აცხადებენ, რომ ამ ფორუმში, სადაც არავის მოიგო ან წააგო კიდევ, რატომღაც უკეთესი, ვიდრე ეს სხვა ფორუმში, სადაც არავინ მოიგო ან წააგო. იმისათვის, რომ გავაკეთოთ, რომ მე შეიძლება გავაკეთოთ რამ, როგორიცაა მე შეიძლება მხოლოდ ითვლიან რამდენი ცალი მაქვს და რამდენი ცალი გაქვთ? ან მე, შესაძლოა, სხვადასხვა ცალი სხვადასხვა რაოდენობა. ჩემი დედოფალი ღირს 20 ქულა. შენი სალომბარდო ღირს ერთი წერტილი. ვინ უფრო მეტი რაოდენობა საერთო ჯამში? ან მე შეიძლება განიხილოს რამ მინდა, რომელიც მივიღე უკეთესი საბჭოს პოზიცია? ვისი მხრივ არის ის მომავალი, არაფერი რომ არ შემიძლია გთხოვთ შეაფასოთ უფრო ზუსტად რომელიც ასეთი შესაძლებლობები უკეთესია გარეშე ამომწურავად გათვალისწინებით ყველა ნაბიჯი, რომელიც შეიძლება მოვიდეს შემდეგ. ახლა, რომ მუშაობა, ერთი რამ, რომ უნდა გახდეს ნამდვილად მნიშვნელოვანია ჩვენთვის არ არის მხოლოდ მოძრავი სწორი ქვემოთ კონკრეტული სიღრმე ლიმიტი, მაგრამ მას შეუძლია იმის თქმა, ერთ-ერთი ასეთი იდეები, რომ მე აქვს იმდენად ცუდი, რომ ეს არ ღირს ყველა შესაძლო გზები რომ რამ შეიძლება ცუდი უარესი. უნდა გავაკეთოთ, რომ, ჩვენ დაამატოთ minimax პრინციპი მოუწოდა alph ბეტა. და ალფა-ბეტა ამბობს, თუ თქვენ გაქვთ ცუდი იდეა, არ დაკარგავთ დროს ცდილობს გაირკვეს, თუ რამდენად ცუდია ეს არის. ასე რომ, აქ არის ის, რაც ჩვენ ვაპირებთ გავაკეთოთ. ჩვენ ვაპირებთ, რომ ერთი და იგივე პრინციპები, რომ ჩვენ გვქონდა ადრე, იგივე minimax ტიპი ძებნა, მხოლოდ ჩვენ აპირებს შენარჩუნება სიმღერა, არა მხოლოდ რეალურ ღირებულებებს, რომ ჩვენ გვაქვს, მაგრამ ჩვენ შენარჩუნება სიმღერა მაქსიმალურად მნიშვნელობა, რომ მე ვერ, და ყველაზე უარესი შედეგი შეიძლება ჰქონდეს. და ნებისმიერ დროს, ყველაზე უარესი რამ ეძებს სავარაუდოდ, მე უარი თქვას, რომ ნაწილი ხე. და მე კი არ გადაიტვირთოთ ეძებს ის აღარ. ყველა უფლება, ასე წარმომიდგენია, რომ ჩვენ დავიწყოთ ეს იგივე თამაში ხე. და ახლა ჩვენ ვაპირებთ წავიდეთ ქვემოთ ისევ, ყველა გზა ქვემოთ რომ ქვედა მარცხენა კუთხეში. და რომ ქვედა მარცხენა კუთხეში, ჩვენ გამოიყურება და შევაფასოთ ამ ფორუმში. იქნებ ეს ოთხი ოთხი tic-TAC-toe ფორუმში, ან იქნებ ეს საჭადრაკო დაფაზე. მაგრამ ჩვენ შევხედოთ მას, და შევაფასოთ ეს, და მივიღებთ მნიშვნელობა რვა. ამ დროს, ჩვენ ვიცით, რომ ჩვენ ვაპირებთ, რომ კიდევ მინიმუმ რვა ქულა ამ ბოლოში გადაწყვეტილება. არ აქვს მნიშვნელობა, რა სხვა ორი არის, რომ შვიდი და რომ ორი. ისინი შეიძლება რაიმე ღირებულებები მათ სურდათ, რომ იყოს. ჩვენ ვაპირებთ, რომ მიიღოთ, რვა ქულა. ყველა უფლება, მაგრამ ჩვენ შეგვიძლია წავიდეთ წინ და შემოწმება. შესაძლოა ერთ-ერთი მათგანი არის უკეთესი, ვიდრე რვა. ჩვენ შევხედოთ შვიდი. ის არის, რომ უკეთესია, ვიდრე რვა? არა, ეს არ ცვლის ჩვენი აზრით ყველა. ჩვენ შევხედოთ ორი. ის არის, რომ უკეთესია, ვიდრე რვა? არა, ეს არ ცვლის ჩვენი აზრით ყველა. ახლა ჩვენ ვიცით, ჩვენ ამოწურა ყველა შესაძლებლობები არსებობს. ჩვენ არ ვაპირებთ მისაღებად რამე უკეთესი, ვიდრე რვა. ჩვენ ვაპირებთ, რომ მიიღოთ ზუსტად რვა. ასე რომ, ჩვენ შეიცვლება, რომ კვანძის და ვთქვათ, რომ არის რეალობაა. ჩვენ წავიდეთ ერთ დონეზე ზემოთ რომ. და ახლა ჩვენ ვიცით, რომ რაღაც რომ მინიმიზაციის დონეზე. ჩვენ ვიცით, რომ ჩვენ არასოდეს აპირებს მიიღოს მეტი რვა ქულა, თუ ვეშვებით ამ მიმართულებით. იმის გამო, რომ მაშინაც კი, როცა ორ სხვა დარგში აღმოჩნდება უნდა იყოს განსაკუთრებული და ღირს ათასობით ქულა თითოეული, ჩვენი მეტოქე მოგვცემს მინიმალური და მოგვცეს რვა. ყველა უფლება, ასევე, ვნახოთ. ჩვენ გავაგრძელებთ აპირებს ქვემოთ რომ გზა. ჩვენ დაცემას, რომ საშუალო მარცხენა. ჩვენ ვეძებთ ქვემოთ და ჩვენ ვხედავთ, რომ არსებობს ცხრა. ჩვენ ვიცით, რომ ჩვენ ვაპირებთ, რომ მიიღოს მინიმუმ ცხრა ქულები აპირებს ქვემოთ რომ შუა გზაზე. და ამ ეტაპზე, ჩვენ შეგვიძლია მხოლოდ პაუზის. და შეიძლება ითქვას,, მე იცით დონეზე მაღლა, მე ვაპირებ, რომ მიიღოთ არაუმეტეს რვა მიუთითებს აპირებს ქვემოთ ამ მიმართულებით. მაგრამ თუ მივედი შეტევით გეზი ნაცვლად მარცხენა გზას, მე კიდევ სულ ცოტა ცხრა ქულა. ჩემი მოწინააღმდეგე არ აპირებს ნება მომეცით დაცემას, რომ შუა გზაზე. მათ შეუძლიათ აირჩიონ. და ისინი აპირებენ აირჩიოს გეზი მარცხენა მიმართ რვა, ვიდრე შეტევით მიმართ რა არის მინიმუმ ცხრა ქულა. ასე რომ, ამ დროს, მე შეჩერება. და მე ვიტყვი, იცით რა? მე არ უნდა გამოიყურებოდეს უფრო ქვემოთ ამ მიმართულებით. იმის გამო, რომ მე არასოდეს არ აპირებს იქ. შემიძლია გაფართოებული გამო, რომ ერთ-ერთი, და შემიძლია გაფართოებული გამო, რომ ექვსი, იმიტომ, რომ ის არასდროს მოხდება. ასე რომ, მე დაცემას და მე განიხილოს შემდეგი შესაძლებლობა. მე დაცემას და მე ვიტყვი, მე ვხედავ ორი. მე ვიცი, თუ მე აქ ვარ, აპირებს მიიღოს მინიმუმ ორი. OK. მე შენარჩუნებას აპირებს. მე ვხედავ ოთხ. მე ვიცი, მე ვაპირებ, რომ მიიღოთ მინიმუმ ოთხი. ჯერ კიდევ ბევრი შორის ოთხი და რვა, თუმცა. ასე რომ, მე შენარჩუნება აპირებს. მე გამოიყურება ქვემოთ და მე ვხედავ, რომ არსებობს ერთი. ყველა უფლება, მე ვიცი, თუ მე ქვევით ეს გზა, მე ვაპირებ შეძლებს აირჩიოს ოთხ. რა ჩემი მოწინააღმდეგე აპირებს? შორის ის, რაც მაძლევს რვა, ის, რაც მაძლევს ოთხი, და ის, რომ მაძლევს მინიმუმ ცხრა, ასევე, ის აპირებს მომეცი ოთხ. და მე ვიცი, ახლა ძალიან ზევით, მე ვაპირებ შეძლებს მიიღოს მინიმუმ ოთხი ქულა ამ თამაშში. მთელი იდეა ალფა-ბეტა არის შეწყვიტა ნაწილები ხე ისე, რომ მე არ შევხედოთ მათ აღარ. მაგრამ ეს მაინც ჰგავს მე ეძებს ბევრი ხე. მოდით შენარჩუნებას აპირებს ქვემოთ. ჩვენ ქვევით მომდევნო ერთი ახლა. ქვემოთ ბოლოში, მე ერთი. მე ვიცი, მე ვაპირებ კიდევ მინიმუმ ერთი. მე შენარჩუნება ეძებს. მე სამი. მე ვიცი, მე ვაპირებ კიდევ მინიმუმ სამი. მე შენარჩუნებას აპირებს. მე ხუთ. მე ვიცი, მე ვაპირებ, რომ მიიღოთ ხუთ თუ მივიღებ ქვემოთ გზას. და მე ვიცი, მაშინ რომ ჩემი მოწინააღმდეგე, თუ მე აირჩიეთ შუა სამი დიდი არჩევანი, ის აპირებს მომეცი ის, რაც არის ხუთი ან ნაკლები. OK. შემიძლია შენარჩუნება მიმდინარეობს. მე ვერ გამოიყურება ქვემოთ და მე შეიძლება ითქვას, რა ვარ მე აპირებს მისაღებად თუ ქვევით შუა გზაზე? მე ვაპირებ, რომ მიიღოთ, ასევე, სამი არსებობს. მე ვაპირებ, რომ რაღაც ეს არის ის, მინიმუმ სამი. არსებობს კიდევ რამ შორის სამი და ხუთი, ასე რომ მე შენარჩუნება ეძებს. ოჰ, ცხრა, მე ნამდვილად მიიღოს, რომ სამი. მე ვაპირებ მიიღოს მინიმუმ ცხრა თუ ქვევით, რომ შუა გზაზე. ახლა ჩემი მოწინააღმდეგე ჩერდება და აცხადებს, გამოიყურება, არ არსებობს წერტილი აღარ. მე ვიცი, რომ ჩემი მინიმიზაციის მოწინააღმდეგე, ის აპირებს მომეცი, რაც არის ნაკლები ან ტოლია ხუთ, ვიდრე ისაა, რომ მეტია ან ტოლია ცხრა. მე შეჩერება. მე არ გამოიყურება რაიმე უფრო, რომ. მე შენარჩუნებას აპირებს. მე გამოიყურება ქვემოთ ამ ერთი. ქვემოთ ბოლოში, მე ექვსი. მე ვიცი, მე ვაპირებ, რომ მიიღოთ მინიმუმ ექვსი. და რა შეიძლება გავაკეთო? მე ვერ შეაჩერებს. იმის გამო, რომ არჩევანი შორის რაღაც რომ მინიმუმ ექვსი და ის, რაც არის ნაკლებია, ვიდრე ხუთი, ის აპირებს მომეცი, რაც , რომელიც ნაკლებია ხუთ. და ახლა მე ვიცი, მე ვაპირებ ზუსტად, რომ არჩევანი. მე ვაპირებ, რომ მივიღოთ ხუთ არჩევანი. მე უკან ზევით. რომელი ვარ მე აპირებს აირჩიოთ შორის რაღაც ეს მეტია ან ტოლია ოთხი, ან რამე, რომ ეს უდრის ხუთ? მე ვაპირებ რაღაც რომ, სულ მცირე ხუთ. მე ქვევით უკანასკნელი გზა, ყველა გზა ქვემოთ ბოლოში. აქ არის ერთი. OK, მაინც ვაპირებ კიდევ ერთი წერტილი. მე შენარჩუნებას აპირებს. ორი, რა, რომ უკეთესია, ვიდრე ერთი. მე ვაპირებ, მინიმუმ ორი. მე სამი. მე ვიცი, მე ვაპირებ კიდევ სამი. და წერტილი, რომ ზემოთ, ჩემი მოწინააღმდეგე აპირებს მომეცი, რომ რაღაც ნაკლები ან ტოლია სამ. და ახლა მე ვერ შეაჩერებს. იმის გამო, რომ არჩევანი ჩემთვის, რომ შეუძლია მიიღოს ხუთი და ჩემი მოწინააღმდეგე მაძლევს რაღაც არანაკლებ სამი, მე ყოველთვის აპირებს, რომ ხუთ. ასე რომ, მე არ აფასებენ, რომ ქვედა ნაწილი ხე ყველა. ახლა, ეს ჩანდეს უმნიშვნელო. მაგრამ როცა პატარა ბიტი არითმეტიკა, მეტია და ნაკლები, შეგიძლიათ გაჭრა მოშორებით მთელი ნაწილები ამ exponentially მზარდი ხე, რომელიც იწვევს დიდი თანხის დაზოგვის, დანაზოგების რომ დიდი საკმარისი, რომ მე შეგიძლიათ დაიწყოთ თამაში კონკურსის უფრო რთული თამაშები. ყველა უფლება, თუ დავაკვირდებით ზომა და სირთულის სხვადასხვა თამაშები, tic-TAC-toe იყო ჩვენი ადვილი მაგალითი. ჩვენ მივიღეთ პატარა დაფაზე, სამი სამი. ჩვენ კიდევ, მაქსიმუმ, საშუალოდ დაახლოებით ოთხი სხვადასხვა არჩევანი როგორც ჩვენ გაიაროს თამაში. ჩვენ გვყავს დაახლოებით 10 მეხუთე შესაძლო სხვადასხვა ფოთლები. და მშენებლობის tic-TAC-toe მოთამაშე, ასევე, ჩვენ უბრალოდ ეს. ეს არის მარტივი. თუ ჩვენ ახვიდეთ უფრო მეტი კომპლექსი, როგორც დაკავშირება ოთხი. გახსოვთ ეს თამაში, სადაც თქვენ ვარდნა პატარა სიმბოლოს? ეს არის ექვსი შვიდი ფორუმში, არ არის, რომ ბევრად უფრო დიდი, ჯერ კიდევ აქვს დაახლოებით იგივე განშტოებაზე ფაქტორი, როგორც tic-TAC-toe. მაქვს ოთხი არჩევანი სადაც შემიძლია დააყენა რამ. მაგრამ ახლა, მაქვს ბევრი სხვა იწვევს, 10, 21-ე ძალა. ეს არის რაღაც, რომ ადვილი საკმარისი, რომ ჩვენ გადაწყვიტოს იგი დაუყოვნებლივ. Checkers, უფრო complex-- თქვენ მიიღო რვა რვა ფორუმში. თქვენ მხოლოდ ნახევარი მათ ნებისმიერ დროს, თუმცა. თქვენ მოხვდით განშტოებაზე ფაქტორი, რომელიც დაახლოებით 2.8. ასევე, ჩვენ მივიღეთ რამდენიმე მოძრაობს თქვენ შეუძლია. თქვენ მოხვდით დაახლოებით 10 დან 31 ფოთლები, დიდი და უფრო დიდი და უფრო დიდი ფართები. როგორც მე უნდა მოძებნოთ მეშვეობით იმ დიდი და უფრო დიდი ფართების, ეს მაშინ, როდესაც რამ, როგორიცაა ალფა-ბეტა და მიმდინარეობს შეუძლია მოჭრილი მოშორებით მთელი ფილიალში ხდება აუცილებელი. ახლა, ქვები იყო ადვილი საკმარისი 1992 წელს. კომპიუტერული პროგრამა მოუწოდა Chinook სცემეს მსოფლიო ქვები ჩემპიონი, Marion Tinsley. და მას შემდეგ, რაც არ ადამიანის საძიებო მოთამაშეს აქვს შეძლო სცემეს საუკეთესო გამოთვლითი სისტემები. თუ გადავხედავთ რაღაც ჭადრაკი, ახლა კიდევ ერთხელ, ჩვენ რვა რვა ფორუმში. მაგრამ ჩვენ ბევრად უფრო რთული ცალი, ბევრად უფრო რთული მოძრაობები. ჩვენ გვყავს დატოტვილი ფაქტორი შესახებ 35, 35 შესაძლო ნაბიჯები საშუალოდ რომ მე შეუძლია მიიღოს და სახელმწიფო სივრცე, ფოთლები რომ გაიზარდა 10 123-ე ძალა, უზარმაზარი რაოდენობით შესაძლებლობებს. მაშინაც კი, ჯერ კიდევ, თანამედროვე პროცესორები შეუძლია ამის წარმატებით. 1995 წელს, ხოლო შემდეგ 1997 წელს, კომპიუტერი პროგრამა მოუწოდა Deep Blue მიერ აშენებული IBM რომ გაიქცა გიგანტური სუპერკომპიუტერი სცემეს მსოფლიოს მოქმედი ჩემპიონი, გარი კასპაროვი. ეს იყო გადამწყვეტი მომენტი. დღეს, მიუხედავად იმისა, რომ იგივე დამუშავება ელექტრო ზის ჩემს MacBook. გენერაციის სიჩქარე ინარჩუნებს მიღების სწრაფად და სწრაფად. ჩვენ შეგვიძლია შევაფასოთ უფრო და უფრო დაფები სწრაფად და სწრაფად. მაგრამ რაც მთავარია, ჩვენ გვაქვს უკეთესი შეფასების ფუნქციები და უკეთესი pruning მეთოდები. ასე რომ, ჩვენ შეგიძლიათ მოძებნოთ სივრცეში უფრო კომპლექსურად. ყველაზე დიდი ფორუმში თამაშები, რომ ჩვენ შეგვიძლია ვიფიქროთ, რაღაც Go, რომ მიიღო 19 19 ფორუმში, ახლა მოულოდნელად, ჩვენ წარსულში წერტილი სადაც გამოთვლითი სისტემები გაიმარჯვებს. არ არსებობს გამოთვლითი სისტემა არსებობს რომელიც შეიძლება სცემეს პროფესიული Go მოთამაშე. საუკეთესო სისტემების დღეს წოდება ის შესახებ ერთგვარი კარგი სამოყვარულო დონეზე. ასე რომ, ჯერ კიდევ საკმაოდ ცოტა გარეთ არსებობს, რომ თქვენ არ შეუძლია მიიღოს ამჟამად. ყველა უფლება, ამ ტრადიციული სამაგიდო თამაშები, ამ სახის სისტემები, სადაც ჩვენ აშენება ამ minimax, თუ არა ის მიიღო ალფა-ბეტა თუ არა, ეს ალგორითმები მუშაობა იმიტომ, რომ არსებობს გარკვეული შეზღუდვები. ჩვენ გვყავს სრულყოფილი ინფორმაცია სამყაროს შესახებ. ჩვენ ვიცით, სადაც ყველა ცალი. მსოფლიოში არის სტატიკური. არავინ იღებს გადატანა ცალი გარშემო, ხოლო მე იჯდა იქ ფიქრი, აღების ჩემი მხრივ. არსებობს სამოქმედო სივრცე რომ დისკრეტული. მე ვერ დააყენა ჩემი სალომბარდო აქ, ან მე ვერ დააყენა ჩემი სალომბარდო აქ. მე არ დაუშვეს რომ ჩემი სალომბარდო წლის ხაზი შორის ორი მოედნებზე. და ბოლოს, ქმედებები არის დეტერმინისტული. მე ვიცი, რომ თუ მე ვიტყვი, როქი, რომ რაინდი სამი, ჩემი როქი აპირებს დასრულდება up at რაინდი სამი, რადგან ეს სწორი ნაბიჯი. არ არსებობს გაურკვევლობის შესახებ. ახლა, როგორც მე უფრო სხვადასხვა სახის თამაშები, ჩვენ უნდა დაარღვიოს ვარაუდები. რა მოხდება, თუ მე წასვლა რაღაც როგორც კლასიკური ვიდეო თამაშები? აი შერჩევა ვიდეო თამაშები Atari 2600. რა უნდა იქ? მაქვს Frogger, ფართი Invaders, ხარვეზი და Pac-Man. რა სახის გარემოში მაქვს ახლა? რომელი ვარაუდები მაქვს შესვენება? ისე, ეს დამოკიდებულია თამაში. მე ვერ ითამაშოს ჭადრაკი წლის 2600 და ეს იქნება, ისევე, როგორც ეს ადრე იყო. ყველაზე ამ სისტემების, არსებობს სრული ცოდნა მსოფლიოში. არსებობს სრულიად დეტერმინისტული ქმედებები. მაგრამ, როგორც წესი, მსოფლიოს აღარ სტატიკური. ეს არის ის, ხოლო მე იჯდა იქ ელოდება, რაღაც მოძრაობს. მოჩვენება მოდის ჩემთვის. მორიელი მომდევს ქვეშ. ფართი დამპყრობლების უფრო უახლოვდება. რამდენად კარგად შეგვიძლია გავაკეთოთ წინააღმდეგ? რამდენიმე წლის წინ, Google ჰქონდა პროექტი DeepMind, სადაც ისინი მომზადებული კომპიუტერი პროგრამა უნდა ითამაშოს Atari 2600 თამაშები. და თუ თქვენ ფიქრობთ, რომ ეს არ არის სერიოზული ბიზნესი, მათი კვლევის შედეგები დაიბეჭდა ბუნება, ასე რომ მხოლოდ როგორც კარგი გამოცემა როგორც თქვენ შესაძლოა მიიღოთ. აქ არის, თუ რამდენად კარგად შესრულებული. მათ აქვთ ალგორითმი, რომელიც იჯდა და უყურებს მხოლოდ ეკრანზე საშუალებებით. მას არ ინსტრუქციები განაწილებაზე შესახებ თამაშის წესები. და ეს უნდა გაერკვნენ, თავისი ანგარიში, რა კარგად აკეთებს. ეს იყო სისტემა, რომელიც გამოიყენება რაიმე წოდებული გამაგრება სწავლება. რომ არის, ეს ჩანდა მის ანგარიში. და თუ მას კარგი ანგარიშით, მისი თქმით, მე უნდა გვახსოვდეს იმ რამ. და მე უნდა გავაკეთოთ იმ ერთხელ. და თუ მას ცუდი ანგარიში, მისი თქმით, მე არ უნდა გავაკეთოთ იმ რამ ერთხელ. ეს არის სპექტაკლი იმ მომზადებული სისტემები დაშვებული უნდა ითამაშოს რამდენიმე საათის განმავლობაში თითოეულ თამაშში, შედარება პროფესიონალი მოთამაშეები. ასე რომ, ყველა თამაშები, რომლებიც მარცხენა მხარეს ამ ხაზის, ეს თვითმმართველობის გაწვრთნილი კომპიუტერული პროგრამა ჯაბნიდნენ პროფესიონალი მოთამაშეები. და იმისათვის, რომ უფლება, პროფესიული მოთამაშეები ჯერ კიდევ საუკეთესო. რაღაც რომ იცოდა არაფერი წესების შესახებ, რომელიც შესახებ არაფერი იცოდა სტრუქტურა თამაშები, ეს არის შთამბეჭდავი შესრულება. და ეს არის ის, რაც ჩვენ შეგვიძლია გავაკეთოთ დღეს. OK, თქვენ ამბობთ, მაგრამ თუ ჩვენ ვიფიქროთ AI თამაშები, ჩვეულებრივ, ჩვენ ვიფიქროთ რამ, რომ ჩვენ შეგვიძლია რეალურად დასხდნენ და ითამაშოს წინააღმდეგ. თუ მე დასხდნენ და მე თამაში StarCraft, ან მე ითამაშოს უფასო Sieve, კომპიუტერული მოწინააღმდეგე არის პირი, მაკონტროლებელი Zerg, ან მაკონტროლებელი სხვა ცივილიზაციის. როგორ იმ მოთამაშეებს, რეალურად მათი ნაბიჯები? ისე, ეს თამაშები სტრუქტურა ზუსტად იგივე გზა, როგორც ჩვენი სამაგიდო თამაშები, ეს თამაშები რომ ჩვენ ყველაფერს ერთობლივად მოვუწოდებთ ოთხი X თამაშები, შეისწავლონ, expand-- დაგავიწყდეთ პირობა. რა არიან ისინი? ექსპლორ, გაფართოება, და ჩაქრობას, მე ვფიქრობ, რომ ბოლო ერთი. მაგრამ ისინი, ძირითადად, მოპოვებისა და დაპყრობას თამაშები. როგორც წესი, კომპიუტერული მოწინააღმდეგე არ აქვს შეზღუდული ინფორმაცია. ისინი არ ვიცი ზუსტად რა არის მიმდინარეობს უკან, რომ ნისლის ომის. ისინი არ უნდა დაინახოს, თუ რა თქვენ გაქვთ თქვენს ინვენტარი. არსებობს გარემო, რომელიც არის დინამიური. ყველაფერი იცვლება ყველა დროის. თქვენ არ მიიღოს, რომ დასხდნენ და დაველოდებით მიიღოს თქვენი ნაბიჯი. მაგრამ ყველაზე რამ ჯერ კიდევ დისკრეტული. მე უნდა დააყენოს ჩემი ქალაქი აქ. ან მე უნდა დააყენოს ჩემი ქალაქი აქ. და ყველაფერი დეტერმინისტული. როდესაც ვამბობ, გადაადგილება ჩემი ერთეული აქ, ჩემი ერთეული მოძრაობს აქ, თუ დაბრკოლება მოულოდნელად ძალაში პიესა. ახლა, რომ ეს არ არის ყველა კომპიუტერი თამაშები, რომლებიც არსებობს დღეს. თუ მე და მე თამაში პირველი პირის ტიპი თამაში, რაღაც ქურდი და Fallout ან Skyrim, ან Halo, ახლა მაქვს კომპიუტერულ ოპონენტები რომ არსებობს, რომ აქვს ძალიან განსხვავებული სიტუაცია. მათ აქვთ, კიდევ ერთხელ, შეზღუდული ინფორმაცია. ისინი მხოლოდ ხედავთ გარკვეული სფეროში ხედი. გარემოს კვლავ დინამიური. რამ იცვლება ყველა დროის. მაგრამ ახლა მე ბევრად უფრო უწყვეტი მოქმედების სივრცე. მე შეიძლება მხოლოდ peeking ცოტა გარეთ კარი. და ზოგიერთი თამაშები, ჩემი მოქმედებები სტოქასტური. მე კიდევ ცდილობენ ნახტომი მეტი კედლის მაგრამ მაქვს შანსი ვერ. ამ ტიპის თამაშები უახლოვდება და უფრო ახლოს სახის კონტროლერები რომ ჩვენ ავაშენოთ რობოტები. რობოტები, უნდა ვივარაუდოთ, რომ ჩვენ გვაქვს შეზღუდული ინფორმაცია. ჩვენ გვყავს სენსორები, მოგვითხრობს მსოფლიოში. ჩვენ გვყავს ყოველთვის იცვლება, დინამიური გარემო. ჩვენ გვაქვს მსოფლიოში, სადაც სივრცე უწყვეტი, ვიდრე დისკრეტული. და ჩვენი ქმედებები, როდესაც ვცდილობთ მათ, აქვს შანსი ვერ. და სინამდვილეში, თანამედროვე თამაში კონტროლერები თქვენი Halo მოწინააღმდეგე, ან მათთვის NPCs in Skyrim, ძირითადად, აწარმოებს მცირე რობოტები არქიტექტორები. ისინი იგრძნოს მსოფლიოში. მათ აშენებას მოდელი მსოფლიოში. ისინი გამოთვლაც საფუძველზე კომპლექტი მიზნების, რომ ისინი მინდა შესრულებისკენ. ისინი გეგმავენ მოქმედება თუ რა იციან. და ეს არის ზუსტად იგივე სახის სისტემები, რომ ჩვენ ავაშენოთ რობოტები. ასე რომ, ეს არქიტექტორები, რათა რათა ამ უკან ერთად, ხშირად საკმაოდ იგივე. მოდით ვნახოთ, თუ ვხედავთ, რომ. მოდით დავუბრუნდეთ tic-TAC-toe მაგალითად. და მე ვაპირებ ვკითხო რამდენიმე ჩემი პოსტ-docs ამუშავება და მეხმარებიან. ასე რომ, Chen Ming და Alessandro და ოლივიე, თუ ბიჭები რომ ამუშავება. და მე ვაპირებ უნდა რამდენიმე მოხალისეები OK, ვნახე მხრივ უფლება იქ შუა. ნება მომეცით, კიდევ ერთი, ვიღაც შემდგომი უკან იქნებ. ყველა უფლება, იქ. კარგით up. ყველა უფლება. ასე რომ, მოდით, რომ საფარი. და თუ თქვენ ბიჭები მოდიან უკან გარშემო აქ ჩემთვის, ფანტასტიური. ასე რომ, ეს არის რობოტი მოუწოდა Baxter. და Baxter არის რობოტი, რომელიც არის კომერციული პლატფორმა, რომელიც განკუთვნილია კომპანია მოუწოდა Rethink. ეს რობოტი შექმნილია მცირე წარმოება. მაგრამ დღეს ჩვენ ვაპირებთ გამოვიყენოთ რომ ითამაშოს tic-TAC-toe. ახლა, ეს რობოტი არის ასევე რაღაც რომ არის შედარებით უნიკალური. იმიტომ, რომ თუ მე იდგა ყველგან ახლოს სტანდარტული ქარხნის ავტომატიზაცია სისტემა, მინდა იყოს ძალიან მძიმე საფრთხე ემუქრება დაშავდა. Baxter, თუმცა, მიზნად ისახავს იყოს შედარებით უსაფრთხო ურთიერთქმედება. ასე რომ, მე ვერ დააყენებს ამ robot. და თქვენ შეგიძლიათ ნახოთ, რომ ეს პატარა ცოტა მოქნილი, როგორც ის მოძრაობს გარშემო. და შემიძლია reposition იგი სადაც მინდა, რომ წავიდეს. ახლა ნორმალური robotic სისტემა, გვექნებოდა კომპლექტი სახსრების აქ რომ იქნება პირდაპირ რეაგირების პოზიცია ბრძანებები. ისე, რომ არ არის აუცილებელი ზრუნვა თუ ისინი მოძრაობენ ღია ცის ქვეშ, ან თუ ისინი დადიოდნენ ჩემი ribcage. OK. და, როგორც წესი, თუ იყო აქ სამრეწველო სისტემა, თქვენ არსად ახლოს. არ იქნება ყვითელი უსაფრთხოების ფირზე გარშემო. ეს სისტემა აქვს ოდნავ განსხვავებული დიზაინი უნდა იყოს მეგობრულად და ადვილად ადამიანები, ურთიერთქმედება, რომ თითოეულ ერთობლივი, არსებობს გაზაფხულზე. და ვიდრე საკონტროლო ზუსტი პოზიცია, ჩვენ ვაკონტროლებთ გარკვეული ბრუნვის, გარკვეული ძალა, რომ ჩვენ გვინდა უნდა იყოს, რომ გაზაფხულზე. ყველა უფლება, ნება მომეცით, მიიღოს ჩვენი მოხალისეები აქ. გამარჯობა, რა გქვია? აუდიტორია: ლუი. დინამიკები: ლუი. ლამაზი, რომ ნახოთ თქვენ. და? აუდიტორია: დავით. დინამიკები: დავით. კარგია თქვენთან შეხვედრა. თუ ბიჭები რომ დაველოდოთ სწორედ აქ მეორე, მე ვაპირებ, რომ გადმოგცეთ შანსი ამის გაკეთება. ასე რომ, ეს რობოტი, თუ თქვენ ამუშავება და თუ დააყენებს ნაზად მასზე, თქვენ აპირებს, რომ ის მოძრაობს ცოტა. და თუ თქვენ აითვისებდა ეს უფლება აქ მაჯის მხოლოდ ზემოთ, სადაც იმ ღილაკები, ეს როგორც ჩანს, თქვენ უნდა დაიბრუნოს ღილაკები, მაგრამ დაიბრუნოს უფლება ზემოთ ის ნაცვლად, თქვენ შეძლებს ძალიან ნაზად მანიპულირება მეშვეობით სივრცეში. Louis, გსურთ გინება? ასე რომ ეს მხოლოდ პატარა დააყენებს უნდა დაიწყოს. და მაშინ, თუ თქვენს თითების უფლება არსებობს და გამართავს გადატანა მას, იმიტომ, რომ ეს გადავა მაშინ. ყველა უფლება, გსურთ გინება? კარგით up. ასე რომ ეს მხოლოდ ნაზი დააყენებს არ უნდა დაიწყოს. თქვენ შეგიძლიათ გრძნობენ, თუ რას ჰგავს. და მაშინ, თუ დაიბრუნოს უფლება არსებობს, თქვენ გექნებათ მანევრირება გარშემო. OK. ასე რომ, როგორც წესი, ამ ტიპის რობოტი გვინდა გამოყენებულ იქნას მცირე წარმოება. და მე ვაპირებ გადაადგილება ამ arm მხოლოდ ქვემოთ იმ გზას ცოტა აქ. მაგრამ დღეს, ჩვენ ვაპირებთ, რომ გამოიყენოთ იგივე tic-TAC-toe სათამაშო სისტემა საფუძველზე minimax, რომ ჩვენ ავაშენეთ ადრე. OK? ასე რომ, თქვენ ბიჭები არიან ყოველ ვაპირებთ, რომ ითამაშოს თამაში. Louis, თქვენ უნდა იყოს პირველი. ნება მომეცით გამართავს აქ მეორე. მე ვაპირებ, რომ თქვენ დავდგეთ აქ, უბრალოდ ისე ყველას შეუძლია დაინახოს თუ არა. ხართ თუ არა ბიჭები წყობის აქ? რობოტი: მოგესალმებით. მოდით თამაში tic-TAC-toe. არ მესმის თქვენი ნიშნად, სანამ მე ვიტყვი, რომ ეს არის თქვენი მხრივ. მე დაიწყოს თამაში. ეს არის ჩემი მხრივ. დინამიკები: ახლა, თუ შეიძლება ერთ-ერთი თქვენი დარტყმები და წავიდეთ წინ და განათავსეთ იგი. რობოტი: ეს არის თქვენი მხრივ. [სიცილის] ეს არის ჩემი მხრივ. [სიცილის] [სიცილის] ეს თქვენი მხრივ. დინამიკები: ადამიანის რასის არის იმედი აქ, ლუი. რობოტი: ეს არის ჩემი მხრივ. დინამიკები: ასე რომ, Baxter წარმატებით დაბლოკა აქ. რობოტი: ეს არის თქვენი მხრივ. ეს არის ჩემი მხრივ. ეს თქვენი მხრივ. ეს არის ჩემი მხრივ. დინამიკები: ჩვენ ნება Baxter დასრულდება მისი ბოლო ნაბიჯი აქ. [სიცილის] რობოტი: სწორედ ამის საშუალება. მე მოგების დროს. [სიცილის] დინამიკები: ყველა უფლება, დიდი მადლობა, ლუი. დიდი მადლობა. თქვენ არ შეგიძლიათ ამ გზით. რობოტი: მე დაიწყოს თამაში. დინამიკები: ასე რომ, ნება მომეცით აგიხსნათ თქვენ კიდევ ერთი პატარა ცოტა ადრე მივიღებთ ჩვენი განმეორებითი თამაში აქ. რა ხდება? ასე რომ, რობოტი აქვს კამერა დაბრუნება აქ. და ის ეძებს ქვემოთ ფორუმში. და ის ხედავს თუ არა მას აქვს წითელი O ან ლურჯი და თეთრი X. როგორც იმ მისაღებად განთავსებული საბჭო, რომელიც ძირითადად იგივე შეყვანის რომ ჩვენ უნდა კითხულობს წელს ჩვენი მონაცემებით სტრუქტურა ჩვენი ეკრანზე. ის გაშვებული იმავე minimax ალგორითმი უნდა იყოს შევძლოთ, სადაც განათავსეთ კარგი ნიშნად. და მაშინ ჩვენ ვაძლევთ ბრძანება შესახებ სადაც ჩვენ გვინდა ნიშნად უნდა განთავსდეს. მკლავი მოძრაობს გარეთ. ის გამოყენებით ვაკუუმი gripper მიმართოს ზოგიერთი შეწოვის რომ ხის ნაჭერი, აირჩიოთ it up, გადაადგილება მარჯვნივ ადგილზე და შემდეგ გაათავისუფლონ შეწოვის და ჩამოაგდეს ის. ყველა უფლება, ჩვენ ვაპირებთ მისცეს მას კიდევ ერთი გოლით ოდნავ სასურველი სტუმარი გახდებით მოთამაშე აქ. თქვენ მზად? ყველა უფლება, თუ გსურთ დავდგეთ up აქ და მისცეს a-- აღმოჩნდება ამ გზით ასე რომ თქვენ ხედავთ ყველას. და შემდეგ [INAUDIBLE]. რობოტი: ეს არის ჩემი მხრივ. დინამიკები: Baxter დაიწყება. ეს თქვენი მხრივ. ეს არის ჩემი მხრივ. ეს თქვენი მხრივ. ეს არის ჩემი მხრივ. [სიცილის] დინამიკები: [WHISPERING] Just დაე, წავიდეს წინ და გავიმარჯვებთ. რობოტი: ეს არის თქვენი მხრივ. დინამიკები: ეს არის OK. რობოტი: ეს არის ჩემი მხრივ. [სიცილის] მე გაიმარჯვებს. [სიცილის] მე დაიწყოს თამაში. დინამიკები: ყველა უფლება, დიდი მადლობა. ყველა უფლება, მე ვფიქრობ, რომ ჩვენ მივიღეთ დრო კიდევ ერთი შესანიშნავი tic-TAC-toe მოთამაშე, ადამიანი, რომელიც დააყენა ასეთი რამ ემთხვევა, რომელმაც იცის, რა ისინი აკეთებენ. [სიცილის] ვინ იქნება ჩვენი ჩემპიონი აქ? ყველა უფლება, თქვენს მეგობრებს მოხალისეებად თქვენ. ეს არის კარგი ჩემთვის. მითხარით თქვენი სახელით კიდევ ერთხელ. აუდიტორია: ტამირი. დინამიკები: Tamir, ლამაზი, რომ ნახოთ თქვენ. ყველა უფლება, კიდევ ერთხელ, ჩვენ ვაპირებთ, რომ თქვენ უფლება აქ ასე ყველას შეუძლია დაინახოს თუ არა. თქვენ ხართ ჩვენი წარმომადგენელი ამ მატჩში ახლა. Baxter არის ერთი და რა და რა. ან უკაცრავად, მე და ერთი. და ეს აქ. Baxter მიიღებს გადაადგილება პირველი, თუმცა. ასე რომ. რობოტი: ეს არის ჩემი მხრივ. [სიცილის] ეს თქვენი მხრივ. ეს არის ჩემი მხრივ. ეს თქვენი მხრივ. ეს არის ჩემი მხრივ. ეს თქვენი მხრივ. [სიცილის] რობოტი: ეს არის ჩემი მხრივ. დინამიკები: ეს არის ძალიან ბევრი რთული, როდესაც თქვენ იდგა აქ, ეგ არის. [სიცილის] რობოტი თქვენ ადამიანები არ არიან ისე ადვილია ცემა. [სიცილი და ტაში] დინამიკები: დიდი მადლობა. რობოტი: მე გაიმარჯვებს. მე დაიწყოს თამაში. დინამიკები: ყველა უფლება, ასე რომ მადლობა ძალიან ბევრი Olivier და Alessandro, და Chen Ming. [ტაში] მე მინდა, რომ ერთ-ერთი ბოლო წერტილი. ასე რომ, Baxter ძალიან მთავრდება იქ, მოტყუებული. და მოულოდნელი იყო. ერთ-ერთი განსაკუთრებული რამ AI არის, რომ ჩვენ ამის მუშაობა AI ისე, რომ ჩვენ შეგვიძლია ავაშენოთ მართლაც ძალიან საინტერესო და ჭკვიანი მოწყობილობები. მაგრამ ჩვენ ასევე გავაკეთოთ მუშაობა AI იმიტომ, რომ ეს გვეუბნება, რაღაც იმაზე, თუ როგორ ადამიანებს, რომლებიც ინტელექტუალური. ერთი საყვარელი კვლევები ჩემი ლაბორატორია შევხედავთ რა ხდება, როდესაც მანქანები მოულოდნელად მოტყუებას. ჩვენ ეს თავდაპირველად არა Baxter სათამაშო tic-TAC-toe, მაგრამ პატარა რობოტი სახელად Nao, ვინ ითამაშა როკ ქაღალდი მაკრატელი. ზოგჯერ შემდეგ სათამაშო უამრავი და უამრავი მოსაწყენი როკ ქაღალდი-მაკრატელი თამაშები, რობოტი სახიფათოა ჟესტი, დასაკარგი, და შემდეგ მოულოდნელად შეცვლის მისი ჟესტი და ვთქვა, მე გაიმარჯვებს. [სიცილის] ახლა, ზოგჯერ ჩვენ გვინდა ასევე აქვს რობოტი, ისევე როგორც კონტროლის, იმისათვის, ჟესტი, გაიმარჯვებს, და შეცვალოს მისი ჟესტი დასაკარგი, იმისათვის, რომ მატჩი, მოტყუებას, რათა დაკარგოს. და ეს არ არის თითქმის როგორც მყარი. რობოტი, რომელიც ციტირება იმისათვის, რომ გაიმარჯვებს ადამიანი რეაგირება თითქოს ეს იმისათვის, რომ მათ, როგორც ეს აქტიურად ცდილობს მათი განადგურება. [სიცილის] ეს ხდება აგენტი. ეს იგივეა, რომ პირი. მას აქვს რწმენა და მიზანი. და ეს არ არის კარგი განზრახვა. და რობოტი, რომელიც ისვრის თამაში არის მხოლოდ მწყობრიდან გამოსული. ეს არის მხოლოდ გატეხილი მოწყობილობა. ნება მომეცით გაჩვენოთ რამდენიმე მაგალითები რომ რამდენიმე ჩვენი მონაწილეებს. ასე რომ, აქ ღალატი, რათა დაკარგოს. [ვიდეო აღწარმოების] - [INAUDIBLE] გაიმარჯვებს. მოდით ითამაშებს. -Wait, რა? - [INAUDIBLE] გაიმარჯვებს. მოდით ითამაშებს. [INAUDIBLE] გაიმარჯვებს. მოდით ითამაშებს. დინამიკები: აქ მოტყუების გაიმარჯვებს. დიახ, მე გაიმარჯვებს. მოდით ითამაშებს. -შეგიძლიათ არ გაგვაჩნია. [სიცილის] დიახ, მე გაიმარჯვებს. -თქვენ მოტყუებული. თქვენ მოტყუებული ახლა. დიახ, მე გაიმარჯვებს. -ეი, თქვენ თაღლითია. თქვენ მოტყუებას, სუპერ მოტყუებას. [END აღწარმოების] დინამიკები: ეს სხვადასხვა რეაქცია სწრაფად შეცვლის ჩვენი აღქმა მოწყობილობა. ნიშნავს, რომ ჩვენ შეგნებულად აშენება მანქანები, მოტყუებას, რადგან ეს არის ის, საუკეთესო საინჟინრო, რომ ჩვენ შეგვიძლია ამის გაკეთება? არა, მაგრამ ეს გვეუბნება, რაღაც მართლაც ძალიან საინტერესო ადამიანი. სწორედ ის, რომ cheats და თქვენ იპარავს თქვენი გამარჯვება, რომ ის, რაც არის ცოცხალი, რომ animate, რომ იმისათვის, რომ თქვენ. მას აქვს ფსიქიკური მდგომარეობის. მას აქვს რწმენა. მას აქვს მიზანი. რომ, რაც გადასცემს თამაში, რომ თქვენ, რომ ასე არ არის. ეს უბრალოდ მწყობრიდან გამოსული. ეს არის მრავალი გზა, თუ რატომ არის ადვილი არ ჩააგდოს თამაში ბავშვებისათვის. მაგრამ თუ თქვენ ცდილობენ მოტყუებას მათ და ერთგვარი მოითხოვოს გამარჯვება როდესაც, თქვენ იცით, უბრალოდ შემცირება თამაში, ისინი დაჭერა თქვენ დაუყოვნებლივ. ამ სახის ეფექტი, რომელიც ჩვენ ვხედავთ, გამოდის AI, ისინი ასწავლიან ჩვენთვის ბევრი საკუთარ თავს. ყველა უფლება, რომ ის დღეს. დიდი მადლობა, დავით და ჰარვარდის წარმოების გუნდი მოდის ქვემოთ. [ტაში] ჩვენ დავინახავთ, თქვენ ვიქტორინა ერთი, და მაშინ ერთი ბოლო ლექცია. აქვს დიდი დღე. [ტაში] [მუსიკის დაკვრა] დავით J Malan: ჩვენ, ალბათ, უნდა უნდა დააწესოს გარკვეული დაშიფვრის, არა? იმის გამო, რომ მაშინ სათაურებში ამ HTTP მოთხოვნა იქნება scrambled, ასე რომ ყველას ცდილობს მიაჩნიათ თქვენი მოძრაობის რეალურად არ ნახოს მათ. ასე რომ, რა არის გამოსავალი ამ პრობლემას? ისე, ჩვენ უნდა რეალურად დანერგვა შიფრირების ფორმულაში, ასე რომ, როდესაც ეს პირი არის გადამცემი მონაცემები A- დან B, ჩვენ შეგვიძლია უსაფრთხოდ send-- [სიცილის] ინფორმაცია ისე, რომ მოწინააღმდეგე ვერ, ფაქტობრივად, მისი დანახვა.