저는 파이썬에서 gambit을 사용하여 게임 이론 방식으로 세계를 시뮬레이션하고 있습니다. 겜비 트 (gambit)의 한 가지 구성 요소는 각 플레이어가 참여한 일련의 결정에 대한 "결과"를 저장하는 것입니다.ndarray에서 가능한 모든 값을 numpy로 생성 하시겠습니까?
game[d1,d2,d3,...,dn][n] = payoff
d1
는 플레이어 (1)에 의한 결정의 인덱스
, d2
는 플레이어 (2)에 의해 이루어지는 결정의 지표 인, 등등과 n
플레이어 용의 인덱스 : 이는 형태 인 payoff
이 저장되어 있습니다. 이제
game
객체에 전달 된 인덱스의 크기가
[8,8,...,8]
을 통해 내가
[0,0,...,0]
에서 시리즈를 생성 어떻게
을 변경할 수 있습니다 (플레이어의 크기 = 수 = N) 내가 그들을 [d1,d2,d3,...,dn]
에 저장할 수 있도록?
필요한 것을 분명히 밝히지 않았습니다. [0,0,0,0, ...]과 [n, n, n, n, ...] 사이의 모든 조합 (순열?)을 개별적으로 생성하고 싶습니다. 길이는 각각 n '? 아니면 물건을 아프려면 모양 배열 (n, n, n)이 필요합니까? 두 명의 플레이어가 원하는 최소한의 예를 보여줄 수 있습니까? 가능한 결정의 차원에 대한 차원이 있습니까? – wwii
@wwii 인덱스의 차원 (길이?)이 n 인 [0,0,0, ..., 0]과 [8,8,8, ..., 8] 사이의 모든 순열을 생성하고 싶습니다. 동적으로 n 값을 기반으로이 작업을 수행해야합니다. –
'n'의 크기는 어느 정도입니까? 'n'이 아주 작지 않으면, 조합의 총 수가 많은 RAM을 씹을 것입니다. BTW, 그 종류의 조합을 데카르트 제품이라고합니다. 평범한 파이썬에서는'itertools.product'로 생성합니다. Numpy에서 데카르트 제품을 만드는 방법에는 여러 가지가 있습니다. –