英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
博客网络的演化建模
Telmo Menezes
CAMS, CREA amp; ISCPIF
CNRS-EHESS
190-198, avenue de France
75244 Paris Cedex 13, France
Email: telmo@telmomenezes.com
摘要:
生成理论来解释复杂网络的起源和动态的常用方法是创建多代理模拟,输出具有与从实际数据导出的网络类似特征的网络。例如,在博客(和其他)网络中发现的权力法律程度分布的众所周知的解释是代理人层面的优先依恋内生机制。但是,一旦简化的假设下降,寻找解释全球网络特征的较低层次的行为可能变得困难。本文探讨的一种情况是,对具有异质行为和先验多样性的人类智能体所产生的博客网络进行建模。我们提出了一种基于混合策略的方法,将由人类设计师创建的通用行为模板与使用遗传编程进化的一组程序相结合。我们提供的实验结果说明了如何成功使用这种方法来发现一组非平凡的代理级行为,这些行为可生成适合观察数据的网络。然后,我们使用该模型对真实数据进行成功的可测试预测。我们通过根据模拟过程中程序的执行路径对代理进行聚类来分析演化模型中发现的行为的多样性。我们表明,这些集群映射到不同的行为,除了更传统的内生的博客网络动态解释外,还给出了对外生性需求的信任。
关键词:遗传编程,动态网络,社交网络,复杂系统,多智能体模拟。
- 介绍
博客网络是基于互联网的社交网络的一个有趣的子集。它们允许出现大多数不受监管和分散的内容创建社区,这些社区围绕共同利益和社会关系组织起来。正如许多其他类型的复杂网络一样,非平凡的全球结构源于当地代理人的相互作用。对这种类型的复杂系统进行建模的一种常见方法是开发多智能体模拟,试图找到能够产生适合现实世界中观察到的全局指标的低级智能体行为。这些模型的价值在于其解释能力和预测能力。一方面,他们让我们了解哪种个人行为会导致全球行为。另一方面,它们允许我们测试场景,例如:全局现象如何受到代理级别行为变化的影响,或者系统随着时间的推移如何演变。
建模工作需要简化观察的现实。设计多智能体仿真解决复杂网络的起源和动态的问题在于,当我们试图考虑观测网络的更多方面时,人类建模者越来越难以找到导致 适合观察现实的模拟。例如,目前对网页网络的模拟使得隐含的简化假设,即所有代理人都具有相同的基本行为,并且不对称性仅出现在优先依恋等现象中[1]。显而易见,优先依恋和类似现象在网络和博客网络形成中发挥重要作用,同样清楚的是,这些网络中的代理在行为上并不是同质的。例如,代理商的发布速率和他们倾向于引用网络中其他代理商的其他帖子的倾向不同[2]。通过在语义层次上观察帖子的内容,还可以观察到代理人在不同主题上的兴趣水平不同[3]或者他们倾向于产生或跟随主题[4]。
在本文中,我们提出了一种方法,将人类建模与适合观察数据的特定低级行为的进化搜索相结合。
在下一节中,我们将讨论与本文提出的想法有关的工作。在第三部分中,我们将博客网络中的代理人混合模型,结合人工设计的模板和一组演进程序。我们还介绍了用于演化模型的演化算法和用于使演化模型近似真实数据的适应度函数的描述。在第四节中,我们描述了一个实验的设置和结果,我们发展了一个多智能体模型来解释真实博客网络的出现。我们在第五部分完成了一些结论和最后的评论。
二、相关工作
A.建模博客网络和互联网
模拟博客网络的努力之前是在网络建模上进行更通用的尝试。优先附件[1],[7]是用于解释包括博客网络在内的许多复杂网络的无标度特征出现的最着名的代理级行为。在[8]中,提出了基于优先依恋的博客网络的多智能体生成模型。在[9]中,通用博客网络也被建模为多代理系统,将优先附件与随机游走算法相结合,以确定代理人何时创建新帖子。该算法被证明可以产生指数后置间隔时间,以适应实际数据中观察到的情况[10]。开发了其他模型来解决与博客网络相关的更具体的问题。 例如,[11]中描述的模型处理博客的死亡率。
- 博客网络中的异构性
有关作品的文献中有几个例子探讨了博客网络由具有不同特征的代理人维护的想法。代理人之间的差异可以在几个层面上找到,包括链接行为的结构层面和帖子内容的语义层次。
在结构层面,在[2]中描述的工作中,博客类型通过分类显示,根据他们参与的级联的拓扑结构以及他们的时间活动。在[12]中,分析了博客作者的不同人格特征,并与博客撰写的内容及其动机相关。在[13]中,博客行为之间的差异显示取决于他们的政治派别。在[14]中,确定了博主和博客评论员之间的四种不同形式的交流。
- 演化模型
在与本文提出的观点相似的工作中,使用遗传程序从实验数据中提取科学规律[15]。这项工作和我们的工作之间的相似之处在于,在这两种情况下,我们都使用进化搜索和遗传编程来自动搜索符合数据的理论。在[15]的情况下,生成的理论采用数学方程形式的法则形式。在我们的案例中,生成的理论是一组描述代理的低层行为的程序,这些程序共同产生一个与观察到的真实世界网络具有类似特征的网络。
三、进阶模型
- 代理模型
我们提出了一个多智能体模型,其中每个智能体模拟周期遵循一个基于关于博客行为的常识假设的模板。该模板由图1所示的流程图描述,其可以概括如下:在模拟周期期间,代理人花费一些时间阅读由其他博客生成的帖子。博主维护一份她喜欢的博客列表,作为导航的起点。我们将把该列表称为博客文章。从那里,她可以继续阅读她正在阅读的帖子引用的帖子,或者转到博客文章中的另一个博客。在此过程中,她可能会积累链接到她打算稍后在她自己的帖子中引用的帖子。在博客网络导航过程中的某个时候,她可能会决定创建一个新帖子,其中包含累积的引用(如果有的话)。在阅读帖子的同时,博客可能会决定添加该帖子所属的博客。最终,博主将决定终止她的周期活动。这些假设是基于观察人类博客活动的经验。这个简单的行为模板可以适应广泛的特定行为,因为决定采取任何描述的行为是随机确定的,其发生的概率由程序计算。通过进化搜索,我们将寻找一组生成最适合真实网络观测指标的行为的程序。 我们人口中的每个人都是这样的一个人。与许多基因编程系统不同,在这个系统中,为每个单独的程序分配一个适应值,在这里适应性评估对应于一组程序。我们用来演化程序的具体技术是基于树的遗传编程[16]。在图1中,程序被用灰色椭圆内他们的代码表示的,用箭头指向的,因为它们影响的流程图中的阶段。
代理具有内部状态,详见图2。这种状态的一个要素是已经讨论过的博客文章。另一个是读取列表,其中下一个要阅读的帖子是从中选择的。该列表将使用代理的博客滚动中每个博客的最后一篇文章进行初始化。当访问新帖子时,从该帖子链接的所有帖子都被添加到读取列表中。此外,已访问的帖子被标记,以便它不能再次被选择作为当前模拟周期中读取的下一篇文章。
在阅读帖子后,代理人可以采取以下几种行动:将帖子添加到链接列表中,将拥有帖子的博客添加到其博客文章中,创建新帖子并结束模拟周期。链接列表是由代理创建的下一篇文章引用的帖子列表。如果代理决定创建新帖子,则创建时会引用当前链接列表中的所有帖子,然后清空该列表。可以推断,代理可以在模拟周期中创建几个帖子。一个模拟周期可以通过代理的明确决定来终止,或者如果没有新的可读文章可以被发现。
仿真根据四个程序返回的概率执行这些操作:P L,P R,P P和P E,如表I所示。这些程序的返回值被截断为[0,1]间隔,并与同一时间间隔内统一生成的随机值进行比较,以确定每个模拟步骤是否采取了行动。
我们模型的另一个重要方面是,代理人的行为可能受其当前内部状态的影响,并且在某些情况下,受访者访问博客的当前状态所定义的上下文以及当前正在阅读的帖子的特定特征(我们会按发帖标签打电话)。这些状态和标签由浮点数向量表示,并作为输入变量提供给程序。图2中还描绘了状态和标签。代理的内部状态是大小为s的向量S,博客i的状态(从代理角度来看)是大小为b的向量和后j的特定特征 由大小为t的标签矢量定义。这些状态和标签没有预先确定。它们是代理人根据其先前行动的背景以及所访问网络的一部分来调节其行为的机制。当然,可以想象这些值可以用来表示真实系统的特征。 例如,代理人的内部状态可以存储其疲劳程度。代理人在产生职位时可能会变得更加疲倦,疲倦程度会随着时间的推移而下降,并影响发布的可能性。 根据博客以前从该博客中阅读的帖子,博客状态可以代表博客质量级别代理的当前视图。帖子标签可以表示帖子正在讨论的主题的类型。 尽管没有强加任何意义,但在进化过程之后,人们可能试图根据它们被演化程序使用的方式,将意义附加到状态的几个组成部分和标记向量上。
为了使状态和标签机制起作用,将这些值作为确定动作概率的程序的输入提供是不够的。还有一点值得初始化和更新。实际上,有一组负责初始化代理状态的程序(至)和三组负责更新这些状态的程序(至,至和 到)。这些是一组程序,因为S向量的每个分量都有一个程序。图1中没有显示程序集,因为它在模拟周期中不使用。在模拟初始化时,每个代理执行一次。在决定继续阅读帖子之后执行集合,并且仅将当前代理状态作为上下文。在选择阅读新帖子后执行,并将该帖子的标签和帖子所有者博客的状态作为输入。在代理创建新帖子后执行,并且仅将代理状态用作输入。根据与每个阶段相关的上下文,这种更新程序的多样性允许代理在其模拟周期的不同阶段以不同的方式更新其内部状态。根据我们稍后将详细说明的机制,更新程序的另一个重要方面是它们能够自行禁用。如果禁用,则不会执行对状态的更新。 我们通过实验发现,这种机制有助于通过进化过程找到高质量的解决方案。在这里,可以用基因调控的过程来建立生物类比。根据环境条件和“有机体”的当前状态,决定代理行为的部分遗传密码是有条件地表达的。
类似地,程序组更新拥有正在阅读的当前帖子的博客的状态。在模拟开始时,所有博客状态都初始化为零。程序集用于在创建新帖子后生成帖子标签。
剩下要描述的唯一计划是,它负责将评分归因于职位。所有进入阅读列表的帖子都被赋予一个数字分数。这些分数用于决定接下来阅读哪篇文章。作为属于读取列表并且尚未访问过的所有帖子的集合,选择帖子的概率作为要读取的下一个帖子,其中是归因于帖子的分数 是给(1)的。
表I列举了该模型使用的所有程序。
了解我们在这项工作中仍然假设的一些简化是很重要的。 例如,研究中的博客网络并非与整个网络隔离开来。实际上,博主可能会链接到正在研究的网络之外的博客和网站,还可以通过外部网页或使用搜索引擎发现博客或在研究中的网络上发布博客。我们打算解决这些限制,因为我们将继续探索我们在此提出的想法。
- 计划详情
程序使用基于树的遗传编程通用的S表达式表示。 每个程序都是由树来定义的,每个非终结点都是一个函数,每个叶子是一个常量或变量。 一个程序可以接受多个输入变量,并递归评估,以便生成单个输出值。
程序使用的基本函数集由简单的算术运算(和,减,乘,除)和比较函数(大于,小于,大于或等于,小于或等于零)组成。比较函数将比较结果应用于前两个分支(或者只有第一个分支为零),然后根据结果计算倒数第二个分支或最后一个分支。 我们将这个函数设置为vanilla,如I所示。
随机函数集为vanilla集添加了两个函数:rand uniform和rand normal。 第一个在[0,1]区间产生一个随机值,而第二个从标准正态分布()产生一个随机值。
开/关功能设置也为香草套装增加了两项功能:开启和关闭。 这些函数只取一个参数,并且不改变其值。 如前所述,它们具有将程序状态设置为激活或非激活的副作用。 使用该组的程序将被初始化为非活动状态。
程序可用变量的数量取决于其输入,详见表1.程序以代理状态作为输入有s变量可用,代理向量中的每个元素都有一个变量。 也将当前博客状态和当前帖子标签作为输入的程序具有额外的b t个可用变量。
常量是[0,1]区间中的实数值。
程序集在某种程度上是一种特殊情况。 如前所述,它用于初始化代理状态,而不是模拟周期的一部分。 此外,它不需要输入,并在其功能集中包含函数以生成随机值。既然我们假设代理人在行为上是异质的,那么程序就扮演了允许初始代理人状态多样化的重要角色。通过将随机数发生器与其他函数相结合,它们可以演化为从复杂的概率分布随机分配初始值。
- 运行模拟
基于模型的模拟运行预定数量的循环。对于每个模拟周期,迭代一组代理,以便每个执行一个周期,如前所述。在目前的工作中,我们没有考虑进入或离开系统的代理,所以在整个模拟过程中代理的数量保持不变。事实上,我们选择了一些与我们试图建模的构成真实网络的博客数量相匹配的代理。
仿真初始化时没有帖子,因此博客之间没有链接。但是,考虑到所描述的行为模板,代理人最初可以找到彼此的某种方式。为此,我们使用预定义数量的对网络中其他随机选择的博客的引用来初始化每个代理的博客卷。
我们必须解决的一个问题是计算上的局限性。给定进化程序表达的可能行为领域的无限性质,这些程序中的一些将导致代理倾向于在每个周期读取大量帖子的模型,或者创建 大量的帖子。这种类型的模型的计算时间很长,这将反映处理一代的时间,从而阻碍进化过程。为了避开这个问题,我们定义了所有代理在模拟中创建的帖子数量和新帖子的全局限制。 如果达到此限制,模拟会停止。限制被定义为足够大以包含在真实数据中找到的规模的行为,仅过滤那些肯定不切实际的模型。
- 演化算法
我们使用传统的演化算法。 固定大小的模型(由该组程序表示)被随机初始化。 这种初始
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[21724],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。