复杂网络社区结构划分算法研究

合集下载

三种经典复杂网络社区结构划分算法研究

三种经典复杂网络社区结构划分算法研究

(ru )或“ c s r” g p ” 团(l t )构成的。 o ue 每个群内部的节点之 间的连接相对非常紧密 , 但是各个群之间的连接相对
来说却 比较稀疏 , 如图 1 所示 。 图中的网络包含三个社 团, 分别对应 图中三个 圆圈包 围的部分。 在这些社团内
部, 节点之间的联系非常紧密 , 而社 团之间的联系就稀
u eu e ee c o o sf lr fr n e f r c m
u i ee t n a o t m ee t n i c a a pi a o s n t d tc o l r h sl ci n a t l p l t n . y i gi o u ci
出现一个更大的 P 。 值 当交换完毕后 , 便找到上述交换 过程 中所记录的最大的 P值。这时对应的社团结构就 认为是该 网络实际的社 团结构。 12 基 于 L pa e图特征 值 的谱二 分法 . a lc 该算法利用网络结构的 Lp c 矩 阵中不为 0的 al e a
G N算法是一种分裂方法[ 8 1 。其基本思想是不 断的
现实生活 中、 交通运输 网、 计算机 网等。网络模型 是描述这些 复杂系统的最 有效模型 。通过对现实系 统 网络模型 的研究 ,人们 发现许多现实系统 的网络 模型是介 于完全规则 和完 全随机之间 的。由于这种
网络是 真实 复杂系统的拓扑抽象 ,因此它被称为复 杂 网络 。
每一 列 的和 均为 0 因 而 , , 向量 I( , ,, ,) L相 = 11l… 1 是
2 三种算 法的对 比分析
从上述三种算 法 的过程来 看 ,al e图特 征值 Lp c a 谱二分法 , e ga— i 算法 和 G K mi n L h n N算法计算 简洁 , 都易于程序实现。 e ga— i 算法的时间复杂度相 K mi n L h n 对于其他两种算法较小些 , 但该算法对 网络中社 区划 分 的准确度不 高 ,适用于小规模 网络社 区划 分 。而

复杂网络中的社区结构划分算法研究

复杂网络中的社区结构划分算法研究

复杂网络中的社区结构划分算法研究第一章简介复杂网络有着广泛的应用,例如社交网络、物流网络、生物网络等等。

在一个复杂网络中,不同的节点之间存在着不同的联系。

社区结构是指网络中一个节点集合,这些节点之间存在着紧密的联系,而这些联系又与网络外部的联系却相对松散。

在许多实际应用中,社区结构是非常有用的,例如社交网络中的好友圈、科研领域中的研究团队等等。

因此,社区结构划分算法的研究变得越来越重要。

本文将介绍一些常见的社区结构划分算法,包括Louvain算法、GN算法、Spectral Clustering算法等等,探讨它们的原理和优缺点。

第二章 Louvain 算法Louvain算法是一种基于模块度优化的社区结构划分算法。

其主要思想是通过不断合并最优的社区结构来达到最优的全局划分。

具体来说,Louvain算法分为两个阶段:第一阶段是在保持当前社区划分不变的前提下,每个节点都移动到与其相邻节点中度最大的社区中;第二阶段是对第一阶段的结果进行优化,合并可以提高模块度的社区划分,直到无法继续提高为止。

优点:Louvain算法是一种高效、可扩展的算法,可以在大规模网络中使用。

并且在实验中,Louvain算法的划分结果表现出了很好的社区行为。

此外,Louvain算法的实现代码也比较简单,易于理解。

缺点:Louvain算法对于具有重叠社区的网络进行划分的效果并不好。

此外,该算法的运行时间较长,在大规模网络中可能需要1小时以上的时间。

第三章 GN 算法GN(Girvan-Newman)算法是一种基于边介数来度量网络中重要性的社区结构划分算法。

边介数是指在一个无向图中,如果一条边所连通的节点对越多,说明这条边的介数越高。

算法的核心思想是通过不断删除网络中介数最高的边来分离网络,从而获得社区结构。

优点:GN算法适用于对于一些轮廓明显的社区结构进行划分,同时该算法的实现也相对简单。

缺点:GN算法对于重叠社区的网络划分效果较差。

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用复杂网络是由大量节点以及节点之间的连接关系构成的网络,在现实中广泛存在于许多领域,如社交网络、生物网络和互联网等。

社区发现是复杂网络研究的重要内容,目的是将网络中相互紧密连接的节点划分为具有相似特征或功能的社区。

社区发现算法是研究者们为了解复杂网络中的结构、功能和演化过程而提出的重要方法。

本文将介绍几种常见的社区发现算法及其应用。

一、模块度优化算法模块度是衡量网络社区结构好坏的重要指标,模块度优化算法就是通过最大化网络的模块度来寻找合适的社区划分。

常见的模块度优化算法有GN算法、Louvain算法和贪心算法等。

这些算法通过迭代地划分社区和优化社区内的连接关系来寻求最优解。

模块度优化算法在社交网络、组织结构分析、蛋白质相互作用网络等领域有广泛应用。

例如,在社交网络中,通过社区发现算法可以识别出不同的社区群体,有助于理解社交网络中的用户行为和信息传播规律,在推荐系统中起到重要作用。

二、基于节点相似性的算法基于节点相似性的社区发现算法认为在网络中相似的节点更可能属于同一个社区。

这类算法包括谱聚类、K均值算法和PSCAN算法等。

这些算法通过计算节点间的相似度来划分社区。

这类算法在生物网络、交通网络、图像分割等领域应用广泛。

例如,在生物网络中,通过基因的相似性来划分蛋白质相互作用网络的社区,可以帮助研究者理解蛋白质之间的功能和调控关系,从而推测未知蛋白质的功能。

三、基于概率生成模型的算法基于概率生成模型的社区发现算法通过建立模型来描述网络的生成过程,并利用模型参数推断网络的社区结构。

常见的算法有LDA、SBM等。

这些算法将网络看作是由不同社区生成的,根据模型参数的估计结果来划分社区。

这类算法在社交网络、金融网络等领域有广泛应用。

例如,在金融网络中,通过基于概率生成模型的社区发现算法可以划分出潜在的金融市场或子市场,有助于金融市场监管和风险预警。

总结起来,社区发现算法在复杂网络研究中扮演重要角色,有助于理解网络的结构和功能特征,为许多现实问题的解决提供了有力支持。

复杂网络分析中的社区检测算法研究与性能评估

复杂网络分析中的社区检测算法研究与性能评估

复杂网络分析中的社区检测算法研究与性能评估随着互联网的快速发展,复杂网络的研究成为了计算机科学和社会科学领域的热门话题。

社交网络、通信网络和生物网络等都是复杂网络的典型代表。

复杂网络由大量的节点和连接构成,其中存在着许多具有紧密联系的子群体,这些子群体被称为社区。

社区结构的探测和分析对于理解复杂网络的结构和功能具有重要意义。

因此,研究和评估社区检测算法成为了复杂网络分析领域的关键任务。

社区检测算法是一种能够识别网络中的社区结构的方法。

社区检测算法通过对网络的拓扑结构进行分析和挖掘,将网络划分成若干个子群体。

这些子群体通常具有较高的内部连接度和较低的外部连接度,即社区内的节点之间有着紧密的联系,而社区间的节点则联系较少。

社区检测算法有助于发现网络中的潜在子结构、挖掘潜在的功能模块以及理解网络的整体结构和功能。

在复杂网络中,社区检测算法的研究和性能评估是一个复杂而具有挑战性的任务。

首先,社区的定义并不唯一,不同学者对社区的理解和定义存在一定差异。

因此,社区检测算法在选择社区定义时需要根据具体应用场景进行调整。

其次,复杂网络的规模庞大且结构复杂,需要高效的算法来进行社区检测。

此外,复杂网络中存在着噪声和异常数据,这些因素会对社区划分结果造成干扰。

最后,如何评估社区检测算法的性能也是一个关键问题。

没有统一的评价标准,无法准确地评估算法的优劣。

针对这些问题,学术界和工业界提出了大量的社区检测算法,并通过实验和性能评估对这些算法进行研究和比较。

其中一种常用的评估指标是模块度(Modularity),模块度是一种衡量社区划分质量的指标,它衡量了社区内部连接和社区间连接之间的差异。

较高的模块度值表示社区内有着紧密联系的节点,且社区间联系较少。

另外,一些研究也采用了标准化互信息和NMI指数等评价指标来衡量不同算法的性能。

在社区检测算法的研究中,常见的算法包括贪婪算法、层次聚类算法、谱聚类算法、模块度最大化算法等。

复杂网络中的社区检测算法与性能评估研究

复杂网络中的社区检测算法与性能评估研究

复杂网络中的社区检测算法与性能评估研究复杂网络是由大量节点和连接组成的网络结构,其中节点之间的连接具有非常复杂的关系。

社区检测是一种用于分析复杂网络结构的方法,旨在识别网络中具有类似属性或密集连接的节点子集,这些子集被称为社区。

社区检测算法在图论、社会科学、生物网络等领域具有广泛的应用。

一、复杂网络社区检测算法社区检测算法旨在将网络中的节点分组成相互连接紧密且内部联系紧密的子集。

这些子集被认为是具有相似属性或功能的节点集合。

目前有许多社区检测算法可供选择,包括基于模块度的方法(如Louvain 算法、GN算法)、基于谱聚类的方法(如谱分割算法)、基于聚类的方法(如KMeans算法)、基于布谷鸟算法的方法等。

1. 基于模块度的方法模块度是一个用于度量网络分割质量的指标,它衡量了网络内部连接的紧密度与社区之间连接的稀疏性。

基于模块度的方法试图最大化网络的模块度值,以找到最优的社区划分结果。

Louvain算法属于这类方法,它通过不断优化节点的社区归属来提高模块度。

2. 基于谱聚类的方法谱聚类是一种基于线性代数的聚类算法,它利用网络的拉普拉斯矩阵特征向量来进行数据分割。

谱聚类方法通过对网络的特征值分解进行数据降维,然后再应用传统的聚类算法进行社区划分。

谱分割算法是谱聚类方法的一种典型代表。

3. 基于聚类的方法聚类算法是一种常用的无监督学习方法,它将相似的数据对象划分到同一个类别中。

在社区检测中,节点之间的相似度可以通过计算它们之间的距离或相似度指标来确定。

KMeans算法是一种经典的聚类算法,它将节点分配到K个不同的簇中,使得同一簇内的节点相似度最大,不同簇之间的相似度最小。

4. 基于布谷鸟算法的方法布谷鸟算法是一种基于自然界中鸟类觅食行为的优化算法,它模拟了鸟类在寻找食物过程中的搜索和觅食策略。

布谷鸟算法在社区检测中被用来寻找网络中的最佳社区划分方案。

它通过不断调整节点的社区划分来优化目标函数,使得网络的模块度得到最大化。

在复杂网络中划分社区结构的一种多目标遗传算法

在复杂网络中划分社区结构的一种多目标遗传算法
了拥有更多社 区个数 的深层次解 。社 区的数 目自动取决于 目标 函数更 佳 的权衡 值。通过在模拟 和真 实 网络进行 的实验对 比表 明 , 该算法能够成 功发现网络结构 , 并且 与其他 多 目标优化算法相 比也具有一定的竞争力 。 关键词 : 数据 挖掘 ; 复杂 网络 ; 社 区结构 ; 多 目标进化算法
面 I i n ( | s )
其中 l s I 表示 s的集合。
( 1 )
s的 r 次幂的平均值 , 表示为 ( s ) , 定义为 : ) =

