我们如何实际构建基于智能体的建模呢
那么有两种基本的方法
一个是完全从头开始构建自己的模型，就像任何一个电脑程序一样，
另一种方式，在某种程度上是很多人越来越多的选择，就是使用基于智能体建模的工具包。
我们已经简单介绍了NetLogo，这是我们将在整个课程中使用的一个工具包。
但是也希望你知道其它的工具包。
例如基于智能体建模的工具包Swarm，这是90年代初圣塔菲研究所开发的
是用C的语言编写。这种语言很受欢迎，实际上它也是许多Mac OS应用程序的基础。
Swarm仍然在使用中，还有SwarmFest会议，更多关于智能体的建模。
Repast阿贡国家实验室开发的一个工具包，使用多种不同的语言编写的。
一直是计划，但可能使用Java实现最受欢迎，从2000年以来仍然很受欢迎
那就是Ascape。 Ascape是在布鲁金斯研究所部分开发的，主要用于支持Joshua M. Epstein和Robert Axtell在其基础代理建模书中使用的Sugarscape模型的开发。
还有由乔治梅森大学开发的梅森，部分由肖恩·卢克开发，它是一种非常快速和有效的基于智能体的算法。
Mass是由匈牙利的Laszlo Gulyas和一些同事开发的工具包，进行智能体的模拟。
Breve是一个有趣的，轻量级的基于智能体的建模的仿真工具包，它真正允许您探索建筑的物理方面智能体建模。
之后NetLogo是我们课程中将要使用的。
我们将使用NetLogo的原因是因为它是最初的基于智能体的建模语言开发库。
它是由西北大学的Uri Wilensky设计的，也是我在教科书上的合着者，你可能想要接受本课程的介绍，称为“基于智能体的建模简介”。
而NetLogo仍然是使用最广泛的基于智能体的建模环境。
在许多方面也是容易学习的。 事实上，在动手实践的研讨会上，使用NetLogo，比如说一个3小时的工作
NetLogo有一个基本的设计原则，真正促进了这一点。
新手可以在易于理解的方式中首次使用简单的模型。
它还有一个预科课程，包括复杂系统和建模，所以即使是K-12级别的学生和学习者也可以通过这种方式了解如何使用基于智能体的建模。
它也被用于大学课程，包括并需要基于智能体的建模。
新闻媒体也被引进来，将模型视为对已经解释的争论的证据。
因此，对于这个问题，理解模型或模型的创建非常低。
另一方面，也有很高的限制。 语言足够表达实现高复杂度的模型。 研究人员应该能够阅读和发表模型。
传统上这个想法是在大量软件建模环境中，有概念建模者，和实际的软件工程实现者
NetLogo建模者背后的，这两个人可能是同一个人。
这允许您缩小或甚至消除建模者和程序员之间的差距。
它使模型开发者与研究者产生互动。
这允许交互式或迭代建模类型环境。模型开发人员和模型程序员不断沟通他们正在创建的模型。
它还提供简单分享模型的能力，因为它们可以以非常容易理解的方式被理解和使用。
而且由于建模者和程序员之间的这一差距已被消除，所以它更容易验证和挑战模型，我们认为这对建模的科学发展很重要。
现在，NetLogo有一个有趣的方面，我觉得应该花一点时间来谈谈，而且这是一个很好的故事。
NetLogo是Seymour Papert及其同事在1969年首次开发的。 事实上，Logo是NetLogo的最初语言。
因此，在Logo中，它不是作为一种多智能体语言开发的，而是真正的单一智能体语言，
西摩·帕普特（Seymour Papert）与同事一起研究，帮助和教导孩子如何从计算的角度来思考。
当他将Logo引入课堂时，很多时候他会使用这些实际的机器人类型的东西之一。
为了让孩子们与机器人进行更多的互动，他会称之为“乌龟”，而不是机器人。 因为孩子们想和海龟一起玩。
因此，该物理机器人智能体的虚拟实现也被称为乌龟。
而事实上，到目前为止，NetLogo是Logo编程语言的直接后代。
这并不意味着智能体程序慢或任何关于它们的内容，这就是我们所说的NetLogo编程环境中的智能体的基本类。