체스의 규칙을 배우기


11

비슷한 질문은 컴퓨터 게임의 수천을 분석하여 체스에서 최적의 재생을 배울 수 있는지 여부를 묻는 메시지가 표시됩니다.

기계가 보드의 상태를 살펴볼 때마다 그리고 움직일 때마다 체스 게임 몇 개 (또는 체커 게임 몇 개)를 볼 수 있다면, 게임 규칙을 배우도록 프로그래밍 할 수 있습니까?

그것이 가능하다면 (예를 들어, 거세 나 승진을 설명 할 수 있을까)이 효과가 있습니까? 어떤 머신 러닝 알고리즘이이를 가능하게합니까?


3
머신은 "이 이동이 수행 된 것을 보았으므로 비슷한 상황에서 수행 할 수 있다고 가정합니다."라고 말할 수있는 상태가 될 수 있어야합니다. 그것이 "규칙을 배우는 것"을 구성하는지 여부는 거의 철학적 인 질문입니다. ;)
사망

@deceze 글쎄, 당신은 전적으로 옳지 않습니다. 규칙을 배운다는 것은 이전에는 프로그램에 전혀 없었던 레이아웃을 고려하여 움직일 수 있다는 것을 의미합니다. 그렇지 않으면 규칙을 배우지 않고 움직임을 암기합니다.

2
@Max 컴퓨터가 이전에는 보지 못한 움직임을 올바르게 할 수 있습니까? 예를 들어, 기사는 두 번 앞으로 여러 번 앞뒤로 움직이는 것을 보았지만 결코 두 번 뒤로, 한 번 옆으로 움직이지 않았습니다. 기사의 움직임에 관한 규칙이 무엇인지 자신있게 말할 수 있습니까? 규칙에 "기사를 뒤로 움직일 수없고 앞으로 나아갈 수 없습니다"(전당포처럼)라는 특별한 조항이있을 수 있습니다. 따라서 확실하게 규칙을 추론하는 것은 불가능한 것처럼 보입니다. 그것은 인간에게도 마찬가지입니다.
desze

8
@Max 사실, 컴퓨터가 추론 할 수없는 수많은 규칙 이있을 있습니다 . 컴퓨터는 그 폰 특정 턴에 움직이지 않았 는지 말할 수 없습니다 . 특정 상황에서 움직이지 않는 규칙이있을 수 있습니다. 따라서 컴퓨터는 유사한 (실제로 정확한) 패턴을 재현 할 수 있어야하지만 100 % 신뢰를 가지고 규칙추론 할 수는 없습니다 . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.
07

@deceze 예, 그 규칙을 어떻게 든 보여 주면 가능합니다. 인간에게 규칙을 가르쳐야하는 것과 같은 방식으로 (예를 들어, 읽을 규칙을 출력하도록) 어떻게 든 규칙을 기계에 제공해야합니다. 가장 쉬운 방법은 기계가 배울 수있는 일정량의 게임에서 모든 규칙을 재생하는 것입니다. 인간도 마찬가지입니다. 인간은 On a sunny day the pawns may jump over bishops.당신이 그에게 그것을 보여주지 않으면 그것을 알 수 없습니다.

답변:


10

기계가 보드의 상태를 살펴볼 때마다 그리고 움직일 때마다 체스 게임 몇 개 (또는 체커 게임 몇 개)를 볼 수 있다면, 게임 규칙을 배우도록 프로그래밍 할 수 있습니까?

확실히 몇 가지 체스 게임 에는 적합하지 않습니다 . 무효 이동을 막기 위해 엄청나게 많은 수의 데이터를 분석해야합니다. 나는 얼마나 몰라; 이 문제는 계산 학습 이론의 영역에 속하는 PAC 학습 및 문제 한도의 학습 용이성 .