( 2 )
个社区 S的体 积 被 定义为 I s内部点之间

第一个 目标函数采用了社区分值的概念来衡量
某个 网络 中社 区划分 的质量, 社区的分值越高 , 分群 的密度就越大。因此 , 最大化的第一个 目标即为 由
陈艺璇
( 兰州大学 信 息科 学与工程学院 , 甘肃 兰 州 7 3 0 0 0 0 )

要: 研究 了在复杂网络 中查找社 区结构 的一种多 目 标遗传算法 , 该算 法对能够 识别 内部联 系紧密但相互 之 间联
系稀疏的节点群 的两组 函数进行 了优化 。算法在不 同的等级 中设 定一套 网络分 区 , 在这 些等级 中, 拥有较少 数量社
中圈分类号 : T P 3 9 3
在现实世界中, 复杂网络是体 现各种 网络系统 关系的有效形式 , 比如我们 最常见 的合 作 网, 互联 网, 万维 网, 生物网, 交通运输网, 社交网等。这些 网 络都可以以图表的形式展现出来 , 点代表 目 标对象 , 两点 之 间 的边 代 表这些 对 象之 间 的联 系 。 由于 近年 来进化算法在解决多 目标优化的问题上 已经取得 了

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用一、引言复杂网络是指由多个节点和连接它们的边或者链组成的网络结构,它们通常是由自然界或者人工构建的系统所构成。

