태그 보관물: algorithm

algorithm

보드 게임 AI 만들기 13까지 동일한

터키에서 이름이 Okey이며 주로 인기있는 보드 게임을 코딩하고 싶습니다. http://en.wikipedia.org/wiki/Okey

하지만 AI에 관한 문제가 있습니다.

Firslty가 게임 설명을하겠습니다 ..

이 게임은 4 명의 플레이어가합니다.

이 게임에는 106 개의 타일이 있으며 그 중 2 개는 가짜 조커입니다. 다른 104 타일은 일반적으로 녹색, 검은 색, 파란색 및 빨간색의 4 가지 색상으로 나뉩니다. 모든 색상에는 두 세트의 타일이 있습니다. 세트 ise는 1부터 13까지 순차적으로 번호가 매겨진 13 개의 타일을 포함합니다.

각 플레이어는 14 개의 타일을 시작하고 (한 개는 15 개를 시작하고 먼저 시작) 다음 플레이어에서 가장 원치 않는 타일 중 하나를 던집니다. 다음 플레이어는이 타일을 얻거나 테이블 가운데 스택에서 다른 타일을 얻을 수 있습니다. 게임은 반 시계 방향으로 진행되었습니다.

이 게임의 목표는 가능한 빨리 14 타일의 유효한 시퀀스를 찾는 것입니다. 플레이어는 13까지 동일한 색상의 연속 번호로 타일을 정렬 할 수 있습니다. 예를 들어 Green 1, Green 2, Green 3의 경우 예외가 있습니다. 여기서 1은 13을 따를 수 있습니다. 예를 들어 Red 12, Red 13 및 Red 1은 a 유효한 세트. 그러나 Red 13, Red 1 및 Red 2는 유효하지 않습니다.

또는 플레이어가 같은 숫자로 타일을 색상별로 정렬 할 수 있습니다. 예를 들어 Green 1, Black 1, Red 1, Blue 1입니다.

각 세트가 유효하려면 3 개 이상의 타일이어야하며이 세트 각각의 이름은 “Per”입니다. 3 개 이하의 타일은 마무리에 유효하지 않습니다. 유효한 마무리 세트는 다음과 같습니다. G : 녹색, B : 파랑, R : 빨강, BL : 검정 G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13

마지막으로, 게임을 시작할 때 조커 (okey)를 결정하기 위해 선택된 타일. 예를 들어 파란색 3을 선택한 경우; 블루 4는 조커가 될 것이며 (플레이어) 플레이어는 세트 당 승리하거나 완료해야하는 타일 대신이 타일을 사용할 수 있습니다.

물론 이러한 규칙은 일반적인 규칙이며 질문을 설명하기 위해 요약됩니다. 영어를 읽을 수있는 경우 http://tr.wikipedia.org/wiki/Okey 또는 Google 번역으로 번역 된 페이지 http://tr.wikipedia.org/wiki/Okey 에서이 링크를 확인할 수 있습니다. http://translate.google.com/translate?js=n&prev=_t&hl= en & ie = UTF-8 & layout = 2 & eotf = 1 & sl = tr & tl = en & u = http : //tr.wikipedia.org/wiki/Okey

내가 사용할 수있는 AI 알고리즘은 무엇입니까? 미니 맥스 이론과 알파 베타 가지 치기를 검색했습니다. 그러나 이러한 이론은 일반적으로 체스 또는 틱택 토와 같은 2 인 게임입니다.

원래 질문은 stackoverflow에 있습니다 : https : //.com/questions/4419628/creating-a-board-game-ai



답변

카드 타일을 바꾸면 게임 설명이 카드 게임 Gin Rummy와 엄청나게 비슷합니다. 직접 검색하여 직접 AI 리소스를 찾을 수 있습니다.

플레이어 수에 관계없이 다른 AI 특성을 생성하는 데 사용할 수있는 AI의 한 가지 옵션 :

  1. 모든 손을 직접 연주 할 수는 있지만 컴퓨터를 편리하게 사용하고 Excel을 열 수 있지만 보드 게임을 이상적으로는 친구와 함께하십시오.
  2. 당신의 사고 과정이 무엇인지 말하십시오. 결정을 내릴 때 고려해야 할 여러 개별 포인트가 있습니다. “원치 않는 타일이 나에게 플레이 가능한 세트를 제공합니까?”또는 “세트에 가까운 단계를 가져 오십시오”또는 “기존의 플레이 가능한 세트에 추가하십시오”와 같은 것들.
  3. 그런 다음 어떤 타일을 고를 지 결정하고 버릴 타일을 결정할 때 고려해야 할 모든 항목의 목록이 있으면 가장 중요한 항목에 따라 숫자 가중치를 만들기 시작합니다.
    1. 예 : 기존 시퀀스에서 4 번째 타일을 얻는 것보다 시퀀스에서 3 번째 타일을 얻는 것이 중요 할 수 있습니다.
  4. 결정을 내릴 때 살펴본 모든 사항에 대해 이러한 가중치를 모두 갖추면 Excel을 사용하여 각 작업에 대한 점수를 계산할 수 있습니다. 따라서 각 행이 작업 선택을 나타내고 각 열이 결정 요인을 나타내는 워크 시트가 있습니다. 해당 조치에 해당 계수가 참이면 가중치에 곱하여 가중치를 곱하고 해당 계수가 거짓이면 점수를 0으로합니다. 그런 다음 모든 점수를 합산하고 가장 높은 점수를 얻은 것은 AI가 선택하는 것입니다.
  5. Excel을 연 상태에서 게임을 즐기십시오. 매 턴마다 점수 결과가 선택한 결과와 일치하는지 확인하십시오. 그것이 생각할 때까지 당신의 생각에 따라 가중치를 조정하지 않으면. 여러 게임을 한 후에 AI는 게임과 같은 방식으로 게임을해야합니다. 체중이 다른 친구 그룹과 일관되게 게임을했다면 다양한 성격의 AI를 갖게됩니다.

그런 다음 항상 최고 등급 옵션을 선택하지 않아도 어려움을 제어 할 수 있습니다. 점수가 낮을수록 결정이 나빠집니다.


답변