합리적인 AI를 만드는 방법?


11

Fox and Hounds 게임을 기반으로 한 논리 게임을 만들고 있습니다. 플레이어는 여우를 재생하고 AI는 사냥개를 재생합니다. (내가 아는 한) 나는 AI를 완벽하게 만들었으므로 결코 잃지 않습니다. 그렇게하는 것은 인간 플레이어에게는 그리 재미 있지 않습니다.

이제 인간이 이길 수 있도록 AI를 멍청하게해야하지만 어떻게 해야할지 모르겠습니다. 현재 AI 로직은 패턴 매칭을 기반으로합니다. 만약 보드를 패턴 공간 밖으로 나가게하는 임의의 움직임을 도입한다면 AI는 아마도 게임이 끝날 때까지 바보 일 것입니다.

한 번의 움직임으로 "천재"에서 "완전히 바보"로 가지 않는 방식으로 AI를 바보로 만드는 방법에 대한 아이디어가 있습니까?


따라서 항상 최고의 승리 전략을 찾고 구현했습니다. 지금 좀 더 복잡한 게임으로 옮기지 않겠습니까? 또는, 도전에 대해 어떻게 : 항상 전략 구현 손실을 , 어떤 다른 플레이어가 무엇을하는지는 중요하지 않습니다. 또한보십시오 : 지는 체스 / 멸종
Martin Sojka

어쩌면 당신은이 다른 질문에 대한 나의 대답을보고 싶을 것입니다 : gamedev.stackexchange.com/questions/12858/…
Tyn

여우와 사냥개는 체스만큼 복잡하지 않습니다. 한 가지 잘못된 움직임과 AI는 확실히 잃어 버립니다. AI를 바보처럼 보이게 만드는 것은 매우 쉽습니다. 펜과 종이와 몇 시간 동안 전략적 사고를 사용하여 문제를 해결했다고해서 내 선수들이 똑같이 할 것이라는 의미는 아닙니다.
밀라노 Babuškov

답변:


7

많은 구현으로 인해 이동에 대한 임의 가중치 가중 기회 (예 : 최적의 이동 기회 및 최적이 아닌 이동 기회)가 발생할 수 있습니다. 차선책이 얼마나 차분한지를 결정하는 것은 매우 까다로운 문제 일 수 있지만 AI가 훨씬 지능적으로 보이는 결정을 내릴 수도 있습니다.

중요 사항 : 난이도 설정에 관계없이 AI가 즉시 게임에서 이길 수있는 기회를 놓치지 않는 것이 좋습니다. 그 차례에 게임을 끝내기 위해 움직일 가능성이 있다면, 항상 움직여야합니다. 그렇지 않으면 AI가 어떻게 행동하는지에 대한 플레이어의 인상을 완전히 파괴합니다.


감사. 나는 모든 간단한 패턴에 대해 똑똑하게 연주하기로 결정했습니다. 플레이어의 자유에 대한 경로가 쉽게 보이지 않는 두 가지 복잡한 패턴이 있기 때문에 초보자 인간 플레이어와 비슷한 움직임을 재생하여 AI를 잃게 만드는 추가 패턴을 만들었습니다. 게임을 시작할 때, 나는 그런 포지션에서 하나를 잃어 승리 패턴을 무작위로 전환합니다.
밀라노 Babuškov

10

이것이 '해결 된'게임 인 것처럼 보이기 때문에 유일한 대답은 컴퓨터가 의도적으로 나쁜 움직임을 가져야한다는 것입니다.

빠른 해결책은 최선의 움직임을 계산 한 다음 좋지 않은 다른 법적 움직임을 계산하는 것입니다. AI의 난이도는 완벽한 움직임을 통해 다른 좋은 움직임을 선택하지 않을 확률로 측정됩니다.

  • 어려움-90 % 좋은 움직임
  • 어려움-70 % 좋은 움직임
  • 보통-50 % 좋은 움직임
  • 단순-20 % 좋은 움직임
  • 어린 시절에 떨어졌다-<5 %가 잘 움직였다
  • 핫도그-모든 랜덤

10
이것은 좋은 생각 일 것입니다. 그러나 의도적으로 잘못된 동작을한다면 지연된 AI로 끝날 것입니다. 머리 꼭대기에서 먼저 "법적"동작에 대한 패스를 한 다음 각 동작에 가중치를 적용하고 가중치별로 가중치를 적용합니다. 그런 다음 난이도에 따라 RNG를 더 나은 움직임으로 수렴시킬 수 있습니다.
Jonathan Connell

4
@Jonathan Connell에 동의합니다. 고려하십시오 : 상자 뒤에 숨는 것 vs 폭발성 통 뒤에 숨는 것 vs 상자와 은밀한 수류탄 사이에 숨는 것. AI는 더 나은 AI가 더 나은 움직임을 더 자주 만들면서 움직임이 얼마나 나쁜지를 평가해야합니다 . AI가 당신을 쏘는 시간의 70 %와 스스로를 날려 버리는 시간의 30 %가된다면 AI는 크 거나 힘들지 않습니다 . 그냥 재미있을 것입니다.
doppelgreener

2
@Adrian Seeley 마지막 의견은 가장 큰 문제에 닿습니다. 나를 위해 인공 지능에 대항하는 인간은 이론적으로 완전히 임의적 임에도 불구하고 항상 본능적으로 선택에 대한 추론을 찾을 것이다. 예를 들어 보드 게임에서는 움직임을 예측할 때 반복 횟수를 제한하여이 문제를 해결할 수 있습니다. 따라서 이것이 해결 가능한 게임에서 좋은 해결책이 될 수 있습니까?
Jonathan Connell

2
두 Jonathans 모두에 동의하지만 'Was Dropped as a Child'및 'Hotdog'에 대해이 답변에 +1을 제공합니다
thedaian

2
@Jonathan Connell : 제안 / 솔루션을 답변으로 게시해야합니다. 공감대가 필요합니다.
bummzack
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.