例如社交网络,物流网络,交通网络等,复杂网络在现实中应用广泛,而社区发现是其重要的研究领域之一。

社区发现是指在网络中发现数量较少但内部密切联系的子集,它们在某些方面显示出相对的内部一致性和跨度分离,由于社区结构的存在,网络在许多方面具有不同的行为特征和功能特征。

在社交网络中,社区是指具有相同兴趣、活动或者联系的人的子集。

在物流网络中,社区是指共享一些特定的物流资源或者共享某个交通运输方式的城市或地区等。

社区发现在许多领域都具有重要的应用,比如犯罪调查、恐怖主义分析、废柴疫情分析等。

如何高效地在复杂网络中寻找出社区结构是社区发现算法的核心问题。

二、社区发现算法社区发现算法是指在复杂网络中,通过一定的算法设计来寻找网络中存在的社区结构。

社区发现算法分为基于聚类和基于模块化的两大类。

前者是指将节点分为若干个群体,使得同一群体的节点之间关系密切。

聚类算法中,最常见的算法是k-means和层次聚类。

后者是基于网络拓扑结构的特征来刻画社区结构。

这类算法中最常见的是基于最大模块化(modularity-based)的算法。

以下将对这两类算法进行详细的介绍。

(一)、聚类算法1.k-means算法k-means算法是一种聚类分析的方法,其目标是将相似的对象划分为互不相交的k个簇,并使簇内之间的差异性最小化,而簇间之间的差异性最大化。

