2017-03-27 3 views
0

나는 절차 적으로 생성 된 행성에서 설정이 열린 세계 인 로제를 만들고 있습니다. 나는 각 생물체의 분포가 유기적이기를 바란다. 5 개의 다른 생물체가 있습니다. 거대한 복잡한 알고리즘없이 유기적으로 배포 할 수있는 방법이 있습니까? 나는 각 생물체가 차지하는 공간을 거의 같게하고 싶다.2 개 이상의 주 (단지 살아 있거나 죽은 것 이상)가있는 셀 방식의 오토 마톤

필자는 이전에 셀룰러 오토 마타를 사용하여 각 생물 군별로 지형 발생기를 만들었습니다. 거기에 각 타일마다 2 개의 다른 상태가있었습니다. 효율적인 방법은 5 가지가 있습니까?

특정 코드가 필요하지는 않지만 파이썬 2.5를 사용하고 있습니다. 프로그래밍 이론은 괜찮습니다.

질문이 너무 끝나면이 문제를 볼 수있는 리소스가 있습니까?

답변

0

모든 셀 상태 공간에서 셀 자동화를 정의 할 수 있습니다. F:Q^n->Q으로 셀 업데이트 기능을 공식화하십시오. 여기에서 Q은 주 공간 (여기 Q={0,1,2,3,4,5})이고 n은 해당 지역의 크기입니다. 하나도 존재하지 않는 경우

는 시작으로 바로 즉 0가 중립 상태로되고, 다수결 원칙으로서 F 쓰기 F(c) 이웃에서 가장 높은 카운트 1-5의 값을 반환하고 0한다. 평등의 경우에는 무작위로 최대 값 중 하나를 선택할 수 있습니다.

초기 상태로 상태가 1-5 인 비교적 등거리 셀 5 개가있는 구성으로 시작하십시오. 이동/미러링 할 수있는 고정 위치를 통해 결정적으로 구축하거나 임의로 생성 할 수 있습니다.

모든 셀의 값이 0이 아닌 경우 맵이 있습니다.

주어진 확률로 규칙을 적용하는 등 업데이트 기능을 마음대로 개선 할 수 있습니다.

관련 문제