다른 포스터에서 제안한 분류 알고리즘은 체스 규칙 을 차별적으로 배울 수 있습니다 . 두 개의 보드 설정이 주어지면 유효한 이동이 다른 것으로 바뀌는 지에 대한 질문에 "예"또는 "아니오"라고 대답 할 수 있습니다. 약간의 노력으로 움직임 을 생성 하는 데 사용될 수도 있습니다 . 그러나, 그들은 훈련 된 게임에서 본 움직임 만 생성하거나, 유효하고 무효 한 움직임의 조합을 생성 할 것입니다. 매우 작은 확률을 기대합니다.

(즉, 프로그램이 처분 할 때 유효한 움직임을 인식하지 못하거나, 몰래 속임수를 쓰거나 게임에 대한 모든 관심을 잃을 정도로 오랫동안 훈련해야 할 수도 있습니다.)

규칙을 배울 수있는 기술은 유도 논리 프로그래밍유전자 프로그래밍을 확인하십시오 . 누구든지 체스 학습에 적용하려고 시도했는지 확실하지 않습니다. 체스 규칙은 고정되어 있기 때문에 기본 규칙을 처음부터 배워야하는 프로그램보다는 좋은 체스 게임 프로그램 을 만드는 것이 훨씬 더 흥미 롭습니다 (학계에서도) .


4

체스의 규칙은 매우 복잡하고 게임에서 거의 실행되지 않습니다.

예를 들어 통과 규칙. 두 단계 앞으로 이동 한 후 첫 번째 이동 만 허용한다고 추론하기 위해 몇 개의 게임을 관찰해야 합니까?

또 다른 예. b-square는 긴 castling에서 공격받을 수 있습니다. 어디서 이런 일이 발생하는지 보십니까?

다시 말해, 모든 규칙을 올바르게 도출하려면 많은 게임이 필요합니다.

그러나 아마도 구글은 체스 게임 "아침"의 완전한 아카이브를 위해 그들의 클라우드 코너를 발견 할 것이다.


"b-square는 긴 castling에서 공격받을 수 있습니다"이것은 어떤 움직임입니까? 설명해 주시겠습니까?
CaffGeek

캐슬 링 퀸 사이드라고도하는 @chad- "0-0-0"표기법이 사용됩니다. 왕이 "터치"하는 것은 공격을받을 수없는 세 가지 분야뿐입니다.

2
또한 퀸 사이드를 캐스팅 할 때는 d- 스퀘어 공격 할 수 없습니다 (또는 킹 사이드를 캐스팅 할 때는 f- 스퀘어) . 당신은 또한 당신의 왕을 움직 인 후에는 성을 만들 수 없습니다 게임 이 끝나지 않은 곳에서 게임을 관찰 하면 어떤 일을 할 수 없다는 것을 어떻게 알 있습니까? Lars가 언급했듯이 컴퓨터는 움직임이 유효하다는 확률을 할당 할 수 있지만 게임을 관찰하여 특정 규칙을 확인하는 것은 불가능하다는 것을 알 수 있습니다.
BlueRaja-대니 Pflughoeft