该算法可用于分辨噪声、找到一个点集的最优分组、刻画数据集中不同群体的特征等。

在社区发现中,k-means算法可以用来寻找相同兴趣爱好的人群等。

2.层次聚类算法层次聚类是指将所有观测数据首先看做是一组单独的簇,然后逐渐有收缩的方式合并这些簇到一个大的簇,直到得到一个包含所有对象的唯一簇为止。

因此,其层次性很强,对于不同的数据集,其结果也不同。

层次聚类常用于生物分子分类、文本分类等领域,同样也可以用于社区发现算法。

基于复杂网络社区划分的网络拓扑结构可视化布局算法

基于复杂网络社区划分的网络拓扑结构可视化布局算法

基于复杂网络社区划分的网络拓扑结构可视化布局算法一、引言1.1 研究背景和意义1.2 国内外研究现状综述1.3 论文结构与内容安排二、复杂网络社区划分算法研究2.1 社区划分的定义和基本概念2.2 社区划分的常见算法2.3 社区划分的评价指标三、网络拓扑结构可视化布局算法研究3.1 可视化布局的基本概念3.2 可视化布局的常见算法3.3 可视化布局的评价指标四、基于社区划分的网络拓扑结构可视化布局算法设计与实现4.1 算法设计原则与步骤4.2 算法实现细节与具体实现4.3 实验测试与结果分析五、结论和展望5.1 研究成果总结5.2 存在问题与不足分析5.3 发展方向和未来展望参考文献一、引言1.1 研究背景和意义随着互联网的迅速发展和普及,网络拓扑结构变得越来越复杂,网络的节点数量越来越庞大,使得网络结构的可视化越来越重要。

