체스 엔진 프로그래밍에 대한 대체 접근법


14

내가 아는 한, 대략 말하면, 체스 엔진은 다음과 같이 작동합니다.

  1. 가능한 모든 변형 (게임 트리)을 깊이까지 계산
  2. 몇 가지 기준 (재료, 조각 활동 ...)을 기준으로 최종 위치 평가
  3. 이 평가를 바탕으로 최상의 움직임을 결정

나는 효율적인 엔진을 갖기 위해서는 특정 라인을 제거하고 깊이를 제한하는 방법 등이 있다는 것을 완전히 이해합니다. 그러나 이것은 내 질문이 아닙니다.

질문 :이 체계를 따르지 않는 (강력하지는 않지만 임의적이지 않은) 체스 엔진을 프로그래밍하려는 대안적인 시도가 있습니까?


Botvinnik은 컴퓨터가 최상의 후보 이동 만 검색하도록하여 루트 이동을 정리하려고했습니다. 이것에 대한 성공적인 시도는 없었으며 체스가 더 좋습니다.
Fred Knight

답변:


13

컴퓨터 체스의 초기 몇 년 동안, 사람들은 실제로 인간과 같은 방식으로 컴퓨터 체스를 가르치려고 노력했으며, 건강한 전당포 구조 또는 이니셔티브와 같은 전략적 개념을 설명했습니다. 설명하는 방법이 훨씬 성공적이기 때문에 이러한 시도는 곧 포기되었습니다.

최근에 엔진이 딥 러닝 ( Google Go AI의 성공에 의해 장려 됨)을 통해 체스를 스스로 가르치도록하는 또 다른 시도가있었습니다 . 내가 연결 한 기사에 따르면, 그들은 매우 성공적이었고 IM 강점에 도달했습니다.


1
내 이해에 따르면 Alpha Go는 설명 된 OP와 정확히 동일하게 작동하며 (2.)의 평가 기능 만 딥 러닝을 기반으로하거나 생성합니다. 다른 대답 은 다소 동의하는 것 같습니다.
Hermann Döppes

According to the article I linked to, they were quite successful and managed to reach IM strength그러나 원본 논문을 읽으면 기사가 성공을 크게 과장했다는 것을 알 수 있습니다.
살바도르 달리

1
@ HermannDöppes 아니요, AlphaGo는 Monte-Carlo 트리 검색을 기반으로합니다.
HelloWorld

3

@Glorfindel은 틀린 것이 아니지만 체스에 대한 딥 러닝 접근 방식은 실제로 체스 프로그래밍에서 매개 변수 튜닝의 멋진 용어입니다.

딥 러닝은 체스 엔진이 평가 기능, 보통 프로그래머가 직접 작성하는 평가 기능을 배울 수 있도록합니다. 게임 중에는 일반적인 체스 엔진처럼 작동합니다.

다른 가능성 :

  • GPU 체스 프로그래밍
  • 몬테카를로 트리 검색

대부분의 답변은 [Glorfindel 's answer] ( chess.stackexchange.com/a/16293/2789) 아래의 주석이어야합니다 . 질문을 실제로 다루는 부분은 단지 7 단어로 구성되어 있으며 대답하기에는 충분하지 않습니다. "GPU 체스 프로그래밍"은 사용중인 알고리즘을 병렬로 처리하는 방법 일 뿐이므로 질문이 찾고 있다는 의미에서 실제로 "접근법"이라고 생각하지 않습니다. 단지 구현 방법 일뿐입니다.
David Richerby

-2

확실히! 당신이 진정으로 의미한다면 .... "이론에는 체스 엔진을 코딩하는 다른 방법이 있습니까?"... 그렇다면, 그렇습니다 !!

예를 들어 .... 가능한 모든 위치의 사본을 체스에 저장할 수 있고 (거의 숫자는 알지만) 각각에 대한 평가를 할 수 있습니다. 그런 다음 주어진 질문에 대한 답변입니다 (즉, "X 위치에서 흰색에 가장 적합")는 보드를 찾는 즉시 알 수 있습니다. 컴퓨터 하드웨어의 현재 상태가 이치에 맞습니까? 아냐 그러나 당신은 그것을 묻지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.