또한 토너먼트 설정에서 그랜드 마스터조차도 게임이 진행되었으며 규칙이 깨졌으며 플레이어도 눈치 채지 못했습니다! 토너먼트 규칙에 따르면, 10 명 이내에 플레이어가 통지하지 않으면 게임은 유효하며 계속됩니다. (나는 그랜드 마스터가 그의 왕을 옮긴 다음 다시 옮겼다가 나중에
성화

1
en passant는 드물지만 FAR 보다 더 드문 강제 드로우 규칙이 있습니다 . 나는 40 년 동안 게임을 해왔으며, 전당포 이동이나 포획없이 50 번의 이동으로 강제 추첨을 할 수있는 게임을 본 적이 없습니다. 나는 기억조차하지 않는 규칙이 하나 더 있다고 생각합니다. 실제로 플레이어는 불러 오기 전에 추첨에 동의 할 것입니다. (그들은 상대가 종료 할 때까지 끌어 당겨서 그려진 위치를 "이길"수 없도록하기 위해 존재합니다.)
Loren Pechtel

2

예, 아니오

머신 러닝 / 신경망을 사용하여 체스의 규칙을 배울 수 있는지 또는 그것을 사용하여 "그랜드 마스터"레벨 체스 머신을 훈련시킬 수 있는지 묻는 것이 확실하지 않습니다.

당신은 확실히 규칙과 규칙을 사용하여 어느 정도의 체스를 컴퓨터에 가르 칠 수 있습니다. 그러나 나는 그것을 사용하여 그것을 더 높은 수준으로 훈련시킬 수 있다고 생각하지 않습니다. 컴퓨터 과학은 아직까지도 위치 / 직관적 인 관점에서 체스를 "이해할 수있는"기계를 생산하지 못했다. 현재의 모든 체스 컴퓨터는 광범위한 데이터베이스, 무차별 대입 계산 및 가능한 머신 러닝을 사용합니다.

참조 데이터베이스를 부정 행위로 사용하는지 여부에 달려 있다고 생각하십시오 :) 또한 실제로 많은 게임을 잘 아는 것과 분리 할 수 ​​있는지 여부를 알기가 어렵습니다. 체스를 잘하는 인간은 정확하게 얼굴을 인식하는 것으로 알려진 뇌의 일부에 의해 참조되는 많은 게임을 보았 기 때문에 정확합니다. 이 리콜에서 인간 체스 선수는 위치의 힘에 대한 "직관"을 개발할 수있는 것으로 보인다.


최고의 그랜드 마스터는 방대한 책을 외 우며 속임수로 간주하지 않습니다. 어쨌든, 좋은 개통 변형으로 간주되었던 것이 새로운 아이디어에 의해 파열되는 것은 항상 일어난다. 따라서 책 이동의 "속임수"는 컴퓨터가 재생하기에 최적의 방법이 아닐 수도 있습니다.
케빈

2

많은 의견들이 말했듯이, 이것은 '학습'의 정의에 관해 토론하는 철학적 질문입니다. 대부분의 인공 지능 프로그램은 합리적인 솔루션을 결정하는 데 의존합니다. 충분한 데이터가 주어지면 학습 체스 인공 지능 프로그램은 특정 상황에서 합리적 인 움직임 목록을 결정할 것입니다. 이것은 체스의 규칙을 알고 있다는 것이 아니라, 어떤 움직임이 유익하고 어떤 것이 유리하지 않은지를 이해합니다. 데이터 세트에 불법 이동을하는 플레이어가 포함되어 있어도 불법 이동은 즉각적인 손실을 유발하므로 ai는이를 무시하고 절대로 도움이되지 않으므로 해당 이동을 사용하지 않습니다.

신경망 또는 진화 알고리즘 또는 다른 종류의 학습 알고리즘이 사용되는지 여부는 중요하지 않습니다. ai는 규칙을 통해 무언가를 관찰하는 것을 명시 적으로 배울 수 없으며 합리적으로 유익한 옵션의 목록 만 결정할 수 있습니다.


2

체스의 규칙을 게임의 물리 엔진으로 생각하고 물리 법칙을 우주의 영구적이고 굽히지 않는 규칙으로 생각한다면 자연 우주에 실제 "법칙"이 몇 개나 있는지 생각하십시오. 어렵고 빠른 규칙을 만드는 것은 불가능하지는 않지만 매우 어려운 일이지만 특정 시점에서 여러 가지 테스트되고 수용된 이론을 만들 수 있습니다.

컴퓨터가 움직임을 관찰하고 기록한다고 가정 할 수 있지만 유효한 움직임에 대해 직접 주장하지는 않습니다.

예를 들어, 폰이 한 조각 앞으로 이동하는 것을 관찰하고 모든 조각이 한 공간 만 앞으로 이동할 수 있고 다른 폰이 한 공간 만 앞으로 이동할 수 있다는 새로운 가설을 세웁니다. 그것은 다음 움직임이 일어날 때까지 가능한 한 많은 제한적 가설을 형성 할 것이며 그 중 많은 것들이 우리에게 던져 지거나 더 자유 로워 질 수 있습니다.