网络的可视化能够帮助用户更好地理解网络拓扑结构,从而更好地分析和管理网络,因此网络可视化技术已经成为网络研究和应用领域的重要研究方向。

网络社区划分算法是指将网络中的节点分成若干个不重复的集合,使得每个集合中的节点之间的联系尽可能紧密,而不同集合中的节点之间的联系尽可能稀疏。

社区划分是一种常见的网络分析方法,它可以用于社交网络、蛋白质网络、交通网络等各种复杂网络的分析与研究。

因此,如何有效地进行网络社区划分是当前的一个热点问题。

网络拓扑结构可视化布局算法是指将网络的节点和边以一种易于观察和交互的方式呈现在二维或三维的空间中,可以利用可视化技术帮助用户更好地理解网络结构和展示网络信息。

对于网络研究和实际应用,定制化的拓扑结构可视化布局算法是非常关键的,目前各自领域专家和学者都致力于此。

因此,本论文旨在通过复杂网络社区划分算法研究和网络拓扑结构可视化布局算法设计与实现,提出一种有效的可视化布局算法,将社区划分算法和可视化布局算法相结合,具有更好的实用性和适应性。

1.2 国内外研究现状综述目前,国内外学者对于网络社区划分算法和拓扑结构可视化布局算法已经有了很多的研究和探索,已经有一些成熟的算法被广泛使用和应用于各种网络,但是还存在一些问题和挑战。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
twork.Certainly the above algorithms Can be applied to such networks by
simply ignoring edge weights,but to do SO is to throw away useful information contained
网络中的社区结构。其中共邻矩阵中的元素定义为结点对之间拥有相同邻居的数目。 以增益函数作为网络社区结构划分的目标函数,进一步推导出基于增益矩阵和增量 矩阵的特征值和特征向量的社区结构划分方法。最后把这种算法应用于三个常用的 实际网络数据中,并和Newman基于模块度矩阵的谱算法结果做了比较,以验证算法 的可行性和有效性。 2.重新定义了在加权网络中结点对之间拥有共同邻居的数目,把基于共邻矩阵和增益 函数的复杂网络社区划分算法推广到加权的复杂网络中。在以往许多复杂网络社区 结构划分算法中,网络中的边常被看作是无权重的,但是现实世界中存在许多加权 网络。如果忽略边的权重,仅仅把划分无权网络社区的算法应用到这些加权网络中, 将会忽略许多包含在边权重中的重要信息,从而得出不尽合理的结果。借鉴Newman 把加权网络映射到无权多重图的思想,重新定义了在加权网络中结点对之间拥有共 同邻居的数目,然后将基于共邻矩阵和增益函数的算法推广到加权的网络中,并把 算法应用到计算机仿真网络和实际的加权网络数据中,验证了推广算法的可行性和 有效性。
许多真实系统都可以用网络的形式加以描述,一个典型的网络是由许多结点与连接 结点之间的边组成的。结点代表系统中的个体,边则表示结点之间的作用关系。如wWw 网络可以看成是网页之间通过超链接构成的网络璐3;Internet网络可以看作不同的计算 机通过光缆连接构成的网络嵋1:科学家合作网络可以看作不同的科学家合作关系构成的 网络盯’81:基因调控网络可以看作是不同的基因通过调控与被调控关系构成的网络旧1。
common concepts.The elements in common neighbours matrix means the number of
neighbours between nodes.With the gain function as the objective function of analyzing
exists in many real networks.How to find such communities effectively is one of focuses of many recent researches in the branch of complex networks.In this article,the author proposes
follows:
1.Defining the common neighbours matrix and gain function,and Proposing an effective
community method of analyzing the
strucHlre in complex networks based on these two
common onto multigraphs proposed by Newman and redefine the
neighbours between a
pair of nodes in weighted network.Then,the algorithm based on common neighbours
matrix and gain function is generalized to weighted networks.Further more,we apply
this method to a computer-generated network and a real social network.Computational
networks)”。
传统的对网络的研究最早起源于著名的欧拉七桥问题。之后的近两百年中,数学家 们一直致力于对简单的规则网络和随机网络进行抽象的数学研究。随着近年来计算机存 储能力和处理数据能力的增强,以及一些大规模系统的数据库的建立,人们重新获得了 真实网络的特征数据,发现大多数真实网络既不是规则的,也不是随机的,而是呈现一 定规律的复杂网络H’。复杂网络之所以复杂,不仅在于网络规模的巨大,网络结构的复 杂而且网络在时间、空间上都具有动态的复杂性,网络行为也具有复杂性。
results demonstrate that the proposed method is feasible and effective.
一II—
论坛推广
/
大连理工大学硕士学位论文
Key Words:Complex Network;Community Structure;Common Neighbours Matrix; Gain Function;Weighted Network
in the weights,information that could help us to make a more accurate determination of
communities.In the
this paper we use the technique that weighed networks are mapped
论坛推广
.111.
/
大连理工大学学位论文独创性声明
作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。
a partitional method based on common neighbours matrix and gain function and generalizes the method to weighted networks.The main work of this paper Can be summarized as
weighted networks.Although there are many weighted network in the world,networks
community are usually considered to be unweighted in lots of algorithms for
关键词:复杂网络;社区结构;共邻矩阵;增益函数;加权网络
论坛推广
/
复杂网络社区结构划分算法研究
Partitioning Methods for Community Structure in Complex Networks
Ab stract
In recent years,as the WS small-world network model and BA scale—free network model WaS proposed,the study on complex networks is achieving a climax at home and abroad now. The study on complex networks treats the real systems such as the Internet,electricity networks and metabolic networks、)l,itll the viewpoint of system science.Community structure
three common real network data and compare the computational results with
modularity—based analysis methods proposed by Newman.Computational results
demonstrate that the proposed method is feasible and effective.
学位论文题目: 作者签名: 导师签名:
日期:4年上月止日 日期:.竺1 2年生月—』鱼日
论坛推广
/
大连理工大学硕士学位论文
1 绪论
1.1 复杂网络研究的背景与意义
20世纪90年代以来,以Internet为代表的信息技术的迅猛发展使人类社会大步迈 入了网络时代Ⅲ。从Internet到WWw,从大型电力网络到全球交通网络,从生物体中的 大脑到各种新陈代谢网络,.从科研合作网络到各种经济、政治和社会关系网络等,可以 说;人们已经生活在一个充满着各种各样的复杂网络的世界中。人类社会的网络化是一 把“双刃剑”:它既给人类社会生产与生活带来了极大便利,提高了人类生产效率和生 活质量,但也给人类社会生活带来了一定的负面冲击,如传染病和计算机病毒的快速传 播以及大规模的停电事故等。因此,人类社会的日益网络化需要人类对各种人工和自然 的复杂网络的行为有更好的认识。长期以来,通信网络、电力网络、生物网络、社会网 络等分别是通信科学、电力科学、生命科学、社会学等不同学科的研究对象,而复杂网 络理论所要研究的则是各种看上去互不相同的复杂网络之间的共性和处理它们的普适 方法。从20世纪末开始,复杂网络研究正渗透到数理学科、生命学科和工程学科等众 多不同的领域,对复杂网络的定量与定性特征的科学理解,已成为网络时代科学研究的 一个极其重要的挑战性课题心’31,甚至被称为“网络的新科学(new science of
大连理工大学 硕士学位论文 复杂网络社区结构划分算法研究 姓名:张娜 申请学位级别:硕士 专业:运筹学与控制论 指导教师:郭崇慧
20090622
大连理工大学硕士学位论文
摘要
随着WS小世界网络模型和BA无标度网络模型的提出,国内外掀起了研究复杂网络 的热潮。复杂网络的研究以系统的观点来看待真实系统,如Internet网络、电力网、 新陈代谢网络等。复杂网络通常会呈现出社区结构特性,如何在实际网络中高效地发现 社区结构是近年来复杂网络的研究热点之一。本文基于谱算法的思想提出了一种基于共 邻矩阵和增益函数的有效算法来划分复杂网络中的社区,并把此算法推广到了加权的复 杂网络中。主要工作如下: 1.定义了共邻矩阵和增益函数这两个概念,在此基础上提出一种有效算法来划分复杂
相关文档
最新文档