[음악 재생] 스피커 : 모두를 환영합니다. 이 CS50입니다. 그리고 오늘, 우리는 많은이 에 대해 이야기하는 흥미로운 것들. 첫째,하지만, 나는 생각 나게해야 몇 가지 관리의 당신. 이번 주 퀴즈 하나, 수요일 또는 예일 섹션 목요일에 화요일과 목요일에. 퀴즈 리뷰가 있습니다 오늘 밤 예일, 5시 반에서 7시까지에서. 하버드, 그들은 어제를 기록했다. 그리고 모든 사람들은 온라인을 볼 수 있습니다. 또한, 이번 주 또는 다음 주 초, 우리는 우리의 마지막 CS50의 강의가 있습니다. [신음 소리] 나는 알고있다. 너무 빨리왔다. 예일대 학생들은 라이브를해야합니다 법률 학교에서 여기에 강의 금요일에 강당. 케이크가있을 것이다. 하버드 학생들은있을 것이다 월요일에 샌더스의 마지막 강의. 또한 케이크가있을 것이다. 또한, 이번 주 금요일에 대한 그 당신의 사람들이 뉴 헤이븐에오고있다, 우리는 CS50 엑스포가 있습니다. 우리는 30 개 이상의이 다른 그룹에 등록 당신에게 모든 것을 보여 자율 요트에서, 인식 시스템 컴퓨터에 디지털 초상화, 음악 및 컴퓨터 - 생성 된 음악. 그래서 우리와 함께하시기 바랍니다. 나는 좋은 시간이 될 것 같아. 오늘날, 그러나, 우리는 도착 인공 지능에 대해 이야기를 계속, 인공 지능에 대한. 그리고 것들 중 하나가 우리는 오늘을받을거야 하는 방법에 대한 생각은 과제를 해결하기 위해 AI를 사용한다. 이제, 언제나처럼, 시작하자 간단한 뭔가. 그리고 우리는 시작하는거야 간단한 아이디어. 그리고 그 검색을 사용합니다. 그래서 잠시 상상 그 나는 내가 수행해야 할 작업이있다. 그리고 그 작업을하고 싶습니다 일부 소프트웨어 에이전트에 의해 자동화. 나는 세트를 예약하려고 해요 상상해 항공편,의 말 보스턴하자 샌프란시스코. 난을 통해 갈 수와 내가 사용할 수 있습니다 멋진 온라인 검색 중 하나 도구, 이는 할 것입니다 우리가있어 기본적으로 동일한 프로세스 오늘을 걷는 것. 하지만 당신은 그것을 가지고 있지 않은 경우 도구, 당신은 무엇을 할 것인가? 글쎄, 당신은 모양과 수 내가 보스턴에있어,보고 말한다. 어떤 항공편은 나에게 사용할 수 있습니까? 지금, 어쩌면 나는 3가 보스턴 중 가능한 항공편 즉, 시간이 맞는 나는 떠날 필요합니다. 나는 시카고에 도착 할 수있다. 아니면 내가 마이애미에 도착 할 수있다. 아니면 내가 뉴욕으로 비행 할 수있다. 나는 각에서 볼 수 있었다 그 대상 도시 중 하나 어떤 위치에 대한 생각 나는 가능하게 도달 할 수 그 각각의 도시에서 각각. 그래서 어쩌면 시카고에서, 내가 얻을 수 있습니다 샌프란시스코에 직접 비행. 즉, 우수한이다. 아니면 내가 덴버 비행기를 얻을 수 있습니다. 샌프란시스코에 지금, 어쩌면 비행 나를 위해 완벽한 솔루션입니다 하지만 아마. 어쩌면 내가 뭔가를 찾고 있어요 그 조금 저렴 또는 내 일정에 대해 조금 더. 그래서 나는 다른 무엇을 볼 수 있었다 가능성이 밖으로있을 수 있습니다. 그래서 나는 덴버에서 볼 수 있었다. 그리고 덴버에서, 글쎄, 나는 오스틴에 비행기를 얻을 수 있습니다. 그리고 오스틴에서, 어쩌면 내가를 얻을 수 있습니다 피닉스, 피닉스에서 비행 샌프란시스코. 지금, 나는 아직 안 끝났어. 어쩌면 거기 때문에 뉴욕에서 직접 비행 샌프란시스코에 그 나를 위해 완벽. 아니면 마이애미에서 비행있다 덴버 통해 훨씬 저렴하다고. 그래서 난 아직도 가야 해요. 그리고 난 아직도 그 모든 봐야 나는 아직 조사하지 않은 도시. 나는 철저를 모두 확인해야 내가있을 수 있습니다 가능성. 그래서 뉴욕에서, 어쩌면 내가를 얻을 수 있습니다 내쉬빌, 그리고 내쉬빌에서 비행 오스틴. 그리고 나는 내가 어디 있는지. 그리고 내가 오스틴 알고, 내가 할 수있는 피닉스에 도착, 피닉스에서 샌프란시스코. 내가 마이애미에 첫 비행을하는 경우, 그러나, 어쩌면 내가 마이애미에서 비행기를 얻을 수 있습니다 내쉬빌, 또는 마이애미에서 오스틴. 그리고 지금은 모든 시도했다 가능성. 나는이 그래프를 구축했습니다 그 나 가능한 경로를 모두 보여줍니다 내가 취할 수있을 것이다. 우리는이를 표현하는 경우 가지 문제, 우리는 표현하지 않을거야 이를 명시 적으로이 그래프로, 그 그래프 표현하지 않기 때문에 우리가 갔어요 곳의 역사. 나는에서 날아 알고 샌프란시스코 피닉스 내가 통해 온 여부를 말하지 않는다 내쉬빌, 또는 덴버를 통해, 또는 마이애미를 통해. 그래서 내가 무엇을 할 거 야 대신하다 나는이 같은 문제를 가지고 있습니다, 나는 나무로 표현합니다. 상기 트리의 루트에서 정상은, 내가 시작 장소를 놓을 게요, 보스턴. 그리고 보스턴에서, 나는 볼 것이다 가능한 모든 위치 나는 여행을 할 수있다. 음,이 경우에, 나는 세 가지가 있었다 시카고, 뉴욕, 마이애미. 그리고 나는 각각 살펴볼 것이다 트리에서이 아이들. 시카고에서, 나는 보았다 것을 나는 두 개의 항공편이 있었다. 내가 직접 날 수 샌프란시스코 또는 덴버. 이제 샌프란시스코, 그건 내 목표입니다. 그건 내 목적지입니다. 즉,이 나무의 잎이 될 것. 그건 내가 결코 갈하지거야입니다 샌프란시스코 후 어딘가. 덴버에서,하지만, 나는 덴버에서 비행 할 수 오스틴, 오스틴에서 피닉스, 샌프란시스코 피닉스에서. 그리고 지금 다시, 나는 잎에 도달했습니다. 나는 그 다음에 다시 갈 수있다 나는 완전히 탐험하지 않은 도시. 즉, 뉴욕, 갈 것 나의 나무의 상단까지, 뉴욕에 와서. 뉴욕에서, 나는에 비행 할 수 내쉬빌, 내쉬빌에서 오스틴, 오스틴에서 피닉스,과에 샌프란시스코 피닉스에서. 그리고 마지막으로, 하나의 도시 나 아직에서 마이애미를보고하지 않았습니다. 음, 마이애미에서 나는 두 가지를했다 말했다 가능성, 내쉬빌 또는 오스틴. 내가 내쉬빌에 도착하는 경우, 그럼 나는 비행 내쉬빌에서, 오스틴, 피닉스, 샌프란시스코. 내가 오스틴에 도착하는 경우에, 나는, 오스틴 비행 샌프란시스코에 피닉스에. 그리고 지금은 나무가 있습니다. 그것은 완전한 나무이다. 그건 모든 가능성과 내가 취할 수있는 모든 경로. 나는에서 시작하는 경우 즉, 맨 트리의 루트 나는 중 하나에 가서 이 날뿐만 아니라 이야기, 잎 어디 갈거야 결국, 샌프란시스코, 그러나 그것은 나에게 길을 알려줍니다 그 나는 거기에 도착하는 데 필요한. 이제, 이들 중 어느 하나가 최고? 이것에 대해 잘, 아무것도 문제는 아직 나에게 말한다 그 중 어느 것이 가장 좋은 방법입니다. 어쩌면 내가 가장에 대한 걱정 나는 공기에있어 얼마나 많은 시간을, 또는 거리가 나는 비행하고있어 그. 이 경우, 시카고 산에 시스코는 짧은 수있을 공기 마일. 어쩌면 내가 비용을 걱정. 그리고 우리 모두가 직접 항공편을 알고 일반적으로 더 비싸다. 그래서 어쩌면 내가이 걸릴 경우 뒤로 경로 가지 마이애미, 내쉬빌을 통해, 오스틴, 피닉스, 아마 다음 나는 낮은 가격을받을. 그러나 나는 어떤에 최적화 할 수 내가 걱정하는 기준. 누가 최고의있어 비행 와이파이, 또는 어떤 공항은 최고의 음식을 사용할 수 있습니다. 이들 각각 수도 나에게 다른 솔루션을 제공 나는 최선을 것으로보고있다. 이러한 종류의 문제, 여기서 우리는거야 이 나무를 구축하는 가능성하고 그 각각의보고 개별 경로 및 검사 그 만족의 어떤 우리를위한 기준 우리는 전화를 겁니다 그 검색 문제. 그리고 우리는 많이 가지고 알고리즘 일부 우리가 이미 본 적이 이동 그 나무를 탐구한다. 우리는 방법으로 그것을 할 수있는 나는 단지는, 깊이 우선 검색을했다 때까지 우리가 할 수있는만큼 지금까지 추락 우리 잎을 공격하고 최대 돌아오고, 그리고 바로 다시 추락. 아니면 우리는 무엇을 할 수 폭 우선 탐색했다. 우리는 모두를 확장 할 수 상단에, 다음 모든 것을 한 줄 그 아래 후 모든 것을 그 아래에 한 줄. 이러한 검색 나무 인공 지능의 기초입니다. 그러나 그들은 꽤하지 않습니다 그것은 바로 모든 시간. 실제로, 많은 경우에서 우리가 정말 걱정하는 것이, 우리는 나무를 구축하고자, 그러나 우리는 실제로하지 않습니다 모든 결정을 얻을. 이라는 상황입니다 또한 알려진 적대적 검색, 게임 플레이를 작성하는 방법으로 시스템과 그것을 위해 돈을받을. 그러나 이러한 종류가 시스템의 어디 나는에서 갈 때 선택하실 수 있습니다 보스턴, 어느 도시 나 다음으로 이동합니다. 그러나 그 후, 다른 사람이 얻을 수 있습니다 나는 비행 위치에 대한 결정을 내릴 수 있습니다. 그래서 이러한 구축 종류 구조, 우리는있어 약간을해야 할 것 그것을 다른 방법. 우리는 할 수있을 않을거야 그냥 나무를 검색 더 이상, 우리가이기 때문에하지 제어에있어 하나 그 결정 포인트의 각. 그럼 간단한을 가정 해 봅시다 틱택 토 같은 게임. 내가 함께 시작할 수 완전히 빈 보드. 그리고 틱택 토에서, X는 처음 재생 가져옵니다. 그래서 나는 모든에 대해 생각할 수있는 X가 만들 수있는 가능한 이동합니다. 그리고 내가 한 연주 해요 경우 X, 그건 좋아요. 나는 가능한 구가 내가 할 수있는 이동합니다. 나는 어느 하나에 X를 둘 수 있었다 그 아홉 위치. 그리고 나서, 그 각각으로부터 I 다음에 무슨 상상할 수 있었다. 그런데,이 경우, 다른 플레이어는 턴을 얻을 것입니다. O는 회전을 얻을 것입니다. 그리고 거기, 그 각각의 8 개의 다른 장소가 될 것입니다 그 O는 자신의 마커를 배치 할 수 있습니다. 이제 나는 것을 결정한다고 가정 해 봅시다 중앙에 X를 넣어 것. 즉, 항상 것 같아 좋은 오프닝 이동합니다. 그 아래에서 볼 수 있었다, O를 만드는 8 개의 가능한 이동합니다. 나는 X를 연주 해요 지금, 만약, 그 멋진입니다. 나는 하나의 I를 선택하세요 중간에 하나,로 이동합니다. 하지만 지금은 O를 선택하게. 내가 제어 할 수 없습니다 그 결정을 통해. 하지만 그 각에서 가능한 보드 위치, 다음 다른있다 가능성의 집합입니다. 그것으로 올 때 다시 내 차례, 나는 것 물론, 선택과 말을 얻을, O가로 이동하면, 잘, 다음 왼쪽의 중간 지점, I는 가능성의 세트를 가지고 어디 내 다음 행동을 취할 수 있습니다. 그에서, 나는 모두를 고려할 수 그 아래의 가능성. 그리고 O를 얻을 것 그 중 하나를 선택합니다. 그리고 나는이 건물 유지 수 트리 나는 지점에 도착 밖으로까지 두 사람 의 game-- 승리 잎 고려에 도착 node-- 또는 보드가 완전히 가득 아무도 승리하지 않았다. 그리고는 리프 노드가 될 것. 즉, 넥타이 될 것. 그러나이와 까다로운 일이다 이 단지 일반 검색한다면 문제는, 내가 할 수있을 것 말하자면, 잘, X는 여기에 가야한다. 그리고 O는 방법 거기 가야한다. 그리고 X는 여기에 가야한다. 그리고 O는 방법 거기 가야한다. 그리고 X는 세 가지를 얻을 수 있습니다 행에서, 나는 승리. 그리고 게임이 끝날 것 다섯 이동, 나를 위해 세에, 내 상대 두 가지. 그러나 나는 항상을 선택하지 않습니다. 그래서 그 대신, 우리는 무엇이야 수행해야 할 것 우리는 할 겁니다된다 새로운 전략을 가지고있다. 그리고 전략이 게임 플레이 알고리즘은 자주 사용하는 최소 최대라고하는 것이다. 의 중심 사상 MINIMAX 우리가 걸이다 제공 이동을 선택하는 것 우리의 상대 최악의 세트 의 그들이 할 수있는 이동합니다. 그것은 나에게 어떤 좋은하지 않습니다 이동 곳을 선택합니다 나는 후 승리 할 수​​있을 것 내 상대가되지 않기 때문에, 그 저에게 그 기회를 줄 것. 그들은 몇 가지를 선택하는거야 나에게 끔찍한 결과. 그래서 내가 만들거야 그건 내 상대를 강제로 이동 나를 위해 더 나은 일을 할 수 있습니다. 괜찮아. 의 그 밖으로 재생하는 방법을 알아 보자. 그래서 여기에 의사의 알고리즘이다. 우리는 생성 할거야 전체 게임 트리. 우리는 만들거야 전체 구조. 그리고 우리는 통과합니다. 그리고 맨 아래에 각각의 잎의 각각의 터미널 노드, 우리는 어떻게 평가합니다 가치있는 것을 나에게 무엇입니까? 그리고 우리는 가치 일 거라고 긍정적 인 것으로 나에게 좋다. 나에 대한 좋지 않은 것 덜 긍정적, 또는 제로 것이다, 심지어 음. 어쩌면, 틱택 토에 따라서 나를 위해 승리가 좋다. 즉 하나입니다. 그리고 넥타이는 0입니다. 그리고 무엇인가에 대한 손실의 그 나, 어쩌면 그 음의 하나입니다. 모든 문제는 더 나은 것입니다 나를 위해 크면 클수록 점수 그것은받습니다. 에서 그 가능성에서 아래, 우리는 위쪽으로 필터링 할 수 있습니다. 그리고 그것은 선택 나의 기회 때 대안들의 세트 중에서, 나는의 하나를 선택합니다 가장 높은 점수를 얻었다. 그리고 그것은 내있어 때마다 상대는, 선택 설정 나는 그들이에 가고 있다는 것을 가정합니다 가장 낮은 점수 하나를 선택합니다. 그리고 나는이 모든 방법을 할 경우 트리의 정상까지, 내가 제공하는 경로를 선택해야합니다 나에게 내가 할 수있는 최선의 결과, 내 상대 가정 모두 오른쪽으로 이동을합니다. 좋아, 그래서 보자 먼저 액션. 그리고 우리가 실제로거야 그것에 대한 코드를 보면. 그래서이 큰 나무를 상상한다. 그리고 지금은 틱택 토를 재생하고 있지 않다. 나는 당신을주고 싶어 조금 더 풍부한 무엇인가. 그래서 일부 게임 어디있어 많은 다른 점수가있다 I는 말 할 수있다. 그래서 나는이 전체 트리를 구축 할 수 있습니다. 그리고 내가 먼저 이동 얻을. 나는 나무의 뿌리입니다. 그리고 나는 내가 얻을 that-- 선택하세요 그 첫 번째 노드를 통해 극대화. 그리고 내 상대 가야 가져옵니다. 그리고 나는 한 번 더 갈 수. 바닥에 내려 그래서, 나는 세트를 가지고 내가 선택할 수있는 가능성, 게임의 다른 터미널 상태. 그 아래로 해요 경우 지금까지 모서리를 왼쪽 그리고 나는 선택의 여지가있어 볼 여덟, 일곱, 그리고 둘 사이에, 글쎄, 난 선택하게 하나입니다. 그래서 내가 선택하는거야 그 중 최고의 하나. 나는 여덟을 선택하는거야. 그래서 그 경우 내가 이제까지 알고 그 시점에 내려, 그 8 점을 얻을 수있을 것입니다. 나는 다음 지점에서 끝날 경우 이상 위에 다음 노드, 아홉, 하나, 또는 여섯, 음, 난 그 중 최고를 선택하는 것. 나는 아홉 선택합니다. 나는 선택의 여지 사이에있는 경우 두, 4, 하나, 나는 네, 가장 높은 선택합니다. 지금, 나는 수준에서 보면 그 위에, 내 상대 하나는 그 선택을 얻을 수있다. 그래서 내 상대에 도착 선택 그를주고 싶어 무슨 일이 그에게 8 점을 얻으려면, 또는 나는 그에게있어 일을 주는가 그에게 9 점을 줄 것, 또는 그 일이 일어나고 그에게 네 점을주고? 그리고 내 상대가되는 합리적 것입니다 이들의 최소를 선택하려면, 네 가지를 선택하는 것입니다. 그리고 나는이 작업을 수행 할 수 있습니다 전체 트리를 통해. 그 아래로 갈 수있다 세 가지의 중간입니다. 내가 선택할 수 있습니다 하나, 셋, 그리고 다섯. 그리고 나는 선택하세요. 그래서 나는 다섯 가지를 선택합니다. 나는 3, 아홉, 또는 두 가지를 선택할 수 있습니다. 나는 선택에 도착, 그래서 나는 아홉을 선택합니다. 6, 5, 2, 나는 선택합니다. 나는 여섯을 선택하세요. 그 위의 수준, 누가 선택하게? 누가 선택하게? 다른 사람, 내 상대. 그래서 그들은, 다섯을 선택 구, 6, 어느 하나? 청중 : 오. 스피커 : 그들은 다섯 가지를 선택합니다. 그들은 최소를 선택하세요. 그리고 마지막, 1, 2, 3을 선택한다. 나는 선택에 도착, 그래서 나는 세 가지를 선택합니다. 나인, 일곱, 또는 두 개의, 나는 아홉을 선택합니다. 그리고 11, 여섯, 또는 네, 나는 11를 선택합니다. 내 상대는, 세 선택 아홉, 또는 (11)는 최소 선택한다. 그는 나에게 세 가지를 제공합니다. 그리고 마지막으로 상단의 나무는, 나는 다시 선택하세요. 그리고 나는 사이에서 선택을 얻을 넷, 다섯, 또는 세. 그래서 나는 다섯을. 내가 모든 것을 제어 할 수있어, 난 거라고 (11)에지도 길을 갈 수. 그러나 나는 그 선택을하지 않습니다. 나는 그 경로 아래로 이동합니다. 내 상대는 나를 강제로 세에 이르게 선택. 그래서 내가 할 수있는 최선이다 그 중간 지점을 사용하려면, 결국 사용자들은 선택을 5 점에 저를 이끌어 가고. 즉 최소 최대가하는 일입니다. 괜찮아. 의 그 살펴 보자. 그래서 여기 CS50에 IDE는 프로그램입니다 틱택 토를 재생 MINIMAX 구현합니다. 우리는 만들거야 표현입니다. 우리는 두 상대방을있는거야 또는 두 선수, 우리의 컴퓨터 플레이어와 인간의 선수. 하나가 재생됩니다 플레이어 수 O.은 그 기계의 선수가 될 것입니다. 그들은 두 번째 이동 얻을. 그리고 다른 플레이어, 우리의 인간 플레이어, X를 할 것이다 그리고 내 인생을 만들려면 조금 단순, 내가 갈거야 그 플레이어 부정적인 하나의 레이블을. 그래서 난 그냥 곱할 수 음 하나 스왑 하나의 플레이어와 다른 사이. 좋아, 그럼 살펴 보자 우리는 무엇을 실제로 할 것입니다. 우리는 우리의 보드를 정의하는 것입니다. 그것은 잘, 우리는거야, 될 것 이 세 가지에 의해 세 될 수 있도록, 또는 우리는 심지어 재생할 수 있습니다 5 일곱로 오 당신이했다면 일곱 틱택 토에 의해 같은 몇 가지 차원 (D)를 기반으로 그리고 우리는 몇 가지를해야합니다 도우미 기능 그와 같은 일을 할 것이다 , screen-- 또는 유감을 초기화 우리의 변수를 초기화를 취소 화면은, 화면 상에 기판을 그리 보드를 검사 한 되었는지의 여부를 확인하는 승자, 하나는 거기에 그 명령 줄을 통해 분석, 그냥 읽고 하나를 도움 입력 및 최소 최대라는 하나의 기능. 그리고 그 하나 우리는 약 가장 걱정됩니다. 그러나의 주에서 처음으로 살펴 보자. 우리는 무엇을해야합니까? 음, 우리는 갈거야 우리의 명령 줄을 구문 분석 그냥 읽고 무엇을보고 우리가하고 싶은 차원 보드. 우리는 우리의 보드를 초기화 할 수 있습니다. 그리고 우리는 하나를 입력합니다 반복적으로 큰 야생 루프, 게임이 될 때까지 이동을 허용 원, 또는 왼쪽으로 더 이동은 없습니다. 우리가 통과 할 때마다 루프는, 우리는 화면을 취소합니다. 우리는 화면에 보드를 그릴 수 있습니다. 그리고 우리는 일종의 의도적있어 서브 루틴 이러한 멀리 추상화, 그래서 우리는 너무 많이 걱정하지 않는다 그들이 일어날 방법의 세부 사항에 대해. 나중에 오늘 코드를해야합니다. 그리고 당신은을 통해보고 싶은 경우 당신이 그들 모두를 볼 수 있습니다, 알아. 그러나 우리는 화면에 보드를 그릴 수 있습니다. 그리고 우리가 확인 테니 를 참조하십시오 우리는 승자가 있습니까? 누군가가이 게임을 수상했다? 그들이 가지고있는 경우에, 우리는 인쇄 할 수 있습니다 승리의 메시지가 부족합니다. 그리고 우리는 게임을 종료합니다. 우리는 또한 확인 테니 넥타이가 있는지를 참조하십시오. 그것은 넥타이가 있는지 쉽게 알 수 있습니다. 또한, 모든 공간이 가득하다는 것을 의미 그러나 아직 승자가되지 않았습니다. 우리는 넥타이를 선언 할 수 있고, 할 수. 그런 다음 실제 meat-- 경우 그것은 기계 선수, 우리는 그것을 할 수 있습니다 기계 플레이어 검색 할 이 최소 최대 알고리즘을 사용을 통해, 이 할 수있는 최고의 이동을 찾을 수 있습니다. 그리고 우리는 그 움직임을 위로 놓을 게요. 그렇지 않으면 사람의 플레이어의 경우, 우리는 인간의 어떤 입력을 읽을 수 있습니다. 그리고, 그것은 인간이든 플레이어 또는 컴퓨터 플레이어, 우리는 작은 몇을 다하겠습니다 에러 체크 비트, 확인이 범위 내에서 유지하게 보드의 실제 크기의 우리가 가지고있는 것을 확인 그 공간이 비어 있는지, 아무도 넣어 그 이미 거기에 조각. 그리고 우리는 단지 놓을 게요 보드에 조각, 다음 계층에 플레이어를 변경 일이 얼마나 많은 이동 증가. 즉의 메인 루프의 우리의 틱택 토 게임. 최소 최대 후, 정확히 알고리즘 그 전에 우리를. 유일한 조정이 우리는 수 있도록했습니다 우리 높은 재생할 수 있습니다 차원 보드는 우리가했습니다입니다 깊이이라는 추가 매개 변수를 유지했다. 그리고 깊이는 난 경우라고 그 나무를 통해 아래로 검색 내가 멀리 아래로 너무 얻을 어느 정도의 깊이 이상 난 그냥 싶지 않아 더 이상 갈, 나는 중지하고 그냥 갈거야 그 시점에서 보드를 평가한다. 나는 확인하고 승자가 있는지 확인할 수 있습니다. 승자가 있다면, 나는 그들을 돌아갑니다. 그렇지 않으면, 나는 루프를 통해 이동합니다. 그리고 나는 모두를 위해, 말할 것이다 가능한 위치 나는 아마도 수 내 움직임으로 나는 것 가지고 가상 보드를 구축하는 그 보드에 내 움직임을 포함 다음 재귀 최소 최대를 호출합니다. 내 이동의 경우에, 나는를 찾을 수 가장 큰 점수를 가지고 하나. 내 상대의 움직임이라면, 우리는 발견 최소 점수를 가지고 하나. 그리고 다른 모든 것들입니다 단지 기록을 유지. 좋아, 그럼이 실행 보자. 사실, 어쩌면 우리는 할 수 자원 봉사자의 몇 가지를 얻을 수 와서 틱택 토를 재생합니다. [들리지 하나, 하나 거기 두, 더. 최대 어서. 그럼 가서 보자 완전히이를 다시 시작합니다. 그럼, 안녕. 청중 : 안녕하세요. 스피커 : 이름이 무엇인가요? 청중 : Gorav. 스피커 : Gorav. 청중 : 내가 레일라입니다. 스피커 : 그리고 레일라와 레일라, 죄송합니다. 최대 어서. Gorav, 우리는 당신이 먼저가있을 것입니다. 그리고 나는되지하도록 요청거야 정말 좋은 틱택 토 플레이어. 좋아, 그럼 모든 압력이 당신에 꺼져 있습니다. 의는, 그러나, 볼 것을 보자 우리의 기계 플레이어는 실제로 스마트 뭔가를 할 수 있습니다. 그래서 가서. 당신은 어떤 좌표를 입력 할거야 당신은 당신의 X를 넣어 싶습니다. A0, 확인을 기계가왔다 바로와 A1에 마크를 넣어. 칠판에 O를 넣습니다. 좋아, 지금 진행. 어디 가고 싶어? C2. 우리의 기계 플레이어는 촬영하고있다 중앙 광장, 당신을 차단했습니다. 그래서, 좋았다 그것을 수행하는 스마트 것. 당신은 그것을 차단했습니다. 즉, 우수한이다. 그것은 거기, 코너킥을 얻어냅니다. 그리고 그것은에 강제 것 마지막 공간, B0을. 그리고 게임은 넥타이 끝납니다. 그러나 그것은 합리적인 연주 당신에 대한 게임, 맞죠? 좋아요, 정말 감사합니다, Gorav. [박수 갈채] 좋아, 레일라, 우리는거야 여기에 게임까지. 청중 : 아, 좋아요. 스피커 : 우리는 줄거야 당신 네 틱택 토 포. 이제 네 개의 포, 당신은 승리해야 행의 행 네, 아니 3 개. 그리고 그것은 모두 당신을이다. 그래서 레일라는 D1했다. 우리는 지금 따를거야 여기에 우리의 컴퓨터 플레이어. 세 틱택 토하여 세 종류입니다 일은 우리 모두에게 쉽다는 것을. 그러나 그것은을 볼 여전히 좋다 스마트 움직임을 컴퓨터 플레이어. 네 개의 포는에 도착 조금 까다합니다. 멋지게 수행. 좋아, 그래서 라일라의는 마무리. 아, 그리고 우리가 종료해야합니다. 그러나 이제 여기에 하나 더를 할 수 있습니다. 레일라 그래서, 감사합니다. 멋지게 수행. [박수 갈채] 그래서 우리의 틱택 토 플레이어 간다 통해 위치를 발견, 그들이이 MINIMAX를 사용하여 해결한다. 그리고 깊이 설정했다 그에 그래서 그 너무 빨리 실행되지 않을 것이다, 이는 아마도 이유 레일라는 잘 진행 할 수 있었다 그녀는했고, 아주 잘했던 것처럼. 그러나 이러한 시스템이 바로 를 통해 무력 이동 깊은, 깊은, 깊은 이동 용액을 찾는 유지 그들은 필요, 시스템의 그​​ 종류 물론,이 꽤 성공적이다, 표준 보드 게임. 그리고 사실, 우리는 보면 세 tic-tac-toe 게임에 의해 세, 이것은 기본적으로 해결 된 문제입니다. 그리고이 멋진이다 XKCD에서 랜달 먼로에서, 게재 당신이해야 이동하는 상대의 움직임 주어진 걸릴. 이것은 우리가 할 수 뭔가 쉽게 미리 지정합니다. 하지만 우리가 더 얻을로 발생 복잡한 게임, 더 복잡한 게임, 여기서 더 큰 보드가, 더 가능성, 깊은 전략? 그것은이 밝혀 여전히 검색 무력 제외하고, 합리적으로 잘 수행 당신은 지점에 도착하면 어디 그 나무가 너무 커서 당신은 모든 것을 대표 할 수 없습니다. 는 전체 트리를 계산할 수 없을 때 당신은 앞으로 밀어 갈 수없는 경우 당신이했습니다 지점에 자신 메모리에 전체 트리를 받고, 또는 당신은 그것을 얻을 수 있는지 여부 메모리와 그냥 것 를 검색 할 당신이 너무 오래 걸릴 그것은, 당신은 똑똑하게 일을해야합니다. 그렇게하기 위해서는, 당신을 두 가지 작업을 수행해야합니다. 첫째, 당신은 몇 가지를 찾을 수있다 당신의 깊이를 제한하는 방법. 글쎄, 그건 괜찮아요. 우리는 멋진, 최소한을 찾을 수 있습니다 당신은 깊은 갈 수 말한다. 당신이 그렇게 할 때, 그건 당신을 의미 이 부분적으로 불완전한 보드가 있습니다. 그리고 당신이 선택해야 내가 좋아 할 이 부분적으로 불완전한 보드, 또는이 부분적으로 불완전한 보드? 그리고에 의해 우리의 사에 네 tic-tac-toe 게임, 우리의 컴퓨터 플레이어는 아래 있어요 그리고 바닥에 말했다, 나는 두 개의 서로 다른 보드를 가지고있다. 어느 하나는 승리이다. 어느 하나의 손실이다. 어느 하나는 넥타이입니다. 나는 그들 사이에서 어떻게 선택합니까? 그리고이 없었다 그 일을 현명한 방법. 우리는 이런 종류의 참조 평가는 모든 시간을 일 우리는 더 복잡한 게임으로 얻을 수있다. 체스는 좋은 예입니다. 체스에서는 먼저 가질 모두 큰 보드. 우리는 훨씬 더 많은 조각이있다. 이들 조각 측위 및 방법은이 조각은 이동하는 것이 매우 중요하다. 그래서 MINIMAX을 사용하려는 경우, I 지정할 수 있어야 이 보드, 말 아무도 아직 원하거나 잃었다 이 다른 것보다 어떻게 든 더 낫다 아무도 원하거나 잃은 보드. 이를 위해, 나는 할 수있다 나는 같은 일이 바로 수도 내가 얼마나 많은 조각 할 계산 당신은 얼마나 많은 조각을해야합니까? 아니면 내가 다른를 줄 수도 조각 다른 점. 나의 여왕은 20 점 가치가있다. 당신의 폰은 하나의 포인트 가치가있다. 누가 더 많은 포인트의 총을 가지고? 아니면 상​​황이 좋아 고려해 볼 수 있습니다, 누가 더 나은 보드 위치를 가지고있다? 누구의 차례가 옆에, 아무것도 그 내가 할 수있는 더 정확하게 평가하기 위해 수행 이러한 가능성 중 어느 하지 않고 더 나은 철저하게 고려 그 후 올 수있는 모든 이동합니다. 지금 그 일을하기 위해, 의 것들 중 하나 정말 중요해질 것 우리가 단지 바로 이동하지 않습니다에 대한 특정 깊이 아래로 제한, 그러나 말할 수있는, 이러한 아이디어 중 하나가 내가 이는 그것의 너무 나쁘다 고려 가치가 없다 가능한 모든 방법 상황이 나쁜에서 더 나쁜에 갈 수있다. 이를 위해, 우리는 최소 최대에 추가 할 것입니다 원리는 alph-베타했다. 그리고 알파 - 베타는 말한다 당신은 나쁜 생각이있는 경우, 하려고 시간을 낭비하지 말라 그것은 정확히 얼마나 나쁜 알아보십시오. 그래서 여기에 우리가 무엇을 할 것인지입니다. 우리는 같은 걸릴거야 우리가 전에 있었다 원칙, 같은 MINIMAX 유형 검색의 만 우리는있어 뿐만 아니라의를 추적 할 것 실제 우리가 가지고있는 값, 그러나 우리는거야 최상의 추적 내가 얻을 수있는 가치, 그리고 최악의를 내가 할 수 결과. 그리고 언제든지 최악 것은, 가능성이 찾고 나는 나무의 일부를 포기합니다. 그리고 난 귀찮게하지 않습니다 더 이상 그것을보고. 좋아, 그래서 우리는 시작 상상 이 똑같은 게임 트리. 그리고 지금 우리는 갈거야 다시 아래로, 모든 방법을 아래로 그 왼쪽 하단 모서리에. 그리고 그 아래에서 우리는 모퉁이를 왼쪽 보고 우리는이 보드를 평가한다. 아마는 4 사에 의한 틱택 토입니다 보드, 또는 어쩌면 체스 보드입니다. 그러나 우리는 그것을보고, 우리는 평가 그것은, 우리는 여덟의 값을 얻는다. 그 시점에서, 우리는 알고 우리는 적어도 도착 예정 이 바닥 결정에서 8 점. 그것은 중요하지 않습니다 무슨 다른 두 사람은, 그 일곱 그 두 가지. 그들은 모든 값이 될 수 그들은 싶었다. 우리는에서받을거야 적어도 8 점. 좋아, 그러나 우리는 할 수 가서 확인합니다. 아마도 그 중 하나는 여덟보다 낫다. 우리는 일곱 봐. 팔보다 더 잘인가? 아니, 변경되지 않습니다 우리의 의견에 모두. 우리는 두 봐. 팔보다 더 잘인가? 아니, 변경되지 않습니다 우리의 의견에 모두. 그래서 지금 우리는 우리가 소진 것을 알고있다 이 모든 가능성. 우리는 도착하지 않을거야 팔보다 더 나은 아무것도. 우리는 정확히 팔을받을거야. 그래서 우리는 그 노드를 변경하고 말, 즉 지금 확실하다. 우리는 위의 한 수준 위로 이동합니다. 그리고 지금 우리는 뭔가를 알고 그 최소화 수준에 대한. 우리는 우리가 결코 얻을 않을 거 알아 이상 8 점은 우리가 내려갈 경우 그 방향. 때문에 심지어 경우 다른 두 가지 판명 환상적이고 가치가 포인트 각각 수천, 우리의 상대가 우리에게 줄 것이다 최소한, 우리에게 팔을 제공합니다. 좋아요, 어디 보자. 우리는 그 길을 계속합니다. 우리는 왼쪽에 그 중간에 가서. 우리는 아래로보고 우리는 아홉있다 참조하십시오. 우리는 우리가받을거야 것을 알고있다 아래로 이동하여 적어도 9 점 그 중간 도로. 그리고이 시점에서, 우리는 단지 일시 정지 할 수 있습니다. 그리고 우리는, 볼, 말할 수있는 나는 위의 수준을 알고, 나는 더 이상 팔보다를 얻을거야 이 방향을 아래로 이동하여 지적한다. 하지만 중간에서 내려 가면 대신 왼쪽 경로의 경로, 나는 적어도 9 점을 얻을 것입니다. 내 상대는 결코가는 없다 내가 그 중간 길을 가자. 그들은 선택에 도착. 그리고 그들은을 선택하는거야 경로는 8 개의 방향으로 왼쪽 오히려 중간으로 내려보다 무슨 일이 적어도 9 점을합니다. 그 시점에서 그래서 중단됩니다. 그리고 나는 당신이 무엇을 알고, 말할 것이다? 나는 어떤을 볼 필요가 없습니다 더 아래로 그 방향으로. 나는 결코 거기에 도착 않을이기 때문에. 나는, 그 중 하나를 통해 건너 뛸 수 있습니다 나는, 그 여섯 건너 뛸 수 있습니다 그것은 결코 일어나지 않을 것 때문에. 그래서 아래로 갈거야 나는거야 다음의 가능성을 고려하십시오. 내가 거기 가서 내가 두를 참조 말한다. 나는 내가 여기에 도착하면, 난 알고 적어도 두 가지를 얻을 것. 그래. 나는 계속. 나는 네를 참조하십시오. 나는 적어도 네 가지를 얻을거야 알고있다. 많은 사이는 여전히있다 하지만 네 여덟. 그래서 나는 계속. 나는 아래로보고 나는 사람이있다 참조하십시오. 좋아, 내가 알고 나는,이 경로 아래로 이동 나는 네 선택할 수거야. 무엇 나의 상대는 할거야? 뭔가 사이에 그 날을 제공합니다 팔, 나에게 네를 제공 뭔가, 뭔가 그 적어도 아홉 나에게 준다 물론, 그는 나에게 네 가지를 제공하는 것입니다. 그리고 지금에 알고 맨, 내가 갈거야 적어도 얻을 수있을합니다 이 게임 중 4 점. 알파 - 베타의 모든 생각 그래서 부품에게 나무를 잘라하는 것입니다 나는 더 이상 그들을 보지 않는 것이. 내가 봤는데처럼하지만 여전히 보인다 나무를 많이보고. 의 아래로 계속하자. 이제 우리는 다음 중 하나를 아래로 이동합니다. 맨 아래에 아래로, 나는 하나를 찾을 수 있습니다. 나는 적어도 하나를 얻을거야 알고있다. 나는 계속 찾고. 나는 세 가지를 찾을 수 있습니다. 나는 적어도 세 가지를 얻을거야 알고있다. 나는 계속. 나는 다섯을 찾을 수 있습니다. 나는 다섯을 얻을거야 알고 그 경로에 내려합니다. 그리고 나는 또한 다음을 알고 내 상대가 나는 경우 의 중간을 선택 세 가지 큰 선택, 그는 저를 줄 것 5 이하 뭔가. 그래. 나는 거기 계속 할 수 있습니다. 나는 아래로보고 내가 할 수 내가 무엇을려고하고, 말할 수 나는 중간 경로 아래로 가면 얻을 수 있습니까? 내가 거기, 잘, 세 가지를 얻을거야. 내가 뭔가를 얻을거야 즉, 적어도 세입니다. 여전히 사이의 일있다 셋, 다섯, 그래서 나는 계속 찾고. 아, 아홉, 나는 확실히거야 세 이상이 걸릴. 나는 적어도 아홉을받을거야 그 중간에 길을 이동합니다. 지금 내 상대가 중지 말한다, 아무 소용이 더 이상 없다, 봐. 내가 알고 내 최소화 상대, 그는입니다 날의 일을 줄 것 이하 다섯 같 다소의 것보다 보다 크거나 같 아홉. 나는 중지합니다. 나는 그에서 더 이상 보지 않는다. 나는 계속. 나는이 하나를 내려 본다. 아래로 아래로, 나는 여섯을 찾을 수 있습니다. 나는 적어도 6을 얻을거야 알고있다. 그리고 내가 무엇을 할 수 있습니까? 나는 중지 할 수 있습니다. 선택과 거기 때문에 적어도 6을 뭔가 뭔가가 있다고 이하 오보다, 그는입니다 나에게 일을 줄 것 그 다섯 미만이다. 그리고 지금 내가 갈거야 알고 정확히 그 선택을 얻을 수 있습니다. 그 다섯 가지 선택을받을거야. 나는 정상까지 돌아갑니다. 나는 어떤을 갈거야 뭔가 사이에서 선택 즉, 네 이상인있어 다섯에 동일한 뭔가? 내가 뭔가를 취할거야 그 적어도 다섯입니다. 나는 모든 마지막 길을 갈 아래 바닥 방법. 하나가있다. 확인, 적어도 나는 1 점을 얻을거야. 나는 계속. 두, 오,보다 낫다. 나는 적어도 두 가지를 얻을거야. 나는 세 가지를 찾을 수 있습니다. 나는 세 가지를 얻을거야 알고있다. 그리고 그 위의 점, 내 상대는 것입니다 나에게 무언가를 제공합니다 3 이하인. 그리고 지금은 중지 할 수 있습니다. 나 사이의 선택 인에 있기 때문에 오 나의 상대를 얻을 수 나에게 세 미만의 무언가를주는 나는 항상 그 다섯을거야. 그래서 나는 그것을 평가하지 않는다 모든 나무의 밑 부​​분. 자,이 사소한 것처럼 보일 수 있습니다. 그러나 때 연산의 작은 비트, 보다 크고보다 작은, 의 전체 부분을 절단 할 수 있습니다 이 기하 급수적으로 증가 나무, 그 거대한 리드 절약, 저축의 양 그 나는 충분히 큰 그 경쟁적으로 게임을 시작할 수 있습니다 더 복잡한 게임에서. 좋아, 우리는 크기를 보면 다른 게임의 복잡성, 틱택 토는 우리의 쉬운 예이다. 우리는 세 가지로 작은 보드, 세 가지를 가지고있다. 우리는 기껏의 평균을 얻는 약 4 다른 선택 우리는 게임을 진행하면서. 우리는 10 주위 어딘가에 다섯 번째 가능한 다른 나뭇잎. 그리고 틱택 토를 구축 플레이어는 물론, 우리는 단지 그것을했다. 그것은 간단합니다. 우리는 더 많은 것을까지 갈 경우 복잡한 연결되는 4 개의있다. 이 게임 곳을 기억하십니까 당신의 작은 토큰을 드롭? 그것은, 6 ~ 7에 의한 이사회의 아니 그 훨씬 더 큰, 여전히 같은 분기에 대해이 같은 틱택 토를 고려. 나는 약 4를 선택할 수 있습니다 어디에서 물건을 넣을 수 있습니다. 하지만 지금, 내가있어 더 많은 21 전원, 10을 이끌고 있습니다. 즉, 쉽게 뭔가 우리는 바로 그것을 해결 정도로. 체커는, 당신을 더 complex-- 여덟 이사회 팔을 얻었다. 당신의 절반 만있어 하지만 언제든지. 당신은 분기있어 약 2.8의 요인. 음, 우리는 몇 가지있어 당신이 걸릴 수 있습니다 이동합니다. 당신은 31 잎 약 10 있어요 더 큰, 더 큰, 더 큰 공간. 나는 통해 검색 할 수 있습니다으로 그 더 크고 더 큰 공간, 그 때 알파 - 베타 같은 것들과 전체 가지를 절단 할 수있는 필수가된다. 이제, 체커는 1992 년에 충분히 쉬웠다. 라는 컴퓨터 프로그램 치누크는 세계 체커를 이길 챔피언, 마리온 틴 슬리. 그 이후로, 아니 인간의 마스터 플레이어가 최고의 이길 수 있었다 전산 시스템. 경우 우리는 지금, 체스 같은 것을 보면 다시, 우리는 여덟위원회에 의해 팔이있다. 그러나 우리는 훨씬 더 복잡가 개, 훨씬 더 복잡한 움직임. 우리는 약의 분기 요인이 평균적으로 35, 35 가능한 이동 I는 한 상태를 취할 수 공간, 잎의​​ 수 즉 제 123 호 전원 10로 성장 것, 가능성의 엄청난 숫자. 심지어 아직도, 최신 프로세서 성공적으로이 작업을 수행 할 수 있습니다. 1995 년 후 1997 년, 컴퓨터에서 딥 블루 (Deep Blue)라는 프로그램은 IBM이 구축 그 거대한 슈퍼 컴퓨터에서 실행 현재 세계 챔피언을 이길, 게리 카스파로프. 이 전환점이었다. 오늘날, 그러나, 같은 처리 전원이 내 맥북에 앉아있다. 처리 속도는 유지 빨라지고. 우리는 점점 더 평가할 수 있습니다 보드 빠르고 더 빨리. 하지만 더 중요한 것은, 우리는 더이 평가 함수와 잘 치기 행동 양식. 그래서 우리는을 검색 할 수 있습니다 공간이 더 복잡. 보드의 가장 큰 우리가 생각할 수있는 게임, 의 이동과 같은 , 19 (19)에 의해 보드를 가지고 지금 갑자기, 우리는 점 지나서 여기서 전산 시스템은 이길 수있다. 아무 계산도 없다 거기 시스템 그 전문 바둑 선수를 이길 수 있습니다. 최고의 시스템 오늘의 순위를 약 좋은 아마추어 수준의 종류. 그래서 꽤 밖으로 거기에 여전히 아직 거기 얻을 수있다. 좋아,이 전통적인 보드 게임, 이러한 종류의 시스템 어디 그것을 가지고 있는지,이 최소 최대를 구축 알파 - 베타 여부, 이러한 알고리즘이 작동 특정 제약이 있기 때문에. 우리는 완벽한 정보를 가지고 세계에 대해. 모든 조각이 어디에 있는지 우리는 알고있다. 세계는 정적이다. 아무도 이동 얻을 수 없다 난 동안 주위에 조각 내 차례를 복용 생각 거기에 앉아. 별도의 작업 공간이있다. 나는 여기에 내 폰을 넣을 수 있습니다, 또는 나는 여기에 내 폰을 넣을 수 있습니다. 내 폰에 넣어 수 없습니다 해요 두 사각형 사이의 라인. 그리고 마지막으로, 행동 결정적이다. 내가 말한다면 것을 알고있다 기사 3 루크, 내 루크는 기사에 끝날 것입니다 세만큼 유효한 이동의로. 그것에 대해 더 불확실성이 없습니다. 지금, 나는 더에 가서 서로 다른 종류의 게임, 우리는 그 가정을 파괴해야합니다. 내가 뭔가에 가면 고전적인 비디오 게임과 같은? 여기에 비디오의 선택이다 아타리 2600에서 게임. 내가 거기에 무엇을해야합니까? 나는 Frogger와, 공간이있어 침략자, 함정, 그리고 팩맨. 어떤 환경 가지 내가 지금 여기에해야합니까? 이러한 가정의 어느 나는 휴식해야합니까? 음, 게임에 따라 달라집니다. 나는 2600에 체스를하고, 수 그것은 예전처럼 될 것이다. 이러한 시스템의 대부분은, 거기에 세계에 대한 완전한 지식. 완전히있다 결정적 행동. 그러나 일반적으로, 세계의 더 이상 정적. 내가 거기에 앉아있어 동안 즉, 대기, 뭔가가 움직이고있다. 귀신이 저를 얻기 위해오고있다. 전갈은 아래 나를 따라한다. 공간 침략자은 점점 더 가까이오고. 우리는이에 대해 얼마나 잘 할 수 있습니까? 몇 년 전, 구글 프로젝트라고했다 그들은 컴퓨터 훈련 DeepMind, 프로그램은 아타리에게 2600 게임을 재생합니다. 당신이 생각한다면이 심각하지 비즈니스, 자신의 연구 결과 그래서 자연에 발표되었다 출판 단지에 대한 좋은 으로 당신은 아마도 얻을 수 있습니다. 그리고 여기에 그들이 수행하는 방법을 잘합니다. 그들은 앉아 알고리즘을 그냥 화면 입력을 보았다. 그것은 어떠한 지침도 없어 게임의 규칙에 대한. 그리고 그것은, 알아 내려고했는데 그 점수를 기반으로, 그것은 일을했다 얼마나 잘. 이것은 뭔가를 사용하는 시스템이다 강화 학습했다. 즉, 그 점수를 바라 보았다. 이 좋은 점수를 가지고 있다면, 그것은 말했다, 나는 그 일을 기억해야한다. 그리고 다시 그 작업을 수행해야합니다. 그것은 나쁜 점수를 가지고 있다면, 그것은 말했다, 나는 다시 그 일을해서는 안된다. 이것은 성능 인 그 훈련 시스템 대한 재생 허용 각 게임에 몇 시간, 프로 게이머와 비교. 있는 게임의 모든 그래서 이 라인의 왼쪽에, 이 자체 훈련을받은 컴퓨터 프로그램 프로 게이머를 상회. 그리고에 모두를위한 오른쪽 프로 게이머 여전히 최고였다. 알고 뭔가 규칙에 대한 아무것도, 그 의 구조에 대해 아무것도 알지 게임,이 인상적인 성능이다. 그리고 이것은 오늘날 우리가 할 수있는 무슨이다. 확인, 당신은 말을하지만, 우리의 경우 게임에서 인공 지능에 대해 생각, 일반적으로 우리가 생각 일 우리가 실제로 할 수 있습니다 앉아서에 대해 재생할 수 있습니다. 나는 앉아서 내가 재생하는 경우 스타 크래프트는, 또는 나는, 무료 체를 재생 컴퓨터 상대 인 저그를 제어하는​​ 사람, 또는 다른 문명을 제어한다. 어떻게 그 선수가 할 실제로 그들의 움직임을 찾아? 음,이 게임이 구성되어 많은 우리의 보드 게임과 같은 방식으로, 이 게임 우리는거야 집단적으로, 네 X 게임을 호출 탐구, expand-- 사람을 잊는다. 그들은 무엇입니까? 탐색을 확장하고 소화, 나는 마지막 하나라고 생각합니다. 그러나 그들은 기본적으로있어 탐험과 정복 게임. 통상적으로, 컴퓨터 상대 제한된 정보가 있습니다. 그들은 정확히 알고하지 않습니다 전쟁의 안개 뒤에서 것. 그들은 무엇을 볼 수 없어요 당신은 당신의 인벤토리에 있습니다. 동적 인 환경이있다. 모두는 모든 시간을 변경한다. 당신은 앉아서하지 않고 당신의 행동을 취할 때까지 기다립니다. 그러나 대부분의 일들이 아직도 이산 있습니다. 나는 여기에 내 도시를 넣어해야합니다. 아니면 내가 여기 내 도시를 넣어해야합니다. 그리고 모든 것이 결정적이다. 내가 말할 때, 여기 내 유닛을 내 유닛을 이동 장애물이없는 한, 여기에 이​​동 갑자기 활동하기 시작한다. 자, 모든 컴퓨터 아니다 거기에 오늘 게임. 내가 가서 내가 첫 번째 사람의 유형을 재생하는 경우 게임, 뭔가 도둑이나 낙진 등 지금 또는 스카이 림, 또는 헤일로, 나는 컴퓨터 상대가 가질 수있다 밖으로 그 매우 다른 상황. 그들은 다시, 제한된 정보를 가지고있다. 그들은 단지를 볼 수 있습니다 보기의 특정 필드. 환경은 여전히​​ 동적입니다. 상황은 항상 변화하고 있습니다. 하지만 지금은 훨씬 더이 연속 작업 공간. 난 그냥 엿보기 할 수 있습니다 출입구 밖으로 조금. 그리고 일부 게임 내 조치는 확률이다. 난 그 벽을 뛰어하려고에 도착, 그러나 나는 실패의 기회를 얻었습니다. 게임의이 유형은 가까워지고있다 그리고 컨트롤러의 종류에 가까운 우리는 로봇 구축있다. 로봇, 우리는 생각해야 우리는 제한된 정보를 가지고있다. 우리는 센서가 그 세계에 대해 알려주십시오. 우리는 항상 변화를, 역동적 인 환경. 공간이있는 우리는 세계가 연속이 아닌 개별. 우리가 시도하고 우리의 행동, 그들, 실패의 기회가있다. 그리고 사실, 현대 게임 당신의 헤일로 상대에 대한 컨트롤러, 또는 스카이 림에서 그 NPC들에 대한 기본적 작은 로봇 아키텍처를 실행합니다. 그들은 세계를 감지. 이들은 세계의 모델을 구축. 그들은 세트를 기반으로 계산하므로 그들이 달성하고 싶은 목표. 그들은 기반 작업을 계획 그들이 알고있는 것을에. 그와 똑같은 종류가 우리는 로봇 구축 시스템. 그래서 이러한 아키텍처에 함께이 다시 가져, 종종 아주 동일하다. 그래서 우리가 볼 수 있는지 보자. 이제 다시 가자 우리 틱택 토 예. 그리고 나는 몇 가지를 물어 갈거야 내 후 문서가 와서​​ 저를 도와줍니다. 그래서 첸 밍, 그리고 알레산드로하고, 올리비에는, 너희들이 올 것인지. 그리고 필요 해요 자원 봉사자의 커플 확인, 나는 손까지 권리를 보았다 이 중간에. 나 하나 더 보자, 사람 더 어쩌면 다시. 좋아요, 저기. 최대 어서. 괜찮아. 그럼 아래 그 커버를 보자. 그리고 너희들은 바로 올 것입니다 경우 다시 여기 나를 위해, 환상적인. 그래서이 박스터라는 로봇입니다. 그리고 박스터의 로봇이다 설계 상용 플랫폼, 이 캠페인을라는 회사에 의해. 그리고이 로봇 설계 소규모 생산. 그러나 오늘 우리가 갈거야 틱택 토를 재생하는 데 사용합니다. 자,이 로봇은 뭔가 즉, 상대적으로 고유합니다. 내가 어디 서 있다면 때문에 표준 공장 자동화에 가까운 시스템은, 나는 매우 무덤에있을 것 의 위험이 부상. 박스터 그러나,하도록 설계 와 상호 작용하는 비교적 안전합니다. 그래서 나는이 로봇에 밀어 수 있습니다. 그리고 당신은 조금의 볼 수 있습니다 이 주위에 이동으로 조금 유연. 그리고 나는 위치를 변경할 수 있습니다 내가 원하는 곳은 이동합니다. 이제 정상 로봇 시스템, 우리는 여기에 관절의 집합을 것 즉 직접 것 위치 명령에 응답. 그리고 그들은 반드시 신경 쓰지 것 그들이 열려있는 공기를 통해 이동 된 경우, 또는 그들은 이동된다면 내 흉곽을 통해. 그래. 그리고 일반적으로 당신이 인 경우에 여기에 산업 시스템, 당신은 근처에 갈 곳이 없을 것입니다. 노란색이 될 것이다 모든 주위 안전 테이프. 이 시스템은있다 약간 다른 디자인 친근하고 쉽게 할 수 사람들과 상호 작용하기위한, 각 관절에 있다는 점에서, 봄이있다. 그리고보다는 제어 정확한 위치, 우리는 특정 량을 제어 토크, 어떤 양의 힘으로, 우리는 봄에있을 싶다고. 좋아, 그래서 저를 보자 여기에 우리의 자원 봉사자를 취할. 안녕하세요, 당신의 이름은 무엇입니까? 청중 : 루이스. 스피커 : 루이스. 만나서 반갑습니다. 과? 청중 : 데이비드. 스피커 : 데이비드. 만나서 반갑습니다. 너희들은 기다려야한다면 바로 여기에 초, 나는 당신에게 줄거야 기회는이 작업을 수행합니다. 따라서이 로봇은, 당신이 올 경우 당신이 그것을 부드럽게 밀어 경우, 당신은을 보게 될 것입니다 그것은 조금 이동합니다. 그리고 당신은 바로 그것을 잡아 경우 여기에 손목에 불과 그 버튼을, 그것을 어디에 위 당신이 버튼을 잡아해야처럼 보이는 대신 바로 위에 잡아, 당신은거야 아주 부드럽게 조작 할 수 공간을 통해. 루이스, 당신은 그것을 시도주고 싶어? 그래서 조금 그것을 제공 시작하려면이 버튼을 누릅니다. 그리고 당신은 당신의 손가락을 넣어 다음 경우 거기 그것에 지키고, 그 다음 당신을 위해 이동하기 때문이다. 좋아, 당신은 그것을 시도주고 싶어? 최대 어서. 그래서 그냥 부드러운 그것을 제공 시작이 밀어 넣습니다. 당신은 어떤 건지 느낄 수 있습니다. 그리고 당신은, 바로 거기를 잡아 경우 당신은 주변에 기동 할 수 있습니다. 그래. 그래서 일반적으로, 로봇이 종류의 것 작은 규모의 제조에 이용 될 수있다. 그리고 난 그냥이 팔을 움직일거야 조금 여기 길에서 내려. 그러나 오늘, 우리는을 사용하는거야 같은 틱택 토 재생 시스템 우리가 이전에 내장 MINIMAX를 기반으로. 그래? 그래서 너희들은 각각 게임을 플레이하는 것. 루이스, 당신은 첫 번째가 될 것입니다. 내가 잠깐 여기를 잡아 보자. 난 당신이 바로 서있는거야 여기에, 그냥 그렇게 모든 사람들이 당신을 볼 수 있습니다. 너희들은 여기에 설정되어 있습니까? 로봇 :에 오신 것을 환영합니다. 의는 틱택 토 놀자. 전에 토큰을 파악하지 마십시오 나는 그것이 당신의 차례입니다 말한다. 나는 게임을 시작. 그것은 내 차례입니다. 스피커 : 지금, 당신이 중 하나를 수행 할 수 있다면 당신의 조각 가서 배치합니다. 로봇 : 그것은 당신의 차례입니다. [웃음] 그것은 내 차례입니다. [웃음] [웃음] 그것은 당신의 차례입니다. 스피커 : 인류는 , 여기에 루이스를 계산. 로봇 : 그것은 내 차례입니다. 스피커 : 그래서 박스터 성공적으로 여기 차단. 로봇 : 그것은 당신의 차례입니다. 그것은 내 차례입니다. 그것은 당신의 차례입니다. 그것은 내 차례입니다. 스피커 : 그리고 우리는 할 수 있습니다 박스터 여기에 마지막으로 이동을 완료합니다. [웃음] 로봇 : 그 넥타이입니다. 나는 다음 번에 ​​이길 것이다. [웃음] 스피커 : 모든 권리, 정말 고마워, 루이스. 고맙습니다. 이 길을 갈 수 있습니다. 로봇 : 내가 게임을 시작합니다. 스피커 : 그래서 내가 설명 할 수 당신에게 한 번 더 작은 비트 우리가 여기에 우리의 재 시합을 얻기 전에. 정확히 무슨 일? 그래서 로봇은 여기에 카메라까지 상단을 가지고있다. 그리고 보드에서 아래로 찾고 있습니다. 그리고 그것은 여부를보고 있어요 그것은 빨간색 O 또는 블루 있어요 그 백색 (X)는에 배치받을 기판, 즉, 기본적으로 동일한 입력있어 우리는에서 읽고 것이라고 우리의 화면에서 우리의 데이터 구조. 동일한 실행있어 최소 최대 알고리즘이 될 어디 찾을 수 좋은 토큰을 배치합니다. 그리고 우리는 명령에 대한을 제공하고 우리가 토큰을 할 위치에 배치합니다. 팔은 밖으로 움직이고있다. 그것은 적용 진공 파지기를 사용하고 그 나무 조각에 약간의 흡입, 그것을 받아 오른쪽으로 이동 장소는 다음 흡입을 해제 그리고 놓습니다. 좋아, 우리는거야 그것을 한 번 더 기회를주는 여기에 약간 스마트 플레이어. 당신 준비? 좋아, 당신이 바로 서하려는 경우 여기 할까 .. 줄이 방법을 설정 그래서 당신은 모든 사람들을 볼 수 있습니다. 그리고 [들림]. 로봇 : 그것은 내 차례입니다. 스피커 : 박스터가 시작됩니다. 그것은 당신의 차례입니다. 그것은 내 차례입니다. 그것은 당신의 차례입니다. 그것은 내 차례입니다. [웃음] 스피커 : [조용히] 그냥 그에게 가서 승리 할 수​​ 있습니다. 로봇 : 그것은 당신의 차례입니다. 스피커 : 그건 괜찮아요. 로봇 : 그것은 내 차례입니다. [웃음] 내가 이겼다. [웃음] 나는 게임을 시작. 스피커 : 좋아, 대단히 감사합니다. 좋아, 나는 우리가 시간을 가지고 생각 한 번 더 우수한 틱택 토 플레이어, 이 일을 넣을 수있는 사람 그들이 무슨 일을하는지 알고있는 사람, 일치합니다. [웃음] 누가 여기에 우리의 챔피언이 될 것? 좋아, 당신의 친구가 당신을 자원했다. 그게 내게는 충분하다. 다시 나에게 당신의 이름을 알려주십시오. 청중 : 타 미르. 스피커 : 타 미르, 만나서 반갑습니다. 좋아, 다시, 우리는 당신을 둘거야 여기까지 그래서 모두가 당신을 볼 수 있습니다. 당신은 우리의 대표 지금이 경기에서. 박스터는 하나 오와 오입니다. 아니면 죄송합니다, 하나 오 하나. 그리고 여기까지입니다. 박스터는하지만, 먼저 이동 얻을 것이다. 그래서. 로봇 : 그것은 내 차례입니다. [웃음] 그것은 당신의 차례입니다. 그것은 내 차례입니다. 그것은 당신의 차례입니다. 그것은 내 차례입니다. 그것은 당신의 차례입니다. [웃음] 로봇 : 그것은 내 차례입니다. 스피커 : 그것은 때 많이 힘들어 당신은, 여기에 사람들을 서있어. [웃음] 로봇 : 당신은 인간이 이길 너무 쉽다. [웃음과 박수] 스피커 : 대단히 감사합니다. 로봇 : 내가 이길. 나는 게임을 시작. 스피커 : 좋아요, 감사 매우 올리비에에 많이와에 알레산드로, 첸 밍에. [박수 갈채] 나는 마지막 점을 만들고 싶어. 아주에서 박스터 그래서 사기, 거기서 끝나지. 그리고 예기치 않은했다. 환상적인 중 하나 AI에 대한 것은 우리입니다 우리가 구축 할 수 있도록 AI에 일을 정말 재미 있고 지능 장치. 그러나 우리는 또한 인공 지능에 일을 그것은 우리에게 뭔가를 알려주기 때문에 방법에 대해 인간은 지능이다. 마음에 드는 하나 내 실험실에서 연구입니다 때 발생보고 컴퓨터가 예기치 않게 속이. 우리는 함께 원래이하지 않았다 박스터는, 틱택 토를 재생 그러나 나오라는 이름의 작은 로봇, 가위 바위를 연주하는 사람들. 그리고 때로는 후 많이하고 많이 연주 가위 바위 보 게임을 지루의, 로봇은, 제스처를 던질 것 잃게 한 다음 갑자기 변경 그 제스처와 내가 승리 말한다. [웃음] 지금, 때때로 우리는 또한 로봇이있을 것이다 단지 제어로, 제스처를 던져 승리, 그 몸짓을 변경 경기를 던져 잃고, 잃을하기 위해 속임수. 그리고 그것은 거의 강제적 없습니다. 사기꾼 로봇 사람을 이기기 위하여 그것이 마치 응답 그것을 밖으로처럼, 그들을 데리러 적극적으로 자신의 파괴를 찾고 있습니다. [웃음] 이 에이전트가된다. 그것은 사람과 같다. 그것은 믿음과 의도를 가지고있다. 그리고 그것은 좋은 의도가 아니다. 그리고 로봇이 그 발생 게임은 제대로 작동하지 않습니다. 그냥 깨진 장치입니다. 내가 당신에게 몇 가지 예를 보여 드리죠 우리의 참가자의 몇에서 그. 그래서 여기 잃게하기 위해 부정 행위입니다. [비디오 재생] - [들림] 승리. 놀자. -무엇을 기다립니다? - [들림] 승리. 놀자. [들림] 승리. 놀자. 스피커 : 여기 그리고 승리하는 바람을 피우고. - 네, 나는 승리. 놀자. - 당신은 그렇게 할 수 없습니다. [웃음] - 네, 나는 승리. - 당신은 사기. 당신은 지금 사기. - 네, 나는 승리. 이봐, 당신 사기꾼. 당신은 슈퍼 속임수 속임수. [END 재생] 스피커 :이 다른 빠르게 반응 장치의 우리의 인식을 변경합니다. 즉 그 뜻 우리가 의도적으로 구축 그 때문에 속이 기계 우리가 할 수있는 최선의 기술? 아니, 그것은 우리에게 뭔가를 알려줍니다 사람들이 정말 흥미 롭군요. 당신과 사기꾼 그 일이 당신의 승리는 훔치고, 그건 살아 뭔가, 그건 그것이 당신을 얻기 위해 밖으로이다, 애니메이션. 그것은 정신 상태를 가지고있다. 그것은 믿음을 가지고있다. 그것은 의도를 가지고있다. 를 손에 그 일이 당신에게 게임은 그게 아니다. 그건 그냥 고장입니다. 그것의 이유는 여러 가지이다 아이들과 함께 게임을 던져하기 쉬운. 하지만 당신은 그들을 속이려고하면 및 종류의 승리를 주장 당신이 알고있을 때, 단지를 단축 게임, 그들은 바로 당신을 잡을 겁니다. 효과 이러한 종류의 그 우리는 인공 지능 나오는 참조 그들은 우리에게 자신에 대해 많은 것을 가르칩니다. 오늘 그것의 모든 권리. 다윗과에 대단히 감사합니다 하버드 생산 팀 내려오고합니다. [박수 갈채] 우리는 퀴즈를 하나 보자 다음 마지막 강의합니다. 좋은 하루 되세요. [박수 갈채] [음악 재생] 데이비드 J 마란 : 글쎄, 우리는 아마 필요 암호화의 어떤 종류를 소개하고, 권리? 의 다음 헤더 때문에 이러한 HTTP 요청이 될 것입니다 그래서 스크램블 사람 트래픽을 도청하려고 실제로 그들을 볼 수 없습니다. 그래서이 문제에 대한 해결책은 무엇인가? 글쎄, 우리가 실제로 도입 할 필요 식으로 암호화, 그 사람이 때되도록 B로 데이터를 전송하는, 우리는 안전하게 send-- 수 [웃음] 방법으로 그 정보 상대는, 사실, 그것을 볼 수 없습니다.