결국 너무 많은 움직임 이후에 당신은 확실한 이론을 가지게 될 것입니다. 그러나 그것은 영구적 인 0에 접근하지만 결코 도달하지 않는 살아있는 데이터 세트가 될 것입니다.

대답은 컴퓨터가 정말 좋은 생각을 할 수 있지만 것입니다 그래서 : (NOT EDIT) 확인에 대한 규칙을 알고있다.


1

이론적으로는 가능합니다. 체스에서 그랜드 마스터가 될 수도 있습니다. 당신이 찾고있는 답은 신경망입니다 . 신경망은 본질적으로 우리 뇌에서 일어나는 것과 같은 일입니다. 더욱이 완벽하게 (읽기 불가능한 완벽하게) 설계된 신경망과 완벽한 하드웨어가 주어지면 인간이 동일하거나 더 나은 방법으로 배울 수있는 모든 것을 배울 수 있습니다.

그것에 대해 더 읽어보십시오 :


2
이 "답변"은 Wikipedia 링크의 모음 일 뿐이며, 그 중 두 가지는 동일한 개념을 설명하며, 그 중 하나는 광범위하고, 다른 하나는 현재 문제와 관련이 없습니다. 코오 넨지도를 사용하여 체스 규칙을 효과적으로 배우는 방법을 보여주십시오.
Fred Foo

1
ANN과 NN은 실제 뉴런 / 인간 뇌의 복잡성 근처에 있지 않으며 ANN은 기이 한 원유 근사치입니다.
Darknight

"이론에서 이론과 실제는 동일하지만 실제로는 결코 그렇지 않습니다." 체스 프로그램은 그랜드 마스터처럼 플레이 할 수 있지만 신경망이나 머신 러닝 때문이라고 생각하지 않습니다. 대부분의 훌륭한 프로그램은 방대한 오픈 북, 엔드 게임 테이블베이스, 깊이 우선 검색 ( "알파 베타 프 루닝이있는 negamax") 및 매우 복잡한 평가 기능 (대부분 그랜드 마스터의 도움으로 작성)을 사용합니다.
케빈

신경망은 훈련받은 것을 배울 수 있습니다. 체스에는 거의 적용되지 않는 규칙이 있지만 게임의 일부입니다. 감독으로 승진하는 것이 합법적입니까? 왕으로 승진하는 것이 합법적입니까?

2
하 ... 왕에게 승진하는 것은 장군을 조금 더 어렵게 만듭니다!
케빈

1

분석만으로도 움직일 수있는 움직임을 배울 수 있다고 생각하지만, 움직일 수없는 움직임을 어떻게 배울 수 있을까요? 예를 들어, 폰은 반대편 조각이 앞에있을 때 한 칸 앞으로 이동하지 않는 것 같습니다. 이것이 플레이어의 선택에 의한 것인지 아닌지 컴퓨터는 어떻게 알 수 있습니까? 99.99 % 이상의 이벤트가 발생하지 않으면 해당 이벤트를 수행 할 수 없다는 의미의 알고리즘을 생각해 볼 수 있지만, 99.99 %의 시간이 이벤트로 간주 될 수도 있습니다. 나쁜 움직임이지만 시간의 0.01 %가 게임에서이기는 움직임입니다. 제 대답은 '아니요'입니다. 단순히 게임을 분석하여 모든 규칙을 배울 수는 없지만 게임을하기에 충분히 배울 수 있습니다.


1

이것은 철학적 인 질문입니다. 체스를하는 동안 사람들을 관찰하는 것만으로 체스를 배우는 법을 배울 수도 있습니다. 사실 넬슨 굿맨 은 그의 훌륭한 저서 Fact, Fiction, and Forecast 에서 기본적으로 같은 종류의 질문을 합니다. 우리가 이미 유한 한 일련의 관측에서 미래 관측에 대한 예측으로 어떻게 이동할 수 있을까요? 이미 수행 된 관측은 지금까지 관찰 된 체스 이동이고 향후 관찰은 아직 발생하지 않은 모든 체스 이동일 것입니다. 문제는 과거 관측과 미래 관측 사이에 명목 학적 관계 가 있는가 (과거의 사건과 미래의 사건 사이 의 순수한 인과 관계 와 반대 되는가)인가?

