102015-03-24 , 法政大学大学院情報科学研究科
The agent-based social simulation system simulates various phenomena, such as economical or traffic ones. These phenomena are characterized by interactions among agents who make their decisions autonomously. However, a large scale social has problems with readability and maintainability because the program implementing the social system tends to be complicated because of complicated interactions among a huge number of agents. Moreover, as the number of agents increases, the execution time becomes longer in geometric order.In this paper, a role-based model implemented using Haskell is introduced. The method enables to makes the developed program readable and maintainable. The execution speed is also improved using concurrency by taking advantage of Haskell functions. The role-based model divide a social system into three basic elements: agents; stages; and roles. An agent is defined how to play his role in each stage. Haskell is characterized by a pure functional programming language, in which a program is designed by describing the structure of a developing social system, which is totally different from the conventional imperative programming languages that describe computational algorithm included in the system.Using the role-based model, social systems such as Prisoner’s dilemma have been implemented, which leads to succeed in providing the readable and maintainable programs and reducing execution time.