2012-06-25 3 views
2

죄송합니다.이 모든 것이 멍청하고 불분명하지만, 현재 Netlogo를 에이전트 기반 공동 행동 모델로 배우고 있으며 대체 소프트웨어 선택에 대한 조언을 듣고 싶습니다. 필자가 가장 중요하게 생각하는 것은 PyCuda가 병렬 계산을 가능하게하기 때문에 PyCuda를 최대한 활용하고 싶다는 것입니다. 그러나, 그것은 아직도 다른 환경에서 숫자 스크립트를 작성하고 또 다른 하나의 비주얼을 구현해야한다는 것을 의미합니까 ??? 그렇다면파이썬에서 고급 시각화를 사용하는 ABM

, 내 질문은 :

  1. 내가 수치 어떤 패키지를 사용해야합니까? PyEvolve, DEAP, 또는 다른 것? PyEvolve는 더 이상 개발되지 않고 DEAP은 구식 (?) EAP의 래퍼 일뿐입니다.

  2. 그래픽 방식으로, 나는 mayavi2와 vtk 유망한 것을 발견했습니다. 문제는 숫자 패키지가 이들에 쉽게 바인딩되는 것 같지 않다는 것입니다. 수치 출력을 데이터 파일에 저장하고 mayavi2에 공급하는 것보다 나은 대안이 있습니까?

  3. 또 다른 옵션은 Netlogo를 통해 데이터를 생성하고 (2)의 그래프 패키지에 입력하는 것입니다. 이것을하는 데 어떤 단점이 있습니까?

이 혼란에 대해 자세히 알려 주셔서 감사합니다.

+0

'scipy' 또는'sage'를 보았습니까?이 둘 모두'pymatplotlib'과 함께 작동합니다. –

+0

병렬 계산이 필요합니까? –

+0

반드시 그렇지는 않습니다. 그러나 시뮬레이션의 효율성을 대폭 향상시킬 것이라고 생각합니다. –

답변

1

중요한 성능 문제가 발생하지 않는 한 거의 확실하게 CUDA를 사용하고 싶지는 않습니다. 일반적으로 CUDA는 부동 소수점 선형 대수 문제를 해결하는 데 가장 적합합니다. 병렬 계산을 기반으로하는 프레임 워크를 찾고 있다면 OpenCL을 사용하여 필요한 경우 GPU를 활용할 수 있습니다.

시각화 측면에서 특정 데이터 교환 형식을 타겟팅하고 다른 프로그램에서 그 렌더링을 해줍니다. VTK와 같은 것을 사용하는 유일한 이유는 어떤 이유로 시각화 프로세스를보다 효율적으로 제어해야하거나 실시간 솔루션을 찾고있는 경우입니다.

+0

고마워요! 그것은 훌륭하게 도움이된다. 그러나 "특정 데이터 교환 형식"이 무엇을 의미하는지 명확하게 설명 할 수 있습니까? TVTK가 그러한 예가되고 Mayavi가 그것을 렌더링하는 프로그램이 될 것입니까? –

0

아마도 시각화를위한 최상의 선택은 중간 형식을 사용하고 다른 프로그램에서 수행하는 것입니다. 그러나 성능을 위해서는 클러스터 용 JVM을 구성하고 NetLogo를 실행하는 것이 좋습니다. 아직 시도하지는 않았지만 베오 울프 스타일 클러스터에서 NetLogo를 사용하려고 진지하게 생각하고 있습니다.

현재, Python으로 코드를 구현하려는 경우 인 Repast이라는 ABM 플랫폼이 있습니다.

+0

"중간 형식"과 "다른 프로그램"을 실행하는 파이썬 예제를 나에게 줄 수 있습니까? –