우리는 단어를 해석하면 법칙 적를 같이 성격이나 논리의 법률에 의해 그리고 지금까지이 법에 불일치에서 일어날 수있는 아무것도 다음 대각선으로 성을 이동하는 최초의 사람이 자연의 법칙을 깰 것이기 때문에, 그러한 관계는 확실히있다 우리가 알고있는 우주는 붕괴 될 것입니다.

그러나 실제로 자연의 이상한 사고로 인해 세계의 모든 체스 플레이어가 앞으로 할 모든 움직임이 유효하더라도 (누구도 실수를 범하거나 속이려고하지 않으며 심지어 체스 규칙에 대해 우둔한 사람도 없습니다. 보드를 가로 질러 무작위로 체스 조각을 밀기 시작하지만 우연히 항상 규칙에 따라),이 모든 것을 강요 한 자연의 법칙 (또는 논리 법칙)이 있다는 것을 우리에게 확신 시키지는 못합니다. 우연히 우연이라고 생각합니다.

Ludwig Wittgenstein 은 그의 철학적 조사 에서 비슷한 입장을 취했다 . 그는 모든 관측이 임의의 규칙에 따르고 심지어 상충되는 규칙에 따른다고 주장한다. 예를 들어, 내가 관찰 한 모든 체스 게임이 오후에 일어난다면 , 오후에 감독은 대각선으로 만 움직일 수 있습니다 . 하루 중 시간이 게임에 중요하지 않다는 것은 하루 중 다른 시간 동안 체스 게임을 보지 못했기 때문에 볼 수 없었던 것입니다. 또는 우연히도, 내가 체스를하는 여자를 본 적이 없다면 감독은 남자들 만 움직일 수 있다는 규칙이 될 수있다. 관측과 관련이 있고 그렇지 않은 것은 관측의 전제 조건으로 결정되며 관측 자체의 일부가 될 수 없습니다.

BTW : 문제에 대한 Wittgenstein의 솔루션은 Goodman의 솔루션과 매우 유사합니다. 그래도 나는 놀라움을 망치지 않을 것이다.;-)

추가:

Sussman이 초보자였던 시절에 Minsky는 PDP-6을 해킹하면서 한 번 그에게 왔습니다.

민스키가 물었다. "나는 Tic-tac-toe를하기 위해 무작위 유선 신경망을 훈련하고있다"고 Sussman은 대답했다. "왜 인터넷이 무작위로 연결되어 있습니까?"Minsky가 물었다. Sussman은 "게임 방법에 대한 선입견을 갖고 싶지 않다"고 말했다.

민스키는 눈을 감았 다. "왜 눈을 감아?" Sussman은 선생님에게 물었습니다. "방이 비워 지도록" 그 당시 Sussman은 깨달았습니다.


-4

아니

단순히 패턴을 배우는 것 (어느 방법 으로든)은 "최적의 체스를 배우는 법"과 같지 않기 때문입니다.

이것은 단지 계획 패턴을 배우는 것과는 매우 다른 계획 및 전략을 요구합니다.


1
당신은 실제로 그것을 모른다; 게다가, 질문은 단지 예시 게임을 분석함으로써 체스의 실제 규칙을 배우는 것이 가능한지 (컴퓨터의 경우, 그러나 동일한 제약이 아마도 인간에게도 적용될 수 있을지) 여부이다.
tdammers

1
당신이 그 질문을 오해 한 것 같아요 ...
maple_shaft

AI (신경 네트워크)로 작업 (마스터 논문)을 한 후에는 그렇게 할 수 없다고 확신합니다. 달리 말할 증거가 없으면 단순히 "그것을 모른다"라고 말할 수 없습니다
Darknight
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.