<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.swarma.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liushikang1992</id>
	<title>集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织 - 用户贡献 [zh-cn]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.swarma.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liushikang1992"/>
	<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php/%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/Liushikang1992"/>
	<updated>2026-11-02T21:19:05Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8067</id>
		<title>网络模体</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8067"/>
		<updated>2020-05-13T05:12:28Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 历史 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络模体,模体发现算法,基因调控网络&lt;br /&gt;
|description=FPF,ESU,G-Trie&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
所有网络，包括生物网络 biological networks、社交网络 social networks、技术网络（例如计算机网络和电路）等，都可以用图的形式来表示，这些图中会包括各种各样的子图 subgraphs。网络的一个重要的局部性质是所谓的网络模体，即重复且具有统计意义的子图或模式 patterns。&lt;br /&gt;
&lt;br /&gt;
'''网络模体 Network motifs(NM)'''是指在特定网络或各种网络中重复出现的相同的子图。这些子图由顶点之间特定的交互模式定义，一个子图便可以反映一个框架，这个框架可以有效地实现某个特定的功能。事实上，之所以说模体是一个重要的特性，正是因为它们可能反映出对应网络功能的这一性质。近年来这一概念作为揭示复杂网络结构设计原理的一个有用概念而受到了广泛的关注。&amp;lt;ref name=&amp;quot;mas1&amp;quot;&amp;gt;{{cite journal |vauthors=Masoudi-Nejad A, Schreiber F, Razaghi MK Z |title=Building Blocks of Biological Networks: A Review on Major Network Motif Discovery Algorithms |journal=IET Systems Biology |volume=6 |issue=5 |pages=164–74 |year=2012|doi=10.1049/iet-syb.2011.0011 |pmid=23101871 }}&amp;lt;/ref&amp;gt; 但是，虽然通过研究网络模体可以深入了解网络的功能，但是对于模体的检测在计算上是具有挑战性的。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
设{{math|G {{=}} (V, E)}} 和 {{math|G&amp;amp;prime; {{=}} (V&amp;amp;prime;, E&amp;amp;prime;)}} 是两个图。若{{math|V&amp;amp;prime; ⊆ V}}且满足{{math|E&amp;amp;prime; ⊆ E ∩ (V&amp;amp;prime; &amp;amp;times; V&amp;amp;prime;)}}）（即图{{math|G&amp;amp;prime; ⊆ G}}的所有边和点都属于图{{math|G}}）则称图{{math|G&amp;amp;prime; ⊆ G}}是图{{math|G}}的一个子图。若{{math|G&amp;amp;prime; ⊆ G}}，且对于顶点{{math|u}}、{{math|v}}及其连边，只要{{math|u}}和{{math|v}}存在于{{math|G&amp;amp;prime;}}（即若{{math|U}}, {{math|V&amp;amp;prime; ⊆ V}}），那么{{math|G&amp;amp;prime; ⊆ G}}中就应该包含原图{{math|G}}中的所有{{math|u}}和{{math|V}}的对应连边（即{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E}}），则称此时图{{math|G&amp;amp;prime;}}就是图{{math|G}}的导出子图。如果存在一个双射（一对一）{{math|f:V&amp;amp;prime; → V}}，且对所有{{math|u, v ∈ V&amp;amp;prime;}}都有{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E&amp;amp;prime; ⇔ &amp;amp;lang;f(u), f(v)&amp;amp;rang; ∈ E}} ，则称{{math|G&amp;amp;prime;}}是{{math|G}}的同构图（记作：{{math|G&amp;amp;prime; → G}}），映射f则称为{{math|G}}与{{math|G&amp;amp;prime;}}之间的同构 isomorphism。&amp;lt;ref name=&amp;quot;die1&amp;quot;&amp;gt;{{cite journal |author=Diestel R |title=Graph Theory (Graduate Texts in Mathematics) |volume=173 |year=2005|publisher=New York: Springer-Verlag Heidelberg}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当{{math|G&amp;amp;Prime; ⊂ G}}，且{{math|G&amp;amp;Prime;}}与图{{math|G&amp;amp;prime;}}之间存在同构时，该映射表示{{math|G&amp;amp;prime;}}对于{{math|G}}存在。图{{math|G&amp;amp;prime;}}在{{math|G}}的出现次数称为{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}。当一个子图的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}高于预定的阈值或截止值时，则称{{math|G&amp;amp;prime;}}是{{math|G}}中的递归（或频繁）子图。在接下来的内容中，我们交替使用术语“模式 motifs”和“频繁子图 frequent sub-graph”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
设从与{{math|G}}相关联的零模型 the null-model获得的随机图集合为{{math|Ω(G)}}，我们从{{math|Ω(G)}}中均匀地选择N个随机图，并计算其特定频繁子图的频率。如果{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率高于N个随机图{{math|R&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;}}的算术平均频率，其中{{math|1 ≤ i ≤ N}}，我们称此递归模式是有意义的，因此可以将{{math|G&amp;amp;prime;}}视为{{math|G}}的网络模体。对于一个小图{{math|G&amp;amp;prime;}}，网络{{math|G}}和一组随机网络{{math|R(G) ⊆ Ω(R)}}，当{{math|1=R(G) {{=}} N}}时，由其Z分数 Z-score的定义如下式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z(G^\prime) = \frac{F_G(G^\prime) - \mu_R(G^\prime)}{\sigma_R(G^\prime)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
式中，{{math|μ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}} 和 {{math|σ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}分别代表集合{{math|R(G)}}中的平均和标准偏差频率。&amp;lt;ref name=&amp;quot;mil1&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr SS, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |volume=298 |year=2002|journal=Science|issue=5594|pages=824–827 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;alb1&amp;quot;&amp;gt;{{cite journal |vauthors=Albert R, Barabási AL |title=Statistical mechanics of complex networks |journal=Reviews of Modern Physics |volume=74 |issue=1 |year=2002 |pages=47–49 |doi=10.1103/RevModPhys.74.47 |bibcode=2002RvMP...74...47A|arxiv=cond-mat/0106096 |citeseerx=10.1.1.242.4753 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mil2&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Itzkovitz S, Kashtan N, Levitt R, Shen-Orr S, Ayzenshtat I, Sheffer M, Alon U |title=Superfamilies of designed and evolved networks |journal=Science |volume=303 |issue=5663 |year=2004 |pages=1538–1542 |pmid=15001784 |doi=10.1126/science.1089167 |bibcode=2004Sci...303.1538M |url=https://semanticscholar.org/paper/87ad24efd5329046d37cd704f970323e878710ca }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;sch1&amp;quot;&amp;gt;{{cite encyclopedia|last=Schwöbbermeyer |first=H |title=Network Motifs |encyclopedia=Analysis of Biological Networks |editor=Junker BH, Schreiber F |publisher=Hoboken, New Jersey: John Wiley &amp;amp; Sons |year=2008 |pages=85–108}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;bor1&amp;quot;&amp;gt;{{cite encyclopedia |last1=Bornholdt |first1=S |last2=Schuster |first2=HG |title=Handbook of graphs and networks : from the genome to the Internet |journal=Handbook of Graphs and Networks: From the Genome to the Internet |pages=417 |year=2003|bibcode=2003hgnf.book.....B }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cir1&amp;quot;&amp;gt;{{cite journal |vauthors=Ciriello G, Guerra C |title=A review on models and algorithms for motif discovery in protein-protein interaction networks |journal=Briefings in Functional Genomics and Proteomics |year=2008 |volume=7 |issue=2 |pages=147–156 |doi=10.1093/bfgp/eln015|pmid=18443014 |doi-access=free }}&amp;lt;/ref&amp;gt; {{math|Z(G&amp;amp;prime;)}}越大，子图{{math|G&amp;amp;prime;}}作为模体的意义也就越大。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外还可以使用统计假设检验中的另一个测量方法，可以作为模体检测中的一种方法，即P值 P-value，以 {{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;) ≥ F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}的概率给出（作为其零假设 null-hypothesis），其中{{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}表示随机网络中{{math|G&amp;amp;prime;}}的频率。&amp;lt;ref name=&amp;quot;sch1&amp;quot; /&amp;gt; 当P值小于阈值（通常为0.01或0.05）时，该子图可以被称为显著模式。该P值定义为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(G^\prime) = \frac{1}{N}\sum_{i=1}^N \delta(c(i)) ; c(i): F_R^i(G^\prime) \ge F_G(G^\prime)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Different occurrences of a sub-graph in a graph.jpg|thumb|图1  ''图中子图的不同出现''. (M1 – M4) 是图（a）中子图（b）的不同出现。对于频率概念{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}},集合M1，M2，M3，M4表示所有匹配项，因此{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; {{=}} 4}}。对于{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}，两个集合M1，M4或M2，M3之一是可能的匹配，{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; {{=}} 2}}。最后，对于频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}仅允许匹配项之一（M1至M4），因此{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; {{=}} 1}}。随着网元的使用受到限制，这三个频率概念的频率降低。]]&lt;br /&gt;
&lt;br /&gt;
其中{{math|N}}表示随机网络的数目，{{math|i}}定义在随机网络的集合上，若条件{{math|c(i)}}成立，则Kroneckerδ函数{{math|δ(c(i))}}是1。在网络{{math|G}}中，一个特定的n维子图{{math|N&amp;amp;prime;}}的集中度&amp;lt;ref name=&amp;quot;kas1&amp;quot;&amp;gt;{{cite journal |vauthors=Kashtan N, Itzkovitz S, Milo R, Alon U |title=Efficient sampling algorithm for estimating sub-graph concentrations and detecting network motifs |journal=Bioinformatics  |year=2004 |volume=20 |issue=11 |pages=1746–1758 |doi=10.1093/bioinformatics/bth163|pmid=15001476 |doi-access=free }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;wer1&amp;quot;&amp;gt;{{cite journal |author=Wernicke S |title=Efficient detection of network motifs |journal=IEEE/ACM Transactions on Computational Biology and Bioinformatics  |year=2006 |volume=3 |issue=4 |pages=347–359 |doi=10.1109/tcbb.2006.51|pmid=17085844 |citeseerx=10.1.1.304.2576 }}&amp;lt;/ref&amp;gt;是指子图在网络中出现频率与n维非同构子图的总频率之比，其计算公式如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中索引 {{math|i}} 定义在所有非同构 n 尺寸图的集合上。 另一种统计测量是用来评估网络主题的，但在已知的算法中很少使用。 这种测量方法是由 Picard 等人在2008年提出的，使用的是泊松分布，而不是上面隐含使用的高斯正态分布 。&amp;lt;ref name=&amp;quot;pic1&amp;quot;&amp;gt;{{cite journal |vauthors=Picard F, Daudin JJ, Schbath S, Robin S |title=Assessing the Exceptionality of Network Motifs |journal=J. Comp. Bio. |year=2005 |volume=15 |issue=1 |pages=1–20|doi=10.1089/cmb.2007.0137 |pmid=18257674 |citeseerx=10.1.1.475.4300 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，他们还提出了子图频率的三个具体概念。&amp;lt;ref name=&amp;quot;schr1&amp;quot;&amp;gt;{{cite book |vauthors=Schreiber F, Schwöbbermeyer H |title=Frequency concepts and pattern detection for the analysis of motifs in networks |journal=Transactions on Computational Systems Biology III |volume=3737 |year=2005 |pages=89–104|doi=10.1007/11599128_7 |citeseerx=10.1.1.73.1130 |series=Lecture Notes in Computer Science |isbn=978-3-540-30883-6 }}&amp;lt;/ref&amp;gt; 如图所示，第一频率概念 {{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}}考虑原始网络中图的所有匹配，这与我们前面介绍过的类似。第二个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}定义为原始网络中给定图的最大不相交边的数量。最后，频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}包含与不相交边 disjoint edges和节点的匹配。因此，两个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}限制了图元素的使用，并且可以看出，通过对网络元素的使用施加限制，子图的频率下降。因此，如果坚持使用频率概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}，网络模体检测算法将可以筛选出更多的候选子图。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
霍兰 Holland和莱因哈特 Leinhardt率先提出了'''网络三连体统计 a triad census of networks'''的概念，开创了网络模体研究的先河。&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1974). The statistical analysis of local structure in social networks. Working Paper No. 44, National Bureau of Economic Research.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Hollandi, P., &amp;amp; Leinhardt, S. (1975). The Statistical Analysis of Local. Structure in Social Networks. Sociological Methodology, David Heise, ed. San Francisco: Josey-Bass.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; Holland, P. W., &amp;amp; Leinhardt, S. (1976). Local structure in social networks. Sociological methodology, 7, 1-45.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1977). A method for detecting structure in sociometric data. In Social Networks (pp. 411-432). Academic Press.&amp;lt;/ref&amp;gt; 他们介绍了枚举各种子图配置的方法，并测试子图计数是否与随机网络中的期望值存在统计学上的差异。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2002年，Uri Alon和他的团队&amp;lt;ref name=&amp;quot;she1&amp;quot;&amp;gt;{{cite journal |vauthors=Shen-Orr SS, Milo R, Mangan S, Alon U |title=Network motifs in the transcriptional regulation network of ''Escherichia coli'' |journal=Nat. Genet. |volume=31 |issue=1 |pages=64–8 |date=May 2002 |pmid=11967538 |doi=10.1038/ng881}}&amp;lt;/ref&amp;gt;在大肠杆菌的基因调控 gene regulation network （转录 transcription）网络中发现了网络模体，随后在大量的自然网络中也发现了网络模体，从而进一步推广了这一观点。自那时起，许多科学家都对这一问题进行了大量的研究。其中一些研究集中在生物学应用上，而另一些则集中在网络模体的计算理论上。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
生物学研究试图解释为生物网络检测到的模体。例如，在接下来的工作中，&amp;lt;ref name=&amp;quot;she1&amp;quot; /&amp;gt;在大肠杆菌中发现的网络模体存在于其他细菌&amp;lt;ref name=&amp;quot;eic1&amp;quot;&amp;gt;{{cite journal  |vauthors=Eichenberger P, Fujita M, Jensen ST, etal |title=The program of gene transcription for a single differentiating cell type during sporulation in ''Bacillus subtilis'' |journal=PLOS Biology |volume=2 |issue=10 |pages=e328 |date=October 2004 |pmid=15383836 |pmc=517825 |doi=10.1371/journal.pbio.0020328 }} &amp;lt;/ref&amp;gt;以及酵母&amp;lt;ref name=&amp;quot;mil3&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |journal=Science |volume=298 |issue=5594 |pages=824–7 |date=October 2002 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;lee1&amp;quot;&amp;gt;{{cite journal  |vauthors=Lee TI, Rinaldi NJ, Robert F, etal |title=Transcriptional regulatory networks in Saccharomyces cerevisiae |journal=Science |volume=298 |issue=5594 |pages=799–804 |date=October 2002 |pmid=12399584 |doi=10.1126/science.1075090 |bibcode=2002Sci...298..799L }}&amp;lt;/ref&amp;gt;和高等生物的转录网络中。&amp;lt;ref name=&amp;quot;odo1&amp;quot;&amp;gt;{{cite journal  |vauthors=Odom DT, Zizlsperger N, Gordon DB, etal |title=Control of pancreas and liver gene expression by HNF transcription factors |journal=Science |volume=303 |issue=5662 |pages=1378–81 |date=February 2004 |pmid=14988562 |pmc=3012624 |doi=10.1126/science.1089769 |bibcode=2004Sci...303.1378O }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;&amp;gt;{{cite journal  |vauthors=Boyer LA, Lee TI, Cole MF, etal |title=Core transcriptional regulatory circuitry in human embryonic stem cells |journal=Cell |volume=122 |issue=6 |pages=947–56 |date=September 2005 |pmid=16153702 |pmc=3006442 |doi=10.1016/j.cell.2005.08.020 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ira1&amp;quot;&amp;gt;{{cite journal |vauthors=Iranfar N, Fuller D, Loomis WF |title=Transcriptional regulation of post-aggregation genes in Dictyostelium by a feed-forward loop involving GBF and LagC |journal=Dev. Biol. |volume=290 |issue=2 |pages=460–9 |date=February 2006 |pmid=16386729 |doi=10.1016/j.ydbio.2005.11.035 |doi-access=free }}&amp;lt;/ref&amp;gt;在其他类型的生物网络中发现了一组不同的网络模体，如神经元网络和蛋白质相互作用网络。&amp;lt;ref name=&amp;quot;mil2&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;maa1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ma'ayan A, Jenkins SL, Neves S, etal |title=Formation of regulatory patterns during signal propagation in a Mammalian cellular network |journal=Science |volume=309 |issue=5737 |pages=1078–83 |date=August 2005 |pmid=16099987 |pmc=3032439 |doi=10.1126/science.1108876 |bibcode=2005Sci...309.1078M }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;pta1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ptacek J, Devgan G, Michaud G, etal |title=Global analysis of protein phosphorylation in yeast |journal=Nature |volume=438 |issue=7068 |pages=679–84 |date=December 2005 |pmid=16319894 |doi=10.1038/nature04187|bibcode=2005Natur.438..679P |url=https://authors.library.caltech.edu/56271/2/Tables.pdf |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，对于计算研究的重点则是改进现有的模体检测工具，以协助生物学研究，并允许对更大的网络进行分析。到目前为止，已经提供了几种不同的算法，这些算法将在下一节按时间顺序进行阐述。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最近，还发布了用于检测网络基序的acc基序工具。&amp;lt;ref&amp;gt;{{Cite web | url=http://www.ft.unicamp.br/docentes/meira/accmotifs/ |title = Acc-Motif: Accelerated Motif Detection}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模体发现算法==&lt;br /&gt;
&lt;br /&gt;
针对模体发现这一问题存在多种解决方案。这些算法可以归纳为不同的范式：例如精确计数方法，采样方法，模式增长方法等。但模体发现问题包括两个主要步骤：首先，计算子图的出现次数，然后评估子图的重要性。如果检测到的重现性远超过预期，那么这种重现性是很显著的。粗略地讲，子图的预期出现次数可以由'''随机模型 Null-model''' 确定，该模型定义为具有与原始网络某些属性相同的随机网络的集合。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
接下来，对下列算法的计算原理进行简要回顾，并从算法的角度讨论了它们的优缺点。&lt;br /&gt;
&lt;br /&gt;
===mfinder 算法===&lt;br /&gt;
&lt;br /&gt;
mfinder是第一个模体挖掘工具，它主要有两种模体查找算法：完全枚举 full enumeration 和采样方法 sampling method。直到2004年，用于NM检测的唯一精确计数方法是Milo等人提出的暴力穷举方法。&amp;lt;ref name=&amp;quot;mil1&amp;quot; /&amp;gt;该算法成功地发现了小规模的模体，但是这种方法甚至对于发现规模为5个或6个的模体在计算上都不可行的。因此，需要一种解决该问题的新方法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kashtan等人&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;首次提出了一种基于边缘采样的网络模体采样发现算法。该算法估计了所含子图的集中度，可用于有向或无向网络中的模体发现。该算法的采样过程从网络的任意一条边开始，该边连向大小为2的子图，然后选择一条与当前子图相关的随机边对子图进行扩展。之后，它将继续选择随机的相邻边，直到获得大小为n的子图为止。最后，采样得到的子图扩展为包括这n个节点在内的网络中存在的所有边。当使用采样方法时，获取无偏样本是这类算法可能面临的最重要问题。而且，采样过程并不能保证采到所有的样本（也就是不能保证得到所有的子图），因此，Kashtan 等人又提出了一种加权方案，为网络中的不同子图分配不同的权重。&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; 权重分配的基本原理是利用每个子图的抽样概率信息，即，与不可能的子图相比，可能的子图将获得相对较少的权重；因此，该算法必须计算已采样的每个子图的采样概率。这种加权技术有助于mfinder公正地确定子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
与穷举搜索形成鲜明对比的是，该算法的计算时间竟然与网络大小渐近无关。对算法时间复杂度的分析表明，对于网络中大小为n的子图的每个样本，它的时间复杂度为&amp;lt;math&amp;gt;O(n^n)&amp;lt;/math&amp;gt;。另一方面，并没有对已采样子图的每一个子图样本判断图同构问题的分类时间进行分析&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;。另外，子图权重计算将额外增加该算法的计算负担。但是不得不指出的是，该算法可能会多次采样相同的子图——花费时间而不收集任何有用信息。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;总之，通过利用采样的优势，该算法的性能比穷举搜索算法更有效；但是，它只能大致确定子图的集中度。由于该算法的实现方式，使得它可以找到最大为6的模体，并且它会给出的最重要的模体，而不是其他所有模体。另外，有必要提到此工具没有可视化的呈现。采样算法简要显示如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!mfinder&lt;br /&gt;
|-&lt;br /&gt;
|定义：&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;是采集的边集合。&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;中所有边的顶点的集合。&lt;br /&gt;
|-&lt;br /&gt;
|初始化&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;为空集。&amp;lt;br&amp;gt;&lt;br /&gt;
1. 随机选择一条边&amp;lt;math&amp;gt; e_{1} = (v_{i}, v_{j}) &amp;lt;/math&amp;gt;，更新 &amp;lt;math&amp;gt;E_{s} = \{e_{1}\}, V{s} = \{v_{i}, v_{j}\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. 列出&amp;lt;math&amp;gt;E{s}&amp;lt;/math&amp;gt;的所有邻边列表&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;，从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中删除&amp;lt;math&amp;gt;V{s}&amp;lt;/math&amp;gt;中所有元素组成的边。&lt;br /&gt;
&lt;br /&gt;
3. 从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中随机选择一条边&amp;lt;math&amp;gt; e = \{v_{k},v_{l}\} &amp;lt;/math&amp;gt;， 更新&amp;lt;math&amp;gt;E_{s} = E_{s} \cup  \{e\} , V_{s} = V_{s} \cup  \{v_{k}, v_{l}\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
4. 重复步骤2-3，直到完成包含n个节点的子图 (&amp;lt;math&amp;gt;\left | V_{s} \right | = n&amp;lt;/math&amp;gt;)。&lt;br /&gt;
&lt;br /&gt;
5. 计算对选取的n节点子图进行采样的概率。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FPF (Mavisto)算法===&lt;br /&gt;
&lt;br /&gt;
Schreiber和Schwöbbermeyer &amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;提出了一种称为灵活模式查找器（FPF）的算法，用于提取输入网络的频繁子图，并将其在名为Mavisto的系统中加以实现。&amp;lt;ref name=&amp;quot;schr2&amp;quot;&amp;gt;{{cite journal |vauthors=Schreiber F, Schwobbermeyer H |title=MAVisto: a tool for the exploration of network motifs |journal=Bioinformatics |volume=21 |issue=17|pages=3572–3574 |year=2005 |doi=10.1093/bioinformatics/bti556|pmid=16020473 |doi-access=free }}&amp;lt;/ref&amp;gt; 他们的算法利用了向下闭包特性，该特性适用于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;。向下闭包性质表明，子图的频率随着子图的大小而单调下降；但这一性质并不一定适用于频率概念&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。FPF算法基于模式树（见右图），由代表不同图形（或模式）的节点组成，其中每个节点的父节点是其子节点的子图；换句话说，每个模式树节点的对应图通过向其父节点图添加新边来扩展。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:The_pattern_tree_in_FPF_algorithm.jpg|right|thumb|''FPF算法中的模式树展示''.&amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
首先，FPF算法枚举并维护位于模式树根部的子图的所有匹配信息。然后，它通过在目标图中添加匹配边缘支持的一条边缘，在模式树中一一建立前一节点的子节点，然后通过在目标图中添加匹配边支持的一条边，逐个构建模式树中前一个节点的子节点，并尝试将以前关于匹配的所有信息拓展到新的子图(子节点)中。下一步，它判断当前模式的频率是否低于预定义的阈值。如果它低于阈值且保持向下闭包，则FPF算法会放弃该路径，而不会在树的此部分进一步遍历；这样就避免了不必要的计算。重复此过程，直到没有剩余可遍历的路径为止。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法的优点是它不会考虑不频繁的子图，并尝试尽快完成枚举过程；因此，它只花时间在模式树中用于有希望的节点上，而放弃所有其他节点。还有一点额外的好处，模式树概念允许 FPF 以并行方式实现和执行，因为它可以独立地遍历模式树的每个路径。但是，FPF对于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;最为有用，因为向下闭包不适用于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。尽管如此，如果算法并行运行，那么模式树对于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;仍然是可行的。该算法的另一个优点是它的实现对模体大小没有限制，这使其更易于改进。FPF（Mavisto）的伪代码如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Mavisto&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;1&amp;quot;|数据: 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, 目标模式规模 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, 频率概念 &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;。结果: 以最大频率设置大小为 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;的模式 &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;20&amp;quot;| &amp;lt;math&amp;gt;R \leftarrow \Phi , f_{max}\leftarrow 0&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;P \leftarrow&amp;lt;/math&amp;gt; 开始于大小为1的模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M_{p_{1}} \leftarrow &amp;lt;/math&amp;gt; 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; 中模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt; 的所有匹配&lt;br /&gt;
&lt;br /&gt;
当 &amp;lt;math&amp;gt;P \neq \Phi &amp;lt;/math&amp;gt; 时，执行：&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P_{max} \leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; 中选择最大规模的所有模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P\leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P_{max}&amp;lt;/math&amp;gt; 中选择最大频率的模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;E = ExtensionLoop(G, p, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}对于 &amp;lt;math&amp;gt;p \in E &amp;lt;/math&amp;gt; 的所有模式：&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;F = F_{1}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;f \leftarrow size(M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&amp;lt;math&amp;gt;f \leftarrow&amp;lt;/math&amp;gt; 最大独立集 &amp;lt;math&amp;gt;(F, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;size(p) = t&amp;lt;/math&amp;gt; ，那么&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;f = f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow R \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}其他 如果 &amp;lt;math&amp;gt;f &amp;gt; f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow \{p\}&amp;lt;/math&amp;gt;； &amp;lt;math&amp;gt;f_{max} \leftarrow f&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;F = F_{1} or f \geq  f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt; P \leftarrow P \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}结束&lt;br /&gt;
&lt;br /&gt;
结束&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ESU (FANMOD)算法及对应的软件===&lt;br /&gt;
&lt;br /&gt;
由于Kashtan等学者发现的采样偏差问题， &amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;所以针对NM发现问题需要设计更好的算法。虽然Kashtan等人尝试用加权法来解决这个弊端，但这个方法在运行上，消耗了过多的运行时间，且实现起来也变得更加复杂。但这个工具还是最好用的工具之一，因为它支持可视化选项，同时也是个节约时间的算法。但是，它在所支持的模体的规模大小还是有局限性。由于该工具在具体实施中，不允许搜索规模大小为9或者更大的模体。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weinicke&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt; 引入了一种叫RAND-ESU的算法，这个新引入的算法比Mfinder软件有着更显著的提升。.&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; RAND-ESU基于精准的ESU算法，已有对应的软件FANMOD。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;RAND-ESU是一种NM发现算法，可应用于定向的或者不定向的网络中，能够有效的在网络中利用无偏差节点进行采样，以及保证了一个子图仅仅被搜索一次,且不会产生无意义的子图。并且，RAND-ESU采用了一个叫做DIRECT的全新的分析方式，从而来确定子图的重要性，而不是用随机网络的组合来建立Null模型。DIRECT方法可以不用大量生成随机网络就能估计子图的浓度。实际上，相较于用随机网络组合分析比较低集中度的子图来说，DIRECT这个方法更加的高效。但是，传统的Null模型比DIRECT这个算法能更加快速地解决高度集中的子图。接下来，我们将详细讲述ESU算法和展示如何把这种精确的算法调整为RAND-ESU算法去估计子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ESU和RAND-ESU两种算法都比较简捷，所以实现起来都很容易。ESU首先找到大小为{{math|k}}的所有诱导子图的集合，并命名这个集合为{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。因为EUS以递归函数的形式实现，该函数的运行可以演示为深度为{{math|k}}的树状结构，称为ESU-Tree（见图）。每一个在ESU-Tree上的节点都表示递归函数的状态，这个递归函数需要两个连续集合的SUB和EXT。SUB指的是在目标网络的相邻节点上{{math|{{!}}SUB{{!}} ≤ k}}。如果{{math|{{!}}SUB{{!}} {{=}} k}}，那么这个算法可以找到一个完整的诱导子图，所以在此情况下{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt; {{=}} SUB ∪ S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。相反，如果{{math|{{!}}SUB{{!}} &amp;lt; k}}，那么这个算法必须把SUB扩大，才能实现基数为{{math|k}}。EXT这个集合包含了所有的满足以下两个情况的节点。第一，每个在EXT的节点必须至少与在SUB的一个节点相邻。第二，他们的下标必须比在SUB的第一个元素大。第一个条件保证了SUB节点的展开产生相关的图，第二个条件能使ESU-Tree树状图上的分支变得离散。所以，这个方法可以避免过度计算。注意，EXT集合不是一个固定的集合。所以每一步都有可能扩展满足于以上两个条件的新节点。下一步包含了在ESU-Tree分支上的子图的分类，将它们分为非同构的大小为{{math|k}}的图类。因此，ESU决定了子图的『频率以及浓度』。这一阶段的实施仅通过运用McKay的nauty算法，&amp;lt;ref name=&amp;quot;mck1&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Practical graph isomorphism |journal=Congressus Numerantium |year=1981 |volume=30 |pages=45–87|bibcode=2013arXiv1301.1493M |arxiv=1301.1493 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mck2&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Isomorph-free exhaustive generation |journal=Journal of Algorithms |year=1998 |volume=26 |issue=2 |pages=306–324 |doi=10.1006/jagm.1997.0898}}&amp;lt;/ref&amp;gt;这一算法可以通过图的同构测试来把每个子图进行分类。所以，ESU能够在目标图中通过递归算法，找到所有规模大小为{{math|k}}的诱导子图集合，且使用高效的工具来确定他们的频率。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
运用RAND-ESU的过程十分的简单，这也是FANMOD的一个主要的优点。可以通过对ESU-Tree树状图的每个级别应用概率{{math|0 ≤ p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; ≤ 1}}并强制ESU以概率{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}遍历{{math|d-1}}级别中节点的每个子节点，来更改ESU算法使其仅搜索ESU-Tree分支的一部分。 这种新的演算方式叫RAND-ESU。显然，当所有阶段{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 1}}时，RAND-ESU等同于ESU。当{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 0}}时，在这个算法下没有任何意义。注意，这个过程只是确保了可以找到ESU-Tree上的每一分支的机会都是相同的，从而使网络中的子图采样无偏差。访问每个分支的概率为{{math|∏&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}，这对于所有ESU-Tree中的分支都是相同的； 因此，该方法可确保从网络中对子图进行无偏采样。但是，设置{{math|1 ≤ d ≤ k}}的{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}参数是另一个问题，必须由专家人工确定才能获得子图集中度的精确结果。&amp;lt;ref name=&amp;quot;cir1&amp;quot; /&amp;gt; 尽管对此没有明确的规定，但是Wrenucke提出了一些一般性的观察结论，这些结论有可能可以帮助我们确定p_d值。总的来说，在诱导子图支持无偏采样方法的情况下，RAND-ESU是一个能快速解决NM发现问题的算法。 尽管，ESU算法的主要部分和FANMOD工具是以用来寻找诱导子图而著称的，但只需对ESU进行细小的改动，就可以用来寻找诱导子图。ESU（FANMOD）的伪代码如下：&lt;br /&gt;
&lt;br /&gt;
[[File:ESU-Tree.jpg|thumb|图（a）大小为5的目标图，图（b）深度为k的ESU树，与目标图中大小为3的子图的提取相关。叶子对应于目标图（a）的集合S3或所有大小3诱导子图。ESU树中的节点包括两个相邻的集合，第一个集合包含称为SUB的相邻节点，第二个名为EXT的集合保存与至少一个SUB节点相邻且其数字标签大于SUB节点的所有节点标签。该算法利用EXT集扩展SUB集，直到达到所需的子图大小为止，该子图大小位于ESU-Tree（或其叶）的最低级别。]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ESU子图搜索算法(FANMOD软件实现)&lt;br /&gt;
|-&lt;br /&gt;
|'''''枚举子图(G,k)'''''&lt;br /&gt;
&lt;br /&gt;
'''输入:''' 图 {{math|G {{=}} (V, E)}} 和 一个 整数 {{math|1 ≤ k ≤ {{!}}V{{!}}}}.&lt;br /&gt;
&lt;br /&gt;
'''输出:''' 所有size-{{math|k}} 子图 in {{math|G}}.&lt;br /&gt;
&lt;br /&gt;
'''for each'''顶点v{{math|v ∈ V}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension（集合EXT） ← {u ∈ N({v}) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''调用''' {{math|''ExtendSubgraph''({v}, VExtension, v)}}&lt;br /&gt;
&lt;br /&gt;
'''结束for循环'''&lt;br /&gt;
|-&lt;br /&gt;
|'''''ExtendSubgraph(VSubgraph, VExtension, v)'''''&lt;br /&gt;
&lt;br /&gt;
'''若''' {{math|{{!}}VSubgraph{{!}} {{=}} k}} '''则''' 输出 {{math|G[VSubgraph]}} and '''返回主函数'''&lt;br /&gt;
&lt;br /&gt;
'''当''' {{math|VExtension ≠ ∅}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}删除一个任意选择的顶点 {{math|w}} 源于 {{math|VExtension}} 中&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension&amp;amp;prime; ← VExtension ∪ {u ∈ N&amp;lt;sub&amp;gt;excl&amp;lt;/sub&amp;gt;(w, VSubgraph) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''call''' {{math|''ExtendSubgraph''(VSubgraph ∪ {w}, VExtension&amp;amp;prime;, v)}}&lt;br /&gt;
&lt;br /&gt;
'''返回'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===G-Tries===&lt;br /&gt;
2010年， Pedro Ribeiro 和 Fernando Silva 提出了一个叫做“g-trie”的新数据结构，用来存储一组子图。&amp;lt;ref name=&amp;quot;rib1&amp;quot;&amp;gt;{{cite conference|vauthors=Ribeiro P, Silva F |title=G-Tries: an efficient data structure for discovering network motifs |conference=ACM 25th Symposium On Applied Computing - Bioinformatics Track |location=Sierre, Switzerland |year=2010 |pages=1559–1566 |url=http://www.nrcbioinformatics.ca/acmsac2010/}}&amp;lt;/ref&amp;gt;这个在概念上类似前缀树的数据结构，根据子图结构来进行存储，并找出了每个子图在一个更大的图中出现的次数。这个数据结构有一个突出的方面：在应用于模体发现算法时，主网络中的子图需要进行评估。因此，在随机网络中寻找那些在不在主网络中的子图，这个消耗时间的步骤就不再需要执行了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
g-trie是一个存储一组图的多叉树。每一个树节点都存储着一个图节点及其对应的到前一个节点的边的信息。从根节点到叶节点的一条路径对应一个图。一个g-trie节点的子孙节点共享一个子图（即每一次路径的分叉意味着从一个子图结构中扩展出不同的图结构，而这些扩展出来的图结构自然有着相同的子图结构）。如何构造一个g-trie在&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;中有详细描述。构造好一个g-trie以后，需要进行计数步骤。计数流程的主要思想是回溯所有可能的子图，同时进行同构性测试。这种回溯技术本质上和其他以模体为中心的方法，比如 MODA 和 GK 算法中使用的技术是一样的。这种技术利用了共同的子结构，亦即在一定时间内，几个不同的候选子图中存在部分是同构的。&lt;br /&gt;
&lt;br /&gt;
在上述算法中，G-Tries是最快的。然而，它的一个缺点是内存的超量使用，这局限了它在个人电脑运行时所能发现的模体的大小&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===对比===&lt;br /&gt;
&lt;br /&gt;
下面的表格和数据显示了在各种标准网络中运行上述算法所获得的结果。这些结果皆获取于各自相应的来源 &amp;lt;ref name=&amp;quot;omi1&amp;quot;&amp;gt;{{cite journal|vauthors=Omidi S, Schreiber F, Masoudi-Nejad A |title=MODA: an efficient algorithm for network motif discovery in biological networks |journal=Genes Genet Syst |year=2009 |volume=84 |issue=5 |pages=385–395 |doi=10.1266/ggs.84.385|pmid=20154426 |doi-access=free }}&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;kash1&amp;quot;&amp;gt;{{cite journal|vauthors=Kashani ZR, Ahrabian H, Elahi E, Nowzari-Dalini A, Ansari ES, Asadi S, Mohammadi S, Schreiber F, Masoudi-Nejad A |title=Kavosh: a new algorithm for finding network motifs |journal=BMC Bioinformatics |year=2009 |volume=10 |issue=318|pages=318 |doi=10.1186/1471-2105-10-318 |pmid=19799800 |pmc=2765973}} {{open access}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt; ，因此需要独立地对待它们。&lt;br /&gt;
&lt;br /&gt;
[[Image:Runtimes of algorithms.jpg|thumb|Grochow–Kellis，mfinder，FANMOD，FPF和MODA的运行时间适用于从三个节点到多达九个节点的子图。&amp;lt;ref name=&amp;quot;omi1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 60%; margin-left:3%&amp;quot;&lt;br /&gt;
|+ Grochow–Kellis, FANMOD, 和 G-Trie 在5个不同网络上生成含3到9个节点子图所用的运行时间 &amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|网络&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|子图大小&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|原始网络数据&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|随机网络平均数据&lt;br /&gt;
|-&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Dolphins&lt;br /&gt;
|5 || 0.07 || 0.03 || 0.01 || 0.13 || 0.04 || 0.01&lt;br /&gt;
|-&lt;br /&gt;
|6||0.48||0.28||0.04||1.14||0.35||0.07&lt;br /&gt;
|-&lt;br /&gt;
|7||3.02||3.44||0.23||8.34||3.55||0.46&lt;br /&gt;
|-&lt;br /&gt;
|8||19.44||73.16||1.69||67.94||37.31||4.03&lt;br /&gt;
|-&lt;br /&gt;
|9||100.86||2984.22||6.98||493.98||366.79||24.84&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Circuit&lt;br /&gt;
|6||0.49||0.41||0.03||0.55||0.24||0.03&lt;br /&gt;
|-&lt;br /&gt;
|7||3.28||3.73||0.22||3.53||1.34||0.17&lt;br /&gt;
|-&lt;br /&gt;
|8||17.78||48.00||1.52||21.42||7.91||1.06&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Social&lt;br /&gt;
|3||0.31||0.11||0.02||0.35||0.11||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||7.78||1.37||0.56||13.27||1.86||0.57&lt;br /&gt;
|-&lt;br /&gt;
|5||208.30||31.85||14.88||531.65||62.66||22.11&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Yeast&lt;br /&gt;
|3||0.47||0.33||0.02||0.57||0.35||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||10.07||2.04||0.36||12.90||2.25||0.41&lt;br /&gt;
|-&lt;br /&gt;
|5||268.51||34.10||12.73||400.13||47.16||14.98&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Power&lt;br /&gt;
|3||0.51||1.46||0.00||0.91||1.37||0.01&lt;br /&gt;
|-&lt;br /&gt;
|4||1.38||4.34||0.02||3.01||4.40||0.03&lt;br /&gt;
|-&lt;br /&gt;
|5||4.68||16.95||0.10||12.38||17.54||0.14&lt;br /&gt;
|-&lt;br /&gt;
|6||20.36||95.58||0.55||67.65||92.74||0.88&lt;br /&gt;
|-&lt;br /&gt;
|7||101.04||765.91||3.36||408.15||630.65||5.17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ mfinder, FANMOD, Mavisto 和 Kavosh 在3个不同网络上生成含3到10个节点子图所用的运行时间&amp;lt;ref name=&amp;quot;kash1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&amp;amp;nbsp;&lt;br /&gt;
!子图大小→&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|3&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|4&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|5&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|6&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|7&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|8&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|9&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|10&lt;br /&gt;
|-&lt;br /&gt;
!网络↓&lt;br /&gt;
!算法↓&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|E. coli&lt;br /&gt;
|Kavosh||0.30||1.84||14.91||141.98||1374.0||13173.7||121110.3||1120560.1&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.81||2.53||15.71||132.24||1205.9||9256.6||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||13532||-||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||31.0||297||23671||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Electronic&lt;br /&gt;
|Kavosh||0.08||0.36||8.02||11.39||77.22||422.6||2823.7||18037.5&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.53||1.06||4.34||24.24||160||967.99||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||210.0||1727||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||7||14||109.8||2020.2||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Social&lt;br /&gt;
|Kavosh||0.04||0.23||1.63||10.48||69.43||415.66||2594.19||14611.23&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.46||0.84||3.07||17.63||117.43||845.93||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||393||1492||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||12||49||798||181077||-||-||-||-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===算法的分类===&lt;br /&gt;
正如表格所示，模体发现算法可以分为两大类：基于精确计数的算法，以及使用统计采样以及估计的算法。因为后者并不计数所有子图在主网络中出现的次数，所以第二类算法会更快，却也可能产生带有偏向性的，甚至不现实的结果。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
更深一层地，基于精确计数的算法可以分为'''以网络为中心'''的方法以及以'''子图为中心'''的方法。前者在给定网络中搜索给定大小的子图，而后者首先根据给定大小生成各种可能的非同构图，然后在网络中分别搜索这些生成的图。这两种方法都有各自的优缺点，这些在上文有讨论。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，基于估计的方法可能会利用如前面描述过的颜色编码手段，其它的手段则通常会在枚举过程中忽略一些子图(比如，像在 FANMOD 中做的那样)，然后只在枚举出来的子图上做估计。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，表格还指出了一个算法能否应用于有向网络或无向网络，以及导出子图或非导出子图。更多信息请参考下方提供的网页和实验室地址及联系方式。&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 模体发现算法的分类&lt;br /&gt;
|-&lt;br /&gt;
!计数方式&lt;br /&gt;
!基础&lt;br /&gt;
!算法名称&lt;br /&gt;
!有向 / 无向&lt;br /&gt;
!导出/ 非导出&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |精确基数&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; |以网络为中心&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|无向&lt;br /&gt;
|导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|以子图为中心&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||无向||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]||皆可||Both&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||皆可||皆可&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|采样估计&lt;br /&gt;
|颜色编码&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||无向||非导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|其他手段&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 算法提出者的地址和联系方式&lt;br /&gt;
|-&lt;br /&gt;
!算法&lt;br /&gt;
!实验室/研究组&lt;br /&gt;
!学院&lt;br /&gt;
!大学/研究所&lt;br /&gt;
!地址&lt;br /&gt;
!电子邮件&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||Uri Alon's Group||Department of Molecular Cell Biology||Weizmann Institute of Science||Rehovot, Israel, Wolfson, Rm. 607||urialon at weizmann.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||----||----||Leibniz-Institut für Pflanzengenetik und Kulturpflanzenforschung (IPK)||Corrensstraße 3, D-06466 Stadt Seeland, OT Gatersleben, Deutschland||schreibe at ipk-gatersleben.de&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||Lehrstuhl Theoretische Informatik I||Institut für Informatik||Friedrich-Schiller-Universität Jena||Ernst-Abbe-Platz 2,D-07743 Jena, Deutschland||sebastian.wernicke at gmail.com&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||----||School of Computing||National University of Singapore||Singapore 119077||chenjin at comp.nus.edu.sg&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.cs.colorado.edu/~jgrochow/ Grochow–Kellis]||CS Theory Group &amp;amp; Complex Systems Group||Computer Science||University of Colorado, Boulder||1111 Engineering Dr. ECOT 717, 430 UCB Boulder, CO 80309-0430 USA||jgrochow at colorado.edu&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||Department of Pure Mathematics||School of Mathematical Sciences||Tel Aviv University||Tel Aviv 69978, Israel||nogaa at post.tau.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||Center for Research in Advanced Computing Systems||Computer Science||University of Porto||Rua Campo Alegre 1021/1055, Porto, Portugal||pribeiro at dcc.fc.up.pt&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|Network Learning and Discovery Lab&lt;br /&gt;
|Department of Computer Science&lt;br /&gt;
|Purdue University&lt;br /&gt;
|Purdue University, 305 N University St, West Lafayette, IN 47907&lt;br /&gt;
|nkahmed@purdue.edu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==已知的模体及其功能==&lt;br /&gt;
许多实验工作致力于理解[[基因调控网络]]中的网络模体。在响应生物信号的过程中，这些网络控制细胞中需要表达的基因。这样的网络以基因作为节点，有向边代表对某个基因的调控，基因调控通过其他基因编码的转录因子结合在DNA上的调控蛋白来实现。因此，网络模体是基因之间相互调控转录速率的模式。在分析转录调控网络的时候，人们发现某些相同的网络模体在不同的物种中不断地出现，从细菌到人类。例如，大肠杆菌和酵母的转录网络由三种主要的网络模体家族组成，它们可以构建几乎整个网络。主要的假设是在进化的过程中，网络模体是被以收敛的方式独立选择出来的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;&amp;gt;{{cite journal |vauthors=Babu MM, Luscombe NM, Aravind L, Gerstein M, Teichmann SA |title=Structure and evolution of transcriptional regulatory networks |journal=Current Opinion in Structural Biology |volume=14 |issue=3 |pages=283–91 |date=June 2004 |pmid=15193307 |doi=10.1016/j.sbi.2004.05.004 |citeseerx=10.1.1.471.9692 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;&amp;gt;{{cite journal |vauthors=Conant GC, Wagner A |title=Convergent evolution of gene circuits |journal=Nat. Genet. |volume=34 |issue=3 |pages=264–6 |date=July 2003 |pmid=12819781 |doi=10.1038/ng1181}}&amp;lt;/ref&amp;gt; 因为相对于基因改变的速率，转录相互作用产生和消失的时间尺度在进化上是很快的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;dek1&amp;quot;&amp;gt;{{cite journal |vauthors=Dekel E, Alon U |title=Optimality and evolutionary tuning of the expression level of a protein |journal=Nature |volume=436 |issue=7050 |pages=588–92 |date=July 2005 |pmid=16049495 |doi=10.1038/nature03842 |bibcode=2005Natur.436..588D }}&amp;lt;/ref&amp;gt; 此外，对活细胞中网络模体所产生的动力学行为的实验表明，它们具有典型的动力学功能。这表明，网络模体是基因调控网络中对生物体有益的基本单元。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一些研究从理论和实验两方面探讨和论证了转录网络中与共同网络模体相关的功能。下面是一些最常见的网络模体及其相关功能。&lt;br /&gt;
&lt;br /&gt;
===负自反馈调控(NAR)===&lt;br /&gt;
[[Image:Autoregulation motif.png|200px|thumb|自动调节基序的示意图]]&lt;br /&gt;
负自反馈调控是大肠杆菌中最简单和最冗余的网络模体之一，其中一个转录因子抑制它自身的转录。这种网络模体有两个重要的功能，其中第一个是加速响应。人们发现在实验和理论上， &amp;lt;ref name=&amp;quot;zab1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jtbi.2011.06.021 |author=Zabet NR |title=Negative feedback and physical limits of genes |journal=Journal of Theoretical Biology |volume= 284|issue=1 |pages=82–91 |date=September 2011 |pmid=21723295 |arxiv=1408.1869 |citeseerx=10.1.1.759.5418 }}&amp;lt;/ref&amp;gt;NAR都可以加快对信号的响应。这个功能首先在一个人工合成的转录网络中被发现，&amp;lt;ref name=&amp;quot;ros1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/S0022-2836(02)00994-4 |vauthors=Rosenfeld N, Elowitz MB, Alon U |title=Negative autoregulation speeds the response times of transcription networks |journal=J. Mol. Biol. |volume=323 |issue=5 |pages=785–93 |date=November 2002 |pmid=12417193 |citeseerx=10.1.1.126.2604 }}&amp;lt;/ref&amp;gt; 然后在大肠杆菌SOS DAN修复系统这个自然体系中也被发现。&amp;lt;ref name=&amp;quot;cam1&amp;quot;&amp;gt;{{cite journal |vauthors=Camas FM, Blázquez J, Poyatos JF |title=Autogenous and nonautogenous control of response in a genetic network |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=103 |issue=34 |pages=12718–23 |date=August 2006 |pmid=16908855 |pmc=1568915 |doi=10.1073/pnas.0602119103 |bibcode=2006PNAS..10312718C }}&amp;lt;/ref&amp;gt; 负自反馈网络的第二个功能是增强自调控基因的产物浓度的稳定性，从而抵抗随机的噪声，减少该蛋白含量在不同细胞中的差异。&amp;lt;ref name=&amp;quot;bec1&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Serrano L |title=Engineering stability in gene networks by autoregulation |journal=Nature |volume=405 |issue=6786 |pages=590–3 |date=June 2000 |pmid=10850721 |doi=10.1038/35014651}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;dub1&amp;quot;&amp;gt;{{cite journal |vauthors=Dublanche Y, Michalodimitrakis K, Kümmerer N, Foglierini M, Serrano L |title=Noise in transcription negative feedback loops: simulation and experimental analysis |journal=Mol. Syst. Biol. |volume=2 |pages=41 |year=2006 |pmid=16883354 |pmc=1681513 |doi=10.1038/msb4100081 |issue=1}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;shi1&amp;quot;&amp;gt;{{cite journal |vauthors=Shimoga V, White J, Li Y, Sontag E, Bleris L |title= Synthetic mammalian transgene negative autoregulation |journal=Mol. Syst. Biol. |volume=9 |pages=670 |year=2013|doi=10.1038/msb.2013.27|pmid= 23736683 |pmc= 3964311 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===正自反馈调控(PAR)===&lt;br /&gt;
正自反馈调控是指转录因子增强它自身转录速率的调控。和负自反馈调节相反，NAR模体相比于简单的调控能够延长反应时间。&amp;lt;ref name=&amp;quot;mae1&amp;quot;&amp;gt;{{cite journal |vauthors=Maeda YT, Sano M |title=Regulatory dynamics of synthetic gene networks with positive feedback |journal=J. Mol. Biol. |volume=359 |issue=4 |pages=1107–24 |date=June 2006 |pmid=16701695 |doi=10.1016/j.jmb.2006.03.064 }}&amp;lt;/ref&amp;gt; 在强PAR的情况下，模体可能导致蛋白质水平在细胞群中呈现双峰分布。&amp;lt;ref name=&amp;quot;bec2&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Séraphin B, Serrano L |title=Positive feedback in eukaryotic gene networks: cell differentiation by graded to binary response conversion |journal=EMBO J. |volume=20 |issue=10 |pages=2528–35 |date=May 2001 |pmid=11350942 |pmc=125456 |doi=10.1093/emboj/20.10.2528}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===前馈回路 (FFL)===&lt;br /&gt;
[[Image:Feed-forward_motif.gif|200px|thumb|前馈主题的示意图]]&lt;br /&gt;
前馈回路普遍存在于许多基因系统和生物体中。这种模体包括三个基因以及三个相互作用。目标基因C被两个转录因子（TFs）A和B调控，并且TF B同时被TF A调控。由于每个调控相互作用可以是正的或者负的，所以总共可能有八种类型的FFL模体。&amp;lt;ref name=&amp;quot;man1&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Alon U |title=Structure and function of the feed-forward loop network motif |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=100 |issue=21 |pages=11980–5 |date=October 2003 |pmid=14530388 |pmc=218699 |doi=10.1073/pnas.2133841100 |bibcode=2003PNAS..10011980M }}&amp;lt;/ref&amp;gt; 其中的两种：一致前馈回路的类型一（C1-FFL）（所有相互作用都是正的）和非一致前馈回路的类型一（I1-FFL）（A激活C和B，B抑制C）在大肠杆菌和酵母中相比于其他六种更频繁的出现。&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;ma1&amp;quot;&amp;gt;{{cite journal |vauthors=Ma HW, Kumar B, Ditges U, Gunzer F, Buer J, Zeng AP |title=An extended transcriptional regulatory network of ''Escherichia coli'' and analysis of its hierarchical structure and network motifs |journal=Nucleic Acids Res. |volume=32 |issue=22 |pages=6643–9 |year=2004 |pmid=15604458 |pmc=545451 |doi=10.1093/nar/gkh1009 |url=http://nar.oxfordjournals.org/cgi/pmidlookup?view=long&amp;amp;pmid=15604458}}&amp;lt;/ref&amp;gt; 除了网络的结构外，还应该考虑来自A和B的信号被C的启动子集成的方式。在大多数情况下，FFL要么是一个与门(激活C需要A和B)，要么是或门(激活C需要A或B)，但也可以是其他输入函数。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===一致前馈回路类型一(C1-FFL)===&lt;br /&gt;
具有与门的C1-FFL有“符号-敏感延迟”单元和持久性探测器的功能，这一点在[[大肠杆菌]]阿拉伯糖系系统的理论&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;和实验上&amp;lt;ref name=&amp;quot;man2&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jmb.2003.09.049 |vauthors=Mangan S, Zaslaver A, Alon U |title=The coherent feedforward loop serves as a sign-sensitive delay element in transcription networks |journal=J. Mol. Biol. |volume=334 |issue=2 |pages=197–204 |date=November 2003 |pmid=14607112 |citeseerx=10.1.1.110.4629 }}&amp;lt;/ref&amp;gt; 都有发现。这意味着该模体可以提供脉冲过滤，短脉冲信号不会产生响应，而持久信号在短延迟后会产生响应。当持久脉冲结束时，输出的关闭将很快。与此相反的行为出现在具有快速响应和延迟关闭特性的加和门的情况下，这在[[大肠杆菌]]的鞭毛系统中得到了证明。&amp;lt;ref name=&amp;quot;kal1&amp;quot;&amp;gt;{{cite journal |vauthors=Kalir S, Mangan S, Alon U |title=A coherent feed-forward loop with a SUM input function prolongs flagella expression in ''Escherichia coli'' |journal=Mol. Syst. Biol. |volume=1 |pages=E1–E6 |year=2005 |pmid=16729041 |pmc=1681456 |doi=10.1038/msb4100010 |issue=1}}&amp;lt;/ref&amp;gt;在[[基因调控网络]]的重头进化中，对于滤除理想化的短信号脉冲作为进化压，C1-FFLs已经在计算上被证明可以进化出来。但是对于非理想化的噪声，不同拓扑结构前馈调节的动态系统将被优先考虑。 &amp;lt;ref&amp;gt;{{cite journal |last1=Xiong |first1=Kun |last2=Lancaster |first2=Alex K. |last3=Siegal |first3=Mark L. |last4=Masel |first4=Joanna |title=Feed-forward regulation adaptively evolves via dynamics rather than topology when there is intrinsic noise |journal=Nature Communications |date=3 June 2019 |volume=10 |issue=1 |pages=2418 |doi=10.1038/s41467-019-10388-6|pmid=31160574 |pmc=6546794 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===非一致前馈回路类型一(I1-FFL)===&lt;br /&gt;
I1-FFL是一个脉冲生成器和响应加速器。I1-FFL的两种信号通路作用方向相反，一种通路激活Z，而另一种抑制Z。完全的抑制会导致类似脉冲的动力学行为。另外有实验证明，它可以类似于NAR模体起到响应加速器的作用。与NAR模体的不同之处在于，它可以加速任何基因的响应，而不必是转录因子。&amp;lt;ref name=&amp;quot;man3&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Itzkovitz S, Zaslaver A, Alon U |title=The incoherent feed-forward loop accelerates the response-time of the gal system of ''Escherichia coli'' |journal=J. Mol. Biol. |volume=356 |issue=5 |pages=1073–81 |date=March 2006 |pmid=16406067 |doi=10.1016/j.jmb.2005.12.003 |citeseerx=10.1.1.184.8360 }}&amp;lt;/ref&amp;gt;I1-FFL网络还有另外一个功能：在理论和实验上都有证明I1-FFL可以生成非单调的输入函数，无论在人工合成的&amp;lt;ref name=&amp;quot;ent1&amp;quot;&amp;gt;{{cite journal |vauthors=Entus R, Aufderheide B, Sauro HM |title=Design and implementation of three incoherent feed-forward motif based biological concentration sensors |journal=Syst Synth Biol |volume=1 |issue=3 |pages=119–28 |date=August 2007 |pmid=19003446 |pmc=2398716 |doi=10.1007/s11693-007-9008-6 }}&amp;lt;/ref&amp;gt;还是自然的系统中。 &amp;lt;ref name=&amp;quot;kap1&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Dekel E, Alon U |title=The incoherent feed-forward loop can generate non-monotonic input functions for genes |journal=Mol. Syst. Biol. |volume=4 |pages=203 |year=2008 |pmid=18628744 |pmc=2516365 |doi=10.1038/msb.2008.43 |issue=1}}&amp;lt;/ref&amp;gt; 最后，包含非一致前馈调控的基因生成物的表达单元对DNA模板的数量具有适应性，可以优于简单的组合本构启动子。&amp;lt;ref name=&amp;quot;ble1&amp;quot;&amp;gt;{{cite journal |vauthors=Bleris L, Xie Z, Glass D, Adadey A, Sontag E, Benenson Y |title=Synthetic incoherent feedforward circuits show adaptation to the amount of their genetic template |journal=Mol. Syst. Biol. |volume=7 |pages=519|year=2011 |doi=10.1038/msb.2011.49 |issue=1 |pmid=21811230 |pmc=3202791}}&amp;lt;/ref&amp;gt; 前馈调控比负反馈具有更好的适应性，并且基于RNA干扰的网络对DNA模板数具有最高的鲁棒性。&amp;lt;ref name=&amp;quot;ble1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===多输出前馈回路===&lt;br /&gt;
在某些情况，相同的调控子X和Y可以调控同一系统中的多个Z基因。通过调节相互作用的强度，这些网络可以决定基因激活的时间顺序。这一点在大肠杆菌的鞭毛系统中有实验证据。&amp;lt;ref name=&amp;quot;kal2&amp;quot;&amp;gt;{{cite journal  |vauthors=Kalir S, McClure J, Pabbaraju K, etal |title=Ordering genes in a flagella pathway by analysis of expression kinetics from living bacteria |journal=Science |volume=292 |issue=5524 |pages=2080–3 |date=June 2001 |pmid=11408658 |doi=10.1126/science.1058758 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===单一输入模块(SIM)===&lt;br /&gt;
当单个调控子调控一组基因，并且没有其他的调控因素时，这样的模体叫做单一输入模块（SIM）。当很多基因合作执行某个功能时这是有用的，因为这些基因需要同步地被激活。通过调节相互作用的强度，可以编排它所调控的基因表达的时间顺序。&amp;lt;ref name=&amp;quot;zas1&amp;quot;&amp;gt;{{cite journal  |vauthors=Zaslaver A, Mayo AE, Rosenberg R, etal |title=Just-in-time transcription program in metabolic pathways |journal=Nat. Genet. |volume=36 |issue=5 |pages=486–91 |date=May 2004 |pmid=15107854 |doi=10.1038/ng1348|doi-access=free }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在文献中，多输入模块（MIM）来自于SIM的扩展。但是二者的精确定义并不太一致。有一些尝试给出生物网络中规范模体的正交定义，也有一些算法去枚举它们，特别是SIM，MIM和2x2 MIM等。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=Single and Multiple Input Modules in regulatory networks |journal=Proteins |volume=73 |issue=2 |pages=320–324 |year=2008 |doi=10.1002/prot.22053|pmid=18433061 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===密集交盖调节网(DOR)===&lt;br /&gt;
这种类型的网络存在于多个调节子结合起来控制一组基因的情形，并且有多种调控的组合。这种模体出现在大肠杆菌的多种系统中，例如碳利用、厌氧生长、应激反应等。&amp;lt;ref name=&amp;quot;she1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;/&amp;gt; 为了更好地理解这种网络，我们必须得到关于基因集成多种输入的方式的信息。Kaplan ''et al.''&amp;lt;ref name=&amp;quot;kap2&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Zaslaver A, Dekel E, Alon U |title=Diverse two-dimensional input functions control bacterial sugar genes |journal=Mol. Cell |volume=29 |issue=6 |pages=786–92 |date=March 2008 |pmid=18374652 |pmc=2366073 |doi=10.1016/j.molcel.2008.01.021 }}&amp;lt;/ref&amp;gt;绘制了大肠杆菌糖利用基因的输入函数，表现出各种各样的形状。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==活动模体==&lt;br /&gt;
&lt;br /&gt;
有一个对网络模体的有趣概括：'''活动模体'''是在对节点和边都被量化标注的网络中可发现的【反复】斑图。例如，当新陈代谢的边以相应基因的表达量或【时间】来标注时，一些斑图在'''给定的'''底层网络结构里【是反复的】。&amp;lt;ref name=&amp;quot;agc&amp;quot;&amp;gt;{{cite journal |vauthors=Chechik G, Oh E, Rando O, Weissman J, Regev A, Koller D |title=Activity motifs reveal principles of timing in transcriptional control of the yeast metabolic network |journal=Nat. Biotechnol. |volume=26 |issue=11 |pages=1251–9 |date=November 2008 |pmid=18953355 |pmc=2651818 |doi=10.1038/nbt.1499}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==批判==&lt;br /&gt;
&lt;br /&gt;
对拓扑子结构有一个（某种程度上隐含的）前提性假设是其具有特定的功能重要性。但该假设最近遭到质疑，有人提出在不同的网络环境下模体可能表现出多样性，例如双扇模体，故&amp;lt;ref name=&amp;quot;ad&amp;quot;&amp;gt;{{cite journal |vauthors=Ingram PJ, Stumpf MP, Stark J |title=Network motifs: structure does not determine function |journal=BMC Genomics |volume=7 |pages=108 |year=2006 |pmid=16677373 |pmc=1488845 |doi=10.1186/1471-2164-7-108 }} &amp;lt;/ref&amp;gt;模体的结构不必然决定功能，网络结构也不当然能揭示其功能；这种见解由来已久，可参见操纵子&amp;lt;/font&amp;gt;。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Voigt CA, Wolf DM, Arkin AP |title=The ''Bacillus subtilis'' sin operon: an evolvable network motif |journal=Genetics |volume=169 |issue=3 |pages=1187–202 |date=March 2005 |pmid=15466432 |pmc=1449569 |doi=10.1534/genetics.104.031955 |url=http://www.genetics.org/cgi/pmidlookup?view=long&amp;amp;pmid=15466432}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
大多数模体功能分析是基于模体孤立运行的情形。最近的研究&amp;lt;ref&amp;gt;{{cite journal |vauthors=Knabe JF, Nehaniv CL, Schilstra MJ |title=Do motifs reflect evolved function?—No convergent evolution of genetic regulatory network subgraph topologies |journal=BioSystems |volume=94 |issue=1–2 |pages=68–74 |year=2008 |pmid=18611431 |doi=10.1016/j.biosystems.2008.05.012 }}&amp;lt;/ref&amp;gt;表明网络环境至关重要，不能忽视网络环境而仅从本地结构来对其功能进行推论——引用的论文还回顾了对观测数据的批判及其他可能的解释。人们研究了单个模体模组对网络全局的动力学影响及其分析&amp;lt;ref&amp;gt;{{cite journal |vauthors=Taylor D, Restrepo JG |title=Network connectivity during mergers and growth: Optimizing the addition of a module |journal=Physical Review E |volume=83 |issue=6 |year=2011 |page=66112 |doi=10.1103/PhysRevE.83.066112 |pmid=21797446 |bibcode=2011PhRvE..83f6112T |arxiv=1102.4876 }}&amp;lt;/ref&amp;gt;。而另一项近期的研究工作提出生物网络的某些拓扑特征能自然地引起经典模体的常见形态，让人不禁疑问：这样的发生频率是否能证明模体的结构是出于其对所在网络运行的功能性贡献而被选择保留下的结果？&amp;lt;ref&amp;gt;{{cite journal|last1=Konagurthu|first1=Arun S.|last2=Lesk|first2=Arthur M.|title=Single and multiple input modules in regulatory networks|journal=Proteins: Structure, Function, and Bioinformatics|date=23 April 2008|volume=73|issue=2|pages=320–324|doi=10.1002/prot.22053|pmid=18433061}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=On the origin of distribution patterns of motifs in biological networks |journal=BMC Syst Biol |volume=2 |pages=73 |year=2008 |pmid=18700017 |pmc=2538512 |doi=10.1186/1752-0509-2-73 }} &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模体的研究主要应用于静态复杂网络，而时变复杂网络的研究&amp;lt;ref&amp;gt;Braha, D., &amp;amp; Bar‐Yam, Y. (2006). [https://static1.squarespace.com/static/5b68a4e4a2772c2a206180a1/t/5c5de3faf4e1fc43e7b3d21e/1549657083988/Complexity_Braha_Original_w_Cover.pdf From centrality to temporary fame: Dynamic centrality in complex networks]. Complexity, 12(2), 59-63. &amp;lt;/ref&amp;gt;就网络模体提出了重大的新解释，并介绍了'''时变网络模体'''的概念。Braha和Bar-Yam&amp;lt;ref&amp;gt; Braha D., Bar-Yam Y. (2009) [https://s3.amazonaws.com/academia.edu.documents/4892116/Adaptive_Networks__Theory__Models_and_Applications__Understanding_Complex_Systems_.pdf?response-content-disposition=inline%3B%20filename%3DRedes_teoria.pdf&amp;amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20191111%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20191111T173250Z&amp;amp;X-Amz-Expires=3600&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=89d08c9e92b88ed817e4eb0f87c480757ef79c4b865919a5e0890cbefa164c61#page=55 Time-Dependent Complex Networks: Dynamic Centrality, Dynamic Motifs, and Cycles of Social Interactions]. In: Gross T., Sayama H. (eds) Adaptive Networks. Understanding Complex Systems. Springer, Berlin, Heidelberg &amp;lt;/ref&amp;gt;研究了本地模体结构在时间依赖网络/时变网络的动力学，发现的一些反复模式有望成为社会互动周期的经验论据。他们证明了对于时变网络，其本地结构是时间依赖的且可能随时间演变，可作为对复杂网络中稳定模体观及模体表达观的反论，Braha和Bar-Yam还进一步提出，对时变本地结构的分析有可能揭示系统级任务和功能方面的动力学的重要信息。&lt;br /&gt;
&lt;br /&gt;
==另参==&lt;br /&gt;
* [[图论]]&lt;br /&gt;
* [[图形模型]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist|2}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
&lt;br /&gt;
* [http://www.weizmann.ac.il/mcb/UriAlon/groupNetworkMotifSW.html A software tool that can detect network motifs]&lt;br /&gt;
* [http://www.bio-physics.at/wiki/index.php?title=Network_Motifs bio-physics-wiki NETWORK MOTIFS]&lt;br /&gt;
* [http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ FANMOD: a tool for fast network motif detection]&lt;br /&gt;
* [http://mavisto.ipk-gatersleben.de/ MAVisto: network motif analysis and visualisation tool]&lt;br /&gt;
* [https://www.msu.edu/~jinchen/ NeMoFinder]&lt;br /&gt;
* [http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh]&lt;br /&gt;
* [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh]&lt;br /&gt;
* [http://www.dcc.fc.up.pt/gtries/ G-Tries]&lt;br /&gt;
* [http://www.ft.unicamp.br/docentes/meira/accmotifs/ acc-MOTIF detection tool]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:Tuijian_motif.jpeg|thumb|400px|[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]]]&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]====&lt;br /&gt;
模体（motif）是一个对初涉复杂科学的人来说，相对陌生的概念，但它却是复杂网络研究中最有力的工具之一。2002年的 Science 论文“Network Motifs: simple Building blocks of Complex Networks”介绍了模体的概念，至今引用次数已有 6000 多次。本文将概述这篇论文，并阐述模体在复杂网络中的广泛应用与研究前沿，说明模体已成为复杂网络研究中不可或缺的基础组件。即使对于非相关领域的研究者，理解模体的概念也可以让你体会生活中的复杂性与涌现现象。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:Xebec|Xebec]]、[[用户:木子二月鸟|木子二月鸟]]、[[用户:Qige96|Qige96]]、[[用户:Jxzhou |Jxzhou]]、[[用户:厚朴|厚朴]]参与编译、由[[用户:Imp |Imp]]、[[用户:Liushikang1992|Liushikang1992]]审校、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容翻译自 wikipedia.org，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:基因表达]]&lt;br /&gt;
[[Category:网络]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8066</id>
		<title>网络模体</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8066"/>
		<updated>2020-05-13T05:10:21Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 模体发现算法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络模体,模体发现算法,基因调控网络&lt;br /&gt;
|description=FPF,ESU,G-Trie&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
所有网络，包括生物网络 biological networks、社交网络 social networks、技术网络（例如计算机网络和电路）等，都可以用图的形式来表示，这些图中会包括各种各样的子图 subgraphs。网络的一个重要的局部性质是所谓的网络模体，即重复且具有统计意义的子图或模式 patterns。&lt;br /&gt;
&lt;br /&gt;
'''网络模体 Network motifs(NM)'''是指在特定网络或各种网络中重复出现的相同的子图。这些子图由顶点之间特定的交互模式定义，一个子图便可以反映一个框架，这个框架可以有效地实现某个特定的功能。事实上，之所以说模体是一个重要的特性，正是因为它们可能反映出对应网络功能的这一性质。近年来这一概念作为揭示复杂网络结构设计原理的一个有用概念而受到了广泛的关注。&amp;lt;ref name=&amp;quot;mas1&amp;quot;&amp;gt;{{cite journal |vauthors=Masoudi-Nejad A, Schreiber F, Razaghi MK Z |title=Building Blocks of Biological Networks: A Review on Major Network Motif Discovery Algorithms |journal=IET Systems Biology |volume=6 |issue=5 |pages=164–74 |year=2012|doi=10.1049/iet-syb.2011.0011 |pmid=23101871 }}&amp;lt;/ref&amp;gt; 但是，虽然通过研究网络模体可以深入了解网络的功能，但是对于模体的检测在计算上是具有挑战性的。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
设{{math|G {{=}} (V, E)}} 和 {{math|G&amp;amp;prime; {{=}} (V&amp;amp;prime;, E&amp;amp;prime;)}} 是两个图。若{{math|V&amp;amp;prime; ⊆ V}}且满足{{math|E&amp;amp;prime; ⊆ E ∩ (V&amp;amp;prime; &amp;amp;times; V&amp;amp;prime;)}}）（即图{{math|G&amp;amp;prime; ⊆ G}}的所有边和点都属于图{{math|G}}）则称图{{math|G&amp;amp;prime; ⊆ G}}是图{{math|G}}的一个子图。若{{math|G&amp;amp;prime; ⊆ G}}，且对于顶点{{math|u}}、{{math|v}}及其连边，只要{{math|u}}和{{math|v}}存在于{{math|G&amp;amp;prime;}}（即若{{math|U}}, {{math|V&amp;amp;prime; ⊆ V}}），那么{{math|G&amp;amp;prime; ⊆ G}}中就应该包含原图{{math|G}}中的所有{{math|u}}和{{math|V}}的对应连边（即{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E}}），则称此时图{{math|G&amp;amp;prime;}}就是图{{math|G}}的导出子图。如果存在一个双射（一对一）{{math|f:V&amp;amp;prime; → V}}，且对所有{{math|u, v ∈ V&amp;amp;prime;}}都有{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E&amp;amp;prime; ⇔ &amp;amp;lang;f(u), f(v)&amp;amp;rang; ∈ E}} ，则称{{math|G&amp;amp;prime;}}是{{math|G}}的同构图（记作：{{math|G&amp;amp;prime; → G}}），映射f则称为{{math|G}}与{{math|G&amp;amp;prime;}}之间的同构 isomorphism。&amp;lt;ref name=&amp;quot;die1&amp;quot;&amp;gt;{{cite journal |author=Diestel R |title=Graph Theory (Graduate Texts in Mathematics) |volume=173 |year=2005|publisher=New York: Springer-Verlag Heidelberg}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当{{math|G&amp;amp;Prime; ⊂ G}}，且{{math|G&amp;amp;Prime;}}与图{{math|G&amp;amp;prime;}}之间存在同构时，该映射表示{{math|G&amp;amp;prime;}}对于{{math|G}}存在。图{{math|G&amp;amp;prime;}}在{{math|G}}的出现次数称为{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}。当一个子图的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}高于预定的阈值或截止值时，则称{{math|G&amp;amp;prime;}}是{{math|G}}中的递归（或频繁）子图。在接下来的内容中，我们交替使用术语“模式 motifs”和“频繁子图 frequent sub-graph”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
设从与{{math|G}}相关联的零模型 the null-model获得的随机图集合为{{math|Ω(G)}}，我们从{{math|Ω(G)}}中均匀地选择N个随机图，并计算其特定频繁子图的频率。如果{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率高于N个随机图{{math|R&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;}}的算术平均频率，其中{{math|1 ≤ i ≤ N}}，我们称此递归模式是有意义的，因此可以将{{math|G&amp;amp;prime;}}视为{{math|G}}的网络模体。对于一个小图{{math|G&amp;amp;prime;}}，网络{{math|G}}和一组随机网络{{math|R(G) ⊆ Ω(R)}}，当{{math|1=R(G) {{=}} N}}时，由其Z分数 Z-score的定义如下式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z(G^\prime) = \frac{F_G(G^\prime) - \mu_R(G^\prime)}{\sigma_R(G^\prime)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
式中，{{math|μ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}} 和 {{math|σ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}分别代表集合{{math|R(G)}}中的平均和标准偏差频率。&amp;lt;ref name=&amp;quot;mil1&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr SS, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |volume=298 |year=2002|journal=Science|issue=5594|pages=824–827 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;alb1&amp;quot;&amp;gt;{{cite journal |vauthors=Albert R, Barabási AL |title=Statistical mechanics of complex networks |journal=Reviews of Modern Physics |volume=74 |issue=1 |year=2002 |pages=47–49 |doi=10.1103/RevModPhys.74.47 |bibcode=2002RvMP...74...47A|arxiv=cond-mat/0106096 |citeseerx=10.1.1.242.4753 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mil2&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Itzkovitz S, Kashtan N, Levitt R, Shen-Orr S, Ayzenshtat I, Sheffer M, Alon U |title=Superfamilies of designed and evolved networks |journal=Science |volume=303 |issue=5663 |year=2004 |pages=1538–1542 |pmid=15001784 |doi=10.1126/science.1089167 |bibcode=2004Sci...303.1538M |url=https://semanticscholar.org/paper/87ad24efd5329046d37cd704f970323e878710ca }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;sch1&amp;quot;&amp;gt;{{cite encyclopedia|last=Schwöbbermeyer |first=H |title=Network Motifs |encyclopedia=Analysis of Biological Networks |editor=Junker BH, Schreiber F |publisher=Hoboken, New Jersey: John Wiley &amp;amp; Sons |year=2008 |pages=85–108}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;bor1&amp;quot;&amp;gt;{{cite encyclopedia |last1=Bornholdt |first1=S |last2=Schuster |first2=HG |title=Handbook of graphs and networks : from the genome to the Internet |journal=Handbook of Graphs and Networks: From the Genome to the Internet |pages=417 |year=2003|bibcode=2003hgnf.book.....B }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cir1&amp;quot;&amp;gt;{{cite journal |vauthors=Ciriello G, Guerra C |title=A review on models and algorithms for motif discovery in protein-protein interaction networks |journal=Briefings in Functional Genomics and Proteomics |year=2008 |volume=7 |issue=2 |pages=147–156 |doi=10.1093/bfgp/eln015|pmid=18443014 |doi-access=free }}&amp;lt;/ref&amp;gt; {{math|Z(G&amp;amp;prime;)}}越大，子图{{math|G&amp;amp;prime;}}作为模体的意义也就越大。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外还可以使用统计假设检验中的另一个测量方法，可以作为模体检测中的一种方法，即P值 P-value，以 {{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;) ≥ F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}的概率给出（作为其零假设 null-hypothesis），其中{{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}表示随机网络中{{math|G&amp;amp;prime;}}的频率。&amp;lt;ref name=&amp;quot;sch1&amp;quot; /&amp;gt; 当P值小于阈值（通常为0.01或0.05）时，该子图可以被称为显著模式。该P值定义为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(G^\prime) = \frac{1}{N}\sum_{i=1}^N \delta(c(i)) ; c(i): F_R^i(G^\prime) \ge F_G(G^\prime)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Different occurrences of a sub-graph in a graph.jpg|thumb|图1  ''图中子图的不同出现''. (M1 – M4) 是图（a）中子图（b）的不同出现。对于频率概念{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}},集合M1，M2，M3，M4表示所有匹配项，因此{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; {{=}} 4}}。对于{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}，两个集合M1，M4或M2，M3之一是可能的匹配，{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; {{=}} 2}}。最后，对于频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}仅允许匹配项之一（M1至M4），因此{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; {{=}} 1}}。随着网元的使用受到限制，这三个频率概念的频率降低。]]&lt;br /&gt;
&lt;br /&gt;
其中{{math|N}}表示随机网络的数目，{{math|i}}定义在随机网络的集合上，若条件{{math|c(i)}}成立，则Kroneckerδ函数{{math|δ(c(i))}}是1。在网络{{math|G}}中，一个特定的n维子图{{math|N&amp;amp;prime;}}的集中度&amp;lt;ref name=&amp;quot;kas1&amp;quot;&amp;gt;{{cite journal |vauthors=Kashtan N, Itzkovitz S, Milo R, Alon U |title=Efficient sampling algorithm for estimating sub-graph concentrations and detecting network motifs |journal=Bioinformatics  |year=2004 |volume=20 |issue=11 |pages=1746–1758 |doi=10.1093/bioinformatics/bth163|pmid=15001476 |doi-access=free }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;wer1&amp;quot;&amp;gt;{{cite journal |author=Wernicke S |title=Efficient detection of network motifs |journal=IEEE/ACM Transactions on Computational Biology and Bioinformatics  |year=2006 |volume=3 |issue=4 |pages=347–359 |doi=10.1109/tcbb.2006.51|pmid=17085844 |citeseerx=10.1.1.304.2576 }}&amp;lt;/ref&amp;gt;是指子图在网络中出现频率与n维非同构子图的总频率之比，其计算公式如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中索引 {{math|i}} 定义在所有非同构 n 尺寸图的集合上。 另一种统计测量是用来评估网络主题的，但在已知的算法中很少使用。 这种测量方法是由 Picard 等人在2008年提出的，使用的是泊松分布，而不是上面隐含使用的高斯正态分布 。&amp;lt;ref name=&amp;quot;pic1&amp;quot;&amp;gt;{{cite journal |vauthors=Picard F, Daudin JJ, Schbath S, Robin S |title=Assessing the Exceptionality of Network Motifs |journal=J. Comp. Bio. |year=2005 |volume=15 |issue=1 |pages=1–20|doi=10.1089/cmb.2007.0137 |pmid=18257674 |citeseerx=10.1.1.475.4300 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，他们还提出了子图频率的三个具体概念。&amp;lt;ref name=&amp;quot;schr1&amp;quot;&amp;gt;{{cite book |vauthors=Schreiber F, Schwöbbermeyer H |title=Frequency concepts and pattern detection for the analysis of motifs in networks |journal=Transactions on Computational Systems Biology III |volume=3737 |year=2005 |pages=89–104|doi=10.1007/11599128_7 |citeseerx=10.1.1.73.1130 |series=Lecture Notes in Computer Science |isbn=978-3-540-30883-6 }}&amp;lt;/ref&amp;gt; 如图所示，第一频率概念 {{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}}考虑原始网络中图的所有匹配，这与我们前面介绍过的类似。第二个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}定义为原始网络中给定图的最大不相交边的数量。最后，频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}包含与不相交边 disjoint edges和节点的匹配。因此，两个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}限制了图元素的使用，并且可以看出，通过对网络元素的使用施加限制，子图的频率下降。因此，如果坚持使用频率概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}，网络模体检测算法将可以筛选出更多的候选子图。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
霍兰 Holland和莱因哈特 Leinhardt率先提出了'''网络三合会普查 a triad census of networks'''的概念，开创了网络模体研究的先河。&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1974). The statistical analysis of local structure in social networks. Working Paper No. 44, National Bureau of Economic Research.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Hollandi, P., &amp;amp; Leinhardt, S. (1975). The Statistical Analysis of Local. Structure in Social Networks. Sociological Methodology, David Heise, ed. San Francisco: Josey-Bass.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; Holland, P. W., &amp;amp; Leinhardt, S. (1976). Local structure in social networks. Sociological methodology, 7, 1-45.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1977). A method for detecting structure in sociometric data. In Social Networks (pp. 411-432). Academic Press.&amp;lt;/ref&amp;gt; 他们介绍了枚举各种子图配置的方法，并测试子图计数是否与随机网络中的期望值存在统计学上的差异。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2002年，Uri Alon和他的团队&amp;lt;ref name=&amp;quot;she1&amp;quot;&amp;gt;{{cite journal |vauthors=Shen-Orr SS, Milo R, Mangan S, Alon U |title=Network motifs in the transcriptional regulation network of ''Escherichia coli'' |journal=Nat. Genet. |volume=31 |issue=1 |pages=64–8 |date=May 2002 |pmid=11967538 |doi=10.1038/ng881}}&amp;lt;/ref&amp;gt;在大肠杆菌的基因调控 gene regulation network （转录 transcription）网络中发现了网络模体，随后在大量的自然网络中也发现了网络模体，从而进一步推广了这一观点。自那时起，许多科学家都对这一问题进行了大量的研究。其中一些研究集中在生物学应用上，而另一些则集中在网络模体的计算理论上。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
生物学研究试图解释为生物网络检测到的模体。例如，在接下来的工作中，&amp;lt;ref name=&amp;quot;she1&amp;quot; /&amp;gt;在大肠杆菌中发现的网络模体存在于其他细菌&amp;lt;ref name=&amp;quot;eic1&amp;quot;&amp;gt;{{cite journal  |vauthors=Eichenberger P, Fujita M, Jensen ST, etal |title=The program of gene transcription for a single differentiating cell type during sporulation in ''Bacillus subtilis'' |journal=PLOS Biology |volume=2 |issue=10 |pages=e328 |date=October 2004 |pmid=15383836 |pmc=517825 |doi=10.1371/journal.pbio.0020328 }} &amp;lt;/ref&amp;gt;以及酵母&amp;lt;ref name=&amp;quot;mil3&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |journal=Science |volume=298 |issue=5594 |pages=824–7 |date=October 2002 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;lee1&amp;quot;&amp;gt;{{cite journal  |vauthors=Lee TI, Rinaldi NJ, Robert F, etal |title=Transcriptional regulatory networks in Saccharomyces cerevisiae |journal=Science |volume=298 |issue=5594 |pages=799–804 |date=October 2002 |pmid=12399584 |doi=10.1126/science.1075090 |bibcode=2002Sci...298..799L }}&amp;lt;/ref&amp;gt;和高等生物的转录网络中。&amp;lt;ref name=&amp;quot;odo1&amp;quot;&amp;gt;{{cite journal  |vauthors=Odom DT, Zizlsperger N, Gordon DB, etal |title=Control of pancreas and liver gene expression by HNF transcription factors |journal=Science |volume=303 |issue=5662 |pages=1378–81 |date=February 2004 |pmid=14988562 |pmc=3012624 |doi=10.1126/science.1089769 |bibcode=2004Sci...303.1378O }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;&amp;gt;{{cite journal  |vauthors=Boyer LA, Lee TI, Cole MF, etal |title=Core transcriptional regulatory circuitry in human embryonic stem cells |journal=Cell |volume=122 |issue=6 |pages=947–56 |date=September 2005 |pmid=16153702 |pmc=3006442 |doi=10.1016/j.cell.2005.08.020 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ira1&amp;quot;&amp;gt;{{cite journal |vauthors=Iranfar N, Fuller D, Loomis WF |title=Transcriptional regulation of post-aggregation genes in Dictyostelium by a feed-forward loop involving GBF and LagC |journal=Dev. Biol. |volume=290 |issue=2 |pages=460–9 |date=February 2006 |pmid=16386729 |doi=10.1016/j.ydbio.2005.11.035 |doi-access=free }}&amp;lt;/ref&amp;gt;在其他类型的生物网络中发现了一组不同的网络模体，如神经元网络和蛋白质相互作用网络。&amp;lt;ref name=&amp;quot;mil2&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;maa1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ma'ayan A, Jenkins SL, Neves S, etal |title=Formation of regulatory patterns during signal propagation in a Mammalian cellular network |journal=Science |volume=309 |issue=5737 |pages=1078–83 |date=August 2005 |pmid=16099987 |pmc=3032439 |doi=10.1126/science.1108876 |bibcode=2005Sci...309.1078M }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;pta1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ptacek J, Devgan G, Michaud G, etal |title=Global analysis of protein phosphorylation in yeast |journal=Nature |volume=438 |issue=7068 |pages=679–84 |date=December 2005 |pmid=16319894 |doi=10.1038/nature04187|bibcode=2005Natur.438..679P |url=https://authors.library.caltech.edu/56271/2/Tables.pdf |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，对于计算研究的重点则是改进现有的模体检测工具，以协助生物学研究，并允许对更大的网络进行分析。到目前为止，已经提供了几种不同的算法，这些算法将在下一节按时间顺序进行阐述。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最近，还发布了用于检测网络基序的acc基序工具。&amp;lt;ref&amp;gt;{{Cite web | url=http://www.ft.unicamp.br/docentes/meira/accmotifs/ |title = Acc-Motif: Accelerated Motif Detection}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模体发现算法==&lt;br /&gt;
&lt;br /&gt;
针对模体发现这一问题存在多种解决方案。这些算法可以归纳为不同的范式：例如精确计数方法，采样方法，模式增长方法等。但模体发现问题包括两个主要步骤：首先，计算子图的出现次数，然后评估子图的重要性。如果检测到的重现性远超过预期，那么这种重现性是很显著的。粗略地讲，子图的预期出现次数可以由'''随机模型 Null-model''' 确定，该模型定义为具有与原始网络某些属性相同的随机网络的集合。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
接下来，对下列算法的计算原理进行简要回顾，并从算法的角度讨论了它们的优缺点。&lt;br /&gt;
&lt;br /&gt;
===mfinder 算法===&lt;br /&gt;
&lt;br /&gt;
mfinder是第一个模体挖掘工具，它主要有两种模体查找算法：完全枚举 full enumeration 和采样方法 sampling method。直到2004年，用于NM检测的唯一精确计数方法是Milo等人提出的暴力穷举方法。&amp;lt;ref name=&amp;quot;mil1&amp;quot; /&amp;gt;该算法成功地发现了小规模的模体，但是这种方法甚至对于发现规模为5个或6个的模体在计算上都不可行的。因此，需要一种解决该问题的新方法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kashtan等人&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;首次提出了一种基于边缘采样的网络模体采样发现算法。该算法估计了所含子图的集中度，可用于有向或无向网络中的模体发现。该算法的采样过程从网络的任意一条边开始，该边连向大小为2的子图，然后选择一条与当前子图相关的随机边对子图进行扩展。之后，它将继续选择随机的相邻边，直到获得大小为n的子图为止。最后，采样得到的子图扩展为包括这n个节点在内的网络中存在的所有边。当使用采样方法时，获取无偏样本是这类算法可能面临的最重要问题。而且，采样过程并不能保证采到所有的样本（也就是不能保证得到所有的子图），因此，Kashtan 等人又提出了一种加权方案，为网络中的不同子图分配不同的权重。&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; 权重分配的基本原理是利用每个子图的抽样概率信息，即，与不可能的子图相比，可能的子图将获得相对较少的权重；因此，该算法必须计算已采样的每个子图的采样概率。这种加权技术有助于mfinder公正地确定子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
与穷举搜索形成鲜明对比的是，该算法的计算时间竟然与网络大小渐近无关。对算法时间复杂度的分析表明，对于网络中大小为n的子图的每个样本，它的时间复杂度为&amp;lt;math&amp;gt;O(n^n)&amp;lt;/math&amp;gt;。另一方面，并没有对已采样子图的每一个子图样本判断图同构问题的分类时间进行分析&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;。另外，子图权重计算将额外增加该算法的计算负担。但是不得不指出的是，该算法可能会多次采样相同的子图——花费时间而不收集任何有用信息。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;总之，通过利用采样的优势，该算法的性能比穷举搜索算法更有效；但是，它只能大致确定子图的集中度。由于该算法的实现方式，使得它可以找到最大为6的模体，并且它会给出的最重要的模体，而不是其他所有模体。另外，有必要提到此工具没有可视化的呈现。采样算法简要显示如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!mfinder&lt;br /&gt;
|-&lt;br /&gt;
|定义：&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;是采集的边集合。&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;中所有边的顶点的集合。&lt;br /&gt;
|-&lt;br /&gt;
|初始化&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;为空集。&amp;lt;br&amp;gt;&lt;br /&gt;
1. 随机选择一条边&amp;lt;math&amp;gt; e_{1} = (v_{i}, v_{j}) &amp;lt;/math&amp;gt;，更新 &amp;lt;math&amp;gt;E_{s} = \{e_{1}\}, V{s} = \{v_{i}, v_{j}\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. 列出&amp;lt;math&amp;gt;E{s}&amp;lt;/math&amp;gt;的所有邻边列表&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;，从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中删除&amp;lt;math&amp;gt;V{s}&amp;lt;/math&amp;gt;中所有元素组成的边。&lt;br /&gt;
&lt;br /&gt;
3. 从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中随机选择一条边&amp;lt;math&amp;gt; e = \{v_{k},v_{l}\} &amp;lt;/math&amp;gt;， 更新&amp;lt;math&amp;gt;E_{s} = E_{s} \cup  \{e\} , V_{s} = V_{s} \cup  \{v_{k}, v_{l}\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
4. 重复步骤2-3，直到完成包含n个节点的子图 (&amp;lt;math&amp;gt;\left | V_{s} \right | = n&amp;lt;/math&amp;gt;)。&lt;br /&gt;
&lt;br /&gt;
5. 计算对选取的n节点子图进行采样的概率。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FPF (Mavisto)算法===&lt;br /&gt;
&lt;br /&gt;
Schreiber和Schwöbbermeyer &amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;提出了一种称为灵活模式查找器（FPF）的算法，用于提取输入网络的频繁子图，并将其在名为Mavisto的系统中加以实现。&amp;lt;ref name=&amp;quot;schr2&amp;quot;&amp;gt;{{cite journal |vauthors=Schreiber F, Schwobbermeyer H |title=MAVisto: a tool for the exploration of network motifs |journal=Bioinformatics |volume=21 |issue=17|pages=3572–3574 |year=2005 |doi=10.1093/bioinformatics/bti556|pmid=16020473 |doi-access=free }}&amp;lt;/ref&amp;gt; 他们的算法利用了向下闭包特性，该特性适用于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;。向下闭包性质表明，子图的频率随着子图的大小而单调下降；但这一性质并不一定适用于频率概念&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。FPF算法基于模式树（见右图），由代表不同图形（或模式）的节点组成，其中每个节点的父节点是其子节点的子图；换句话说，每个模式树节点的对应图通过向其父节点图添加新边来扩展。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:The_pattern_tree_in_FPF_algorithm.jpg|right|thumb|''FPF算法中的模式树展示''.&amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
首先，FPF算法枚举并维护位于模式树根部的子图的所有匹配信息。然后，它通过在目标图中添加匹配边缘支持的一条边缘，在模式树中一一建立前一节点的子节点，然后通过在目标图中添加匹配边支持的一条边，逐个构建模式树中前一个节点的子节点，并尝试将以前关于匹配的所有信息拓展到新的子图(子节点)中。下一步，它判断当前模式的频率是否低于预定义的阈值。如果它低于阈值且保持向下闭包，则FPF算法会放弃该路径，而不会在树的此部分进一步遍历；这样就避免了不必要的计算。重复此过程，直到没有剩余可遍历的路径为止。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法的优点是它不会考虑不频繁的子图，并尝试尽快完成枚举过程；因此，它只花时间在模式树中用于有希望的节点上，而放弃所有其他节点。还有一点额外的好处，模式树概念允许 FPF 以并行方式实现和执行，因为它可以独立地遍历模式树的每个路径。但是，FPF对于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;最为有用，因为向下闭包不适用于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。尽管如此，如果算法并行运行，那么模式树对于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;仍然是可行的。该算法的另一个优点是它的实现对模体大小没有限制，这使其更易于改进。FPF（Mavisto）的伪代码如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Mavisto&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;1&amp;quot;|数据: 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, 目标模式规模 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, 频率概念 &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;。结果: 以最大频率设置大小为 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;的模式 &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;20&amp;quot;| &amp;lt;math&amp;gt;R \leftarrow \Phi , f_{max}\leftarrow 0&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;P \leftarrow&amp;lt;/math&amp;gt; 开始于大小为1的模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M_{p_{1}} \leftarrow &amp;lt;/math&amp;gt; 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; 中模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt; 的所有匹配&lt;br /&gt;
&lt;br /&gt;
当 &amp;lt;math&amp;gt;P \neq \Phi &amp;lt;/math&amp;gt; 时，执行：&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P_{max} \leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; 中选择最大规模的所有模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P\leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P_{max}&amp;lt;/math&amp;gt; 中选择最大频率的模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;E = ExtensionLoop(G, p, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}对于 &amp;lt;math&amp;gt;p \in E &amp;lt;/math&amp;gt; 的所有模式：&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;F = F_{1}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;f \leftarrow size(M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&amp;lt;math&amp;gt;f \leftarrow&amp;lt;/math&amp;gt; 最大独立集 &amp;lt;math&amp;gt;(F, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;size(p) = t&amp;lt;/math&amp;gt; ，那么&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;f = f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow R \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}其他 如果 &amp;lt;math&amp;gt;f &amp;gt; f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow \{p\}&amp;lt;/math&amp;gt;； &amp;lt;math&amp;gt;f_{max} \leftarrow f&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;F = F_{1} or f \geq  f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt; P \leftarrow P \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}结束&lt;br /&gt;
&lt;br /&gt;
结束&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ESU (FANMOD)算法及对应的软件===&lt;br /&gt;
&lt;br /&gt;
由于Kashtan等学者发现的采样偏差问题， &amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;所以针对NM发现问题需要设计更好的算法。虽然Kashtan等人尝试用加权法来解决这个弊端，但这个方法在运行上，消耗了过多的运行时间，且实现起来也变得更加复杂。但这个工具还是最好用的工具之一，因为它支持可视化选项，同时也是个节约时间的算法。但是，它在所支持的模体的规模大小还是有局限性。由于该工具在具体实施中，不允许搜索规模大小为9或者更大的模体。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weinicke&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt; 引入了一种叫RAND-ESU的算法，这个新引入的算法比Mfinder软件有着更显著的提升。.&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; RAND-ESU基于精准的ESU算法，已有对应的软件FANMOD。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;RAND-ESU是一种NM发现算法，可应用于定向的或者不定向的网络中，能够有效的在网络中利用无偏差节点进行采样，以及保证了一个子图仅仅被搜索一次,且不会产生无意义的子图。并且，RAND-ESU采用了一个叫做DIRECT的全新的分析方式，从而来确定子图的重要性，而不是用随机网络的组合来建立Null模型。DIRECT方法可以不用大量生成随机网络就能估计子图的浓度。实际上，相较于用随机网络组合分析比较低集中度的子图来说，DIRECT这个方法更加的高效。但是，传统的Null模型比DIRECT这个算法能更加快速地解决高度集中的子图。接下来，我们将详细讲述ESU算法和展示如何把这种精确的算法调整为RAND-ESU算法去估计子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ESU和RAND-ESU两种算法都比较简捷，所以实现起来都很容易。ESU首先找到大小为{{math|k}}的所有诱导子图的集合，并命名这个集合为{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。因为EUS以递归函数的形式实现，该函数的运行可以演示为深度为{{math|k}}的树状结构，称为ESU-Tree（见图）。每一个在ESU-Tree上的节点都表示递归函数的状态，这个递归函数需要两个连续集合的SUB和EXT。SUB指的是在目标网络的相邻节点上{{math|{{!}}SUB{{!}} ≤ k}}。如果{{math|{{!}}SUB{{!}} {{=}} k}}，那么这个算法可以找到一个完整的诱导子图，所以在此情况下{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt; {{=}} SUB ∪ S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。相反，如果{{math|{{!}}SUB{{!}} &amp;lt; k}}，那么这个算法必须把SUB扩大，才能实现基数为{{math|k}}。EXT这个集合包含了所有的满足以下两个情况的节点。第一，每个在EXT的节点必须至少与在SUB的一个节点相邻。第二，他们的下标必须比在SUB的第一个元素大。第一个条件保证了SUB节点的展开产生相关的图，第二个条件能使ESU-Tree树状图上的分支变得离散。所以，这个方法可以避免过度计算。注意，EXT集合不是一个固定的集合。所以每一步都有可能扩展满足于以上两个条件的新节点。下一步包含了在ESU-Tree分支上的子图的分类，将它们分为非同构的大小为{{math|k}}的图类。因此，ESU决定了子图的『频率以及浓度』。这一阶段的实施仅通过运用McKay的nauty算法，&amp;lt;ref name=&amp;quot;mck1&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Practical graph isomorphism |journal=Congressus Numerantium |year=1981 |volume=30 |pages=45–87|bibcode=2013arXiv1301.1493M |arxiv=1301.1493 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mck2&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Isomorph-free exhaustive generation |journal=Journal of Algorithms |year=1998 |volume=26 |issue=2 |pages=306–324 |doi=10.1006/jagm.1997.0898}}&amp;lt;/ref&amp;gt;这一算法可以通过图的同构测试来把每个子图进行分类。所以，ESU能够在目标图中通过递归算法，找到所有规模大小为{{math|k}}的诱导子图集合，且使用高效的工具来确定他们的频率。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
运用RAND-ESU的过程十分的简单，这也是FANMOD的一个主要的优点。可以通过对ESU-Tree树状图的每个级别应用概率{{math|0 ≤ p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; ≤ 1}}并强制ESU以概率{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}遍历{{math|d-1}}级别中节点的每个子节点，来更改ESU算法使其仅搜索ESU-Tree分支的一部分。 这种新的演算方式叫RAND-ESU。显然，当所有阶段{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 1}}时，RAND-ESU等同于ESU。当{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 0}}时，在这个算法下没有任何意义。注意，这个过程只是确保了可以找到ESU-Tree上的每一分支的机会都是相同的，从而使网络中的子图采样无偏差。访问每个分支的概率为{{math|∏&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}，这对于所有ESU-Tree中的分支都是相同的； 因此，该方法可确保从网络中对子图进行无偏采样。但是，设置{{math|1 ≤ d ≤ k}}的{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}参数是另一个问题，必须由专家人工确定才能获得子图集中度的精确结果。&amp;lt;ref name=&amp;quot;cir1&amp;quot; /&amp;gt; 尽管对此没有明确的规定，但是Wrenucke提出了一些一般性的观察结论，这些结论有可能可以帮助我们确定p_d值。总的来说，在诱导子图支持无偏采样方法的情况下，RAND-ESU是一个能快速解决NM发现问题的算法。 尽管，ESU算法的主要部分和FANMOD工具是以用来寻找诱导子图而著称的，但只需对ESU进行细小的改动，就可以用来寻找诱导子图。ESU（FANMOD）的伪代码如下：&lt;br /&gt;
&lt;br /&gt;
[[File:ESU-Tree.jpg|thumb|图（a）大小为5的目标图，图（b）深度为k的ESU树，与目标图中大小为3的子图的提取相关。叶子对应于目标图（a）的集合S3或所有大小3诱导子图。ESU树中的节点包括两个相邻的集合，第一个集合包含称为SUB的相邻节点，第二个名为EXT的集合保存与至少一个SUB节点相邻且其数字标签大于SUB节点的所有节点标签。该算法利用EXT集扩展SUB集，直到达到所需的子图大小为止，该子图大小位于ESU-Tree（或其叶）的最低级别。]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ESU子图搜索算法(FANMOD软件实现)&lt;br /&gt;
|-&lt;br /&gt;
|'''''枚举子图(G,k)'''''&lt;br /&gt;
&lt;br /&gt;
'''输入:''' 图 {{math|G {{=}} (V, E)}} 和 一个 整数 {{math|1 ≤ k ≤ {{!}}V{{!}}}}.&lt;br /&gt;
&lt;br /&gt;
'''输出:''' 所有size-{{math|k}} 子图 in {{math|G}}.&lt;br /&gt;
&lt;br /&gt;
'''for each'''顶点v{{math|v ∈ V}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension（集合EXT） ← {u ∈ N({v}) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''调用''' {{math|''ExtendSubgraph''({v}, VExtension, v)}}&lt;br /&gt;
&lt;br /&gt;
'''结束for循环'''&lt;br /&gt;
|-&lt;br /&gt;
|'''''ExtendSubgraph(VSubgraph, VExtension, v)'''''&lt;br /&gt;
&lt;br /&gt;
'''若''' {{math|{{!}}VSubgraph{{!}} {{=}} k}} '''则''' 输出 {{math|G[VSubgraph]}} and '''返回主函数'''&lt;br /&gt;
&lt;br /&gt;
'''当''' {{math|VExtension ≠ ∅}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}删除一个任意选择的顶点 {{math|w}} 源于 {{math|VExtension}} 中&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension&amp;amp;prime; ← VExtension ∪ {u ∈ N&amp;lt;sub&amp;gt;excl&amp;lt;/sub&amp;gt;(w, VSubgraph) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''call''' {{math|''ExtendSubgraph''(VSubgraph ∪ {w}, VExtension&amp;amp;prime;, v)}}&lt;br /&gt;
&lt;br /&gt;
'''返回'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===G-Tries===&lt;br /&gt;
2010年， Pedro Ribeiro 和 Fernando Silva 提出了一个叫做“g-trie”的新数据结构，用来存储一组子图。&amp;lt;ref name=&amp;quot;rib1&amp;quot;&amp;gt;{{cite conference|vauthors=Ribeiro P, Silva F |title=G-Tries: an efficient data structure for discovering network motifs |conference=ACM 25th Symposium On Applied Computing - Bioinformatics Track |location=Sierre, Switzerland |year=2010 |pages=1559–1566 |url=http://www.nrcbioinformatics.ca/acmsac2010/}}&amp;lt;/ref&amp;gt;这个在概念上类似前缀树的数据结构，根据子图结构来进行存储，并找出了每个子图在一个更大的图中出现的次数。这个数据结构有一个突出的方面：在应用于模体发现算法时，主网络中的子图需要进行评估。因此，在随机网络中寻找那些在不在主网络中的子图，这个消耗时间的步骤就不再需要执行了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
g-trie是一个存储一组图的多叉树。每一个树节点都存储着一个图节点及其对应的到前一个节点的边的信息。从根节点到叶节点的一条路径对应一个图。一个g-trie节点的子孙节点共享一个子图（即每一次路径的分叉意味着从一个子图结构中扩展出不同的图结构，而这些扩展出来的图结构自然有着相同的子图结构）。如何构造一个g-trie在&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;中有详细描述。构造好一个g-trie以后，需要进行计数步骤。计数流程的主要思想是回溯所有可能的子图，同时进行同构性测试。这种回溯技术本质上和其他以模体为中心的方法，比如 MODA 和 GK 算法中使用的技术是一样的。这种技术利用了共同的子结构，亦即在一定时间内，几个不同的候选子图中存在部分是同构的。&lt;br /&gt;
&lt;br /&gt;
在上述算法中，G-Tries是最快的。然而，它的一个缺点是内存的超量使用，这局限了它在个人电脑运行时所能发现的模体的大小&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===对比===&lt;br /&gt;
&lt;br /&gt;
下面的表格和数据显示了在各种标准网络中运行上述算法所获得的结果。这些结果皆获取于各自相应的来源 &amp;lt;ref name=&amp;quot;omi1&amp;quot;&amp;gt;{{cite journal|vauthors=Omidi S, Schreiber F, Masoudi-Nejad A |title=MODA: an efficient algorithm for network motif discovery in biological networks |journal=Genes Genet Syst |year=2009 |volume=84 |issue=5 |pages=385–395 |doi=10.1266/ggs.84.385|pmid=20154426 |doi-access=free }}&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;kash1&amp;quot;&amp;gt;{{cite journal|vauthors=Kashani ZR, Ahrabian H, Elahi E, Nowzari-Dalini A, Ansari ES, Asadi S, Mohammadi S, Schreiber F, Masoudi-Nejad A |title=Kavosh: a new algorithm for finding network motifs |journal=BMC Bioinformatics |year=2009 |volume=10 |issue=318|pages=318 |doi=10.1186/1471-2105-10-318 |pmid=19799800 |pmc=2765973}} {{open access}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt; ，因此需要独立地对待它们。&lt;br /&gt;
&lt;br /&gt;
[[Image:Runtimes of algorithms.jpg|thumb|Grochow–Kellis，mfinder，FANMOD，FPF和MODA的运行时间适用于从三个节点到多达九个节点的子图。&amp;lt;ref name=&amp;quot;omi1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 60%; margin-left:3%&amp;quot;&lt;br /&gt;
|+ Grochow–Kellis, FANMOD, 和 G-Trie 在5个不同网络上生成含3到9个节点子图所用的运行时间 &amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|网络&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|子图大小&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|原始网络数据&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|随机网络平均数据&lt;br /&gt;
|-&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Dolphins&lt;br /&gt;
|5 || 0.07 || 0.03 || 0.01 || 0.13 || 0.04 || 0.01&lt;br /&gt;
|-&lt;br /&gt;
|6||0.48||0.28||0.04||1.14||0.35||0.07&lt;br /&gt;
|-&lt;br /&gt;
|7||3.02||3.44||0.23||8.34||3.55||0.46&lt;br /&gt;
|-&lt;br /&gt;
|8||19.44||73.16||1.69||67.94||37.31||4.03&lt;br /&gt;
|-&lt;br /&gt;
|9||100.86||2984.22||6.98||493.98||366.79||24.84&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Circuit&lt;br /&gt;
|6||0.49||0.41||0.03||0.55||0.24||0.03&lt;br /&gt;
|-&lt;br /&gt;
|7||3.28||3.73||0.22||3.53||1.34||0.17&lt;br /&gt;
|-&lt;br /&gt;
|8||17.78||48.00||1.52||21.42||7.91||1.06&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Social&lt;br /&gt;
|3||0.31||0.11||0.02||0.35||0.11||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||7.78||1.37||0.56||13.27||1.86||0.57&lt;br /&gt;
|-&lt;br /&gt;
|5||208.30||31.85||14.88||531.65||62.66||22.11&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Yeast&lt;br /&gt;
|3||0.47||0.33||0.02||0.57||0.35||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||10.07||2.04||0.36||12.90||2.25||0.41&lt;br /&gt;
|-&lt;br /&gt;
|5||268.51||34.10||12.73||400.13||47.16||14.98&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Power&lt;br /&gt;
|3||0.51||1.46||0.00||0.91||1.37||0.01&lt;br /&gt;
|-&lt;br /&gt;
|4||1.38||4.34||0.02||3.01||4.40||0.03&lt;br /&gt;
|-&lt;br /&gt;
|5||4.68||16.95||0.10||12.38||17.54||0.14&lt;br /&gt;
|-&lt;br /&gt;
|6||20.36||95.58||0.55||67.65||92.74||0.88&lt;br /&gt;
|-&lt;br /&gt;
|7||101.04||765.91||3.36||408.15||630.65||5.17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ mfinder, FANMOD, Mavisto 和 Kavosh 在3个不同网络上生成含3到10个节点子图所用的运行时间&amp;lt;ref name=&amp;quot;kash1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&amp;amp;nbsp;&lt;br /&gt;
!子图大小→&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|3&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|4&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|5&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|6&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|7&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|8&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|9&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|10&lt;br /&gt;
|-&lt;br /&gt;
!网络↓&lt;br /&gt;
!算法↓&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|E. coli&lt;br /&gt;
|Kavosh||0.30||1.84||14.91||141.98||1374.0||13173.7||121110.3||1120560.1&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.81||2.53||15.71||132.24||1205.9||9256.6||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||13532||-||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||31.0||297||23671||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Electronic&lt;br /&gt;
|Kavosh||0.08||0.36||8.02||11.39||77.22||422.6||2823.7||18037.5&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.53||1.06||4.34||24.24||160||967.99||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||210.0||1727||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||7||14||109.8||2020.2||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Social&lt;br /&gt;
|Kavosh||0.04||0.23||1.63||10.48||69.43||415.66||2594.19||14611.23&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.46||0.84||3.07||17.63||117.43||845.93||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||393||1492||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||12||49||798||181077||-||-||-||-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===算法的分类===&lt;br /&gt;
正如表格所示，模体发现算法可以分为两大类：基于精确计数的算法，以及使用统计采样以及估计的算法。因为后者并不计数所有子图在主网络中出现的次数，所以第二类算法会更快，却也可能产生带有偏向性的，甚至不现实的结果。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
更深一层地，基于精确计数的算法可以分为'''以网络为中心'''的方法以及以'''子图为中心'''的方法。前者在给定网络中搜索给定大小的子图，而后者首先根据给定大小生成各种可能的非同构图，然后在网络中分别搜索这些生成的图。这两种方法都有各自的优缺点，这些在上文有讨论。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，基于估计的方法可能会利用如前面描述过的颜色编码手段，其它的手段则通常会在枚举过程中忽略一些子图(比如，像在 FANMOD 中做的那样)，然后只在枚举出来的子图上做估计。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，表格还指出了一个算法能否应用于有向网络或无向网络，以及导出子图或非导出子图。更多信息请参考下方提供的网页和实验室地址及联系方式。&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 模体发现算法的分类&lt;br /&gt;
|-&lt;br /&gt;
!计数方式&lt;br /&gt;
!基础&lt;br /&gt;
!算法名称&lt;br /&gt;
!有向 / 无向&lt;br /&gt;
!导出/ 非导出&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |精确基数&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; |以网络为中心&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|无向&lt;br /&gt;
|导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|以子图为中心&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||无向||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]||皆可||Both&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||皆可||皆可&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|采样估计&lt;br /&gt;
|颜色编码&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||无向||非导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|其他手段&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 算法提出者的地址和联系方式&lt;br /&gt;
|-&lt;br /&gt;
!算法&lt;br /&gt;
!实验室/研究组&lt;br /&gt;
!学院&lt;br /&gt;
!大学/研究所&lt;br /&gt;
!地址&lt;br /&gt;
!电子邮件&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||Uri Alon's Group||Department of Molecular Cell Biology||Weizmann Institute of Science||Rehovot, Israel, Wolfson, Rm. 607||urialon at weizmann.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||----||----||Leibniz-Institut für Pflanzengenetik und Kulturpflanzenforschung (IPK)||Corrensstraße 3, D-06466 Stadt Seeland, OT Gatersleben, Deutschland||schreibe at ipk-gatersleben.de&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||Lehrstuhl Theoretische Informatik I||Institut für Informatik||Friedrich-Schiller-Universität Jena||Ernst-Abbe-Platz 2,D-07743 Jena, Deutschland||sebastian.wernicke at gmail.com&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||----||School of Computing||National University of Singapore||Singapore 119077||chenjin at comp.nus.edu.sg&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.cs.colorado.edu/~jgrochow/ Grochow–Kellis]||CS Theory Group &amp;amp; Complex Systems Group||Computer Science||University of Colorado, Boulder||1111 Engineering Dr. ECOT 717, 430 UCB Boulder, CO 80309-0430 USA||jgrochow at colorado.edu&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||Department of Pure Mathematics||School of Mathematical Sciences||Tel Aviv University||Tel Aviv 69978, Israel||nogaa at post.tau.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||Center for Research in Advanced Computing Systems||Computer Science||University of Porto||Rua Campo Alegre 1021/1055, Porto, Portugal||pribeiro at dcc.fc.up.pt&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|Network Learning and Discovery Lab&lt;br /&gt;
|Department of Computer Science&lt;br /&gt;
|Purdue University&lt;br /&gt;
|Purdue University, 305 N University St, West Lafayette, IN 47907&lt;br /&gt;
|nkahmed@purdue.edu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==已知的模体及其功能==&lt;br /&gt;
许多实验工作致力于理解[[基因调控网络]]中的网络模体。在响应生物信号的过程中，这些网络控制细胞中需要表达的基因。这样的网络以基因作为节点，有向边代表对某个基因的调控，基因调控通过其他基因编码的转录因子结合在DNA上的调控蛋白来实现。因此，网络模体是基因之间相互调控转录速率的模式。在分析转录调控网络的时候，人们发现某些相同的网络模体在不同的物种中不断地出现，从细菌到人类。例如，大肠杆菌和酵母的转录网络由三种主要的网络模体家族组成，它们可以构建几乎整个网络。主要的假设是在进化的过程中，网络模体是被以收敛的方式独立选择出来的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;&amp;gt;{{cite journal |vauthors=Babu MM, Luscombe NM, Aravind L, Gerstein M, Teichmann SA |title=Structure and evolution of transcriptional regulatory networks |journal=Current Opinion in Structural Biology |volume=14 |issue=3 |pages=283–91 |date=June 2004 |pmid=15193307 |doi=10.1016/j.sbi.2004.05.004 |citeseerx=10.1.1.471.9692 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;&amp;gt;{{cite journal |vauthors=Conant GC, Wagner A |title=Convergent evolution of gene circuits |journal=Nat. Genet. |volume=34 |issue=3 |pages=264–6 |date=July 2003 |pmid=12819781 |doi=10.1038/ng1181}}&amp;lt;/ref&amp;gt; 因为相对于基因改变的速率，转录相互作用产生和消失的时间尺度在进化上是很快的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;dek1&amp;quot;&amp;gt;{{cite journal |vauthors=Dekel E, Alon U |title=Optimality and evolutionary tuning of the expression level of a protein |journal=Nature |volume=436 |issue=7050 |pages=588–92 |date=July 2005 |pmid=16049495 |doi=10.1038/nature03842 |bibcode=2005Natur.436..588D }}&amp;lt;/ref&amp;gt; 此外，对活细胞中网络模体所产生的动力学行为的实验表明，它们具有典型的动力学功能。这表明，网络模体是基因调控网络中对生物体有益的基本单元。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一些研究从理论和实验两方面探讨和论证了转录网络中与共同网络模体相关的功能。下面是一些最常见的网络模体及其相关功能。&lt;br /&gt;
&lt;br /&gt;
===负自反馈调控(NAR)===&lt;br /&gt;
[[Image:Autoregulation motif.png|200px|thumb|自动调节基序的示意图]]&lt;br /&gt;
负自反馈调控是大肠杆菌中最简单和最冗余的网络模体之一，其中一个转录因子抑制它自身的转录。这种网络模体有两个重要的功能，其中第一个是加速响应。人们发现在实验和理论上， &amp;lt;ref name=&amp;quot;zab1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jtbi.2011.06.021 |author=Zabet NR |title=Negative feedback and physical limits of genes |journal=Journal of Theoretical Biology |volume= 284|issue=1 |pages=82–91 |date=September 2011 |pmid=21723295 |arxiv=1408.1869 |citeseerx=10.1.1.759.5418 }}&amp;lt;/ref&amp;gt;NAR都可以加快对信号的响应。这个功能首先在一个人工合成的转录网络中被发现，&amp;lt;ref name=&amp;quot;ros1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/S0022-2836(02)00994-4 |vauthors=Rosenfeld N, Elowitz MB, Alon U |title=Negative autoregulation speeds the response times of transcription networks |journal=J. Mol. Biol. |volume=323 |issue=5 |pages=785–93 |date=November 2002 |pmid=12417193 |citeseerx=10.1.1.126.2604 }}&amp;lt;/ref&amp;gt; 然后在大肠杆菌SOS DAN修复系统这个自然体系中也被发现。&amp;lt;ref name=&amp;quot;cam1&amp;quot;&amp;gt;{{cite journal |vauthors=Camas FM, Blázquez J, Poyatos JF |title=Autogenous and nonautogenous control of response in a genetic network |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=103 |issue=34 |pages=12718–23 |date=August 2006 |pmid=16908855 |pmc=1568915 |doi=10.1073/pnas.0602119103 |bibcode=2006PNAS..10312718C }}&amp;lt;/ref&amp;gt; 负自反馈网络的第二个功能是增强自调控基因的产物浓度的稳定性，从而抵抗随机的噪声，减少该蛋白含量在不同细胞中的差异。&amp;lt;ref name=&amp;quot;bec1&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Serrano L |title=Engineering stability in gene networks by autoregulation |journal=Nature |volume=405 |issue=6786 |pages=590–3 |date=June 2000 |pmid=10850721 |doi=10.1038/35014651}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;dub1&amp;quot;&amp;gt;{{cite journal |vauthors=Dublanche Y, Michalodimitrakis K, Kümmerer N, Foglierini M, Serrano L |title=Noise in transcription negative feedback loops: simulation and experimental analysis |journal=Mol. Syst. Biol. |volume=2 |pages=41 |year=2006 |pmid=16883354 |pmc=1681513 |doi=10.1038/msb4100081 |issue=1}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;shi1&amp;quot;&amp;gt;{{cite journal |vauthors=Shimoga V, White J, Li Y, Sontag E, Bleris L |title= Synthetic mammalian transgene negative autoregulation |journal=Mol. Syst. Biol. |volume=9 |pages=670 |year=2013|doi=10.1038/msb.2013.27|pmid= 23736683 |pmc= 3964311 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===正自反馈调控(PAR)===&lt;br /&gt;
正自反馈调控是指转录因子增强它自身转录速率的调控。和负自反馈调节相反，NAR模体相比于简单的调控能够延长反应时间。&amp;lt;ref name=&amp;quot;mae1&amp;quot;&amp;gt;{{cite journal |vauthors=Maeda YT, Sano M |title=Regulatory dynamics of synthetic gene networks with positive feedback |journal=J. Mol. Biol. |volume=359 |issue=4 |pages=1107–24 |date=June 2006 |pmid=16701695 |doi=10.1016/j.jmb.2006.03.064 }}&amp;lt;/ref&amp;gt; 在强PAR的情况下，模体可能导致蛋白质水平在细胞群中呈现双峰分布。&amp;lt;ref name=&amp;quot;bec2&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Séraphin B, Serrano L |title=Positive feedback in eukaryotic gene networks: cell differentiation by graded to binary response conversion |journal=EMBO J. |volume=20 |issue=10 |pages=2528–35 |date=May 2001 |pmid=11350942 |pmc=125456 |doi=10.1093/emboj/20.10.2528}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===前馈回路 (FFL)===&lt;br /&gt;
[[Image:Feed-forward_motif.gif|200px|thumb|前馈主题的示意图]]&lt;br /&gt;
前馈回路普遍存在于许多基因系统和生物体中。这种模体包括三个基因以及三个相互作用。目标基因C被两个转录因子（TFs）A和B调控，并且TF B同时被TF A调控。由于每个调控相互作用可以是正的或者负的，所以总共可能有八种类型的FFL模体。&amp;lt;ref name=&amp;quot;man1&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Alon U |title=Structure and function of the feed-forward loop network motif |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=100 |issue=21 |pages=11980–5 |date=October 2003 |pmid=14530388 |pmc=218699 |doi=10.1073/pnas.2133841100 |bibcode=2003PNAS..10011980M }}&amp;lt;/ref&amp;gt; 其中的两种：一致前馈回路的类型一（C1-FFL）（所有相互作用都是正的）和非一致前馈回路的类型一（I1-FFL）（A激活C和B，B抑制C）在大肠杆菌和酵母中相比于其他六种更频繁的出现。&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;ma1&amp;quot;&amp;gt;{{cite journal |vauthors=Ma HW, Kumar B, Ditges U, Gunzer F, Buer J, Zeng AP |title=An extended transcriptional regulatory network of ''Escherichia coli'' and analysis of its hierarchical structure and network motifs |journal=Nucleic Acids Res. |volume=32 |issue=22 |pages=6643–9 |year=2004 |pmid=15604458 |pmc=545451 |doi=10.1093/nar/gkh1009 |url=http://nar.oxfordjournals.org/cgi/pmidlookup?view=long&amp;amp;pmid=15604458}}&amp;lt;/ref&amp;gt; 除了网络的结构外，还应该考虑来自A和B的信号被C的启动子集成的方式。在大多数情况下，FFL要么是一个与门(激活C需要A和B)，要么是或门(激活C需要A或B)，但也可以是其他输入函数。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===一致前馈回路类型一(C1-FFL)===&lt;br /&gt;
具有与门的C1-FFL有“符号-敏感延迟”单元和持久性探测器的功能，这一点在[[大肠杆菌]]阿拉伯糖系系统的理论&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;和实验上&amp;lt;ref name=&amp;quot;man2&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jmb.2003.09.049 |vauthors=Mangan S, Zaslaver A, Alon U |title=The coherent feedforward loop serves as a sign-sensitive delay element in transcription networks |journal=J. Mol. Biol. |volume=334 |issue=2 |pages=197–204 |date=November 2003 |pmid=14607112 |citeseerx=10.1.1.110.4629 }}&amp;lt;/ref&amp;gt; 都有发现。这意味着该模体可以提供脉冲过滤，短脉冲信号不会产生响应，而持久信号在短延迟后会产生响应。当持久脉冲结束时，输出的关闭将很快。与此相反的行为出现在具有快速响应和延迟关闭特性的加和门的情况下，这在[[大肠杆菌]]的鞭毛系统中得到了证明。&amp;lt;ref name=&amp;quot;kal1&amp;quot;&amp;gt;{{cite journal |vauthors=Kalir S, Mangan S, Alon U |title=A coherent feed-forward loop with a SUM input function prolongs flagella expression in ''Escherichia coli'' |journal=Mol. Syst. Biol. |volume=1 |pages=E1–E6 |year=2005 |pmid=16729041 |pmc=1681456 |doi=10.1038/msb4100010 |issue=1}}&amp;lt;/ref&amp;gt;在[[基因调控网络]]的重头进化中，对于滤除理想化的短信号脉冲作为进化压，C1-FFLs已经在计算上被证明可以进化出来。但是对于非理想化的噪声，不同拓扑结构前馈调节的动态系统将被优先考虑。 &amp;lt;ref&amp;gt;{{cite journal |last1=Xiong |first1=Kun |last2=Lancaster |first2=Alex K. |last3=Siegal |first3=Mark L. |last4=Masel |first4=Joanna |title=Feed-forward regulation adaptively evolves via dynamics rather than topology when there is intrinsic noise |journal=Nature Communications |date=3 June 2019 |volume=10 |issue=1 |pages=2418 |doi=10.1038/s41467-019-10388-6|pmid=31160574 |pmc=6546794 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===非一致前馈回路类型一(I1-FFL)===&lt;br /&gt;
I1-FFL是一个脉冲生成器和响应加速器。I1-FFL的两种信号通路作用方向相反，一种通路激活Z，而另一种抑制Z。完全的抑制会导致类似脉冲的动力学行为。另外有实验证明，它可以类似于NAR模体起到响应加速器的作用。与NAR模体的不同之处在于，它可以加速任何基因的响应，而不必是转录因子。&amp;lt;ref name=&amp;quot;man3&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Itzkovitz S, Zaslaver A, Alon U |title=The incoherent feed-forward loop accelerates the response-time of the gal system of ''Escherichia coli'' |journal=J. Mol. Biol. |volume=356 |issue=5 |pages=1073–81 |date=March 2006 |pmid=16406067 |doi=10.1016/j.jmb.2005.12.003 |citeseerx=10.1.1.184.8360 }}&amp;lt;/ref&amp;gt;I1-FFL网络还有另外一个功能：在理论和实验上都有证明I1-FFL可以生成非单调的输入函数，无论在人工合成的&amp;lt;ref name=&amp;quot;ent1&amp;quot;&amp;gt;{{cite journal |vauthors=Entus R, Aufderheide B, Sauro HM |title=Design and implementation of three incoherent feed-forward motif based biological concentration sensors |journal=Syst Synth Biol |volume=1 |issue=3 |pages=119–28 |date=August 2007 |pmid=19003446 |pmc=2398716 |doi=10.1007/s11693-007-9008-6 }}&amp;lt;/ref&amp;gt;还是自然的系统中。 &amp;lt;ref name=&amp;quot;kap1&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Dekel E, Alon U |title=The incoherent feed-forward loop can generate non-monotonic input functions for genes |journal=Mol. Syst. Biol. |volume=4 |pages=203 |year=2008 |pmid=18628744 |pmc=2516365 |doi=10.1038/msb.2008.43 |issue=1}}&amp;lt;/ref&amp;gt; 最后，包含非一致前馈调控的基因生成物的表达单元对DNA模板的数量具有适应性，可以优于简单的组合本构启动子。&amp;lt;ref name=&amp;quot;ble1&amp;quot;&amp;gt;{{cite journal |vauthors=Bleris L, Xie Z, Glass D, Adadey A, Sontag E, Benenson Y |title=Synthetic incoherent feedforward circuits show adaptation to the amount of their genetic template |journal=Mol. Syst. Biol. |volume=7 |pages=519|year=2011 |doi=10.1038/msb.2011.49 |issue=1 |pmid=21811230 |pmc=3202791}}&amp;lt;/ref&amp;gt; 前馈调控比负反馈具有更好的适应性，并且基于RNA干扰的网络对DNA模板数具有最高的鲁棒性。&amp;lt;ref name=&amp;quot;ble1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===多输出前馈回路===&lt;br /&gt;
在某些情况，相同的调控子X和Y可以调控同一系统中的多个Z基因。通过调节相互作用的强度，这些网络可以决定基因激活的时间顺序。这一点在大肠杆菌的鞭毛系统中有实验证据。&amp;lt;ref name=&amp;quot;kal2&amp;quot;&amp;gt;{{cite journal  |vauthors=Kalir S, McClure J, Pabbaraju K, etal |title=Ordering genes in a flagella pathway by analysis of expression kinetics from living bacteria |journal=Science |volume=292 |issue=5524 |pages=2080–3 |date=June 2001 |pmid=11408658 |doi=10.1126/science.1058758 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===单一输入模块(SIM)===&lt;br /&gt;
当单个调控子调控一组基因，并且没有其他的调控因素时，这样的模体叫做单一输入模块（SIM）。当很多基因合作执行某个功能时这是有用的，因为这些基因需要同步地被激活。通过调节相互作用的强度，可以编排它所调控的基因表达的时间顺序。&amp;lt;ref name=&amp;quot;zas1&amp;quot;&amp;gt;{{cite journal  |vauthors=Zaslaver A, Mayo AE, Rosenberg R, etal |title=Just-in-time transcription program in metabolic pathways |journal=Nat. Genet. |volume=36 |issue=5 |pages=486–91 |date=May 2004 |pmid=15107854 |doi=10.1038/ng1348|doi-access=free }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在文献中，多输入模块（MIM）来自于SIM的扩展。但是二者的精确定义并不太一致。有一些尝试给出生物网络中规范模体的正交定义，也有一些算法去枚举它们，特别是SIM，MIM和2x2 MIM等。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=Single and Multiple Input Modules in regulatory networks |journal=Proteins |volume=73 |issue=2 |pages=320–324 |year=2008 |doi=10.1002/prot.22053|pmid=18433061 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===密集交盖调节网(DOR)===&lt;br /&gt;
这种类型的网络存在于多个调节子结合起来控制一组基因的情形，并且有多种调控的组合。这种模体出现在大肠杆菌的多种系统中，例如碳利用、厌氧生长、应激反应等。&amp;lt;ref name=&amp;quot;she1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;/&amp;gt; 为了更好地理解这种网络，我们必须得到关于基因集成多种输入的方式的信息。Kaplan ''et al.''&amp;lt;ref name=&amp;quot;kap2&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Zaslaver A, Dekel E, Alon U |title=Diverse two-dimensional input functions control bacterial sugar genes |journal=Mol. Cell |volume=29 |issue=6 |pages=786–92 |date=March 2008 |pmid=18374652 |pmc=2366073 |doi=10.1016/j.molcel.2008.01.021 }}&amp;lt;/ref&amp;gt;绘制了大肠杆菌糖利用基因的输入函数，表现出各种各样的形状。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==活动模体==&lt;br /&gt;
&lt;br /&gt;
有一个对网络模体的有趣概括：'''活动模体'''是在对节点和边都被量化标注的网络中可发现的【反复】斑图。例如，当新陈代谢的边以相应基因的表达量或【时间】来标注时，一些斑图在'''给定的'''底层网络结构里【是反复的】。&amp;lt;ref name=&amp;quot;agc&amp;quot;&amp;gt;{{cite journal |vauthors=Chechik G, Oh E, Rando O, Weissman J, Regev A, Koller D |title=Activity motifs reveal principles of timing in transcriptional control of the yeast metabolic network |journal=Nat. Biotechnol. |volume=26 |issue=11 |pages=1251–9 |date=November 2008 |pmid=18953355 |pmc=2651818 |doi=10.1038/nbt.1499}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==批判==&lt;br /&gt;
&lt;br /&gt;
对拓扑子结构有一个（某种程度上隐含的）前提性假设是其具有特定的功能重要性。但该假设最近遭到质疑，有人提出在不同的网络环境下模体可能表现出多样性，例如双扇模体，故&amp;lt;ref name=&amp;quot;ad&amp;quot;&amp;gt;{{cite journal |vauthors=Ingram PJ, Stumpf MP, Stark J |title=Network motifs: structure does not determine function |journal=BMC Genomics |volume=7 |pages=108 |year=2006 |pmid=16677373 |pmc=1488845 |doi=10.1186/1471-2164-7-108 }} &amp;lt;/ref&amp;gt;模体的结构不必然决定功能，网络结构也不当然能揭示其功能；这种见解由来已久，可参见操纵子&amp;lt;/font&amp;gt;。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Voigt CA, Wolf DM, Arkin AP |title=The ''Bacillus subtilis'' sin operon: an evolvable network motif |journal=Genetics |volume=169 |issue=3 |pages=1187–202 |date=March 2005 |pmid=15466432 |pmc=1449569 |doi=10.1534/genetics.104.031955 |url=http://www.genetics.org/cgi/pmidlookup?view=long&amp;amp;pmid=15466432}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
大多数模体功能分析是基于模体孤立运行的情形。最近的研究&amp;lt;ref&amp;gt;{{cite journal |vauthors=Knabe JF, Nehaniv CL, Schilstra MJ |title=Do motifs reflect evolved function?—No convergent evolution of genetic regulatory network subgraph topologies |journal=BioSystems |volume=94 |issue=1–2 |pages=68–74 |year=2008 |pmid=18611431 |doi=10.1016/j.biosystems.2008.05.012 }}&amp;lt;/ref&amp;gt;表明网络环境至关重要，不能忽视网络环境而仅从本地结构来对其功能进行推论——引用的论文还回顾了对观测数据的批判及其他可能的解释。人们研究了单个模体模组对网络全局的动力学影响及其分析&amp;lt;ref&amp;gt;{{cite journal |vauthors=Taylor D, Restrepo JG |title=Network connectivity during mergers and growth: Optimizing the addition of a module |journal=Physical Review E |volume=83 |issue=6 |year=2011 |page=66112 |doi=10.1103/PhysRevE.83.066112 |pmid=21797446 |bibcode=2011PhRvE..83f6112T |arxiv=1102.4876 }}&amp;lt;/ref&amp;gt;。而另一项近期的研究工作提出生物网络的某些拓扑特征能自然地引起经典模体的常见形态，让人不禁疑问：这样的发生频率是否能证明模体的结构是出于其对所在网络运行的功能性贡献而被选择保留下的结果？&amp;lt;ref&amp;gt;{{cite journal|last1=Konagurthu|first1=Arun S.|last2=Lesk|first2=Arthur M.|title=Single and multiple input modules in regulatory networks|journal=Proteins: Structure, Function, and Bioinformatics|date=23 April 2008|volume=73|issue=2|pages=320–324|doi=10.1002/prot.22053|pmid=18433061}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=On the origin of distribution patterns of motifs in biological networks |journal=BMC Syst Biol |volume=2 |pages=73 |year=2008 |pmid=18700017 |pmc=2538512 |doi=10.1186/1752-0509-2-73 }} &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模体的研究主要应用于静态复杂网络，而时变复杂网络的研究&amp;lt;ref&amp;gt;Braha, D., &amp;amp; Bar‐Yam, Y. (2006). [https://static1.squarespace.com/static/5b68a4e4a2772c2a206180a1/t/5c5de3faf4e1fc43e7b3d21e/1549657083988/Complexity_Braha_Original_w_Cover.pdf From centrality to temporary fame: Dynamic centrality in complex networks]. Complexity, 12(2), 59-63. &amp;lt;/ref&amp;gt;就网络模体提出了重大的新解释，并介绍了'''时变网络模体'''的概念。Braha和Bar-Yam&amp;lt;ref&amp;gt; Braha D., Bar-Yam Y. (2009) [https://s3.amazonaws.com/academia.edu.documents/4892116/Adaptive_Networks__Theory__Models_and_Applications__Understanding_Complex_Systems_.pdf?response-content-disposition=inline%3B%20filename%3DRedes_teoria.pdf&amp;amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20191111%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20191111T173250Z&amp;amp;X-Amz-Expires=3600&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=89d08c9e92b88ed817e4eb0f87c480757ef79c4b865919a5e0890cbefa164c61#page=55 Time-Dependent Complex Networks: Dynamic Centrality, Dynamic Motifs, and Cycles of Social Interactions]. In: Gross T., Sayama H. (eds) Adaptive Networks. Understanding Complex Systems. Springer, Berlin, Heidelberg &amp;lt;/ref&amp;gt;研究了本地模体结构在时间依赖网络/时变网络的动力学，发现的一些反复模式有望成为社会互动周期的经验论据。他们证明了对于时变网络，其本地结构是时间依赖的且可能随时间演变，可作为对复杂网络中稳定模体观及模体表达观的反论，Braha和Bar-Yam还进一步提出，对时变本地结构的分析有可能揭示系统级任务和功能方面的动力学的重要信息。&lt;br /&gt;
&lt;br /&gt;
==另参==&lt;br /&gt;
* [[图论]]&lt;br /&gt;
* [[图形模型]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist|2}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
&lt;br /&gt;
* [http://www.weizmann.ac.il/mcb/UriAlon/groupNetworkMotifSW.html A software tool that can detect network motifs]&lt;br /&gt;
* [http://www.bio-physics.at/wiki/index.php?title=Network_Motifs bio-physics-wiki NETWORK MOTIFS]&lt;br /&gt;
* [http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ FANMOD: a tool for fast network motif detection]&lt;br /&gt;
* [http://mavisto.ipk-gatersleben.de/ MAVisto: network motif analysis and visualisation tool]&lt;br /&gt;
* [https://www.msu.edu/~jinchen/ NeMoFinder]&lt;br /&gt;
* [http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh]&lt;br /&gt;
* [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh]&lt;br /&gt;
* [http://www.dcc.fc.up.pt/gtries/ G-Tries]&lt;br /&gt;
* [http://www.ft.unicamp.br/docentes/meira/accmotifs/ acc-MOTIF detection tool]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:Tuijian_motif.jpeg|thumb|400px|[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]]]&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]====&lt;br /&gt;
模体（motif）是一个对初涉复杂科学的人来说，相对陌生的概念，但它却是复杂网络研究中最有力的工具之一。2002年的 Science 论文“Network Motifs: simple Building blocks of Complex Networks”介绍了模体的概念，至今引用次数已有 6000 多次。本文将概述这篇论文，并阐述模体在复杂网络中的广泛应用与研究前沿，说明模体已成为复杂网络研究中不可或缺的基础组件。即使对于非相关领域的研究者，理解模体的概念也可以让你体会生活中的复杂性与涌现现象。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:Xebec|Xebec]]、[[用户:木子二月鸟|木子二月鸟]]、[[用户:Qige96|Qige96]]、[[用户:Jxzhou |Jxzhou]]、[[用户:厚朴|厚朴]]参与编译、由[[用户:Imp |Imp]]、[[用户:Liushikang1992|Liushikang1992]]审校、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容翻译自 wikipedia.org，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:基因表达]]&lt;br /&gt;
[[Category:网络]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8065</id>
		<title>网络模体</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%91%E7%BB%9C%E6%A8%A1%E4%BD%93&amp;diff=8065"/>
		<updated>2020-05-13T05:06:33Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 编者推荐 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络模体,模体发现算法,基因调控网络&lt;br /&gt;
|description=FPF,ESU,G-Trie&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
所有网络，包括生物网络 biological networks、社交网络 social networks、技术网络（例如计算机网络和电路）等，都可以用图的形式来表示，这些图中会包括各种各样的子图 subgraphs。网络的一个重要的局部性质是所谓的网络模体，即重复且具有统计意义的子图或模式 patterns。&lt;br /&gt;
&lt;br /&gt;
'''网络模体 Network motifs(NM)'''是指在特定网络或各种网络中重复出现的相同的子图。这些子图由顶点之间特定的交互模式定义，一个子图便可以反映一个框架，这个框架可以有效地实现某个特定的功能。事实上，之所以说模体是一个重要的特性，正是因为它们可能反映出对应网络功能的这一性质。近年来这一概念作为揭示复杂网络结构设计原理的一个有用概念而受到了广泛的关注。&amp;lt;ref name=&amp;quot;mas1&amp;quot;&amp;gt;{{cite journal |vauthors=Masoudi-Nejad A, Schreiber F, Razaghi MK Z |title=Building Blocks of Biological Networks: A Review on Major Network Motif Discovery Algorithms |journal=IET Systems Biology |volume=6 |issue=5 |pages=164–74 |year=2012|doi=10.1049/iet-syb.2011.0011 |pmid=23101871 }}&amp;lt;/ref&amp;gt; 但是，虽然通过研究网络模体可以深入了解网络的功能，但是对于模体的检测在计算上是具有挑战性的。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
设{{math|G {{=}} (V, E)}} 和 {{math|G&amp;amp;prime; {{=}} (V&amp;amp;prime;, E&amp;amp;prime;)}} 是两个图。若{{math|V&amp;amp;prime; ⊆ V}}且满足{{math|E&amp;amp;prime; ⊆ E ∩ (V&amp;amp;prime; &amp;amp;times; V&amp;amp;prime;)}}）（即图{{math|G&amp;amp;prime; ⊆ G}}的所有边和点都属于图{{math|G}}）则称图{{math|G&amp;amp;prime; ⊆ G}}是图{{math|G}}的一个子图。若{{math|G&amp;amp;prime; ⊆ G}}，且对于顶点{{math|u}}、{{math|v}}及其连边，只要{{math|u}}和{{math|v}}存在于{{math|G&amp;amp;prime;}}（即若{{math|U}}, {{math|V&amp;amp;prime; ⊆ V}}），那么{{math|G&amp;amp;prime; ⊆ G}}中就应该包含原图{{math|G}}中的所有{{math|u}}和{{math|V}}的对应连边（即{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E}}），则称此时图{{math|G&amp;amp;prime;}}就是图{{math|G}}的导出子图。如果存在一个双射（一对一）{{math|f:V&amp;amp;prime; → V}}，且对所有{{math|u, v ∈ V&amp;amp;prime;}}都有{{math|&amp;amp;lang;u, v&amp;amp;rang; ∈ E&amp;amp;prime; ⇔ &amp;amp;lang;f(u), f(v)&amp;amp;rang; ∈ E}} ，则称{{math|G&amp;amp;prime;}}是{{math|G}}的同构图（记作：{{math|G&amp;amp;prime; → G}}），映射f则称为{{math|G}}与{{math|G&amp;amp;prime;}}之间的同构 isomorphism。&amp;lt;ref name=&amp;quot;die1&amp;quot;&amp;gt;{{cite journal |author=Diestel R |title=Graph Theory (Graduate Texts in Mathematics) |volume=173 |year=2005|publisher=New York: Springer-Verlag Heidelberg}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当{{math|G&amp;amp;Prime; ⊂ G}}，且{{math|G&amp;amp;Prime;}}与图{{math|G&amp;amp;prime;}}之间存在同构时，该映射表示{{math|G&amp;amp;prime;}}对于{{math|G}}存在。图{{math|G&amp;amp;prime;}}在{{math|G}}的出现次数称为{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}。当一个子图的频率{{math|F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;}}高于预定的阈值或截止值时，则称{{math|G&amp;amp;prime;}}是{{math|G}}中的递归（或频繁）子图。在接下来的内容中，我们交替使用术语“模式 motifs”和“频繁子图 frequent sub-graph”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
设从与{{math|G}}相关联的零模型 the null-model获得的随机图集合为{{math|Ω(G)}}，我们从{{math|Ω(G)}}中均匀地选择N个随机图，并计算其特定频繁子图的频率。如果{{math|G&amp;amp;prime;}}出现在{{math|G}}的频率高于N个随机图{{math|R&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;}}的算术平均频率，其中{{math|1 ≤ i ≤ N}}，我们称此递归模式是有意义的，因此可以将{{math|G&amp;amp;prime;}}视为{{math|G}}的网络模体。对于一个小图{{math|G&amp;amp;prime;}}，网络{{math|G}}和一组随机网络{{math|R(G) ⊆ Ω(R)}}，当{{math|1=R(G) {{=}} N}}时，由其Z分数 Z-score的定义如下式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z(G^\prime) = \frac{F_G(G^\prime) - \mu_R(G^\prime)}{\sigma_R(G^\prime)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
式中，{{math|μ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}} 和 {{math|σ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}分别代表集合{{math|R(G)}}中的平均和标准偏差频率。&amp;lt;ref name=&amp;quot;mil1&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr SS, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |volume=298 |year=2002|journal=Science|issue=5594|pages=824–827 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;alb1&amp;quot;&amp;gt;{{cite journal |vauthors=Albert R, Barabási AL |title=Statistical mechanics of complex networks |journal=Reviews of Modern Physics |volume=74 |issue=1 |year=2002 |pages=47–49 |doi=10.1103/RevModPhys.74.47 |bibcode=2002RvMP...74...47A|arxiv=cond-mat/0106096 |citeseerx=10.1.1.242.4753 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mil2&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Itzkovitz S, Kashtan N, Levitt R, Shen-Orr S, Ayzenshtat I, Sheffer M, Alon U |title=Superfamilies of designed and evolved networks |journal=Science |volume=303 |issue=5663 |year=2004 |pages=1538–1542 |pmid=15001784 |doi=10.1126/science.1089167 |bibcode=2004Sci...303.1538M |url=https://semanticscholar.org/paper/87ad24efd5329046d37cd704f970323e878710ca }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;sch1&amp;quot;&amp;gt;{{cite encyclopedia|last=Schwöbbermeyer |first=H |title=Network Motifs |encyclopedia=Analysis of Biological Networks |editor=Junker BH, Schreiber F |publisher=Hoboken, New Jersey: John Wiley &amp;amp; Sons |year=2008 |pages=85–108}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;bor1&amp;quot;&amp;gt;{{cite encyclopedia |last1=Bornholdt |first1=S |last2=Schuster |first2=HG |title=Handbook of graphs and networks : from the genome to the Internet |journal=Handbook of Graphs and Networks: From the Genome to the Internet |pages=417 |year=2003|bibcode=2003hgnf.book.....B }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;cir1&amp;quot;&amp;gt;{{cite journal |vauthors=Ciriello G, Guerra C |title=A review on models and algorithms for motif discovery in protein-protein interaction networks |journal=Briefings in Functional Genomics and Proteomics |year=2008 |volume=7 |issue=2 |pages=147–156 |doi=10.1093/bfgp/eln015|pmid=18443014 |doi-access=free }}&amp;lt;/ref&amp;gt; {{math|Z(G&amp;amp;prime;)}}越大，子图{{math|G&amp;amp;prime;}}作为模体的意义也就越大。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外还可以使用统计假设检验中的另一个测量方法，可以作为模体检测中的一种方法，即P值 P-value，以 {{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;) ≥ F&amp;lt;sub&amp;gt;G&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}的概率给出（作为其零假设 null-hypothesis），其中{{math|F&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;(G&amp;amp;prime;)}}表示随机网络中{{math|G&amp;amp;prime;}}的频率。&amp;lt;ref name=&amp;quot;sch1&amp;quot; /&amp;gt; 当P值小于阈值（通常为0.01或0.05）时，该子图可以被称为显著模式。该P值定义为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(G^\prime) = \frac{1}{N}\sum_{i=1}^N \delta(c(i)) ; c(i): F_R^i(G^\prime) \ge F_G(G^\prime)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Different occurrences of a sub-graph in a graph.jpg|thumb|图1  ''图中子图的不同出现''. (M1 – M4) 是图（a）中子图（b）的不同出现。对于频率概念{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}},集合M1，M2，M3，M4表示所有匹配项，因此{{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; {{=}} 4}}。对于{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}，两个集合M1，M4或M2，M3之一是可能的匹配，{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; {{=}} 2}}。最后，对于频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}仅允许匹配项之一（M1至M4），因此{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; {{=}} 1}}。随着网元的使用受到限制，这三个频率概念的频率降低。]]&lt;br /&gt;
&lt;br /&gt;
其中{{math|N}}表示随机网络的数目，{{math|i}}定义在随机网络的集合上，若条件{{math|c(i)}}成立，则Kroneckerδ函数{{math|δ(c(i))}}是1。在网络{{math|G}}中，一个特定的n维子图{{math|N&amp;amp;prime;}}的集中度&amp;lt;ref name=&amp;quot;kas1&amp;quot;&amp;gt;{{cite journal |vauthors=Kashtan N, Itzkovitz S, Milo R, Alon U |title=Efficient sampling algorithm for estimating sub-graph concentrations and detecting network motifs |journal=Bioinformatics  |year=2004 |volume=20 |issue=11 |pages=1746–1758 |doi=10.1093/bioinformatics/bth163|pmid=15001476 |doi-access=free }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;wer1&amp;quot;&amp;gt;{{cite journal |author=Wernicke S |title=Efficient detection of network motifs |journal=IEEE/ACM Transactions on Computational Biology and Bioinformatics  |year=2006 |volume=3 |issue=4 |pages=347–359 |doi=10.1109/tcbb.2006.51|pmid=17085844 |citeseerx=10.1.1.304.2576 }}&amp;lt;/ref&amp;gt;是指子图在网络中出现频率与n维非同构子图的总频率之比，其计算公式如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中索引 {{math|i}} 定义在所有非同构 n 尺寸图的集合上。 另一种统计测量是用来评估网络主题的，但在已知的算法中很少使用。 这种测量方法是由 Picard 等人在2008年提出的，使用的是泊松分布，而不是上面隐含使用的高斯正态分布 。&amp;lt;ref name=&amp;quot;pic1&amp;quot;&amp;gt;{{cite journal |vauthors=Picard F, Daudin JJ, Schbath S, Robin S |title=Assessing the Exceptionality of Network Motifs |journal=J. Comp. Bio. |year=2005 |volume=15 |issue=1 |pages=1–20|doi=10.1089/cmb.2007.0137 |pmid=18257674 |citeseerx=10.1.1.475.4300 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;C_G(G^\prime) = \frac{F_G(G^\prime)}{\sum_i F_G(G_i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，他们还提出了子图频率的三个具体概念。&amp;lt;ref name=&amp;quot;schr1&amp;quot;&amp;gt;{{cite book |vauthors=Schreiber F, Schwöbbermeyer H |title=Frequency concepts and pattern detection for the analysis of motifs in networks |journal=Transactions on Computational Systems Biology III |volume=3737 |year=2005 |pages=89–104|doi=10.1007/11599128_7 |citeseerx=10.1.1.73.1130 |series=Lecture Notes in Computer Science |isbn=978-3-540-30883-6 }}&amp;lt;/ref&amp;gt; 如图所示，第一频率概念 {{math|F&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;}}考虑原始网络中图的所有匹配，这与我们前面介绍过的类似。第二个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}定义为原始网络中给定图的最大不相交边的数量。最后，频率概念{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}包含与不相交边 disjoint edges和节点的匹配。因此，两个概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}限制了图元素的使用，并且可以看出，通过对网络元素的使用施加限制，子图的频率下降。因此，如果坚持使用频率概念{{math|F&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;}}和{{math|F&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;}}，网络模体检测算法将可以筛选出更多的候选子图。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
霍兰 Holland和莱因哈特 Leinhardt率先提出了'''网络三合会普查 a triad census of networks'''的概念，开创了网络模体研究的先河。&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1974). The statistical analysis of local structure in social networks. Working Paper No. 44, National Bureau of Economic Research.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Hollandi, P., &amp;amp; Leinhardt, S. (1975). The Statistical Analysis of Local. Structure in Social Networks. Sociological Methodology, David Heise, ed. San Francisco: Josey-Bass.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; Holland, P. W., &amp;amp; Leinhardt, S. (1976). Local structure in social networks. Sociological methodology, 7, 1-45.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Holland, P. W., &amp;amp; Leinhardt, S. (1977). A method for detecting structure in sociometric data. In Social Networks (pp. 411-432). Academic Press.&amp;lt;/ref&amp;gt; 他们介绍了枚举各种子图配置的方法，并测试子图计数是否与随机网络中的期望值存在统计学上的差异。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2002年，Uri Alon和他的团队&amp;lt;ref name=&amp;quot;she1&amp;quot;&amp;gt;{{cite journal |vauthors=Shen-Orr SS, Milo R, Mangan S, Alon U |title=Network motifs in the transcriptional regulation network of ''Escherichia coli'' |journal=Nat. Genet. |volume=31 |issue=1 |pages=64–8 |date=May 2002 |pmid=11967538 |doi=10.1038/ng881}}&amp;lt;/ref&amp;gt;在大肠杆菌的基因调控 gene regulation network （转录 transcription）网络中发现了网络模体，随后在大量的自然网络中也发现了网络模体，从而进一步推广了这一观点。自那时起，许多科学家都对这一问题进行了大量的研究。其中一些研究集中在生物学应用上，而另一些则集中在网络模体的计算理论上。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
生物学研究试图解释为生物网络检测到的模体。例如，在接下来的工作中，&amp;lt;ref name=&amp;quot;she1&amp;quot; /&amp;gt;在大肠杆菌中发现的网络模体存在于其他细菌&amp;lt;ref name=&amp;quot;eic1&amp;quot;&amp;gt;{{cite journal  |vauthors=Eichenberger P, Fujita M, Jensen ST, etal |title=The program of gene transcription for a single differentiating cell type during sporulation in ''Bacillus subtilis'' |journal=PLOS Biology |volume=2 |issue=10 |pages=e328 |date=October 2004 |pmid=15383836 |pmc=517825 |doi=10.1371/journal.pbio.0020328 }} &amp;lt;/ref&amp;gt;以及酵母&amp;lt;ref name=&amp;quot;mil3&amp;quot;&amp;gt;{{cite journal |vauthors=Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U |title=Network motifs: simple building blocks of complex networks |journal=Science |volume=298 |issue=5594 |pages=824–7 |date=October 2002 |doi=10.1126/science.298.5594.824 |pmid=12399590|bibcode=2002Sci...298..824M |citeseerx=10.1.1.225.8750 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;lee1&amp;quot;&amp;gt;{{cite journal  |vauthors=Lee TI, Rinaldi NJ, Robert F, etal |title=Transcriptional regulatory networks in Saccharomyces cerevisiae |journal=Science |volume=298 |issue=5594 |pages=799–804 |date=October 2002 |pmid=12399584 |doi=10.1126/science.1075090 |bibcode=2002Sci...298..799L }}&amp;lt;/ref&amp;gt;和高等生物的转录网络中。&amp;lt;ref name=&amp;quot;odo1&amp;quot;&amp;gt;{{cite journal  |vauthors=Odom DT, Zizlsperger N, Gordon DB, etal |title=Control of pancreas and liver gene expression by HNF transcription factors |journal=Science |volume=303 |issue=5662 |pages=1378–81 |date=February 2004 |pmid=14988562 |pmc=3012624 |doi=10.1126/science.1089769 |bibcode=2004Sci...303.1378O }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;&amp;gt;{{cite journal  |vauthors=Boyer LA, Lee TI, Cole MF, etal |title=Core transcriptional regulatory circuitry in human embryonic stem cells |journal=Cell |volume=122 |issue=6 |pages=947–56 |date=September 2005 |pmid=16153702 |pmc=3006442 |doi=10.1016/j.cell.2005.08.020 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ira1&amp;quot;&amp;gt;{{cite journal |vauthors=Iranfar N, Fuller D, Loomis WF |title=Transcriptional regulation of post-aggregation genes in Dictyostelium by a feed-forward loop involving GBF and LagC |journal=Dev. Biol. |volume=290 |issue=2 |pages=460–9 |date=February 2006 |pmid=16386729 |doi=10.1016/j.ydbio.2005.11.035 |doi-access=free }}&amp;lt;/ref&amp;gt;在其他类型的生物网络中发现了一组不同的网络模体，如神经元网络和蛋白质相互作用网络。&amp;lt;ref name=&amp;quot;mil2&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;maa1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ma'ayan A, Jenkins SL, Neves S, etal |title=Formation of regulatory patterns during signal propagation in a Mammalian cellular network |journal=Science |volume=309 |issue=5737 |pages=1078–83 |date=August 2005 |pmid=16099987 |pmc=3032439 |doi=10.1126/science.1108876 |bibcode=2005Sci...309.1078M }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;pta1&amp;quot;&amp;gt;{{cite journal  |vauthors=Ptacek J, Devgan G, Michaud G, etal |title=Global analysis of protein phosphorylation in yeast |journal=Nature |volume=438 |issue=7068 |pages=679–84 |date=December 2005 |pmid=16319894 |doi=10.1038/nature04187|bibcode=2005Natur.438..679P |url=https://authors.library.caltech.edu/56271/2/Tables.pdf |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，对于计算研究的重点则是改进现有的模体检测工具，以协助生物学研究，并允许对更大的网络进行分析。到目前为止，已经提供了几种不同的算法，这些算法将在下一节按时间顺序进行阐述。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最近，还发布了用于检测网络基序的acc基序工具。&amp;lt;ref&amp;gt;{{Cite web | url=http://www.ft.unicamp.br/docentes/meira/accmotifs/ |title = Acc-Motif: Accelerated Motif Detection}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模体发现算法==&lt;br /&gt;
&lt;br /&gt;
针对模体发现这一问题存在多种解决方案。这些算法可以归纳为不同的范式：例如精确计数方法，采样方法，模式增长方法等。但模体发现问题包括两个主要步骤：首先，计算子图的出现次数，然后评估子图的重要性。如果检测到的重现性远超过预期，那么这种重现性是很显著的。粗略地讲，子图的预期出现次数可以由'''零模型 Null-model''' 确定，该模型定义为具有与原始网络某些属性相同的随机网络的集合。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
接下来，对下列算法的计算原理进行简要回顾，并从算法的角度讨论了它们的优缺点。&lt;br /&gt;
&lt;br /&gt;
===mfinder 算法===&lt;br /&gt;
&lt;br /&gt;
mfinder是第一个模体挖掘工具，它主要有两种模体查找算法：完全枚举 full enumeration 和采样方法 sampling method。直到2004年，用于NM检测的唯一精确计数方法是Milo等人提出的暴力穷举方法。&amp;lt;ref name=&amp;quot;mil1&amp;quot; /&amp;gt;该算法成功地发现了小规模的模体，但是这种方法甚至对于发现规模为5个或6个的模体在计算上都不可行的。因此，需要一种解决该问题的新方法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kashtan等人&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;首次提出了一种基于边缘采样的网络模体采样发现算法。该算法估计了所含子图的集中度，可用于有向或无向网络中的模体发现。该算法的采样过程从网络的任意一条边开始，该边连向大小为2的子图，然后选择一条与当前子图相关的随机边对子图进行扩展。之后，它将继续选择随机的相邻边，直到获得大小为n的子图为止。最后，采样得到的子图扩展为包括这n个节点在内的网络中存在的所有边。当使用采样方法时，获取无偏样本是这类算法可能面临的最重要问题。而且，采样过程并不能保证采到所有的样本（也就是不能保证得到所有的子图），因此，Kashtan 等人又提出了一种加权方案，为网络中的不同子图分配不同的权重。&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; 权重分配的基本原理是利用每个子图的抽样概率信息，即，与不可能的子图相比，可能的子图将获得相对较少的权重；因此，该算法必须计算已采样的每个子图的采样概率。这种加权技术有助于mfinder公正地确定子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
与穷举搜索形成鲜明对比的是，该算法的计算时间竟然与网络大小渐近无关。对算法时间复杂度的分析表明，对于网络中大小为n的子图的每个样本，它的时间复杂度为&amp;lt;math&amp;gt;O(n^n)&amp;lt;/math&amp;gt;。另一方面，并没有对已采样子图的每一个子图样本判断图同构问题的分类时间进行分析&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;。另外，子图权重计算将额外增加该算法的计算负担。但是不得不指出的是，该算法可能会多次采样相同的子图——花费时间而不收集任何有用信息。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;总之，通过利用采样的优势，该算法的性能比穷举搜索算法更有效；但是，它只能大致确定子图的集中度。由于该算法的实现方式，使得它可以找到最大为6的模体，并且它会给出的最重要的模体，而不是其他所有模体。另外，有必要提到此工具没有可视化的呈现。采样算法简要显示如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!mfinder&lt;br /&gt;
|-&lt;br /&gt;
|定义：&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;是采集的边集合。&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;中所有边的顶点的集合。&lt;br /&gt;
|-&lt;br /&gt;
|初始化&amp;lt;math&amp;gt;V_{s}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E_{s}&amp;lt;/math&amp;gt;为空集。&amp;lt;br&amp;gt;&lt;br /&gt;
1. 随机选择一条边&amp;lt;math&amp;gt; e_{1} = (v_{i}, v_{j}) &amp;lt;/math&amp;gt;，更新 &amp;lt;math&amp;gt;E_{s} = \{e_{1}\}, V{s} = \{v_{i}, v_{j}\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. 列出&amp;lt;math&amp;gt;E{s}&amp;lt;/math&amp;gt;的所有邻边列表&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;，从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中删除&amp;lt;math&amp;gt;V{s}&amp;lt;/math&amp;gt;中所有元素组成的边。&lt;br /&gt;
&lt;br /&gt;
3. 从&amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt;中随机选择一条边&amp;lt;math&amp;gt; e = \{v_{k},v_{l}\} &amp;lt;/math&amp;gt;， 更新&amp;lt;math&amp;gt;E_{s} = E_{s} \cup  \{e\} , V_{s} = V_{s} \cup  \{v_{k}, v_{l}\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
4. 重复步骤2-3，直到完成包含n个节点的子图 (&amp;lt;math&amp;gt;\left | V_{s} \right | = n&amp;lt;/math&amp;gt;)。&lt;br /&gt;
&lt;br /&gt;
5. 计算对选取的n节点子图进行采样的概率。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FPF (Mavisto)算法===&lt;br /&gt;
&lt;br /&gt;
Schreiber和Schwöbbermeyer &amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;提出了一种称为灵活模式查找器（FPF）的算法，用于提取输入网络的频繁子图，并将其在名为Mavisto的系统中加以实现。&amp;lt;ref name=&amp;quot;schr2&amp;quot;&amp;gt;{{cite journal |vauthors=Schreiber F, Schwobbermeyer H |title=MAVisto: a tool for the exploration of network motifs |journal=Bioinformatics |volume=21 |issue=17|pages=3572–3574 |year=2005 |doi=10.1093/bioinformatics/bti556|pmid=16020473 |doi-access=free }}&amp;lt;/ref&amp;gt; 他们的算法利用了向下闭包特性，该特性适用于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;。向下闭包性质表明，子图的频率随着子图的大小而单调下降；但这一性质并不一定适用于频率概念&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。FPF算法基于模式树（见右图），由代表不同图形（或模式）的节点组成，其中每个节点的父节点是其子节点的子图；换句话说，每个模式树节点的对应图通过向其父节点图添加新边来扩展。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:The_pattern_tree_in_FPF_algorithm.jpg|right|thumb|''FPF算法中的模式树展示''.&amp;lt;ref name=&amp;quot;schr1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
首先，FPF算法枚举并维护位于模式树根部的子图的所有匹配信息。然后，它通过在目标图中添加匹配边缘支持的一条边缘，在模式树中一一建立前一节点的子节点，然后通过在目标图中添加匹配边支持的一条边，逐个构建模式树中前一个节点的子节点，并尝试将以前关于匹配的所有信息拓展到新的子图(子节点)中。下一步，它判断当前模式的频率是否低于预定义的阈值。如果它低于阈值且保持向下闭包，则FPF算法会放弃该路径，而不会在树的此部分进一步遍历；这样就避免了不必要的计算。重复此过程，直到没有剩余可遍历的路径为止。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法的优点是它不会考虑不频繁的子图，并尝试尽快完成枚举过程；因此，它只花时间在模式树中用于有希望的节点上，而放弃所有其他节点。还有一点额外的好处，模式树概念允许 FPF 以并行方式实现和执行，因为它可以独立地遍历模式树的每个路径。但是，FPF对于频率概念&amp;lt;math&amp;gt;F_{2}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;F_{3}&amp;lt;/math&amp;gt;最为有用，因为向下闭包不适用于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;。尽管如此，如果算法并行运行，那么模式树对于&amp;lt;math&amp;gt;F_{1}&amp;lt;/math&amp;gt;仍然是可行的。该算法的另一个优点是它的实现对模体大小没有限制，这使其更易于改进。FPF（Mavisto）的伪代码如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Mavisto&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;1&amp;quot;|数据: 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, 目标模式规模 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, 频率概念 &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;。结果: 以最大频率设置大小为 &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;的模式 &amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;20&amp;quot;| &amp;lt;math&amp;gt;R \leftarrow \Phi , f_{max}\leftarrow 0&amp;lt;/math&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;P \leftarrow&amp;lt;/math&amp;gt; 开始于大小为1的模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M_{p_{1}} \leftarrow &amp;lt;/math&amp;gt; 图 &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; 中模式 &amp;lt;math&amp;gt;p_{1}&amp;lt;/math&amp;gt; 的所有匹配&lt;br /&gt;
&lt;br /&gt;
当 &amp;lt;math&amp;gt;P \neq \Phi &amp;lt;/math&amp;gt; 时，执行：&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P_{max} \leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; 中选择最大规模的所有模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;P\leftarrow&amp;lt;/math&amp;gt; 从 &amp;lt;math&amp;gt;P_{max}&amp;lt;/math&amp;gt; 中选择最大频率的模式&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}&amp;lt;math&amp;gt;E = ExtensionLoop(G, p, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}对于 &amp;lt;math&amp;gt;p \in E &amp;lt;/math&amp;gt; 的所有模式：&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;F = F_{1}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;f \leftarrow size(M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&amp;lt;math&amp;gt;f \leftarrow&amp;lt;/math&amp;gt; 最大独立集 &amp;lt;math&amp;gt;(F, M_{p})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}如果 &amp;lt;math&amp;gt;size(p) = t&amp;lt;/math&amp;gt; ，那么&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;f = f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow R \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}其他 如果 &amp;lt;math&amp;gt;f &amp;gt; f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt;R \leftarrow \{p\}&amp;lt;/math&amp;gt;； &amp;lt;math&amp;gt;f_{max} \leftarrow f&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}其他&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}如果 &amp;lt;math&amp;gt;F = F_{1} or f \geq  f_{max}&amp;lt;/math&amp;gt; ，那么 &amp;lt;math&amp;gt; P \leftarrow P \cup \{p\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pad|3em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}结束&lt;br /&gt;
&lt;br /&gt;
{{pad|1em}}结束&lt;br /&gt;
&lt;br /&gt;
结束&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===ESU (FANMOD)算法及对应的软件===&lt;br /&gt;
&lt;br /&gt;
由于Kashtan等学者发现的采样偏差问题， &amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt;所以针对NM发现问题需要设计更好的算法。虽然Kashtan等人尝试用加权法来解决这个弊端，但这个方法在运行上，消耗了过多的运行时间，且实现起来也变得更加复杂。但这个工具还是最好用的工具之一，因为它支持可视化选项，同时也是个节约时间的算法。但是，它在所支持的模体的规模大小还是有局限性。由于该工具在具体实施中，不允许搜索规模大小为9或者更大的模体。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weinicke&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt; 引入了一种叫RAND-ESU的算法，这个新引入的算法比Mfinder软件有着更显著的提升。.&amp;lt;ref name=&amp;quot;kas1&amp;quot; /&amp;gt; RAND-ESU基于精准的ESU算法，已有对应的软件FANMOD。&amp;lt;ref name=&amp;quot;wer1&amp;quot; /&amp;gt;RAND-ESU是一种NM发现算法，可应用于定向的或者不定向的网络中，能够有效的在网络中利用无偏差节点进行采样，以及保证了一个子图仅仅被搜索一次,且不会产生无意义的子图。并且，RAND-ESU采用了一个叫做DIRECT的全新的分析方式，从而来确定子图的重要性，而不是用随机网络的组合来建立Null模型。DIRECT方法可以不用大量生成随机网络就能估计子图的浓度。实际上，相较于用随机网络组合分析比较低集中度的子图来说，DIRECT这个方法更加的高效。但是，传统的Null模型比DIRECT这个算法能更加快速地解决高度集中的子图。接下来，我们将详细讲述ESU算法和展示如何把这种精确的算法调整为RAND-ESU算法去估计子图的集中度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ESU和RAND-ESU两种算法都比较简捷，所以实现起来都很容易。ESU首先找到大小为{{math|k}}的所有诱导子图的集合，并命名这个集合为{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。因为EUS以递归函数的形式实现，该函数的运行可以演示为深度为{{math|k}}的树状结构，称为ESU-Tree（见图）。每一个在ESU-Tree上的节点都表示递归函数的状态，这个递归函数需要两个连续集合的SUB和EXT。SUB指的是在目标网络的相邻节点上{{math|{{!}}SUB{{!}} ≤ k}}。如果{{math|{{!}}SUB{{!}} {{=}} k}}，那么这个算法可以找到一个完整的诱导子图，所以在此情况下{{math|S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt; {{=}} SUB ∪ S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;}}。相反，如果{{math|{{!}}SUB{{!}} &amp;lt; k}}，那么这个算法必须把SUB扩大，才能实现基数为{{math|k}}。EXT这个集合包含了所有的满足以下两个情况的节点。第一，每个在EXT的节点必须至少与在SUB的一个节点相邻。第二，他们的下标必须比在SUB的第一个元素大。第一个条件保证了SUB节点的展开产生相关的图，第二个条件能使ESU-Tree树状图上的分支变得离散。所以，这个方法可以避免过度计算。注意，EXT集合不是一个固定的集合。所以每一步都有可能扩展满足于以上两个条件的新节点。下一步包含了在ESU-Tree分支上的子图的分类，将它们分为非同构的大小为{{math|k}}的图类。因此，ESU决定了子图的『频率以及浓度』。这一阶段的实施仅通过运用McKay的nauty算法，&amp;lt;ref name=&amp;quot;mck1&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Practical graph isomorphism |journal=Congressus Numerantium |year=1981 |volume=30 |pages=45–87|bibcode=2013arXiv1301.1493M |arxiv=1301.1493 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;mck2&amp;quot;&amp;gt;{{cite journal |author=McKay BD |title=Isomorph-free exhaustive generation |journal=Journal of Algorithms |year=1998 |volume=26 |issue=2 |pages=306–324 |doi=10.1006/jagm.1997.0898}}&amp;lt;/ref&amp;gt;这一算法可以通过图的同构测试来把每个子图进行分类。所以，ESU能够在目标图中通过递归算法，找到所有规模大小为{{math|k}}的诱导子图集合，且使用高效的工具来确定他们的频率。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
运用RAND-ESU的过程十分的简单，这也是FANMOD的一个主要的优点。可以通过对ESU-Tree树状图的每个级别应用概率{{math|0 ≤ p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; ≤ 1}}并强制ESU以概率{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}遍历{{math|d-1}}级别中节点的每个子节点，来更改ESU算法使其仅搜索ESU-Tree分支的一部分。 这种新的演算方式叫RAND-ESU。显然，当所有阶段{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 1}}时，RAND-ESU等同于ESU。当{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt; {{=}} 0}}时，在这个算法下没有任何意义。注意，这个过程只是确保了可以找到ESU-Tree上的每一分支的机会都是相同的，从而使网络中的子图采样无偏差。访问每个分支的概率为{{math|∏&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}，这对于所有ESU-Tree中的分支都是相同的； 因此，该方法可确保从网络中对子图进行无偏采样。但是，设置{{math|1 ≤ d ≤ k}}的{{math|p&amp;lt;sub&amp;gt;d&amp;lt;/sub&amp;gt;}}参数是另一个问题，必须由专家人工确定才能获得子图集中度的精确结果。&amp;lt;ref name=&amp;quot;cir1&amp;quot; /&amp;gt; 尽管对此没有明确的规定，但是Wrenucke提出了一些一般性的观察结论，这些结论有可能可以帮助我们确定p_d值。总的来说，在诱导子图支持无偏采样方法的情况下，RAND-ESU是一个能快速解决NM发现问题的算法。 尽管，ESU算法的主要部分和FANMOD工具是以用来寻找诱导子图而著称的，但只需对ESU进行细小的改动，就可以用来寻找诱导子图。ESU（FANMOD）的伪代码如下：&lt;br /&gt;
&lt;br /&gt;
[[File:ESU-Tree.jpg|thumb|图（a）大小为5的目标图，图（b）深度为k的ESU树，与目标图中大小为3的子图的提取相关。叶子对应于目标图（a）的集合S3或所有大小3诱导子图。ESU树中的节点包括两个相邻的集合，第一个集合包含称为SUB的相邻节点，第二个名为EXT的集合保存与至少一个SUB节点相邻且其数字标签大于SUB节点的所有节点标签。该算法利用EXT集扩展SUB集，直到达到所需的子图大小为止，该子图大小位于ESU-Tree（或其叶）的最低级别。]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 50%;margin:0 auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ESU子图搜索算法(FANMOD软件实现)&lt;br /&gt;
|-&lt;br /&gt;
|'''''枚举子图(G,k)'''''&lt;br /&gt;
&lt;br /&gt;
'''输入:''' 图 {{math|G {{=}} (V, E)}} 和 一个 整数 {{math|1 ≤ k ≤ {{!}}V{{!}}}}.&lt;br /&gt;
&lt;br /&gt;
'''输出:''' 所有size-{{math|k}} 子图 in {{math|G}}.&lt;br /&gt;
&lt;br /&gt;
'''for each'''顶点v{{math|v ∈ V}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension（集合EXT） ← {u ∈ N({v}) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''调用''' {{math|''ExtendSubgraph''({v}, VExtension, v)}}&lt;br /&gt;
&lt;br /&gt;
'''结束for循环'''&lt;br /&gt;
|-&lt;br /&gt;
|'''''ExtendSubgraph(VSubgraph, VExtension, v)'''''&lt;br /&gt;
&lt;br /&gt;
'''若''' {{math|{{!}}VSubgraph{{!}} {{=}} k}} '''则''' 输出 {{math|G[VSubgraph]}} and '''返回主函数'''&lt;br /&gt;
&lt;br /&gt;
'''当''' {{math|VExtension ≠ ∅}} '''执行'''&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}删除一个任意选择的顶点 {{math|w}} 源于 {{math|VExtension}} 中&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}{{math|VExtension&amp;amp;prime; ← VExtension ∪ {u ∈ N&amp;lt;sub&amp;gt;excl&amp;lt;/sub&amp;gt;(w, VSubgraph) {{!}} u &amp;gt; v}}}&lt;br /&gt;
&lt;br /&gt;
{{pad|2em}}'''call''' {{math|''ExtendSubgraph''(VSubgraph ∪ {w}, VExtension&amp;amp;prime;, v)}}&lt;br /&gt;
&lt;br /&gt;
'''返回'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===G-Tries===&lt;br /&gt;
2010年， Pedro Ribeiro 和 Fernando Silva 提出了一个叫做“g-trie”的新数据结构，用来存储一组子图。&amp;lt;ref name=&amp;quot;rib1&amp;quot;&amp;gt;{{cite conference|vauthors=Ribeiro P, Silva F |title=G-Tries: an efficient data structure for discovering network motifs |conference=ACM 25th Symposium On Applied Computing - Bioinformatics Track |location=Sierre, Switzerland |year=2010 |pages=1559–1566 |url=http://www.nrcbioinformatics.ca/acmsac2010/}}&amp;lt;/ref&amp;gt;这个在概念上类似前缀树的数据结构，根据子图结构来进行存储，并找出了每个子图在一个更大的图中出现的次数。这个数据结构有一个突出的方面：在应用于模体发现算法时，主网络中的子图需要进行评估。因此，在随机网络中寻找那些在不在主网络中的子图，这个消耗时间的步骤就不再需要执行了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
g-trie是一个存储一组图的多叉树。每一个树节点都存储着一个图节点及其对应的到前一个节点的边的信息。从根节点到叶节点的一条路径对应一个图。一个g-trie节点的子孙节点共享一个子图（即每一次路径的分叉意味着从一个子图结构中扩展出不同的图结构，而这些扩展出来的图结构自然有着相同的子图结构）。如何构造一个g-trie在&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;中有详细描述。构造好一个g-trie以后，需要进行计数步骤。计数流程的主要思想是回溯所有可能的子图，同时进行同构性测试。这种回溯技术本质上和其他以模体为中心的方法，比如 MODA 和 GK 算法中使用的技术是一样的。这种技术利用了共同的子结构，亦即在一定时间内，几个不同的候选子图中存在部分是同构的。&lt;br /&gt;
&lt;br /&gt;
在上述算法中，G-Tries是最快的。然而，它的一个缺点是内存的超量使用，这局限了它在个人电脑运行时所能发现的模体的大小&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===对比===&lt;br /&gt;
&lt;br /&gt;
下面的表格和数据显示了在各种标准网络中运行上述算法所获得的结果。这些结果皆获取于各自相应的来源 &amp;lt;ref name=&amp;quot;omi1&amp;quot;&amp;gt;{{cite journal|vauthors=Omidi S, Schreiber F, Masoudi-Nejad A |title=MODA: an efficient algorithm for network motif discovery in biological networks |journal=Genes Genet Syst |year=2009 |volume=84 |issue=5 |pages=385–395 |doi=10.1266/ggs.84.385|pmid=20154426 |doi-access=free }}&amp;lt;/ref&amp;gt; &amp;lt;ref name=&amp;quot;kash1&amp;quot;&amp;gt;{{cite journal|vauthors=Kashani ZR, Ahrabian H, Elahi E, Nowzari-Dalini A, Ansari ES, Asadi S, Mohammadi S, Schreiber F, Masoudi-Nejad A |title=Kavosh: a new algorithm for finding network motifs |journal=BMC Bioinformatics |year=2009 |volume=10 |issue=318|pages=318 |doi=10.1186/1471-2105-10-318 |pmid=19799800 |pmc=2765973}} {{open access}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt; ，因此需要独立地对待它们。&lt;br /&gt;
&lt;br /&gt;
[[Image:Runtimes of algorithms.jpg|thumb|Grochow–Kellis，mfinder，FANMOD，FPF和MODA的运行时间适用于从三个节点到多达九个节点的子图。&amp;lt;ref name=&amp;quot;omi1&amp;quot; /&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 60%; margin-left:3%&amp;quot;&lt;br /&gt;
|+ Grochow–Kellis, FANMOD, 和 G-Trie 在5个不同网络上生成含3到9个节点子图所用的运行时间 &amp;lt;ref name=&amp;quot;rib1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|网络&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|子图大小&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|原始网络数据&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|随机网络平均数据&lt;br /&gt;
|-&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
!FANMOD&lt;br /&gt;
!GK&lt;br /&gt;
!G-Trie&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Dolphins&lt;br /&gt;
|5 || 0.07 || 0.03 || 0.01 || 0.13 || 0.04 || 0.01&lt;br /&gt;
|-&lt;br /&gt;
|6||0.48||0.28||0.04||1.14||0.35||0.07&lt;br /&gt;
|-&lt;br /&gt;
|7||3.02||3.44||0.23||8.34||3.55||0.46&lt;br /&gt;
|-&lt;br /&gt;
|8||19.44||73.16||1.69||67.94||37.31||4.03&lt;br /&gt;
|-&lt;br /&gt;
|9||100.86||2984.22||6.98||493.98||366.79||24.84&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Circuit&lt;br /&gt;
|6||0.49||0.41||0.03||0.55||0.24||0.03&lt;br /&gt;
|-&lt;br /&gt;
|7||3.28||3.73||0.22||3.53||1.34||0.17&lt;br /&gt;
|-&lt;br /&gt;
|8||17.78||48.00||1.52||21.42||7.91||1.06&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Social&lt;br /&gt;
|3||0.31||0.11||0.02||0.35||0.11||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||7.78||1.37||0.56||13.27||1.86||0.57&lt;br /&gt;
|-&lt;br /&gt;
|5||208.30||31.85||14.88||531.65||62.66||22.11&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Yeast&lt;br /&gt;
|3||0.47||0.33||0.02||0.57||0.35||0.02&lt;br /&gt;
|-&lt;br /&gt;
|4||10.07||2.04||0.36||12.90||2.25||0.41&lt;br /&gt;
|-&lt;br /&gt;
|5||268.51||34.10||12.73||400.13||47.16||14.98&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|Power&lt;br /&gt;
|3||0.51||1.46||0.00||0.91||1.37||0.01&lt;br /&gt;
|-&lt;br /&gt;
|4||1.38||4.34||0.02||3.01||4.40||0.03&lt;br /&gt;
|-&lt;br /&gt;
|5||4.68||16.95||0.10||12.38||17.54||0.14&lt;br /&gt;
|-&lt;br /&gt;
|6||20.36||95.58||0.55||67.65||92.74||0.88&lt;br /&gt;
|-&lt;br /&gt;
|7||101.04||765.91||3.36||408.15||630.65||5.17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ mfinder, FANMOD, Mavisto 和 Kavosh 在3个不同网络上生成含3到10个节点子图所用的运行时间&amp;lt;ref name=&amp;quot;kash1&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&amp;amp;nbsp;&lt;br /&gt;
!子图大小→&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|3&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|4&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|5&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|6&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|7&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|8&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|9&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|10&lt;br /&gt;
|-&lt;br /&gt;
!网络↓&lt;br /&gt;
!算法↓&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|E. coli&lt;br /&gt;
|Kavosh||0.30||1.84||14.91||141.98||1374.0||13173.7||121110.3||1120560.1&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.81||2.53||15.71||132.24||1205.9||9256.6||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||13532||-||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||31.0||297||23671||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Electronic&lt;br /&gt;
|Kavosh||0.08||0.36||8.02||11.39||77.22||422.6||2823.7||18037.5&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.53||1.06||4.34||24.24||160||967.99||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||210.0||1727||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||7||14||109.8||2020.2||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|Social&lt;br /&gt;
|Kavosh||0.04||0.23||1.63||10.48||69.43||415.66||2594.19||14611.23&lt;br /&gt;
|-&lt;br /&gt;
|FANMOD||0.46||0.84||3.07||17.63||117.43||845.93||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mavisto||393||1492||-||-||-||-||-||-&lt;br /&gt;
|-&lt;br /&gt;
|Mfinder||12||49||798||181077||-||-||-||-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===算法的分类===&lt;br /&gt;
正如表格所示，模体发现算法可以分为两大类：基于精确计数的算法，以及使用统计采样以及估计的算法。因为后者并不计数所有子图在主网络中出现的次数，所以第二类算法会更快，却也可能产生带有偏向性的，甚至不现实的结果。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
更深一层地，基于精确计数的算法可以分为'''以网络为中心'''的方法以及以'''子图为中心'''的方法。前者在给定网络中搜索给定大小的子图，而后者首先根据给定大小生成各种可能的非同构图，然后在网络中分别搜索这些生成的图。这两种方法都有各自的优缺点，这些在上文有讨论。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一方面，基于估计的方法可能会利用如前面描述过的颜色编码手段，其它的手段则通常会在枚举过程中忽略一些子图(比如，像在 FANMOD 中做的那样)，然后只在枚举出来的子图上做估计。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
此外，表格还指出了一个算法能否应用于有向网络或无向网络，以及导出子图或非导出子图。更多信息请参考下方提供的网页和实验室地址及联系方式。&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 模体发现算法的分类&lt;br /&gt;
|-&lt;br /&gt;
!计数方式&lt;br /&gt;
!基础&lt;br /&gt;
!算法名称&lt;br /&gt;
!有向 / 无向&lt;br /&gt;
!导出/ 非导出&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |精确基数&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; |以网络为中心&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|无向&lt;br /&gt;
|导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|以子图为中心&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||无向||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]||皆可||Both&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||皆可||皆可&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|采样估计&lt;br /&gt;
|颜色编码&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||无向||非导出&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|其他手段&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||皆可||导出&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||皆可||导出&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 75%;margin:0 auto&amp;quot;&lt;br /&gt;
|+ 算法提出者的地址和联系方式&lt;br /&gt;
|-&lt;br /&gt;
!算法&lt;br /&gt;
!实验室/研究组&lt;br /&gt;
!学院&lt;br /&gt;
!大学/研究所&lt;br /&gt;
!地址&lt;br /&gt;
!电子邮件&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.weizmann.ac.il/mcb/UriAlon/ mfinder]||Uri Alon's Group||Department of Molecular Cell Biology||Weizmann Institute of Science||Rehovot, Israel, Wolfson, Rm. 607||urialon at weizmann.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://mavisto.ipk-gatersleben.de/ FPF (Mavisto)]||----||----||Leibniz-Institut für Pflanzengenetik und Kulturpflanzenforschung (IPK)||Corrensstraße 3, D-06466 Stadt Seeland, OT Gatersleben, Deutschland||schreibe at ipk-gatersleben.de&lt;br /&gt;
|-&lt;br /&gt;
|[http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ ESU (FANMOD)]||Lehrstuhl Theoretische Informatik I||Institut für Informatik||Friedrich-Schiller-Universität Jena||Ernst-Abbe-Platz 2,D-07743 Jena, Deutschland||sebastian.wernicke at gmail.com&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.msu.edu/~jinchen/ NeMoFinder]||----||School of Computing||National University of Singapore||Singapore 119077||chenjin at comp.nus.edu.sg&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.cs.colorado.edu/~jgrochow/ Grochow–Kellis]||CS Theory Group &amp;amp; Complex Systems Group||Computer Science||University of Colorado, Boulder||1111 Engineering Dr. ECOT 717, 430 UCB Boulder, CO 80309-0430 USA||jgrochow at colorado.edu&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.math.tau.ac.il/~nogaa/ N. Alon] ''et al.''’s Algorithm||Department of Pure Mathematics||School of Mathematical Sciences||Tel Aviv University||Tel Aviv 69978, Israel||nogaa at post.tau.ac.il&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh] (used in [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh])||Laboratory of Systems Biology and Bioinformatics (LBB)||Institute of Biochemistry and Biophysics (IBB)||University of Tehran||Enghelab Square, Enghelab Ave, Tehran, Iran||amasoudin at ibb.ut.ac.ir&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.dcc.fc.up.pt/gtries/ G-Tries]||Center for Research in Advanced Computing Systems||Computer Science||University of Porto||Rua Campo Alegre 1021/1055, Porto, Portugal||pribeiro at dcc.fc.up.pt&lt;br /&gt;
|-&lt;br /&gt;
|[http://nesreenahmed.com/graphlets PGD]&lt;br /&gt;
|Network Learning and Discovery Lab&lt;br /&gt;
|Department of Computer Science&lt;br /&gt;
|Purdue University&lt;br /&gt;
|Purdue University, 305 N University St, West Lafayette, IN 47907&lt;br /&gt;
|nkahmed@purdue.edu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==已知的模体及其功能==&lt;br /&gt;
许多实验工作致力于理解[[基因调控网络]]中的网络模体。在响应生物信号的过程中，这些网络控制细胞中需要表达的基因。这样的网络以基因作为节点，有向边代表对某个基因的调控，基因调控通过其他基因编码的转录因子结合在DNA上的调控蛋白来实现。因此，网络模体是基因之间相互调控转录速率的模式。在分析转录调控网络的时候，人们发现某些相同的网络模体在不同的物种中不断地出现，从细菌到人类。例如，大肠杆菌和酵母的转录网络由三种主要的网络模体家族组成，它们可以构建几乎整个网络。主要的假设是在进化的过程中，网络模体是被以收敛的方式独立选择出来的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;&amp;gt;{{cite journal |vauthors=Babu MM, Luscombe NM, Aravind L, Gerstein M, Teichmann SA |title=Structure and evolution of transcriptional regulatory networks |journal=Current Opinion in Structural Biology |volume=14 |issue=3 |pages=283–91 |date=June 2004 |pmid=15193307 |doi=10.1016/j.sbi.2004.05.004 |citeseerx=10.1.1.471.9692 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;&amp;gt;{{cite journal |vauthors=Conant GC, Wagner A |title=Convergent evolution of gene circuits |journal=Nat. Genet. |volume=34 |issue=3 |pages=264–6 |date=July 2003 |pmid=12819781 |doi=10.1038/ng1181}}&amp;lt;/ref&amp;gt; 因为相对于基因改变的速率，转录相互作用产生和消失的时间尺度在进化上是很快的。&amp;lt;ref name=&amp;quot;bab1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;con1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;dek1&amp;quot;&amp;gt;{{cite journal |vauthors=Dekel E, Alon U |title=Optimality and evolutionary tuning of the expression level of a protein |journal=Nature |volume=436 |issue=7050 |pages=588–92 |date=July 2005 |pmid=16049495 |doi=10.1038/nature03842 |bibcode=2005Natur.436..588D }}&amp;lt;/ref&amp;gt; 此外，对活细胞中网络模体所产生的动力学行为的实验表明，它们具有典型的动力学功能。这表明，网络模体是基因调控网络中对生物体有益的基本单元。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一些研究从理论和实验两方面探讨和论证了转录网络中与共同网络模体相关的功能。下面是一些最常见的网络模体及其相关功能。&lt;br /&gt;
&lt;br /&gt;
===负自反馈调控(NAR)===&lt;br /&gt;
[[Image:Autoregulation motif.png|200px|thumb|自动调节基序的示意图]]&lt;br /&gt;
负自反馈调控是大肠杆菌中最简单和最冗余的网络模体之一，其中一个转录因子抑制它自身的转录。这种网络模体有两个重要的功能，其中第一个是加速响应。人们发现在实验和理论上， &amp;lt;ref name=&amp;quot;zab1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jtbi.2011.06.021 |author=Zabet NR |title=Negative feedback and physical limits of genes |journal=Journal of Theoretical Biology |volume= 284|issue=1 |pages=82–91 |date=September 2011 |pmid=21723295 |arxiv=1408.1869 |citeseerx=10.1.1.759.5418 }}&amp;lt;/ref&amp;gt;NAR都可以加快对信号的响应。这个功能首先在一个人工合成的转录网络中被发现，&amp;lt;ref name=&amp;quot;ros1&amp;quot;&amp;gt;{{cite journal |doi=10.1016/S0022-2836(02)00994-4 |vauthors=Rosenfeld N, Elowitz MB, Alon U |title=Negative autoregulation speeds the response times of transcription networks |journal=J. Mol. Biol. |volume=323 |issue=5 |pages=785–93 |date=November 2002 |pmid=12417193 |citeseerx=10.1.1.126.2604 }}&amp;lt;/ref&amp;gt; 然后在大肠杆菌SOS DAN修复系统这个自然体系中也被发现。&amp;lt;ref name=&amp;quot;cam1&amp;quot;&amp;gt;{{cite journal |vauthors=Camas FM, Blázquez J, Poyatos JF |title=Autogenous and nonautogenous control of response in a genetic network |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=103 |issue=34 |pages=12718–23 |date=August 2006 |pmid=16908855 |pmc=1568915 |doi=10.1073/pnas.0602119103 |bibcode=2006PNAS..10312718C }}&amp;lt;/ref&amp;gt; 负自反馈网络的第二个功能是增强自调控基因的产物浓度的稳定性，从而抵抗随机的噪声，减少该蛋白含量在不同细胞中的差异。&amp;lt;ref name=&amp;quot;bec1&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Serrano L |title=Engineering stability in gene networks by autoregulation |journal=Nature |volume=405 |issue=6786 |pages=590–3 |date=June 2000 |pmid=10850721 |doi=10.1038/35014651}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;dub1&amp;quot;&amp;gt;{{cite journal |vauthors=Dublanche Y, Michalodimitrakis K, Kümmerer N, Foglierini M, Serrano L |title=Noise in transcription negative feedback loops: simulation and experimental analysis |journal=Mol. Syst. Biol. |volume=2 |pages=41 |year=2006 |pmid=16883354 |pmc=1681513 |doi=10.1038/msb4100081 |issue=1}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;shi1&amp;quot;&amp;gt;{{cite journal |vauthors=Shimoga V, White J, Li Y, Sontag E, Bleris L |title= Synthetic mammalian transgene negative autoregulation |journal=Mol. Syst. Biol. |volume=9 |pages=670 |year=2013|doi=10.1038/msb.2013.27|pmid= 23736683 |pmc= 3964311 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===正自反馈调控(PAR)===&lt;br /&gt;
正自反馈调控是指转录因子增强它自身转录速率的调控。和负自反馈调节相反，NAR模体相比于简单的调控能够延长反应时间。&amp;lt;ref name=&amp;quot;mae1&amp;quot;&amp;gt;{{cite journal |vauthors=Maeda YT, Sano M |title=Regulatory dynamics of synthetic gene networks with positive feedback |journal=J. Mol. Biol. |volume=359 |issue=4 |pages=1107–24 |date=June 2006 |pmid=16701695 |doi=10.1016/j.jmb.2006.03.064 }}&amp;lt;/ref&amp;gt; 在强PAR的情况下，模体可能导致蛋白质水平在细胞群中呈现双峰分布。&amp;lt;ref name=&amp;quot;bec2&amp;quot;&amp;gt;{{cite journal |vauthors=Becskei A, Séraphin B, Serrano L |title=Positive feedback in eukaryotic gene networks: cell differentiation by graded to binary response conversion |journal=EMBO J. |volume=20 |issue=10 |pages=2528–35 |date=May 2001 |pmid=11350942 |pmc=125456 |doi=10.1093/emboj/20.10.2528}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===前馈回路 (FFL)===&lt;br /&gt;
[[Image:Feed-forward_motif.gif|200px|thumb|前馈主题的示意图]]&lt;br /&gt;
前馈回路普遍存在于许多基因系统和生物体中。这种模体包括三个基因以及三个相互作用。目标基因C被两个转录因子（TFs）A和B调控，并且TF B同时被TF A调控。由于每个调控相互作用可以是正的或者负的，所以总共可能有八种类型的FFL模体。&amp;lt;ref name=&amp;quot;man1&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Alon U |title=Structure and function of the feed-forward loop network motif |journal=Proc. Natl. Acad. Sci. U.S.A. |volume=100 |issue=21 |pages=11980–5 |date=October 2003 |pmid=14530388 |pmc=218699 |doi=10.1073/pnas.2133841100 |bibcode=2003PNAS..10011980M }}&amp;lt;/ref&amp;gt; 其中的两种：一致前馈回路的类型一（C1-FFL）（所有相互作用都是正的）和非一致前馈回路的类型一（I1-FFL）（A激活C和B，B抑制C）在大肠杆菌和酵母中相比于其他六种更频繁的出现。&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;ma1&amp;quot;&amp;gt;{{cite journal |vauthors=Ma HW, Kumar B, Ditges U, Gunzer F, Buer J, Zeng AP |title=An extended transcriptional regulatory network of ''Escherichia coli'' and analysis of its hierarchical structure and network motifs |journal=Nucleic Acids Res. |volume=32 |issue=22 |pages=6643–9 |year=2004 |pmid=15604458 |pmc=545451 |doi=10.1093/nar/gkh1009 |url=http://nar.oxfordjournals.org/cgi/pmidlookup?view=long&amp;amp;pmid=15604458}}&amp;lt;/ref&amp;gt; 除了网络的结构外，还应该考虑来自A和B的信号被C的启动子集成的方式。在大多数情况下，FFL要么是一个与门(激活C需要A和B)，要么是或门(激活C需要A或B)，但也可以是其他输入函数。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===一致前馈回路类型一(C1-FFL)===&lt;br /&gt;
具有与门的C1-FFL有“符号-敏感延迟”单元和持久性探测器的功能，这一点在[[大肠杆菌]]阿拉伯糖系系统的理论&amp;lt;ref name=&amp;quot;man1&amp;quot;/&amp;gt;和实验上&amp;lt;ref name=&amp;quot;man2&amp;quot;&amp;gt;{{cite journal |doi=10.1016/j.jmb.2003.09.049 |vauthors=Mangan S, Zaslaver A, Alon U |title=The coherent feedforward loop serves as a sign-sensitive delay element in transcription networks |journal=J. Mol. Biol. |volume=334 |issue=2 |pages=197–204 |date=November 2003 |pmid=14607112 |citeseerx=10.1.1.110.4629 }}&amp;lt;/ref&amp;gt; 都有发现。这意味着该模体可以提供脉冲过滤，短脉冲信号不会产生响应，而持久信号在短延迟后会产生响应。当持久脉冲结束时，输出的关闭将很快。与此相反的行为出现在具有快速响应和延迟关闭特性的加和门的情况下，这在[[大肠杆菌]]的鞭毛系统中得到了证明。&amp;lt;ref name=&amp;quot;kal1&amp;quot;&amp;gt;{{cite journal |vauthors=Kalir S, Mangan S, Alon U |title=A coherent feed-forward loop with a SUM input function prolongs flagella expression in ''Escherichia coli'' |journal=Mol. Syst. Biol. |volume=1 |pages=E1–E6 |year=2005 |pmid=16729041 |pmc=1681456 |doi=10.1038/msb4100010 |issue=1}}&amp;lt;/ref&amp;gt;在[[基因调控网络]]的重头进化中，对于滤除理想化的短信号脉冲作为进化压，C1-FFLs已经在计算上被证明可以进化出来。但是对于非理想化的噪声，不同拓扑结构前馈调节的动态系统将被优先考虑。 &amp;lt;ref&amp;gt;{{cite journal |last1=Xiong |first1=Kun |last2=Lancaster |first2=Alex K. |last3=Siegal |first3=Mark L. |last4=Masel |first4=Joanna |title=Feed-forward regulation adaptively evolves via dynamics rather than topology when there is intrinsic noise |journal=Nature Communications |date=3 June 2019 |volume=10 |issue=1 |pages=2418 |doi=10.1038/s41467-019-10388-6|pmid=31160574 |pmc=6546794 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===非一致前馈回路类型一(I1-FFL)===&lt;br /&gt;
I1-FFL是一个脉冲生成器和响应加速器。I1-FFL的两种信号通路作用方向相反，一种通路激活Z，而另一种抑制Z。完全的抑制会导致类似脉冲的动力学行为。另外有实验证明，它可以类似于NAR模体起到响应加速器的作用。与NAR模体的不同之处在于，它可以加速任何基因的响应，而不必是转录因子。&amp;lt;ref name=&amp;quot;man3&amp;quot;&amp;gt;{{cite journal |vauthors=Mangan S, Itzkovitz S, Zaslaver A, Alon U |title=The incoherent feed-forward loop accelerates the response-time of the gal system of ''Escherichia coli'' |journal=J. Mol. Biol. |volume=356 |issue=5 |pages=1073–81 |date=March 2006 |pmid=16406067 |doi=10.1016/j.jmb.2005.12.003 |citeseerx=10.1.1.184.8360 }}&amp;lt;/ref&amp;gt;I1-FFL网络还有另外一个功能：在理论和实验上都有证明I1-FFL可以生成非单调的输入函数，无论在人工合成的&amp;lt;ref name=&amp;quot;ent1&amp;quot;&amp;gt;{{cite journal |vauthors=Entus R, Aufderheide B, Sauro HM |title=Design and implementation of three incoherent feed-forward motif based biological concentration sensors |journal=Syst Synth Biol |volume=1 |issue=3 |pages=119–28 |date=August 2007 |pmid=19003446 |pmc=2398716 |doi=10.1007/s11693-007-9008-6 }}&amp;lt;/ref&amp;gt;还是自然的系统中。 &amp;lt;ref name=&amp;quot;kap1&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Dekel E, Alon U |title=The incoherent feed-forward loop can generate non-monotonic input functions for genes |journal=Mol. Syst. Biol. |volume=4 |pages=203 |year=2008 |pmid=18628744 |pmc=2516365 |doi=10.1038/msb.2008.43 |issue=1}}&amp;lt;/ref&amp;gt; 最后，包含非一致前馈调控的基因生成物的表达单元对DNA模板的数量具有适应性，可以优于简单的组合本构启动子。&amp;lt;ref name=&amp;quot;ble1&amp;quot;&amp;gt;{{cite journal |vauthors=Bleris L, Xie Z, Glass D, Adadey A, Sontag E, Benenson Y |title=Synthetic incoherent feedforward circuits show adaptation to the amount of their genetic template |journal=Mol. Syst. Biol. |volume=7 |pages=519|year=2011 |doi=10.1038/msb.2011.49 |issue=1 |pmid=21811230 |pmc=3202791}}&amp;lt;/ref&amp;gt; 前馈调控比负反馈具有更好的适应性，并且基于RNA干扰的网络对DNA模板数具有最高的鲁棒性。&amp;lt;ref name=&amp;quot;ble1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===多输出前馈回路===&lt;br /&gt;
在某些情况，相同的调控子X和Y可以调控同一系统中的多个Z基因。通过调节相互作用的强度，这些网络可以决定基因激活的时间顺序。这一点在大肠杆菌的鞭毛系统中有实验证据。&amp;lt;ref name=&amp;quot;kal2&amp;quot;&amp;gt;{{cite journal  |vauthors=Kalir S, McClure J, Pabbaraju K, etal |title=Ordering genes in a flagella pathway by analysis of expression kinetics from living bacteria |journal=Science |volume=292 |issue=5524 |pages=2080–3 |date=June 2001 |pmid=11408658 |doi=10.1126/science.1058758 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===单一输入模块(SIM)===&lt;br /&gt;
当单个调控子调控一组基因，并且没有其他的调控因素时，这样的模体叫做单一输入模块（SIM）。当很多基因合作执行某个功能时这是有用的，因为这些基因需要同步地被激活。通过调节相互作用的强度，可以编排它所调控的基因表达的时间顺序。&amp;lt;ref name=&amp;quot;zas1&amp;quot;&amp;gt;{{cite journal  |vauthors=Zaslaver A, Mayo AE, Rosenberg R, etal |title=Just-in-time transcription program in metabolic pathways |journal=Nat. Genet. |volume=36 |issue=5 |pages=486–91 |date=May 2004 |pmid=15107854 |doi=10.1038/ng1348|doi-access=free }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在文献中，多输入模块（MIM）来自于SIM的扩展。但是二者的精确定义并不太一致。有一些尝试给出生物网络中规范模体的正交定义，也有一些算法去枚举它们，特别是SIM，MIM和2x2 MIM等。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=Single and Multiple Input Modules in regulatory networks |journal=Proteins |volume=73 |issue=2 |pages=320–324 |year=2008 |doi=10.1002/prot.22053|pmid=18433061 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===密集交盖调节网(DOR)===&lt;br /&gt;
这种类型的网络存在于多个调节子结合起来控制一组基因的情形，并且有多种调控的组合。这种模体出现在大肠杆菌的多种系统中，例如碳利用、厌氧生长、应激反应等。&amp;lt;ref name=&amp;quot;she1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;boy1&amp;quot;/&amp;gt; 为了更好地理解这种网络，我们必须得到关于基因集成多种输入的方式的信息。Kaplan ''et al.''&amp;lt;ref name=&amp;quot;kap2&amp;quot;&amp;gt;{{cite journal |vauthors=Kaplan S, Bren A, Zaslaver A, Dekel E, Alon U |title=Diverse two-dimensional input functions control bacterial sugar genes |journal=Mol. Cell |volume=29 |issue=6 |pages=786–92 |date=March 2008 |pmid=18374652 |pmc=2366073 |doi=10.1016/j.molcel.2008.01.021 }}&amp;lt;/ref&amp;gt;绘制了大肠杆菌糖利用基因的输入函数，表现出各种各样的形状。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==活动模体==&lt;br /&gt;
&lt;br /&gt;
有一个对网络模体的有趣概括：'''活动模体'''是在对节点和边都被量化标注的网络中可发现的【反复】斑图。例如，当新陈代谢的边以相应基因的表达量或【时间】来标注时，一些斑图在'''给定的'''底层网络结构里【是反复的】。&amp;lt;ref name=&amp;quot;agc&amp;quot;&amp;gt;{{cite journal |vauthors=Chechik G, Oh E, Rando O, Weissman J, Regev A, Koller D |title=Activity motifs reveal principles of timing in transcriptional control of the yeast metabolic network |journal=Nat. Biotechnol. |volume=26 |issue=11 |pages=1251–9 |date=November 2008 |pmid=18953355 |pmc=2651818 |doi=10.1038/nbt.1499}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==批判==&lt;br /&gt;
&lt;br /&gt;
对拓扑子结构有一个（某种程度上隐含的）前提性假设是其具有特定的功能重要性。但该假设最近遭到质疑，有人提出在不同的网络环境下模体可能表现出多样性，例如双扇模体，故&amp;lt;ref name=&amp;quot;ad&amp;quot;&amp;gt;{{cite journal |vauthors=Ingram PJ, Stumpf MP, Stark J |title=Network motifs: structure does not determine function |journal=BMC Genomics |volume=7 |pages=108 |year=2006 |pmid=16677373 |pmc=1488845 |doi=10.1186/1471-2164-7-108 }} &amp;lt;/ref&amp;gt;模体的结构不必然决定功能，网络结构也不当然能揭示其功能；这种见解由来已久，可参见操纵子&amp;lt;/font&amp;gt;。&amp;lt;ref&amp;gt;{{cite journal |vauthors=Voigt CA, Wolf DM, Arkin AP |title=The ''Bacillus subtilis'' sin operon: an evolvable network motif |journal=Genetics |volume=169 |issue=3 |pages=1187–202 |date=March 2005 |pmid=15466432 |pmc=1449569 |doi=10.1534/genetics.104.031955 |url=http://www.genetics.org/cgi/pmidlookup?view=long&amp;amp;pmid=15466432}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
大多数模体功能分析是基于模体孤立运行的情形。最近的研究&amp;lt;ref&amp;gt;{{cite journal |vauthors=Knabe JF, Nehaniv CL, Schilstra MJ |title=Do motifs reflect evolved function?—No convergent evolution of genetic regulatory network subgraph topologies |journal=BioSystems |volume=94 |issue=1–2 |pages=68–74 |year=2008 |pmid=18611431 |doi=10.1016/j.biosystems.2008.05.012 }}&amp;lt;/ref&amp;gt;表明网络环境至关重要，不能忽视网络环境而仅从本地结构来对其功能进行推论——引用的论文还回顾了对观测数据的批判及其他可能的解释。人们研究了单个模体模组对网络全局的动力学影响及其分析&amp;lt;ref&amp;gt;{{cite journal |vauthors=Taylor D, Restrepo JG |title=Network connectivity during mergers and growth: Optimizing the addition of a module |journal=Physical Review E |volume=83 |issue=6 |year=2011 |page=66112 |doi=10.1103/PhysRevE.83.066112 |pmid=21797446 |bibcode=2011PhRvE..83f6112T |arxiv=1102.4876 }}&amp;lt;/ref&amp;gt;。而另一项近期的研究工作提出生物网络的某些拓扑特征能自然地引起经典模体的常见形态，让人不禁疑问：这样的发生频率是否能证明模体的结构是出于其对所在网络运行的功能性贡献而被选择保留下的结果？&amp;lt;ref&amp;gt;{{cite journal|last1=Konagurthu|first1=Arun S.|last2=Lesk|first2=Arthur M.|title=Single and multiple input modules in regulatory networks|journal=Proteins: Structure, Function, and Bioinformatics|date=23 April 2008|volume=73|issue=2|pages=320–324|doi=10.1002/prot.22053|pmid=18433061}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal |vauthors=Konagurthu AS, Lesk AM |title=On the origin of distribution patterns of motifs in biological networks |journal=BMC Syst Biol |volume=2 |pages=73 |year=2008 |pmid=18700017 |pmc=2538512 |doi=10.1186/1752-0509-2-73 }} &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模体的研究主要应用于静态复杂网络，而时变复杂网络的研究&amp;lt;ref&amp;gt;Braha, D., &amp;amp; Bar‐Yam, Y. (2006). [https://static1.squarespace.com/static/5b68a4e4a2772c2a206180a1/t/5c5de3faf4e1fc43e7b3d21e/1549657083988/Complexity_Braha_Original_w_Cover.pdf From centrality to temporary fame: Dynamic centrality in complex networks]. Complexity, 12(2), 59-63. &amp;lt;/ref&amp;gt;就网络模体提出了重大的新解释，并介绍了'''时变网络模体'''的概念。Braha和Bar-Yam&amp;lt;ref&amp;gt; Braha D., Bar-Yam Y. (2009) [https://s3.amazonaws.com/academia.edu.documents/4892116/Adaptive_Networks__Theory__Models_and_Applications__Understanding_Complex_Systems_.pdf?response-content-disposition=inline%3B%20filename%3DRedes_teoria.pdf&amp;amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20191111%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20191111T173250Z&amp;amp;X-Amz-Expires=3600&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=89d08c9e92b88ed817e4eb0f87c480757ef79c4b865919a5e0890cbefa164c61#page=55 Time-Dependent Complex Networks: Dynamic Centrality, Dynamic Motifs, and Cycles of Social Interactions]. In: Gross T., Sayama H. (eds) Adaptive Networks. Understanding Complex Systems. Springer, Berlin, Heidelberg &amp;lt;/ref&amp;gt;研究了本地模体结构在时间依赖网络/时变网络的动力学，发现的一些反复模式有望成为社会互动周期的经验论据。他们证明了对于时变网络，其本地结构是时间依赖的且可能随时间演变，可作为对复杂网络中稳定模体观及模体表达观的反论，Braha和Bar-Yam还进一步提出，对时变本地结构的分析有可能揭示系统级任务和功能方面的动力学的重要信息。&lt;br /&gt;
&lt;br /&gt;
==另参==&lt;br /&gt;
* [[图论]]&lt;br /&gt;
* [[图形模型]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist|2}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
&lt;br /&gt;
* [http://www.weizmann.ac.il/mcb/UriAlon/groupNetworkMotifSW.html A software tool that can detect network motifs]&lt;br /&gt;
* [http://www.bio-physics.at/wiki/index.php?title=Network_Motifs bio-physics-wiki NETWORK MOTIFS]&lt;br /&gt;
* [http://theinf1.informatik.uni-jena.de/~wernicke/motifs/ FANMOD: a tool for fast network motif detection]&lt;br /&gt;
* [http://mavisto.ipk-gatersleben.de/ MAVisto: network motif analysis and visualisation tool]&lt;br /&gt;
* [https://www.msu.edu/~jinchen/ NeMoFinder]&lt;br /&gt;
* [http://people.cs.uchicago.edu/~joshuag/index.html Grochow–Kellis]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/MODA/ MODA]&lt;br /&gt;
* [http://lbb.ut.ac.ir/Download/LBBsoft/Kavosh/ Kavosh]&lt;br /&gt;
* [http://apps.cytoscape.org/apps/cytokavosh CytoKavosh]&lt;br /&gt;
* [http://www.dcc.fc.up.pt/gtries/ G-Tries]&lt;br /&gt;
* [http://www.ft.unicamp.br/docentes/meira/accmotifs/ acc-MOTIF detection tool]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:Tuijian_motif.jpeg|thumb|400px|[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]]]&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=19514 Science经典：复杂网络的简单构造模块——网络模体]====&lt;br /&gt;
模体（motif）是一个对初涉复杂科学的人来说，相对陌生的概念，但它却是复杂网络研究中最有力的工具之一。2002年的 Science 论文“Network Motifs: simple Building blocks of Complex Networks”介绍了模体的概念，至今引用次数已有 6000 多次。本文将概述这篇论文，并阐述模体在复杂网络中的广泛应用与研究前沿，说明模体已成为复杂网络研究中不可或缺的基础组件。即使对于非相关领域的研究者，理解模体的概念也可以让你体会生活中的复杂性与涌现现象。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:Xebec|Xebec]]、[[用户:木子二月鸟|木子二月鸟]]、[[用户:Qige96|Qige96]]、[[用户:Jxzhou |Jxzhou]]、[[用户:厚朴|厚朴]]参与编译、由[[用户:Imp |Imp]]、[[用户:Liushikang1992|Liushikang1992]]审校、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容翻译自 wikipedia.org，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:基因表达]]&lt;br /&gt;
[[Category:网络]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7701</id>
		<title>HITS算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7701"/>
		<updated>2020-05-11T09:41:47Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 算法描述 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=HITS,HITS算法,排序算法,算法&lt;br /&gt;
|description=网络科学,网页排序,期刊影响因子&lt;br /&gt;
}}&lt;br /&gt;
'''Hyperlink-Induced Topic Search'''，简称HITS算法，是一种由[https://en.wikipedia.org/wiki/Jon_Kleinberg Jon Kleinberg]开发的对网页进行评分排名的'''链路分析算法'''。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
网络的枢纽性和权威性源于互联网最初形成时候对网页创建的观察，即某些网页，被称之为'''网络枢纽'''，作为大型目录，它们所持有的信息实际上并不具有权威性，而是作为一个广泛的信息目录的汇总中心，引导用户直接访问其他具有权威性的网页。换句话说，一个好的枢纽表示一个网页可以链接网页，一个具有权威性的网页会被很多枢纽中心指向。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==发展历史==&lt;br /&gt;
===学术期刊上===&lt;br /&gt;
对学术期刊进行排名有许多的方法。其中有一个方法叫做'''Garfield'''的影响因子。 像《Science》和《Nature》这样的期刊被引用的次数很多，所以这些杂志具有很高的影响因子。 因此，如果比较两种被引用次数大致相同的期刊，但其中一种被《Science》和《Nature》杂志引用次数较多的，则该期刊的排名会更高。 换句话说，被一个影响因子更高的文章引用比被影响因子更低的文章引用更好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===万维网上===&lt;br /&gt;
这种现象同样发生在互联网上。 通过计算一个网页的链接数量，我们可以大致估计出它在网络上的排名，但是如果这些链接中有两个来自百度、中国新浪网等网站的主页，那么一个只有很少的链接的网页也可能有较高的排名。 因为这些网站都是影响因子更高的，而且都是搜索引擎，因此网页的排名可以比其实际高得多。&lt;br /&gt;
&lt;br /&gt;
==算法描述==&lt;br /&gt;
[[File:SetsEN.jpg|300px|right|thumb|根集合展开为基本集合]]&lt;br /&gt;
HITS算法的基本思想就是：每个网页的重要性由两个指标刻画——'''权威性 Authority'''和'''枢纽性 Hub''' 。例如当我们想要查找“集智俱乐部”有关的页面时候，显然[https://swarma.org/ 集智俱乐部]首页最具有权威性。但是，如果万维网上有一个网页H，该网页的功能就是给出全世界所有科技类的组织机构的主页链接，那么其中就会包含有[[集智俱乐部]]。那么H网页就会有较高的枢纽值，也就是说网页H可以链接到一些比较有权威性质的网站。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HITS算法中，第一步是检索与关键字最相关的页面。得到的结果集合为'''根集合 root set'''，即该集合可以通过基于文本的搜索算法获得。根集合展开为'''基本集合 base set'''。基本集合则由一个网页指向的其他网页和其他指向该网页的网页组成。基本集合中的网页以及这些页面之间的所有超链接形成一个重点突出的子图。HITS计算仅在此聚焦子图上执行。据Kleinberg的结论，建立基本集合的原因是要确保网页的绝对权威性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
权威性和枢纽性是互相依存、互相影响的。权威值是指所有导入链接所在的页面中枢纽值之和。枢纽值指的是网页上所有导出链接指向页面的权威值之和。实际应用中，还需要考虑链接页面的相关性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法执行一系列迭代过程，每个迭代包含两个基本步骤：&lt;br /&gt;
* 权威值更新：更新每个节点的权威值，使其等于指向每个节点的枢纽值的总和。即通过从被识别为信息的的页面链接到一个节点，该节点将获得较高的权威值。&lt;br /&gt;
* 枢纽值更新：更新每个节点的枢纽值分数，使其等于它指向的每个节点的权威值之和。即通过链接到被认为是该主题的权威值的节点，节点被赋予较高的枢纽值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
节点的权威值和枢纽值使用以下算法计算：&lt;br /&gt;
* 从每个节点的中心得分和权限得分为1开始。&lt;br /&gt;
* 权威值更新&lt;br /&gt;
* 枢纽值更新&lt;br /&gt;
* 通过将每个Hub得分除以所有Hub得分的平方和的平方根，然后将每个Authority得分除以所有Authority得分的平方和的平方根来归一化值。&lt;br /&gt;
* 根据需要从第二步重复。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
像拉里·佩奇 Larry Page和谢尔盖·布林 Sergey Brin的[[PageRank]]，HITS 是一种基于Web上文档链接的迭代算法。但是它确实有一些主要区别：&lt;br /&gt;
* 它取决于查询，也就是说，链接分析产生的（枢纽值和权威值）受搜索词的影响；&lt;br /&gt;
* 作为推论，它是在查询时而不是在索引时执行的，同时伴随着查询时处理的性能下降。&lt;br /&gt;
* 它计算每个文档的两个分数，即枢纽值和权威值，而不是一个PageRank。&lt;br /&gt;
* 它是在“相关”文档中的一小部分（“聚焦子图”或基本集）上处理的，而不是像PageRank那样处理所有文档。&lt;br /&gt;
&lt;br /&gt;
==计算==&lt;br /&gt;
&lt;br /&gt;
算法开始，每一个网页p的初始值为：权威值&amp;lt;math&amp;gt; auth(p) = 1 &amp;lt;/math&amp;gt;，枢纽值&amp;lt;math&amp;gt; hub(p) = 1 &amp;lt;/math&amp;gt;。每一次计算的时候都需要考虑两个值的更新，即权威值更新和枢纽值更新。为了计算每个网页节点的&amp;quot;枢纽值/权威值&amp;quot;得分，使用权威值更新规则和枢纽值更新规则进行反复迭代。&lt;br /&gt;
&lt;br /&gt;
===权威值更新规则===&lt;br /&gt;
对于每个网页 p，&amp;lt;math&amp;gt; auth (p)&amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;auth(p) = \sum_{q\in P_{t_{0}}}hub(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;P_{t_{0}}&amp;lt;/math&amp;gt;是所有链接到网页p的网页，即权威值更新为所有导入链接所在的页面中枢纽值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===枢纽值更新规则===&lt;br /&gt;
对于每个网页p，&amp;lt;math&amp;gt; hub(p) &amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;hub(p) = \sum_{q\in P_{from}}auth(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中,&amp;lt;math&amp;gt;P_{t_{from}}&amp;lt;/math&amp;gt;是所有指向网页p的网页。即枢纽值更新为网页p上所有导出链接指向网页的权威值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===归一化===&lt;br /&gt;
在反复迭代后，确定节点的最终权威-枢纽值分数。由于直接按照两者的更新规则进行迭代会导致值出现偏差，因此有必要在每次迭代后进行归一化。因此，最后获得的值将最终收敛。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===算法流程===&lt;br /&gt;
(1)初始化：设定网络中的所有节点的权威值和枢纽值&amp;lt;math&amp;gt;x_{i_{0}}, y_{i{0}}&amp;lt;/math&amp;gt;,其中&amp;lt;math&amp;gt;i=0,1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2)迭代过程：在第k步（k&amp;gt;=1)进行如下三种操作：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a.权威值校正规则：每一个节点的权威值正为指向它的节点的枢纽值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}y_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.枢纽值校正规则：每一个节点的枢纽值校正为它所指向的节点的权威值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;y^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}x_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
c.归一化：&lt;br /&gt;
:&amp;lt;math&amp;gt;x_{i}(k)= \frac{x^{'}_{i}(k)}{||x^{'}(k)||},y_{i}(k)= \frac{y^{'}_{i}(k)}{||y^{'}(k)||},i=1,2,...,N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===伪代码===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
G := set of pages&lt;br /&gt;
for each page p in G do&lt;br /&gt;
    p.auth = 1 // p.auth is the authority score of the page p&lt;br /&gt;
    p.hub = 1 // p.hub is the hub score of the page p&lt;br /&gt;
    for step from 1 to k do // run the algorithm for k steps&lt;br /&gt;
        norm = 0&lt;br /&gt;
        for each page p in G do  // update all authority values first&lt;br /&gt;
            p.auth = 0&lt;br /&gt;
            for each page q in p.incomingNeighbors do // p.incomingNeighbors is the set of pages that link to p&lt;br /&gt;
                p.auth += q.hub&lt;br /&gt;
            norm += square(p.auth) // calculate the sum of the squared auth values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // update the auth scores &lt;br /&gt;
             p.auth = p.auth / norm  // normalise the auth values&lt;br /&gt;
         norm = 0&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = 0&lt;br /&gt;
             for each page r in p.outgoingNeighbors do // p.outgoingNeighbors is the set of pages that p links to&lt;br /&gt;
                 p.hub += r.auth&lt;br /&gt;
             norm += square(p.hub) // calculate the sum of the squared hub values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = p.hub / norm   // normalise the hub values&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
* [https://baike.baidu.com/item/HITS%E7%AE%97%E6%B3%95 HITS算法的百度百科页面]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/HITS_algorithm  HITS算法的英文维基百科页面]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:网络科学导论.jpg|250px|right|thumb|书籍《网络科学导论》封面]]&lt;br /&gt;
&lt;br /&gt;
====网络科学导论====&lt;br /&gt;
对各种复杂网络的定量与定性特征的科学理解已成为网络时代科学研究中一个极其重要的挑战性课题，网络科学就是一门正在兴起的面对这一挑战的交叉性学科。本书致力于系统地介绍网络科学的基本概念、思想和方法，使得具有高等数学基础的读者都能够看懂，并具备把网络科学方法用于实际网络分析的能力。为此，本书没有过多地陷入数学和物理推导，而是更为关注网络科学的思维习惯和研究方式。本书在概要介绍了网络科学的背景和研究意义之后，分为四个部分详细介绍了网络基本概念、网络拓扑性质、网络拓扑模型和网络动力学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.cnblogs.com/rubinorth/p/5800624.html HITS算法--从原理到实现]====&lt;br /&gt;
该文章介绍HITS算法的HITS算法的来源、原理，并利用python和MapReduce实现该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]用户参与编译，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:链接分析]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7700</id>
		<title>HITS算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7700"/>
		<updated>2020-05-11T09:41:00Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 编者推荐 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=HITS,HITS算法,排序算法,算法&lt;br /&gt;
|description=网络科学,网页排序,期刊影响因子&lt;br /&gt;
}}&lt;br /&gt;
'''Hyperlink-Induced Topic Search'''，简称HITS算法，是一种由[https://en.wikipedia.org/wiki/Jon_Kleinberg Jon Kleinberg]开发的对网页进行评分排名的'''链路分析算法'''。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
网络的枢纽性和权威性源于互联网最初形成时候对网页创建的观察，即某些网页，被称之为'''网络枢纽'''，作为大型目录，它们所持有的信息实际上并不具有权威性，而是作为一个广泛的信息目录的汇总中心，引导用户直接访问其他具有权威性的网页。换句话说，一个好的枢纽表示一个网页可以链接网页，一个具有权威性的网页会被很多枢纽中心指向。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==发展历史==&lt;br /&gt;
===学术期刊上===&lt;br /&gt;
对学术期刊进行排名有许多的方法。其中有一个方法叫做'''Garfield'''的影响因子。 像《Science》和《Nature》这样的期刊被引用的次数很多，所以这些杂志具有很高的影响因子。 因此，如果比较两种被引用次数大致相同的期刊，但其中一种被《Science》和《Nature》杂志引用次数较多的，则该期刊的排名会更高。 换句话说，被一个影响因子更高的文章引用比被影响因子更低的文章引用更好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===万维网上===&lt;br /&gt;
这种现象同样发生在互联网上。 通过计算一个网页的链接数量，我们可以大致估计出它在网络上的排名，但是如果这些链接中有两个来自百度、中国新浪网等网站的主页，那么一个只有很少的链接的网页也可能有较高的排名。 因为这些网站都是影响因子更高的，而且都是搜索引擎，因此网页的排名可以比其实际高得多。&lt;br /&gt;
&lt;br /&gt;
==算法描述==&lt;br /&gt;
[[File:SetsEN.jpg|300px|right|thumb|根集合展开为基本集合]]&lt;br /&gt;
HITS算法的基本思想就是：每个网页的重要性由两个指标刻画——'''权威性 Authority'''和'''枢纽性 Hub''' 。例如当我们想要查找“集智俱乐部”有关的页面时候，显然[https://swarma.org/ 集智俱乐部]首页最具有权威性。但是，如果万维网上有一个网页H，该网页的功能就是给出全世界所有科技类的组织机构的主页链接，那么其中就会包含有[[集智俱乐部]]。那么H网页就会有较高的枢纽值，也就是说网页H可以链接到一些比较有权威性质的网站。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HITS算法中，第一步是检索与关键字最相关的页面。得到的结果集合为'''根集合 root set'''，即该集合可以通过基于文本的搜索算法获得。根集合展开为'''基本集合 base set'''。基本集合则由一个网页指向的其他网页和其他指向该网页的网页组成。基本集合中的网页以及这些页面之间的所有超链接形成一个重点突出的子图。HITS计算仅在此聚焦子图上执行。据Kleinberg的结论，建立基本集合的原因是要确保网页的绝对权威性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
权威性和枢纽性是互相依存、互相影响的。权威值是指所有导入链接所在的页面中枢纽值之和。枢纽值指的是网页上所有导出链接指向页面的权威值之和。实际应用中，还需要考虑链接页面的相关性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法执行一系列迭代过程，每个迭代包含两个基本步骤：&lt;br /&gt;
* 权威值更新：更新每个节点的权威值，使其等于指向每个节点的枢纽值的总和。即通过从被识别为信息的的页面链接到一个节点，该节点将获得较高的权威值。&lt;br /&gt;
* 枢纽值更新：更新每个节点的枢纽值分数，使其等于它指向的每个节点的权威值之和。即通过链接到被认为是该主题的权威值的节点，节点被赋予较高的枢纽值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
节点的权威值和枢纽值使用以下算法计算：&lt;br /&gt;
* 从每个节点的中心得分和权限得分为1开始。&lt;br /&gt;
* 权威值更新&lt;br /&gt;
* 枢纽值更新&lt;br /&gt;
* 通过将每个Hub得分除以所有Hub得分的平方和的平方根，然后将每个Authority得分除以所有Authority得分的平方和的平方根来归一化值。&lt;br /&gt;
* 根据需要从第二步重复。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
像拉里·佩奇 Larry Page和谢尔盖·布林 Sergey Brin的[[PageRank]]，HITS 是一种基于Web上文档链接的迭代算法。但是它确实有一些主要区别：&lt;br /&gt;
* 它取决于查询，也就是说，链接分析产生的（枢纽值和权威值）受搜索词的影响；&lt;br /&gt;
* 作为推论，它是在查询时而不是在索引时执行的，同时伴随着查询时处理的性能下降。&lt;br /&gt;
* 搜索引擎通常不使用它。&lt;br /&gt;
* 它计算每个文档的两个分数，即枢纽值和权威值，而不是一个PageRank。&lt;br /&gt;
* 它是在“相关”文档中的一小部分（“聚焦子图”或基本集）上处理的，而不是像PageRank那样处理所有文档。&lt;br /&gt;
&lt;br /&gt;
==计算==&lt;br /&gt;
&lt;br /&gt;
算法开始，每一个网页p的初始值为：权威值&amp;lt;math&amp;gt; auth(p) = 1 &amp;lt;/math&amp;gt;，枢纽值&amp;lt;math&amp;gt; hub(p) = 1 &amp;lt;/math&amp;gt;。每一次计算的时候都需要考虑两个值的更新，即权威值更新和枢纽值更新。为了计算每个网页节点的&amp;quot;枢纽值/权威值&amp;quot;得分，使用权威值更新规则和枢纽值更新规则进行反复迭代。&lt;br /&gt;
&lt;br /&gt;
===权威值更新规则===&lt;br /&gt;
对于每个网页 p，&amp;lt;math&amp;gt; auth (p)&amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;auth(p) = \sum_{q\in P_{t_{0}}}hub(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;P_{t_{0}}&amp;lt;/math&amp;gt;是所有链接到网页p的网页，即权威值更新为所有导入链接所在的页面中枢纽值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===枢纽值更新规则===&lt;br /&gt;
对于每个网页p，&amp;lt;math&amp;gt; hub(p) &amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;hub(p) = \sum_{q\in P_{from}}auth(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中,&amp;lt;math&amp;gt;P_{t_{from}}&amp;lt;/math&amp;gt;是所有指向网页p的网页。即枢纽值更新为网页p上所有导出链接指向网页的权威值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===归一化===&lt;br /&gt;
在反复迭代后，确定节点的最终权威-枢纽值分数。由于直接按照两者的更新规则进行迭代会导致值出现偏差，因此有必要在每次迭代后进行归一化。因此，最后获得的值将最终收敛。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===算法流程===&lt;br /&gt;
(1)初始化：设定网络中的所有节点的权威值和枢纽值&amp;lt;math&amp;gt;x_{i_{0}}, y_{i{0}}&amp;lt;/math&amp;gt;,其中&amp;lt;math&amp;gt;i=0,1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2)迭代过程：在第k步（k&amp;gt;=1)进行如下三种操作：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a.权威值校正规则：每一个节点的权威值正为指向它的节点的枢纽值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}y_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.枢纽值校正规则：每一个节点的枢纽值校正为它所指向的节点的权威值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;y^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}x_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
c.归一化：&lt;br /&gt;
:&amp;lt;math&amp;gt;x_{i}(k)= \frac{x^{'}_{i}(k)}{||x^{'}(k)||},y_{i}(k)= \frac{y^{'}_{i}(k)}{||y^{'}(k)||},i=1,2,...,N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===伪代码===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
G := set of pages&lt;br /&gt;
for each page p in G do&lt;br /&gt;
    p.auth = 1 // p.auth is the authority score of the page p&lt;br /&gt;
    p.hub = 1 // p.hub is the hub score of the page p&lt;br /&gt;
    for step from 1 to k do // run the algorithm for k steps&lt;br /&gt;
        norm = 0&lt;br /&gt;
        for each page p in G do  // update all authority values first&lt;br /&gt;
            p.auth = 0&lt;br /&gt;
            for each page q in p.incomingNeighbors do // p.incomingNeighbors is the set of pages that link to p&lt;br /&gt;
                p.auth += q.hub&lt;br /&gt;
            norm += square(p.auth) // calculate the sum of the squared auth values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // update the auth scores &lt;br /&gt;
             p.auth = p.auth / norm  // normalise the auth values&lt;br /&gt;
         norm = 0&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = 0&lt;br /&gt;
             for each page r in p.outgoingNeighbors do // p.outgoingNeighbors is the set of pages that p links to&lt;br /&gt;
                 p.hub += r.auth&lt;br /&gt;
             norm += square(p.hub) // calculate the sum of the squared hub values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = p.hub / norm   // normalise the hub values&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
* [https://baike.baidu.com/item/HITS%E7%AE%97%E6%B3%95 HITS算法的百度百科页面]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/HITS_algorithm  HITS算法的英文维基百科页面]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:网络科学导论.jpg|250px|right|thumb|书籍《网络科学导论》封面]]&lt;br /&gt;
&lt;br /&gt;
====网络科学导论====&lt;br /&gt;
对各种复杂网络的定量与定性特征的科学理解已成为网络时代科学研究中一个极其重要的挑战性课题，网络科学就是一门正在兴起的面对这一挑战的交叉性学科。本书致力于系统地介绍网络科学的基本概念、思想和方法，使得具有高等数学基础的读者都能够看懂，并具备把网络科学方法用于实际网络分析的能力。为此，本书没有过多地陷入数学和物理推导，而是更为关注网络科学的思维习惯和研究方式。本书在概要介绍了网络科学的背景和研究意义之后，分为四个部分详细介绍了网络基本概念、网络拓扑性质、网络拓扑模型和网络动力学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.cnblogs.com/rubinorth/p/5800624.html HITS算法--从原理到实现]====&lt;br /&gt;
该文章介绍HITS算法的HITS算法的来源、原理，并利用python和MapReduce实现该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]用户参与编译，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:链接分析]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7699</id>
		<title>HITS算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7699"/>
		<updated>2020-05-11T09:39:49Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 算法描述 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=HITS,HITS算法,排序算法,算法&lt;br /&gt;
|description=网络科学,网页排序,期刊影响因子&lt;br /&gt;
}}&lt;br /&gt;
'''Hyperlink-Induced Topic Search'''，简称HITS算法，是一种由[https://en.wikipedia.org/wiki/Jon_Kleinberg Jon Kleinberg]开发的对网页进行评分排名的'''链路分析算法'''。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
网络的枢纽性和权威性源于互联网最初形成时候对网页创建的观察，即某些网页，被称之为'''网络枢纽'''，作为大型目录，它们所持有的信息实际上并不具有权威性，而是作为一个广泛的信息目录的汇总中心，引导用户直接访问其他具有权威性的网页。换句话说，一个好的枢纽表示一个网页可以链接网页，一个具有权威性的网页会被很多枢纽中心指向。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==发展历史==&lt;br /&gt;
===学术期刊上===&lt;br /&gt;
对学术期刊进行排名有许多的方法。其中有一个方法叫做'''Garfield'''的影响因子。 像《Science》和《Nature》这样的期刊被引用的次数很多，所以这些杂志具有很高的影响因子。 因此，如果比较两种被引用次数大致相同的期刊，但其中一种被《Science》和《Nature》杂志引用次数较多的，则该期刊的排名会更高。 换句话说，被一个影响因子更高的文章引用比被影响因子更低的文章引用更好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===万维网上===&lt;br /&gt;
这种现象同样发生在互联网上。 通过计算一个网页的链接数量，我们可以大致估计出它在网络上的排名，但是如果这些链接中有两个来自百度、中国新浪网等网站的主页，那么一个只有很少的链接的网页也可能有较高的排名。 因为这些网站都是影响因子更高的，而且都是搜索引擎，因此网页的排名可以比其实际高得多。&lt;br /&gt;
&lt;br /&gt;
==算法描述==&lt;br /&gt;
[[File:SetsEN.jpg|300px|right|thumb|根集合展开为基本集合]]&lt;br /&gt;
HITS算法的基本思想就是：每个网页的重要性由两个指标刻画——'''权威性 Authority'''和'''枢纽性 Hub''' 。例如当我们想要查找“集智俱乐部”有关的页面时候，显然[https://swarma.org/ 集智俱乐部]首页最具有权威性。但是，如果万维网上有一个网页H，该网页的功能就是给出全世界所有科技类的组织机构的主页链接，那么其中就会包含有[[集智俱乐部]]。那么H网页就会有较高的枢纽值，也就是说网页H可以链接到一些比较有权威性质的网站。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HITS算法中，第一步是检索与关键字最相关的页面。得到的结果集合为'''根集合 root set'''，即该集合可以通过基于文本的搜索算法获得。根集合展开为'''基本集合 base set'''。基本集合则由一个网页指向的其他网页和其他指向该网页的网页组成。基本集合中的网页以及这些页面之间的所有超链接形成一个重点突出的子图。HITS计算仅在此聚焦子图上执行。据Kleinberg的结论，建立基本集合的原因是要确保网页的绝对权威性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
权威性和枢纽性是互相依存、互相影响的。权威值是指所有导入链接所在的页面中枢纽值之和。枢纽值指的是网页上所有导出链接指向页面的权威值之和。实际应用中，还需要考虑链接页面的相关性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法执行一系列迭代过程，每个迭代包含两个基本步骤：&lt;br /&gt;
* 权威值更新：更新每个节点的权威值，使其等于指向每个节点的枢纽值的总和。即通过从被识别为信息的的页面链接到一个节点，该节点将获得较高的权威值。&lt;br /&gt;
* 枢纽值更新：更新每个节点的枢纽值分数，使其等于它指向的每个节点的权威值之和。即通过链接到被认为是该主题的权威值的节点，节点被赋予较高的枢纽值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
节点的权威值和枢纽值使用以下算法计算：&lt;br /&gt;
* 从每个节点的中心得分和权限得分为1开始。&lt;br /&gt;
* 权威值更新&lt;br /&gt;
* 枢纽值更新&lt;br /&gt;
* 通过将每个Hub得分除以所有Hub得分的平方和的平方根，然后将每个Authority得分除以所有Authority得分的平方和的平方根来归一化值。&lt;br /&gt;
* 根据需要从第二步重复。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
像拉里·佩奇 Larry Page和谢尔盖·布林 Sergey Brin的[[PageRank]]，HITS 是一种基于Web上文档链接的迭代算法。但是它确实有一些主要区别：&lt;br /&gt;
* 它取决于查询，也就是说，链接分析产生的（枢纽值和权威值）受搜索词的影响；&lt;br /&gt;
* 作为推论，它是在查询时而不是在索引时执行的，同时伴随着查询时处理的性能下降。&lt;br /&gt;
* 搜索引擎通常不使用它。&lt;br /&gt;
* 它计算每个文档的两个分数，即枢纽值和权威值，而不是一个PageRank。&lt;br /&gt;
* 它是在“相关”文档中的一小部分（“聚焦子图”或基本集）上处理的，而不是像PageRank那样处理所有文档。&lt;br /&gt;
&lt;br /&gt;
==计算==&lt;br /&gt;
&lt;br /&gt;
算法开始，每一个网页p的初始值为：权威值&amp;lt;math&amp;gt; auth(p) = 1 &amp;lt;/math&amp;gt;，枢纽值&amp;lt;math&amp;gt; hub(p) = 1 &amp;lt;/math&amp;gt;。每一次计算的时候都需要考虑两个值的更新，即权威值更新和枢纽值更新。为了计算每个网页节点的&amp;quot;枢纽值/权威值&amp;quot;得分，使用权威值更新规则和枢纽值更新规则进行反复迭代。&lt;br /&gt;
&lt;br /&gt;
===权威值更新规则===&lt;br /&gt;
对于每个网页 p，&amp;lt;math&amp;gt; auth (p)&amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;auth(p) = \sum_{q\in P_{t_{0}}}hub(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;P_{t_{0}}&amp;lt;/math&amp;gt;是所有链接到网页p的网页，即权威值更新为所有导入链接所在的页面中枢纽值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===枢纽值更新规则===&lt;br /&gt;
对于每个网页p，&amp;lt;math&amp;gt; hub(p) &amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;hub(p) = \sum_{q\in P_{from}}auth(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中,&amp;lt;math&amp;gt;P_{t_{from}}&amp;lt;/math&amp;gt;是所有指向网页p的网页。即枢纽值更新为网页p上所有导出链接指向网页的权威值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===归一化===&lt;br /&gt;
在反复迭代后，确定节点的最终权威-枢纽值分数。由于直接按照两者的更新规则进行迭代会导致值出现偏差，因此有必要在每次迭代后进行归一化。因此，最后获得的值将最终收敛。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===算法流程===&lt;br /&gt;
(1)初始化：设定网络中的所有节点的权威值和枢纽值&amp;lt;math&amp;gt;x_{i_{0}}, y_{i{0}}&amp;lt;/math&amp;gt;,其中&amp;lt;math&amp;gt;i=0,1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2)迭代过程：在第k步（k&amp;gt;=1)进行如下三种操作：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a.权威值校正规则：每一个节点的权威值正为指向它的节点的枢纽值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}y_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.枢纽值校正规则：每一个节点的枢纽值校正为它所指向的节点的权威值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;y^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}x_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
c.归一化：&lt;br /&gt;
:&amp;lt;math&amp;gt;x_{i}(k)= \frac{x^{'}_{i}(k)}{||x^{'}(k)||},y_{i}(k)= \frac{y^{'}_{i}(k)}{||y^{'}(k)||},i=1,2,...,N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===伪代码===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
G := set of pages&lt;br /&gt;
for each page p in G do&lt;br /&gt;
    p.auth = 1 // p.auth is the authority score of the page p&lt;br /&gt;
    p.hub = 1 // p.hub is the hub score of the page p&lt;br /&gt;
    for step from 1 to k do // run the algorithm for k steps&lt;br /&gt;
        norm = 0&lt;br /&gt;
        for each page p in G do  // update all authority values first&lt;br /&gt;
            p.auth = 0&lt;br /&gt;
            for each page q in p.incomingNeighbors do // p.incomingNeighbors is the set of pages that link to p&lt;br /&gt;
                p.auth += q.hub&lt;br /&gt;
            norm += square(p.auth) // calculate the sum of the squared auth values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // update the auth scores &lt;br /&gt;
             p.auth = p.auth / norm  // normalise the auth values&lt;br /&gt;
         norm = 0&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = 0&lt;br /&gt;
             for each page r in p.outgoingNeighbors do // p.outgoingNeighbors is the set of pages that p links to&lt;br /&gt;
                 p.hub += r.auth&lt;br /&gt;
             norm += square(p.hub) // calculate the sum of the squared hub values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = p.hub / norm   // normalise the hub values&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
* [https://baike.baidu.com/item/HITS%E7%AE%97%E6%B3%95 HITS算法的百度百科页面]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/HITS_algorithm  HITS算法的英文维基百科页面]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:网络科学导论.jpg|250px|right|thumb|书籍《网络科学导论》封面]]&lt;br /&gt;
&lt;br /&gt;
====网络科学导论====&lt;br /&gt;
对各种复杂网络的定量与定性特征的科学理解已成为网络时代科学研究中一个极其重要的挑战性课题，网络科学就是一门正在兴起的面对这一挑战的交叉性学科。本书致力于系统地介绍网络科学的基本概念、思想和方法，使得具有高等数学基础的读者都能够看懂，并具备把网络科学方法用于实际网络分析的能力。为此，本书没有过多地陷入数学和物理推导，而是更为关注网络科学的思维习惯和研究方式。本书在概要介绍了网络科学的背景和研究意义之后，分为四个部分详细介绍了网络基本概念、网络拓扑性质、网络拓扑模型和网络动力学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.cnblogs.com/rubinorth/p/5800624.html HITS算法--从原理到实现]====&lt;br /&gt;
该文章介绍HITS算法的HITS算法的来源、原理，并利用python和MapReduce实现该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]用户参与编译，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:链接分析]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7698</id>
		<title>HITS算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7698"/>
		<updated>2020-05-11T09:38:35Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 算法描述 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=HITS,HITS算法,排序算法,算法&lt;br /&gt;
|description=网络科学,网页排序,期刊影响因子&lt;br /&gt;
}}&lt;br /&gt;
'''Hyperlink-Induced Topic Search'''，简称HITS算法，是一种由[https://en.wikipedia.org/wiki/Jon_Kleinberg Jon Kleinberg]开发的对网页进行评分排名的'''链路分析算法'''。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
网络的枢纽性和权威性源于互联网最初形成时候对网页创建的观察，即某些网页，被称之为'''网络枢纽'''，作为大型目录，它们所持有的信息实际上并不具有权威性，而是作为一个广泛的信息目录的汇总中心，引导用户直接访问其他具有权威性的网页。换句话说，一个好的枢纽表示一个网页可以链接网页，一个具有权威性的网页会被很多枢纽中心指向。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==发展历史==&lt;br /&gt;
===学术期刊上===&lt;br /&gt;
对学术期刊进行排名有许多的方法。其中有一个方法叫做'''Garfield'''的影响因子。 像《Science》和《Nature》这样的期刊被引用的次数很多，所以这些杂志具有很高的影响因子。 因此，如果比较两种被引用次数大致相同的期刊，但其中一种被《Science》和《Nature》杂志引用次数较多的，则该期刊的排名会更高。 换句话说，被一个影响因子更高的文章引用比被影响因子更低的文章引用更好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===万维网上===&lt;br /&gt;
这种现象同样发生在互联网上。 通过计算一个网页的链接数量，我们可以大致估计出它在网络上的排名，但是如果这些链接中有两个来自百度、中国新浪网等网站的主页，那么一个只有很少的链接的网页也可能有较高的排名。 因为这些网站都是影响因子更高的，而且都是搜索引擎，因此网页的排名可以比其实际高得多。&lt;br /&gt;
&lt;br /&gt;
==算法描述==&lt;br /&gt;
[[File:SetsEN.jpg|300px|right|thumb|根集展开为基本集]]&lt;br /&gt;
HITS算法的基本思想就是：每个网页的重要性由两个指标刻画——'''权威性 Authority'''和'''枢纽性 Hub''' 。例如当我们想要查找“集智俱乐部”有关的页面时候，显然[https://swarma.org/ 集智俱乐部]首页最具有权威性。但是，如果万维网上有一个网页H，该网页的功能就是给出全世界所有科技类的组织机构的主页链接，那么其中就会包含有[[集智俱乐部]]。那么H网页就会有较高的枢纽值，也就是说网页H可以链接到一些比较有权威性质的网站。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HITS算法中，第一步是检索与关键字最相关的页面。得到的结果集合为'''根集合 root set'''，即该集合可以通过基于文本的搜索算法获得。根集合展开为'''基本集合 base set'''。基本集合则由一个网页指向的其他网页和其他指向该网页的网页组成。基本集合中的网页以及这些页面之间的所有超链接形成一个重点突出的子图。HITS计算仅在此聚焦子图上执行。据Kleinberg的结论，建立基本集合的原因是要确保网页的绝对权威性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
权威性和枢纽性是互相依存、互相影响的。权威值是指所有导入链接所在的页面中枢纽值之和。枢纽值指的是网页上所有导出链接指向页面的权威值之和。实际应用中，还需要考虑链接页面的相关性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法执行一系列迭代过程，每个迭代包含两个基本步骤：&lt;br /&gt;
* 权威值更新：更新每个节点的权威值，使其等于指向每个节点的枢纽值的总和。即通过从被识别为信息的的页面链接到一个节点，该节点将获得较高的权威值。&lt;br /&gt;
* 枢纽值更新：更新每个节点的枢纽值分数，使其等于它指向的每个节点的权威值之和。即通过链接到被认为是该主题的权威值的节点，节点被赋予较高的枢纽值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
节点的权威值和枢纽值使用以下算法计算：&lt;br /&gt;
* 从每个节点的中心得分和权限得分为1开始。&lt;br /&gt;
* 权威值更新&lt;br /&gt;
* 枢纽值更新&lt;br /&gt;
* 通过将每个Hub得分除以所有Hub得分的平方和的平方根，然后将每个Authority得分除以所有Authority得分的平方和的平方根来归一化值。&lt;br /&gt;
* 根据需要从第二步重复。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
像拉里·佩奇 Larry Page和谢尔盖·布林 Sergey Brin的[[PageRank]]，HITS 是一种基于Web上文档链接的迭代算法。但是它确实有一些主要区别：&lt;br /&gt;
* 它取决于查询，也就是说，链接分析产生的（枢纽值和权威值）受搜索词的影响；&lt;br /&gt;
* 作为推论，它是在查询时而不是在索引时执行的，同时伴随着查询时处理的性能下降。&lt;br /&gt;
* 搜索引擎通常不使用它。&lt;br /&gt;
* 它计算每个文档的两个分数，即枢纽值和权威值，而不是一个PageRank。&lt;br /&gt;
* 它是在“相关”文档中的一小部分（“聚焦子图”或基本集）上处理的，而不是像PageRank那样处理所有文档。&lt;br /&gt;
&lt;br /&gt;
==计算==&lt;br /&gt;
&lt;br /&gt;
算法开始，每一个网页p的初始值为：权威值&amp;lt;math&amp;gt; auth(p) = 1 &amp;lt;/math&amp;gt;，枢纽值&amp;lt;math&amp;gt; hub(p) = 1 &amp;lt;/math&amp;gt;。每一次计算的时候都需要考虑两个值的更新，即权威值更新和枢纽值更新。为了计算每个网页节点的&amp;quot;枢纽值/权威值&amp;quot;得分，使用权威值更新规则和枢纽值更新规则进行反复迭代。&lt;br /&gt;
&lt;br /&gt;
===权威值更新规则===&lt;br /&gt;
对于每个网页 p，&amp;lt;math&amp;gt; auth (p)&amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;auth(p) = \sum_{q\in P_{t_{0}}}hub(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;P_{t_{0}}&amp;lt;/math&amp;gt;是所有链接到网页p的网页，即权威值更新为所有导入链接所在的页面中枢纽值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===枢纽值更新规则===&lt;br /&gt;
对于每个网页p，&amp;lt;math&amp;gt; hub(p) &amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;hub(p) = \sum_{q\in P_{from}}auth(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中,&amp;lt;math&amp;gt;P_{t_{from}}&amp;lt;/math&amp;gt;是所有指向网页p的网页。即枢纽值更新为网页p上所有导出链接指向网页的权威值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===归一化===&lt;br /&gt;
在反复迭代后，确定节点的最终权威-枢纽值分数。由于直接按照两者的更新规则进行迭代会导致值出现偏差，因此有必要在每次迭代后进行归一化。因此，最后获得的值将最终收敛。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===算法流程===&lt;br /&gt;
(1)初始化：设定网络中的所有节点的权威值和枢纽值&amp;lt;math&amp;gt;x_{i_{0}}, y_{i{0}}&amp;lt;/math&amp;gt;,其中&amp;lt;math&amp;gt;i=0,1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2)迭代过程：在第k步（k&amp;gt;=1)进行如下三种操作：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a.权威值校正规则：每一个节点的权威值正为指向它的节点的枢纽值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}y_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.枢纽值校正规则：每一个节点的枢纽值校正为它所指向的节点的权威值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;y^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}x_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
c.归一化：&lt;br /&gt;
:&amp;lt;math&amp;gt;x_{i}(k)= \frac{x^{'}_{i}(k)}{||x^{'}(k)||},y_{i}(k)= \frac{y^{'}_{i}(k)}{||y^{'}(k)||},i=1,2,...,N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===伪代码===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
G := set of pages&lt;br /&gt;
for each page p in G do&lt;br /&gt;
    p.auth = 1 // p.auth is the authority score of the page p&lt;br /&gt;
    p.hub = 1 // p.hub is the hub score of the page p&lt;br /&gt;
    for step from 1 to k do // run the algorithm for k steps&lt;br /&gt;
        norm = 0&lt;br /&gt;
        for each page p in G do  // update all authority values first&lt;br /&gt;
            p.auth = 0&lt;br /&gt;
            for each page q in p.incomingNeighbors do // p.incomingNeighbors is the set of pages that link to p&lt;br /&gt;
                p.auth += q.hub&lt;br /&gt;
            norm += square(p.auth) // calculate the sum of the squared auth values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // update the auth scores &lt;br /&gt;
             p.auth = p.auth / norm  // normalise the auth values&lt;br /&gt;
         norm = 0&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = 0&lt;br /&gt;
             for each page r in p.outgoingNeighbors do // p.outgoingNeighbors is the set of pages that p links to&lt;br /&gt;
                 p.hub += r.auth&lt;br /&gt;
             norm += square(p.hub) // calculate the sum of the squared hub values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = p.hub / norm   // normalise the hub values&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
* [https://baike.baidu.com/item/HITS%E7%AE%97%E6%B3%95 HITS算法的百度百科页面]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/HITS_algorithm  HITS算法的英文维基百科页面]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:网络科学导论.jpg|250px|right|thumb|书籍《网络科学导论》封面]]&lt;br /&gt;
&lt;br /&gt;
====网络科学导论====&lt;br /&gt;
对各种复杂网络的定量与定性特征的科学理解已成为网络时代科学研究中一个极其重要的挑战性课题，网络科学就是一门正在兴起的面对这一挑战的交叉性学科。本书致力于系统地介绍网络科学的基本概念、思想和方法，使得具有高等数学基础的读者都能够看懂，并具备把网络科学方法用于实际网络分析的能力。为此，本书没有过多地陷入数学和物理推导，而是更为关注网络科学的思维习惯和研究方式。本书在概要介绍了网络科学的背景和研究意义之后，分为四个部分详细介绍了网络基本概念、网络拓扑性质、网络拓扑模型和网络动力学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.cnblogs.com/rubinorth/p/5800624.html HITS算法--从原理到实现]====&lt;br /&gt;
该文章介绍HITS算法的HITS算法的来源、原理，并利用python和MapReduce实现该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]用户参与编译，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:链接分析]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7697</id>
		<title>HITS算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=HITS%E7%AE%97%E6%B3%95&amp;diff=7697"/>
		<updated>2020-05-11T09:37:33Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 万维网上 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=HITS,HITS算法,排序算法,算法&lt;br /&gt;
|description=网络科学,网页排序,期刊影响因子&lt;br /&gt;
}}&lt;br /&gt;
'''Hyperlink-Induced Topic Search'''，简称HITS算法，是一种由[https://en.wikipedia.org/wiki/Jon_Kleinberg Jon Kleinberg]开发的对网页进行评分排名的'''链路分析算法'''。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
网络的枢纽性和权威性源于互联网最初形成时候对网页创建的观察，即某些网页，被称之为'''网络枢纽'''，作为大型目录，它们所持有的信息实际上并不具有权威性，而是作为一个广泛的信息目录的汇总中心，引导用户直接访问其他具有权威性的网页。换句话说，一个好的枢纽表示一个网页可以链接网页，一个具有权威性的网页会被很多枢纽中心指向。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==发展历史==&lt;br /&gt;
===学术期刊上===&lt;br /&gt;
对学术期刊进行排名有许多的方法。其中有一个方法叫做'''Garfield'''的影响因子。 像《Science》和《Nature》这样的期刊被引用的次数很多，所以这些杂志具有很高的影响因子。 因此，如果比较两种被引用次数大致相同的期刊，但其中一种被《Science》和《Nature》杂志引用次数较多的，则该期刊的排名会更高。 换句话说，被一个影响因子更高的文章引用比被影响因子更低的文章引用更好。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===万维网上===&lt;br /&gt;
这种现象同样发生在互联网上。 通过计算一个网页的链接数量，我们可以大致估计出它在网络上的排名，但是如果这些链接中有两个来自百度、中国新浪网等网站的主页，那么一个只有很少的链接的网页也可能有较高的排名。 因为这些网站都是影响因子更高的，而且都是搜索引擎，因此网页的排名可以比其实际高得多。&lt;br /&gt;
&lt;br /&gt;
==算法描述==&lt;br /&gt;
[[File:SetsEN.jpg|300px|right|thumb|根集展开为基本集]]&lt;br /&gt;
HITS算法的基本思想就是：每个网页的重要性由两个指标刻画——'''权威性 Authority'''和'''枢纽性 Hub''' 。例如当我们想要查找“集智俱乐部”有关的页面时候，显然[https://swarma.org/ 集智俱乐部]首页最具有权威性。但是，如果万维网上有一个网页H，该网页的功能就是给出全世界所有科技类的组织机构的主页链接，那么其中就会包含有[[集智俱乐部]]。那么H网页就会有较高的枢纽值，也就是说网页H可以链接到一些比较有权威性质的网站。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HITS算法中，第一步是检索与关键字最相关的页面。得到的结果集合为'''根集 root set'''，即该集合可以通过基于文本的搜索算法获得。根集展开为'''基本集 base set'''。基本集则由一个网页指向的其他网页和其他指向该网页的网页组成。基本集中的网页以及这些页面之间的所有超链接形成一个重点突出的子图。HITS计算仅在此聚焦子图上执行。据Kleinberg的结论，建立基础集的原因是要确保网页的绝对权威性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
权威性和枢纽性是互相依存、互相影响的。权威值是指所有导入链接所在的页面中枢纽值之和。枢纽值指的是网页上所有导出链接指向页面的权威值之和。实际应用中，还需要考虑链接页面的相关性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该算法执行一系列迭代过程，每个迭代包含两个基本步骤：&lt;br /&gt;
* 权威值更新：更新每个节点的权威值，使其等于指向每个节点的枢纽值的总和。即通过从被识别为信息的的页面链接到一个节点，该节点将获得较高的权威值。&lt;br /&gt;
* 枢纽值更新：更新每个节点的枢纽值分数，使其等于它指向的每个节点的权威值之和。即通过链接到被认为是该主题的权威值的节点，节点被赋予较高的枢纽值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
节点的权威值和枢纽值使用以下算法计算：&lt;br /&gt;
* 从每个节点的中心得分和权限得分为1开始。&lt;br /&gt;
* 权威值更新&lt;br /&gt;
* 枢纽值更新&lt;br /&gt;
* 通过将每个Hub得分除以所有Hub得分的平方和的平方根，然后将每个Authority得分除以所有Authority得分的平方和的平方根来归一化值。&lt;br /&gt;
* 根据需要从第二步重复。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
像拉里·佩奇 Larry Page和谢尔盖·布林 Sergey Brin的[[PageRank]]，HITS 是一种基于Web上文档链接的迭代算法。但是它确实有一些主要区别：&lt;br /&gt;
* 它取决于查询，也就是说，链接分析产生的（枢纽值和权威值）受搜索词的影响；&lt;br /&gt;
* 作为推论，它是在查询时而不是在索引时执行的，同时伴随着查询时处理的性能下降。&lt;br /&gt;
* 搜索引擎通常不使用它。&lt;br /&gt;
* 它计算每个文档的两个分数，即枢纽值和权威值，而不是一个PageRank。&lt;br /&gt;
* 它是在“相关”文档中的一小部分（“聚焦子图”或基本集）上处理的，而不是像PageRank那样处理所有文档。&lt;br /&gt;
&lt;br /&gt;
==计算==&lt;br /&gt;
&lt;br /&gt;
算法开始，每一个网页p的初始值为：权威值&amp;lt;math&amp;gt; auth(p) = 1 &amp;lt;/math&amp;gt;，枢纽值&amp;lt;math&amp;gt; hub(p) = 1 &amp;lt;/math&amp;gt;。每一次计算的时候都需要考虑两个值的更新，即权威值更新和枢纽值更新。为了计算每个网页节点的&amp;quot;枢纽值/权威值&amp;quot;得分，使用权威值更新规则和枢纽值更新规则进行反复迭代。&lt;br /&gt;
&lt;br /&gt;
===权威值更新规则===&lt;br /&gt;
对于每个网页 p，&amp;lt;math&amp;gt; auth (p)&amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;auth(p) = \sum_{q\in P_{t_{0}}}hub(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;P_{t_{0}}&amp;lt;/math&amp;gt;是所有链接到网页p的网页，即权威值更新为所有导入链接所在的页面中枢纽值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===枢纽值更新规则===&lt;br /&gt;
对于每个网页p，&amp;lt;math&amp;gt; hub(p) &amp;lt;/math&amp;gt;更新为：&amp;lt;math&amp;gt;hub(p) = \sum_{q\in P_{from}}auth(q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中,&amp;lt;math&amp;gt;P_{t_{from}}&amp;lt;/math&amp;gt;是所有指向网页p的网页。即枢纽值更新为网页p上所有导出链接指向网页的权威值求和。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===归一化===&lt;br /&gt;
在反复迭代后，确定节点的最终权威-枢纽值分数。由于直接按照两者的更新规则进行迭代会导致值出现偏差，因此有必要在每次迭代后进行归一化。因此，最后获得的值将最终收敛。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===算法流程===&lt;br /&gt;
(1)初始化：设定网络中的所有节点的权威值和枢纽值&amp;lt;math&amp;gt;x_{i_{0}}, y_{i{0}}&amp;lt;/math&amp;gt;,其中&amp;lt;math&amp;gt;i=0,1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(2)迭代过程：在第k步（k&amp;gt;=1)进行如下三种操作：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a.权威值校正规则：每一个节点的权威值正为指向它的节点的枢纽值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;x^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}y_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
b.枢纽值校正规则：每一个节点的枢纽值校正为它所指向的节点的权威值之和，即：&lt;br /&gt;
:&amp;lt;math&amp;gt;y^{'}_{i}(k) = \sum^{N}_{j=1}a_{ji}x_{j}(k-1),i = 1,2,...,N&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
c.归一化：&lt;br /&gt;
:&amp;lt;math&amp;gt;x_{i}(k)= \frac{x^{'}_{i}(k)}{||x^{'}(k)||},y_{i}(k)= \frac{y^{'}_{i}(k)}{||y^{'}(k)||},i=1,2,...,N&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===伪代码===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
G := set of pages&lt;br /&gt;
for each page p in G do&lt;br /&gt;
    p.auth = 1 // p.auth is the authority score of the page p&lt;br /&gt;
    p.hub = 1 // p.hub is the hub score of the page p&lt;br /&gt;
    for step from 1 to k do // run the algorithm for k steps&lt;br /&gt;
        norm = 0&lt;br /&gt;
        for each page p in G do  // update all authority values first&lt;br /&gt;
            p.auth = 0&lt;br /&gt;
            for each page q in p.incomingNeighbors do // p.incomingNeighbors is the set of pages that link to p&lt;br /&gt;
                p.auth += q.hub&lt;br /&gt;
            norm += square(p.auth) // calculate the sum of the squared auth values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // update the auth scores &lt;br /&gt;
             p.auth = p.auth / norm  // normalise the auth values&lt;br /&gt;
         norm = 0&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = 0&lt;br /&gt;
             for each page r in p.outgoingNeighbors do // p.outgoingNeighbors is the set of pages that p links to&lt;br /&gt;
                 p.hub += r.auth&lt;br /&gt;
             norm += square(p.hub) // calculate the sum of the squared hub values to normalise&lt;br /&gt;
         norm = sqrt(norm)&lt;br /&gt;
         for each page p in G do  // then update all hub values&lt;br /&gt;
             p.hub = p.hub / norm   // normalise the hub values&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
* [https://baike.baidu.com/item/HITS%E7%AE%97%E6%B3%95 HITS算法的百度百科页面]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/HITS_algorithm  HITS算法的英文维基百科页面]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:网络科学导论.jpg|250px|right|thumb|书籍《网络科学导论》封面]]&lt;br /&gt;
&lt;br /&gt;
====网络科学导论====&lt;br /&gt;
对各种复杂网络的定量与定性特征的科学理解已成为网络时代科学研究中一个极其重要的挑战性课题，网络科学就是一门正在兴起的面对这一挑战的交叉性学科。本书致力于系统地介绍网络科学的基本概念、思想和方法，使得具有高等数学基础的读者都能够看懂，并具备把网络科学方法用于实际网络分析的能力。为此，本书没有过多地陷入数学和物理推导，而是更为关注网络科学的思维习惯和研究方式。本书在概要介绍了网络科学的背景和研究意义之后，分为四个部分详细介绍了网络基本概念、网络拓扑性质、网络拓扑模型和网络动力学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.cnblogs.com/rubinorth/p/5800624.html HITS算法--从原理到实现]====&lt;br /&gt;
该文章介绍HITS算法的HITS算法的来源、原理，并利用python和MapReduce实现该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]用户参与编译，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:链接分析]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%86%B5&amp;diff=7072</id>
		<title>熵</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%86%B5&amp;diff=7072"/>
		<updated>2020-05-07T01:16:17Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 编者推荐 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=热力学,系统混乱程度,状态函数&lt;br /&gt;
|description=可逆过程,系统混乱程度,状态函数&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''熵 Entropy'''，是一种度量能量退化的指标，最初是用来描述“能量退化”的物质状态参数之一。熵亦被用于计算一个系统中的失序现象，也就是计算该系统混乱的程度。熵是一个描述系统状态的函数，但是经常用熵的参考值和变化量进行分析比较，它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用，在不同的学科中也有引申出的更为具体的定义，是各领域十分重要的参量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==熵的热力学定义==&lt;br /&gt;
&lt;br /&gt;
在统计力学中，熵是热力学系统的[https://en.wikipedia.org/wiki/Intensive_and_extensive_properties#Extensive_properties 广延量]。它与组成系统宏观量（如体积、压力和温度）的微观状态（也称“微观态”）的数量紧密相关。熵表示定义宏观量的不同状态的数量&amp;lt;math&amp;gt;Ω&amp;lt;/math&amp;gt;。&amp;lt;ref&amp;gt;{{cite book|first=Roberto|last=Ligrone|date=2019|chapter=Glossary|department=Entropy|chapter-url=https://books.google.ca/books?id=c86aDwAAQBAJ&amp;amp;pg=PA478|title=Biological Innovations that Built the World: A Four-billion-year Journey through Life &amp;amp; Earth History|page=478|isbn=978-3030160562|publisher=Springer|accessdate=2019-08-29}}&amp;lt;/ref&amp;gt;假设每个微观态存在的概率相等，熵&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;则定义为微观状态数的自然对数乘以[[玻尔兹曼常数]]&amp;lt;math&amp;gt;k_B&amp;lt;/math&amp;gt;， 即&lt;br /&gt;
&amp;lt;math&amp;gt;S=k_B\ln(\Omega)&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一般情况，微观系统的微观状态数目非常大。例如，理想气体的熵与气体分子数量N成正比。标准条件(常温常压）下，22.4升的气体中的分子数大约为6.022 × 10&amp;lt;sup&amp;gt;23&amp;lt;/sup&amp;gt;（[[阿伏伽德罗常数]]）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[热力学第二定律]]告诉我们孤立系统的熵不随时间减少，且会自发地向熵最大热平衡演化。非孤立系统，比如有机体，熵会减少，使得它们的环境熵增或者不变。因此，宇宙的总熵一直增加。熵是[[系统状态]]的函数，所以熵变由系统的初始状态和结束状态决定。理想的可逆过程中，熵不变；不可逆过程熵增加。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于熵由随机微观态数目决定，假如系统的宏观状态确定，熵与将系统状态精确描述所需要的其他信息相关。因此，熵也常常被用来描述系统的无序性或随机性，或者用来表达相关信息缺乏程度。&amp;lt;ref&amp;gt;{{cite book|first1=Edward A.|last1=Rietman|first2=Jack A.|last2=Tuszynski|editor-first1=Yuzhuo|editor-last1=Wang|editor-first2=Francesco|editor-last2=Crea|date=2017|chapter=Thermodynamics &amp;amp; Cancer Dormancy: A Perspective|department=Introduction: Entropy &amp;amp; Information|chapter-url=https://books.google.ca/books?id=g6UzDwAAQBAJ&amp;amp;pg=PA63|title=Tumor Dormancy &amp;amp; Recurrence (Cancer Drug Discovery and Development)|page=63|isbn=978-3319592404|publisher=Humana Press|accessdate=2019-08-29}}&amp;lt;/ref&amp;gt; 熵的概念在[[信息论]]中非常重要。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
[[File:Clausius.jpg|170px|thumb|[[鲁道夫·克劳修斯 Rudolf_Clausius]] （1822-1888年），熵概念的创始人]]&lt;br /&gt;
&lt;br /&gt;
法国数学家'''拉扎尔·卡诺 Lazare Carnot'''在1803年发表的“Fundamental Principles of Equilibrium and Movement”一文提出，在任何机器中，加速运动和碰撞代表着动能的损失；任何自然过程都倾向于耗散有用的能量。在这份工作的基础上，1824年他的儿子''' 萨迪·卡诺 Sandi Carnot'''发表“Reflection on the Motive Power of Fire”，文中提出，所有的热机，热量从高温体到低温体的热传递可以做功或者转化为动能，并与“水如何从水车落下”做类比。这是[[热力学第二定律]]的早期理解。&amp;lt;ref&amp;gt;{{cite web|url=http://scienceworld.wolfram.com/biography/CarnotSadi.html|title=Carnot, Sadi (1796–1832)|accessdate=2010-02-24|publisher=Wolfram Research|year=2007}}&amp;lt;/ref&amp;gt; Carnot对热能的观点部分建立在18世纪早期‘牛顿的假说’：热和光都是不能被销毁的物质形式，只能被其他物质相互吸引或排斥；另一部分建立在当时Benjamin Thompson提出的摩擦可以产生热，比如炮弹的原理。&amp;lt;ref&amp;gt;{{Cite book|last=McCulloch|first=Richard, S.|title=Treatise on the Mechanical Theory of Heat and its Applications to the Steam-Engine, etc.|publisher=D. Van Nostrand|year=1876}}&amp;lt;/ref&amp;gt; Carnot认为，如果工作物质，比如蒸汽，完成一个完整的机械循环后会回到初始状态，那么“工作体没有发生变化”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1842年，詹姆斯·焦耳 James Joule从热摩擦实验中总结的[[热力学第一定律]]解释了能量的概念以及在所有过程中的能量转化。但是第一定律无法量化解释摩擦和耗散效应。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1850年至1860年间，德国物理学家[[鲁道夫·克劳修斯 Rudolf Clausius]]反对（热机的）工作体没有发生变化的推测，并通过质疑做功完成时有用热的内在损失，比如摩擦生热，给出了此“变化”的数学解释。&amp;lt;ref name=&amp;quot;Clausius&amp;quot;&amp;gt;{{Cite journal|last=Clausius|first=Rudolf|title=Über die bewegende Kraft der Wärme und die Gesetze, welche sich daraus für die Wärmelehre selbst ableiten lassen|year=1850|doi=10.1002/andp.18501550306|journal=Annalen der Physik|volume=155|issue=3|hdl=2027/uc1.$b242250}} [On the Motive Power of Heat, and on the Laws which can be deduced from it for the Theory of Heat] : Poggendorff's ''Annalen der Physik und Chemie''&amp;lt;/ref&amp;gt;Clausius把热力学系统的熵（比如耗散的能量）或化学物质状态改变时的工作体描述为物质转化物质。&amp;lt;ref name=&amp;quot;Clausius&amp;quot; /&amp;gt;这与艾萨克·牛顿 Isaac Newton的“热是有质量的不可摧毁的粒子”的理论相反。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
随后，[[路德维希·玻尔兹曼 Ludwig Boltzmann]]、[[ 约西亚·威拉德·吉布斯 Josiah Willard Gibbs]]和[[詹姆斯·克莱克·麦克斯韦 James Clerk Maxwell]]等科学家建立熵的统计学基础。1877年，Boltzman将测量理想气体粒子系统的熵可视化，这个框架下熵与理想气体所占微观态数目的自然对数成正比。至此，统计热力学中关键的问题是给定能量&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;，确定&amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;个全同系统的分布状态。Carathéodory通过路径和可积性把熵与过程不可逆的数学定义联系起来。&lt;br /&gt;
&lt;br /&gt;
==词语来源==&lt;br /&gt;
&lt;br /&gt;
1865年，Clausius用希腊语‘转化 transformation’一词给“熵”命名“Entropy（Entropie）”，意为“一个与系统表象有关的状态微分”。&amp;lt;ref name=Gil399&amp;gt;{{cite book |last=Gillispie |first=Charles Coulston |title=The Edge of Objectivity: An Essay in the History of Scientific Ideas |url=https://archive.org/details/edgeofobjectivit0000gill |url-access=registration |year=1960 |publisher=Princeton University Press |isbn=0-691-02350-6 |p=[https://archive.org/details/edgeofobjectivit0000gill/page/399 399]}}&amp;lt;/ref&amp;gt;他认为“transformational content”（Verwandlungsinhalt，德语）是熵的近义词，与“thermal and ergonal content”(Wärme- und Werkinhalt，德语)中的内能 U 同义。他倾向于用熵 Entropy一词作为能量的近义词，因为他发现这两个词的概念近乎“物理意义相似”。&amp;lt;ref name=Gil399/&amp;gt;这个词是由ἔργον(work) 的词根τροπή（transformation）替换而来。&amp;lt;ref&amp;gt;{{cite journal |last1=Clausius |first1=Rudolf |date=1865 |title=Ueber verschiedene für die Anwendung bequeme Formen der Hauptgleichungen der mechanischen Wärmetheorie (Vorgetragen in der naturforsch. Gesellschaft zu Zürich den 24. April 1865) |journal= Annalen der Physik und Chemie|volume=125 |issue=7 |pages=353–400 |doi=10.1002/andp.18652010702 |access-date= |bibcode=1865AnP...201..353C |url=https://zenodo.org/record/1423700 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
1923年，德国科学家普朗克 Planck来中国讲学用到entropy这个词，胡刚复教授翻译时灵机一动，把“商”字加火旁来意译“entropy”这个字，创造了“熵”字（读shāng），因为熵变 &amp;lt;math&amp;gt;dS&amp;lt;/math&amp;gt; 是 &amp;lt;math&amp;gt;dQ&amp;lt;/math&amp;gt; 除以 &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; （温度）的商数。&lt;br /&gt;
&lt;br /&gt;
==定义和表述==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵有两种等价定义：经典热力学定义和统计力学定义，历史上，[[经典热力学]]定义先被提出。此观点认为，不考虑系统的微观细节，而是用经验上定义的热力学变量，如温度、气压、熵和热容来描述。经典热力学假设存在平衡态，但是更多的是尝试定义非平衡系统的熵。&amp;lt;ref&amp;gt;{{cite book|title=The scientific papers of J. Willard Gibbs in Two Volumes|url=https://archive.org/stream/scientificpapers01gibbuoft#page/11/mode/1up|accessdate=2011-02-26|volume=1|year=1906|publisher=Longmans, Green, and Co.|page=11}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵的统计热力学定义以及其他热力学性质是后来发展起来的。这些观点认为，热力学性质是被系统的微观构成的运动的统计规律定义的。这个系统最开始是对一些经典粒子模拟分析得到的，如牛顿粒子组成的气体，随后发现在量子粒子中也成立（光子、声子、自旋等）。&lt;br /&gt;
&lt;br /&gt;
 [[用户:思无涯咿呀咿呀|思无涯咿呀咿呀]]（[[用户讨论:思无涯咿呀咿呀|讨论]]）经验上定义的热力学变量 a set of empirically defined thermodynamic variables[[用户:思无涯咿呀咿呀|思无涯咿呀咿呀]]（[[用户讨论:思无涯咿呀咿呀|讨论]]）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===状态函数===&lt;br /&gt;
许多热力学量都是[[状态函数]]，意味着特定的热力学状态（不同于系统的微观状态）有特定的值。通常情况下，如果已知系统的两个热力学性质，那么可以确定此系统的状态，系统的另外一个热力学性质也可以被确定。比如，一定温度和压力下的一些气体的状态被这些量所确定，所以其体积也是确定的。再比如，一定温度和气压下的只存在单[https://en.wikipedia.org/wiki/Phase_(matter) 相]的系统（由一个单一相的纯物质组成），不仅可以确定其体积，还可以确定它的熵。&amp;lt;ref&amp;gt;J. A. McGovern,{{cite web|url=http://theory.phy.umist.ac.uk/~judith/stat_therm/node29.html |title=2.5 Entropy |accessdate=2013-02-05 |url-status=dead |archiveurl=https://web.archive.org/web/20120923080936/http://theory.phy.umist.ac.uk/~judith/stat_therm/node29.html |archivedate=2012-09-23 }}&amp;lt;/ref&amp;gt; 熵是一个非常有用的量也是因为熵可以看作是状态函数。在[https://en.wikipedia.org/wiki/Carnot_cycle 卡诺循环]中，工作流体回到初始工作时的状态，所以状态函数（如： 熵 Entropy）在一个可逆循环中的线积分是零。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===可逆过程===&lt;br /&gt;
可逆过程中的熵不变。可逆过程是指能做最大功的同时保持热动平衡态。任何快速偏离热动平衡的过程都不可逆。在这些过程中，能量损失变为热量，总熵增加，最大输出功也不能达到。更具体的，可逆过程中熵守恒，而不可逆过程熵不守恒。&amp;lt;ref&amp;gt;{{cite web|title=6.5 Irreversibility, Entropy Changes, and ''Lost Work''|url=http://web.mit.edu/16.unified/www/FALL/thermodynamics/notes/node48.html|website=web.mit.edu|accessdate=21 May 2016}}&amp;lt;/ref&amp;gt;比如卡诺循环，热量从热库经过冷库代表着熵增，输出功代表着可以被用于让热机回到上一个的熵减状态。因此如果过程是可逆的，系统的总熵为零。不可逆过程熵增加。&amp;lt;ref&amp;gt;{{cite web|last1=Lower|first1=Stephen|title=What is entropy?|url=http://www.chem1.com/acad/webtext/thermeq/TE2.html|website=www.chem1.com|accessdate=21 May 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===卡诺循环===&lt;br /&gt;
熵的概念来自Clausius对[https://en.wikipedia.org/wiki/Carnot_cycle 卡诺循环]的研究。&amp;lt;ref&amp;gt;{{cite book|last1=Lavenda|first1=Bernard H.|title=A new perspective on thermodynamics|date=2010|publisher=Springer|location=New York|isbn=978-1-4419-1430-9|edition=Online-Ausg.|chapter=2.3.4}}&amp;lt;/ref&amp;gt;在卡诺循环中，热量&amp;lt;math&amp;gt;Q_\text{H}&amp;lt;/math&amp;gt;在温度&amp;lt;math&amp;gt;T_H&amp;lt;/math&amp;gt;下从“热”库中被等温吸收，并作为热量&amp;lt;math&amp;gt;Q_C&amp;lt;/math&amp;gt;被等温地释放到&amp;lt;math&amp;gt;T_C&amp;lt;/math&amp;gt;处的“冷”库中。 根据'''卡诺原理 Carnot Theory'''，只有在存在温差的情况下，系统才能产生功，并且功应该是温差和热量&amp;lt;math&amp;gt;Q_\text{H}&amp;lt;/math&amp;gt;的某种函数。 卡诺没有区分&amp;lt;math&amp;gt;Q_\text{H}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;Q_C&amp;lt;/math&amp;gt;，因为他使用了一个错误的假设，即[https://en.wikipedia.org/wiki/Caloric_theory 热量理论]是有效的，因此，当&amp;lt;math&amp;gt;Q_\text{H}&amp;lt;/math&amp;gt;大于&amp;lt;math&amp;gt;Q_C&amp;lt;/math&amp;gt;时，热量就得以保存（错误的假设，&amp;lt;math&amp;gt;Q_\text{H}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;Q_C&amp;lt;/math&amp;gt;相等）&amp;lt;ref&amp;gt;{{cite book|last1=Carnot|first1=Sadi Carnot|editor1-last=Fox|editor1-first=Robert|title=Reflexions on the motive power of fire|url=https://archive.org/details/reflexionsonmoti0000carn|url-access=registration|date=1986|publisher=Lilian Barber Press|location=New York|isbn=978-0-936508-16-0|pages=[https://archive.org/details/reflexionsonmoti0000carn/page/26 26]}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last1=Truesdell|first1=C.|title=The tragicomical history of thermodynamics 1822–1854|date=1980|publisher=Springer|location=New York|isbn=978-0-387-90403-0|pages=78–85}}&amp;lt;/ref&amp;gt; 通过Clausius和开尔文Kelvin的努力，现在知道，热机可以产生的最大功是卡诺效率和从热库吸收的热量的乘积：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;height:45px;margin-left:45px;padding-top:10px&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;div style=&amp;quot;float:left;width:500px&amp;quot;&amp;gt;&amp;lt;math&amp;gt;W=(\frac{T_\text{H}-T_\text{C}}{T_\text{H}})Q_\text{H} = (1-\frac{T_\text{C}}{T_\text{H}}) Q_\text{H}&amp;lt;/math&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;(1)&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
为了得到卡诺效率，即&amp;lt;math&amp;gt;1-\frac{T_\text{C}}{T_\text{H}}&amp;lt;/math&amp;gt;，Kelvin必须借助卡诺-克拉珀龙方程Carnot–Clapeyron equation来评估等温膨胀过程中功输出与吸收的热量之比，其中包含一个名为卡诺函数的未知函数。焦耳Joule在给Kelvin的信中提出了卡诺函数可能是从零温度开始测量的温度的可能性。 这使Kelvin得以建立自己的绝对温度标度。&amp;lt;ref&amp;gt;{{cite book|last1=Clerk Maxwel|first1=James|editor1-last=Pesic|editor1-first=Peter|title=Theory of heat|date=2001|publisher=Dover Publications|location=Mineola|isbn=978-0-486-41735-6|pages=115–158}}&amp;lt;/ref&amp;gt; 众所周知，系统产生的功是从热库吸收的热量与释放到冷库的热量之差：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;height:45px;margin-left:45px;padding-top:10px&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;div style=&amp;quot;float:left;width:500px&amp;quot;&amp;gt;&amp;lt;math&amp;gt;W=Q_\text{H}-Q_\text{C}&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;div style=&amp;quot;float:left;&amp;quot;&amp;gt;&amp;lt;math&amp;gt;(2)&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
由于后者在整个循环内都是有效的，这给了Clausius一个指示，即在循环的每个阶段，功和热将不相等，但是它们的差将是状态函数，该函数将在循环完成时消失。状态函数被称为内部能量，它称为热力学的第一定律。&amp;lt;ref name=&amp;quot;Clausius1867&amp;quot;&amp;gt;{{cite book|author=Rudolf Clausius|title=The Mechanical Theory of Heat: With Its Applications to the Steam-engine and to the Physical Properties of Bodies|url=https://books.google.com/books?id=8LIEAAAAYAAJ|year=1867|publisher=J. Van Voorst|isbn=978-1-4981-6733-8|page=28}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
现在，使等式（1）等于等式（2）得到：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \frac{Q_\text{H}}{T_\text{H}}-\frac{Q_\text{C}}{T_\text{C}}=0 &amp;lt;/math&amp;gt;，或者，&amp;lt;math&amp;gt; \frac{Q_\text{H}}{T_\text{H}}=\frac{Q_\text{C}}{T_\text{C}} &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
这意味着在卡诺循环的整个循环中都有一个守恒的状态函数。 Clausius称这种状态函数为熵。 可以看到，熵是通过数学而不是通过实验室结果发现的。 它是一种数学构造，没有简单的物理类比。 这使该概念有些模糊或抽象，类似于能量的概念如何产生。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
然后，Clausius提出，如果系统产生的功少于卡诺原理预测的功，会发生什么情况。 第一个方程的右侧将是系统输出的功的上限，现在将其转换为不等式：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; W&amp;lt;\left(1-\frac{T_\text{C}}{T_\text{H}}\right)Q_\text{H}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
当使用第二个方程将功表示为热量差时，我们得到：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; Q_\text{H}-Q_\text{C}&amp;lt;\left(1-\frac{T_\text{C}}{T_\text{H}}\right)Q_\text{H}&amp;lt;/math&amp;gt;，或者，&amp;lt;math&amp;gt; Q_\text{C}&amp;gt;\frac{T_\text{C}}{T_\text{H}}Q_\text{H}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
因此，在卡诺循环中更多的热量提供给冷库。 如果我们用两种状态的&amp;lt;math&amp;gt;S_\text{i} = Q_\text{i} / T_\text{i}&amp;lt;/math&amp;gt; 表示熵，则上述不等式可以写成熵减小的形式：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S_\text{H}-S_\text{C}&amp;lt;0&amp;lt;/math&amp;gt;，或者，&amp;lt;math&amp;gt;S_\text{H}&amp;lt;S_\text{C}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
离开系统的熵大于进入系统的熵，这意味着某些不可逆的过程会阻止循环产生卡诺方程所预测的最大功。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
卡诺循环和卡诺效率之所以有用，是因为它们定义了可能的功输出的上限以及任何经典热力学系统的效率。 可以从卡诺循环的角度分析其他循环，例如[https://en.wikipedia.org/wiki/Otto_cycle 奥托循环 Otto Cycle]， [https://en.wikipedia.org/wiki/Diesel_cycle 迪塞尔循环 Diesel Cycle ]和[https://en.wikipedia.org/wiki/Brayton_cycle 布雷顿循环 Brayton Cycle]。 任何将热量转换为功并且声称产生的效率高于卡诺效率的机器或过程都是不可发生的，因为它违反了热力学第二定律。 对于系统中极少数的粒子，必须使用统计热力学。 诸如光伏电池之类的设备的效率需要从量子力学的角度进行分析。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===经典热力学===&lt;br /&gt;
&lt;br /&gt;
熵的热力学定义是Clausius在1850年代初期提出的，它本质上描述了如何在[[孤立系统]]的热力学平衡及其部分中测量熵。 Clausius创造了“熵”一词，将其作为一个广延的热力学变量，证明其对卡诺循环很有用。卡诺循环中等温过程的热传递与系统温度（称为系统绝对温度）成正比。这种关系用熵的增量表示，该熵的增量等于传热增量除以温度，这在热力学循环中会发生变化，但最终在每个循环结束时相同。 因此熵被发现是状态函数，特别是系统的热力学状态。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clausius熵的定义基于可逆过程，但也有不可逆过程可以改变熵。 根据热力学第二定律，对于不可逆过程，孤立系统的熵总是增加。 孤立系统和封闭系统之间的区别在于，热量可能不会流入孤立系统或从孤立系统中流出，但是热量可能会流入封闭系统或从封闭系统中流出。然而，对于封闭系统和孤立系统，甚至在开放系统中，都可能发生不可逆的热力学过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
根据克劳修斯等式，对于一个可逆过程&amp;lt;math&amp;gt;\oint \frac{\delta Q_\text{rev}}{T} = 0&amp;lt;/math&amp;gt;。这意味着线积分&amp;lt;math&amp;gt;\int_\text{L} \frac{\delta Q_\text{rev}}{T}&amp;lt;/math&amp;gt;与路径无关。所以我们可以定义一个叫熵的状态函数&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;，满足&amp;lt;math&amp;gt;d S = \frac{\delta Q_\text{rev}}{T}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了找到系统中任何两个状态之间的熵差，必须通过对初始状态和最终状态之间的某些可逆路径进行积分。&amp;lt;ref&amp;gt;{{Cite book|last=Atkins|first=Peter|author2=Julio De Paula|title=Physical Chemistry, 8th ed.|publisher=Oxford University Press|year=2006|page=79|isbn=978-0-19-870072-2}}&amp;lt;/ref&amp;gt;由于熵是状态函数，因此对于不可逆路径，系统的熵变化与在相同两个状态之间的可逆路径的熵变化相同。&amp;lt;ref&amp;gt;{{Cite book|last=Engel|first=Thomas|author2=Philip Reid|title=Physical Chemistry|publisher=Pearson Benjamin Cummings|year=2006|page=86|isbn=978-0-8053-3842-3}}&amp;lt;/ref&amp;gt;但是，周围环境的熵变化是不同的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
我们只能通过整合以上公式来获得熵的变化。为了获得熵的绝对值，我们需要[[热力学第三定律]]，该定律规定对于完美的晶体，&amp;lt;math&amp;gt;S = 0&amp;lt;/math&amp;gt;（绝对零度）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
从宏观的角度来看，在经典热力学中，熵被解释为热力学系统的状态函数：即，仅取决于系统当前状态的属性，而与该状态如何实现无关。 在任何系统释放能量ΔE且其熵下降ΔS的过程中，必须以&amp;lt;math&amp;gt;T_\text{R}&amp;lt;/math&amp;gt;ΔS的不可用的热量释放给系统周围环境（&amp;lt;math&amp;gt;T_\text{R}&amp;lt;/math&amp;gt;是系统外部环境的温度）。 否则，该过程将无法进行。 在经典热力学中，仅当系统处于热力学平衡状态时才定义其熵。&lt;br /&gt;
&lt;br /&gt;
===统计力学 Statistical mechanics ===&lt;br /&gt;
统计力学又称统计物理，该定义是[[路德维希·玻耳兹曼 Ludwig Boltzmann]]在1870年代通过分析系统微观组分的统计行为得出的。Boltzmann证明，这种统计力学熵的定义等价于热力学熵，比例常数被称为[[玻耳兹曼常数]]。 总而言之，熵的热力学定义提供了熵的实验定义，而熵的统计力学定义扩展了该概念，提供了对其性质的解释和更深刻的理解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
用[[吉布斯 Gibbs]]的话来说，统计力学中对熵的解释是用来衡量不确定性或混合度，在考虑了系统的可观察到的宏观特性（例如温度，压力和体积）后，该特性仍然存在。对于给定的一组宏观变量，熵衡量了系统在不同微观状态的概率分布。与表征可观察到宏观状态的平均量相反，微观状态是指有关系统的所有分子细节，包括每个分子的位置和速度，微观状态可能性越多，系统的熵越大。在统计力学中，熵是对系统可能存在的排列方式数量的一种度量，通常被视为“无序”的度量（熵越大，无序性越高）。&amp;lt;ref name=McH&amp;gt;{{cite book|last1=Licker|first1=Mark D.|title=McGraw-Hill concise encyclopedia of chemistry.|date=2004|publisher=McGraw-Hill Professional|location=New York|isbn=978-0-07-143953-4}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Sethna78&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last1=Clark|first1=John O.E.|title=The essential dictionary of science|date=2004|publisher=Barnes &amp;amp; Noble|location=New York|isbn=978-0-7607-4616-5}}&amp;lt;/ref&amp;gt; 该定义将熵描述为与可能导致系统观察到的单个原子                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    或分子（微观状态）的可能微观状态有关。比例常数是[https://en.wikipedia.org/wiki/Boltzmann_constant 玻耳兹曼常数]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
玻耳兹曼常数和熵的量纲都是能量除以温度，在国际单位制中，单位为焦耳每开尔文焦耳（J⋅K-1）（或kg·m2⋅s−2⋅K−1 基本单位）。 物质的熵通常以强度形式给出-单位质量的熵（SI单位：J⋅K-1⋅kg-1）或单位物质的量的熵（SI单位：J⋅K-1⋅mol -1）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
具体来说，熵是对被发生概率很高的状态数的[https://en.wikipedia.org/wiki/Logarithmic_scale 对数度量]：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S = -k_{\text{B}}\sum_i p_i \log p_i&amp;lt;/math&amp;gt;，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者等价来说，微观状态的几率的自然对数的期望值：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S = -k_{\text{B}} E_{\text{i}}(\log p_i)&amp;lt;/math&amp;gt;，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;k_\text{B}&amp;lt;/math&amp;gt;是[https://en.wikipedia.org/wiki/Boltzmann_constant 玻尔兹曼常数]，等于&amp;lt;math&amp;gt;1.38065*10-23&amp;lt;/math&amp;gt;   J/K。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
求和是指对系统所有可能的微观状态求和，&amp;lt;math&amp;gt;p_text{i}&amp;lt;/math&amp;gt;是系统在第&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;个微观状态的可能性&amp;lt;ref name=&amp;quot;Perplexed&amp;quot;&amp;gt;[http://charlottewerndl.net/Entropy_Guide.pdf Frigg, R. and Werndl, C. &amp;quot;Entropy – A Guide for the Perplexed&amp;quot;]. In Probabilities in Physics; Beisbart C. and Hartmann, S.&lt;br /&gt;
Eds; Oxford University Press, Oxford, 2010&amp;lt;/ref&amp;gt;。该定义假设已选择了状态的基，因此没有关于其相对阶段的信息。 在不同的基中，更一般的表达式是：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S = -k_{B} \operatorname{Tr}(\widehat{\rho} \log(\widehat{\rho}))&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt; \widehat{\rho}&amp;lt;/math&amp;gt;是[https://en.wikipedia.org/wiki/Density_matrix 密度矩阵]，&amp;lt;math&amp;gt;Tr&amp;lt;/math&amp;gt;是迹，log是矩阵对数。这种密度矩阵公式不需要在热平衡的情况下才成立，只要选择基态为能量本征态即可。 对于大多数实际目的，这可以作为熵的基本定义，因为&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;的所有其他公式都可以从中数学推导出，反之则不能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在所谓的统计热力学的基本假设或统计力学的基本假设中，假定任何微观状态的发生都是等可能的（即&amp;lt;math&amp;gt;\pi = \frac 1 \Omega&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt;是微状态数）; 这个假设通常对于平衡的孤立系统是合理的。&amp;lt;ref&amp;gt;{{cite book|last1=Schroeder|first1=Daniel V.|title=An introduction to thermal physics|date=2000|publisher=Addison Wesley|location=San Francisco, CA |isbn=978-0-201-38027-9|page=57|edition=}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
所以，上一个公式简化为：&amp;lt;math&amp;gt;S = k_{B} \log \Omega.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在热力学中，这种系统是体积固定，分子数和内部能量守恒的系统（'''微正则系综 microcanonical ensemble'''）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵的最一般的解释是度量我们对系统的不确定性。 系统的平衡状态使熵最大化，因为除了守恒变量之外，我们已经失去了所有有关初始条件的信息。 最大化熵会使我们对系统细节的忽视最大化。&amp;lt;ref&amp;gt;{{cite web|url=http://www.physics.cornell.edu/sethna/StatMech/EntropyOrderParametersComplexity.pdf |title=EntropyOrderParametersComplexity.pdf www.physics.cornell.edu |accessdate=2012-08-17}}&amp;lt;/ref&amp;gt; 这种不确定性不是日常主观的，而是实验方法和解释模型固有的不确定性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
解释模型在确定熵方面具有核心作用。 上面的“对于给定的一组宏观变量”的限定词具有深远的含义：如果两个观察者使用不同的宏观变量，他们将看到不同的熵。 例如，如果观察者A使用变量&amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;W&amp;lt;/math&amp;gt;，观察者B使用&amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;W&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;，B通过更改&amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;，可能会导致观察者A看到像违反[[热力学第二定律]]的现象。 换句话说，观察者所选择的一组宏观变量必须包括实验中可能变化的所有事物，否则，熵可能会减少！&amp;lt;ref&amp;gt;{{cite web|url=http://www.mdpi.org/lin/entropy/cgibbs.pdf |title=Jaynes, E. T., &amp;quot;The Gibbs Paradox,&amp;quot; In Maximum Entropy and Bayesian Methods; Smith, C. R; Erickson, G. J; Neudorfer, P. O., Eds; Kluwer Academic: Dordrecht, 1992, pp. 1–22 |accessdate=2012-08-17}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可以为任何具有可逆动力学和满足[https://en.wikipedia.org/wiki/Detailed_balance 细致平衡条件]的[https://en.wikipedia.org/wiki/Markov_process 马尔可夫过程]定义熵。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Boltzmann的1896年“Lectures on Gas Theory”讲座中，他证明了该表达式给出了气态中原子和分子系统的熵的量度，从而为经典热力学的熵提供了量度。&lt;br /&gt;
&lt;br /&gt;
===系统熵===&lt;br /&gt;
[[File:System_boundary.png |200px|thumb|[https://en.wikipedia.org/wiki/Thermodynamic_system 热力学系统]]]&lt;br /&gt;
[[File:Temperature-entropy_chart_for_steam.png|200px|thumb|蒸汽温度-熵图。纵轴表示温度均匀，横轴表示比熵。图中的每个黑线代表恒定的压力，它们形成具有恒定体积的浅灰色线的网格。（深蓝色是液态水，浅蓝色是液态蒸汽混合物，淡蓝色是蒸汽。灰色蓝色表示超临界液态水。）]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵直接来自卡诺循环，也可以描述为可逆热量除以温度，熵是基本的状态函数。在热力学系统中，压力，密度和温度会随时间趋于常数，因为平衡状态比其他任何状态都具有更高的概率（更多的可能的微观状态组合）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
例如，室温空气中的一杯冰水，温暖的房间（环境）与冷的冰和水杯子（系统而非房间的一部分）之间的温度差开始趋于零，因为温暖环境的部分热能散布到冰和水的较冷系统中。 随着时间的流逝，玻璃及其内容物的温度与房间的温度将相等。换句话说，随着部分能量分散到冰和水上，房间的熵降低了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是，如图示例中所计算的，冰和水系统的熵增加的幅度大于周围房间的熵减小的幅度。 在一个孤立系统中，例如将房间和冰水合在一起，能量从较热的位置散布到较冷的位置总是导致熵的净增加。 因此，当房间和冰水系统的“宇宙”达到温度平衡时，熵相对于初始状态变化最大。热力学系统的熵是衡量反应平衡程度的一种量度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
热力学熵是一种非保守状态函数，在物理学和化学科学中具有重要意义。&amp;lt;ref name=&amp;quot;McH&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Wiley91&amp;quot;&amp;gt;{{cite book|last1=Sandler|first1=Stanley I.|title=Chemical, biochemical, and engineering thermodynamics|date=2006|publisher=John Wiley &amp;amp; Sons|location=New York|isbn=978-0-471-66174-0|page=91|edition=4th}}&amp;lt;/ref&amp;gt;历史上，熵的概念演变为解释为什么某些过程（受守恒定律限制）自发发生而不能发生时间逆转（也受守恒定律限制）的原因。 系统倾向于朝着熵增加的方向演化。&amp;lt;ref name=&amp;quot;McQuarrie817&amp;quot;&amp;gt;{{cite book|last1=Simon|first1=Donald A. McQuarrie; John D.|title=Physical chemistry : a molecular approach|date=1997|publisher=Univ. Science Books|location=Sausalito, Calif.|isbn=978-0-935702-99-6|page=817|edition=Rev.}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=Haynie|first=Donald, T.|title=Biological Thermodynamics|publisher=Cambridge University Press|year=2001|isbn=978-0-521-79165-6}}&amp;lt;/ref&amp;gt;对于孤立的系统，熵永远不会减少。&amp;lt;ref name=&amp;quot;Wiley91&amp;quot; /&amp;gt;这一事实在科学中产生了几个重要的后果：首先，它限制“永动机”。 其次，它意味着熵的箭头与[https://en.wikipedia.org/wiki/Arrow_of_time 时间之箭]指向相同的方向。 熵的增加对应于系统中不可逆的变化，因为一些能量被消耗为废热，从而限制了系统所能做的功。&amp;lt;ref name=&amp;quot;McH&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Sethna78&amp;quot;&amp;gt;{{cite book|last1=Sethna|first1=James P.|title=Statistical mechanics : entropy, order parameters, and complexity.|date=2006|publisher=Oxford University Press|location=Oxford|isbn=978-0-19-856677-9|page=78|edition=[Online-Ausg.].}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;OxSci&amp;quot;&amp;gt;{{cite book|last1=Daintith|first1=John|title=A dictionary of science|date=2005|publisher=Oxford University Press|location=Oxford|isbn=978-0-19-280641-3|edition=5th}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=de Rosnay|first=Joel|title=The Macroscope&amp;amp;nbsp;– a New World View (written by an M.I.T.-trained biochemist)|publisher=Harper &amp;amp; Row, Publishers|year=1979|isbn=978-0-06-011029-1|title-link=M.I.T.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
与许多其他状态函数不同，熵不能直接观察到，而必须进行计算。物质的熵可以用绝对零度下的标准摩尔熵（也称为绝对熵）计算，也可以与定义为零熵的其他参考状态的熵差计算。熵的大小是能量除以温度，在国际单位制中，熵的单位是焦耳每开尔文（J / K）。尽管这些单位与热容量相同，但两个概念却截然不同。&amp;lt;ref&amp;gt;{{cite web|last=McGovern |first=J. A.  |url=http://theory.phy.umist.ac.uk/~judith/stat_therm/node50.html |title=Heat Capacities |accessdate=2013-01-27 |url-status=dead |archiveurl=https://web.archive.org/web/20120819175243/http://theory.phy.umist.ac.uk/~judith/stat_therm/node50.html |archivedate=2012-08-19 }}&amp;lt;/ref&amp;gt;熵不是守恒的量：例如，在温度不均匀的孤立系统中，热量可能会不可逆地流动，并且温度会变得更加均匀，从而使熵增加。[[热力学第二定律]]指出，封闭系统的熵可能会增加或保持恒定。化学反应会引起熵的变化，并且熵在确定化学反应自发向哪个方向进行发挥着重要作用。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵的一种书面定义是，它是“无法用于有用功的单位温度热能的量度”。 例如，处于均匀温度下的物质处于最大熵并且不能驱动热机。 温度不均匀的物质具有较低的熵（与允许均匀分布的热量相比），一些热能可以驱动热机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当两种或多种不同的物质混合时，会出现熵增的特殊情况，即混合熵。 如果物质处于相同的温度和压力下，则没有热交换或功的净交换–熵的变化完全是由于不同物质的混合。 在统计力学的水平上，这是由于混合时每个粒子的有效体积发生了变化。&amp;lt;ref&amp;gt;{{cite journal|last1=Ben-Naim|first1=Arieh|title=On the So-Called Gibbs Paradox, and on the Real Paradox|journal=Entropy|date=21 September 2007|volume=9|issue=3|pages=132–136|doi=10.3390/e9030133|url=http://www.mdpi.org/entropy/papers/e9030132.pdf|bibcode=2007Entrp...9..132B}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===等价定义===&lt;br /&gt;
&lt;br /&gt;
统计力学中熵定义（[https://en.wikipedia.org/wiki/Entropy_(statistical_thermodynamics)#Gibbs_entropy_formula 吉布斯熵公式]&amp;lt;math&amp;gt;S = -k_{B}\sum_i p_i \log p_i&amp;lt;/math&amp;gt;）与经典热力学（&amp;lt;math&amp;gt;d S = \frac{\delta Q_\text{rev}}{T}&amp;lt;/math&amp;gt;和热力学基本关系）之间的等价证明对于'''微正则系综'''、'''正则系综'''、'''巨正则系综'''和等温等压系统是成立的。这些证明是基于广义[https://en.wikipedia.org/wiki/Boltzmann_distribution 玻尔兹曼分布]的微观状态的概率密度以及热力学内部能量作为系综平均 &amp;lt;math&amp;gt;U=\left\langle E_{i}\right\rangle &amp;lt;/math&amp;gt;&amp;lt;ref&amp;gt;{{cite book |last= Callen|first= Herbert|date= 2001|title= Thermodynamics and an Introduction to Thermostatistics (2nd ed.)|url= |location= |publisher= John Wiley and Sons|page= |isbn= 978-0-471-86256-7|author-link=}}&amp;lt;/ref&amp;gt; 。然后使用热力学关系来得出众所周知的吉布斯熵公式。 然而，吉布斯熵公式和熵的热力学定义之间的等价关系不是基本的热力学关系，而是广义玻耳兹曼分布形式的结果。&amp;lt;ref&amp;gt;{{cite journal |last1= Gao |first1= Xiang |last2= Gallicchio |first2= Emilio |first3= Adrian |last3= Roitberg  |date= 2019 |title= The generalized Boltzmann distribution is the only distribution in which the Gibbs-Shannon entropy equals the thermodynamic entropy |journal= The Journal of Chemical Physics|volume= 151|issue= 3|pages= 034113|doi= 10.1063/1.5111333|pmid= 31325924 |arxiv= 1903.02121 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==热力学第二定律==&lt;br /&gt;
&lt;br /&gt;
热力学第二定律要求，一般而言，任何系统的总熵都不能降低，除非其他系统的熵增加。因此，在孤立系统中，系统的熵往往不会减少。随之而来的是，如果不对冷物做功（施加），热量就不会从冷物流向热物。其次，任何一个循环运行的设备都不可能从单温度源中产生净功。净功的生产需要热量从较热源流向较冷源，或进行进行膨胀绝热冷却，产生绝热功。这样一来，不可能存在永动机系统。同理，在特定过程化学反应中，熵增的减少意味着从能量角度来说，该反应更高效。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
根据热力学第二定律，不孤立系统的熵可能减小。例如，空调，可以冷却室内的空气，从而降低该系统中空气的熵。从房间（系统）散发出来的热量（空调将其散发并排放到外部空气中）对环境的熵的贡献始终大于该系统的空气熵的减小。因此，房间的熵加环境的熵的总和增加，遵循热力学第二定律。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在力学中，热力学第二定律与[https://en.wikipedia.org/wiki/Fundamental_thermodynamic_relation 基本热力学关系]相结合，限制了系统做有用功的能力。&amp;lt;ref name=&amp;quot;Daintith&amp;quot;&amp;gt;{{Cite book|last=Daintith| first=John|title=Oxford Dictionary of Physics|publisher=Oxford University Press|year=2005|isbn=978-0-19-280628-4}}&amp;lt;/ref&amp;gt; 在温度&amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;下，系统的熵变 以 &amp;lt;math&amp;gt; δq/T &amp;lt;/math&amp;gt;给出，该熵可逆地吸收了无限少量的热量&amp;lt;math&amp;gt; δq &amp;lt;/math&amp;gt;。更明确地讲，能量&amp;lt;math&amp;gt;T_RS&amp;lt;/math&amp;gt;是无法做有用功的，其中&amp;lt;math&amp;gt;T_R&amp;lt;/math&amp;gt;是系统外部可接触到最冷的库或散热器的温度。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
统计力学表明，熵由概率决定，因此即使在孤立系统中混乱程度也可能减少。尽管这是可能的，但此类事件发生的可能性很小，因此（实际上）不可能发上。&amp;lt;ref&amp;gt;{{Cite journal |title=Entropy production theorems and some consequences|pages=1–10 |journal=Physical Review E |volume=80 |issue=1 |doi=10.1103/PhysRevE.80.011117 |pmid=19658663 |year=2009 |last1=Saha |first1=Arnab |last2=Lahiri |first2=Sourabh |last3=Jayannavar |first3=A. M. |bibcode=2009PhRvE..80a1117S |arxiv=0903.4147 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
热力学第二定律的适用性仅限于接近或处于[https://en.wikipedia.org/wiki/Thermodynamic_equilibrium 平衡状态]的系统。&amp;lt;ref&amp;gt;{{cite journal|last1=Martyushev|first1=L. M.|last2=Seleznev|first2=V. D.|title=The restrictions of the maximum entropy production principle|journal=Physica A: Statistical Mechanics and Its Applications|date=2014|volume=410|doi=10.1016/j.physa.2014.05.014|pages=17–21|arxiv=1311.2068|bibcode=2014PhyA..410...17M}}&amp;lt;/ref&amp;gt;同时，控制系统原理均衡体系的定律仍有待商榷。适用于这种系统原理之一是[[最大熵产生原理]]。&amp;lt;ref&amp;gt;{{cite book|last1=Ziegler|first1=H.|title=An Introduction to Thermomechanics|date=1983|location=North Holland, Amsterdam.}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Onsager|first1=Lars|title=Reciprocal Relations in Irreversible Processes|journal=Phys. Rev. |volume=37|issue=4|page=405|year=1931|doi=10.1103/PhysRev.37.405|bibcode=1931PhRv...37..405O}}&amp;lt;/ref&amp;gt;它要求非平衡系统往熵产生最大化发展。&amp;lt;ref&amp;gt;{{cite book|last1=Kleidon|first1=A.|last2=et.|first2=al.|title=Non-equilibrium Thermodynamics and the Production of Entropy|date=2005|publisher=Springer|location=Heidelberg}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Belkin|first1=Andrey|last2=et.|first2=al.|title=Self-assembled wiggling nano-structures and the principle of maximum entropy production|journal=Scientific Reports |date=2015|doi=10.1038/srep08323|pmid=25662746|pmc=4321171|volume=5|pages=8323|bibcode=2015NatSR...5E8323B}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==应用==&lt;br /&gt;
&lt;br /&gt;
===热力学基本关系===&lt;br /&gt;
一个系统的熵取决于它内部的能量和外部的参数，例如它的体积。在热力学极限中，这一事实可以通过方程式，将系统内能&amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;的变化与熵的变化以及外部参数联系起来。这种关系称为热力学基本关系。如果外部压力p作为唯一的宏观变量施加在体积V上，则此关系为：&lt;br /&gt;
::&amp;lt;math&amp;gt;dU = T \, dS - p \, dV&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于内能和熵都是温度&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;的单调函数，这意味着当一个能量指定熵和体积时，内能是固定的，即使从一个热平衡状态到另一个无限大的熵状态，该关系也有效。体积以非准静态的方式发生（因此，在此更改期间，系统可能与热平衡相差很远，因此可能不存在熵，压力和温度）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
热力学基本关系意味着许多有效的热力学身份在总体上是有效的，与系统的微观细节无关。重要的例子是[https://en.wikipedia.org/wiki/Maxwell_relations 麦克斯韦关系]和热容量之间的关系。&lt;br /&gt;
&lt;br /&gt;
===化学热力学中的熵===&lt;br /&gt;
热力学熵在化学热力学中占有重要地位，因为熵可将变化量化并预测反应结果。热力学第二定律中，孤立系统的熵-包括研究的子系统以及其环境-在所有自发的化学和物理过程中增加。克劳修斯方程：&amp;lt;math&amp;gt;\frac {δq_{rev}} T = \Delta S&amp;lt;/math&amp;gt;介绍熵变化的测量方式，&amp;lt;math&amp;gt;\Delta S&amp;lt;/math&amp;gt;。熵变化描述了化学反应的方向并量化了简单变化的程度，例如系统之间的传热–总是自发地从较热到较冷。&lt;br /&gt;
因此，在国际单位制（SI）中，热力学熵具有能量除以温度的维数和每开尔文的单位焦耳（J / K）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
热力学熵是一种广延的性质，这意味着它会随着系统的变大变小而变化。在许多过程中，将熵指定为与大小无关的强度属性是有用的，可以被作为研究的系统熵特征。比熵可以表示称相对于质量单位，通常是千克（单位： J⋅kg&amp;lt;sup&amp;gt;−1&amp;lt;/sup&amp;gt;⋅K&amp;lt;sup&amp;gt;−1&amp;lt;/sup&amp;gt;）。此外，在化学中，它也被称为一摩尔物质，在这种情况下，它被称为摩尔熵，其单位为 J⋅mol&amp;lt;sup&amp;gt;−1&amp;lt;/sup&amp;gt;⋅K&amp;lt;sup&amp;gt;−1&amp;lt;/sup&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
因此，当约&amp;lt;math&amp;gt; O &amp;lt;/math&amp;gt;K 的一摩尔物质被周围的环境加热到&amp;lt;math&amp;gt;298&amp;lt;/math&amp;gt;K，&amp;lt;math&amp;gt; \frac {q_{rev}} T&amp;lt;/math&amp;gt; 的增量的总和构成每个元素或化合物的标准摩尔熵，该物质表示 &amp;lt;math&amp;gt;298&amp;lt;/math&amp;gt; K 的物质存储的能量。&amp;lt;ref name=&amp;quot;ctms&amp;quot;&amp;gt;{{Cite book|last=Moore|first=J. W.|author2=C. L. Stanistski|author3=P. C. Jurs|title=Chemistry, The Molecular Science|publisher=Brooks Cole|year=2005|isbn=978-0-534-42201-1|url-access=registration|url=https://archive.org/details/chemistrymolecul0000moor}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Jungermann&amp;quot;&amp;gt;{{cite journal|last1=Jungermann|first1=A.H.|year=2006|title=Entropy and the Shelf Model: A Quantum Physical Approach to a Physical Property|journal=Journal of Chemical Education|volume=83|issue=11|pages=1686–1694|doi=10.1021/ed083p1686|bibcode = 2006JChEd..83.1686J|url=https://semanticscholar.org/paper/2117ad10200df19e2ea87739f90f7bb4db44e451}}&amp;lt;/ref&amp;gt;熵变也可用来测量物质的混合为最终混合物中相对量的总和。&amp;lt;ref&amp;gt;{{Cite book|last=Levine|first=I. N.|title=Physical Chemistry, 5th ed.|publisher=McGraw-Hill|year=2002|isbn=978-0-07-231808-1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
熵对于预测复杂化学反应的程度和方向同样至关重要。对于此类应用，&amp;lt;math&amp;gt;\Delta S&amp;lt;/math&amp;gt;必须包含在系统及其周围环境的表达式中，其中&amp;lt;math&amp;gt;\Delta S_{(宇宙)}= \Delta S_{(环境)}+ \Delta S_{(系统)}  &amp;lt;/math&amp;gt;  。经由一些步骤，该表达式变为，系统中的反应物和产物的吉布斯自由能等式：&amp;lt;math&amp;gt;\Delta G = \Delta H - T\Delta S&amp;lt;/math&amp;gt;(即，系统的吉布斯自由能的变化 =焓变化-熵变 。&amp;lt;ref name=&amp;quot;ctms&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===开放系统熵平衡关系===&lt;br /&gt;
&lt;br /&gt;
[[File:First_law_open_system.png |400px|thumb|当一直处于稳态下，应用于开放系统的熵平衡考虑了与系统边界上的热流和质量流有关的系统熵变化。]]&lt;br /&gt;
&lt;br /&gt;
在化学工程中，热力学原理通常应用于“开放系统”，比如热量，功和质量流过系统边界的系统。两种热流&amp;lt;math&amp;gt;\dot{Q}&amp;lt;/math&amp;gt;和功（数字上面的点表示量对时间的导数，后同），和即&amp;lt;math&amp;gt;\dot{W}&amp;lt;/math&amp;gt;（轴功）和&amp;lt;math&amp;gt;P（ \frac {dV} {dt}）&amp;lt;/math&amp;gt;（压力-体积功）跨越系统边界，通常会引起系统熵的变化。由于热量的传递引起熵传递图片&amp;lt;math&amp;gt;\dot{Q} /{T}&amp;lt;/math&amp;gt;其中T是系统在热流点的绝对热力学温度。如果有质量流越过系统边界，它们也会影响系统的总熵。就热量和功而言，该说明仅在以下情况下有效：当功和热量的传输的路径物理熵与物质进入和离开系统的路径不同时。&amp;lt;ref&amp;gt;{{cite book|author=Late Nobel Laureate Max Born|title=Natural Philosophy of Cause and Chance|url=https://books.google.com/books?id=er85jgEACAAJ|date=8 August 2015|publisher=BiblioLife|isbn=978-1-298-49740-6|pages=44, 146–147}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last1=Haase|first1=R.|title=Thermodynamics|date=1971|publisher=Academic Press|location=New York|isbn=978-0-12-245601-5|pages=1–97}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
导出广义的熵平衡方程，我们从热力学系统中任何广延量&amp;lt;math&amp;gt;\Theta &amp;lt;/math&amp;gt;的变化都通用平衡方程开始，该量可以守恒，例如能量，或不守恒，例如熵。基本的通用平衡表达式表示&amp;lt;math&amp;gt;\frac {d\Theta} {dt} &amp;lt;/math&amp;gt;，即系统中&amp;lt;math&amp;gt;\Theta &amp;lt;/math&amp;gt;的变化率，等于&amp;lt;math&amp;gt;\Theta &amp;lt;/math&amp;gt;在边界处进入系统的速率，减去&amp;lt;math&amp;gt;\Theta &amp;lt;/math&amp;gt;离开系统边界的速率，再加上系统内部产生&amp;lt;math&amp;gt;\Theta &amp;lt;/math&amp;gt;的速率。对于一个开放的热力学系统，其中热量和功是通过与物质传递路径分开的路径传递的，使用此一般平衡方程，广义熵&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;关于时间t的变化率的熵平衡方程为：&amp;lt;ref&amp;gt;{{Cite book|last=Sandler|first=Stanley, I.|title=Chemical and Engineering Thermodynamics|publisher=John Wiley &amp;amp; Sons|year=1989|isbn=978-0-471-83050-4}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{dS}{dt} =\sum\limits_{k=1}^K  \dot{M}_k  \hat{S}_k + \frac{\dot{Q}}{T} + \dot{S}_\text{gen}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中，&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\sum_{k=1}^K  \dot{M}_k  \hat{S}_k = {} &amp;lt;/math&amp;gt;物质流入和流出系统（其中&amp;lt;math&amp;gt;\hat{S}&amp;lt;/math&amp;gt;为单位质量的熵）。&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\frac{\dot{Q}}{T} = {} &amp;lt;/math&amp;gt;由于热量跨系统边界流动而产生的熵流速率。&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\dot{S}_\text{gen} = {} &amp;lt;/math&amp;gt; 系统内的熵产生率。熵的产生来自系统内的过程，包括化学反应，内部物质扩散，内部传热以及摩擦效应，例如由于机械功传递到系统或从系统传出而在系统内发生的粘度。如果有多个热流，则该术语&amp;lt;math&amp;gt;\dot{Q}/T&amp;lt;/math&amp;gt;被替换为 &amp;lt;math&amp;gt;\sum \dot{Q}_j/T_j&amp;lt;/math&amp;gt;， 其中&amp;lt;math&amp;gt;\dot{Q}_j&amp;lt;/math&amp;gt;是热流， &amp;lt;math&amp;gt;T_j&amp;lt;/math&amp;gt;是进入系统的第j个热流端口的温度。&lt;br /&gt;
&lt;br /&gt;
==简单过程熵变公式==&lt;br /&gt;
对于恒定组成系统中的某些简单过程，熵的变化可由简单的公式给出。&amp;lt;ref&amp;gt;{{cite web |url=http://www.grc.nasa.gov/WWW/k-12/Numbers/Math/Mathematical_Thinking/ideal_gases_under_constant.htm |title=GRC.nasa.gov |publisher=GRC.nasa.gov |date=2000-03-27 |accessdate=2012-08-17 |archive-url=https://www.webcitation.org/6179uUEbb?url=http://www.grc.nasa.gov/WWW/K-12/Numbers/Math/Mathematical_Thinking/ideal_gases_under_constant.htm |archive-date=21 August 2011 |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
===理想气体等温膨胀或压缩===&lt;br /&gt;
对于理想气体在任意温度下从初态&amp;lt;math&amp;gt;V_0&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;P_0&amp;lt;/math&amp;gt;到末态&amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;，&amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt;的膨胀（或压缩），熵为&amp;lt;math&amp;gt;\Delta S = n R \ln \frac{V}{V_0} = - n R \ln \frac{P}{P_0}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
这里n是气体的摩尔数,R是理想气体常数。这个公式也可以应用在有限真空的膨胀或[https://en.wikipedia.org/wiki/Throttling_process_(thermodynamics) 焦耳-汤姆孙效应]中，在这些过程中理想气体的温度、内能和焓不变。&lt;br /&gt;
&lt;br /&gt;
===制冷和制热===&lt;br /&gt;
从初始温度&amp;lt;math&amp;gt;T_0&amp;lt;/math&amp;gt;开始以恒定压力加热或冷却任何系统（气体，液体或固体）到最终温度  &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;，熵的变化是&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta S = n C_P \ln \frac{T}{T_0}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设恒压摩尔热容（或比热）&amp;lt;math&amp;gt; C_{P} &amp;lt;/math&amp;gt;是恒定的，并且在此温度间隔内不发生相变。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
类似的，在恒定体积下，熵变化为&amp;lt;math&amp;gt;\Delta S = n C_V \ln \frac{T}{T_0}&amp;lt;/math&amp;gt;，恒体积摩尔热容&amp;lt;math&amp;gt;C_V&amp;lt;/math&amp;gt;恒定且没有相变。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在接近绝对零的低温下，固体的热容迅速下降至接近零，因此恒定热容的假设不适用。&amp;lt;ref&amp;gt;{{cite web|last1=Franzen|first1=Stefan|title=Third Law|url=http://www4.ncsu.edu/~franzen/public_html/CH433/lecture/Third_Law.pdf|publisher=ncsu.edu|archiveurl = https://web.archive.org/web/20170709093839/http://www4.ncsu.edu:80/~franzen/public_html/CH433/lecture/Third_Law.pdf |archivedate = 9 July 2017}}&amp;lt;/ref&amp;gt;由于熵是状态函数，因此温度和体积都发生变化的任何过程的熵变化都与分为两步的路径相同-恒定体积加热和恒定温度膨胀。对于理想气体，总熵变为&amp;lt;ref&amp;gt;{{cite web|url=http://www.grc.nasa.gov/WWW/K-12/airplane/entropy.html |title=GRC.nasa.gov |publisher=GRC.nasa.gov |date=2008-07-11 |accessdate=2012-08-17}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta S = nC_V \ln \frac{T}{T_0} + nR \ln \frac{V}{V_0}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
同样，如果理想气体的温度和压力均发生变化，&lt;br /&gt;
&amp;lt;math&amp;gt;\Delta S = nC_P \ln \frac{T}{T_0} - nR \ln \frac{P}{P_0}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===相变===&lt;br /&gt;
在恒定的温度和压力下会发生可逆的[https://en.wikipedia.org/wiki/Phase_transition 相变]。可逆热是跃迁的焓变，熵变是焓变除以热力学温度。&amp;lt;ref&amp;gt;{{cite book|first=Michael E.|last=Starzak|date=2010|chapter=Phase Equilibria &amp;amp; Colligative Properties|chapter-url=https://books.google.ca/books?id=cw0QV7l559kC&amp;amp;pg=PA138|title=Energy &amp;amp; Entropy: Equilibrium to Stationary States|pages=138–140|isbn=978-1489983671|publisher=Springer Science+Business Media|accessdate=2019-09-05}}&amp;lt;/ref&amp;gt;对于在熔点T m处固体与液体的熔化，熔化的熵为&amp;lt;math&amp;gt;\Delta S_\text{fus} = \frac{\Delta H_\text{fus}}{T_\text{m}}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
类似地，对于汽化在沸点的液体到气体的 &amp;lt;math&amp;gt;T_m&amp;lt;/math&amp;gt;，所述[https://en.wikipedia.org/wiki/Vaporization 汽化熵]是:&amp;lt;math&amp;gt;\Delta S_\text{vap} = \frac{\Delta H_\text{vap}}{T_\text{B}}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==熵的理解方式==&lt;br /&gt;
&lt;br /&gt;
作为热力学和物理学的基本，除了Clausius和Boltzmann定义之外，还有几种不同的有效的熵表示方法。&lt;br /&gt;
&lt;br /&gt;
===教科书===&lt;br /&gt;
&lt;br /&gt;
下列是一系列教科书中熵的其他定义：&lt;br /&gt;
在特定温度下能量分散程度的量度。&lt;br /&gt;
衡量宇宙无序或衡量系统中对能做功的能量的一种度量。&amp;lt;ref&amp;gt;{{cite book|last1=Gribbin|first1=John|editor1-last=Gribbin|editor1-first=Mary|title=Q is for quantum : an encyclopedia of particle physics|date=1999|publisher=Free Press|location=New York|isbn=978-0-684-85578-3|url=https://archive.org/details/qisforquantumenc00grib}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
一种系统单位温度的不能用于做有用功的热能量度。&amp;lt;ref&amp;gt;{{cite web|title=Entropy: Definition and Equation|url=http://www.britannica.com/EBchecked/topic/189035/entropy|website=Encyclopædia Britannica|accessdate=22 May 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
在玻尔兹曼的定义中，熵是热力学平衡系统中可能的微观状态（或多个微观状态）数量的量度。与玻耳兹曼定义一致，热力学第二定律需要重新措词，以使熵随着时间的推移而增加，尽管基本原理保持不变。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===有序和无序===&lt;br /&gt;
熵通常与有序、无序或混乱程度相关联在一起。熵的传统定性描述是，它是指系统状态的变化，是对“分子无序”的一种度量，是动态能量从一种状态或一种状态转换为另一种状态时所浪费的能量的量。在这个方向上，最近的几位作者已经得出了精确的熵公式，以解释和测量原子和分子组分中的无序和有序。&amp;lt;ref name=&amp;quot;Brooks&amp;quot;&amp;gt;{{cite book|last1=Brooks|first1=Daniel R.|last2=Wiley|first2=E. O.|title=Evolution as entropy : toward a unified theory of biology|date=1988|publisher=University of Chicago Press|location=Chicago [etc.]|isbn=978-0-226-07574-7|edition=2nd}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Landsberg-A&amp;quot;&amp;gt;{{cite journal | last1 = Landsberg | first1 = P.T. | year = 1984 | title = Is Equilibrium always an Entropy Maximum? | url = | journal = J. Stat. Physics | volume = 35 | issue = 1–2| pages = 159–169 | doi=10.1007/bf01017372|bibcode = 1984JSP....35..159L }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Landsberg-B&amp;quot;&amp;gt;{{cite journal | last1 = Landsberg | first1 = P.T. | year = 1984 | title = Can Entropy and &amp;quot;Order&amp;quot; Increase Together? | url = | journal = Physics Letters | volume = 102A | issue = 4| pages = 171–173 | doi=10.1016/0375-9601(84)90934-4|bibcode = 1984PhLA..102..171L }}&amp;lt;/ref&amp;gt;较简单的熵序/无序公式之一是热力学物理学家Peter Landsberg于1984年基于[https://en.wikipedia.org/wiki/Thermodynamics 热力学]和[https://en.wikipedia.org/wiki/Information_theory 信息理论]的结合得出的。他认为，当约束在系统上运行时，与禁止状态相比，阻止其进入可能或允许的状态中的一个或多个状态，系统中“无序”总量的度量为：&amp;lt;ref name=&amp;quot;Brooks&amp;quot;&amp;gt;{{cite book|last1=Brooks|first1=Daniel R.|last2=Wiley|first2=E. O.|title=Evolution as entropy : toward a unified theory of biology|date=1988|publisher=University of Chicago Press|location=Chicago [etc.]|isbn=978-0-226-07574-7|edition=2nd}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Landsberg-A&amp;quot;&amp;gt;{{cite journal | last1 = Landsberg | first1 = P.T. | year = 1984 | title = Is Equilibrium always an Entropy Maximum? | url = | journal = J. Stat. Physics | volume = 35 | issue = 1–2| pages = 159–169 | doi=10.1007/bf01017372|bibcode = 1984JSP....35..159L }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Landsberg-B&amp;quot;&amp;gt;{{cite journal | last1 = Landsberg | first1 = P.T. | year = 1984 | title = Can Entropy and &amp;quot;Order&amp;quot; Increase Together? | url = | journal = Physics Letters | volume = 102A | issue = 4| pages = 171–173 | doi=10.1016/0375-9601(84)90934-4|bibcode = 1984PhLA..102..171L }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;Disorder={C_\text{D}\over C_\text{I}}.\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
同样，系统中“有序”的总量由下式给出：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\text{Order}=1-{C_\text{O}\over C_\text{I}}.\,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;C_\text{D}&amp;lt;/math&amp;gt;是系统的“无序”容量，它是包含在允许的系综中的部分的熵，&amp;lt;math&amp;gt;C_\text{I}&amp;lt;/math&amp;gt;是系统的“信息”容量，类似于Shannon的[https://en.wikipedia.org/wiki/Channel_capacity 信道容量]，以及&amp;lt;math&amp;gt;C_\text{O}&amp;lt;/math&amp;gt;是系统的“有序”容量。&amp;lt;ref name=&amp;quot;Brooks&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===能量传播===&lt;br /&gt;
熵的概念可以定性地描述为特定温度下能量扩散的量度。&amp;lt;ref&amp;gt;{{cite web|last1=Lambert |first1=Frank L. |title=A Student's Approach to the Second Law and Entropy |url=http://entropysite.oxy.edu/students_approach.html |website=entropysite.oxy.edu |accessdate=22 May 2016 |url-status=dead |archiveurl=https://web.archive.org/web/20090717175331/http://entropysite.oxy.edu/students_approach.html |archivedate=17 July 2009 }}&amp;lt;/ref&amp;gt;在经典热力学的历史早期就已经使用了类似的术语，并且随着统计热力学和量子理论的发展，已经通过混合或“散布”每种成分的总能量来描述熵的变化。系统在其特定的量化能级上的分布。&lt;br /&gt;
混乱 disorder和混沌 chaos一词中的歧义通常具有直接与均衡相反的含义，对大多数学生而言，它们造成了广泛的困惑并阻碍了对熵的理解。&amp;lt;ref&amp;gt;{{cite journal|last1=Watson|first1=J.R.|last2=Carson|first2=E.M.|title=Undergraduate students' understandings of entropy and Gibbs free energy.|journal=University Chemistry Education|date=May 2002|volume=6|issue=1|page=4|url=http://www.rsc.org/images/Vol_6_No1_tcm18-7042.pdf|issn=1369-5614}}&amp;lt;/ref&amp;gt;如热力学第二定律所示，在一个[https://en.wikipedia.org/wiki/Isolated_system 孤立系统]中，处于不同温度的内部趋向于调节至单个均匀温度，从而产生平衡。最近开发的一种教学方法方法避免了模棱两可的术语，并描述了这种能量的扩散，如分散，即使总能量根据热力学第一定律保持恒定，也导致工作所需的微分损失&amp;lt;ref&amp;gt;{{cite journal|last1=Lambert|first1=Frank L.|title=Disorder – A Cracked Crutch for Supporting Entropy Discussions|journal=Journal of Chemical Education|date=February 2002|volume=79|issue=2|pages=187|doi=10.1021/ed079p187|bibcode=2002JChEd..79..187L|url=https://semanticscholar.org/paper/92015e752abfaa52a3e80fa26fddf9583e900815}}&amp;lt;/ref&amp;gt;。（比较下一节的讨论）。例如，物理化学家[https://en.wikipedia.org/wiki/Peter_Atkins 彼得·阿特金斯 Peter Atkins]以前曾写过分散导致无序状态的文章，现在写道“自发变化总是伴随着能量的分散”。&amp;lt;ref&amp;gt;{{Cite book|last=Atkins|first=Peter|title=The Second Law|publisher=Scientific American Library|year=1984|isbn=978-0-7167-5004-8|url-access=registration|url=https://archive.org/details/secondlaw0000atki}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===将熵与能量有用性联系===&lt;br /&gt;
根据以上所述，有可能（在热环境中）将较低的熵视为特定能量的有效性或有用性的指标或度量。&amp;lt;ref&amp;gt;{{Cite journal|title=Book Review of &amp;quot;A Science Miscellany&amp;quot;|journal=Khaleej Times|publisher=UAE: Galadari Press|date=23 February 1993|page=xi|author=Sandra Saary |url=http://dlmcn.com/entropy2.html}}&amp;lt;/ref&amp;gt;这是因为在较高温度下（即，具有较低的熵）提供的能量比在较低温度下提供的相同数量的能量更有用。将热的流体与冷的流体混合会产生一个中间温度的流体，其中熵的总体增加表示永远无法弥补的“损失”。&lt;br /&gt;
因此，宇宙的熵在稳步增加这一事实，意味着其总能量正在变得不那么有用：最终，这导致了“宇宙热寂学说”。&amp;lt;ref&amp;gt;{{Cite journal|last=Lathia|first=R|last2=Agrawal|first2=T|last3=Parmar|first3=V|last4=Dobariya|first4=K|last5=Patel|first5=A|date=2015-10-20|title=Heat Death (The Ultimate Fate of the Universe)|url=http://rgdoi.net/10.13140/RG.2.1.4158.2485|doi=10.13140/rg.2.1.4158.2485}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===熵和绝热程度===&lt;br /&gt;
一种完全基于平衡状态之间的[https://en.wikipedia.org/wiki/Adiabatic_accessibility 绝热可达性]的熵的定义是[https://en.wikipedia.org/wiki/Elliott_H._Lieb 埃利奥特·莱伯 Elliott H.Lieb]和[https://en.wikipedia.org/wiki/Jakob_Yngvason 雅各布·瓦森 Jakob Yngvason\在1999年&amp;lt;ref&amp;gt;{{cite journal|last1=Lieb|first1=Elliott H.|last2=Yngvason|first2=Jakob|title=The physics and mathematics of the second law of thermodynamics|journal=Physics Reports|date=March 1999|volume=310|issue=1|pages=1–96|doi=10.1016/S0370-1573(98)00082-9|arxiv=cond-mat/9708200|bibcode=1999PhR...310....1L}}&amp;lt;/ref&amp;gt;建立的。其中几项先驱工作，包括1909年 Constantin Carathéodory开创性的工作&amp;lt;ref&amp;gt;{{cite journal|last1=Carathéodory|first1=C.|title=Untersuchungen über die Grundlagen der Thermodynamik|journal=Mathematische Annalen|date=September 1909|volume=67|issue=3|pages=355–386|doi=10.1007/BF01450409|language=German}}&amp;lt;/ref&amp;gt;和R. Giles的论文。&amp;lt;ref&amp;gt;{{cite book|author=R. Giles|title=Mathematical Foundations of Thermodynamics: International Series of Monographs on Pure and Applied Mathematics|url=https://books.google.com/books?id=oK03BQAAQBAJ|date=2016|publisher=Elsevier Science|isbn=978-1-4831-8491-3}}&amp;lt;/ref&amp;gt;在Lieb和Yngvason的设定中，首先是对所考虑的单位物质，选择两个参考状态&amp;lt;math&amp;gt;X_0&amp;lt;/math&amp;gt;和 &amp;lt;math&amp;gt;X_1&amp;lt;/math&amp;gt;，前者能绝热地到达后者但反之不成立。在此条件下的一个简单但重要的结果是，除了通过选择每个化学元素的单位和可加常数之外，还通过以下特性来唯一地确定熵：熵关于绝热可及性、复合系统的可加性以及广延扩展的关系而言单调递增。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===量子力学中的熵===&lt;br /&gt;
&lt;br /&gt;
在量子统计力学中，熵的概念是由[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]发展的，通常被称为“ 冯·诺依曼熵 ”，&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S = - k_B\operatorname{Tr} ( \rho \log \rho ) \!&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中ρ是密度矩阵，而Tr是迹。&lt;br /&gt;
这保持了[https://en.wikipedia.org/wiki/Correspondence_principle 对应原理]，因为在经典极限中，当用于经典概率的基本状态之间的相位纯粹是随机的时，此表达式等同于熟悉的经典熵定义，&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;S = - k_\mathrm{B}\sum_i p_i \, \log \, p_i,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
即在这样的基础上，密度矩阵是对角的。&lt;br /&gt;
Von Neumann的著作《Mathematische Grundlagen der Quantenmechanik》建立了严格的量子力学数学框架。他在这项工作中提供了一种测量理论，其中通常将[https://en.wikipedia.org/wiki/Wave_function_collapse 波函数坍缩]的概念描述为不可逆过程（所谓的冯·诺依曼或射影测量）。利用这个概念，结合密度矩阵，他将熵的经典概念扩展到了量子领域。&lt;br /&gt;
&lt;br /&gt;
===信息论===&lt;br /&gt;
当从信息论的角度看时，状态函数熵只是指定系统的完整微观态所需的信息量（在香农的意义上）。宏观描述对此未作规定。&lt;br /&gt;
在信息论中，熵是接收之前丢失的信息量的量度，有时也称为香农熵。&amp;lt;ref&amp;gt;{{cite book|first=Roger |last=Balian |chapter=Entropy, a Protean concept|editor-last=Dalibard|editor-first=Jean|title=Poincaré Seminar 2003: Bose-Einstein condensation – entropy|year=2004|publisher=Birkhäuser|location=Basel|isbn=978-3-7643-7116-6|pages=119–144}}&amp;lt;/ref&amp;gt; 香农熵是信息理论和[https://en.wikipedia.org/wiki/Maximum_entropy_thermodynamics 最大熵热力学]中广泛使用的一般概念。它最初是由[https://en.wikipedia.org/wiki/Claude_Shannon 克劳德·香农 Claude Shannon]于1948年设计的，用于研究传输消息中的信息量。但是，信息熵的定义相当笼统，用离散的概率&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;表示，有&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;H(X) = -\sum_{i=1}^n p(x_i) \log p(x_i).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在发送消息的情况下，这些概率是实际发送特定消息的概率，而消息系统的熵是对消息中平均信息量的度量。对于相等概率的情况（即，每条消息均具有同等概率），香农熵（以位为单位）只是确定消息内容所需的是/否问题的数量。&amp;lt;ref name=&amp;quot;Perplexed&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
信息熵和热力学熵之间的联系问题是一个有争议的话题。大多数作者认为两者之间有联系，&amp;lt;ref&amp;gt;{{Cite book|last=Brillouin|first=Leon|title=Science and Information Theory|year= 1956|isbn=978-0-486-43918-1}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Georgescu-Roegen 1971&amp;quot;&amp;gt;{{Cite book|last=Georgescu-Roegen|first=Nicholas|title=The Entropy Law and the Economic Process|publisher=Harvard University Press|year=1971|isbn=978-0-674-25781-8 |url = https://archive.org/details/entropylawe00nich}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=Chen|first=Jing|title=The Physical Foundation of Economics – an Analytical Thermodynamic Theory|publisher=World Scientific|year=2005|isbn=978-981-256-323-1}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal | last1 = Kalinin | first1 = M.I. | last2 = Kononogov | first2 = S.A. | year = 2005 | title = Boltzmann's constant | url = | journal = Measurement Techniques | volume = 48 | issue = 7| pages = 632–636 | doi=10.1007/s11018-005-0195-9}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last1=Ben-Naim|first1=Arieh|title=Entropy demystified the second law reduced to plain common sense|date= 2008|publisher=World Scientific|location=Singapore|isbn=9789812832269|edition=Expanded}}&amp;lt;/ref&amp;gt;中有一些人认为它们之间没有任何关系。&amp;lt;ref&amp;gt;{{cite book|first1=Joseph J.|last1=Vallino|first2=Christopher K. |last2=Algar|first3=Nuria Fernández|last3=González|first4=Julie A.|last4=Huber|editor-first1=Roderick C.|editor-last1=Dewar|editor-first2=Charles H. |editor-last2=Lineweaver|editor-first3=Robert K.|editor-last3=Niven|editor-first4=Klaus|editor-last4=Regenauer-Lieb|date= 2013|chapter=Use of Receding Horizon Optimal Control to Solve MaxEP-Based (max entropy production) Biogeochemistry Problems |department=Living Systems as Catalysts|chapter-url=https://books.google.ca/books?id=xF65BQAAQBAJ&amp;amp;pg=PA340|title=Beyond the Second Law: Entropy Production &amp;amp; Non-equilibrium Systems|page=340|isbn=978-3642401534|publisher=Springer |accessdate=2019-08-31 |quote=Inked page forms pattern w/ information → page entropy &amp;lt; diff page w/ randomized letters. Reduced entropy trivial compared to inked paper entropy. If the paper is burned, it hardly matters in a thermodynamic context if the text contains the meaning of life or only jibberish.}}&amp;lt;/ref&amp;gt;两个熵的表达式相似。如果w ^是微观的是可以产生一个给定的宏观态的数目，并且每个微态具有相同的[https://en.wikipedia.org/wiki/A_priori_and_a_posteriori 先验概率]，则该概率为&amp;lt;math&amp;gt;p = \frac 1 W&amp;lt;/math&amp;gt;。香农熵（单位nats）是：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;H = -\sum_{i=1}^W p \log (p)= \log (W)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如果以k / nat 为单位来衡量熵，那么熵可以通过以下公式给出&amp;lt;ref&amp;gt;{{cite web|url=http://bayes.wustl.edu/etj/node1.html|title=Edwin T. Jaynes – Bibliography|publisher=Bayes.wustl.edu|date=1998-03-02|accessdate=2009-12-06}}&amp;lt;/ref&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;H = k \log (W)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当k是玻尔兹曼常数时，这就是著名的[https://en.wikipedia.org/wiki/Boltzmann%27s_entropy_formula 玻尔兹曼熵]公式，这可以解释为每纳特的热力学熵。有许多种方法可以证明“信息熵”和“物理熵”的等价性，即“香农熵”和“玻尔兹曼熵”的等价性。然而，一些作者主张放弃信息论中H函数的熵一词，而改用Shannon的另一个术语“不确定性”。&amp;lt;ref&amp;gt;Schneider, Tom, DELILA system (Deoxyribonucleic acid Library Language), (Information Theory Analysis of binding sites), Laboratory of Mathematical Biology, National Cancer Institute, Frederick, MD&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===熵的实验测量===&lt;br /&gt;
可以间接地测量物质的熵，尽管不是直接的。测量熵使用的温度定义&amp;lt;ref&amp;gt;{{cite book|last1=Schroeder|first1=Daniel V.|title=An introduction to thermal physics|date=2000|publisher=Addison Wesley|location=San Francisco, CA [u.a.]|isbn=978-0-201-38027-9|page=88|edition=[Nachdr.]}}&amp;lt;/ref&amp;gt; ，同时将能量交换限制为热量（&amp;lt;math&amp;gt;dU \rightarrow dQ&amp;lt;/math&amp;gt;）。&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;T := \left(\frac{\partial U}{\partial S}\right)_{V,N} \Rightarrow \cdots \Rightarrow \; dS=dQ/T&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
结果关系描述了当少量的能量 &amp;lt;math&amp;gt;dS&amp;lt;/math&amp;gt; 在一定温度T下被引入系统时，熵如何随&amp;lt;math&amp;gt;dQ&amp;lt;/math&amp;gt; 变化。&lt;br /&gt;
测量过程如下。首先，将物质样品冷却至尽可能接近绝对零。在这样的温度下，由于温度的定义，熵接近零。然后，将少量热量引入样品中，并记录温度变化，直到温度达到所需值（通常为25°C）。所获得的数据使测量者可以对上述方程式进行积分，从而得出最终温度下物质熵的绝对值。熵的这个值称为量热熵。&amp;lt;ref&amp;gt;{{cite web|title=Measuring Entropy|url=https://www.chem.wisc.edu/deptfiles/genchem/netorial/modules/thermodynamics/entropy/entropy04.htm|website=www.chem.wisc.edu}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==熵在其他领域应用==&lt;br /&gt;
尽管熵的概念最初是一个热力学构造函数，但它已在其他研究领域进行了变形，包括信息论，心理动力学，热经济学，生态经济学和进化论。&amp;lt;ref name=&amp;quot;Brooks&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=Avery|first=John|title=Information Theory and Evolution|publisher=World Scientific |year=2003|isbn=978-981-238-399-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=Yockey|first=Hubert, P.|title=Information Theory, Evolution, and the Origin of Life|publisher=Cambridge University Press|year=2005|isbn=978-0-521-80293-2}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1= Chiavazzo |first1=Eliodoro|last2=Fasano|first2=Matteo|last3=Asinari|first3=Pietro|title=Inference of analytical thermodynamic models for biological networks|journal=Physica A: Statistical Mechanics and Its Applications|volume=392|issue=5 |doi= 10.1016/j.physa.2012.11.030|url=https://iris.polito.it/bitstream/11583/2504927/1/BIOaps_final_R01c.pdf |pages=1122–1132|bibcode = 2013PhyA..392.1122C |year=2013}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|title = The Unity of Science and Economics: A New Foundation of Economic Theory|last = Chen|first = Jing|publisher = Springer|year = 2015|isbn = |location = https://www.springer.com/us/book/9781493934645|pages = }}&amp;lt;/ref&amp;gt; 例如，最近提出了一种熵理论来解释洞穴蜘蛛在选择合适的产卵区域时的偏好。&amp;lt;ref&amp;gt;{{cite journal|last1=Chiavazzo|first1=Eliodoro|last2=Isaia|first2=Marco|last3=Mammola|first3=Stefano|last4=Lepore|first4=Emiliano|last5=Ventola|first5=Luigi|last6=Asinari|first6=Pietro|last7=Pugno|first7=Nicola Maria|title=Cave spiders choose optimal environmental factors with respect to the generated entropy when laying their cocoon|journal=Scientific Reports|volume=5|doi=10.1038/srep07611|pmid=25556697|pmc=5154591|pages=7611|bibcode = 2015NatSR...5E7611C |year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
如果热力学熵表征能量耗散，那么摩擦疲劳熵表征其能量吸收。&amp;lt;ref&amp;gt;Sosnovskiy, L. A., Sherbakov, S. S. Surprises of Tribo-Fatigue. Magic Book, 2009. – 200 p.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Sosnovskiy, L. A. On a form of entropy as a measure of energy absorption spent on damage production in a mechanothermodynamic system // Reports of the National Academy of Sci-ences of Belarus. – 2007. – V. 51. – № 6. – P. 100–104. (in Russian).&amp;lt;/ref&amp;gt;其变化由公式给出&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;(d_i S)_{TF} = \frac{\gamma_1^{(w)}}{T_\Sigma} \omega_\Sigma dV_{P\gamma}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
根据该式，[https://en.wikipedia.org/wiki/Tribo-Fatigue 摩擦疲劳]熵是通过不可逆的损伤引起&amp;lt;math&amp;gt;\omega_\Sigma&amp;lt;/math&amp;gt;在危险的体积&amp;lt;math&amp;gt;V_p\gamma&amp;lt;/math&amp;gt;移动和可变形固体的，彼此和/或与该介质相互作用。这里&amp;lt;math&amp;gt;T_p\gamma≥T&amp;lt;/math&amp;gt;是由所有来源（使温度&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;是介质的温度），&amp;lt;math&amp;gt;\gamma_1^(ω)&amp;lt;/math&amp;gt;是压力（应力），这导致为单个值的危险体积损坏。&lt;br /&gt;
&lt;br /&gt;
根据广义概念（例如，参见&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A 2005&amp;quot;&amp;gt;{{cite book|last = Sosnovskiy|first = Leonid A.|title = Tribo-Fatigue: Wear-Fatigue Damage and its prediction |series = Foundations of Engineering Mechanics |publisher = Springer|year = 2005|isbn = 3-540-23153-6}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A 2007&amp;quot;&amp;gt;Sosnovskiy, L. A. Wear-fatigue mechanics / L. A. Sosnovskiy. – Gomel : BelSUT, 2007. – 434 p. (in Russian).&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Sherbakov, S. S 2010&amp;quot;&amp;gt;Sherbakov, S. S. Mechanics of tribo-fatigue systems / S. S. Sherbakov, L. A. Sos-novskiy. – Minsk : BSU, 2010. – 407 р. (in Russian).&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Sosnovskiy, L. А 2010&amp;quot;&amp;gt;Sosnovskiy, L. А. Fundamental and applied tasks of Tribo-Fatigue: lectures / L. А. Sosnovskiy, М. А. Zhuravkov, S. S. Sherbakov. – Minsk : BSU, 2010. – 488 p. (in Russian).&amp;lt;/ref&amp;gt;），损坏是成分，结构，结构，尺寸，形状，体积，质量（等）的不可逆转的变化，因此，对象的相应理化，力学等性能；最终，损害与破坏身体的连续性和完整性有关，直至破坏（例如分解为原子）。因此，损坏被解释为移动和可变形系统的基本属性（和义务）。&lt;br /&gt;
&lt;br /&gt;
不可逆的损害（&amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt;）的复合物（&amp;lt;math&amp;gt;\omega_\Sigma&amp;lt;/math&amp;gt;）由有效（在系统吸收）能量来确定（&amp;lt;math&amp;gt;U_\Sigma^{(eff)}&amp;lt;/math&amp;gt;），引起的任何性质的力：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\omega_\Sigma(U_\Sigma^\mathit{eff}) = \omega_\Sigma \left(U_n^\mathit{eff}, U_\tau^\mathit{eff}, U_T^\mathit{eff}, U_{ch}^\mathit{eff}, \ldots, U_0, t \right) = \omega_{\Sigma U} \ge 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在这里，指数&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;\tau&amp;lt;/math&amp;gt;表示法向和剪切机械载荷，&amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;Ch&amp;lt;/math&amp;gt;表示产生相应能量通量的热和电化学载荷。&lt;br /&gt;
&lt;br /&gt;
因此，损坏&amp;lt;math&amp;gt;\omega_\Sigma&amp;lt;/math&amp;gt;是一种能量的热机械功能，因为它考虑到两者的任何力因子和温度 &amp;lt;math&amp;gt;T_\Sigma&amp;lt;/math&amp;gt;。这意味着摩擦疲劳熵是所有源引起的能量吸收的量度。测定程序&amp;lt;math&amp;gt;U_\Sigma^{(eff)}&amp;lt;/math&amp;gt;已经被开发（见，例如。&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A 2005&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A 2007&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Sherbakov, S. S 2010&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Sosnovskiy, L. А 2010&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A. 2016&amp;quot;&amp;gt;Sosnovskiy, L. A., Sherbakov, S. S. Mechanothermodynamics. – Springer, 2016. – 155 p.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
对物体的物理损害的空间条件成立，&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A 2007&amp;quot;/&amp;gt;其中指出：不可逆的损伤进程的发展是可能的，并且被实现以一定的概率&amp;lt;math&amp;gt;Р&amp;gt; 0&amp;lt;/math&amp;gt;，当一个有限区域&amp;lt;math&amp;gt;V_p\gamma&amp;lt;/math&amp;gt; 与有效非零电平能量&amp;lt;math&amp;gt;U_\Sigma^{(eff)}&amp;gt;0&amp;lt;/math&amp;gt;（内部熵&amp;lt;math&amp;gt;S_i&amp;gt;0&amp;lt;/math&amp;gt;）发生在对象-一个危险的体积&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;V_{P\gamma} \in V_{P\gamma} \left(Q_i, U_\Sigma^\mathit{eff}, S_i\right) \ge 0,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中Q&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; -是内力因素。&lt;br /&gt;
&lt;br /&gt;
如果&amp;lt;math&amp;gt;V_p\gamma = 0&amp;lt;/math&amp;gt; ，则&amp;lt;math&amp;gt;\omega_\Sigma = 0&amp;lt;/math&amp;gt;，因此，由一个损伤对象的演变是可逆系统 impossi-BLE。以不可逆的系统&amp;lt;math&amp;gt;V_p\gamma ≤ V&amp;lt;/math&amp;gt; 有其空间损伤的绝对值（测定）（&amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;是其几何体积）。计算方法和危险的体积（的分类&amp;lt;math&amp;gt;V_p\gamma&amp;lt;/math&amp;gt;）为典型的物质对象（可变形的固体和系统）在各种条件下，已经开发（见，例如&amp;lt;ref name=&amp;quot;Sherbakov, S. S 2010&amp;quot;/&amp;gt;）系统损伤的规模可以是任何。&lt;br /&gt;
&lt;br /&gt;
使用摩擦疲劳熵的概念，可以对损伤进行熵解释：对物体的不可逆损伤等同于其内部熵在其危险体积中的变化。&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\omega_\Sigma(S_{TF}) \equiv \frac{(d_i S)_{TF}}{dV_{P\gamma}} = \omega_{\Sigma S}.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
一个开放的热力学系统（其中损坏的或固体的物体分布（分散））称为机械热力学系统（MTD）。如图&amp;lt;ref name=&amp;quot;Sosnovskiy, L. A. 2016&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;Sosnovskiy, L. A., Sherbakov, S. S. Mechanothermodynamical system and its be-havior // Continuum Mechanics and Thermodynamics. – 2012. – № 24. – Р. 239–256.&amp;lt;/ref&amp;gt;所示，这种系统中熵的变化取决于热力学（TD指数）和摩擦疲劳（TF指数）熵的函数：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
dS_{MTD} &amp;amp;= \left[(dS)_{TD} \rightleftarrows (d_i S)_{TF}\right] \\&lt;br /&gt;
&amp;amp;= \Lambda_{TD\backslash TF} \left[\left(\frac{dU + p\,dV}{T} - \frac{1}{T}\sum_1^n{\mu\,dN_k}\right)_{TD} + \left(\gamma_1^{(w)}\frac{\omega_\Sigma}{T_\Sigma}dV_{P\gamma}\right)_{TF} \right]&lt;br /&gt;
\uparrow , \Lambda \lesseqgtr 1. \\&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该方程式允许分析系统的任何（可能的）状态。他认为，由于系统的热机械状态，摩擦疲劳熵的增加会导致移动和可变形的物体和系统的破坏和分解。在热力学方程中，这样的状态是不可能的。考虑到熵分量之间相互作用的各种机制来构造该方程式。&lt;br /&gt;
&lt;br /&gt;
因此，从前面的内容可以得出，在一般情况下，系统的演化取决于熵不可逆变化的过程强度-热力学和摩擦疲劳；内部机械热力学熵的产生与运动和破坏一样永恒。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===热力学和统计力学相关概念===&lt;br /&gt;
&lt;br /&gt;
熵单位–热力学熵的非SI单位，通常表示为“e.u.”，等于每摩尔每开尔文1卡路里，或每摩尔每开尔文4.184 焦耳。&amp;lt;ref&amp;gt;{{GoldBookRef|file=E02151|title=Entropy unit}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Entropy_(statistical_thermodynamics)#Gibbs_entropy_formula 吉布斯熵] –热力学系统通常的统计机械熵。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Boltzmann%27s_entropy_formula Boltzmann熵] –一种Gibbs熵，在整体粒子分布中忽略了内部统计相关性。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Tsallis_entropy Tsallis熵] –标准Boltzmann–Gibbs熵的推广。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Standard_molar_entropy 标准摩尔熵] –是在标准温度和压力条件下，一摩尔物质的熵含量。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Residual_entropy 残留熵] –物质任意冷却到绝对零附近后存在的熵。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Entropy_of_mixing 混合熵] –两种不同化学物质或成分混合时的熵变。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Loop_entropy 环熵] –是在规定距离内将聚合物的两个残基聚集在一起而损失的熵。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Conformational_entropy 构象熵] –是与聚合物链的物理排列相关的熵，聚合物链在溶液中呈致密或球形状态。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Entropic_force 熵力] –与系统组织变化，分子摩擦考虑和统计变化有关的微观力或反应趋势。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Free_entropy 自由熵] –类似于自由能的熵热力学势。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Entropic_explosion 熵爆炸] -爆炸，其中反应物的体积发生较大变化而不会释放大量热量。&lt;br /&gt;
&lt;br /&gt;
*熵变– 两个平衡状态之间的熵dS的变化由传热dQ rev除以该间隔内系统的绝对温度T给出。&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Sackur%E2%80%93Tetrode_equation Sackur-Tetrode熵] -通过量子考虑确定的单原子经典理想气体的熵。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===时间之箭===&lt;br /&gt;
熵是物理学中唯一提及会向特定发展方向的量，有时被称为[[时间之箭]]。随着时间的流逝，热力学第二定律指出，在大型系统中，孤立的系统的熵在相当长的一段时间内不会减少。因此，从这个角度来看，在这些条件下，熵测量被认为是时钟。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DNA序列中的熵===&lt;br /&gt;
熵被证明可用于DNA序列分析。一些研究表示，出许多基于熵的度量可以区分基因组的不同结构区域，区分DNA的编码区域和非编码区域，并且还可以通过确定不同物种之间的进化距离来应用于重建进化树。&amp;lt;ref&amp;gt;{{Cite journal|last=Thanos|first=Dimitrios|last2=Li|first2=Wentian|last3=Provata|first3=Astero|date=2018-03-01|title=Entropic fluctuations in DNA sequences|url= |journal=Physica A: Statistical Mechanics and Its Applications|volume=493|pages=444–457|doi=10.1016/j.physa.2017.11.119|issn=0378-4371}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===宇宙学===&lt;br /&gt;
由于有限宇宙是一个孤立的系统，因此热力学第二定律指出其总熵在不断增加。据推测，自19世纪以来，宇宙注定要经历[https://en.wikipedia.org/wiki/Heat_death_of_the_universe 热寂]，在热寂中，所有能量最终以热能的均匀分布结束，因此无法从任何来源提取更多的功。&lt;br /&gt;
如果可以认为宇宙总体上具有熵的增加，那么正如[https://en.wikipedia.org/wiki/Roger_Penrose 罗杰·彭罗斯 Roger Penrose]所指出的那样，重力在该过程中起着重要作用，因为重力会使分散的物质积聚成恒星，最终坍塌成黑洞。黑洞的熵与黑洞的[https://en.wikipedia.org/wiki/Event_horizon 事件视界]的表面积成正比。&amp;lt;ref&amp;gt;{{Cite book|last=von Baeyer|first=Christian, H.|title=Information–the New Language of Science|publisher=Harvard University Press|year=2003|isbn=978-0-674-01387-2|url=https://archive.org/details/informationnewla00vonb}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal|author=Srednicki M|title=Entropy and area|journal=Phys. Rev. Lett. |volume=71|issue=5|pages=666–669|date=August 1993|pmid=10055336|doi=10.1103/PhysRevLett.71.666 |bibcode=1993PhRvL..71..666S |arxiv=hep-th/9303048}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal|author=Callaway DJE|title=Surface tension, hydrophobicity, and black holes: The entropic connection|journal=Phys. Rev. E|volume=53|issue=4|pages=3738–3744|date=April 1996|pmid=9964684|doi= 10.1103/PhysRevE.53.3738 |arxiv=cond-mat/9601111|bibcode=1996PhRvE..53.3738C}}&amp;lt;/ref&amp;gt; [https://en.wikipedia.org/wiki/Jacob_Bekenstein 雅各布·贝肯斯坦 acob David Bekenstein]和[[史蒂芬·霍金 Stephen Hawking]]证明了在任何大小相等的物体中，黑洞具有最大的熵。如果它们是完全有效的物质和能量陷阱，则它们可能是所有熵增加过程的终点。&amp;lt;ref&amp;gt;{{cite book|first1=T.K.|last1=Sarkar|first2=M.|last2=Salazar-Palma|first3=Eric L.|last3=Mokole|date=2008|chapter=A Look at the Concept of Channel Capacity from a Maxwellian Viewpoint|chapter-url=https://books.google.ca/books?id=chfvTMRsv38C&amp;amp;pg=PA162 |title= Physics of Multiantenna Systems &amp;amp; Broadband Processing |page=162|isbn=978-0470190401|publisher=Wiley|accessdate= 2019-08-31}}&amp;lt;/ref&amp;gt; 然而，由于量子活性，能量可能会从黑洞中逸出（见[https://en.wikipedia.org/wiki/Hawking_radiation 霍金辐射]）。&lt;br /&gt;
&lt;br /&gt;
自[https://en.wikipedia.org/wiki/Ludwig_Boltzmann Ludwig Boltzmann]时代以来，熵在宇宙学中的作用仍然是一个有争议的话题。最近的工作使人们对热寂假说以及任何简单的热力学模型在宇宙的普遍适用性产生了怀疑。尽管在扩展的宇宙模型中熵确实增加了，但最大可能的熵却增长得更快，随着时间的推移，使宇宙离热寂的距离越来越远，而不是越来越近。&amp;lt;ref&amp;gt;{{Cite book|last=Layzer|first=David|title=Growth of Order in the Universe|publisher=MIT Press|year=1988}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|last=Chaisson|first=Eric J.|title=Cosmic Evolution: The Rise of Complexity in Nature|publisher=Harvard University Press|year=2001|isbn=978-0-674-00342-2|url=https://archive.org/details/cosmicevolutionr00chai}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite book|author1=Lineweaver Charles H.|author2=Davies Paul C. W.|author3= Ruse Michael|title=Complexity and the Arrow of Time|publisher=Cambridge University Press|year=2013|isbn=978-1-107-02725-1}}&amp;lt;/ref&amp;gt; 这导致“熵间隙”，使系统进一步远离假定的热死平衡。&amp;lt;ref&amp;gt;{{Cite book|last=Stenger|first=Victor J.|title=God: The Failed Hypothesis|publisher=Prometheus Books|year=2007|isbn=978-1-59102-481-1}}&amp;lt;/ref&amp;gt;其他复杂因素，例如真空的能量密度和宏观量子这种效应很难与热力学模型相吻合，因此热力学对大型系统的任何预测都极为困难。&amp;lt;ref&amp;gt;{{Cite book|author=Benjamin Gal-Or|title=Cosmology, Physics and Philosophy|publisher=Springer Verlag|year=1987|isbn=978-0-387-96526-0}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
当前的理论表明，熵间隙最初是由宇宙的早期快速[https://en.wikipedia.org/wiki/Inflation_(cosmology) 指数膨胀]所打开的。&amp;lt;ref name=&amp;quot;Albrecht&amp;quot;&amp;gt;{{cite encyclopedia|last=Albrecht|first=Andreas|editor-last=Barrow|editor-first=John D.|editor-last2=Davies|editor-first2=Paul C.W.|editor-last3=Harper |editor-first3=Charles L. Jr.|encyclopedia=Science and Ultimate Reality: From Quantum to Cosmos|title=Cosmic inflation and the arrow of time|url=https://arxiv.org/ftp/astro-ph/papers/0210/0210527.pdf|access-date=28 June 2017|year=2004|publisher=Cambridge University Press|location=Cambridge, UK|arxiv=astro-ph/0210527|postscript=none|bibcode=2002astro.ph.10527A}} (in honor of John&lt;br /&gt;
Wheeler’s 90th birthday)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===经济学===&lt;br /&gt;
罗马尼亚裔美国经济学家[https://en.wikipedia.org/wiki/Nicholas_Georgescu-Roegen 尼古拉斯·乔治斯丘·罗根 Nicholas Georgescu Roegen]，一个在经济学领域创建'''生态经济模式'''的先驱，他大量使用了熵的概念，得到了著名的熵定律和经济过程。&amp;lt;ref name=&amp;quot;Georgescu-Roegen 1971&amp;quot; /&amp;gt;由于Georgescu Roegen的工作，热力学定律现在已成为生态经济学派的组成部分。&amp;lt;ref&amp;gt;{{cite journal|last1=Cleveland |first1=Cutler J. |last2=Ruth |first2=Matthias |date=1997 |title=When, where, and by how much do biophysical limits constrain the economic process? A survey of Nicholas Georgescu-Roegen's contribution to ecological economics |journal=Ecological Economics (journal)|volume=22 |issue=3 |location=Amsterdam |publisher=Elsevier |doi=10.1016/s0921-8009(97)00079-7 |pages=203–223}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book |last1=Daly |first1=Herman E. |last2=Farley |first2=Joshua |date= 2011 |title=Ecological Economics. Principles and Applications. |edition=2nd |url=http://library.uniteddiversity.coop/Measuring_Progress_and_Eco_Footprinting/Ecological_Economics-Principles_and_Applications.pdf |format=PDF contains full book |location=Washington |publisher=Island Press |isbn=978-1-59726-681-9 }}&amp;lt;/ref&amp;gt;尽管他的工作因错误而有些瑕疵，但一些书中有关热力学历史发展的基本物理学教科书中已包含一整篇有关乔治斯库-罗根经济学的章节。&amp;lt;ref&amp;gt;{{cite book |last=Schmitz |first=John E.J. |date=2007 |title=The Second Law of Life: Energy, Technology, and the Future of Earth As We Know It.|url=https://secondlawoflife.wordpress.com/contents |format=Link to the author's science blog, based on his textbook |location=Norwich |publisher=William Andrew Publishing |isbn=978-0-8155-1537-1 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在经济学上，Georgescu Roegen的著作产生了“熵悲观主义”一词。&amp;lt;ref&amp;gt;{{cite journal |last=Ayres |first=Robert U. |date=2007 |title=On the practical limits to substitution |url=http://pure.iiasa.ac.at/id/eprint/7800/1/IR-05-036.pdf |journal=Ecological Economics (journal)|volume=61 |location=Amsterdam |publisher=Elsevier|doi=10.1016/j.ecolecon.2006.02.011 |pages=115–128}}&amp;lt;/ref&amp;gt;：116自1990年代以来，领先的生态经济学家和稳态理论家[https://en.wikipedia.org/wiki/Herman_Daly 赫尔曼·戴利  Herman Daly]（Georgescu Roegen的学生）一直是经济学界对熵悲观主义立场最有影响力的支持者。&amp;lt;ref&amp;gt;{{cite journal |last=Kerschner |first=Christian |date=2010 |title=Economic de-growth vs. steady-state economy |url=http://degrowth.org/wp-content/uploads/2012/11/Kerschner-2010.pdf |journal=Journal of Cleaner Production |volume=18 |issue=6 |location=Amsterdam |publisher=Elsevier |doi=10.1016/j.jclepro.2009.10.019 |pages=544–551}}&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web |url=http://www.greattransition.org/publication/economics-for-a-full-world |title=Economics for a Full World |author=Daly, Herman E. |date=2015 |website=Great Transition Initiative |access-date=23 November 2016 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===诠释学===&lt;br /&gt;
在诠释学中，Arianna Béatrice Fabbricatore使用了依赖于安伯托·艾柯 Umberto Eco 的著作&amp;lt;ref&amp;gt;Umberto Eco, Opera aperta. Forma e indeterminazione nelle poetiche contemporanee, Bompiani 2013&amp;lt;/ref&amp;gt;的术语来识别和评估舞蹈的口头描述与舞蹈文本（舞者穿上时动的丝绸）之间的意义损失。由符号间翻译操作实现舞蹈作品&amp;lt;ref&amp;gt;Arianna Beatrice Fabbricatore. (2017). La Querelle des Pantomimes. Danse, culture et société dans l’Europe des Lumières. Rennes: Presses universitaires de Rennes.&amp;lt;/ref&amp;gt;的产生。&amp;lt;ref&amp;gt;Arianna Beatrice Fabbricatore. (2018). L’action dans le texte. Pour une approche herméneutique du Trattato teorico-prattico di Ballo (1779) de G. Magri. [Ressource ARDP 2015], Pantin, CN D.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://hddanse.hypotheses.org/272 |title=HDDanse 272 |website=Hypotheses}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
此用法与徽标文本和编排文本的概念相关。在从徽标文本到舞蹈文本的过渡中，可以确定两种熵类型：第一种称为“自然”，与表演行为的独特性及其短暂性有关。第二种是由徽标文本（即反映所跳动动作的口头文本）中或多或少重要的“空洞”引起的&amp;lt;ref&amp;gt;{{cite web |url=https://f.hypotheses.org/wp-content/blogs.dir/4031/files/2019/03/Laction_dans_le_texte_CND_fabbricatore-1-115.pdf |title=Laction dans le texte CND fabbricatore |date=March 2019 |pages=1–115 |website=Hypotheses}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==标注==&lt;br /&gt;
{{Reflist|group=note}}&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:熵增.gif|thumb|right|400px|[https://baijiahao.baidu.com/s?id=1638841205928147461&amp;amp;wfr=spider&amp;amp;for=pc 最令人绝望物理定律“熵增原理”：生命以负熵为食，最终走向消亡]]]&lt;br /&gt;
====[https://blog.csdn.net/am290333566/article/details/81187124?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158662476119724846431926%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&amp;amp;request_id=158662476119724846431926&amp;amp;biz_id=0&amp;amp;utm_source=distribute.pc_search_result.none-task-blog-soetl_so_first_rank_v2_rank_v25-12 信息熵及其相关概念]====&lt;br /&gt;
信息熵常被用来作为一个系统的信息含量的量化指标，从而可以进一步用来作为系统方程优化的目标或者参数选择的判据。该文章用通俗易懂的语言系统地梳理一下有关熵的概念，有助于初学者入门。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://baijiahao.baidu.com/s?id=1638841205928147461&amp;amp;wfr=spider&amp;amp;for=pc 最令人绝望物理定律“熵增原理”：生命以负熵为食，最终走向消亡]====&lt;br /&gt;
熵被认为一种悲观主义的世界观，而熵增定律也被认为是令全宇宙都绝望的定律。该文章介绍了其令人绝望的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=12129 城市熵的秘密：你的诗和远方，都有人在负重前行]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=365 科普 | 用绵羊解释熵——从冰块融化到时间箭头之谜]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=15338 热力学如何解释进化论：最大化熵产生原理驱动下的自然选择]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:Gravity PHY|Gravity PHY]]用户参与编译，[[用户:苏格兰|苏格兰]]、[[用户:Liushikang1992|Liushikang1992]]审校，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7071</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7071"/>
		<updated>2020-05-07T01:04:16Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 基本思想 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些热门的网站，如中国新浪网。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Larry Page和'''谢尔盖·布林 Sergey Brin''' (Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个网页的概率。PageRank值（PR）可以在任何规模的网页集合中计算得出，而每个链接都指向该集合中的某个特定网页。相关研究论文指出，在初次计算前，总概率将被均分到每个网页上，使得集合中的每个网页被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. 越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
&lt;br /&gt;
2. PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有不少链接。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]编译，[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7070</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7070"/>
		<updated>2020-05-07T01:03:50Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 基本思想 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些热门的网站，如中国新浪网。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Larry Page和'''谢尔盖·布林 Sergey Brin''' (Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个网页的概率。PageRank值（PR）可以在任何规模的网页集合中计算得出，而每个链接都指向该集合中的某个特定网页。相关研究论文指出，在初次计算前，总概率将被均分到每个网页上，使得集合中的每个网页被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
&lt;br /&gt;
PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有不少链接。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]编译，[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7069</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7069"/>
		<updated>2020-05-07T01:00:56Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 描述 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些热门的网站，如中国新浪网。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Larry Page和'''谢尔盖·布林 Sergey Brin''' (Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个链接的概率。PageRank值（PR）可以在任何规模的文件集合中计算得出，而每个链接都指向该集合中的某个特定文件。相关研究论文指出，在初次计算前，总概率将被均分到每个文件上，使得集合中的每个文件被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有一堆小罗罗给它投票。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]编译，[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7068</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7068"/>
		<updated>2020-05-07T01:00:04Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 描述 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些热门的网站，如中国新浪网。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Page和'''谢尔盖·布林 Sergey Brin'''(Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个链接的概率。PageRank值（PR）可以在任何规模的文件集合中计算得出，而每个链接都指向该集合中的某个特定文件。相关研究论文指出，在初次计算前，总概率将被均分到每个文件上，使得集合中的每个文件被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有一堆小罗罗给它投票。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]编译，[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7066</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7066"/>
		<updated>2020-05-07T00:58:56Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 编者推荐 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些权威的网站，类似cnn.com或者qq.com。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Page和'''谢尔盖·布林 Sergey Brin'''(Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个链接的概率。PageRank值（PR）可以在任何规模的文件集合中计算得出，而每个链接都指向该集合中的某个特定文件。相关研究论文指出，在初次计算前，总概率将被均分到每个文件上，使得集合中的每个文件被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有一堆小罗罗给它投票。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]编译，[[用户:薄荷|薄荷]]编辑，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7064</id>
		<title>PageRank算法</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=PageRank%E7%AE%97%E6%B3%95&amp;diff=7064"/>
		<updated>2020-05-07T00:58:03Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 编者推荐 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=算法,PageRank,排序算法&lt;br /&gt;
|description=网络科学,PageRank算法,网页排序&lt;br /&gt;
}}&lt;br /&gt;
[[File:PageRanks-Example.jpg|thumb|400x400px|图片注释：在简单的网络中，使用百分比表示PageRank(Google使用对数标尺)。尽管到C的链接较少，但页面C的PageRank高于页面E。到C的一个链接来自重要页面，因此具有很高的价值。如果一个人从随机页面开始浏览，有85％的可能性从他当前访问的页面中选择一个随机链接，而有15％的可能性从整个网络中随机跳转到某个页面，则他们将到达页面E占8.1％的时间（即跳到任意页面的可能性为15％，对应的阻尼系数为85％）。如果没有阻尼，则所有浏览网站的人最终都将停留在A，B或C页上，而所有其他页面的PageRank均为0。在存在阻尼的情况下，即使页面A没有自己的传出链接，它也可以有效链接到网络中的所有页面。]]&lt;br /&gt;
&lt;br /&gt;
PageRank(PR)算法，又称为网页排名算法、Google左侧排算法，由谷歌创始人之一的'''拉里·佩奇 Larry Page'''命名。PageRank是一种衡量网站页面重要性的方法。根据谷歌的说法：&lt;br /&gt;
PageRank通过计算页面链接的数量和质量来粗略估计分析网站的重要性。基本假设是：更重要的页面往往更多地被其他页面引用（或称其他页面中会更多地加入通向该页面的超链接）。&lt;br /&gt;
&lt;br /&gt;
目前该算法不再是谷歌用于排序搜索结果的唯一算法，但它是谷歌公司使用的第一个排序搜索算算法，也是最著名的算法。截止至2019年9月24日，PageRank及其所有的相关专利已过期。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==描述==&lt;br /&gt;
&lt;br /&gt;
PageRank是一种链接分析算法，它通过对超链接集合（如万维网）中的元素实现数值权重赋值，实现“衡量集合范围内某一元素的相关重要性”的目的。该算法可以应用于带有相互引用或者引用关系的任何实体集合。算法赋值给任何给定元素E的数值权重称为E的PageRank，并且用PR(E) 表示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的结果来源于一种基于'''图论'''的数学算法。它将万维网上所有的网页视作'''节点 node'''，而将超链接视作'''边 edge'''，并且考虑到了一些权威的网站，类似cnn.com或者qq.com。每个节点的权重值表示对应的页面的重要度。通向该网页的超链接称做“对该网页的投票 a vote of support”。每个网页的权重值大小被递归地定义，依托于所有链接该页面的页面的权重值。例如，一个被很多页面的链接的页面将会拥有较高的权重值。&lt;br /&gt;
&lt;br /&gt;
自Page和'''谢尔盖·布林 Sergey Brin'''(Google的另外一位创始人)的首篇论文发表以来，已经有许多关于PageRank的学术论文被发表。实际上，PageRank概念可能很容易受到利用。相关的研究会关注那些因受到影响而出现错误的PageRank结果，以找到一种有效地避免其PageRank被错误影响的方法（如忽略部分错误的链接）。&lt;br /&gt;
&lt;br /&gt;
PageRank算法中的点击算法是由乔恩·克莱因伯格 Jon Kleinberg提出的。而其他的基于链接的网页排名算法有Kleinberg发明的[[HITS算法 HITS algorithm]]，IBM CLEVER Project，TrustRank算法以及hummingbird算法等等。&lt;br /&gt;
&lt;br /&gt;
==历史==&lt;br /&gt;
&lt;br /&gt;
Page和Brin于1996年在斯坦福大学开发了PageRank，这是“一种新型搜索引擎”研究项目的一部分。赫克托·加西亚·莫利纳 Hector Garcia-Molina，斯坦福大学计算机科学教授，也是Brin的导师，提供了页面排名算法开发的背景知识。Brin的想法是，可以通过'''链接流行度 Link popularity'''按层次结构对Web上的信息进行排序：网页的排名越高，链接就越多。该系统是在Scott Hassan和Alan Steremberg的帮助下开发的，Page和Brin都认为他们对Google的发展至关重要。Rajeev Motwani和Terry Winograd与Page和Brin共同撰写了有关该项目的第一篇论文，描述了PageRank和Google搜索引擎的初始原型。此后不久，Page和Brin创立了Google公司，'''谷歌搜索'''为其产品。PageRank目前虽然只是决定Google搜索结果排名的众多因素之一，但仍继续为所有Google搜索提供基础。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PageRank&amp;quot;这个名字里面的&amp;quot;Page&amp;quot;来源于Larry Page，也源于网页 Web Page。但是这项专利为斯坦福大学所有，作为交换，斯坦福大学拥有谷歌的180万股的股份。&lt;br /&gt;
PageRank收到'''引文分析 Citation analysis'''研究的启发，这是20世纪50年代宾夕法尼亚大学的Eugene Garfield和Hyper Search和University of Padua的Massimo Marchiori。在PageRank被提出的同一年,Jon Kleinberg 发表了[[HITS算法 HITS algorithm]]的研究成果。[[HITS算法 HITS algorithm]]也是一种网络重要性分析的算法，按照HITS算法，用户输入关键词后，算法对返回的匹配页面计算两种值，一种是'''枢纽值 Hub Scores'''，另一种是'''权威值 Authority Scores''',这两种值是互相依存、互相影响的。所谓枢纽值，指的是页面上所有导出链接指向页面的权威值之和。权威值是指所有导入链接所在的页面中枢纽之和。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
===基本思想===&lt;br /&gt;
[[File:Pagerank xishu.png|300px|right|thumb|图1]]&lt;br /&gt;
PageRank算法通过输出概率分布来体现某人随机地点击某个链接的概率。PageRank值（PR）可以在任何规模的文件集合中计算得出，而每个链接都指向该集合中的某个特定文件。相关研究论文指出，在初次计算前，总概率将被均分到每个文件上，使得集合中的每个文件被访问的概率都是相同的。接下来在重复多次的计算（又称为“迭代”）中，算法将根据集合的实际情况不断调整PR值，使得其越来越接近最真实的理论值。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PageRank的设计受到学术论文引用启发。衡量一篇学术论文质量高与否，最重要的一个指标是引用次数，高引用量的论文通常意味着高质量。同理，如果一张网页被引用（以超链接的形式）多了，那么该网页就比较重要。总结起来，PageRank的核心思想有两点（结合图1说明）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
越多的网页链接到一个网页（可以理解成投票，D --&amp;gt; B，D给B投了一票），说明这个网页更加重要，如图1的B。(一篇论文被很多论文引用)&lt;br /&gt;
PageRank高的网页链接到一个网页，说明这张网页也很重要。如图1，尽管C只有一张网页B链接到它，但C的重要性高于E，尽管E有一堆小罗罗给它投票。（论文被大牛引用了，说明这篇论文很有价值）（也可以从话语权角度理解，重要的人说话份量重）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
万维网 World Wide Web可以抽象成一张[[有向图]]，节点表示网页，连线&amp;lt;math&amp;gt;p_i -&amp;gt; p_j&amp;lt;/math&amp;gt;表示网页&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;包含了超链接&amp;lt;math&amp;gt;p_j(p_i指向了p_j)&amp;lt;/math&amp;gt;。对图中每个节点的重要性进行量化，则就可以对网页进行排序。PageRank提出之初就是为了对网页进行排序。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搜索引擎的工作原理可以简化为：输入关键词，返回与该关键词相关的网页（一个集合，相当于得到一张子图），在该子图上计算每个节点的PageRank值，PageRank值高的网页排在前面，低的就排在后面。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===计算PageRank===&lt;br /&gt;
&lt;br /&gt;
计算一个网页的&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，则我们需要清楚两个信息：&lt;br /&gt;
&lt;br /&gt;
* 有多少网页链接到了&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 这些网页的PR值&lt;br /&gt;
&lt;br /&gt;
其他网页的PR值很可能是依赖于&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;。这就陷入了一个循环，要想知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值，就得知道链向&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;所有网页的PR值，而要知道其他网页的PR值，又得先知道&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的PR值。&lt;br /&gt;
&lt;br /&gt;
为了打破这个循环，Page和Brin采用了很巧妙的思路，他们分析一个虚拟用户在互联网上的漫游过程。 他们假定：虚拟用户一旦访问了一个网页，下一步将以相同的概率访问被该网页所链接的任何一个其它网页。比如，网页&amp;lt;math&amp;gt; p_i &amp;lt;/math&amp;gt;包含了&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个超链接，那么虚拟用户访问这&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;个页面中的任何一个的概率就是1。那么，网页的排序就可以堪称一个虚拟用户在万维网漫游了很长时间，页面被访问的概率越大，其PR值就越高，网页排名也越靠前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===简化的PageRank的例子===&lt;br /&gt;
&lt;br /&gt;
[[File:Simple page abc.png|300px|right|thumb|图2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如图2所示，每个节点初始化或者指定一个PageRank值（如&amp;lt;math&amp;gt;PR(A)=0.4&amp;lt;/math&amp;gt;），网页A包含两个超链接，分别指向B和C（或者说A投票给B和C），&amp;lt;math&amp;gt;0.4&amp;lt;/math&amp;gt;拆分成两份，每份&amp;lt;math&amp;gt;0.2&amp;lt;/math&amp;gt;，所以&amp;lt;math&amp;gt; PR(B)=0.2 &amp;lt;/math&amp;gt;。A和B同时给C投票，所以&amp;lt;math&amp;gt; PR(C)=0.2+0.2=0.4 &amp;lt;/math&amp;gt;。如此，不断地迭代，最后每个节点的值都会收敛，这样就求得了所有节点的PR值。&lt;br /&gt;
&lt;br /&gt;
每个页面将其当前的PageRank值平均分配到本页面所有出链上，一个页面将所有入链的PR值累加起来就构成了该页面新的PR值。如此迭代下去，最后得到一个稳定值。用数学公式表达，如下：&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(A) = \frac{PR(A)}{L(B)} + \frac{PR(C)}{L(C)} + \frac{PR(D)}{L(D)}+...&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
推广到所有情况,B表示所有链向网页&amp;lt;math&amp;gt; p_{i}&amp;lt;/math&amp;gt;的集合，则:&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
但是这样子有存在两个问题：&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''出向边 forward links (out-edges)'''的网页，即只有别人给她投票，她从不给别人投票，那么她的PageRank每次迭代都会增加。&lt;br /&gt;
&lt;br /&gt;
* 对于没有'''入向边 black links (in-edges)'''的网页，即没人给她投票，其PageRank永远等于0。&lt;br /&gt;
&lt;br /&gt;
对于第一个问题，给等式乘以一个小于1的常数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，这个常数被翻译成阻尼系数，意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率；对于第二个问题，给等式加上一个常数。新的等式如下（&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;表示网页总数，或者节点数目，本文中该公式成为PageRank基本公式，下同）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR({p_{j}})}{L({p_{j}})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中：&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;B(p_{i})&amp;lt;/math&amp;gt;：链接到网页&amp;lt;math&amp;gt;p_{i}&amp;lt;/math&amp;gt;的网页集合。&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;L(p_{j})&amp;lt;/math&amp;gt;：从&amp;lt;math&amp;gt;p_{j}&amp;lt;/math&amp;gt;链出去的网页数目。&lt;br /&gt;
&lt;br /&gt;
这样子，就确保所有节点的PR值加起来为1了。&lt;br /&gt;
&lt;br /&gt;
===简单的实例===&lt;br /&gt;
&lt;br /&gt;
以一个很简单的例子（A &amp;lt; --&amp;gt; B）来看PageRank是怎么收敛的。&lt;br /&gt;
&lt;br /&gt;
[[File:A b.png|300x300px|center|thumb|实例]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
假设他们的初始PR值为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;，第一次迭代后，&amp;lt;math&amp;gt; PR(A) &amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt; PR(B) &amp;lt;/math&amp;gt;的值为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
PR(A) = 0.15/2 + 0.85*1.0  = 0.9249999999999999&lt;br /&gt;
PR(B) = 0.15/2 + 0.85*0.9249999999999999    = 0.8612499999999998&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可以得到每次迭代后的值，部分如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
  1: A=0.925000     B=0.861250  &lt;br /&gt;
  2: A=0.807062     B=0.761003  &lt;br /&gt;
  3: A=0.721853     B=0.688575  &lt;br /&gt;
  4: A=0.660289     B=0.636245  &lt;br /&gt;
  5: A=0.615808     B=0.598437  &lt;br /&gt;
  6: A=0.583672     B=0.571121  &lt;br /&gt;
  7: A=0.560453     B=0.551385  &lt;br /&gt;
  8: A=0.543677     B=0.537126  &lt;br /&gt;
  9: A=0.531557     B=0.526823  &lt;br /&gt;
 10: A=0.522800     B=0.519380  &lt;br /&gt;
 11: A=0.516473     B=0.514002  &lt;br /&gt;
 12: A=0.511902     B=0.510116  &lt;br /&gt;
 13: A=0.508599     B=0.507309  &lt;br /&gt;
 14: A=0.506213     B=0.505281  &lt;br /&gt;
 15: A=0.504489     B=0.503815  &lt;br /&gt;
 16: A=0.503243     B=0.502757  &lt;br /&gt;
 17: A=0.502343     B=0.501992  &lt;br /&gt;
 18: A=0.501693     B=0.501439  &lt;br /&gt;
 19: A=0.501223     B=0.501040  &lt;br /&gt;
 20: A=0.500884     B=0.500751&lt;br /&gt;
 ...&lt;br /&gt;
 42: A=0.500001     B=0.500001  &lt;br /&gt;
 43: A=0.500001     B=0.500000  &lt;br /&gt;
 44: A=0.500000     B=0.500000  &lt;br /&gt;
 45: A=0.500000     B=0.500000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
可见，随着迭代次数的增加，PageRank越来越接近收敛值&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。Python源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
    max_iter = 50&lt;br /&gt;
 &lt;br /&gt;
    for idx in range(1, max_iter+1):&lt;br /&gt;
        pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
        pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
 &lt;br /&gt;
        s = format(idx, pr['A'],pr['B'])&lt;br /&gt;
        print(s)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在Python中有一个叫做NetworkX的包可以用于求PageRank。&lt;br /&gt;
NetworkX提供3个求PageRank的API，如下：&lt;br /&gt;
&lt;br /&gt;
* pagerank(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_numpy(...)&lt;br /&gt;
&lt;br /&gt;
* pagerank_scipy(...)&lt;br /&gt;
&lt;br /&gt;
具体细节可见[https://networkx.github.io/ https://networkx.github.io/]&lt;br /&gt;
上述例子的完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
&lt;br /&gt;
# Custom packages&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_ab():&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Calculate PageRank for A &amp;lt;--&amp;gt; B&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	pr = {'A':1.0, 'B':1.0}&lt;br /&gt;
	max_iter = 50&lt;br /&gt;
&lt;br /&gt;
	for idx in range(1, max_iter+1):&lt;br /&gt;
		pr['A'] = 0.15/2 + 0.85*pr['B']&lt;br /&gt;
		pr['B'] = 0.15/2 + 0.85*pr['A']&lt;br /&gt;
&lt;br /&gt;
		s = format(idx, pr['A'], pr['B'])&lt;br /&gt;
		print(s)&lt;br /&gt;
&lt;br /&gt;
def plot_graph_pagerank(G, out_file=None):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	plot networkx graph whose node label is PageRank&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	node_and_pr = nx.pagerank(G)&lt;br /&gt;
&lt;br /&gt;
	node_size = [pr*20000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
						for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, &lt;br /&gt;
							node_and_labels=node_and_labels, font_size=15)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
	# Example 1: A &amp;lt;---&amp;gt; B&lt;br /&gt;
	# build up a graph&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,0))&lt;br /&gt;
	G.add_node('B', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B'])&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
&lt;br /&gt;
	# pagerank_ab()&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, 'simple_example_pagerank_a_b.pdf', node_size=10000, font_size=15)&lt;br /&gt;
	#node_and_pr = nx.pagerank(G, max_iter=20)&lt;br /&gt;
&lt;br /&gt;
	# plot a graph&lt;br /&gt;
	out_file = 'simple_examples_A_B.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 2: looping, A --&amp;gt; B --&amp;gt; C --&amp;gt; D --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(2,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_node('D', pos=(1,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_loop.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 3: A --&amp;gt; B --&amp;gt; C &amp;lt;--&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('A', pos=(1,1))&lt;br /&gt;
	G.add_node('B', pos=(3,1))&lt;br /&gt;
	G.add_node('C', pos=(2,0))&lt;br /&gt;
	G.add_path(['A', 'B', 'C', 'A'])&lt;br /&gt;
	G.add_path(['A', 'C']) &lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_triangle.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)&lt;br /&gt;
&lt;br /&gt;
	# Example 4: (B, C, D) --&amp;gt; A&lt;br /&gt;
	G = nx.DiGraph()&lt;br /&gt;
	G.add_node('B', pos=(1,3))&lt;br /&gt;
	G.add_node('C', pos=(1,2))&lt;br /&gt;
	G.add_node('D', pos=(1,1))&lt;br /&gt;
	G.add_node('A', pos=(2,2))&lt;br /&gt;
	G.add_path(['B', 'A'])&lt;br /&gt;
	G.add_path(['C', 'A'])&lt;br /&gt;
	G.add_path(['D', 'A'])&lt;br /&gt;
&lt;br /&gt;
	out_file = 'simple_examples_dangling_node.pdf'&lt;br /&gt;
	plot_graph_pagerank(G, out_file)	&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===迭代次数===&lt;br /&gt;
迭代次数越多，结果越准确，但花费时间也越长。出于效率考虑，在实际应用中，当PR值落在误差允许范围内PR值跟前一次比较，如&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6}&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt; 1.0e^{-6} &amp;lt;/math&amp;gt;即为浮点数在计算机的存储）就可以返回结果了。Python实现的nx.pagerank相关源代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
if err &amp;lt; N*tol: # tol=1.0e-6&lt;br /&gt;
    return x&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在超大型的网络上，会有更加复杂的计算方法，比如分布式计算。&lt;br /&gt;
&lt;br /&gt;
===PR 初始值===&lt;br /&gt;
&lt;br /&gt;
不管节点PR初始值怎么设置，最后节点的PR值都一样，但收敛不一样。可以修改上面Python代码的PR初始值，运行代码，体验不同的初始值带来的不同效果。NetworkX的pagerank实现是将PR值初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===阻尼系数 Damping factor===&lt;br /&gt;
&lt;br /&gt;
阻尼系数，公式中记为&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，和 PR 初始值一样，d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中，&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;通常被设置为&amp;lt;math&amp;gt;0.85&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PageRank的计算方法===&lt;br /&gt;
&lt;br /&gt;
====迭代法====&lt;br /&gt;
&lt;br /&gt;
计算PageRank可以使用迭代法和代数法。两者背后的数学原理是一样的，都遵循PageRank的基本公式，即：&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;PR(p_{i}) = \frac{1-d}{N}+d\sum _{p_{j}\in B(p_{i})}\frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
有如下的网页关系：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Pagerank xishu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了方便讨论和计算，将上图中的节点E下面的节点都标上G,H,I,J,K，如下图所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====初始化节点PR值=====&lt;br /&gt;
&lt;br /&gt;
如果没有给节点指定PR初始值，那么每个节点的PR初始化为&amp;lt;math&amp;gt; 1/N &amp;lt;/math&amp;gt;(&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;为节点数目)，下图为例，节点的PR初始值为&amp;lt;math&amp;gt;1/11&amp;lt;/math&amp;gt;：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page g h.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Step 1: Initiate PageRank&lt;br /&gt;
N = G.number_of_nodes()                     # N = 11&lt;br /&gt;
node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====创建随机图 Stochastic graph=====&lt;br /&gt;
&lt;br /&gt;
随机图是一个有向带权图，边的权重被归一化，使得每个节点的out-edges的权重加起来为1。则每个边的权重即为&amp;lt;math&amp;gt;1/L(p_j)&amp;lt;/math&amp;gt;，实例的随机图如下所示：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page node xishu.png|400x400px|center|thumb|图3：随机图]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
编写代码时，比如，节点D有两条出链，D --&amp;gt; A和D --&amp;gt; B，所以他们的边权重都是&amp;lt;math&amp;gt;0.5&amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
stochastic_graph = nx.stochastic_graph(G, weight=weight)    # M = 1/L(pj)&lt;br /&gt;
 &lt;br /&gt;
print(stochastic_graph['D'])&lt;br /&gt;
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====迭代计算=====&lt;br /&gt;
遍历所有节点，将每个节点的PR值平均分给其出链的节点，即&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
乘以阻尼系数&amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;，再加上&amp;lt;math&amp;gt; (1−d)/N &amp;lt;/math&amp;gt;。源代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
dangling_value = (1-d)/N&lt;br /&gt;
 &lt;br /&gt;
for _ in range(max_iter):       # for each iteration&lt;br /&gt;
    node_and_prev_pr = node_and_pr&lt;br /&gt;
    node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
 &lt;br /&gt;
    for node in node_and_pr:    # for each node&lt;br /&gt;
        for out_node in stochastic_graph[node]:     &lt;br /&gt;
            node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
            # PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
 &lt;br /&gt;
        node_and_pr[node] += dangling_value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一次迭代结果如下图所示（有些箭头没显示出来）：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page resualt.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
当&amp;lt;math&amp;gt; PR'(A)-PR(A)&amp;lt;1.0e^{-6} &amp;lt;/math&amp;gt;，即迭代后的PR值跟前一次比较差别很小时，程序的迭代将结束。代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# check convergence, l1 norm&lt;br /&gt;
err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
if err &amp;lt; N*tol:&lt;br /&gt;
    return node_and_pr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在本例中，需要66次迭代，最后得到的PageRank，如下图：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
import plotnxgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank(G, alpha=0.85, personalization=None,&lt;br /&gt;
			 max_iter=100, tol=1.0e-6, nstart=None, weight='weight',&lt;br /&gt;
			 dangling=None):&lt;br /&gt;
	if len(G) == 0:&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	if not G.is_directed():&lt;br /&gt;
		D = G.to_directed()&lt;br /&gt;
	else:&lt;br /&gt;
		D = G&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Create a copy in (right) stochastic form&lt;br /&gt;
	W = nx.stochastic_graph(D, weight=weight)&lt;br /&gt;
	N = W.number_of_nodes()		&lt;br /&gt;
&lt;br /&gt;
	# Plot the stochastic graph&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_stochastic_graph.pdf'&lt;br /&gt;
	edge_and_labels = {k : round(v, 2) for k, v in nx.get_edge_attributes(W, 'weight').items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, edge_and_labels=edge_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Choose fixed starting vector if not given&lt;br /&gt;
	if nstart is None:&lt;br /&gt;
		x = dict.fromkeys(W, 1.0 / N)&lt;br /&gt;
	else:&lt;br /&gt;
		# Normalized nstart vector&lt;br /&gt;
		s = float(sum(nstart.values()))&lt;br /&gt;
		x = dict((k, v / s) for k, v in nstart.items())&lt;br /&gt;
&lt;br /&gt;
	# plot a graph with nstart: starting value of PageRank iteration for each node.&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example_nstart.pdf'&lt;br /&gt;
	node_and_labels = {k : k+'\n'+str(round(v, 2)) &lt;br /&gt;
							for k, v in x.items()}&lt;br /&gt;
	plot_graph(W, out_file=out_file, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Assign uniform personalization vector if not given&lt;br /&gt;
	if personalization is None:&lt;br /&gt;
		p = dict.fromkeys(W, 1.0 / N)	&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(personalization)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Personalization dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(personalization.values()))&lt;br /&gt;
		p = dict((k, v / s) for k, v in personalization.items())&lt;br /&gt;
&lt;br /&gt;
	# Step 4: Use personalization vector if dangling vector not specified&lt;br /&gt;
	if dangling is None:&lt;br /&gt;
		dangling_weights = p&lt;br /&gt;
	else:&lt;br /&gt;
		missing = set(G) - set(dangling)&lt;br /&gt;
		if missing:&lt;br /&gt;
			raise NetworkXError('Dangling node dictionary '&lt;br /&gt;
								'must have a value for every node. '&lt;br /&gt;
								'Missing nodes %s' % missing)&lt;br /&gt;
		s = float(sum(dangling.values()))&lt;br /&gt;
		dangling_weights = dict((k, v/s) for k, v in dangling.items())&lt;br /&gt;
&lt;br /&gt;
	dangling_nodes = [n for n in W if W.out_degree(n, weight=weight) == 0.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	# Step 5: power iteration: make up to max_iter iterations&lt;br /&gt;
	for _ in range(max_iter):&lt;br /&gt;
		xlast = x 							&lt;br /&gt;
		x = dict.fromkeys(xlast.keys(), 0)&lt;br /&gt;
		danglesum = alpha * sum(xlast[n] for n in dangling_nodes)&lt;br /&gt;
&lt;br /&gt;
		for n in x:&lt;br /&gt;
			# this matrix multiply looks odd because it is&lt;br /&gt;
			# doing a left multiply x^T=xlast^T*W&lt;br /&gt;
			for nbr in W[n]:&lt;br /&gt;
				x[nbr] += alpha * xlast[n] * W[n][nbr][weight]	# PR(p_i) = d * PR(p_j)}/L(p_j)&lt;br /&gt;
&lt;br /&gt;
			x[n] += danglesum * dangling_weights[n] + (1.0 - alpha) * p[n]	# danglesum/N  + (1-d)/N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_and_pr = x&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(x[n] - xlast[n]) for n in x])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return x&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in %d iterations.' % max_iter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def pagerank_iterative(G, d=0.85, max_iter=100, tol=1.0e-6, weight='weight'):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	PageRank calculation iteratively&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	# Step 1: Initiate PageRank&lt;br /&gt;
	N = G.number_of_nodes()						# N = 11&lt;br /&gt;
	node_and_pr = dict.fromkeys(G, 1.0 / N)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Create a copy in (right) stochastic form&lt;br /&gt;
	stochastic_graph = nx.stochastic_graph(G, weight=weight)	# M = 1/L(pj)&lt;br /&gt;
&lt;br /&gt;
	# Step 3: Power iteration: make up to max_iter iterations&lt;br /&gt;
	dangling_value = (1-d)/N&lt;br /&gt;
&lt;br /&gt;
	for _ in range(max_iter):		# for each iteration&lt;br /&gt;
		node_and_prev_pr = node_and_pr&lt;br /&gt;
		node_and_pr = dict.fromkeys(node_and_prev_pr.keys(), 0)&lt;br /&gt;
&lt;br /&gt;
		for node in node_and_pr:	# for each node&lt;br /&gt;
			for out_node in stochastic_graph[node]:		&lt;br /&gt;
				node_and_pr[out_node] += d * node_and_prev_pr[node] * stochastic_graph[node][out_node][weight] &lt;br /&gt;
		&lt;br /&gt;
			node_and_pr[node] += dangling_value&lt;br /&gt;
&lt;br /&gt;
		# Plot graph with one iteration&lt;br /&gt;
		'''&lt;br /&gt;
		out_file = 'wikipedia_pagerank_example_iteration_1.pdf'&lt;br /&gt;
		node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
		node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
		plotnxgraph.plot_graph(G, out_file=out_file, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
		return&lt;br /&gt;
		'''&lt;br /&gt;
&lt;br /&gt;
		# check convergence, l1 norm&lt;br /&gt;
		err = sum([abs(node_and_pr[node] - node_and_prev_pr[node]) for node in node_and_pr])&lt;br /&gt;
		if err &amp;lt; N*tol:&lt;br /&gt;
			return node_and_pr&lt;br /&gt;
&lt;br /&gt;
	raise NetworkXError('pagerank: power iteration failed to converge in {} iterations.'.format(max_iter))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = buildupgraph.build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'	# Visualize the graph with the help of Graphviz&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: PageRank calculation&lt;br /&gt;
	node_and_pr = pagerank_iterative(G)&lt;br /&gt;
&lt;br /&gt;
	# Normalized PageRank&lt;br /&gt;
	total_pr = sum(node_and_pr.values())		# 0.843339703286&lt;br /&gt;
	node_and_pr = {node : pr/total_pr for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	# Plot the graph&lt;br /&gt;
	node_size = [pr*30000 for node, pr in node_and_pr.items()]&lt;br /&gt;
	node_and_labels = {node : node+'\n'+str(round(pr, 3))&lt;br /&gt;
							for node, pr in node_and_pr.items()}&lt;br /&gt;
&lt;br /&gt;
	plotnxgraph.plot_graph(G, node_size=node_size, node_and_labels=node_and_labels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
利用代数法计算迭代法中的网页集合，同样对E下面的网页进行&amp;lt;math&amp;gt;G，H，I，J，K&amp;lt;/math&amp;gt;编号后。根据基本公式，我们可以把所有节点都放在一块进行矩阵计算，可以得到：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix} PR(p_1) \\ PR(p_2) \\ \vdots \\ PR(p_N) \end{pmatrix} = &lt;br /&gt;
\begin{pmatrix} (1-d)/N \\ (1-d)/N \\ \vdots \\ (1-d)/N \end{pmatrix} +&lt;br /&gt;
d \begin{pmatrix} \ell(p_1,p_1)  &amp;amp;  \ell(p_1,p_2)  &amp;amp;  \cdots  &amp;amp;  \ell(p_1,p_N) \\&lt;br /&gt;
\ell(p_2,p_1)  &amp;amp;  \ddots  &amp;amp;   &amp;amp;  \vdots \\&lt;br /&gt;
\vdots  &amp;amp;    &amp;amp;  \ell(p_i,p_j)  &amp;amp;     &amp;amp; \\&lt;br /&gt;
\ell(p_N,p_1)  &amp;amp;  \cdots  &amp;amp;    &amp;amp;  \ell(p_N,p_N)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者缩写成：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac{1-d}{N}1+dMR&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;\boldsymbol 1&amp;lt;/math&amp;gt;为&amp;lt;math&amp;gt; N &amp;lt;/math&amp;gt;维的列向量，所有元素皆为&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;。在代码中，以图重的网页集合为例，可以表示该列向量为：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
N = len(G.nodes())      # N = 11&lt;br /&gt;
column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
[[1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]&lt;br /&gt;
 [1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====邻接函数 Adjacency functionc====&lt;br /&gt;
&lt;br /&gt;
邻接函数，&amp;lt;math&amp;gt;\zeta(p_{1},p_{2})&amp;lt;/math&amp;gt;组成了矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; M_{ij} = \ell(p_i,p_j)==\begin{cases} &lt;br /&gt;
1/L(p_j)), &amp;amp;\text{当}j\text{链到}i \\&lt;br /&gt;
0,  &amp;amp;\text{其他}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;L(p_j)&amp;lt;/math&amp;gt;是指从&amp;lt;math&amp;gt;p_j&amp;lt;/math&amp;gt;链出去得网页数目。&lt;br /&gt;
这样矩阵每一行乘以&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;，就得到了新的PR值，比如第二行（图3的节点B）:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
   \begin{aligned}&lt;br /&gt;
        M_{ij}&amp;amp;= \ell(p_2,p_1) \cdot PR(p_2) +&lt;br /&gt;
\ell(p_2,p_2) \cdot PR(p_2) + \cdots +&lt;br /&gt;
\ell(p_2,p_N) \cdot PR(p_2)\\&lt;br /&gt;
        &amp;amp; = 0('A') + 0('B') + 1('C') + \frac{1}{2}('D') + \frac{1}{3}('E') + \frac{1}{2}('F')&lt;br /&gt;
+ \frac{1}{2}('G') + \frac{1}{2}('H') + \frac{1}{2}('I') + 0('J') + 0('K')\\&lt;br /&gt;
        \end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
以节点&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;为例，&amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;给&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;投票，所以&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;得到&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;。&lt;br /&gt;
矩阵&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;每一列加起来都是&amp;lt;math&amp;gt;1&amp;lt;/math&amp;gt;（值得注意的是，对于没有出链的节点，列加起来等于0，比如图3的节点A），即:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum^{N}_{i=1}\imath (p_{i}, p_{j}) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
事实上，&amp;lt;math&amp;gt; M &amp;lt;/math&amp;gt;是一个转移矩阵Transition matrix（也叫概率矩阵Probability matrix，马尔可夫矩阵Markov matrix）。因此，PageRank是Eigenvector centrality的一个变体。&lt;br /&gt;
&lt;br /&gt;
====矩阵M====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt;可以被看成归一化的图邻接矩阵，即：&lt;br /&gt;
&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;&lt;br /&gt;
其中，A为图的邻接矩阵，按照上面图中的节点关系为例，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Get adjacency matrix&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
 &lt;br /&gt;
  'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'&lt;br /&gt;
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 1.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  1.  0.  1.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  1.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]&lt;br /&gt;
 [ 0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;是对角矩阵，对角线上的元素是对应节点的出度。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']  # sorted(G.nodes())&lt;br /&gt;
list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
K = np.diag(list_outdegree)&lt;br /&gt;
 &lt;br /&gt;
[[0 0 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 1 0 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 1 0 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 2 0 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 3 0 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 2 0 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 2 0 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 2 0 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 2 0 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 1 0]&lt;br /&gt;
 [0 0 0 0 0 0 0 0 0 0 1]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt;的逆矩阵&amp;lt;math&amp;gt;K^{-1}&amp;lt;/math&amp;gt;为，&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
K_inv = np.linalg.pinv(K)&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    1.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根据公式&amp;lt;math&amp;gt;\boldsymbol M = (\boldsymbol K^{-1} \boldsymbol A)^{T}&amp;lt;/math&amp;gt;就可以求得矩阵M，如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
M = (K_inv * A).transpose()&lt;br /&gt;
 &lt;br /&gt;
[[ 0.    0.    0.    0.5   0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    1.    0.5   0.33  0.5   0.5   0.5   0.5   0.    0.  ]&lt;br /&gt;
 [ 0.    1.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.5   0.5   0.5   0.5   1.    1.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.33  0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]&lt;br /&gt;
 [ 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.  ]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====求解====&lt;br /&gt;
&lt;br /&gt;
公式中&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;为[[特征向量 eignevector]]，根据公式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = \frac {1-d}{N}1 + dMR &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
可得：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; R = (I - dM)^{-1} \frac{1-d}{N}1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; I &amp;lt;/math&amp;gt;是单位矩阵：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
d = 0.85&lt;br /&gt;
I = np.identity(N)&lt;br /&gt;
R = np.linalg.pinv(I - d*M) * (1-d)/N * column_vector &lt;br /&gt;
 &lt;br /&gt;
[[ 0.028]&lt;br /&gt;
 [ 0.324]&lt;br /&gt;
 [ 0.289]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.068]&lt;br /&gt;
 [ 0.033]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]&lt;br /&gt;
 [ 0.014]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
得到&amp;lt;math&amp;gt; R &amp;lt;/math&amp;gt;需要归一化，所有节点的PR加起来才能等于1。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
R = R/sum(R)    # normalized R, so that page ranks sum to 1.&lt;br /&gt;
 &lt;br /&gt;
[[ 0.033]&lt;br /&gt;
 [ 0.384]&lt;br /&gt;
 [ 0.343]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.081]&lt;br /&gt;
 [ 0.039]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]&lt;br /&gt;
 [ 0.016]]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用NetworkX作图后得到的结果：&lt;br /&gt;
&lt;br /&gt;
[[File:Page result liu.png|400x400px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
完整代码如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import networkx as nx&lt;br /&gt;
from networkx.exception import NetworkXError&lt;br /&gt;
import numpy as np&lt;br /&gt;
import operator&lt;br /&gt;
import fractions&lt;br /&gt;
&lt;br /&gt;
# Custom package&lt;br /&gt;
import buildupgraph&lt;br /&gt;
&lt;br /&gt;
def pagerank_numpy(G, alpha=0.85, personalization=None, weight='weight', dangling=None):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Return the PageRank of the nodes in the graph.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    if len(G) == 0:&lt;br /&gt;
        return {}&lt;br /&gt;
&lt;br /&gt;
    M = nx.google_matrix(G, alpha, personalization=personalization,&lt;br /&gt;
                      weight=weight, dangling=dangling)&lt;br /&gt;
&lt;br /&gt;
    # use numpy LAPACK solver&lt;br /&gt;
    eigenvalues, eigenvectors = np.linalg.eig(M.T)&lt;br /&gt;
    ind = eigenvalues.argsort()&lt;br /&gt;
&lt;br /&gt;
    # eigenvector of largest eigenvalue at ind[-1], normalized&lt;br /&gt;
    largest = np.array(eigenvectors[:, ind[-1]]).flatten().real&lt;br /&gt;
    norm = float(largest.sum())&lt;br /&gt;
&lt;br /&gt;
    return dict(zip(G, map(float, largest / norm)))&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
	# Step 1: Build up a graph &lt;br /&gt;
	'''&lt;br /&gt;
	G = build_graph_wikipedia_pagerank_example()&lt;br /&gt;
	out_file = 'wikipedia_pagerank_example.graphml'&lt;br /&gt;
	nx.write_graphml(G, out_file)&lt;br /&gt;
	'''&lt;br /&gt;
&lt;br /&gt;
	in_file = 'wikipedia_pagerank_example_layout.graphml'&lt;br /&gt;
	G = buildupgraph.read_graphml_with_position(in_file)&lt;br /&gt;
&lt;br /&gt;
	# Step 2: Compute PageRank algebraically&lt;br /&gt;
	#np.set_printoptions(formatter={'float_kind':lambda x: str(fractions.Fraction(x).limit_denominator())})&lt;br /&gt;
&lt;br /&gt;
	np.set_printoptions(precision=2)&lt;br /&gt;
&lt;br /&gt;
	# Part 1: \mathbf {1}  is the column vector of length N containing only ones.&lt;br /&gt;
	N = len(G.nodes())		# N = 11&lt;br /&gt;
	column_vector = np.ones((N, 1), dtype=np.int)&lt;br /&gt;
	#print(column_vector)&lt;br /&gt;
&lt;br /&gt;
	# Part 2: Matrix M&lt;br /&gt;
	# Adjacency matrix A&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	A = nx.to_numpy_matrix(G, nodelist)&lt;br /&gt;
&lt;br /&gt;
	# K is the diagonal matrix with the outdegrees in the diagonal.&lt;br /&gt;
	nodelist = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']	# sorted(G.nodes())&lt;br /&gt;
	list_outdegree = map(operator.itemgetter(1), sorted(G.out_degree().items()))&lt;br /&gt;
	K = np.diag(list_outdegree)&lt;br /&gt;
&lt;br /&gt;
	K_inv = np.linalg.pinv(K)&lt;br /&gt;
&lt;br /&gt;
	# Matrix M&lt;br /&gt;
	M = (K_inv * A).transpose()&lt;br /&gt;
&lt;br /&gt;
	# Part 3: PageRank calculation&lt;br /&gt;
	np.set_printoptions(precision=3)&lt;br /&gt;
&lt;br /&gt;
	d = 0.85&lt;br /&gt;
	I = np.identity(N)&lt;br /&gt;
	R = np.linalg.pinv(I - d*M) * ((1-d)/N * column_vector)&lt;br /&gt;
&lt;br /&gt;
	R = R/sum(R)	# normalized R, so that page ranks sum to 1.&lt;br /&gt;
&lt;br /&gt;
	print(R)&lt;br /&gt;
	return&lt;br /&gt;
&lt;br /&gt;
	# Part 4: Using nx.pagerank_numpy&lt;br /&gt;
	#pr = nx.pagerank_numpy(G)&lt;br /&gt;
	pr = pagerank_numpy(G)&lt;br /&gt;
	print(pr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
	main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==演化==&lt;br /&gt;
&lt;br /&gt;
===无向图的PageRank===&lt;br /&gt;
&lt;br /&gt;
[[无向图]]G的PageRank在统计上接近图 G 的度分布，但它们通常是不同的：如果&amp;lt;math&amp;gt;R&amp;lt;/math&amp;gt;是上面定义的PageRank向量，那么&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;是度分布向量:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
D = {1\over 2|E|}&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
\deg(p_{1}) \\&lt;br /&gt;
\deg(p_{2}) \\&lt;br /&gt;
\vdots \\&lt;br /&gt;
\deg(p_{N})&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;deg(p_i) &amp;lt;/math&amp;gt;表示顶点&amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;的度，而E是图的连边集，&amp;lt;math&amp;gt;Y=\frac 1 N&amp;lt;/math&amp;gt;表示为：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;{1-d\over1+d}\|Y-D\|_1\leq \|R-D\|_1\leq \|Y-D\|_1,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
也就是说，当且仅当该图是规则的，即每个顶点具有相同的度数时，无向图的PageRank等于度数分布矢量。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===针对PageRank的分布式算法===&lt;br /&gt;
&lt;br /&gt;
Sarma 等人描述了两种基于随机游走的分布式算法，用于计算网络中节点的 PageRank。 一种算法&amp;lt;math&amp;gt;O(\log n/\epsilon)&amp;lt;/math&amp;gt; 在任何图（有向图或无向图）上以高概率四舍五入，其中&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;是网络规模，&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;是重置概率（&amp;lt;math&amp;gt; 1- \epsilon&amp;lt;/math&amp;gt;为PageRank计算中使用的阻尼因子）。他们还提出了一种更快的算法&amp;lt;math&amp;gt; O(\sqrt{\log n}/\epsilon)&amp;lt;/math&amp;gt;，在无向图中四舍五入。在这两种算法中，每个节点每轮处理并发送网络位数n中多对数的位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===谷歌工具栏===&lt;br /&gt;
&lt;br /&gt;
Google工具栏具有PageRank功能，该功能可将访问页面的PageRank显示为介于0到10之间的整数。最受欢迎的网站显示的PageRank为10，浏览可能性最小的页面的PageRank为0。Google并未披露工具栏确定网页PageRank值的具体方法，该值仅被视为网站价值的粗略指示。2016年3月，Google宣布将不再支持此功能。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===搜索引擎结果页(SERP)===&lt;br /&gt;
&lt;br /&gt;
在搜索引擎结果页面（SERP）是由搜索引擎响应关键词查询返回的实际结果。SERP由带有相关文本片段的网页链接列表组成。网页的SERP等级是指相应链接在SERP上的位置，其中较高的位置表示较高的SERP等级。网页的SERP排名不仅是其PageRank的函数，而且是相对较大且不断调整的一组因素（超过200个）的函数。 搜索引擎优化（SEO）旨在影响网站或一组网页的SERP排名。&lt;br /&gt;
网页在Google SERP上某个关键字的位置取决于相关性和声誉，也称为权威性和受欢迎度。PageRank是Google评估其网页信誉的一种指示：它是非关键字特定的。Google使用网页和网站权限的组合来确定竞争关键字的网页的总体权限。网站首页的PageRank是Google为网站授权提供的最佳指示。&lt;br /&gt;
在将Google地方信息引入主流有机SERP之后，除PageRank之外，还有许多其他因素会影响企业在本地业务结果中的排名。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===操纵PageRank===&lt;br /&gt;
&lt;br /&gt;
为了优化搜索引擎的结果，一些公司提供向网站管理员出售高PageRank的链接。由于较高PR页面的链接被认为更有价值，因此它们往往更昂贵。在质量和相关站点的内容页面上购买链接广告以提高访问量并提高网站站长的链接流行度成为一种有效可行的营销策略。因此，Google公司有网站出售高PageRank的链接时，该链接将被拉入黑名单（在计算其他页面的PageRanks时将被忽略）。&lt;br /&gt;
&lt;br /&gt;
==社会网络属性==&lt;br /&gt;
&lt;br /&gt;
Katja Mayer 认为 PageRank 是一个社交网络，因为它将不同的观点和想法在同一个地方联系起来。 人们到网页排名寻找信息，大量引用其他作者关于这个话题的观点。 这创造了一个具有社交属性的平台，在这里所有的东西都可以被讨论和收集，从而引发人们互动和思考。 在网页排名和使用者之间存在着一种社会关系，因为它不断地适应和变化以适应现代社会的变化。 通过社会计量学查看 PageRank 和个人之间的关系，可以深入了解所产生该关系的原因。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Matteo Pasquinelli认为，PageRank具有社会成分的基础在于注意力经济这一概念。通过注意力节约，可以将价值放在那些能吸引更多人的注意力的产品上，而与随后页面上的结果相比，PageRank顶部的结果获得更多的关注（即更高的注意力）。因此，具有较高PageRank的结果有更大的概率进入人类意识，这会进一步的影响浏览该网页的人的行为。高PageRank网页具有更高的潜力来吸引用户的注意力。因此，这些网页可以获得更多的流量，这也能够让用户为他们的业务进行更多的付费。这些网页的PageRank允许它们被信任，并且能够通过这种信任增加更多的业务。&lt;br /&gt;
&lt;br /&gt;
==PageRank的其他用途==&lt;br /&gt;
&lt;br /&gt;
Pagerank算法适用于任何有关于图或图网络的领域。 因此，PageRank经常用于文献计量学、社会和信息网络分析，以及连边预测和推荐。 它甚至被用于道路网络的系统分析，以及生物学、化学、神经科学和物理学。 &lt;br /&gt;
&lt;br /&gt;
===学术界===&lt;br /&gt;
&lt;br /&gt;
Pagerank被用来量化研究人员的科学影响力。 底层的引用和协作网络与Pagerank算法结合使用，为作者和期刊提供排名。在H指数显示出许多缺点的情况下，被称为pagerank-index（Pi）的新指数被认为是更加公平的计量研究人员科学影响力的方法。&lt;br /&gt;
对于生物学中的蛋白质网络分析，PageRank也是有用的工具。&lt;br /&gt;
在任何生态系统中，都可以使用PageRank的修改版来确定对环境的可持续发展不可或缺的物种。&lt;br /&gt;
网页排名的一个新用途是根据博士学位课程的毕业生担任教职的情况，对其进行排名。 用 PageRank 术语来说，学术部门之间的联系是通过相互雇佣教员来实现的。 &lt;br /&gt;
一个版本的 PageRank 最近被提议用来取代传统的 ISI 影响因子，并在 Eigenfactor 和 SCImago 实施。 与仅仅计算引文总数不同，每条引文的“重要性”是以 PageRank 的方式确定的。&lt;br /&gt;
在神经科学中，已经发现神经网络中神经元的PageRank 与它的相对放电速率相关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===互联网===&lt;br /&gt;
&lt;br /&gt;
Twitter使用针对其网站的PageRank向用户推荐他们可能想要关注的账号。&lt;br /&gt;
Swiftype 的网站搜索产品通过查看每个网站的重要性信号，并根据主页链接数量等因素对内容进行优先排序，从而建立一个“针对单个网站的 PageRank”。 &lt;br /&gt;
一个网络爬虫可以使用 PageRank 作为它用来确定在网络爬行过程中访问哪个 URL 的重要度量之一。 创建 Google 时使用的早期工作论文之一是高效地搜索 URL 排序，讨论了一系列不同重要性度量标准的使用，以确定 Google 搜索网站的深度和程度。 网页排名是众多重要性指标中的一个，尽管还有其他一些指标，比如一个 URL 的入站和出站链接的数量，以及站点的根目录到 URL 的距离。&lt;br /&gt;
Pagerank 也可以作为一种方法来衡量像 Blogosphere 这样的社区对整个 Web 本身的影响。 因此，这种方法使用 PageRank 来衡量注意力的分布情况，这种分布情况反映了[[无标度网络]]模式。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===其他===&lt;br /&gt;
&lt;br /&gt;
2005年，在巴基斯坦进行的一项试点研究中，“结构性深层民主 Structural Deep Democracy(SD2）”被用于一个名为“Contact Youth”的可持续农业组织的领导层的选举。SD2使用PageRank来处理传递式代理投票，另外还有每个投票者至少要委托两个初始代理的约束，所有选民都是代理候选人。可以在SD2的基础上构建更复杂的变体，例如添加专家代理和针对特定问题的直接投票，但是作为基础的总体系统，SD2要求总是使用通用代理。&lt;br /&gt;
在体育运动中，PageRank 算法被用来对球队或者运动员的表现进行排名: 美国国家橄榄球联盟(NFL)的球队; 个人足球运动员; 钻石联盟的运动员。 &lt;br /&gt;
Pagerank 被用于对空间或街道进行排序，以预测有多少人(行人或车辆)来到各个空间或街道。 在词汇语义学中，它被用来进行词义消歧，语义相似度，以及根据词网同义词具有给定的语义属性(如积极性或消极性)的强度自动对它们进行排序。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/PageRank PageRank维基百科]&lt;br /&gt;
&lt;br /&gt;
* [https://zh.wikipedia.org/wiki/PageRank PageRank中文维基百科]&lt;br /&gt;
&lt;br /&gt;
* https://stackoverflow.com/questions/42224302/incorrect-pagerank-calculation-result&lt;br /&gt;
&lt;br /&gt;
* https://www.changhai.org/articles/technology/misc/google_math.php&lt;br /&gt;
&lt;br /&gt;
* Page, L., Brin, S., Motwani, R., &amp;amp; Winograd, T. (1999). [http://ilpubs.stanford.edu:8090/422/ The PageRank citation ranking: Bringing order to the web. Stanford InfoLab]. &lt;br /&gt;
&lt;br /&gt;
* https://www.sci.unich.it/~francesc/teaching/network/pagerank&lt;br /&gt;
&lt;br /&gt;
* https://www.cs.princeton.edu/~chazelle/courses/BIB/pagerank.htm&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:pageRank.png|400px|缩略图|right|[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]]]&lt;br /&gt;
&lt;br /&gt;
===课程推荐===&lt;br /&gt;
====[http://campus.swarma.org/play/coursedetail?id=11113 如何将PageRank算法扩展到图神经网络上]====&lt;br /&gt;
该课程是对论文《Is PageRank All You Need for Scalable Graph Neural Networks》的解读，来自2020年1月8日集智图网络论文解读活动。&lt;br /&gt;
&lt;br /&gt;
===[https://www.cnblogs.com/wuyudong/p/5098715.html 谷歌的网页排序算法]===&lt;br /&gt;
该博客将介绍谷歌的网页排序算法（PageRank Algorithm），以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好，以至于“谷歌”（google）今天已经成为一个被广泛使用的动词了。&lt;br /&gt;
&lt;br /&gt;
===[https://press.princeton.edu/books/paperback/9780691152660/googles-pagerank-and-beyond 书籍：Google's Pagerank and Beyond]===&lt;br /&gt;
这本书介绍了 PageRank 和其他算法，如[[HITS算法 HITS algorithm]] 。它可以用作研究生和本科生课程的辅助文本。 这本书的主要特点是它所涵盖的主题在该地区的大多数教科书中是不存在的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:ZQ|ZQ]]，[[用户:薄荷|薄荷]]编译，[[用户:Liushikang1992|Liushikang1992]]审校。欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6953</id>
		<title>模块度</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6953"/>
		<updated>2020-05-06T08:59:05Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 快速模块度优化算法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络,集智,模块度，社团结构&lt;br /&gt;
|description=模块度，集智，社团结构检测算法&lt;br /&gt;
}}&lt;br /&gt;
'''模块度  Modularity'''是对网络结构或图像结构的一种度量。它是一种衡量网络模板（也称为节点集或社团）划分质量的标准。如果模板度高，则说明节点集内部连接紧密，而节点集与节点集之间连接稀疏。模块度是检测'''[[社团结构]]  Community Structure'''的常用优化方法。不过，受分辨率的限制，该方法不适用于检测小社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
许多重要的科学问题可以通过网络来呈现，并进行实证研究。 生物模式和社会模式、万维网、代谢网络、食物网、神经网络和病理网络这类现实问题，都可以通过数学表示和拓扑学研究来发现一些意想不到的结构特征。 这些网络大都具有某种社团结构，这种结构能够帮助人们更加理解网络中的动态过程。 例如，与连接稀疏的社会群体相比，连接紧密的社会群体之间传播信息或谣言的速度更快。 如果一个网络由若干个单独节点组成，这些节点之间通过链接相互联系，这表示节点之间有一定程度的相互作用，故将社团定义为内部连接紧密的节点组(而组与组之间连接稀疏)。对于一般的网络而言，由于社团可能具有完全不同的属性，如节点度、[[集聚系数]]、[[介数中心性]]、度分布等，所以如何检测网络中的社团极为重要。 模块度就是这样一种度量，当模块度最大时，就能够检测到给定网络的社团结构。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
模块度是指落在同一组的边的比例 ，即对这些边进行随机分配所得到的期望概率（将边随机分配是为了保持每个节点的节点度不变）。其中，落在同一组的边的比例=组内的总边数÷网络中的总边数。无权图和无向图的模块度取值都在&amp;lt;math&amp;gt;[-1/2,1]&amp;lt;/math&amp;gt;范围内。如果节点组中的连边数量超过了随机分配时所得到的期望连边数量，模块度为正数。没有超过，则为负数。将给定网络的节点划分为若干模块，模块度反映的是模块内部连边的集中程度，而不是各模块之间所有节点链路的随机分布情况。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度的计算方法==&lt;br /&gt;
模块度的计算有很多种方法。考虑一个含有&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点、&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; 条连边的网络，这样的图网络能够用一个成员变量&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;划分为两个社团。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团1，即设 &amp;lt;math&amp;gt;s_v = 1&amp;lt;/math&amp;gt;，或节点 &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团2，即设&amp;lt;math&amp;gt;s_v = -1&amp;lt;/math&amp;gt;。&lt;br /&gt;
将图网络的邻接矩阵表示为 &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_{{vw}}=0&amp;lt;/math&amp;gt;意味着节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; 之间没有连边；&amp;lt;math&amp;gt;A_{vw} = 1&amp;lt;/math&amp;gt;则意味着节点v和节点w之间存在连边。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为便于理解，我们以无向网络为例。即有 &amp;lt;math&amp;gt;A_{vw} = A_{wv}&amp;lt;/math&amp;gt;成立（需要指出的是，两个节点之间也可能存在多条连边，但这里仅讨论最简单的情况。）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模块度&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;可定义为：在具有与给定网络相同度序列的随机化网络中，模板度等于在落在社团1或社团2中连边的比例—在社团1和社团2中将连边随机分布后所得到的概率期望。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===两个节点间随机连边的概率期望求法===&lt;br /&gt;
配置模型是一个特定网络的随机实现，我们利用配置模型的相关定义来计算连边随机分布后的概率期望。给定一个具有 &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点的网络，其中设每个节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的节点度为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;，配置模型将每个连边切断并一分为二，切断的点称为末梢点。然后每一条半边（称为存根）随机与其他半边（除了自身）随机相连变成一条完整连边，并允许出现同一节点自我相连成环、两个节点间存在多条连边的情况。因此，即使网络的节点度序列保持不变，配置模型仍然是一个完全随机的网络。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现考虑节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;，各自的节点度分别为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;，在随机重新连边的网络中，利用上述方法计算这两个节点间所期望的完整连边数量。&lt;br /&gt;
其中，所有单边的数量为：&lt;br /&gt;
:&amp;lt;math&amp;gt;l = \sum_{u} k_{u} =2m&amp;lt;/math&amp;gt;                             &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
我们考虑有&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt; 条半边的节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; ，并设一个相关指示变量&amp;lt;math&amp;gt;I_i&amp;lt;/math&amp;gt;，其中。在给定&amp;lt;math&amp;gt;i = 1,  \ldots, k_v&amp;lt;/math&amp;gt;的随机化网络中，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的第&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;条半边恰好连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;（具有&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边）的某条半边，此时&amp;lt;math&amp;gt;I_i = 1&amp;lt;/math&amp;gt;。如果没有连接到，则&amp;lt;math&amp;gt;I_i = 0&amp;lt;/math&amp;gt;。因为节点v的第i条半边可以等概率连接到剩下的任何 &amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;条半边，且&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边也可以自我连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;。&lt;br /&gt;
故可用公式：&lt;br /&gt;
:&amp;lt;math&amp;gt;p(I_i = 1) = E[I_i] = \frac{k_w}{2m-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;J_{vw} = \sum_i^{k_v}I_i&amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                                              &lt;br /&gt;
:&amp;lt;math&amp;gt;E[J_{vw}] = E[\sum_iI_i] = \sum_i^{k_v}E[I_i] = \frac{k_v k_w}{2m - 1}&amp;lt;/math&amp;gt;&lt;br /&gt;
                                &lt;br /&gt;
&lt;br /&gt;
对于有着大量连边的随机化网络，我们进行以下处理：当&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;很大时，我们将分母''&amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;''化简为''&amp;lt;math&amp;gt;2m&amp;lt;/math&amp;gt;''，即利用 &amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt; 近似计算两个节点之间所期望的连边数量。此外，如果随机化网络的规模十分大，忽略发生同一节点自我相连成环、两个节点间存在多条连边的情况。我们设两个节点之间最多只有一条连边，此时 &amp;lt;math&amp;gt;J_{vw}&amp;lt;/math&amp;gt; 变成二进制指示符变量，其期望值为 &amp;lt;math&amp;gt;J_{vw}=1&amp;lt;/math&amp;gt;的概率。这意味着，在节点v和节点w之间存在连边的期望概率为&amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
因此，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;之间的实际边数与它们在随机化网络下连边数的期望之差为&amp;lt;math&amp;gt;A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===公式表达一===&lt;br /&gt;
按照模块度的定义，对于所有的节点对进行求和，即得模块度的计算公式为：&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{2m} \right]  \frac{s_{v} s_{w}+1}{2}           &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
                                         &lt;br /&gt;
&lt;br /&gt;
需要注意的是，上式只适用于将网络划分为两个社团的情况。将网络划分为两个社团，再将每个子社团进一步划分为两个较小的子社团，使得模块度达到最大化的划分方法称为层次划分。层次划分是一个能够识别网络中多个社团的可行方法。通常设将网络划分为c个社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===公式表达二===&lt;br /&gt;
模块度可以表示为:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \gamma\frac{k_v k_w}{2m}\right] \delta(c_{v}, c_{w})       &lt;br /&gt;
&amp;lt;/math&amp;gt;   &lt;br /&gt;
                                   &lt;br /&gt;
其中：&amp;lt;math&amp;gt;Avw&amp;lt;/math&amp;gt;为共引网络相邻矩阵的一个元素；&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v &amp;lt;/math&amp;gt;的度；&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;为网络中的连边总数；&amp;lt;math&amp;gt;c_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;被分配到的社团，如果&amp;lt;math&amp;gt;c_v=c_w&amp;lt;/math&amp;gt;，则函数&amp;lt;math&amp;gt;（c_v，c_w）&amp;lt;/math&amp;gt;为1，否则为0。函数&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;最大化即可得到最优社团划分。注意：&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;中的分辨率参数，标准模块函数中的&amp;lt;math&amp;gt;\gamma=1&amp;lt;/math&amp;gt;。较大的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较小但较多的社团，较小的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较大但较少的社团。需要说明的是，虽然社团数量的分布受到参数&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;的影响，但动力学特性的显示几乎与社团分辨率无关。（摘自集智俱乐部微信公众号文章《[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利]》）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在标准模块函数中，&amp;lt;math&amp;gt;γ=1&amp;lt;/math&amp;gt;，则有:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{(2m)}\sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{(2m)} \right] \delta(c_{v}, c_{w})     &lt;br /&gt;
  =\sum_{i=1}^{c} (e_{ij}-a_{i}^2) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
&lt;br /&gt;
定义 &amp;lt;math&amp;gt;e_{ij}&amp;lt;/math&amp;gt;为连接社团 &amp;lt;math&amp;gt;i &amp;lt;/math&amp;gt;和 社团&amp;lt;math&amp;gt;j &amp;lt;/math&amp;gt;的连边总数，则有:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
e_{ij}= \sum_{vw} \frac{A_{vw}}{2m} 1_{v\in c_i} 1_{w\in c_j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
                                                           &lt;br /&gt;
&amp;lt;math&amp;gt;a_i&amp;lt;/math&amp;gt;表示连接到社区&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;的连边总数，则有&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
a_i=\frac{k_i}{2m}= \sum_{j} e_{ij}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===公式表达三===&lt;br /&gt;
模块度的另一种计算公式为:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \sum_r \left[ A_{vw} - \frac{k_v k_w}{2m} \right] S_{vr} S_{wr}&lt;br /&gt;
  = \frac{1}{2m} \mathrm{Tr}(\mathbf{S}^\mathrm{T}\mathbf{BS}),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在光谱优化算法中常被用到。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于节点组&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; 则定义&amp;lt;math&amp;gt;Svr=1&amp;lt;/math&amp;gt;，若不属于则为0。之后利用该公式进行代换计算:                                                                            &lt;br /&gt;
:&amp;lt;math&amp;gt;\delta(c_v,c_w) = \sum_r S_{vr} S_{wr}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;Svr&amp;lt;/math&amp;gt;的矩阵（非方阵），而&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;B_{vw} = A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;的模块化矩阵。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于模块化矩阵的所有行和列都为0，因此也可以说不可分割的网络模块度为0。利用&amp;lt;math&amp;gt;sv = ±1&amp;lt;/math&amp;gt;代表节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;所属于哪个节点组，我们有:&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = {1\over 4m} \sum_{vw} B_{vw} s_v s_w = {1\over 4m} \mathbf{s}^\mathrm{T}\mathbf{Bs}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;为包含&amp;lt;/math&amp;gt;s_v&amp;lt;/math&amp;gt;的列向量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该函数与辛流形的'''汉密尔顿函数 Hamiltonian'''的形式相同，故可创建出简单的算法，例如使用'''[[模拟退火算法]] Simulated Annealing'''来使模块度最大化。 模块化的一般形式等价于一个 Potts 自旋玻璃，在这种情况下也可以发展类似的算法。&lt;br /&gt;
&lt;br /&gt;
==多社团检测实例==&lt;br /&gt;
我们考虑一个有10个节点和12条边的无向网络，下面是'''邻接矩阵  Adjacency Matrix'''。&lt;br /&gt;
[[File:QQ图片20200324150722.png|400px|left]]&lt;br /&gt;
[[File:Partitioned_network.jpg|200px|thumb|upright=3|图1. 对应于10个节点，12条边的邻接矩阵网络示意图|right]]&lt;br /&gt;
[[File:Sample_Network.jpg|200px|thumb|upright=3|图2. 将模块度Q最大化的网络分区（其中Q=0.4896） |right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
图中的社团由图1中的红色、绿色和蓝色节点簇表示。最佳社团划分如图2所示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==多分辨率算法==&lt;br /&gt;
在利用模块度衡量社团划分质量的过程中，有两种主要的解决分辨率限制的方法: 在每个节点上以自循环的形式增加一个阻力 r，通过增加或减少坏节点形成社团; 或在模块化定义的空格项前加上一个参数γ&amp;gt;0，该参数控制社区内部链接与零模型之间的相对重要性。 将这些参数值的模块度优化到适当的范围内，就有可能恢复整个网络的中尺度，从宏观尺度上所有节点属于同一个社团,从微观尺度上每个节点都形成自己的社团,因而将其命名为多分辨率算法。 然而，当社团之间的规模差异很大时，这些算法也有局限性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==分辨率限制==&lt;br /&gt;
将一个给定网络与该网络相对应的随机零模型进行对比，随机模型通常具有相同度序列、且其连边随机连接。模块度通过比较社团内部的连边数量与所期望的连边数量来判断给定网络是否具有较强的[[社团结构]]。（参见：[[网络科学导论]]。）这个随机零模型隐含地假设每个节点可以连接到网络的任何其他节点。 然而，如果网络规模非常大，这种假设是不合理的。因为通过一个节点的视角看到了网络的一小部分，却忽略了网络的大部分。 这说明随着网络规模的增大，两组节点之间的期望边数会减少。 因此，如果网络足够大，模块化零模型中两组节点集之间的期望边数可能小于一条。 在该种情况下，模块度将两组节点集之间存在单边作为节点集之间强相关性的标志。若对模块度进行优化，将导致两组节点集的合并，独立于社团群众。 因此，即使是内部连边密度最高、可识别性最好的弱互联完全图，在网络规模足够大的情况下，也可以通过模块度优化进行合并。 因此，即使小型社团能够被准确定义，在大型网络中优化模块度的方法也并不适用于他们。 对于依赖全局零模型的模块度优化方法来说，这种偏差是不可避免的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度最大化算法==&lt;br /&gt;
由于网络所有可能的社团划分方法十分多，假设网络的节点数和边数分别为n和m，则所有可能的社团划分数是一个以n为指数的数。因此，'''NP-hard问题'''被提出，其研究如何在所有可能的划分中找出最优划分。针对这一问题，目前一些相应算法已被提出，其可以在合理的时间内找出模块度最大化的近似最优划分。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===经典贪婪算法===&lt;br /&gt;
模块度最大化问题是一个经典的最优化问题，'''[[马克·纽曼 Mark NewMan]] '''基于贪婪思想提出了模块度最大化的'''贪婪算法 Fast NewMan(FN)''' 。贪婪思想的目标是找出目标函数的整体最优值或者近似最优值，它将整体最优化问题分解为局部最优化问题。找出每个局部最优值，最终将局部最优值整合成整体的近似最优值。初始时，FN算法将网络中的每个节点都看成独立的小社团。然后考虑所有相连社区两两合并的情况，计算每种合并带来的模块度的增量。基于贪婪原则，选取使模块度增长最大或者减小最少的两个社团，将它们合并成一个社团。如此循环迭代，直到所有结点合并成一个社区。随着迭代的进行，网络总的模块度是不断变化的，在模块度的整个变化过程中，其最大值对应网络的社团划分就视为最优社团划分。&lt;br /&gt;
贪婪算法FN具体步骤：&lt;br /&gt;
# 去掉网络中所有的边，网络的每个节点都单独作为一个社团；&lt;br /&gt;
#网络中的每个连通部分作为一个社团，将还未加入网络的边分别重新加回网络，每次加入一条边，如果加入网络的边连接了两个不同的社团，则合并两个社团，并计算形成新社团划分的模块度增量。选择使模块度增量最大或者减小最少的两个社区进行合并。&lt;br /&gt;
#如果网络的社区数大于1，则返回步骤 2,继续迭代，否则转到步骤 4；&lt;br /&gt;
#遍历每种社区划分对应的模块度值，选取模块度最大的社区划分作为网络的最优划分。&lt;br /&gt;
该算法中，需要注意的是，每次加入的边只是影响网络的社团划分。而每次计算网络划分的模块度时，都是在网络完整的拓扑结构上进行的，即网络所有的边都存在的拓扑结构上。&lt;br /&gt;
&lt;br /&gt;
===快速模块度优化算法===&lt;br /&gt;
为了降低算法的时间复杂度，'''文森特·布隆代尔  Vincent Blondel'''等人提出了另一种层次贪婪算法，名为'''Louvain modularity'''。该算法包括两个阶段，第一阶段合并社团，算法将每个节点当作一个社团，基于模块度增量最大化标准决定哪些相邻的社团应该被合并。经过一轮扫描后开始第二阶段，算法将第一阶段发现的所有社团重新看成节点，构建新的网络，在新网络上重复进行第一阶段，这两个阶段重复运行，直到网络社团划分的模块度不再增长，得到网络的社团近似最优划分。&lt;br /&gt;
这个简单算法具有以下几个优点：&lt;br /&gt;
#该算法的步骤比较直观并且易于实现；&lt;br /&gt;
#不需要提前设定网络的社团数，并且该算法可以呈现网络的完整的分层社团结构，能够发现在线社交网络的分层虚拟社区结构，获得不同分辨率的虚拟社区；&lt;br /&gt;
#计算机模拟实验显示：在稀疏网络上，该算法在合理的时间内可以处理结点数超过10^9的网络，因此十分适合在线社交网络这样超大规模的网络中检测最优的社团划分。&lt;br /&gt;
&lt;br /&gt;
==进一步阅读==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Complex_network   复杂网络]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Community_structure  社团结构]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Null_model 零模型]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:社团发现.png|300px|right]]&lt;br /&gt;
===文献推荐===&lt;br /&gt;
*[http://ece-research.unm.edu/ifis/papers/community-moore.pdf  在大型网络中检测社团结构]&lt;br /&gt;
网络中群落结构的发现和分析是近年来物理学界非常关注的一个课题，但由于计算量大，目前提出的大多数方法都不适合大型网络。这篇文章提出了一种新的聚类算法来检测群落结构，它比很多同类型的算法收敛地更快。作为这个算法应用的一个例子，这篇文章使用它来分析一个大型在线零售商网站上的销售项目网络，如果这些项目经常被同一个买家购买，那么网络中的项目就会被连接。该网络有超过40万个顶点和200万条边，该算法可以从这个网络中提取出有意义的社区，揭示了顾客购买习惯中存在的大规模模式。&lt;br /&gt;
&lt;br /&gt;
*[https://arxiv.org/pdf/cond-mat/0308217.pdf  定义模块度的作者Newman and M. Girvan 论文——网络社团结构的发现与评价]&lt;br /&gt;
这篇文章提出并研究了一种在网络节点自然划分为子群时发现社团结构的算法，同时提出了一个度量算法发现的社团结构的强度的方法。&lt;br /&gt;
&lt;br /&gt;
*[http://www.pnas.org/content/103/23/8577.full.pdf  网络中的模块度和社团结构 ]&lt;br /&gt;
这篇文章论证了模块度可以用特征矩阵的特征向量来表示网络（称之为“模块性矩阵”），且在较短的运行时间，通过特征向量的社团检测算法返回的结果质量明显高于同类算法，并通过数据集的应用程序来说明这个方法。&lt;br /&gt;
&lt;br /&gt;
*[http://arxiv.org/abs/1908.04653   使用多层网络上的模块化  信念传播检测显著的社区结构]&lt;br /&gt;
基于模块度的社团检测包含许多被广泛使用的、有效的启发式方法来识别单层和多层网络中的结构。最近，一种用于模块度优化的传播方法为非平凡结构的识别提供了一种有用的指导，而其他优化方法则没有这种方法，这篇文章将模块度传播扩展到多层网络中。&lt;br /&gt;
&lt;br /&gt;
===集智文章推荐===&lt;br /&gt;
[[File:课程推荐.png|300px|right]]&lt;br /&gt;
*[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利一文中社团结构分析——基于模块度优化的快速展开算法（fast unfolding algorithm）]&lt;br /&gt;
近期，一个由北京师范大学、中国科学院、美国波士顿大学、以色列巴伊兰大学多位学者组成的研究团队，在Nature Communications上发表文章，以1893年至2010年间发表在美国物理学会（APS）期刊上的482566篇为例，通过书目耦合方法建立共引网络，描述了科学家文章之间的关系，并运用社团结构分析的方法将不同的研究兴趣具体化，进一步研究了科学家兴趣转移的趋势及动力学问题，提出了一个能解释科研兴趣转移机制主要特征的开发-探索模型。&lt;br /&gt;
&lt;br /&gt;
*[https://mp.weixin.qq.com/s/iQvylNg58X0sJSf-WUU1Lw  网络科学的黄金时代”：中国科学家大放异彩    研究人员还用模块最大化社群发现算法 ，找到了几个主要的、内部联系紧密的社群]&lt;br /&gt;
这篇文章的重点是网络科学家的合著网络，两个科学家共同发表过至少一篇论文，他们之间就形成了合著关系。在此之前，只有Newman的团队分析过网络科学家的合著关系网络，但他们当时网络只包含1589位科学家，而这篇文章的研究涵盖了20年内的52406位科学家以及329181个合著关系。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]用户参与编译，[[用户:苏格兰|苏格兰]]用户审校，[[用户:乐多多|乐多多]]编辑，欢迎在讨论页面留言&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:网络]]&lt;br /&gt;
[[Category:社团结构]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6952</id>
		<title>模块度</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6952"/>
		<updated>2020-05-06T08:58:33Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 快速模块度优化算法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络,集智,模块度，社团结构&lt;br /&gt;
|description=模块度，集智，社团结构检测算法&lt;br /&gt;
}}&lt;br /&gt;
'''模块度  Modularity'''是对网络结构或图像结构的一种度量。它是一种衡量网络模板（也称为节点集或社团）划分质量的标准。如果模板度高，则说明节点集内部连接紧密，而节点集与节点集之间连接稀疏。模块度是检测'''[[社团结构]]  Community Structure'''的常用优化方法。不过，受分辨率的限制，该方法不适用于检测小社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
许多重要的科学问题可以通过网络来呈现，并进行实证研究。 生物模式和社会模式、万维网、代谢网络、食物网、神经网络和病理网络这类现实问题，都可以通过数学表示和拓扑学研究来发现一些意想不到的结构特征。 这些网络大都具有某种社团结构，这种结构能够帮助人们更加理解网络中的动态过程。 例如，与连接稀疏的社会群体相比，连接紧密的社会群体之间传播信息或谣言的速度更快。 如果一个网络由若干个单独节点组成，这些节点之间通过链接相互联系，这表示节点之间有一定程度的相互作用，故将社团定义为内部连接紧密的节点组(而组与组之间连接稀疏)。对于一般的网络而言，由于社团可能具有完全不同的属性，如节点度、[[集聚系数]]、[[介数中心性]]、度分布等，所以如何检测网络中的社团极为重要。 模块度就是这样一种度量，当模块度最大时，就能够检测到给定网络的社团结构。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
模块度是指落在同一组的边的比例 ，即对这些边进行随机分配所得到的期望概率（将边随机分配是为了保持每个节点的节点度不变）。其中，落在同一组的边的比例=组内的总边数÷网络中的总边数。无权图和无向图的模块度取值都在&amp;lt;math&amp;gt;[-1/2,1]&amp;lt;/math&amp;gt;范围内。如果节点组中的连边数量超过了随机分配时所得到的期望连边数量，模块度为正数。没有超过，则为负数。将给定网络的节点划分为若干模块，模块度反映的是模块内部连边的集中程度，而不是各模块之间所有节点链路的随机分布情况。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度的计算方法==&lt;br /&gt;
模块度的计算有很多种方法。考虑一个含有&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点、&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; 条连边的网络，这样的图网络能够用一个成员变量&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;划分为两个社团。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团1，即设 &amp;lt;math&amp;gt;s_v = 1&amp;lt;/math&amp;gt;，或节点 &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团2，即设&amp;lt;math&amp;gt;s_v = -1&amp;lt;/math&amp;gt;。&lt;br /&gt;
将图网络的邻接矩阵表示为 &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_{{vw}}=0&amp;lt;/math&amp;gt;意味着节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; 之间没有连边；&amp;lt;math&amp;gt;A_{vw} = 1&amp;lt;/math&amp;gt;则意味着节点v和节点w之间存在连边。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为便于理解，我们以无向网络为例。即有 &amp;lt;math&amp;gt;A_{vw} = A_{wv}&amp;lt;/math&amp;gt;成立（需要指出的是，两个节点之间也可能存在多条连边，但这里仅讨论最简单的情况。）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模块度&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;可定义为：在具有与给定网络相同度序列的随机化网络中，模板度等于在落在社团1或社团2中连边的比例—在社团1和社团2中将连边随机分布后所得到的概率期望。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===两个节点间随机连边的概率期望求法===&lt;br /&gt;
配置模型是一个特定网络的随机实现，我们利用配置模型的相关定义来计算连边随机分布后的概率期望。给定一个具有 &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点的网络，其中设每个节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的节点度为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;，配置模型将每个连边切断并一分为二，切断的点称为末梢点。然后每一条半边（称为存根）随机与其他半边（除了自身）随机相连变成一条完整连边，并允许出现同一节点自我相连成环、两个节点间存在多条连边的情况。因此，即使网络的节点度序列保持不变，配置模型仍然是一个完全随机的网络。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现考虑节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;，各自的节点度分别为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;，在随机重新连边的网络中，利用上述方法计算这两个节点间所期望的完整连边数量。&lt;br /&gt;
其中，所有单边的数量为：&lt;br /&gt;
:&amp;lt;math&amp;gt;l = \sum_{u} k_{u} =2m&amp;lt;/math&amp;gt;                             &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
我们考虑有&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt; 条半边的节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; ，并设一个相关指示变量&amp;lt;math&amp;gt;I_i&amp;lt;/math&amp;gt;，其中。在给定&amp;lt;math&amp;gt;i = 1,  \ldots, k_v&amp;lt;/math&amp;gt;的随机化网络中，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的第&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;条半边恰好连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;（具有&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边）的某条半边，此时&amp;lt;math&amp;gt;I_i = 1&amp;lt;/math&amp;gt;。如果没有连接到，则&amp;lt;math&amp;gt;I_i = 0&amp;lt;/math&amp;gt;。因为节点v的第i条半边可以等概率连接到剩下的任何 &amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;条半边，且&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边也可以自我连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;。&lt;br /&gt;
故可用公式：&lt;br /&gt;
:&amp;lt;math&amp;gt;p(I_i = 1) = E[I_i] = \frac{k_w}{2m-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;J_{vw} = \sum_i^{k_v}I_i&amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                                              &lt;br /&gt;
:&amp;lt;math&amp;gt;E[J_{vw}] = E[\sum_iI_i] = \sum_i^{k_v}E[I_i] = \frac{k_v k_w}{2m - 1}&amp;lt;/math&amp;gt;&lt;br /&gt;
                                &lt;br /&gt;
&lt;br /&gt;
对于有着大量连边的随机化网络，我们进行以下处理：当&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;很大时，我们将分母''&amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;''化简为''&amp;lt;math&amp;gt;2m&amp;lt;/math&amp;gt;''，即利用 &amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt; 近似计算两个节点之间所期望的连边数量。此外，如果随机化网络的规模十分大，忽略发生同一节点自我相连成环、两个节点间存在多条连边的情况。我们设两个节点之间最多只有一条连边，此时 &amp;lt;math&amp;gt;J_{vw}&amp;lt;/math&amp;gt; 变成二进制指示符变量，其期望值为 &amp;lt;math&amp;gt;J_{vw}=1&amp;lt;/math&amp;gt;的概率。这意味着，在节点v和节点w之间存在连边的期望概率为&amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
因此，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;之间的实际边数与它们在随机化网络下连边数的期望之差为&amp;lt;math&amp;gt;A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===公式表达一===&lt;br /&gt;
按照模块度的定义，对于所有的节点对进行求和，即得模块度的计算公式为：&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{2m} \right]  \frac{s_{v} s_{w}+1}{2}           &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
                                         &lt;br /&gt;
&lt;br /&gt;
需要注意的是，上式只适用于将网络划分为两个社团的情况。将网络划分为两个社团，再将每个子社团进一步划分为两个较小的子社团，使得模块度达到最大化的划分方法称为层次划分。层次划分是一个能够识别网络中多个社团的可行方法。通常设将网络划分为c个社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===公式表达二===&lt;br /&gt;
模块度可以表示为:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \gamma\frac{k_v k_w}{2m}\right] \delta(c_{v}, c_{w})       &lt;br /&gt;
&amp;lt;/math&amp;gt;   &lt;br /&gt;
                                   &lt;br /&gt;
其中：&amp;lt;math&amp;gt;Avw&amp;lt;/math&amp;gt;为共引网络相邻矩阵的一个元素；&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v &amp;lt;/math&amp;gt;的度；&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;为网络中的连边总数；&amp;lt;math&amp;gt;c_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;被分配到的社团，如果&amp;lt;math&amp;gt;c_v=c_w&amp;lt;/math&amp;gt;，则函数&amp;lt;math&amp;gt;（c_v，c_w）&amp;lt;/math&amp;gt;为1，否则为0。函数&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;最大化即可得到最优社团划分。注意：&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;中的分辨率参数，标准模块函数中的&amp;lt;math&amp;gt;\gamma=1&amp;lt;/math&amp;gt;。较大的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较小但较多的社团，较小的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较大但较少的社团。需要说明的是，虽然社团数量的分布受到参数&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;的影响，但动力学特性的显示几乎与社团分辨率无关。（摘自集智俱乐部微信公众号文章《[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利]》）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在标准模块函数中，&amp;lt;math&amp;gt;γ=1&amp;lt;/math&amp;gt;，则有:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{(2m)}\sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{(2m)} \right] \delta(c_{v}, c_{w})     &lt;br /&gt;
  =\sum_{i=1}^{c} (e_{ij}-a_{i}^2) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
&lt;br /&gt;
定义 &amp;lt;math&amp;gt;e_{ij}&amp;lt;/math&amp;gt;为连接社团 &amp;lt;math&amp;gt;i &amp;lt;/math&amp;gt;和 社团&amp;lt;math&amp;gt;j &amp;lt;/math&amp;gt;的连边总数，则有:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
e_{ij}= \sum_{vw} \frac{A_{vw}}{2m} 1_{v\in c_i} 1_{w\in c_j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
                                                           &lt;br /&gt;
&amp;lt;math&amp;gt;a_i&amp;lt;/math&amp;gt;表示连接到社区&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;的连边总数，则有&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
a_i=\frac{k_i}{2m}= \sum_{j} e_{ij}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===公式表达三===&lt;br /&gt;
模块度的另一种计算公式为:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \sum_r \left[ A_{vw} - \frac{k_v k_w}{2m} \right] S_{vr} S_{wr}&lt;br /&gt;
  = \frac{1}{2m} \mathrm{Tr}(\mathbf{S}^\mathrm{T}\mathbf{BS}),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在光谱优化算法中常被用到。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于节点组&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; 则定义&amp;lt;math&amp;gt;Svr=1&amp;lt;/math&amp;gt;，若不属于则为0。之后利用该公式进行代换计算:                                                                            &lt;br /&gt;
:&amp;lt;math&amp;gt;\delta(c_v,c_w) = \sum_r S_{vr} S_{wr}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;Svr&amp;lt;/math&amp;gt;的矩阵（非方阵），而&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;B_{vw} = A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;的模块化矩阵。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于模块化矩阵的所有行和列都为0，因此也可以说不可分割的网络模块度为0。利用&amp;lt;math&amp;gt;sv = ±1&amp;lt;/math&amp;gt;代表节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;所属于哪个节点组，我们有:&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = {1\over 4m} \sum_{vw} B_{vw} s_v s_w = {1\over 4m} \mathbf{s}^\mathrm{T}\mathbf{Bs}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;为包含&amp;lt;/math&amp;gt;s_v&amp;lt;/math&amp;gt;的列向量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该函数与辛流形的'''汉密尔顿函数 Hamiltonian'''的形式相同，故可创建出简单的算法，例如使用'''[[模拟退火算法]] Simulated Annealing'''来使模块度最大化。 模块化的一般形式等价于一个 Potts 自旋玻璃，在这种情况下也可以发展类似的算法。&lt;br /&gt;
&lt;br /&gt;
==多社团检测实例==&lt;br /&gt;
我们考虑一个有10个节点和12条边的无向网络，下面是'''邻接矩阵  Adjacency Matrix'''。&lt;br /&gt;
[[File:QQ图片20200324150722.png|400px|left]]&lt;br /&gt;
[[File:Partitioned_network.jpg|200px|thumb|upright=3|图1. 对应于10个节点，12条边的邻接矩阵网络示意图|right]]&lt;br /&gt;
[[File:Sample_Network.jpg|200px|thumb|upright=3|图2. 将模块度Q最大化的网络分区（其中Q=0.4896） |right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
图中的社团由图1中的红色、绿色和蓝色节点簇表示。最佳社团划分如图2所示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==多分辨率算法==&lt;br /&gt;
在利用模块度衡量社团划分质量的过程中，有两种主要的解决分辨率限制的方法: 在每个节点上以自循环的形式增加一个阻力 r，通过增加或减少坏节点形成社团; 或在模块化定义的空格项前加上一个参数γ&amp;gt;0，该参数控制社区内部链接与零模型之间的相对重要性。 将这些参数值的模块度优化到适当的范围内，就有可能恢复整个网络的中尺度，从宏观尺度上所有节点属于同一个社团,从微观尺度上每个节点都形成自己的社团,因而将其命名为多分辨率算法。 然而，当社团之间的规模差异很大时，这些算法也有局限性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==分辨率限制==&lt;br /&gt;
将一个给定网络与该网络相对应的随机零模型进行对比，随机模型通常具有相同度序列、且其连边随机连接。模块度通过比较社团内部的连边数量与所期望的连边数量来判断给定网络是否具有较强的[[社团结构]]。（参见：[[网络科学导论]]。）这个随机零模型隐含地假设每个节点可以连接到网络的任何其他节点。 然而，如果网络规模非常大，这种假设是不合理的。因为通过一个节点的视角看到了网络的一小部分，却忽略了网络的大部分。 这说明随着网络规模的增大，两组节点之间的期望边数会减少。 因此，如果网络足够大，模块化零模型中两组节点集之间的期望边数可能小于一条。 在该种情况下，模块度将两组节点集之间存在单边作为节点集之间强相关性的标志。若对模块度进行优化，将导致两组节点集的合并，独立于社团群众。 因此，即使是内部连边密度最高、可识别性最好的弱互联完全图，在网络规模足够大的情况下，也可以通过模块度优化进行合并。 因此，即使小型社团能够被准确定义，在大型网络中优化模块度的方法也并不适用于他们。 对于依赖全局零模型的模块度优化方法来说，这种偏差是不可避免的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度最大化算法==&lt;br /&gt;
由于网络所有可能的社团划分方法十分多，假设网络的节点数和边数分别为n和m，则所有可能的社团划分数是一个以n为指数的数。因此，'''NP-hard问题'''被提出，其研究如何在所有可能的划分中找出最优划分。针对这一问题，目前一些相应算法已被提出，其可以在合理的时间内找出模块度最大化的近似最优划分。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===经典贪婪算法===&lt;br /&gt;
模块度最大化问题是一个经典的最优化问题，'''[[马克·纽曼 Mark NewMan]] '''基于贪婪思想提出了模块度最大化的'''贪婪算法 Fast NewMan(FN)''' 。贪婪思想的目标是找出目标函数的整体最优值或者近似最优值，它将整体最优化问题分解为局部最优化问题。找出每个局部最优值，最终将局部最优值整合成整体的近似最优值。初始时，FN算法将网络中的每个节点都看成独立的小社团。然后考虑所有相连社区两两合并的情况，计算每种合并带来的模块度的增量。基于贪婪原则，选取使模块度增长最大或者减小最少的两个社团，将它们合并成一个社团。如此循环迭代，直到所有结点合并成一个社区。随着迭代的进行，网络总的模块度是不断变化的，在模块度的整个变化过程中，其最大值对应网络的社团划分就视为最优社团划分。&lt;br /&gt;
贪婪算法FN具体步骤：&lt;br /&gt;
# 去掉网络中所有的边，网络的每个节点都单独作为一个社团；&lt;br /&gt;
#网络中的每个连通部分作为一个社团，将还未加入网络的边分别重新加回网络，每次加入一条边，如果加入网络的边连接了两个不同的社团，则合并两个社团，并计算形成新社团划分的模块度增量。选择使模块度增量最大或者减小最少的两个社区进行合并。&lt;br /&gt;
#如果网络的社区数大于1，则返回步骤 2,继续迭代，否则转到步骤 4；&lt;br /&gt;
#遍历每种社区划分对应的模块度值，选取模块度最大的社区划分作为网络的最优划分。&lt;br /&gt;
该算法中，需要注意的是，每次加入的边只是影响网络的社团划分。而每次计算网络划分的模块度时，都是在网络完整的拓扑结构上进行的，即网络所有的边都存在的拓扑结构上。&lt;br /&gt;
&lt;br /&gt;
===快速模块度优化算法===&lt;br /&gt;
为了降低算法的时间复杂度，'''文森特·布隆代尔  Vincent Blondel'''等人提出了另一种层次贪婪算法，名为Louvain modularity。该算法包括两个阶段，第一阶段合并社团，算法将每个节点当作一个社团，基于模块度增量最大化标准决定哪些相邻的社团应该被合并。经过一轮扫描后开始第二阶段，算法将第一阶段发现的所有社团重新看成节点，构建新的网络，在新网络上重复进行第一阶段，这两个阶段重复运行，直到网络社团划分的模块度不再增长，得到网络的社团近似最优划分。&lt;br /&gt;
这个简单算法具有以下几个优点：&lt;br /&gt;
#该算法的步骤比较直观并且易于实现；&lt;br /&gt;
#不需要提前设定网络的社团数，并且该算法可以呈现网络的完整的分层社团结构，能够发现在线社交网络的分层虚拟社区结构，获得不同分辨率的虚拟社区；&lt;br /&gt;
#计算机模拟实验显示：在稀疏网络上，该算法在合理的时间内可以处理结点数超过10^9的网络，因此十分适合在线社交网络这样超大规模的网络中检测最优的社团划分。&lt;br /&gt;
&lt;br /&gt;
==进一步阅读==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Complex_network   复杂网络]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Community_structure  社团结构]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Null_model 零模型]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:社团发现.png|300px|right]]&lt;br /&gt;
===文献推荐===&lt;br /&gt;
*[http://ece-research.unm.edu/ifis/papers/community-moore.pdf  在大型网络中检测社团结构]&lt;br /&gt;
网络中群落结构的发现和分析是近年来物理学界非常关注的一个课题，但由于计算量大，目前提出的大多数方法都不适合大型网络。这篇文章提出了一种新的聚类算法来检测群落结构，它比很多同类型的算法收敛地更快。作为这个算法应用的一个例子，这篇文章使用它来分析一个大型在线零售商网站上的销售项目网络，如果这些项目经常被同一个买家购买，那么网络中的项目就会被连接。该网络有超过40万个顶点和200万条边，该算法可以从这个网络中提取出有意义的社区，揭示了顾客购买习惯中存在的大规模模式。&lt;br /&gt;
&lt;br /&gt;
*[https://arxiv.org/pdf/cond-mat/0308217.pdf  定义模块度的作者Newman and M. Girvan 论文——网络社团结构的发现与评价]&lt;br /&gt;
这篇文章提出并研究了一种在网络节点自然划分为子群时发现社团结构的算法，同时提出了一个度量算法发现的社团结构的强度的方法。&lt;br /&gt;
&lt;br /&gt;
*[http://www.pnas.org/content/103/23/8577.full.pdf  网络中的模块度和社团结构 ]&lt;br /&gt;
这篇文章论证了模块度可以用特征矩阵的特征向量来表示网络（称之为“模块性矩阵”），且在较短的运行时间，通过特征向量的社团检测算法返回的结果质量明显高于同类算法，并通过数据集的应用程序来说明这个方法。&lt;br /&gt;
&lt;br /&gt;
*[http://arxiv.org/abs/1908.04653   使用多层网络上的模块化  信念传播检测显著的社区结构]&lt;br /&gt;
基于模块度的社团检测包含许多被广泛使用的、有效的启发式方法来识别单层和多层网络中的结构。最近，一种用于模块度优化的传播方法为非平凡结构的识别提供了一种有用的指导，而其他优化方法则没有这种方法，这篇文章将模块度传播扩展到多层网络中。&lt;br /&gt;
&lt;br /&gt;
===集智文章推荐===&lt;br /&gt;
[[File:课程推荐.png|300px|right]]&lt;br /&gt;
*[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利一文中社团结构分析——基于模块度优化的快速展开算法（fast unfolding algorithm）]&lt;br /&gt;
近期，一个由北京师范大学、中国科学院、美国波士顿大学、以色列巴伊兰大学多位学者组成的研究团队，在Nature Communications上发表文章，以1893年至2010年间发表在美国物理学会（APS）期刊上的482566篇为例，通过书目耦合方法建立共引网络，描述了科学家文章之间的关系，并运用社团结构分析的方法将不同的研究兴趣具体化，进一步研究了科学家兴趣转移的趋势及动力学问题，提出了一个能解释科研兴趣转移机制主要特征的开发-探索模型。&lt;br /&gt;
&lt;br /&gt;
*[https://mp.weixin.qq.com/s/iQvylNg58X0sJSf-WUU1Lw  网络科学的黄金时代”：中国科学家大放异彩    研究人员还用模块最大化社群发现算法 ，找到了几个主要的、内部联系紧密的社群]&lt;br /&gt;
这篇文章的重点是网络科学家的合著网络，两个科学家共同发表过至少一篇论文，他们之间就形成了合著关系。在此之前，只有Newman的团队分析过网络科学家的合著关系网络，但他们当时网络只包含1589位科学家，而这篇文章的研究涵盖了20年内的52406位科学家以及329181个合著关系。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]用户参与编译，[[用户:苏格兰|苏格兰]]用户审校，[[用户:乐多多|乐多多]]编辑，欢迎在讨论页面留言&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:网络]]&lt;br /&gt;
[[Category:社团结构]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6950</id>
		<title>模块度</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E6%A8%A1%E5%9D%97%E5%BA%A6&amp;diff=6950"/>
		<updated>2020-05-06T08:57:41Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 快速模块度优化算法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=网络,集智,模块度，社团结构&lt;br /&gt;
|description=模块度，集智，社团结构检测算法&lt;br /&gt;
}}&lt;br /&gt;
'''模块度  Modularity'''是对网络结构或图像结构的一种度量。它是一种衡量网络模板（也称为节点集或社团）划分质量的标准。如果模板度高，则说明节点集内部连接紧密，而节点集与节点集之间连接稀疏。模块度是检测'''[[社团结构]]  Community Structure'''的常用优化方法。不过，受分辨率的限制，该方法不适用于检测小社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
许多重要的科学问题可以通过网络来呈现，并进行实证研究。 生物模式和社会模式、万维网、代谢网络、食物网、神经网络和病理网络这类现实问题，都可以通过数学表示和拓扑学研究来发现一些意想不到的结构特征。 这些网络大都具有某种社团结构，这种结构能够帮助人们更加理解网络中的动态过程。 例如，与连接稀疏的社会群体相比，连接紧密的社会群体之间传播信息或谣言的速度更快。 如果一个网络由若干个单独节点组成，这些节点之间通过链接相互联系，这表示节点之间有一定程度的相互作用，故将社团定义为内部连接紧密的节点组(而组与组之间连接稀疏)。对于一般的网络而言，由于社团可能具有完全不同的属性，如节点度、[[集聚系数]]、[[介数中心性]]、度分布等，所以如何检测网络中的社团极为重要。 模块度就是这样一种度量，当模块度最大时，就能够检测到给定网络的社团结构。&lt;br /&gt;
&lt;br /&gt;
==定义==&lt;br /&gt;
模块度是指落在同一组的边的比例 ，即对这些边进行随机分配所得到的期望概率（将边随机分配是为了保持每个节点的节点度不变）。其中，落在同一组的边的比例=组内的总边数÷网络中的总边数。无权图和无向图的模块度取值都在&amp;lt;math&amp;gt;[-1/2,1]&amp;lt;/math&amp;gt;范围内。如果节点组中的连边数量超过了随机分配时所得到的期望连边数量，模块度为正数。没有超过，则为负数。将给定网络的节点划分为若干模块，模块度反映的是模块内部连边的集中程度，而不是各模块之间所有节点链路的随机分布情况。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度的计算方法==&lt;br /&gt;
模块度的计算有很多种方法。考虑一个含有&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点、&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; 条连边的网络，这样的图网络能够用一个成员变量&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;划分为两个社团。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团1，即设 &amp;lt;math&amp;gt;s_v = 1&amp;lt;/math&amp;gt;，或节点 &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于社团2，即设&amp;lt;math&amp;gt;s_v = -1&amp;lt;/math&amp;gt;。&lt;br /&gt;
将图网络的邻接矩阵表示为 &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A_{{vw}}=0&amp;lt;/math&amp;gt;意味着节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; 之间没有连边；&amp;lt;math&amp;gt;A_{vw} = 1&amp;lt;/math&amp;gt;则意味着节点v和节点w之间存在连边。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为便于理解，我们以无向网络为例。即有 &amp;lt;math&amp;gt;A_{vw} = A_{wv}&amp;lt;/math&amp;gt;成立（需要指出的是，两个节点之间也可能存在多条连边，但这里仅讨论最简单的情况。）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
模块度&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;可定义为：在具有与给定网络相同度序列的随机化网络中，模板度等于在落在社团1或社团2中连边的比例—在社团1和社团2中将连边随机分布后所得到的概率期望。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===两个节点间随机连边的概率期望求法===&lt;br /&gt;
配置模型是一个特定网络的随机实现，我们利用配置模型的相关定义来计算连边随机分布后的概率期望。给定一个具有 &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;个节点的网络，其中设每个节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的节点度为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;，配置模型将每个连边切断并一分为二，切断的点称为末梢点。然后每一条半边（称为存根）随机与其他半边（除了自身）随机相连变成一条完整连边，并允许出现同一节点自我相连成环、两个节点间存在多条连边的情况。因此，即使网络的节点度序列保持不变，配置模型仍然是一个完全随机的网络。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现考虑节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;，各自的节点度分别为 &amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;，在随机重新连边的网络中，利用上述方法计算这两个节点间所期望的完整连边数量。&lt;br /&gt;
其中，所有单边的数量为：&lt;br /&gt;
:&amp;lt;math&amp;gt;l = \sum_{u} k_{u} =2m&amp;lt;/math&amp;gt;                             &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
我们考虑有&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt; 条半边的节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; ，并设一个相关指示变量&amp;lt;math&amp;gt;I_i&amp;lt;/math&amp;gt;，其中。在给定&amp;lt;math&amp;gt;i = 1,  \ldots, k_v&amp;lt;/math&amp;gt;的随机化网络中，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;的第&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;条半边恰好连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;（具有&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边）的某条半边，此时&amp;lt;math&amp;gt;I_i = 1&amp;lt;/math&amp;gt;。如果没有连接到，则&amp;lt;math&amp;gt;I_i = 0&amp;lt;/math&amp;gt;。因为节点v的第i条半边可以等概率连接到剩下的任何 &amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;条半边，且&amp;lt;math&amp;gt;k_w&amp;lt;/math&amp;gt;条半边也可以自我连接到节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;。&lt;br /&gt;
故可用公式：&lt;br /&gt;
:&amp;lt;math&amp;gt;p(I_i = 1) = E[I_i] = \frac{k_w}{2m-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;J_{vw} = \sum_i^{k_v}I_i&amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                                              &lt;br /&gt;
:&amp;lt;math&amp;gt;E[J_{vw}] = E[\sum_iI_i] = \sum_i^{k_v}E[I_i] = \frac{k_v k_w}{2m - 1}&amp;lt;/math&amp;gt;&lt;br /&gt;
                                &lt;br /&gt;
&lt;br /&gt;
对于有着大量连边的随机化网络，我们进行以下处理：当&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;很大时，我们将分母''&amp;lt;math&amp;gt;2m-1&amp;lt;/math&amp;gt;''化简为''&amp;lt;math&amp;gt;2m&amp;lt;/math&amp;gt;''，即利用 &amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt; 近似计算两个节点之间所期望的连边数量。此外，如果随机化网络的规模十分大，忽略发生同一节点自我相连成环、两个节点间存在多条连边的情况。我们设两个节点之间最多只有一条连边，此时 &amp;lt;math&amp;gt;J_{vw}&amp;lt;/math&amp;gt; 变成二进制指示符变量，其期望值为 &amp;lt;math&amp;gt;J_{vw}=1&amp;lt;/math&amp;gt;的概率。这意味着，在节点v和节点w之间存在连边的期望概率为&amp;lt;math&amp;gt;\frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
因此，节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;和节点&amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt;之间的实际边数与它们在随机化网络下连边数的期望之差为&amp;lt;math&amp;gt;A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
===公式表达一===&lt;br /&gt;
按照模块度的定义，对于所有的节点对进行求和，即得模块度的计算公式为：&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{2m} \right]  \frac{s_{v} s_{w}+1}{2}           &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
                                         &lt;br /&gt;
&lt;br /&gt;
需要注意的是，上式只适用于将网络划分为两个社团的情况。将网络划分为两个社团，再将每个子社团进一步划分为两个较小的子社团，使得模块度达到最大化的划分方法称为层次划分。层次划分是一个能够识别网络中多个社团的可行方法。通常设将网络划分为c个社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===公式表达二===&lt;br /&gt;
模块度可以表示为:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = \frac{1}{2m} \sum_{vw} \left[ A_{vw} - \gamma\frac{k_v k_w}{2m}\right] \delta(c_{v}, c_{w})       &lt;br /&gt;
&amp;lt;/math&amp;gt;   &lt;br /&gt;
                                   &lt;br /&gt;
其中：&amp;lt;math&amp;gt;Avw&amp;lt;/math&amp;gt;为共引网络相邻矩阵的一个元素；&amp;lt;math&amp;gt;k_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v &amp;lt;/math&amp;gt;的度；&amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;为网络中的连边总数；&amp;lt;math&amp;gt;c_v&amp;lt;/math&amp;gt;为节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;被分配到的社团，如果&amp;lt;math&amp;gt;c_v=c_w&amp;lt;/math&amp;gt;，则函数&amp;lt;math&amp;gt;（c_v，c_w）&amp;lt;/math&amp;gt;为1，否则为0。函数&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;最大化即可得到最优社团划分。注意：&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;是&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;中的分辨率参数，标准模块函数中的&amp;lt;math&amp;gt;\gamma=1&amp;lt;/math&amp;gt;。较大的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较小但较多的社团，较小的&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;参数可检测出较大但较少的社团。需要说明的是，虽然社团数量的分布受到参数&amp;lt;math&amp;gt;\gamma&amp;lt;/math&amp;gt;的影响，但动力学特性的显示几乎与社团分辨率无关。（摘自集智俱乐部微信公众号文章《[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利]》）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在标准模块函数中，&amp;lt;math&amp;gt;γ=1&amp;lt;/math&amp;gt;，则有:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{(2m)}\sum_{vw} \left[ A_{vw} - \frac{k_v k_w}{(2m)} \right] \delta(c_{v}, c_{w})     &lt;br /&gt;
  =\sum_{i=1}^{c} (e_{ij}-a_{i}^2) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
&lt;br /&gt;
定义 &amp;lt;math&amp;gt;e_{ij}&amp;lt;/math&amp;gt;为连接社团 &amp;lt;math&amp;gt;i &amp;lt;/math&amp;gt;和 社团&amp;lt;math&amp;gt;j &amp;lt;/math&amp;gt;的连边总数，则有:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
e_{ij}= \sum_{vw} \frac{A_{vw}}{2m} 1_{v\in c_i} 1_{w\in c_j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
                                                           &lt;br /&gt;
&amp;lt;math&amp;gt;a_i&amp;lt;/math&amp;gt;表示连接到社区&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;的连边总数，则有&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
a_i=\frac{k_i}{2m}= \sum_{j} e_{ij}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===公式表达三===&lt;br /&gt;
模块度的另一种计算公式为:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
Q = \frac{1}{2m} \sum_{vw} \sum_r \left[ A_{vw} - \frac{k_v k_w}{2m} \right] S_{vr} S_{wr}&lt;br /&gt;
  = \frac{1}{2m} \mathrm{Tr}(\mathbf{S}^\mathrm{T}\mathbf{BS}),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在光谱优化算法中常被用到。如果节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;属于节点组&amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; 则定义&amp;lt;math&amp;gt;Svr=1&amp;lt;/math&amp;gt;，若不属于则为0。之后利用该公式进行代换计算:                                                                            &lt;br /&gt;
:&amp;lt;math&amp;gt;\delta(c_v,c_w) = \sum_r S_{vr} S_{wr}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;Svr&amp;lt;/math&amp;gt;的矩阵（非方阵），而&amp;lt;math&amp;gt;B&amp;lt;/math&amp;gt;是包含元素&amp;lt;math&amp;gt;B_{vw} = A_{vw} - \frac{k_v k_w}{2m}&amp;lt;/math&amp;gt;的模块化矩阵。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于模块化矩阵的所有行和列都为0，因此也可以说不可分割的网络模块度为0。利用&amp;lt;math&amp;gt;sv = ±1&amp;lt;/math&amp;gt;代表节点&amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt;所属于哪个节点组，我们有:&lt;br /&gt;
:&amp;lt;math&amp;gt;Q = {1\over 4m} \sum_{vw} B_{vw} s_v s_w = {1\over 4m} \mathbf{s}^\mathrm{T}\mathbf{Bs}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中，&amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt;为包含&amp;lt;/math&amp;gt;s_v&amp;lt;/math&amp;gt;的列向量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该函数与辛流形的'''汉密尔顿函数 Hamiltonian'''的形式相同，故可创建出简单的算法，例如使用'''[[模拟退火算法]] Simulated Annealing'''来使模块度最大化。 模块化的一般形式等价于一个 Potts 自旋玻璃，在这种情况下也可以发展类似的算法。&lt;br /&gt;
&lt;br /&gt;
==多社团检测实例==&lt;br /&gt;
我们考虑一个有10个节点和12条边的无向网络，下面是'''邻接矩阵  Adjacency Matrix'''。&lt;br /&gt;
[[File:QQ图片20200324150722.png|400px|left]]&lt;br /&gt;
[[File:Partitioned_network.jpg|200px|thumb|upright=3|图1. 对应于10个节点，12条边的邻接矩阵网络示意图|right]]&lt;br /&gt;
[[File:Sample_Network.jpg|200px|thumb|upright=3|图2. 将模块度Q最大化的网络分区（其中Q=0.4896） |right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
图中的社团由图1中的红色、绿色和蓝色节点簇表示。最佳社团划分如图2所示。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==多分辨率算法==&lt;br /&gt;
在利用模块度衡量社团划分质量的过程中，有两种主要的解决分辨率限制的方法: 在每个节点上以自循环的形式增加一个阻力 r，通过增加或减少坏节点形成社团; 或在模块化定义的空格项前加上一个参数γ&amp;gt;0，该参数控制社区内部链接与零模型之间的相对重要性。 将这些参数值的模块度优化到适当的范围内，就有可能恢复整个网络的中尺度，从宏观尺度上所有节点属于同一个社团,从微观尺度上每个节点都形成自己的社团,因而将其命名为多分辨率算法。 然而，当社团之间的规模差异很大时，这些算法也有局限性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==分辨率限制==&lt;br /&gt;
将一个给定网络与该网络相对应的随机零模型进行对比，随机模型通常具有相同度序列、且其连边随机连接。模块度通过比较社团内部的连边数量与所期望的连边数量来判断给定网络是否具有较强的[[社团结构]]。（参见：[[网络科学导论]]。）这个随机零模型隐含地假设每个节点可以连接到网络的任何其他节点。 然而，如果网络规模非常大，这种假设是不合理的。因为通过一个节点的视角看到了网络的一小部分，却忽略了网络的大部分。 这说明随着网络规模的增大，两组节点之间的期望边数会减少。 因此，如果网络足够大，模块化零模型中两组节点集之间的期望边数可能小于一条。 在该种情况下，模块度将两组节点集之间存在单边作为节点集之间强相关性的标志。若对模块度进行优化，将导致两组节点集的合并，独立于社团群众。 因此，即使是内部连边密度最高、可识别性最好的弱互联完全图，在网络规模足够大的情况下，也可以通过模块度优化进行合并。 因此，即使小型社团能够被准确定义，在大型网络中优化模块度的方法也并不适用于他们。 对于依赖全局零模型的模块度优化方法来说，这种偏差是不可避免的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==模块度最大化算法==&lt;br /&gt;
由于网络所有可能的社团划分方法十分多，假设网络的节点数和边数分别为n和m，则所有可能的社团划分数是一个以n为指数的数。因此，'''NP-hard问题'''被提出，其研究如何在所有可能的划分中找出最优划分。针对这一问题，目前一些相应算法已被提出，其可以在合理的时间内找出模块度最大化的近似最优划分。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===经典贪婪算法===&lt;br /&gt;
模块度最大化问题是一个经典的最优化问题，'''[[马克·纽曼 Mark NewMan]] '''基于贪婪思想提出了模块度最大化的'''贪婪算法 Fast NewMan(FN)''' 。贪婪思想的目标是找出目标函数的整体最优值或者近似最优值，它将整体最优化问题分解为局部最优化问题。找出每个局部最优值，最终将局部最优值整合成整体的近似最优值。初始时，FN算法将网络中的每个节点都看成独立的小社团。然后考虑所有相连社区两两合并的情况，计算每种合并带来的模块度的增量。基于贪婪原则，选取使模块度增长最大或者减小最少的两个社团，将它们合并成一个社团。如此循环迭代，直到所有结点合并成一个社区。随着迭代的进行，网络总的模块度是不断变化的，在模块度的整个变化过程中，其最大值对应网络的社团划分就视为最优社团划分。&lt;br /&gt;
贪婪算法FN具体步骤：&lt;br /&gt;
# 去掉网络中所有的边，网络的每个节点都单独作为一个社团；&lt;br /&gt;
#网络中的每个连通部分作为一个社团，将还未加入网络的边分别重新加回网络，每次加入一条边，如果加入网络的边连接了两个不同的社团，则合并两个社团，并计算形成新社团划分的模块度增量。选择使模块度增量最大或者减小最少的两个社区进行合并。&lt;br /&gt;
#如果网络的社区数大于1，则返回步骤 2,继续迭代，否则转到步骤 4；&lt;br /&gt;
#遍历每种社区划分对应的模块度值，选取模块度最大的社区划分作为网络的最优划分。&lt;br /&gt;
该算法中，需要注意的是，每次加入的边只是影响网络的社团划分。而每次计算网络划分的模块度时，都是在网络完整的拓扑结构上进行的，即网络所有的边都存在的拓扑结构上。&lt;br /&gt;
&lt;br /&gt;
===快速模块度优化算法===&lt;br /&gt;
为了降低算法的时间复杂度，'''文森特·布隆代尔  Vincent Blondel'''等人提出了另一种层次贪婪算法 (Louvain) 。该算法包括两个阶段，第一阶段合并社团，算法将每个节点当作一个社团，基于模块度增量最大化标准决定哪些相邻的社团应该被合并。经过一轮扫描后开始第二阶段，算法将第一阶段发现的所有社团重新看成节点，构建新的网络，在新网络上重复进行第一阶段，这两个阶段重复运行，直到网络社团划分的模块度不再增长，得到网络的社团近似最优划分。&lt;br /&gt;
这个简单算法具有以下几个优点：&lt;br /&gt;
#该算法的步骤比较直观并且易于实现；&lt;br /&gt;
#不需要提前设定网络的社团数，并且该算法可以呈现网络的完整的分层社团结构，能够发现在线社交网络的分层虚拟社区结构，获得不同分辨率的虚拟社区；&lt;br /&gt;
#计算机模拟实验显示：在稀疏网络上，该算法在合理的时间内可以处理结点数超过10^9的网络，因此十分适合在线社交网络这样超大规模的网络中检测最优的社团划分。&lt;br /&gt;
&lt;br /&gt;
==进一步阅读==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Complex_network   复杂网络]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Community_structure  社团结构]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Null_model 零模型]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:社团发现.png|300px|right]]&lt;br /&gt;
===文献推荐===&lt;br /&gt;
*[http://ece-research.unm.edu/ifis/papers/community-moore.pdf  在大型网络中检测社团结构]&lt;br /&gt;
网络中群落结构的发现和分析是近年来物理学界非常关注的一个课题，但由于计算量大，目前提出的大多数方法都不适合大型网络。这篇文章提出了一种新的聚类算法来检测群落结构，它比很多同类型的算法收敛地更快。作为这个算法应用的一个例子，这篇文章使用它来分析一个大型在线零售商网站上的销售项目网络，如果这些项目经常被同一个买家购买，那么网络中的项目就会被连接。该网络有超过40万个顶点和200万条边，该算法可以从这个网络中提取出有意义的社区，揭示了顾客购买习惯中存在的大规模模式。&lt;br /&gt;
&lt;br /&gt;
*[https://arxiv.org/pdf/cond-mat/0308217.pdf  定义模块度的作者Newman and M. Girvan 论文——网络社团结构的发现与评价]&lt;br /&gt;
这篇文章提出并研究了一种在网络节点自然划分为子群时发现社团结构的算法，同时提出了一个度量算法发现的社团结构的强度的方法。&lt;br /&gt;
&lt;br /&gt;
*[http://www.pnas.org/content/103/23/8577.full.pdf  网络中的模块度和社团结构 ]&lt;br /&gt;
这篇文章论证了模块度可以用特征矩阵的特征向量来表示网络（称之为“模块性矩阵”），且在较短的运行时间，通过特征向量的社团检测算法返回的结果质量明显高于同类算法，并通过数据集的应用程序来说明这个方法。&lt;br /&gt;
&lt;br /&gt;
*[http://arxiv.org/abs/1908.04653   使用多层网络上的模块化  信念传播检测显著的社区结构]&lt;br /&gt;
基于模块度的社团检测包含许多被广泛使用的、有效的启发式方法来识别单层和多层网络中的结构。最近，一种用于模块度优化的传播方法为非平凡结构的识别提供了一种有用的指导，而其他优化方法则没有这种方法，这篇文章将模块度传播扩展到多层网络中。&lt;br /&gt;
&lt;br /&gt;
===集智文章推荐===&lt;br /&gt;
[[File:课程推荐.png|300px|right]]&lt;br /&gt;
*[https://mp.weixin.qq.com/s/ZOI-ItIstrqTCHs1QKWUUg  Nature通讯：科学家兴趣转移愈发频繁，但对科研生涯可能不利一文中社团结构分析——基于模块度优化的快速展开算法（fast unfolding algorithm）]&lt;br /&gt;
近期，一个由北京师范大学、中国科学院、美国波士顿大学、以色列巴伊兰大学多位学者组成的研究团队，在Nature Communications上发表文章，以1893年至2010年间发表在美国物理学会（APS）期刊上的482566篇为例，通过书目耦合方法建立共引网络，描述了科学家文章之间的关系，并运用社团结构分析的方法将不同的研究兴趣具体化，进一步研究了科学家兴趣转移的趋势及动力学问题，提出了一个能解释科研兴趣转移机制主要特征的开发-探索模型。&lt;br /&gt;
&lt;br /&gt;
*[https://mp.weixin.qq.com/s/iQvylNg58X0sJSf-WUU1Lw  网络科学的黄金时代”：中国科学家大放异彩    研究人员还用模块最大化社群发现算法 ，找到了几个主要的、内部联系紧密的社群]&lt;br /&gt;
这篇文章的重点是网络科学家的合著网络，两个科学家共同发表过至少一篇论文，他们之间就形成了合著关系。在此之前，只有Newman的团队分析过网络科学家的合著关系网络，但他们当时网络只包含1589位科学家，而这篇文章的研究涵盖了20年内的52406位科学家以及329181个合著关系。&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]用户参与编译，[[用户:苏格兰|苏格兰]]用户审校，[[用户:乐多多|乐多多]]编辑，欢迎在讨论页面留言&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[Category:网络]]&lt;br /&gt;
[[Category:社团结构]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=6239</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=6239"/>
		<updated>2020-04-30T09:56:53Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学生 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 450px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || [[Logistic映射]]&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216  对理解超导性的理论研究 Investigations towards an understanding of superconductivity]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵，[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit Order of Merit(OM)]，[https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia Order of Australia(AO)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society 英国皇家学会会员  Fellow of the Royal Society(FRS)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science 澳大利亚科学院院士 Fellow of the Australian Academy of Science(FAA)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering 澳大利亚技术科学与工程学院院士 FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ]，[https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  新南威尔士皇家学会会员 FRSN(Fellow of the Royal Society of New South Wales)]，[https://en.wikipedia.org/wiki/Australian_Institute_of_Building   澳大利亚建筑学会荣誉院士 HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=The Lancet|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; ，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学 University of Sydney 学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; 他也是悉尼高中的老男孩联盟 Old Boys Union 的赞助人。&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner。&amp;lt;ref name=whoswho/&amp;gt; &amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], Princeton University Press&amp;lt;/ref&amp;gt;菲纳是土生土长的曼哈顿人。他们还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
== 成长经历 ==&lt;br /&gt;
&lt;br /&gt;
=== 早期求学经历详述 ===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅 Robert McCredie May 于1938年1月8日出生于澳大利亚悉尼。他童年时期很喜欢玩拼图和解决问题的游戏。罗伯特·梅先后就读于Woollahra小学 Woollahra Primary School、悉尼男子中学 Sydney Boys High School（1948–1952）。在这个阶段，他成为了学校辩论队的冠军，同时也在科学领域受到了几位优秀教师的影响。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
名列前茅的罗伯特·梅放弃了在法律和医学领域的学习，选择了在悉尼大学攻读化学工程学位（1953年）。他把时间分配在他认为这是”有趣游戏“的下棋和斯诺克之间，偶尔学习化学，数学和物理。尽管如此，他还是取得了令人难以置信的成功，获得了化学和物理学奖。与所收到的建议相反，克服了更多的困难后，他在第二年就成功地攻读了被认定为“最艰苦本科生组合”的化学工程和物理学科。在第三年，他放弃了化学工程专业，同时主修纯数学，应用数学和物理学（尽管仍旧收到了相反的建议，但他还是如此选择），并且在这三个方面均名列前茅。在成功完成物理学的学习（1956年）之后，罗伯特·梅决定从事科学事业。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅继续在悉尼大学学习并获得了物理学博士学位，研究方向为超导性。当时他的博士生导师罗比·沙夫罗斯 Robbie Schafroth 发现带电的玻色子的理想气体是超导体，从而重新定义了问题。罗伯特·梅的研究旨在展示如何有效地束缚成对的电子（可能是玻色子）。Bardeen，Cooper和Schrieffer在这项任务中超越了悉尼小组，从而获得了诺贝尔奖。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1959年完成论文后，罗伯特·梅离开澳大利亚到哈佛大学工程与应用物理系攻读博士后职位，并担任了应用数学系的戈登·麦凯 Gordon MacKay 讲师（1959–1961）。在这段时间里，他遇到了妻子朱迪思Judith ，这是他一生中最重要的事件。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
=== 博士生导师详述 ===&lt;br /&gt;
&lt;br /&gt;
他的外祖父是黄金时代物理学中三个杰出的人物之一的哈里·梅塞尔 Harry Messel。哈里·梅塞尔把悉尼大学带到了外部的世界，尤其是他带去了世界一流的理论物理学家三人组。罗伯特·梅的论文指导者是Robbie Schafroth，他是Wolfgang Pauli的学生和助手。斯图尔特·巴特勒 Stuart Butler 得了鲁道夫·皮尔斯 Rudolph Peierls 所在的那个黄金团队的博士学位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
鲁道夫·皮尔斯 Rudolph Peierls 与弗里曼·戴森 Freeman Dyson 以及许多其他伟大人物（例如萨姆·爱德华兹和布莱恩·弗洛斯）发生战争后，便到了伯明翰。约翰·布拉特 John Blatt 和他的论文导师维克·魏斯科普夫 Vicki Weisskopf 一起写了他那代人关于核物理的权威文章。维克·魏斯科普夫 Vicki Weisskopf 是欧洲核子研究组织的第一任主任。这群优秀的人被哈里·梅塞尔聚集在了一起。哈里·梅塞尔非常擅长招募人才，并让他们继续前进。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是'''逻辑斯谛克映射'''，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''[https://en.wikipedia.org/wiki/Ig_Nobel_Prize 搞笑诺贝尔奖 IgNobel Prizes]''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
&lt;br /&gt;
==研究领域==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如果你问罗伯特·梅如何解释科学兴趣中令人困惑的折衷主义，他会说他喜欢玩游戏和解谜。他对游戏的看法绝不是轻浮的：对他来说，数学和非常清楚地思考某件事一样，不是更多，也不是更少。他选择考虑的是复杂系统:从模拟不同生态系统中物种的生存到艾滋病的传播，再到后来全球金融的稳定。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅称自己是一名被选为r级科学家的人，他早期阶段自我评价：我喜欢在我能做“漂亮、简单但重要的事情”的领域工作。这种自我评估低估了罗伯特·梅的大量著作所做的贡献，但恰当地总结了他在基础和应用研究领域的职业生涯，这些领域包括对物理学、天体物理学、理论生态学、人口生物学、宿主-寄生虫和传染病动力学、生物多样性和金融等领域的贡献。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
&lt;br /&gt;
尽管罗伯特·梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===动力学===&lt;br /&gt;
罗伯特·梅首次表明，一阶非线性差分方程的动力学行为可能是非常复杂的，从稳定点到周期振荡再到混沌，均有可能。尽管几个数学家几乎同时独立地发展了混沌理论，但可以说是梅1976年在Nature发表的论文（以及以后的系列工作）开创了生物学中“混沌动力学”这个新领域。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅还首次把环境随机性和空间异质性纳入到种群动力学模型当中，并据此探讨了一些生态系统管理中的种群数量变动问题；通过数学模型对昆虫寄生蜂野生种群的周期波动进行了卓有成效的研究。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅是一名毫不妥协、直言不讳的澳大利亚人，享年84岁，他打破英国科学界和政界和科学界之间的边界，并让他们都考虑到他们所服务的公众。他横跨三大洲的科学研究生涯确保了他的生态模型在法医学上的发展和其清晰表述在国际上具有的影响力。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
60年代末，作为物理学教授，他加入了一个关注人类对环境影响的社会责任科学家小组。围绕这一主题的阅读使他开始从事有关稳定性和多样性的工作，并从物理学转向生态学。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅在1973年首次崭露头角，当时他挑战了传统观点，即相对于包含许多不同物种的复杂生态系统，更简单的生态系统，如通过商业农业发展起来的单一栽培，更容易崩溃。这体现在他的书《模型生态系统的稳定性和复杂性 [https://www.nature.com/articles/261459a0 Simple mathematical models with very complicated dynamics]》中&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
这理论挑战引发了大量的实地研究，得出的结论是，在现实世界中，不同的系统通常更稳定，但这种稳定主要取决于群落中各种关系(如捕食者和猎物)的性质。即使是像热带雨林和珊瑚礁这样的多样化环境，在没有进化到可以承受的变化面前，仍然是高度脆弱的。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
接下来，他从数学的角度探究了为什么一个特定物种的个体数量每年都可能发生变化，而且往往是不可预测的。他指出，相对恒定的数量，周期性的繁荣和衰退，或不可预测的剧烈波动，都可以用同一个方程来解释，即所提到的逻辑斯谛克映射。在初始条件下，比如动物的数量或繁殖率，只有很小的变化。这是混沌论在生物学中最早的应用之一。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
尽管梅喜欢这些谜题本身，但他坚信科学家有责任为科学而工作。随着20世纪80年代艾滋病危机的到来，他开始研究感染的传播。他与伦敦帝国理工学院的罗伊•安德森’’’Roy Anderson’’’合作开发的一个模型准确地预测了艾滋病毒在社区的快速传播，在那里，与多个性伴侣发生接触是常态。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===金融===&lt;br /&gt;
&lt;br /&gt;
到2008年金融危机爆发时，罗伯特·梅已经开始与同事们就银行体系的稳定性展开合作。他们在雷曼兄弟 Lehman Brothers 倒闭前7个月发表在《自然 Nature》杂志上的一篇评论文章《银行家的生态学 Ecology for Bankers》解释了生态模型如何暴露金融体系中的漏洞，并提出了缓解这些漏洞的方法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===复杂系统===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅的动力来自于找到生态系统的大统一理论，[[圣塔菲研究所 Santa Fe Institute]]科学委员会成员、普林斯顿大学 Princeton University 著名的生态学和进化生物学教授、梅的合作者西蒙·莱文 Simon Levin说。“他的观点是，系统之间存在相似性，而这些相似性可以帮助我们发展统一的理论。”&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
这种对复杂系统的理解有助于跨领域和跨学科的工作。'''[[圣塔菲研究所 Santa Fe Institute]]'''负责科学的副院长詹妮弗·邓恩 Jennifer Dunne指出，虽然罗伯特·梅不是[[圣塔菲研究所 Santa Fe Institute]]的创始人之一，“但他帮助创建了通向[[圣塔菲研究所 Santa Fe Institute]]的学术环境。”罗伯特梅是[[圣塔菲研究所 Santa Fe Institute]]科学委员会的长期成员和前任顾问委员会的负责人。&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=Australian Institute of Building |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;&amp;gt;{{cite web|title=List of Fellows|url=http://www.raeng.org.uk/about-us/people-council-committees/the-fellowship/list-of-fellows|website=raeng.org.uk|publisher=Royal Academy of Engineering}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
&lt;br /&gt;
[[File:MAY.jpg|400px|缩略图|右|2000年至2005年担任英国皇家学会(Royal Society)主席的梅勋爵(Lord May)于2004年出席了该学会在伦敦的总部]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
曾担任英国政府的首席科学顾问、英国皇家学会主席、悉尼大学和普林斯顿大学的教授，曾在牛津大学和伦敦帝国理工学院担任联合教授。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
英国上议院的一名议员、是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 梅与圣塔菲 ===&lt;br /&gt;
&lt;br /&gt;
科学委员会成员，普林斯顿大学生态学和进化生物学 James s. McDonnell 杰出教授，同时也是梅的合作者 Simon Levin 说:。“他的动力来自于这样一种观点，即系统之间存在相似之处，而这些相似之处可以帮助我们发展统一的理论。”&lt;br /&gt;
&lt;br /&gt;
这种对理解复杂系统的承诺有助于梅跨领域工作并超越学科。[[圣塔菲研究所 Santa Fe Institute]]科学副主席 Jennifer Dunne 指出，虽然梅不是[[圣塔菲研究所 Santa Fe Institute]]的创始人之一，但是他帮助创造了[[圣塔菲研究所 Santa Fe Institute]]，梅是[[圣塔菲研究所 Santa Fe Institute]]科学委员会的资深成员和前任顾问委员会的负责人，也是2012年斯坦尼斯拉夫·乌拉姆纪念讲座系列的主讲人。&lt;br /&gt;
&lt;br /&gt;
“他非常支持研究所，一直是一个意见坚定的人，一股新鲜空气自由散发着适当的咒骂，”杰出的山南教授和前任主席[[杰弗里·韦斯特]]说，他认为梅是[[圣塔菲研究所 Santa Fe Institute]]“第二波创始人”的一部分。“我会怀念和他活跃的对话和友谊。 巨大的损失。”&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
[[File:species.png|200px|缩略图|右|甲壳虫数目的粗略估计：每一个交叉口的高度与不同身体尺寸的甲壳虫数目成正比]]&lt;br /&gt;
*《地球上有多少物种 [http://www.life.illinois.edu/ib/451/May%20(1988).pdf How Many Species are There on Earth?]》 Robert M. May, Science, New Series, Vol. 241, No. 4872. (Sep. 16, 1988), pp. 1441-1449.&lt;br /&gt;
:: 本文章就标题中的问题给出回答，同时对影响生物多样性的各种因素进行了总结。其中包括：食物网的结构，物种相对丰富度，物种数目，个体在不同纲目中的不同身体尺寸以及有机物的共性和稀有性的决定性作用。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
* 《人类传染病：动态和控制 [https://global.oup.com/academic/product/infectious-diseases-of-humans-9780198540403?cc=us&amp;amp;lang=en&amp;amp; Infectious Diseases of Humans: Dynamics and Control]》 by Roy M. Anderson and Robert M. May (1992)，引用量： 12909。&lt;br /&gt;
::这本书涉及传染病:病毒、细菌、原生动物和蠕虫在它们与宿主种群相互作用的动力学。 书结合数学模型与广泛使用流行病学和其他数据。 这一分析框架对于评价旨在控制或根除特定感染的公共卫生战略非常有用。 鉴于针对麻疹、疟疾、河盲症、非洲锥虫病和血吸虫病等疾病的初级卫生保健计划受到广泛关注，以及艾滋病 / 艾滋病毒和其他新出现病毒的出现，这样一个框架变得越来越重要。 这本书分为两部分，一部分是关于微寄生虫(病毒，细菌和原生动物) ，另一部分是关于大寄生虫(蠕虫和寄生节肢动物)。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:stability.jpg|200px|缩略图|右|[https://www.amazon.com/Stability-Complexity-Ecosystems-Princeton-Landmarks/dp/0691088616 生态系统模型的稳定性和复杂性]]]&lt;br /&gt;
*《模拟生态系统中的稳定性和复杂性 [https://press.princeton.edu/books/paperback/9780691088617/stability-and-complexity-in-model-ecosystems Stability and Complexity in Model Ecosystems]》 Robert M. May, Princeton University Press; Reprint (2001年4月1日)，被引用8721次。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
::是什么使人口稳定？ 是什么使它们产生波动？ 复杂生态系统中的种群是否比简单生态系统中的种群更稳定？ 1973年，罗伯特 · 梅在这本经典著作中阐述了这些问题。 他研究了族群动态的数学根源，并提出了与当前大多数生物学思想相反的观点，即复杂的生态系统本身并不能导致种群的稳定。 模型生态系统中的稳定性和复杂性在引入非线性数学模型和将确定性混沌理论引入生态学中起到了关键作用，这一作用在詹姆斯 · 格雷克的《混沌》一书中有详细。 自从这本书首次出版以来的四分之一个世纪里，它所传达的信息越来越强大。 非线性模型现在是生态思维的中心，当前对生物多样性的威胁使得关于生态系统复杂性的作用的问题比以往任何时候都更加重要。 在新的序言中，作者阐述了自该书首次出版以来席卷生物学和生物学界的一些变化。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
* 《具有复杂动态的简单数学模型 [https://www.nature.com/articles/261459a0 Simple mathematical models with very complicated dynamics]》 Robert M. May(1976), Nature  引用量7612次。&lt;br /&gt;
:: 一阶差分方程在生物、经济和社会科学的许多领域都有出现。 这样的方程，即使是简单的和确定性的，也可以表现出一系列令人惊讶的动力学行为，从稳定点，到稳定循环的分叉层次，再到明显的随机波动。 因此就产生了许多引人入胜的问题，有些涉及到轨迹精细结构的精密数学方面，有些涉及到实际意义和应用。 这是对它们的解释性回顾。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 研究动向 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 生态学 ===&lt;br /&gt;
著有《模拟生态系统中的稳定性和复杂性》实则是挑战了一种传统观念：即简单的生态系统，比如通过商业耕作发展起来的单一种植模式，比包含许多不同物种的更复杂的生态系统更容易崩溃，该书用表明，在一个多物种竞争资源的系统中，物种越多，系统作为一个整体就越不稳定。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 传染病研究 ===&lt;br /&gt;
&lt;br /&gt;
随着20世纪80年代艾滋病危机的到来，他转向研究感染的传播。 他与伦敦帝国理工学院的罗伊·安德森共同开发的一个模型准确地预测了艾滋病毒在与多个性伴侣接触成为常态的社区中的快速传播。&lt;br /&gt;
[[File:HIV spread.png|300px|thumb|center|HIV的快速传播]]&lt;br /&gt;
在2001年的英国皇家学会关于艾滋病病毒起源的会议上， 他们的报告《病毒动力学: 免疫学和病毒学的数学原理 [https://www.researchgate.net/publication/48378467_Virus_Dynamics_Mathematical_Principles_of_Immunology_And_Virology Virus Dynamics: Mathematical Principles of Immunology And Virology]》中提到：如果病毒在一个村庄内和村庄外平均传播，这将导致病毒在一个村庄内灭绝，并产生连锁反应，随着病毒从其最初的“壁炉”传播，流行率将越来越低。 这种病毒会在一个新的村庄建立一个立足点，然后因为伴侣更换率低而消失，如果居民在其他地方寻找伴侣，病毒就会传播到其他村庄，如此类推。这种影响将导致病毒最初达到高峰，随后在几十年中缓慢下降，然后才进入性伙伴变化率高的地理集中人口——例如1970年代金沙萨的城市条件。 罗伯特·梅的团队估计，如果繁殖率(每个病例感染的个体数量)仅略高于1，则延迟时间为30至40年。&lt;br /&gt;
&lt;br /&gt;
在1992年出版的《人类的传染病》一书仍然是公共卫生学生和专业人士的必读书目。&lt;br /&gt;
&lt;br /&gt;
梅和其妻子安德森及时发表了有影响力的研究报告。英国的大规模疫情激发了他们研究牛海绵状脑病的灵感，随后他们开始关注2002年爆发的口蹄疫。这两位研究人员率先模拟了艾滋病毒在人群中的传播，以及不同性行为或使用静脉注射药物的人群之间的传播。他们的病毒、细菌和原生动物病原体模型被用于指导人群水平的疫苗接种，并已用于抗击非洲埃博拉疫情。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 金融学 ===&lt;br /&gt;
&lt;br /&gt;
2011年，他与英国央行 Bank of England 首席经济学家安迪•霍尔丹 Andy Haldane 合著了一篇颇具影响力的论文，题为《银行生态系统的系统性风险 [https://www.researchgate.net/publication/49768618_Systemic_Risk_in_Banking_Ecosystems Systemic Risk in Banking Ecosystems]》(Systemic risk）。 一年后，梅在“当今复杂金融体系中的稳定性是什么? ”的公开演讲中分享了这些见解：通过与生态食物网的动力学和传染病传播的网络进行类比，探索了在故意简化的金融网络模型中复杂性和稳定性之间的相互作用。解释了生态模型如何暴露系统的弱点，并提出了缓解这些弱点的方法。其明确目标是最小化系统性风险。这是斯坦尼斯拉夫 · 乌拉姆三次纪念讲座中的第二次，题为“复杂性的多面性”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:risk bank.png|300px|thumb|center|分析：最近美国金融体系的规模和集中程度有所上升。 这一数字表明，自1999年取消《格拉斯-斯蒂格尔法案》限制以来，美国银行系统内的资产集中显著增加。 红线代表格拉姆-里奇-布利利法案(1999年) ，该法案废除了格拉斯-斯蒂格尔法案的限制。 数据只包括被保险的银行存款子公司，以确保随着时间的推移一致性; 例如，非存款子公司不包括在内。 数据来自联邦存款保险公司。]]&lt;br /&gt;
&lt;br /&gt;
===生物学与分叉===&lt;br /&gt;
[[File:chaos1.jpg|300px|thumb|right|混沌 chaos]]&lt;br /&gt;
梅不是一个典型的生物学家，漫步在田野和森林中，为生物编目。 相反，他使用数学技术来模拟动物种群在一定的起始条件下如何随着时间的推移而变化。 他的工作使他得到了一个有用的公式，即逻辑差分方程  logistic difference equation，这个公式使他能够很好地预测动物数量。 这个等式看起来是这样的:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_{n+1}=r x_n(1-x_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; 等于驱动参数，也就是导致种群变化的因素，而 &amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 代表种群数量。 为了使用这个方程，你需要从一个固定的&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; 值和一个初始值 &amp;lt;math&amp;gt; x&amp;lt;/math&amp;gt;  开始。 然后迭代运行这个方程，得到&amp;lt;math&amp;gt; x_1，x_2，x_3 &amp;lt;/math&amp;gt; 的值，一直到&amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 。当梅在20世纪70年代早期研究这个方程式时，他开始得到混淆的结果。 当驱动参数&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt;保持较低时，一切正常——总体稳定在一个单一的值上。 但当驱动参数爬升得越来越高时，结果却是一片混乱。梅咨询了他的朋友、马里兰大学学院市分校的数学教授 James Yorke。 大约在同一时间，约克在《大气科学杂志 the Journal of the Atmospheric Sciences》上看到了洛伦茨的论文，他认为天气和动物数量的变化之间可能存在联系。 他运用逻辑差分方程，并对其进行了计算。结果也是出现&amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 的值来回震荡。1975年，Yorke 和合著者 t.y. Li 总结了他们的发现[http://www.its.caltech.edu/~matilde/LiYorke.pdf 第三阶段意味着混乱 Period Three Implies Chaos ] ，这是一篇里程碑式的论文，向世界介绍了术语'''“混乱 Chaos”'''和“混乱”行为。 在逐步研究逻辑差分方程的数学过程中，他重申了庞加莱 Poincaré和洛伦兹 Lorenz已经发现的东西---- 即使是由相对简单的方程控制的简单系统也可能产生非常复杂、不可预测的行为。 但他也在他的分叉图中瞥见了秩序。 当他仔细观察它们时，他可以看到模式和可重复性。 当时的其他科学家，比如 benot Mandelbrot，也看到了类似的情况。（详可参见[[曼德布洛特集 Mandelbrot set]]）&lt;br /&gt;
&lt;br /&gt;
这是混沌理论在生物学上的第一个应用。&lt;br /&gt;
&lt;br /&gt;
===昆虫学 zoology===&lt;br /&gt;
他协助澳大利亚科学部长彼得 · 麦高兰发行了三本 CSIRO 出版物：《叩击甲虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
[[File:学术家族树.png|400px|缩略图|右|学术家族树]]&lt;br /&gt;
=== 博士生导师===&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, 悉尼大学&lt;br /&gt;
&lt;br /&gt;
=== 学生 ===&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  加州大学圣地亚哥分校&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  亚利桑那大学&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  克拉克大学&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  哈佛大学&lt;br /&gt;
&lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
=== 马丁·安德里亚斯·诺瓦克 Martin Andreas Nowak  ===&lt;br /&gt;
&lt;br /&gt;
马丁·安德里亚斯·诺瓦克 Martin Andreas Nowak（生于1965年4月7日）是哈佛大学生物学与数学教授，兼进化动力学主任。&lt;br /&gt;
&lt;br /&gt;
'''合作文章'''&lt;br /&gt;
&lt;br /&gt;
''Virus dynamics: mathematical principles of immunology and virology: mathematical principles of immunology and virology''&lt;br /&gt;
&lt;br /&gt;
主要内容：这本书开创性地描述了理论免疫学的新兴领域，特别是使用数学模型描述了传染病在患者体内的传播。它揭示了对病毒和其他感染的动态以及传染原与免疫反应之间相互作用的有趣见解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 乔治·杉原 George Sugihara ===&lt;br /&gt;
&lt;br /&gt;
乔治·杉原 George Sugihara （出生于日本东京）目前是斯克里普斯海洋学研究所-物理海洋学研究部的生物海洋学教授，他是McQuown自然科学的首任主席。他作为理论生物学家，曾在生态学、景观生态学、流行病学、遗传学、地球科学和大气科学、定量金融、经济学等多个领域工作。&lt;br /&gt;
&lt;br /&gt;
'''成果'''&lt;br /&gt;
&lt;br /&gt;
''Applications of fractals in ecology''&lt;br /&gt;
&lt;br /&gt;
分形模型描述了各种自然物体的几何形状，例如海岸线、岛屿链、珊瑚礁、卫星彩色海洋影像、植被斑块等。以改进的扩散模型的形式投射，它们可以模仿具有不同类型形态复杂性的自然景观和人造景观。本文简要介绍了分形，并接受了生态学家如何使用它们来回答生态系统中有关尺度、测度和分层的各种基本问题。&lt;br /&gt;
&lt;br /&gt;
=== 塞巴斯蒂安·邦霍弗 Sebastian Bonhoeffer ===&lt;br /&gt;
&lt;br /&gt;
自2005年7月1日起，塞巴斯蒂安·邦霍弗 Sebastian Bonhoeffer 任苏黎世联邦理工学院理论生物学的正教授。他的研究集中在使用种群生物学模型来理解基本生物学过程。他广泛研究并描述了受感染个体内病毒感染的种群动态的数学模型，为病毒感染尤其是HIV感染的发病机理提供了重要的见识。&lt;br /&gt;
&lt;br /&gt;
'''成果'''&lt;br /&gt;
&lt;br /&gt;
''Virus dynamics and drug therapy''&lt;br /&gt;
&lt;br /&gt;
本文主要讨论了对病毒种群动态的新兴理解，免疫系统在限制病毒丰度方面的作用，病毒耐药性的动态以及是否可以通过药物治疗消除病毒感染的问题。&lt;br /&gt;
&lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
=== 牛津大学梅勋爵讣告  Lord May of Oxford obituary  ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
如果你问牛津大学的梅勋爵鲍勃 · 梅，他对科学兴趣的折衷主义是怎么回事，他会说他喜欢玩游戏和解决谜题。 他对游戏的看法绝不是无聊的: 对他来说，数学“不多也不少，就是对某事进行非常清晰的思考”。 他选择考虑的是复杂的系统: 从建立不同生态系统中物种生存的模型，到艾滋病的传播，再到后来的全球金融稳定性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
从1995年到2000年，作为政府的首席科学顾问，他动摇了政治家和科学界之间的边界，让他们思索考虑到他们所服务的公众。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
虽然梅喜欢这些谜题是为了他们自己，但他坚信科学家有责任为社会的利益而工作。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
尽管梅公开表示不喜欢行政管理，但实际上，她曾担任新泽西州普林斯顿大学 Princeton 研究委员会主席数年(实际上是负责研究的副主席) ，并担任自然历史博物馆 Natural History Museum 和联合自然保护委员会 Joint Nature Conservancy Council 的董事会。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在60年代后期，作为物理学教授，他加入了一个关注人类对环境影响的科学家社会责任小组。 围绕这一主题的阅读促使他从事稳定性和多样性方面的工作，并从物理学转向生态学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
到2008年金融危机爆发时，梅已经开始与同事合作，致力于维护银行体系的稳定。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
不管玩什么游戏（他喜欢下棋和打桥牌）梅都会赢。直到70多岁的时候，人们还能看到他和他的朋友、动物学家同事、公务员约翰·克雷布斯一起在牛津的纤道上或公园里跑步。在时而粗暴的外表下，梅是一个有着深厚人性和坚定正直的人。&lt;br /&gt;
&lt;br /&gt;
=== 英国皇家学会主席评价 President of the Royal Society comments on death of The Lord May of Oxford, Robert May OM AC Kt HonFREng FRS  ===&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
罗伯特·梅是一个非凡的人，他将自己的才华投入到每一个领域，推动了巨大的变革: 作为一个理论生态学家的研究，作为英国政府的首席科学顾问的政治，以及作为皇家学会主席的研究。梅是一个天生的沟通者，他利用一切可能的渠道来分享他的信息，即科学和理性应该成为社会的核心，他这样做的热情追求与该协会的创始成员产生了共鸣&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
*[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
*[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
*[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
*[https://www.santafe.edu/news-center/news/memoriam-robert-may 圣塔菲研究所关于May的讣告]&lt;br /&gt;
&lt;br /&gt;
*[[Logistic映射]]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:生态稳定.jpg|右|400px|thumb|[https://swarma.org/?p=12611 对于生态系统稳定性，互惠合作到底是利是弊？]]]&lt;br /&gt;
[[File:非线性动力学与混沌.png|400px|right|thumb|[https://campus.swarma.org/course/697 非线性动力学与混沌]]]&lt;br /&gt;
===集智文章推荐===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=12611 对于生态系统稳定性，互惠合作到底是利是弊？]====&lt;br /&gt;
自然界中多样、复杂的生态系统，通常会因为它们所拥有的物种之间丰富的相互作用而更为稳定。然而在模拟中，模型生态系统通常会随着物种间相互作用的增强和增多而变得不稳定。研究人员正逐渐理解这种差异背后的原因。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/697 非线性动力学与混沌]====&lt;br /&gt;
非线性动力学和混沌理论是系统发展的，从一阶微分方程及其分岔开始，然后是相平面分析，极限环和它们的分岔，最终得到Lorenz方程，混沌，迭代映射，周期倍增，重整化，分形和奇怪吸引子。Steven Strogatz对非线性动力学和混沌进行了详细的讲解，强调分析方法、具体实例和几何直觉。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]、[[用户:费米子|费米子]]参与编译，[[用户:Liushikang1992|Liushikang1992]]审校，[[用户:费米子|费米子]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;br /&gt;
[[Category:生态学]]&lt;br /&gt;
[[Category:混沌]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=6238</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=6238"/>
		<updated>2020-04-30T09:56:15Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 博士生导师 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 450px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || [[Logistic映射]]&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216  对理解超导性的理论研究 Investigations towards an understanding of superconductivity]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵，[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit Order of Merit(OM)]，[https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia Order of Australia(AO)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society 英国皇家学会会员  Fellow of the Royal Society(FRS)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science 澳大利亚科学院院士 Fellow of the Australian Academy of Science(FAA)]，[https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering 澳大利亚技术科学与工程学院院士 FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ]，[https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  新南威尔士皇家学会会员 FRSN(Fellow of the Royal Society of New South Wales)]，[https://en.wikipedia.org/wiki/Australian_Institute_of_Building   澳大利亚建筑学会荣誉院士 HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=The Lancet|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; ，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学 University of Sydney 学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; 他也是悉尼高中的老男孩联盟 Old Boys Union 的赞助人。&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner。&amp;lt;ref name=whoswho/&amp;gt; &amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], Princeton University Press&amp;lt;/ref&amp;gt;菲纳是土生土长的曼哈顿人。他们还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
== 成长经历 ==&lt;br /&gt;
&lt;br /&gt;
=== 早期求学经历详述 ===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅 Robert McCredie May 于1938年1月8日出生于澳大利亚悉尼。他童年时期很喜欢玩拼图和解决问题的游戏。罗伯特·梅先后就读于Woollahra小学 Woollahra Primary School、悉尼男子中学 Sydney Boys High School（1948–1952）。在这个阶段，他成为了学校辩论队的冠军，同时也在科学领域受到了几位优秀教师的影响。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
名列前茅的罗伯特·梅放弃了在法律和医学领域的学习，选择了在悉尼大学攻读化学工程学位（1953年）。他把时间分配在他认为这是”有趣游戏“的下棋和斯诺克之间，偶尔学习化学，数学和物理。尽管如此，他还是取得了令人难以置信的成功，获得了化学和物理学奖。与所收到的建议相反，克服了更多的困难后，他在第二年就成功地攻读了被认定为“最艰苦本科生组合”的化学工程和物理学科。在第三年，他放弃了化学工程专业，同时主修纯数学，应用数学和物理学（尽管仍旧收到了相反的建议，但他还是如此选择），并且在这三个方面均名列前茅。在成功完成物理学的学习（1956年）之后，罗伯特·梅决定从事科学事业。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅继续在悉尼大学学习并获得了物理学博士学位，研究方向为超导性。当时他的博士生导师罗比·沙夫罗斯 Robbie Schafroth 发现带电的玻色子的理想气体是超导体，从而重新定义了问题。罗伯特·梅的研究旨在展示如何有效地束缚成对的电子（可能是玻色子）。Bardeen，Cooper和Schrieffer在这项任务中超越了悉尼小组，从而获得了诺贝尔奖。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1959年完成论文后，罗伯特·梅离开澳大利亚到哈佛大学工程与应用物理系攻读博士后职位，并担任了应用数学系的戈登·麦凯 Gordon MacKay 讲师（1959–1961）。在这段时间里，他遇到了妻子朱迪思Judith ，这是他一生中最重要的事件。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
=== 博士生导师详述 ===&lt;br /&gt;
&lt;br /&gt;
他的外祖父是黄金时代物理学中三个杰出的人物之一的哈里·梅塞尔 Harry Messel。哈里·梅塞尔把悉尼大学带到了外部的世界，尤其是他带去了世界一流的理论物理学家三人组。罗伯特·梅的论文指导者是Robbie Schafroth，他是Wolfgang Pauli的学生和助手。斯图尔特·巴特勒 Stuart Butler 得了鲁道夫·皮尔斯 Rudolph Peierls 所在的那个黄金团队的博士学位。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
鲁道夫·皮尔斯 Rudolph Peierls 与弗里曼·戴森 Freeman Dyson 以及许多其他伟大人物（例如萨姆·爱德华兹和布莱恩·弗洛斯）发生战争后，便到了伯明翰。约翰·布拉特 John Blatt 和他的论文导师维克·魏斯科普夫 Vicki Weisskopf 一起写了他那代人关于核物理的权威文章。维克·魏斯科普夫 Vicki Weisskopf 是欧洲核子研究组织的第一任主任。这群优秀的人被哈里·梅塞尔聚集在了一起。哈里·梅塞尔非常擅长招募人才，并让他们继续前进。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是'''逻辑斯谛克映射'''，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''[https://en.wikipedia.org/wiki/Ig_Nobel_Prize 搞笑诺贝尔奖 IgNobel Prizes]''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
&lt;br /&gt;
==研究领域==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如果你问罗伯特·梅如何解释科学兴趣中令人困惑的折衷主义，他会说他喜欢玩游戏和解谜。他对游戏的看法绝不是轻浮的：对他来说，数学和非常清楚地思考某件事一样，不是更多，也不是更少。他选择考虑的是复杂系统:从模拟不同生态系统中物种的生存到艾滋病的传播，再到后来全球金融的稳定。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅称自己是一名被选为r级科学家的人，他早期阶段自我评价：我喜欢在我能做“漂亮、简单但重要的事情”的领域工作。这种自我评估低估了罗伯特·梅的大量著作所做的贡献，但恰当地总结了他在基础和应用研究领域的职业生涯，这些领域包括对物理学、天体物理学、理论生态学、人口生物学、宿主-寄生虫和传染病动力学、生物多样性和金融等领域的贡献。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
&lt;br /&gt;
尽管罗伯特·梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===动力学===&lt;br /&gt;
罗伯特·梅首次表明，一阶非线性差分方程的动力学行为可能是非常复杂的，从稳定点到周期振荡再到混沌，均有可能。尽管几个数学家几乎同时独立地发展了混沌理论，但可以说是梅1976年在Nature发表的论文（以及以后的系列工作）开创了生物学中“混沌动力学”这个新领域。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅还首次把环境随机性和空间异质性纳入到种群动力学模型当中，并据此探讨了一些生态系统管理中的种群数量变动问题；通过数学模型对昆虫寄生蜂野生种群的周期波动进行了卓有成效的研究。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅是一名毫不妥协、直言不讳的澳大利亚人，享年84岁，他打破英国科学界和政界和科学界之间的边界，并让他们都考虑到他们所服务的公众。他横跨三大洲的科学研究生涯确保了他的生态模型在法医学上的发展和其清晰表述在国际上具有的影响力。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
60年代末，作为物理学教授，他加入了一个关注人类对环境影响的社会责任科学家小组。围绕这一主题的阅读使他开始从事有关稳定性和多样性的工作，并从物理学转向生态学。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅在1973年首次崭露头角，当时他挑战了传统观点，即相对于包含许多不同物种的复杂生态系统，更简单的生态系统，如通过商业农业发展起来的单一栽培，更容易崩溃。这体现在他的书《模型生态系统的稳定性和复杂性 [https://www.nature.com/articles/261459a0 Simple mathematical models with very complicated dynamics]》中&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
这理论挑战引发了大量的实地研究，得出的结论是，在现实世界中，不同的系统通常更稳定，但这种稳定主要取决于群落中各种关系(如捕食者和猎物)的性质。即使是像热带雨林和珊瑚礁这样的多样化环境，在没有进化到可以承受的变化面前，仍然是高度脆弱的。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
接下来，他从数学的角度探究了为什么一个特定物种的个体数量每年都可能发生变化，而且往往是不可预测的。他指出，相对恒定的数量，周期性的繁荣和衰退，或不可预测的剧烈波动，都可以用同一个方程来解释，即所提到的逻辑斯谛克映射。在初始条件下，比如动物的数量或繁殖率，只有很小的变化。这是混沌论在生物学中最早的应用之一。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
尽管梅喜欢这些谜题本身，但他坚信科学家有责任为科学而工作。随着20世纪80年代艾滋病危机的到来，他开始研究感染的传播。他与伦敦帝国理工学院的罗伊•安德森’’’Roy Anderson’’’合作开发的一个模型准确地预测了艾滋病毒在社区的快速传播，在那里，与多个性伴侣发生接触是常态。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===金融===&lt;br /&gt;
&lt;br /&gt;
到2008年金融危机爆发时，罗伯特·梅已经开始与同事们就银行体系的稳定性展开合作。他们在雷曼兄弟 Lehman Brothers 倒闭前7个月发表在《自然 Nature》杂志上的一篇评论文章《银行家的生态学 Ecology for Bankers》解释了生态模型如何暴露金融体系中的漏洞，并提出了缓解这些漏洞的方法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===复杂系统===&lt;br /&gt;
&lt;br /&gt;
罗伯特·梅的动力来自于找到生态系统的大统一理论，[[圣塔菲研究所 Santa Fe Institute]]科学委员会成员、普林斯顿大学 Princeton University 著名的生态学和进化生物学教授、梅的合作者西蒙·莱文 Simon Levin说。“他的观点是，系统之间存在相似性，而这些相似性可以帮助我们发展统一的理论。”&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
这种对复杂系统的理解有助于跨领域和跨学科的工作。'''[[圣塔菲研究所 Santa Fe Institute]]'''负责科学的副院长詹妮弗·邓恩 Jennifer Dunne指出，虽然罗伯特·梅不是[[圣塔菲研究所 Santa Fe Institute]]的创始人之一，“但他帮助创建了通向[[圣塔菲研究所 Santa Fe Institute]]的学术环境。”罗伯特梅是[[圣塔菲研究所 Santa Fe Institute]]科学委员会的长期成员和前任顾问委员会的负责人。&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=Australian Institute of Building |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;&amp;gt;{{cite web|title=List of Fellows|url=http://www.raeng.org.uk/about-us/people-council-committees/the-fellowship/list-of-fellows|website=raeng.org.uk|publisher=Royal Academy of Engineering}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
&lt;br /&gt;
[[File:MAY.jpg|400px|缩略图|右|2000年至2005年担任英国皇家学会(Royal Society)主席的梅勋爵(Lord May)于2004年出席了该学会在伦敦的总部]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
曾担任英国政府的首席科学顾问、英国皇家学会主席、悉尼大学和普林斯顿大学的教授，曾在牛津大学和伦敦帝国理工学院担任联合教授。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
英国上议院的一名议员、是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 梅与圣塔菲 ===&lt;br /&gt;
&lt;br /&gt;
科学委员会成员，普林斯顿大学生态学和进化生物学 James s. McDonnell 杰出教授，同时也是梅的合作者 Simon Levin 说:。“他的动力来自于这样一种观点，即系统之间存在相似之处，而这些相似之处可以帮助我们发展统一的理论。”&lt;br /&gt;
&lt;br /&gt;
这种对理解复杂系统的承诺有助于梅跨领域工作并超越学科。[[圣塔菲研究所 Santa Fe Institute]]科学副主席 Jennifer Dunne 指出，虽然梅不是[[圣塔菲研究所 Santa Fe Institute]]的创始人之一，但是他帮助创造了[[圣塔菲研究所 Santa Fe Institute]]，梅是[[圣塔菲研究所 Santa Fe Institute]]科学委员会的资深成员和前任顾问委员会的负责人，也是2012年斯坦尼斯拉夫·乌拉姆纪念讲座系列的主讲人。&lt;br /&gt;
&lt;br /&gt;
“他非常支持研究所，一直是一个意见坚定的人，一股新鲜空气自由散发着适当的咒骂，”杰出的山南教授和前任主席[[杰弗里·韦斯特]]说，他认为梅是[[圣塔菲研究所 Santa Fe Institute]]“第二波创始人”的一部分。“我会怀念和他活跃的对话和友谊。 巨大的损失。”&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
[[File:species.png|200px|缩略图|右|甲壳虫数目的粗略估计：每一个交叉口的高度与不同身体尺寸的甲壳虫数目成正比]]&lt;br /&gt;
*《地球上有多少物种 [http://www.life.illinois.edu/ib/451/May%20(1988).pdf How Many Species are There on Earth?]》 Robert M. May, Science, New Series, Vol. 241, No. 4872. (Sep. 16, 1988), pp. 1441-1449.&lt;br /&gt;
:: 本文章就标题中的问题给出回答，同时对影响生物多样性的各种因素进行了总结。其中包括：食物网的结构，物种相对丰富度，物种数目，个体在不同纲目中的不同身体尺寸以及有机物的共性和稀有性的决定性作用。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
* 《人类传染病：动态和控制 [https://global.oup.com/academic/product/infectious-diseases-of-humans-9780198540403?cc=us&amp;amp;lang=en&amp;amp; Infectious Diseases of Humans: Dynamics and Control]》 by Roy M. Anderson and Robert M. May (1992)，引用量： 12909。&lt;br /&gt;
::这本书涉及传染病:病毒、细菌、原生动物和蠕虫在它们与宿主种群相互作用的动力学。 书结合数学模型与广泛使用流行病学和其他数据。 这一分析框架对于评价旨在控制或根除特定感染的公共卫生战略非常有用。 鉴于针对麻疹、疟疾、河盲症、非洲锥虫病和血吸虫病等疾病的初级卫生保健计划受到广泛关注，以及艾滋病 / 艾滋病毒和其他新出现病毒的出现，这样一个框架变得越来越重要。 这本书分为两部分，一部分是关于微寄生虫(病毒，细菌和原生动物) ，另一部分是关于大寄生虫(蠕虫和寄生节肢动物)。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:stability.jpg|200px|缩略图|右|[https://www.amazon.com/Stability-Complexity-Ecosystems-Princeton-Landmarks/dp/0691088616 生态系统模型的稳定性和复杂性]]]&lt;br /&gt;
*《模拟生态系统中的稳定性和复杂性 [https://press.princeton.edu/books/paperback/9780691088617/stability-and-complexity-in-model-ecosystems Stability and Complexity in Model Ecosystems]》 Robert M. May, Princeton University Press; Reprint (2001年4月1日)，被引用8721次。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
::是什么使人口稳定？ 是什么使它们产生波动？ 复杂生态系统中的种群是否比简单生态系统中的种群更稳定？ 1973年，罗伯特 · 梅在这本经典著作中阐述了这些问题。 他研究了族群动态的数学根源，并提出了与当前大多数生物学思想相反的观点，即复杂的生态系统本身并不能导致种群的稳定。 模型生态系统中的稳定性和复杂性在引入非线性数学模型和将确定性混沌理论引入生态学中起到了关键作用，这一作用在詹姆斯 · 格雷克的《混沌》一书中有详细。 自从这本书首次出版以来的四分之一个世纪里，它所传达的信息越来越强大。 非线性模型现在是生态思维的中心，当前对生物多样性的威胁使得关于生态系统复杂性的作用的问题比以往任何时候都更加重要。 在新的序言中，作者阐述了自该书首次出版以来席卷生物学和生物学界的一些变化。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
* 《具有复杂动态的简单数学模型 [https://www.nature.com/articles/261459a0 Simple mathematical models with very complicated dynamics]》 Robert M. May(1976), Nature  引用量7612次。&lt;br /&gt;
:: 一阶差分方程在生物、经济和社会科学的许多领域都有出现。 这样的方程，即使是简单的和确定性的，也可以表现出一系列令人惊讶的动力学行为，从稳定点，到稳定循环的分叉层次，再到明显的随机波动。 因此就产生了许多引人入胜的问题，有些涉及到轨迹精细结构的精密数学方面，有些涉及到实际意义和应用。 这是对它们的解释性回顾。&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 研究动向 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 生态学 ===&lt;br /&gt;
著有《模拟生态系统中的稳定性和复杂性》实则是挑战了一种传统观念：即简单的生态系统，比如通过商业耕作发展起来的单一种植模式，比包含许多不同物种的更复杂的生态系统更容易崩溃，该书用表明，在一个多物种竞争资源的系统中，物种越多，系统作为一个整体就越不稳定。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 传染病研究 ===&lt;br /&gt;
&lt;br /&gt;
随着20世纪80年代艾滋病危机的到来，他转向研究感染的传播。 他与伦敦帝国理工学院的罗伊·安德森共同开发的一个模型准确地预测了艾滋病毒在与多个性伴侣接触成为常态的社区中的快速传播。&lt;br /&gt;
[[File:HIV spread.png|300px|thumb|center|HIV的快速传播]]&lt;br /&gt;
在2001年的英国皇家学会关于艾滋病病毒起源的会议上， 他们的报告《病毒动力学: 免疫学和病毒学的数学原理 [https://www.researchgate.net/publication/48378467_Virus_Dynamics_Mathematical_Principles_of_Immunology_And_Virology Virus Dynamics: Mathematical Principles of Immunology And Virology]》中提到：如果病毒在一个村庄内和村庄外平均传播，这将导致病毒在一个村庄内灭绝，并产生连锁反应，随着病毒从其最初的“壁炉”传播，流行率将越来越低。 这种病毒会在一个新的村庄建立一个立足点，然后因为伴侣更换率低而消失，如果居民在其他地方寻找伴侣，病毒就会传播到其他村庄，如此类推。这种影响将导致病毒最初达到高峰，随后在几十年中缓慢下降，然后才进入性伙伴变化率高的地理集中人口——例如1970年代金沙萨的城市条件。 罗伯特·梅的团队估计，如果繁殖率(每个病例感染的个体数量)仅略高于1，则延迟时间为30至40年。&lt;br /&gt;
&lt;br /&gt;
在1992年出版的《人类的传染病》一书仍然是公共卫生学生和专业人士的必读书目。&lt;br /&gt;
&lt;br /&gt;
梅和其妻子安德森及时发表了有影响力的研究报告。英国的大规模疫情激发了他们研究牛海绵状脑病的灵感，随后他们开始关注2002年爆发的口蹄疫。这两位研究人员率先模拟了艾滋病毒在人群中的传播，以及不同性行为或使用静脉注射药物的人群之间的传播。他们的病毒、细菌和原生动物病原体模型被用于指导人群水平的疫苗接种，并已用于抗击非洲埃博拉疫情。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 金融学 ===&lt;br /&gt;
&lt;br /&gt;
2011年，他与英国央行 Bank of England 首席经济学家安迪•霍尔丹 Andy Haldane 合著了一篇颇具影响力的论文，题为《银行生态系统的系统性风险 [https://www.researchgate.net/publication/49768618_Systemic_Risk_in_Banking_Ecosystems Systemic Risk in Banking Ecosystems]》(Systemic risk）。 一年后，梅在“当今复杂金融体系中的稳定性是什么? ”的公开演讲中分享了这些见解：通过与生态食物网的动力学和传染病传播的网络进行类比，探索了在故意简化的金融网络模型中复杂性和稳定性之间的相互作用。解释了生态模型如何暴露系统的弱点，并提出了缓解这些弱点的方法。其明确目标是最小化系统性风险。这是斯坦尼斯拉夫 · 乌拉姆三次纪念讲座中的第二次，题为“复杂性的多面性”。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:risk bank.png|300px|thumb|center|分析：最近美国金融体系的规模和集中程度有所上升。 这一数字表明，自1999年取消《格拉斯-斯蒂格尔法案》限制以来，美国银行系统内的资产集中显著增加。 红线代表格拉姆-里奇-布利利法案(1999年) ，该法案废除了格拉斯-斯蒂格尔法案的限制。 数据只包括被保险的银行存款子公司，以确保随着时间的推移一致性; 例如，非存款子公司不包括在内。 数据来自联邦存款保险公司。]]&lt;br /&gt;
&lt;br /&gt;
===生物学与分叉===&lt;br /&gt;
[[File:chaos1.jpg|300px|thumb|right|混沌 chaos]]&lt;br /&gt;
梅不是一个典型的生物学家，漫步在田野和森林中，为生物编目。 相反，他使用数学技术来模拟动物种群在一定的起始条件下如何随着时间的推移而变化。 他的工作使他得到了一个有用的公式，即逻辑差分方程  logistic difference equation，这个公式使他能够很好地预测动物数量。 这个等式看起来是这样的:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_{n+1}=r x_n(1-x_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; 等于驱动参数，也就是导致种群变化的因素，而 &amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 代表种群数量。 为了使用这个方程，你需要从一个固定的&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt; 值和一个初始值 &amp;lt;math&amp;gt; x&amp;lt;/math&amp;gt;  开始。 然后迭代运行这个方程，得到&amp;lt;math&amp;gt; x_1，x_2，x_3 &amp;lt;/math&amp;gt; 的值，一直到&amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 。当梅在20世纪70年代早期研究这个方程式时，他开始得到混淆的结果。 当驱动参数&amp;lt;math&amp;gt; r &amp;lt;/math&amp;gt;保持较低时，一切正常——总体稳定在一个单一的值上。 但当驱动参数爬升得越来越高时，结果却是一片混乱。梅咨询了他的朋友、马里兰大学学院市分校的数学教授 James Yorke。 大约在同一时间，约克在《大气科学杂志 the Journal of the Atmospheric Sciences》上看到了洛伦茨的论文，他认为天气和动物数量的变化之间可能存在联系。 他运用逻辑差分方程，并对其进行了计算。结果也是出现&amp;lt;math&amp;gt; x_n &amp;lt;/math&amp;gt; 的值来回震荡。1975年，Yorke 和合著者 t.y. Li 总结了他们的发现[http://www.its.caltech.edu/~matilde/LiYorke.pdf 第三阶段意味着混乱 Period Three Implies Chaos ] ，这是一篇里程碑式的论文，向世界介绍了术语'''“混乱 Chaos”'''和“混乱”行为。 在逐步研究逻辑差分方程的数学过程中，他重申了庞加莱 Poincaré和洛伦兹 Lorenz已经发现的东西---- 即使是由相对简单的方程控制的简单系统也可能产生非常复杂、不可预测的行为。 但他也在他的分叉图中瞥见了秩序。 当他仔细观察它们时，他可以看到模式和可重复性。 当时的其他科学家，比如 benot Mandelbrot，也看到了类似的情况。（详可参见[[曼德布洛特集 Mandelbrot set]]）&lt;br /&gt;
&lt;br /&gt;
这是混沌理论在生物学上的第一个应用。&lt;br /&gt;
&lt;br /&gt;
===昆虫学 zoology===&lt;br /&gt;
他协助澳大利亚科学部长彼得 · 麦高兰发行了三本 CSIRO 出版物：《叩击甲虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
[[File:学术家族树.png|400px|缩略图|右|学术家族树]]&lt;br /&gt;
=== 博士生导师===&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, 悉尼大学&lt;br /&gt;
&lt;br /&gt;
=== 学生： ===&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  UCSD&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  Unversity of Arizona&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  Clark University&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  Harvard University&lt;br /&gt;
&lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
=== 马丁·安德里亚斯·诺瓦克 Martin Andreas Nowak  ===&lt;br /&gt;
&lt;br /&gt;
马丁·安德里亚斯·诺瓦克 Martin Andreas Nowak（生于1965年4月7日）是哈佛大学生物学与数学教授，兼进化动力学主任。&lt;br /&gt;
&lt;br /&gt;
'''合作文章'''&lt;br /&gt;
&lt;br /&gt;
''Virus dynamics: mathematical principles of immunology and virology: mathematical principles of immunology and virology''&lt;br /&gt;
&lt;br /&gt;
主要内容：这本书开创性地描述了理论免疫学的新兴领域，特别是使用数学模型描述了传染病在患者体内的传播。它揭示了对病毒和其他感染的动态以及传染原与免疫反应之间相互作用的有趣见解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 乔治·杉原 George Sugihara ===&lt;br /&gt;
&lt;br /&gt;
乔治·杉原 George Sugihara （出生于日本东京）目前是斯克里普斯海洋学研究所-物理海洋学研究部的生物海洋学教授，他是McQuown自然科学的首任主席。他作为理论生物学家，曾在生态学、景观生态学、流行病学、遗传学、地球科学和大气科学、定量金融、经济学等多个领域工作。&lt;br /&gt;
&lt;br /&gt;
'''成果'''&lt;br /&gt;
&lt;br /&gt;
''Applications of fractals in ecology''&lt;br /&gt;
&lt;br /&gt;
分形模型描述了各种自然物体的几何形状，例如海岸线、岛屿链、珊瑚礁、卫星彩色海洋影像、植被斑块等。以改进的扩散模型的形式投射，它们可以模仿具有不同类型形态复杂性的自然景观和人造景观。本文简要介绍了分形，并接受了生态学家如何使用它们来回答生态系统中有关尺度、测度和分层的各种基本问题。&lt;br /&gt;
&lt;br /&gt;
=== 塞巴斯蒂安·邦霍弗 Sebastian Bonhoeffer ===&lt;br /&gt;
&lt;br /&gt;
自2005年7月1日起，塞巴斯蒂安·邦霍弗 Sebastian Bonhoeffer 任苏黎世联邦理工学院理论生物学的正教授。他的研究集中在使用种群生物学模型来理解基本生物学过程。他广泛研究并描述了受感染个体内病毒感染的种群动态的数学模型，为病毒感染尤其是HIV感染的发病机理提供了重要的见识。&lt;br /&gt;
&lt;br /&gt;
'''成果'''&lt;br /&gt;
&lt;br /&gt;
''Virus dynamics and drug therapy''&lt;br /&gt;
&lt;br /&gt;
本文主要讨论了对病毒种群动态的新兴理解，免疫系统在限制病毒丰度方面的作用，病毒耐药性的动态以及是否可以通过药物治疗消除病毒感染的问题。&lt;br /&gt;
&lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
=== 牛津大学梅勋爵讣告  Lord May of Oxford obituary  ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
如果你问牛津大学的梅勋爵鲍勃 · 梅，他对科学兴趣的折衷主义是怎么回事，他会说他喜欢玩游戏和解决谜题。 他对游戏的看法绝不是无聊的: 对他来说，数学“不多也不少，就是对某事进行非常清晰的思考”。 他选择考虑的是复杂的系统: 从建立不同生态系统中物种生存的模型，到艾滋病的传播，再到后来的全球金融稳定性。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
从1995年到2000年，作为政府的首席科学顾问，他动摇了政治家和科学界之间的边界，让他们思索考虑到他们所服务的公众。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
虽然梅喜欢这些谜题是为了他们自己，但他坚信科学家有责任为社会的利益而工作。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
尽管梅公开表示不喜欢行政管理，但实际上，她曾担任新泽西州普林斯顿大学 Princeton 研究委员会主席数年(实际上是负责研究的副主席) ，并担任自然历史博物馆 Natural History Museum 和联合自然保护委员会 Joint Nature Conservancy Council 的董事会。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在60年代后期，作为物理学教授，他加入了一个关注人类对环境影响的科学家社会责任小组。 围绕这一主题的阅读促使他从事稳定性和多样性方面的工作，并从物理学转向生态学。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
到2008年金融危机爆发时，梅已经开始与同事合作，致力于维护银行体系的稳定。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
不管玩什么游戏（他喜欢下棋和打桥牌）梅都会赢。直到70多岁的时候，人们还能看到他和他的朋友、动物学家同事、公务员约翰·克雷布斯一起在牛津的纤道上或公园里跑步。在时而粗暴的外表下，梅是一个有着深厚人性和坚定正直的人。&lt;br /&gt;
&lt;br /&gt;
=== 英国皇家学会主席评价 President of the Royal Society comments on death of The Lord May of Oxford, Robert May OM AC Kt HonFREng FRS  ===&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
罗伯特·梅是一个非凡的人，他将自己的才华投入到每一个领域，推动了巨大的变革: 作为一个理论生态学家的研究，作为英国政府的首席科学顾问的政治，以及作为皇家学会主席的研究。梅是一个天生的沟通者，他利用一切可能的渠道来分享他的信息，即科学和理性应该成为社会的核心，他这样做的热情追求与该协会的创始成员产生了共鸣&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
*[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
*[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
*[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
*[https://www.santafe.edu/news-center/news/memoriam-robert-may 圣塔菲研究所关于May的讣告]&lt;br /&gt;
&lt;br /&gt;
*[[Logistic映射]]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:生态稳定.jpg|右|400px|thumb|[https://swarma.org/?p=12611 对于生态系统稳定性，互惠合作到底是利是弊？]]]&lt;br /&gt;
[[File:非线性动力学与混沌.png|400px|right|thumb|[https://campus.swarma.org/course/697 非线性动力学与混沌]]]&lt;br /&gt;
===集智文章推荐===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=12611 对于生态系统稳定性，互惠合作到底是利是弊？]====&lt;br /&gt;
自然界中多样、复杂的生态系统，通常会因为它们所拥有的物种之间丰富的相互作用而更为稳定。然而在模拟中，模型生态系统通常会随着物种间相互作用的增强和增多而变得不稳定。研究人员正逐渐理解这种差异背后的原因。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/697 非线性动力学与混沌]====&lt;br /&gt;
非线性动力学和混沌理论是系统发展的，从一阶微分方程及其分岔开始，然后是相平面分析，极限环和它们的分岔，最终得到Lorenz方程，混沌，迭代映射，周期倍增，重整化，分形和奇怪吸引子。Steven Strogatz对非线性动力学和混沌进行了详细的讲解，强调分析方法、具体实例和几何直觉。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]、[[用户:费米子|费米子]]参与编译，[[用户:Liushikang1992|Liushikang1992]]审校，[[用户:费米子|费米子]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;br /&gt;
[[Category:生态学]]&lt;br /&gt;
[[Category:混沌]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5939</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5939"/>
		<updated>2020-04-29T15:02:20Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学术家族树 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
During his postdoctoral research at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,[1] a native of Manhattan.[23][24] The Mays had a daughter, Naomi.[23]&amp;lt;br&amp;gt;&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner 。菲纳是土生土长的曼哈顿人。还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
&lt;br /&gt;
[[File:species.png|300px|缩略图|右|甲壳虫数目的粗略估计：每一个交叉口的高度与不同身体尺寸的甲壳虫数目成正比]]&lt;br /&gt;
*[http://www.life.illinois.edu/ib/451/May%20(1988).pdf How Many Species are There on Earth?] Robert M. May&lt;br /&gt;
Science, New Series, Vol. 241, No. 4872. (Sep. 16, 1988), pp. 1441-1449.&lt;br /&gt;
:: 本文章就标题中的问题给出回答，同时对影响生物多样性的各种因素进行了总结。其中包括：食物网的结构，物种相对丰富度，物种数目，个体在不同纲目中的不同身体尺寸以及有机物的共性和稀有性的决定性作用。&lt;br /&gt;
&lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
&lt;br /&gt;
博士生导师：&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, University of Sydney&lt;br /&gt;
&lt;br /&gt;
学生：&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  UCSD&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  Unversity of Arizona&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  Clark University&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  Harvard University&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:学术家族树.png|有框|学术家族树]][File:name|400px]&lt;br /&gt;
&lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5938</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5938"/>
		<updated>2020-04-29T15:00:12Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学生 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
During his postdoctoral research at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,[1] a native of Manhattan.[23][24] The Mays had a daughter, Naomi.[23]&amp;lt;br&amp;gt;&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner 。菲纳是土生土长的曼哈顿人。还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
&lt;br /&gt;
[[File:species.png|300px|缩略图|右|甲壳虫数目的粗略估计：每一个交叉口的高度与不同身体尺寸的甲壳虫数目成正比]]&lt;br /&gt;
*[http://www.life.illinois.edu/ib/451/May%20(1988).pdf How Many Species are There on Earth?] Robert M. May&lt;br /&gt;
Science, New Series, Vol. 241, No. 4872. (Sep. 16, 1988), pp. 1441-1449.&lt;br /&gt;
:: 本文章就标题中的问题给出回答，同时对影响生物多样性的各种因素进行了总结。其中包括：食物网的结构，物种相对丰富度，物种数目，个体在不同纲目中的不同身体尺寸以及有机物的共性和稀有性的决定性作用。&lt;br /&gt;
&lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
&lt;br /&gt;
博士生导师：&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, University of Sydney&lt;br /&gt;
&lt;br /&gt;
学生：&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  UCSD&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  Unversity of Arizona&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  Clark University&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  Harvard University&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:学术家族树.png|有框|学术家族树]]&lt;br /&gt;
&lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5935</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5935"/>
		<updated>2020-04-29T14:56:54Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学术家族树 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
During his postdoctoral research at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,[1] a native of Manhattan.[23][24] The Mays had a daughter, Naomi.[23]&amp;lt;br&amp;gt;&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner 。菲纳是土生土长的曼哈顿人。还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
&lt;br /&gt;
博士生导师：&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, University of Sydney&lt;br /&gt;
&lt;br /&gt;
学生：&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  UCSD&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  Unversity of Arizona&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  Clark University&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  Harvard University&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:学术家族树.png|有框|学术家族树]]&lt;br /&gt;
&lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5934</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5934"/>
		<updated>2020-04-29T14:56:38Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学术家族树  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
During his postdoctoral research at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,[1] a native of Manhattan.[23][24] The Mays had a daughter, Naomi.[23]&amp;lt;br&amp;gt;&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner 。菲纳是土生土长的曼哈顿人。还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 学术家族树 ==&lt;br /&gt;
&lt;br /&gt;
 博士生导师：&lt;br /&gt;
&lt;br /&gt;
Robbie Schafroth, University of Sydney&lt;br /&gt;
&lt;br /&gt;
学生：&lt;br /&gt;
&lt;br /&gt;
George Sugihara,  UCSD&lt;br /&gt;
&lt;br /&gt;
Joanna Masel,  Unversity of Arizona&lt;br /&gt;
&lt;br /&gt;
Todd P. Livdahl,  Clark University&lt;br /&gt;
&lt;br /&gt;
Martin Nowak,  Harvard University&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:学术家族树.png|有框|学术家族树]]&lt;br /&gt;
&lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5933</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5933"/>
		<updated>2020-04-29T14:52:59Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 学术家族树 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
During his postdoctoral research at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,[1] a native of Manhattan.[23][24] The Mays had a daughter, Naomi.[23]&amp;lt;br&amp;gt;&lt;br /&gt;
1959年至1961年，罗伯特·麦克雷迪·梅在哈佛大学工程与应用物理系担任Gordon MacKay戈登·麦凯应用数学讲师，遇到了他的妻子朱迪斯•菲纳 Judith Feiner 。菲纳是土生土长的曼哈顿人。还有一个女儿娜奥美 Naomi。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
Robbie Schafroth 悉尼大学&lt;br /&gt;
&lt;br /&gt;
[[文件:学术家族树.png|有框|学术家族树]]&lt;br /&gt;
&lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E6%96%87%E4%BB%B6:%E5%AD%A6%E6%9C%AF%E5%AE%B6%E6%97%8F%E6%A0%91.png&amp;diff=5931</id>
		<title>文件:学术家族树.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E6%96%87%E4%BB%B6:%E5%AD%A6%E6%9C%AF%E5%AE%B6%E6%97%8F%E6%A0%91.png&amp;diff=5931"/>
		<updated>2020-04-29T14:52:19Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;学术家族树&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5930</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5930"/>
		<updated>2020-04-29T14:49:05Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 相关链接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
Robbie Schafroth 悉尼大学&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
&lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://academictree.org/evolution/tree.php?pid=36381  罗伯特·梅的学术家族树]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5928</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5928"/>
		<updated>2020-04-29T14:48:45Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 博士生导师 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
Robbie Schafroth 悉尼大学&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
&lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5926</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5926"/>
		<updated>2020-04-29T14:39:48Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 参考文献 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5925</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5925"/>
		<updated>2020-04-29T14:36:13Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 相关链接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5924</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5924"/>
		<updated>2020-04-29T14:35:07Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 相关链接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
==职业生涯==&lt;br /&gt;
&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&amp;lt;br&amp;gt;&lt;br /&gt;
Early in his career, May developed an interest in animal population dynamics and the relationship between complexity and stability in natural communities.[13][14] He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of theoretical ecology through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of biodiversity.&amp;lt;br&amp;gt;&lt;br /&gt;
在罗伯特·梅的早期职业生涯中，梅对动物种群动态变化以及自然群落的复杂性和稳定性之间的关系产生了兴趣。他将数学知识运用到人口生物学领域，并取得了重大进展。其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。&lt;br /&gt;
罗伯特·梅的著作在20世纪七八十年代理论生态学的发展中起到了关键作用。他还将这些数学研究工具应用于疾病的研究和生物多样性的研究。&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]）补充了逻辑斯谛克映射的部分 补充内容：“其中较为突出的研究是[[逻辑斯谛克映射]]，该映射是一个二次多项式映射。罗伯特·梅在1976年的一篇论文中推广了这一映射，它在一定程度上是一个时间离散的人口统计模型，类似于皮埃尔·弗朗索瓦·韦胡斯特 Pierre Francois Verhulst 首次提出的逻辑方程。”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at Harvard University (1959–61) and returned to the University of Sydney (1962) as senior lecturer, reader, and professor (1969–72) in theoretical physics. From 1973 until 1988, he was Class of 1977 Professor of Zoology at Princeton University, serving as chairman of the University Research Board 1977–88. From 1988 until 1995, he held a Royal Society Research Professorship jointly at Imperial College London and the University of Oxford, where became a Fellow of Merton College, Oxford and a Master of Arts.[when?] He was Chief Scientific Adviser to HM Government and head of the Office of Science and Technology (1995–2000), and president of the Royal Society (2000–2005).&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅是哈佛大学应用数学的戈登·麦凯讲师 Gordon MacKay Lecturer(1959-1961)，后来回到悉尼大学(1962)担任理论物理学的高级讲师、读者和教授(1969-72)。从1973年到1988年，成为普林斯顿大学1977级动物学的任课教授，1977 - 1988年担任普林斯顿大学研究委员会主席。从1988年到1995年，他在伦敦帝国理工学院和牛津大学联合担任英国皇家学会的研究教授，并成为牛津大学默顿学院的研究员和文学硕士。他是英国皇家科学院主要的科学顾问。（2000-2005）&lt;br /&gt;
  --[[用户:趣木木|趣木木]]（[[用户讨论:趣木木|讨论]]） 关键字戈登·麦凯讲师  Gordon MacKay Lecturer 需要再核实一下 没有找到相关的解释&lt;br /&gt;
&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&amp;lt;br&amp;gt;&lt;br /&gt;
May held subsidiary appointments as executive trustee of the Nuffield Foundation, member of the board of the United Kingdom Sports Institute, foundation trustee of the Gates Trust (University of Cambridge), chairman of the board of trustees of the Natural History Museum, trustee of the Royal Botanic Gardens, Kew, independent member of the Joint Nature Conservation Committee, trustee of World Wildlife Fund-UK, president of the British Ecological Society, and member of the Committee on Climate Change.&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·梅获委任为纳菲尔德基金会执行受托人，英国体育学院董事会成员，盖茨信托基金受托人(剑桥大学)，美国自然历史博物馆董事会主席，英国皇家植物园的受托人（处于裘园），联合自然保育委员会独立委员，英国世界野生动物基金会理事，英国生态学会主席，气候变化委员会成员。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&amp;lt;br&amp;gt;&lt;br /&gt;
In 1996, May asked Ig Nobel to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see Criticism of Ig Nobel).&amp;lt;br&amp;gt;&lt;br /&gt;
1996年，梅要求搞笑诺贝尔奖停止向英国科学家颁奖，因为这可能导致公众不那么严肃地对待有价值的研究(参见对搞笑诺贝尔奖的批评)。'''搞笑诺贝尔奖 gNobel Prizes''' 是对诺贝尔奖的有趣模仿。其名称来自Ignoble（不名誉的）和Nobel Prize（诺贝尔奖）的结合。&lt;br /&gt;
==研究领域==&lt;br /&gt;
===气候变化合作===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Although an atheist since age 11, May stated that religion may help society deal with climate change. While referring to what he believed to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.[15]&amp;lt;br&amp;gt;&lt;br /&gt;
尽管梅从11岁起就是无神论者，但它表示，宗教可能有助于社会应对气候变化。在谈到他所认为的原教旨主义宗教的僵硬结构时，他说非原教旨主义宗教的合作方面实际上可能有助于研究气候变化。当被问及宗教领袖是否应该做更多的工作来说服人们应对气候变化时，他表示这是绝对必要的。&lt;br /&gt;
&lt;br /&gt;
===生物进化与生态学===&lt;br /&gt;
罗伯特·梅感兴趣于流行病学(非临床)、生态学(包括行为生态学)、环境生物学、生物模型、进化、种群遗传学。&lt;br /&gt;
&lt;br /&gt;
===数学===&lt;br /&gt;
罗伯特·梅研究于应用数学和理论物理领域。&lt;br /&gt;
&lt;br /&gt;
===健康及人文科学===&lt;br /&gt;
罗伯特·梅在经济学方面也有研究。&lt;br /&gt;
===其他===&lt;br /&gt;
Science policy科学政策&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
===[ 生态群体动态 dynamics of ecological groupings]===&lt;br /&gt;
===[昆虫学 zoology]===&lt;br /&gt;
代表性著作：《点击甲壳虫 Click Beetles》, 《澳大利亚鳞翅目昆虫名录 A Checklist of the Lepidoptera of&lt;br /&gt;
Australia》、《 蛾类名录 II Oecophorine Genera II (moths)》&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5918</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5918"/>
		<updated>2020-04-29T14:24:56Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 相关链接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
== 研究领域 ==&lt;br /&gt;
 &lt;br /&gt;
//取得成就的研究领域&lt;br /&gt;
&lt;br /&gt;
==Career and research==&lt;br /&gt;
===Early career===&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&lt;br /&gt;
&lt;br /&gt;
===Public life===&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&lt;br /&gt;
&lt;br /&gt;
===Climate change co-operation===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
==Personal life==&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford 维基主页]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=ScXat-4AAAAJ&amp;amp;hl=zh-CN 谷歌学术个人主页]&lt;br /&gt;
&lt;br /&gt;
[https://www.science.org.au/learning/general-audience/history/interviews-australian-scientists/lord-robert-may-physicist-and 罗伯特·梅接受专访，畅谈精彩人生]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20040407031635/http://www.af-info.or.jp/eng/honor/hot/enr-may.html Profile of Robert May: the Recipient of the 2001 Blue Planet Prize ]&lt;br /&gt;
*[https://web.archive.org/web/20050315035945/http://www.commondreams.org/headlines05/0307-03.htm Bush Accused of &amp;quot;Fiddling While World Burns&amp;quot; by Ignoring Climate Change]&lt;br /&gt;
*[https://www.theguardian.com/Archive/Article/0,4273,3907246,00.html A commentary on Robert May's request to Ignobel by the Guardian]&lt;br /&gt;
*[http://royalsociety.org/publication.asp?year=2005&amp;amp;id=2181 Speech made at the end of Lord May's presidency of the Royal Society]&lt;br /&gt;
*[http://www.bbc.co.uk/worldservice/documentaries/2009/05/090513_theforum_030509.shtml Audio: Robert May in conversation on the BBC World Service discussion show] [[The Forum (BBC World Service)|''The Forum'']]&lt;br /&gt;
*{{YouTube|oi_Ss4WmZTY|Video: Interview with Cambridge University Television following the 2011 Darwin College Lecture Series}}&lt;br /&gt;
*[http://www.aib.org.au The Australian Institute of Building ]&lt;br /&gt;
*[http://abel.harvard.edu/archive/118r_spring_05/docs/may.pdf abel.harvard.edu]&lt;br /&gt;
&lt;br /&gt;
=== 视频 ===&lt;br /&gt;
 &lt;br /&gt;
[视频网址 视频名称]：视频主题&lt;br /&gt;
//可展开说明视频的重点内容、影响、背后的故事等等。&lt;br /&gt;
 &lt;br /&gt;
=== 更多信息 ===&lt;br /&gt;
 &lt;br /&gt;
[网址 名称]&lt;br /&gt;
//可以是wiki词条地址、百度百科、人物个人主页或博客主页等。&lt;br /&gt;
&lt;br /&gt;
[[category:使用说明]][[category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5917</id>
		<title>罗伯特·梅</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%A2%85&amp;diff=5917"/>
		<updated>2020-04-29T14:09:34Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 联系方式 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;大家好，很不幸，我们看到消息说 Robert May 可能去世了。他是著名的数学家和非线性科学家，理论生态学的开路先驱。他最早提出了离散混沌系统的 Logistic 映射，最早定义生物领域的混沌，我们的公众号计划推一下这个讣告，百科计划为他建立个人主页，个人主页的模板是 https://wiki.swarma.org/index.php?title=%E4%BA%BA%E7%89%A9%E6%A8%A1%E6%9D%BF&lt;br /&gt;
&lt;br /&gt;
参考资料有：&lt;br /&gt;
https://royalsociety.org/people/robert-may-11914/&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Robert_May,_Baron_May_of_Oxford&lt;br /&gt;
&lt;br /&gt;
大家有没有兴趣做一个快速翻译。&lt;br /&gt;
&lt;br /&gt;
优秀的模板案例：[[克劳德·艾尔伍德·香农 Claude Elwood Shannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 基本信息+研究领域 &lt;br /&gt;
&lt;br /&gt;
* 就职企业+主要文章及著作&lt;br /&gt;
&lt;br /&gt;
* 研究课题(王淑慧)&lt;br /&gt;
&lt;br /&gt;
* 其他&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 基本信息 ==&lt;br /&gt;
[[File:Robert May.png | 500px | left]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 类别 !! 信息&lt;br /&gt;
|-&lt;br /&gt;
| 姓名 || 罗伯特·梅 Robert May&lt;br /&gt;
|-&lt;br /&gt;
| 出生日期 || 1936年1月8日[1]&amp;lt;ref name=whoswho&amp;gt;{{Who's Who | surname = MAY OF OXFORD | othernames = Baron | id = U27082 | volume = 2017 | edition = online [[Oxford University Press]]|location=Oxford}} {{subscription required}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 出生地 || Sydney, New South Wales, Australia 澳大利亚新南威尔士州悉尼&lt;br /&gt;
|-&lt;br /&gt;
| 死亡日期 || 2020年4月28日(84岁)&lt;br /&gt;
|- &lt;br /&gt;
| 国籍  || 澳大利亚&lt;br /&gt;
|-&lt;br /&gt;
|居住地 || 英国&lt;br /&gt;
|-&lt;br /&gt;
| 母校  || 悉尼大学 University of Sydney&lt;br /&gt;
|-&lt;br /&gt;
| 著名成就 || 逻辑斯谛克映射 Logistic map&lt;br /&gt;
|-&lt;br /&gt;
| 配偶 || 朱迪思菲娜 Judith Feiner (m. 1962）&lt;br /&gt;
|-&lt;br /&gt;
| 主要研究方向 || 理论生态学&lt;br /&gt;
|-&lt;br /&gt;
| 教育院校 || 伦敦帝国理工学院&amp;lt;br&amp;gt;牛津大学&amp;lt;br&amp;gt;哈佛大学&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|著名论文节选 ||[http://trove.nla.gov.au/version/26564216   Investigations towards an understanding of superconductivity 对理解超导性的理论研究]&lt;br /&gt;
|-&lt;br /&gt;
| 博士生 || [[George Sugihara]]&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|title=Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series|journal=Nature|date=1990|volume=344|pages=734–741|doi=10.1038/344734a0|pmid=2330029|issue=6268|bibcode=1990Natur.344..734S}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last1=Sugihara|first1=George|last2=May|first2=Robert|last3=Ye|first3=Hao|last4=Hsieh|first4=Chih-hao|last5=Deyle|first5=Ethan|last6=Fogarty|first6=Michael|last7=Munch|first7=Stephan|title=Detecting Causality in Complex Ecosystems|journal=Science|date=2012|volume=338|issue=6106|pages=496–500|doi=10.1126/science.1227079|pmid=22997134|bibcode=2012Sci...338..496S}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Angela McLean (biologist)|Angela McLean]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Sunetra Gupta]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
'''Robert McCredie May, Baron May of Oxford''', {{postnominals|country=AUS|size=100%|sep=,|OM|AC|FRS|FAA|FTSE|FRSN|FREng}} [[Australian Institute of Building|HonFAIB]] (8 January 1936 – 28 April 2020&amp;lt;ref&amp;gt;{{Cite web|url=http://www.theguardian.com/science/2020/apr/29/robert-may-former-uk-chief-scientist-led-chaos-theory-lord-dies-aged-84|title=Robert May, former UK chief scientist and chaos theory pioneer, dies aged 84|date=2020-04-29|website=the Guardian|language=en|access-date=2020-04-29}}&amp;lt;/ref&amp;gt;)&amp;lt;ref name=whoswho/&amp;gt; was an Australian scientist who was [[Chief Scientific Adviser to HM Government|Chief Scientific Adviser to the UK Government]], [[List of Presidents of the Royal Society|President of the Royal Society]],&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
|last1=Bradbury|first1=Jane|title=Sir Robert May: A new face at the Royal Society|doi=10.1016/S0140-6736(05)73556-X|journal=[[The Lancet]]|volume=356|issue=9227|pages=406–736|year=2000|pmid=10972381|pmc=}}&amp;lt;/ref&amp;gt; and a professor at the [[University of Sydney]] and [[Princeton University]]. He held joint professorships in [[University of Oxford]] and [[Imperial College London]]. He was also a [[Crossbencher|crossbench]] member of the [[House of Lords]] from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB (8 January 1936 – 28 April 2020[8])[1] was an Australian scientist who was Chief Scientific Adviser to the UK Government, President of the Royal Society,[9] and a professor at the University of Sydney and Princeton University. He held joint professorships in University of Oxford and Imperial College London. He was also a crossbench member of the House of Lords from 2001 until his retirement in 2017.&amp;lt;br&amp;gt;&lt;br /&gt;
Robert McCredie May, Baron May of Oxford, OM, AC, FRS, FAA, FTSE, FRSN, HonFAIB&lt;br /&gt;
'''罗伯特·麦克雷迪·梅 Robert McCredie May'''，牛津大学的梅男爵,[https://en.wikipedia.org/wiki/Member_of_the_Order_of_Merit OM(Order of Merit)][https://en.wikipedia.org/wiki/Companion_of_the_Order_of_Australia  AC(Order of Australia)] [https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society  FRS(Fellow of the Royal Society )][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Science  FAA(Fellow of the Australian Academy of Science)][https://en.wikipedia.org/wiki/Fellow_of_the_Australian_Academy_of_Technological_Sciences_and_Engineering FTSE(Fellow of the Australian Academy of Technological Sciences and Engineering) ][https://en.wikipedia.org/wiki/Fellow_of_the_Royal_Society_of_New_South_Wales  FRSN(Fellow of the Royal Society of New South Wales)][https://en.wikipedia.org/wiki/Australian_Institute_of_Building   HonFAIB(Australian Institute of Building)](1936年1月8日- 2020年4月28日)[1]是澳大利亚科学家，曾担任英国政府的首席科学顾问，英国皇家学会主席，[9]，悉尼大学和普林斯顿大学的教授。他曾在牛津大学和伦敦帝国理工学院担任联合教授。他也曾是英国上议院的一名议员，任期为2001年至2017年。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May was a [[Fellow]] of [[Merton College, Oxford]], and an appointed member of the council of the [[British Science Association]]. He was also a member of the advisory council for the [[Campaign for Science and Engineering]].&amp;lt;ref name=&amp;quot;CaSE Advisory Council&amp;quot;&amp;gt;{{cite web |url=http://www.sciencecampaign.org.uk/about/who/advisory.htm |title=Advisory Council of the Campaign for Science and Engineering |accessdate=11 February 2011}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was a Fellow of Merton College, Oxford, and an appointed member of the council of the British Science Association. He was also a member of the advisory council for the Campaign for Science and Engineering.[10]&amp;lt;br&amp;gt;&lt;br /&gt;
罗伯特·麦克雷迪·梅是牛津大学默顿学院的研究员、英国科学协会理事会的指定成员，也是科学与工程运动顾问委员会的成员之一。&lt;br /&gt;
&lt;br /&gt;
May was born in Sydney and educated at [[Sydney Boys High School]].&amp;lt;ref name=whoswho/&amp;gt;  He then attended the [[University of Sydney]], where he studied [[chemical engineering]] and [[theoretical physics]] ([[Bachelor of Science|BSc]] 1956) and received a [[PhD]] in [[theoretical physics]] in 1959.&amp;lt;ref name=phd&amp;gt;{{cite thesis |degree=PhD |first=Robert McCredie |last=May |title=Investigations towards an understanding of superconductivity |publisher=University of Sydney |date=1959 |url=http://trove.nla.gov.au/version/26564216 |website=trove.nla.gov.au|oclc=221204076}}&amp;lt;/ref&amp;gt; He was a patron of the Sydney High School Old Boys Union.&amp;lt;ref&amp;gt;{{cite web|url=https://www.shsobu.org.au/our-patrons/|title=Patrons|date=9 February 2008|publisher=}}&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
May was born in Sydney and educated at Sydney Boys High School.[1] He then attended the University of Sydney, where he studied chemical engineering and theoretical physics (BSc 1956) and received a PhD in theoretical physics in 1959.[11] He was a patron of the Sydney High School Old Boys Union.[12]&amp;lt;br&amp;gt;&lt;br /&gt;
他出生在悉尼，在悉尼男子高中接受教育。随后，他进入悉尼大学学习化学工程和理论物理(1956年学士学位)，并于1959年获得理论物理博士学位。[11]他也是悉尼高中的老男孩联盟的赞助人。&lt;br /&gt;
&lt;br /&gt;
== 研究领域 ==&lt;br /&gt;
 &lt;br /&gt;
//取得成就的研究领域&lt;br /&gt;
&lt;br /&gt;
==Career and research==&lt;br /&gt;
===Early career===&lt;br /&gt;
Early in his career, May developed an interest in animal [[population dynamics]] and the relationship between complexity and stability in [[community ecology|natural communities]].&amp;lt;ref&amp;gt;{{Cite journal &lt;br /&gt;
| last1 = May | first1 = Robert M. &lt;br /&gt;
| title = Simple mathematical models with very complicated dynamics &lt;br /&gt;
| journal = [[Nature (journal)|Nature]] &lt;br /&gt;
| volume = 261 &lt;br /&gt;
| issue = 5560 &lt;br /&gt;
| pages = 459–467 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| pmid = 934280&lt;br /&gt;
 | doi=10.1038/261459a0&lt;br /&gt;
| bibcode = 1976Natur.261..459M| hdl = 10338.dmlcz/104555 &lt;br /&gt;
| hdl-access = free &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=googlescholar&amp;gt;{{Google scholar id}}&amp;lt;/ref&amp;gt; He was able to make major advances in the field of population biology through the application of mathematical techniques. His work played a key role in the development of [[theoretical ecology]] through the 1970s and 1980s. He also applied these tools to the study of disease and to the study of [[biodiversity]].&lt;br /&gt;
&lt;br /&gt;
May was Gordon MacKay Lecturer in Applied Mathematics at [[Harvard University]] (1959–61) and returned to the [[University of Sydney]] (1962) as senior lecturer, reader, and professor (1969–72) in [[theoretical physics]]. From 1973 until 1988, he was Class of 1977 Professor of Zoology at [[Princeton University]], serving as chairman of the University Research Board 1977{{Ndash}}88. From 1988 until 1995, he held a [[Royal Society]] Research Professorship jointly at [[Imperial College London]] and the [[University of Oxford]], where became a Fellow of [[Merton College, Oxford]] and a [[Master of Arts (Oxbridge)|Master of Arts]].{{when|date=May 2017}} He was [[Chief Scientific Adviser to the UK Government|Chief Scientific Adviser to HM Government]] and head of the [[Office of Science and Technology]] (1995–2000), and president of the [[Royal Society]] (2000–2005).&lt;br /&gt;
&lt;br /&gt;
===Public life===&lt;br /&gt;
May has held subsidiary appointments as executive trustee of the [[Nuffield Foundation]], member of the board of the [[United Kingdom Sports Institute]], foundation trustee of the [[Gates Scholarship|Gates Trust]] ([[University of Cambridge]]), chairman of the board of trustees of the [[Natural History Museum, London|Natural History Museum]], trustee of the [[Royal Botanic Gardens, Kew]], independent member of the [[Joint Nature Conservation Committee]], trustee of [[World Wide Fund for Nature|World Wildlife Fund-UK]], president of the [[British Ecological Society]], and member of the [[Committee on Climate Change]].&lt;br /&gt;
&lt;br /&gt;
In 1996, May asked [[Ig Nobel]] to stop awarding prizes to British scientists because this might lead the public to treat worthwhile research less seriously (see [[Ig Nobel#Reception|Criticism of Ig Nobel]]).&lt;br /&gt;
&lt;br /&gt;
===Climate change co-operation===&lt;br /&gt;
Although an [[atheism|atheist]] since age 11, May has stated that religion may help society deal with climate change. While referring to what he believes to be a rigid structure of fundamentalist religion, he stated that the co-operational aspects of non-fundamentalist religion may in fact help with climate change. When asked if religious leaders should be doing more to persuade people to combat climate change, he stated that it was absolutely necessary.&amp;lt;ref&amp;gt;Richard Alleyne, [https://www.telegraph.co.uk/journalists/richard-alleyne/6146656/Maybe-religion-is-the-answer-claims-atheist-scientist.html &amp;quot;Maybe religion is the answer&amp;quot; claims-atheist-scientist], The Daily Telegraph, 7 September 2009]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===获奖和荣誉 Awards and honours===&lt;br /&gt;
May was appointed [[Knight Bachelor]] in 1996,&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; and a [[Companion of the Order of Australia]] in 1998. In 2001, on the recommendation of the [[House of Lords Appointments Commission]], he was created a [[life peer]]. He was one of the first fifteen peers to be elevated in this manner. After his initial preference for &amp;quot;Baron May of [[Woollahra, New South Wales|Woollahra]]&amp;quot; failed an objection from the Protocol Office of the Australian [[Department of the Prime Minister and Cabinet (Australia)|Prime Minister's Department]], he chose the style and title '''Baron May of Oxford''', of [[Oxford]] in the [[Oxfordshire|County of Oxfordshire]].&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt; He was made a member of the [[Order of Merit]] in 2002.&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
He was elected to the Fellowship of the [[Royal Society]] in 1979, a Corresponding Fellow of the [[Australian Academy of Science]] in 1991, a Foreign Member of the [[United States National Academy of Sciences]] in 1992, to the [[Academia Europaea]] in 1994 and Fellow of the [[Royal Society of New South Wales]] in 2010.&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt; In 2005, he was appointed an Honorary [[Fellow]] of the [[Royal Academy of Engineering]].&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; In 2009 Lord May became only the 7th ever Honorary Fellow of the Australian Institute of Building (HonFAIB).&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt; He has received honorary degrees from universities including [[University of Uppsala|Uppsala]] &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;(1990), [[Yale]] (1993), [[University of Sydney|Sydney]] (1995), [[Princeton University|Princeton]] (1996), and the [[ETH Zurich|Eidgenössische Technische Hochschule Zürich]] (2003). He has been awarded the Weldon Memorial Prize by the [[University of Oxford]] (1980), an [[MacArthur Fellows Program|Award]] by the [[MacArthur Foundation]] (1984), the [[Linnean Medal|Medal]] of the [[Linnean Society of London]] (1991), the Marsh Christian Prize (1992), the Frink Medal by the [[Zoological Society of London]] (1995), the [[Crafoord Prize]] (1996), the [[Balzan Prize]] (1998) for Biodiversity and the [[Copley Medal]] by the [[Royal Society]] (2007) and the [[Lord Lewis Prize]] by the [[Royal Society of Chemistry]] (2008).&lt;br /&gt;
&lt;br /&gt;
*2010年，被选为新南威尔士皇家学会 Royal Society of New South Wales 的研究员。&amp;lt;ref&amp;gt;{{cite web |title=Fellows of RSNSW |url=http://royalsoc.org.au/society/fellows.htm |publisher=RSNSW |accessdate=25 June 2012}}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
*2009年，梅伯特成为澳大利亚建筑学会 Honorary Fellow of the Australian Institute of Building（HonFAIB）有史以来的第7位荣誉研究员。&amp;lt;ref&amp;gt;The first six honorary fellows of the Australian Institute of Building (HonFAIB) are: HRH Prince Philip, Sir Eric Neil AC CVO, Janet Holmes a'Court AC, James Service AO, Sir Laurence Street AC KCMG QC, and Sir John Holland AC [vale]. Subsequent appointments are Professor Marie Bashir AC CVO and Dr Kenneth Michael AC. {{Cite web |url=http://www.aib.org.au/scripts/cgiip.exe/WService=AIB/ccms.r?pageid=10068 |title=Life and Honorary Fellows |publisher=[[Australian Institute of Building]] |accessdate=21 April 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2005年，他被任命为英国皇家工程学院 Royal Academy of Engineering 的荣誉院士。&amp;lt;ref name=&amp;quot;List of Fellows&amp;quot;/&amp;gt; &lt;br /&gt;
*2002年，他被授予功绩勋章 Order of Merit。&amp;lt;ref&amp;gt;{{London Gazette |issue=56746 |date=8 November 2002 |page=13557}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
*2001年，在上议院任命委员会 House of Lords Appointments Commission 的推荐下，他被任命为终身贵族 life peer。 他是最早以这种方式获得提升的十五位贵族之一。 他最初倾向于“ Baron May of Woollahra” 头衔，但遭到澳大利亚总理府礼宾处的反对，于是他选择了”Baron May of Oxford“这个风格的头衔。&amp;lt;ref&amp;gt;{{London Gazette |issue=56282 |date=23 July 2001 |page=8681}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Annabel Crabb, ''Good Lord, he said what?'',''[[The Sunday Age]]'', 20 November 2005&amp;lt;/ref&amp;gt;&lt;br /&gt;
*1998年，被授予Companion of the Order of Australia&lt;br /&gt;
*1996年，被授予Knight Bachelor&amp;lt;ref&amp;gt;{{London Gazette |issue=54255 |date=30 December 1995 |page=2 |supp=y}}&amp;lt;/ref&amp;gt; 。&lt;br /&gt;
*1994年，被选为欧洲科学院 Academia Europaea 的外国研究员。&lt;br /&gt;
*他曾获得多所大学的荣誉学位，包括[https://en.wikipedia.org/wiki/University_of_Uppsala 乌普萨拉大学 University of Uppsala]（1990） &amp;lt;ref&amp;gt;{{cite web|url=http://www.uu.se/en/about-uu/traditions/prizes/honorary-doctorates/|title=Honorary doctorates - Uppsala University, Sweden|first=David|last=Naylor|website=www.uu.se}}&amp;lt;/ref&amp;gt;、[https://en.wikipedia.org/wiki/Yale 耶鲁大学 Yale](1993)、[https://en.wikipedia.org/wiki/University_of_Sydney 悉尼大学 University of Sydney](1995)、[https://en.wikipedia.org/wiki/Princeton_University 普林斯顿大学 Princeton University](1996)和[https://en.wikipedia.org/wiki/ETH_Zurich 苏黎世联邦理工学院 Eidgenössische Technische Hochschule Zürich](2003)。&lt;br /&gt;
*1992年，被选为美国国家科学院 United States National Academy of Sciences 的外国研究员。&lt;br /&gt;
*1991年，被选为澳大利亚科学院 Australian Academy of Science 的通讯研究员。&lt;br /&gt;
*1979年，被选为皇家学会 Royal Society 的研究员。&lt;br /&gt;
*他曾获得牛津大学“Weldon Memorial Prize”奖项(1980年)、麦克阿瑟基金会 MacArthur Foundation奖(1984年)、伦敦林奈学会 Linnean Society of London 奖章(1991年)、马什基督教奖 Marsh Christian Prize(1992年)、伦敦动物学会科学基金会弗林克奖章 Frink Medal(1995年)、克拉福德奖 Crafoord Prize(1996年)、巴尔赞生物多样性奖 Balzan Prize(1998年)和皇家学会科普利奖章 Copley Medal(2007年) ，以及皇家化学学会 Royal Society of Chemistry 刘易斯勋爵奖 Lord Lewis Prize(2008年)。&lt;br /&gt;
&lt;br /&gt;
==Personal life==&lt;br /&gt;
During his [[postdoctoral research]] at the Division of Engineering and Applied Physics at Harvard University as Gordon MacKay Lecturer in Applied Mathematics, between 1959 and 1961, May met his wife, Judith Feiner,&amp;lt;ref name=whoswho/&amp;gt; a native of [[Manhattan]].&amp;lt;ref name=&amp;quot;AAS&amp;quot;&amp;gt;{{cite web|url=http://www.science.org.au/scientists/interviews/m/may.html|title=Lord Robert May|publisher=Australian Academy of Science}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;May, Robert McCredie (2001) [https://books.google.com/books?id=BDA5-ipCLt4C&amp;amp;pg=PR8&amp;amp;lpg=PR8&amp;amp;ots=-uqfDKMqp3&amp;amp;sig=ODlxW5y2_EZCVglOcIHOd2_kvmY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=AAXUUsG5OIfTkwXFvIHwAw&amp;amp;ved=0CGMQ6AEwDA#v=onepage&amp;amp;f=false ''Stability and Complexity in Model Ecosystems''], [[Princeton University Press]] {{ISBN missing}}&amp;lt;/ref&amp;gt; The Mays have a daughter, Naomi.&amp;lt;ref name=&amp;quot;AAS&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 就职企业、机构或院校 ==&lt;br /&gt;
 &lt;br /&gt;
=== （机构名） ===&lt;br /&gt;
 &lt;br /&gt;
//机构详细信息及该人物在机构中主要负责哪方面的研究/工作、取得过什么样的成就或发展，可以有图片等信息&lt;br /&gt;
&lt;br /&gt;
== 主要文章及著作 ==&lt;br /&gt;
 &lt;br /&gt;
* [文章链接 文章名]发表信息（发表年份/日期，被引次数）&lt;br /&gt;
//注意大佬们文章都很多，但是不要照搬，摘取重点影响力高的即可（如谷歌学术中被引次数多的），重点书籍可以适当展开说明，但是需要注意使用下一级标题和排版&lt;br /&gt;
 &lt;br /&gt;
== 研究课题 ==&lt;br /&gt;
 &lt;br /&gt;
=== [课题链接 课题名称] （名称翻译） ===&lt;br /&gt;
 &lt;br /&gt;
//课题是哪个领域的、主要实现了什么功能/有什么发现、研究思路、主要应用等，如果有图片可以说明就更好了。&lt;br /&gt;
&lt;br /&gt;
== 博士生导师 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 学生 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== 合作学者 ==&lt;br /&gt;
 &lt;br /&gt;
//可以有名字、图片、链接等等&lt;br /&gt;
 &lt;br /&gt;
== xxx（人名）与集智 ==&lt;br /&gt;
 &lt;br /&gt;
//有些大佬参加过集智举办的活动或有过合作课题，都可以写上去&lt;br /&gt;
 &lt;br /&gt;
== 近期报道 ==&lt;br /&gt;
 &lt;br /&gt;
//可转载部分关于人物的报道，帮助认识人物，但内容需要凝练不要长篇大论。&lt;br /&gt;
 &lt;br /&gt;
== 相关链接 ==&lt;br /&gt;
*[https://web.archive.org/web/20040407031635/http://www.af-info.or.jp/eng/honor/hot/enr-may.html Profile of Robert May: the Recipient of the 2001 Blue Planet Prize ]&lt;br /&gt;
*[https://web.archive.org/web/20050315035945/http://www.commondreams.org/headlines05/0307-03.htm Bush Accused of &amp;quot;Fiddling While World Burns&amp;quot; by Ignoring Climate Change]&lt;br /&gt;
*[https://www.theguardian.com/Archive/Article/0,4273,3907246,00.html A commentary on Robert May's request to Ignobel by the Guardian]&lt;br /&gt;
*[http://royalsociety.org/publication.asp?year=2005&amp;amp;id=2181 Speech made at the end of Lord May's presidency of the Royal Society]&lt;br /&gt;
*[http://www.bbc.co.uk/worldservice/documentaries/2009/05/090513_theforum_030509.shtml Audio: Robert May in conversation on the BBC World Service discussion show] [[The Forum (BBC World Service)|''The Forum'']]&lt;br /&gt;
*{{YouTube|oi_Ss4WmZTY|Video: Interview with Cambridge University Television following the 2011 Darwin College Lecture Series}}&lt;br /&gt;
*[http://www.aib.org.au The Australian Institute of Building ]&lt;br /&gt;
*[http://abel.harvard.edu/archive/118r_spring_05/docs/may.pdf abel.harvard.edu]&lt;br /&gt;
=== 视频 ===&lt;br /&gt;
 &lt;br /&gt;
[视频网址 视频名称]：视频主题&lt;br /&gt;
//可展开说明视频的重点内容、影响、背后的故事等等。&lt;br /&gt;
 &lt;br /&gt;
=== 更多信息 ===&lt;br /&gt;
 &lt;br /&gt;
[网址 名称]&lt;br /&gt;
//可以是wiki词条地址、百度百科、人物个人主页或博客主页等。&lt;br /&gt;
&lt;br /&gt;
[[category:使用说明]][[category:人物]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4577</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4577"/>
		<updated>2020-04-22T09:10:59Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 超图概念的延伸 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)——十三维&lt;br /&gt;
*二分图模型+不对称性+同构与平等——淑慧&lt;br /&gt;
*对称超图+横截面——瑾晗&lt;br /&gt;
*关联矩阵+超图着色+分区---厚朴&lt;br /&gt;
*定理+超图绘制+超图语法——十三维&lt;br /&gt;
*概括+超图学习——世康&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==二部图模型 Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
[[File:bipartie graph.jpeg|200px|缩略图|右| 设&amp;lt;math&amp;gt;G=(V,E)&amp;lt;/math&amp;gt;是一个无向图，如果顶点V可分割为两个互不相交的子集&amp;lt;math&amp;gt; {(group1, group2)}&amp;lt;/math&amp;gt;，并且图中的每条边&amp;lt;math&amp;gt;{（i，j）}&amp;lt;/math&amp;gt;所关联的两个顶点&amp;lt;math&amp;gt;{i}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;{j}&amp;lt;/math&amp;gt;分别属于这两个不同的部分&amp;lt;math&amp;gt;{(i \in group1,j \in group2)}&amp;lt;/math&amp;gt;，则称图&amp;lt;math&amp;gt;{G}&amp;lt;/math&amp;gt;为一个二部图。]]&lt;br /&gt;
&lt;br /&gt;
一个'''超图“ &amp;lt;math&amp;gt;{H} &amp;lt;/math&amp;gt;”'''可以用二部图“&amp;lt;math&amp;gt;{BG} &amp;lt;/math&amp;gt;”表示，其构成如下: 集合&amp;quot;X&amp;quot;和&amp;quot; E&amp;quot;是&amp;quot;BG&amp;quot;的分割，而且 (&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;,  &amp;quot;e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;) 与边连通当且仅当顶点&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;包含在&amp;quot; &amp;lt;math&amp;gt;H &amp;lt;/math&amp;gt;&amp;quot;的边&amp;quot; e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;中。 反之，任何具有固定的'''部分 part'''且在第二部分中没有不连通节点的二部图也代表具有上述性质的部分超图。 这个二部图也称为'''关联图'''。&lt;br /&gt;
&lt;br /&gt;
==无环性 Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
与只有'''圈 cycle'''和'''森林 forest'''的普通无向图相比，对于超图的特殊情形，那些坍缩为平凡图的无环性超图有多种自然不等价的'''无环性 acyclicity''' 定义。&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
&lt;br /&gt;
由Claude Berge 给出了超图无环性的首个定义: &amp;lt;ref&amp;gt;Claude Berge,[https://www.amazon.com/Graphs-hypergraphs-North-Holland-mathematical-library/dp/0444103996 ''Graphs and Hypergraphs'']&amp;lt;/ref&amp;gt; 如果它的'''关联图'''(上面定义的二部图)是无环的，则称这个超图是 Berge 无环的 Berge-acyclic。 这个定义是非常严格的：例如，假设一个超图有一些顶点&amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt;和一些超边&amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; ，例如 &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;，那么它就是 Berge成环的 Berge-cyclic。 通过对关联图的探讨，Berge成环性 berge-cyclity可以在线性时间 linear time内得到有效验证 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
此处，我们可以定义一个减弱的超图无环性的概念&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt;，后来被称为 &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; acyclicity。 这个无环性的概念等价于超图是同构的(原图的每个团都被某个超边所覆盖) ，它的原图称为弦图 chordal graph ; 它也等价于通过 GYO 算法 Graham-Yu-Ozsoyoglu Algorithm （也称为格雷厄姆算法 Graham's algorithm) 得到具有可约性的空图&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt;。GYO 算法是一个合流 confluence（抽象重写 abstract rewriting）迭代过程，该算法中使用耳朵 ear的广义定义去除超边 (图论中的耳朵就定义为一条路径，其中除了端点外的点的度数均为 2（端点可以重合），而且删去后不破坏图的连通性)。总所周知， 在数据库理论  database theory 的领域中，如果一个数据库模式 database schema的底层超图是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的，那么它就具有某些理想的性质。 &amp;lt;ref&amp;gt;Serge Abiteboul, Richard B. Hull, Victor Vianu|V. Vianu, ''Foundations of Databases''&amp;lt;/ref&amp;gt; 除此之外,&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环性也与一阶逻辑 first-order logic 保护的片段 guarded fragment 的表达能力有关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
我们可以在线性时间 linear time内检验超图是否是-无环的。 &amp;lt;ref&amp;gt;Robert Tarjan|R. E. Tarjan, Mihalis Yannakakis|M. Yannakakis. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
注意到&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性似乎直觉不相符，即&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-成环超图添加超边可能使其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的（例如，添加一条包含超图所有顶点的超边总能其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的）。 为了克服这个缺点，Ronald Fagin&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt;  定义了更强的 &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-acylicity 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;-acylicity 概念。 应当指出：&amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环超图是推出其所有子超图都是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的必要条件，这与 Graham 的早期定义&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; 等价。  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性的概念是一个更加严苛的条件，它等价于数据库模式的几个理想性质，并且与Bachman 图 Bachman diagrams有关. &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性   都可以在多项式时间 polynomial time(PTIME)内完成检测。&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
无环性的四个概念具有可比性: berge-无环性意味着 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性又意味着  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性又可以推出  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; 无环性。 然而，反之均不成立。&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
分别设 &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt;， &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
每一个超图都有一个 &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;[[关联矩阵]]&amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt;其为：&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其关联矩阵的[[转设]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt;定义了 &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt;称为&amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;的'''对偶'''，其中&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;是一个''m''元集合 &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt;是一个&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;子集的''n''元集合。&lt;br /&gt;
&lt;br /&gt;
对于&amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[当且仅当]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
经典超图着色是将集合&amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt;中的其中一种颜色赋予给超图的每个顶点，使每个超边至少包含两个不同颜色的顶点。换句话说，不能存在基数至少为2的单色深边。从此意义上出发，它是通常图着色的直接推广。在所有着色行为中使用到最小的不同颜色数称为超图的色数。&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
存在着使用多达''k'' 种颜色着色的超图称为''k- 可着色图''。'''2-可染超图就是二分图'''。&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
经典超图着色有许多推广。在允许单色边情况下，混合超图着色是其中之一。一些混合超图对于任意数量的颜色都是不可着色的。同时不可着色性的内在标准是未知的。当一个混合超图是可着色时，其所使用的最小和最大颜色数分别称为下色数和上色数。详情请参阅 http://spectrum.troy.edu/voloshin/mh.html&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt;所提出的一个分区定理表明，对于边传递超图 &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;存在一个[[分区]]:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;对于顶点集 &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;使得由&amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt;生成的子超图&amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt;在&amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;时是可传递的，并且使得&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt;是 ''H''的秩。&lt;br /&gt;
&lt;br /&gt;
作为推论，不是点传递的边传递超图则是双色的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[图分区]](特别是超图分区)在集成电路设计&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; 和并行计算&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt;中有很多应用。在机器学习任务中，高效、可扩展的[[超图分区算法]]对于处理大规模超图也很重要。&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
== Generalizations ==   &lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图概念的延伸==&lt;br /&gt;
&lt;br /&gt;
超图的相关概念可以进行进一步的延伸，如超图中的一些边可以指向另一些边。这种延伸有两种变体。在第一种变体中，超图的边不仅包含一组节点，而且还可以包含这组节点的子集、子集的子集等等。本质上，超图的每条边只是树结构或有向无环图的一个内部节点，而节点就是叶子。从这个意义上来说，超图就是具有共享节点的树的集合(即内部节点或叶子可能出现在不同的树结构中)，反过来说，每个树的集合又可以理解为一个超图。因为树结构在计算机科学和许多数学分支中被广泛使用，所以超图的出现也是自然而然的。比如这种延伸是作为项代数的模型而自然产生的：边对应项，节点对应常量或变量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对于上述的超图，节点集提供了一种排序。但是该排序既不是偏序也不是预序，因为它是不可传递的。与这一延伸方式的Levi图相对应的图是有向无环图。例如，一个超图的节点集为&amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt;，边为&amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;。那么，虽然&amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;，但&amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;却不是真的。然而，这类超图节点集的封闭传递确实诱导了偏序，并将超图“展平”为一个偏序集。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第二种变体中，超图中的边可以指向其他边，同时不用考虑必须形成有向非循环图的要求。这允许超图具有边的循环，而不需要有任何节点。例如，考虑由两条边e1和e2组成的，节点个数为零的广义超图，使得&amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;。因为这个循环是无限递归的，所以边的集合违反了基础公理。具体来说，对于这样的超图，不存在节点集的封闭传递。虽然这样的结构乍看起来可能很奇怪，但只要注意到它的Levi图的等价延伸不再是二分图，而是一般的有向图，就可以很容易地去理解。&lt;br /&gt;
&lt;br /&gt;
根据定义，这种超图的广义关联矩阵是一个方阵，其秩等于节点和边的总数。因此，对于上面的示例，关联矩阵为:&lt;br /&gt;
&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right]&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   &lt;br /&gt;
&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图与机器学习==&lt;br /&gt;
&lt;br /&gt;
超图已被广泛用于机器学习中，常作为一种数据结构或一种正则化的方式[25]。这些应用包括推荐系统(社团作为超边)[26]、图像检索(相关性作为超边)[27]、和生物信息学(生物、化学分子间相互作用作为超边)[28]。比较典型的超图机器学习方法包括：超图谱聚类法（用超图Laplacian扩展光谱图理论）[29]和超图半监督学习（通过引入超图结构来对结果进行限定）。对于大尺寸的超图，可以使用Apache Spark构建的分布式框架[15]。&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* Hazewinkel, Michiel, ed. (2001) [1994], &amp;quot;Hypergraph&amp;quot;, [https://en.wikipedia.org/wiki/Encyclopedia_of_Mathematics Encyclopedia of Mathematics], Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* This article incorporates material from hypergraph on PlanetMath, which is licensed under the[https://en.wikipedia.org/wiki/Wikipedia:CC-BY-SA Creative Commons Attribution/Share-Alike License].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
*[https://book.douban.com/subject/1237624/ 《超图-限集的组合学》]by [法]Claude Berge&lt;br /&gt;
超图的第一本专著，作者是近代图论之父法国数学家Claude Berge，将图里的普通边拓展为超边，小小的一步拓展却引发了一个大的领域。&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4575</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4575"/>
		<updated>2020-04-22T09:10:13Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 超图概念的延伸 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)——十三维&lt;br /&gt;
*二分图模型+不对称性+同构与平等——淑慧&lt;br /&gt;
*对称超图+横截面——瑾晗&lt;br /&gt;
*关联矩阵+超图着色+分区---厚朴&lt;br /&gt;
*定理+超图绘制+超图语法——十三维&lt;br /&gt;
*概括+超图学习——世康&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==二部图模型 Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
[[File:bipartie graph.jpeg|200px|缩略图|右| 设&amp;lt;math&amp;gt;G=(V,E)&amp;lt;/math&amp;gt;是一个无向图，如果顶点V可分割为两个互不相交的子集&amp;lt;math&amp;gt; {(group1, group2)}&amp;lt;/math&amp;gt;，并且图中的每条边&amp;lt;math&amp;gt;{（i，j）}&amp;lt;/math&amp;gt;所关联的两个顶点&amp;lt;math&amp;gt;{i}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;{j}&amp;lt;/math&amp;gt;分别属于这两个不同的部分&amp;lt;math&amp;gt;{(i \in group1,j \in group2)}&amp;lt;/math&amp;gt;，则称图&amp;lt;math&amp;gt;{G}&amp;lt;/math&amp;gt;为一个二部图。]]&lt;br /&gt;
&lt;br /&gt;
一个'''超图“ &amp;lt;math&amp;gt;{H} &amp;lt;/math&amp;gt;”'''可以用二部图“&amp;lt;math&amp;gt;{BG} &amp;lt;/math&amp;gt;”表示，其构成如下: 集合&amp;quot;X&amp;quot;和&amp;quot; E&amp;quot;是&amp;quot;BG&amp;quot;的分割，而且 (&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;,  &amp;quot;e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;) 与边连通当且仅当顶点&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;包含在&amp;quot; &amp;lt;math&amp;gt;H &amp;lt;/math&amp;gt;&amp;quot;的边&amp;quot; e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;中。 反之，任何具有固定的'''部分 part'''且在第二部分中没有不连通节点的二部图也代表具有上述性质的部分超图。 这个二部图也称为'''关联图'''。&lt;br /&gt;
&lt;br /&gt;
==无环性 Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
与只有'''圈 cycle'''和'''森林 forest'''的普通无向图相比，对于超图的特殊情形，那些坍缩为平凡图的无环性超图有多种自然不等价的'''无环性 acyclicity''' 定义。&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
&lt;br /&gt;
由Claude Berge 给出了超图无环性的首个定义: &amp;lt;ref&amp;gt;Claude Berge,[https://www.amazon.com/Graphs-hypergraphs-North-Holland-mathematical-library/dp/0444103996 ''Graphs and Hypergraphs'']&amp;lt;/ref&amp;gt; 如果它的'''关联图'''(上面定义的二部图)是无环的，则称这个超图是 Berge 无环的 Berge-acyclic。 这个定义是非常严格的：例如，假设一个超图有一些顶点&amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt;和一些超边&amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; ，例如 &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;，那么它就是 Berge成环的 Berge-cyclic。 通过对关联图的探讨，Berge成环性 berge-cyclity可以在线性时间 linear time内得到有效验证 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
此处，我们可以定义一个减弱的超图无环性的概念&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt;，后来被称为 &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; acyclicity。 这个无环性的概念等价于超图是同构的(原图的每个团都被某个超边所覆盖) ，它的原图称为弦图 chordal graph ; 它也等价于通过 GYO 算法 Graham-Yu-Ozsoyoglu Algorithm （也称为格雷厄姆算法 Graham's algorithm) 得到具有可约性的空图&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt;。GYO 算法是一个合流 confluence（抽象重写 abstract rewriting）迭代过程，该算法中使用耳朵 ear的广义定义去除超边 (图论中的耳朵就定义为一条路径，其中除了端点外的点的度数均为 2（端点可以重合），而且删去后不破坏图的连通性)。总所周知， 在数据库理论  database theory 的领域中，如果一个数据库模式 database schema的底层超图是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的，那么它就具有某些理想的性质。 &amp;lt;ref&amp;gt;Serge Abiteboul, Richard B. Hull, Victor Vianu|V. Vianu, ''Foundations of Databases''&amp;lt;/ref&amp;gt; 除此之外,&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环性也与一阶逻辑 first-order logic 保护的片段 guarded fragment 的表达能力有关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
我们可以在线性时间 linear time内检验超图是否是-无环的。 &amp;lt;ref&amp;gt;Robert Tarjan|R. E. Tarjan, Mihalis Yannakakis|M. Yannakakis. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
注意到&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性似乎直觉不相符，即&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-成环超图添加超边可能使其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的（例如，添加一条包含超图所有顶点的超边总能其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的）。 为了克服这个缺点，Ronald Fagin&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt;  定义了更强的 &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-acylicity 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;-acylicity 概念。 应当指出：&amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环超图是推出其所有子超图都是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的必要条件，这与 Graham 的早期定义&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; 等价。  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性的概念是一个更加严苛的条件，它等价于数据库模式的几个理想性质，并且与Bachman 图 Bachman diagrams有关. &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性   都可以在多项式时间 polynomial time(PTIME)内完成检测。&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
无环性的四个概念具有可比性: berge-无环性意味着 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性又意味着  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性又可以推出  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; 无环性。 然而，反之均不成立。&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
分别设 &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt;， &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
每一个超图都有一个 &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;[[关联矩阵]]&amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt;其为：&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其关联矩阵的[[转设]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt;定义了 &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt;称为&amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;的'''对偶'''，其中&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;是一个''m''元集合 &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt;是一个&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;子集的''n''元集合。&lt;br /&gt;
&lt;br /&gt;
对于&amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[当且仅当]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
经典超图着色是将集合&amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt;中的其中一种颜色赋予给超图的每个顶点，使每个超边至少包含两个不同颜色的顶点。换句话说，不能存在基数至少为2的单色深边。从此意义上出发，它是通常图着色的直接推广。在所有着色行为中使用到最小的不同颜色数称为超图的色数。&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
存在着使用多达''k'' 种颜色着色的超图称为''k- 可着色图''。'''2-可染超图就是二分图'''。&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
经典超图着色有许多推广。在允许单色边情况下，混合超图着色是其中之一。一些混合超图对于任意数量的颜色都是不可着色的。同时不可着色性的内在标准是未知的。当一个混合超图是可着色时，其所使用的最小和最大颜色数分别称为下色数和上色数。详情请参阅 http://spectrum.troy.edu/voloshin/mh.html&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt;所提出的一个分区定理表明，对于边传递超图 &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;存在一个[[分区]]:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;对于顶点集 &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;使得由&amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt;生成的子超图&amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt;在&amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;时是可传递的，并且使得&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt;是 ''H''的秩。&lt;br /&gt;
&lt;br /&gt;
作为推论，不是点传递的边传递超图则是双色的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[图分区]](特别是超图分区)在集成电路设计&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; 和并行计算&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt;中有很多应用。在机器学习任务中，高效、可扩展的[[超图分区算法]]对于处理大规模超图也很重要。&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
== Generalizations ==   &lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图概念的延伸==&lt;br /&gt;
&lt;br /&gt;
超图的相关概念可以进行进一步的延伸，如超图中的一些边可以指向另一些边。这种延伸有两种变体。在第一种变体中，超图的边不仅包含一组节点，而且还可以包含这组节点的子集、子集的子集等等。本质上，超图的每条边只是树结构或有向无环图的一个内部节点，而节点就是叶子。从这个意义上来说，超图就是具有共享节点的树的集合(即内部节点或叶子可能出现在不同的树结构中)，反过来说，每个树的集合又可以理解为一个超图。因为树结构在计算机科学和许多数学分支中被广泛使用，所以超图的出现也是自然而然的。比如这种延伸是作为项代数的模型而自然产生的：边对应项，节点对应常量或变量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对于上述的超图，节点集提供了一种排序。但是该排序既不是偏序也不是预序，因为它是不可传递的。与这一延伸方式的Levi图相对应的图是有向无环图。例如，一个超图的节点集为&amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt;，边为&amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;。那么，虽然&amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;，但&amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;却不是真的。然而，这类超图节点集的封闭传递确实诱导了偏序，并将超图“展平”为一个偏序集。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第二种变体中，超图中的边可以指向其他边，同时不用考虑必须形成有向非循环图的要求。这允许超图具有边的循环，而不需要有任何节点。例如，考虑由两条边e1和e2组成的，节点个数为零的广义超图，使得&amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;。因为这个循环是无限递归的，所以边的集合违反了基础公理。具体来说，对于这样的超图，不存在节点集的封闭传递。虽然这样的结构乍看起来可能很奇怪，但只要注意到它的Levi图的等价延伸不再是二分图，而是一般的有向图，就可以很容易地去理解。&lt;br /&gt;
&lt;br /&gt;
根据定义，这种超图的广义关联矩阵是一个方阵，其秩等于节点和边的总数。因此，对于上面的示例，关联矩阵为:&lt;br /&gt;
&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   &lt;br /&gt;
&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图与机器学习==&lt;br /&gt;
&lt;br /&gt;
超图已被广泛用于机器学习中，常作为一种数据结构或一种正则化的方式[25]。这些应用包括推荐系统(社团作为超边)[26]、图像检索(相关性作为超边)[27]、和生物信息学(生物、化学分子间相互作用作为超边)[28]。比较典型的超图机器学习方法包括：超图谱聚类法（用超图Laplacian扩展光谱图理论）[29]和超图半监督学习（通过引入超图结构来对结果进行限定）。对于大尺寸的超图，可以使用Apache Spark构建的分布式框架[15]。&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* Hazewinkel, Michiel, ed. (2001) [1994], &amp;quot;Hypergraph&amp;quot;, [https://en.wikipedia.org/wiki/Encyclopedia_of_Mathematics Encyclopedia of Mathematics], Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* This article incorporates material from hypergraph on PlanetMath, which is licensed under the[https://en.wikipedia.org/wiki/Wikipedia:CC-BY-SA Creative Commons Attribution/Share-Alike License].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
*[https://book.douban.com/subject/1237624/ 《超图-限集的组合学》]by [法]Claude Berge&lt;br /&gt;
超图的第一本专著，作者是近代图论之父法国数学家Claude Berge，将图里的普通边拓展为超边，小小的一步拓展却引发了一个大的领域。&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4573</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4573"/>
		<updated>2020-04-22T09:07:26Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* Generalizations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)——十三维&lt;br /&gt;
*二分图模型+不对称性+同构与平等——淑慧&lt;br /&gt;
*对称超图+横截面——瑾晗&lt;br /&gt;
*关联矩阵+超图着色+分区---厚朴&lt;br /&gt;
*定理+超图绘制+超图语法——十三维&lt;br /&gt;
*概括+超图学习——世康&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==二部图模型 Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
[[File:bipartie graph.jpeg|200px|缩略图|右| 设&amp;lt;math&amp;gt;G=(V,E)&amp;lt;/math&amp;gt;是一个无向图，如果顶点V可分割为两个互不相交的子集&amp;lt;math&amp;gt; {(group1, group2)}&amp;lt;/math&amp;gt;，并且图中的每条边&amp;lt;math&amp;gt;{（i，j）}&amp;lt;/math&amp;gt;所关联的两个顶点&amp;lt;math&amp;gt;{i}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;{j}&amp;lt;/math&amp;gt;分别属于这两个不同的部分&amp;lt;math&amp;gt;{(i \in group1,j \in group2)}&amp;lt;/math&amp;gt;，则称图&amp;lt;math&amp;gt;{G}&amp;lt;/math&amp;gt;为一个二部图。]]&lt;br /&gt;
&lt;br /&gt;
一个'''超图“ &amp;lt;math&amp;gt;{H} &amp;lt;/math&amp;gt;”'''可以用二部图“&amp;lt;math&amp;gt;{BG} &amp;lt;/math&amp;gt;”表示，其构成如下: 集合&amp;quot;X&amp;quot;和&amp;quot; E&amp;quot;是&amp;quot;BG&amp;quot;的分割，而且 (&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;,  &amp;quot;e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;) 与边连通当且仅当顶点&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;包含在&amp;quot; &amp;lt;math&amp;gt;H &amp;lt;/math&amp;gt;&amp;quot;的边&amp;quot; e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;中。 反之，任何具有固定的'''部分 part'''且在第二部分中没有不连通节点的二部图也代表具有上述性质的部分超图。 这个二部图也称为'''关联图'''。&lt;br /&gt;
&lt;br /&gt;
==无环性 Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
与只有'''圈 cycle'''和'''森林 forest'''的普通无向图相比，对于超图的特殊情形，那些坍缩为平凡图的无环性超图有多种自然不等价的'''无环性 acyclicity''' 定义。&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
&lt;br /&gt;
由Claude Berge 给出了超图无环性的首个定义: &amp;lt;ref&amp;gt;Claude Berge,[https://www.amazon.com/Graphs-hypergraphs-North-Holland-mathematical-library/dp/0444103996 ''Graphs and Hypergraphs'']&amp;lt;/ref&amp;gt; 如果它的'''关联图'''(上面定义的二部图)是无环的，则称这个超图是 Berge 无环的 Berge-acyclic。 这个定义是非常严格的：例如，假设一个超图有一些顶点&amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt;和一些超边&amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; ，例如 &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;，那么它就是 Berge成环的 Berge-cyclic。 通过对关联图的探讨，Berge成环性 berge-cyclity可以在线性时间 linear time内得到有效验证 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
此处，我们可以定义一个减弱的超图无环性的概念&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt;，后来被称为 &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; acyclicity。 这个无环性的概念等价于超图是同构的(原图的每个团都被某个超边所覆盖) ，它的原图称为弦图 chordal graph ; 它也等价于通过 GYO 算法 Graham-Yu-Ozsoyoglu Algorithm （也称为格雷厄姆算法 Graham's algorithm) 得到具有可约性的空图&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt;。GYO 算法是一个合流 confluence（抽象重写 abstract rewriting）迭代过程，该算法中使用耳朵 ear的广义定义去除超边 (图论中的耳朵就定义为一条路径，其中除了端点外的点的度数均为 2（端点可以重合），而且删去后不破坏图的连通性)。总所周知， 在数据库理论  database theory 的领域中，如果一个数据库模式 database schema的底层超图是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的，那么它就具有某些理想的性质。 &amp;lt;ref&amp;gt;Serge Abiteboul, Richard B. Hull, Victor Vianu|V. Vianu, ''Foundations of Databases''&amp;lt;/ref&amp;gt; 除此之外,&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环性也与一阶逻辑 first-order logic 保护的片段 guarded fragment 的表达能力有关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
我们可以在线性时间 linear time内检验超图是否是-无环的。 &amp;lt;ref&amp;gt;Robert Tarjan|R. E. Tarjan, Mihalis Yannakakis|M. Yannakakis. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
注意到&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性似乎直觉不相符，即&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-成环超图添加超边可能使其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的（例如，添加一条包含超图所有顶点的超边总能其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的）。 为了克服这个缺点，Ronald Fagin&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt;  定义了更强的 &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-acylicity 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;-acylicity 概念。 应当指出：&amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环超图是推出其所有子超图都是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的必要条件，这与 Graham 的早期定义&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; 等价。  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性的概念是一个更加严苛的条件，它等价于数据库模式的几个理想性质，并且与Bachman 图 Bachman diagrams有关. &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性   都可以在多项式时间 polynomial time(PTIME)内完成检测。&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
无环性的四个概念具有可比性: berge-无环性意味着 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性又意味着  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性又可以推出  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; 无环性。 然而，反之均不成立。&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
分别设 &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt;， &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
每一个超图都有一个 &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;[[关联矩阵]]&amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt;其为：&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其关联矩阵的[[转设]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt;定义了 &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt;称为&amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;的'''对偶'''，其中&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;是一个''m''元集合 &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt;是一个&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;子集的''n''元集合。&lt;br /&gt;
&lt;br /&gt;
对于&amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[当且仅当]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
经典超图着色是将集合&amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt;中的其中一种颜色赋予给超图的每个顶点，使每个超边至少包含两个不同颜色的顶点。换句话说，不能存在基数至少为2的单色深边。从此意义上出发，它是通常图着色的直接推广。在所有着色行为中使用到最小的不同颜色数称为超图的色数。&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
存在着使用多达''k'' 种颜色着色的超图称为''k- 可着色图''。'''2-可染超图就是二分图'''。&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
经典超图着色有许多推广。在允许单色边情况下，混合超图着色是其中之一。一些混合超图对于任意数量的颜色都是不可着色的。同时不可着色性的内在标准是未知的。当一个混合超图是可着色时，其所使用的最小和最大颜色数分别称为下色数和上色数。详情请参阅 http://spectrum.troy.edu/voloshin/mh.html&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt;所提出的一个分区定理表明，对于边传递超图 &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;存在一个[[分区]]:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;对于顶点集 &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;使得由&amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt;生成的子超图&amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt;在&amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;时是可传递的，并且使得&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt;是 ''H''的秩。&lt;br /&gt;
&lt;br /&gt;
作为推论，不是点传递的边传递超图则是双色的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[图分区]](特别是超图分区)在集成电路设计&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; 和并行计算&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt;中有很多应用。在机器学习任务中，高效、可扩展的[[超图分区算法]]对于处理大规模超图也很重要。&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
== Generalizations ==   &lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图概念的延伸==&lt;br /&gt;
&lt;br /&gt;
超图的相关概念可以进行进一步的延伸，如超图中的一些边可以指向另一些边。这种延伸有两种变体。在第一种变体中，超图的边不仅包含一组节点，而且还可以包含这组节点的子集、子集的子集等等。本质上，超图的每条边只是树结构或有向无环图的一个内部节点，而节点就是叶子。从这个意义上来说，超图就是具有共享节点的树的集合(即内部节点或叶子可能出现在不同的树结构中)，反过来说，每个树的集合又可以理解为一个超图。因为树结构在计算机科学和许多数学分支中被广泛使用，所以超图的出现也是自然而然的。比如这种延伸是作为项代数的模型而自然产生的：边对应项，节点对应常量或变量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对于上述的超图，节点集提供了一种排序。但是该排序既不是偏序也不是预序，因为它是不可传递的。与这一延伸方式的Levi图相对应的图是有向无环图。例如，一个超图的节点集为&amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt;，边为&amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;。那么，虽然&amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;，但&amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;却不是真的。然而，这类超图节点集的封闭传递确实诱导了偏序，并将超图“展平”为一个偏序集。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第二种变体中，超图中的边可以指向其他边，同时不用考虑必须形成有向非循环图的要求。这允许超图具有边的循环，而不需要有任何节点。例如，考虑由两条边e1和e2组成的，节点个数为零的广义超图，使得&amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt;且&amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;。因为这个循环是无限递归的，所以边的集合违反了基础公理。具体来说，对于这样的超图，不存在节点集的封闭传递。虽然这样的结构乍看起来可能很奇怪，但只要注意到它的Levi图的等价延伸不再是二分图，而是一般的有向图，就可以很容易地去理解。&lt;br /&gt;
&lt;br /&gt;
根据定义，这种超图的广义关联矩阵是一个方阵，其秩等于节点和边的总数。因此，对于上面的示例，关联矩阵为XX。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   &lt;br /&gt;
&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图与机器学习==&lt;br /&gt;
&lt;br /&gt;
超图已被广泛用于机器学习中，常作为一种数据结构或一种正则化的方式[25]。这些应用包括推荐系统(社团作为超边)[26]、图像检索(相关性作为超边)[27]、和生物信息学(生物、化学分子间相互作用作为超边)[28]。比较典型的超图机器学习方法包括：超图谱聚类法（用超图Laplacian扩展光谱图理论）[29]和超图半监督学习（通过引入超图结构来对结果进行限定）。对于大尺寸的超图，可以使用Apache Spark构建的分布式框架[15]。&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* Hazewinkel, Michiel, ed. (2001) [1994], &amp;quot;Hypergraph&amp;quot;, [https://en.wikipedia.org/wiki/Encyclopedia_of_Mathematics Encyclopedia of Mathematics], Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* This article incorporates material from hypergraph on PlanetMath, which is licensed under the[https://en.wikipedia.org/wiki/Wikipedia:CC-BY-SA Creative Commons Attribution/Share-Alike License].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
*[https://book.douban.com/subject/1237624/ 《超图-限集的组合学》]by [法]Claude Berge&lt;br /&gt;
超图的第一本专著，作者是近代图论之父法国数学家Claude Berge，将图里的普通边拓展为超边，小小的一步拓展却引发了一个大的领域。&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4571</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4571"/>
		<updated>2020-04-22T09:04:57Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* Generalizations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)——十三维&lt;br /&gt;
*二分图模型+不对称性+同构与平等——淑慧&lt;br /&gt;
*对称超图+横截面——瑾晗&lt;br /&gt;
*关联矩阵+超图着色+分区---厚朴&lt;br /&gt;
*定理+超图绘制+超图语法——十三维&lt;br /&gt;
*概括+超图学习——世康&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==二部图模型 Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
[[File:bipartie graph.jpeg|200px|缩略图|右| 设&amp;lt;math&amp;gt;G=(V,E)&amp;lt;/math&amp;gt;是一个无向图，如果顶点V可分割为两个互不相交的子集&amp;lt;math&amp;gt; {(group1, group2)}&amp;lt;/math&amp;gt;，并且图中的每条边&amp;lt;math&amp;gt;{（i，j）}&amp;lt;/math&amp;gt;所关联的两个顶点&amp;lt;math&amp;gt;{i}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;{j}&amp;lt;/math&amp;gt;分别属于这两个不同的部分&amp;lt;math&amp;gt;{(i \in group1,j \in group2)}&amp;lt;/math&amp;gt;，则称图&amp;lt;math&amp;gt;{G}&amp;lt;/math&amp;gt;为一个二部图。]]&lt;br /&gt;
&lt;br /&gt;
一个'''超图“ &amp;lt;math&amp;gt;{H} &amp;lt;/math&amp;gt;”'''可以用二部图“&amp;lt;math&amp;gt;{BG} &amp;lt;/math&amp;gt;”表示，其构成如下: 集合&amp;quot;X&amp;quot;和&amp;quot; E&amp;quot;是&amp;quot;BG&amp;quot;的分割，而且 (&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;,  &amp;quot;e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;) 与边连通当且仅当顶点&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;包含在&amp;quot; &amp;lt;math&amp;gt;H &amp;lt;/math&amp;gt;&amp;quot;的边&amp;quot; e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;中。 反之，任何具有固定的'''部分 part'''且在第二部分中没有不连通节点的二部图也代表具有上述性质的部分超图。 这个二部图也称为'''关联图'''。&lt;br /&gt;
&lt;br /&gt;
==Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
与只有'''圈 cycle'''和'''森林 forest'''的普通无向图相比，对于超图的特殊情形，那些坍缩为平凡图的无环性超图有多种自然不等价的'''无环性 acyclicity''' 定义。&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
&lt;br /&gt;
由Claude Berge 给出了超图无环性的首个定义: &amp;lt;ref&amp;gt;Claude Berge,[https://www.amazon.com/Graphs-hypergraphs-North-Holland-mathematical-library/dp/0444103996 ''Graphs and Hypergraphs'']&amp;lt;/ref&amp;gt; 如果它的'''关联图'''(上面定义的二部图)是无环的，则称这个超图是 Berge 无环的 Berge-acyclic。 这个定义是非常严格的：例如，假设一个超图有一些顶点&amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt;和一些超边&amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; ，例如 &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;，那么它就是 Berge成环的 Berge-cyclic。 通过对关联图的探讨，Berge成环性 berge-cyclity可以在线性时间 linear time内得到有效验证 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
此处，我们可以定义一个减弱的超图无环性的概念&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt;，后来被称为 &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; acyclicity。 这个无环性的概念等价于超图是同构的(原图的每个团都被某个超边所覆盖) ，它的原图称为弦图 chordal graph ; 它也等价于通过 GYO 算法 Graham-Yu-Ozsoyoglu Algorithm （也称为格雷厄姆算法 Graham's algorithm) 得到具有可约性的空图&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt;。GYO 算法是一个合流 confluence（抽象重写 abstract rewriting）迭代过程，该算法中使用耳朵 ear的广义定义去除超边 (图论中的耳朵就定义为一条路径，其中除了端点外的点的度数均为 2（端点可以重合），而且删去后不破坏图的连通性)。总所周知， 在数据库理论  database theory 的领域中，如果一个数据库模式 database schema的底层超图是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的，那么它就具有某些理想的性质。 &amp;lt;ref&amp;gt;Serge Abiteboul, Richard B. Hull, Victor Vianu|V. Vianu, ''Foundations of Databases''&amp;lt;/ref&amp;gt; 除此之外,&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环性也与一阶逻辑 first-order logic 保护的片段 guarded fragment 的表达能力有关。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
我们可以在线性时间 linear time内检验超图是否是-无环的。 &amp;lt;ref&amp;gt;Robert Tarjan|R. E. Tarjan, Mihalis Yannakakis|M. Yannakakis. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
注意到&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环性似乎直觉不相符，即&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-成环超图添加超边可能使其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的（例如，添加一条包含超图所有顶点的超边总能其成为&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;-无环的）。 为了克服这个缺点，Ronald Fagin&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt;  定义了更强的 &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-acylicity 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;-acylicity 概念。 应当指出：&amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环超图是推出其所有子超图都是&amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt;无环的必要条件，这与 Graham 的早期定义&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; 等价。  &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性的概念是一个更加严苛的条件，它等价于数据库模式的几个理想性质，并且与Bachman 图 Bachman diagrams有关. &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;-无环性 和 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;无环性   都可以在多项式时间 polynomial time(PTIME)内完成检测。&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
无环性的四个概念具有可比性: berge-无环性意味着 &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\gamma}&amp;lt;/math&amp;gt;- 无环性又意味着  &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性， &amp;lt;math&amp;gt; {\beta}&amp;lt;/math&amp;gt;- 无环性又可以推出  &amp;lt;math&amp;gt; {\alpha}&amp;lt;/math&amp;gt; 无环性。 然而，反之均不成立。&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
分别设 &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt;， &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
每一个超图都有一个 &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;[[关联矩阵]]&amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt;其为：&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其关联矩阵的[[转设]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt;定义了 &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt;称为&amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;的'''对偶'''，其中&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;是一个''m''元集合 &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt;是一个&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;子集的''n''元集合。&lt;br /&gt;
&lt;br /&gt;
对于&amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[当且仅当]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
经典超图着色是将集合&amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt;中的其中一种颜色赋予给超图的每个顶点，使每个超边至少包含两个不同颜色的顶点。换句话说，不能存在基数至少为2的单色深边。从此意义上出发，它是通常图着色的直接推广。在所有着色行为中使用到最小的不同颜色数称为超图的色数。&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
存在着使用多达''k'' 种颜色着色的超图称为''k- 可着色图''。'''2-可染超图就是二分图'''。&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
经典超图着色有许多推广。在允许单色边情况下，混合超图着色是其中之一。一些混合超图对于任意数量的颜色都是不可着色的。同时不可着色性的内在标准是未知的。当一个混合超图是可着色时，其所使用的最小和最大颜色数分别称为下色数和上色数。详情请参阅 http://spectrum.troy.edu/voloshin/mh.html&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt;所提出的一个分区定理表明，对于边传递超图 &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;存在一个[[分区]]:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;对于顶点集 &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;使得由&amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt;生成的子超图&amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt;在&amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;时是可传递的，并且使得&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt;是 ''H''的秩。&lt;br /&gt;
&lt;br /&gt;
作为推论，不是点传递的边传递超图则是双色的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[图分区]](特别是超图分区)在集成电路设计&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; 和并行计算&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt;中有很多应用。在机器学习任务中，高效、可扩展的[[超图分区算法]]对于处理大规模超图也很重要。&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
== Generalizations ==   &lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
超图的相关概念可以进行进一步的延伸，如超图中的一些边可以指向另一些边。这种延伸有两种变体。在第一种变体中，超图的边不仅包含一组节点，而且还可以包含这组节点的子集、子集的子集等等。本质上，超图的每条边只是树结构或有向无环图的一个内部节点，而节点就是叶子。从这个意义上来说，超图就是具有共享节点的树的集合(即内部节点或叶子可能出现在不同的树结构中)，反过来说，每个树的集合又可以理解为一个超图。因为树结构在计算机科学和许多数学分支中被广泛使用，所以超图的出现也是自然而然的。比如这种延伸是作为项代数的模型而自然产生的：边对应项，节点对应常量或变量。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对于上述的超图，节点集提供了一种排序。但是该排序既不是偏序也不是预序，因为它是不可传递的。与这一延伸方式的Levi图相对应的图是有向无环图。例如，一个超图的节点集为V={a，b}，边为e1={a，b}和e2={a，e1}。那么，虽然b∈e1且e1∈e2，但b∈e2却不是真的。然而，这类超图节点集的封闭传递确实诱导了偏序，并将超图“展平”为一个偏序集。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第二种变体中，超图中的边可以指向其他边，同时不用考虑必须形成有向非循环图的要求。这允许超图具有边的循环，而不需要有任何节点。例如，考虑由两条边e1和e2组成的，节点个数为零的广义超图，使得e1={e2}且e2={e1}。因为这个循环是无限递归的，所以边的集合违反了基础公理。具体来说，对于这样的超图，不存在节点集的封闭传递。虽然这样的结构乍看起来可能很奇怪，但只要注意到它的Levi图的等价延伸不再是二分图，而是一般的有向图，就可以很容易地去理解。&lt;br /&gt;
&lt;br /&gt;
根据定义，这种超图的广义关联矩阵是一个方阵，其秩等于节点和边的总数。因此，对于上面的示例，关联矩阵为XX。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   &lt;br /&gt;
&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图与机器学习==&lt;br /&gt;
&lt;br /&gt;
超图已被广泛用于机器学习中，常作为一种数据结构或一种正则化的方式[25]。这些应用包括推荐系统(社团作为超边)[26]、图像检索(相关性作为超边)[27]、和生物信息学(生物、化学分子间相互作用作为超边)[28]。比较典型的超图机器学习方法包括：超图谱聚类法（用超图Laplacian扩展光谱图理论）[29]和超图半监督学习（通过引入超图结构来对结果进行限定）。对于大尺寸的超图，可以使用Apache Spark构建的分布式框架[15]。&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* Hazewinkel, Michiel, ed. (2001) [1994], &amp;quot;Hypergraph&amp;quot;, [https://en.wikipedia.org/wiki/Encyclopedia_of_Mathematics Encyclopedia of Mathematics], Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* This article incorporates material from hypergraph on PlanetMath, which is licensed under the[https://en.wikipedia.org/wiki/Wikipedia:CC-BY-SA Creative Commons Attribution/Share-Alike License].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
*[https://book.douban.com/subject/1237624/ 《超图-限集的组合学》]by [法]Claude Berge&lt;br /&gt;
超图的第一本专著，作者是近代图论之父法国数学家Claude Berge，将图里的普通边拓展为超边，小小的一步拓展却引发了一个大的领域。&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4569</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4569"/>
		<updated>2020-04-22T09:03:57Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* Hypergraph learning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)——十三维&lt;br /&gt;
*二分图模型+不对称性+同构与平等——淑慧&lt;br /&gt;
*对称超图+横截面——瑾晗&lt;br /&gt;
*关联矩阵+超图着色+分区---厚朴&lt;br /&gt;
*定理+超图绘制+超图语法——十三维&lt;br /&gt;
*概括+超图学习——世康&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==二部图模型 Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
[[File:bipartie graph.jpeg|200px|缩略图|右| 设&amp;lt;math&amp;gt;G=(V,E)&amp;lt;/math&amp;gt;是一个无向图，如果顶点V可分割为两个互不相交的子集&amp;lt;math&amp;gt; {(group1, group2)}&amp;lt;/math&amp;gt;，并且图中的每条边&amp;lt;math&amp;gt;{（i，j）}&amp;lt;/math&amp;gt;所关联的两个顶点&amp;lt;math&amp;gt;{i}&amp;lt;/math&amp;gt;和&amp;lt;math&amp;gt;{j}&amp;lt;/math&amp;gt;分别属于这两个不同的部分&amp;lt;math&amp;gt;{(i \in group1,j \in group2)}&amp;lt;/math&amp;gt;，则称图&amp;lt;math&amp;gt;{G}&amp;lt;/math&amp;gt;为一个二部图。]]&lt;br /&gt;
&lt;br /&gt;
一个'''超图“ &amp;lt;math&amp;gt;{H} &amp;lt;/math&amp;gt;”'''可以用二部图“&amp;lt;math&amp;gt;{BG} &amp;lt;/math&amp;gt;”表示，其构成如下: 集合&amp;quot;X&amp;quot;和&amp;quot; E&amp;quot;是&amp;quot;BG&amp;quot;的分割，而且 (&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;,  &amp;quot;e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;) 与边连通当且仅当顶点&amp;quot;x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;包含在&amp;quot; &amp;lt;math&amp;gt;H &amp;lt;/math&amp;gt;&amp;quot;的边&amp;quot; e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;quot;中。 反之，任何具有固定的'''部分 part'''且在第二部分中没有不连通节点的二部图也代表具有上述性质的部分超图。 这个二部图也称为'''关联图'''。&lt;br /&gt;
&lt;br /&gt;
==Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
与只有'''圈 cycle'''和'''森林 forest'''的普通无向图相比，对于超图的特殊情形，那些坍缩为平凡图的非循环性超图有多种自然不等价的'''非循环性 acyclicity''' 定义。&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
由Claude Berge 给出了超图非循环性的首个定义: &amp;lt;ref&amp;gt;Claude Berge,[https://www.amazon.com/Graphs-hypergraphs-North-Holland-mathematical-library/dp/0444103996 ''Graphs and Hypergraphs'']&amp;lt;/ref&amp;gt; 如果它的'''关联图'''(上面定义的二部图)是非循环的，则称这个超图是 Berge 不循环的。 这个定义是非常严格的：例如，假设一个超图有一些顶点&amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt;和一些超边&amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; ，例如 math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; 和&amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;，那么它就是 Berge循环的 Berge-cyclic。 通过对关联图的探讨，Berge循环 berge-cyclity可以在线性时间 linear time内得到有效验证 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
分别设 &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt;， &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;。&lt;br /&gt;
每一个超图都有一个 &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt;[[关联矩阵]]&amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt;其为：&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其关联矩阵的[[转设]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt;定义了 &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt;称为&amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;的'''对偶'''，其中&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;是一个''m''元集合 &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt;是一个&amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;子集的''n''元集合。&lt;br /&gt;
&lt;br /&gt;
对于&amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[当且仅当]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
经典超图着色是将集合&amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt;中的其中一种颜色赋予给超图的每个顶点，使每个超边至少包含两个不同颜色的顶点。换句话说，不能存在基数至少为2的单色深边。从此意义上出发，它是通常图着色的直接推广。在所有着色行为中使用到最小的不同颜色数称为超图的色数。&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
存在着使用多达''k'' 种颜色着色的超图称为''k- 可着色图''。'''2-可染超图就是二分图'''。&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
经典超图着色有许多推广。在允许单色边情况下，混合超图着色是其中之一。一些混合超图对于任意数量的颜色都是不可着色的。同时不可着色性的内在标准是未知的。当一个混合超图是可着色时，其所使用的最小和最大颜色数分别称为下色数和上色数。详情请参阅 http://spectrum.troy.edu/voloshin/mh.html&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt;所提出的一个分区定理表明，对于边传递超图 &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;存在一个[[分区]]:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;对于顶点集 &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;使得由&amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt;生成的子超图&amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt;在&amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;时是可传递的，并且使得&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;，其中&amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt;是 ''H''的秩。&lt;br /&gt;
&lt;br /&gt;
作为推论，不是点传递的边传递超图则是双色的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[图分区]](特别是超图分区)在集成电路设计&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; 和并行计算&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt;中有很多应用。在机器学习任务中，高效、可扩展的[[超图分区算法]]对于处理大规模超图也很重要。&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
== Generalizations ==   &lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   &lt;br /&gt;
&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==超图与机器学习==&lt;br /&gt;
&lt;br /&gt;
超图已被广泛用于机器学习中，常作为一种数据结构或一种正则化的方式[25]。这些应用包括推荐系统(社团作为超边)[26]、图像检索(相关性作为超边)[27]、和生物信息学(生物、化学分子间相互作用作为超边)[28]。比较典型的超图机器学习方法包括：超图谱聚类法（用超图Laplacian扩展光谱图理论）[29]和超图半监督学习（通过引入超图结构来对结果进行限定）。对于大尺寸的超图，可以使用Apache Spark构建的分布式框架[15]。&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* Hazewinkel, Michiel, ed. (2001) [1994], &amp;quot;Hypergraph&amp;quot;, [https://en.wikipedia.org/wiki/Encyclopedia_of_Mathematics Encyclopedia of Mathematics], Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* This article incorporates material from hypergraph on PlanetMath, which is licensed under the[https://en.wikipedia.org/wiki/Wikipedia:CC-BY-SA Creative Commons Attribution/Share-Alike License].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
*[https://book.douban.com/subject/1237624/ 《超图-限集的组合学》]by [法]Claude Berge&lt;br /&gt;
超图的第一本专著，作者是近代图论之父法国数学家Claude Berge，将图里的普通边拓展为超边，小小的一步拓展却引发了一个大的领域。&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4447</id>
		<title>超图 Hypergraph</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E8%B6%85%E5%9B%BE_Hypergraph&amp;diff=4447"/>
		<updated>2020-04-22T01:13:37Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
我们在组织翻译超图这个词条，这个词条是之前Wolfram发的那篇长文中一个非常重要的概念，我们希望可以整理好这个词条，帮助大家更好的理解那篇文章。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
现在招募6个小伙伴一起翻译超图这个词条 https://wiki.swarma.org/index.php?title=超图_Hypergraph&lt;br /&gt;
&lt;br /&gt;
*开头正文部分+术语定义（Terminology)&lt;br /&gt;
*二分图模型+不稳定性+同构与平等&lt;br /&gt;
*对称超图+横截面&lt;br /&gt;
*关联矩阵+超图着色+分区&lt;br /&gt;
*定理+超图绘制+超图语法&lt;br /&gt;
*概括+超图学习&lt;br /&gt;
&lt;br /&gt;
截止时间：北京时间18：00之前。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], a '''hypergraph''' is a generalization of a [[Graph (discrete mathematics)|graph]] in which an [[graph theory|edge]] can join any number of [[vertex (graph theory)|vertices]]. In contrast, in an ordinary graph, an edge connects exactly two vertices. Formally, a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a pair &amp;lt;math&amp;gt;H = (X,E)&amp;lt;/math&amp;gt; where &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; is a set of elements called ''nodes'' or ''vertices'', and &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a set of non-empty subsets of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; called ''[[hyperedges]]'' or ''edges''. Therefore, &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; is a subset of &amp;lt;math&amp;gt;\mathcal{P}(X) \setminus\{\emptyset\}&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;\mathcal{P}(X)&amp;lt;/math&amp;gt; is the [[power set]] of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. The size of the vertex set is called the ''order of the hypergraph'', and the size of edges set is the ''size of the hypergraph''. &lt;br /&gt;
&lt;br /&gt;
While graph edges are 2-element subsets of nodes, hyperedges are arbitrary sets of nodes, and can therefore contain an arbitrary number of nodes. However, it is often desirable to study hypergraphs where all hyperedges have the same cardinality; a ''k-uniform hypergraph'' is a hypergraph such that all its hyperedges have size ''k''. (In other words, one such hypergraph is a collection of sets, each such set a hyperedge connecting ''k'' nodes.) So a 2-uniform hypergraph is a graph, a 3-uniform hypergraph is a collection of unordered triples, and so on. A hypergraph is also called a ''set system'' or a ''[[family of sets]]'' drawn from the [[universal set]]. &lt;br /&gt;
&lt;br /&gt;
Hypergraphs can be viewed as [[incidence structure]]s.  In particular, there is a bipartite &amp;quot;incidence graph&amp;quot; or &amp;quot;[[Levi graph]]&amp;quot; corresponding to every hypergraph, and conversely, most, but not all, [[bipartite graph]]s can be regarded as incidence graphs of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs have many other names.  In [[computational geometry]], a hypergraph may sometimes be called a '''range space''' and then the hyperedges are called ''ranges''.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Haussler | first1 = David | author1-link = David Haussler&lt;br /&gt;
 | last2 = Welzl | first2 = Emo | author2-link = Emo Welzl&lt;br /&gt;
 | doi = 10.1007/BF02187876&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Discrete and Computational Geometry]]&lt;br /&gt;
 | mr = 884223&lt;br /&gt;
 | pages = 127–151&lt;br /&gt;
 | title = ε-nets and simplex range queries&lt;br /&gt;
 | volume = 2&lt;br /&gt;
 | year = 1987| doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
In [[cooperative game]] theory, hypergraphs are called '''simple games''' (voting games); this notion is applied to solve problems in [[social choice theory]].  In some literature edges are referred to as ''hyperlinks'' or ''connectors''.&amp;lt;ref&amp;gt;Judea Pearl, in ''HEURISTICS Intelligent Search Strategies for Computer Problem Solving'', Addison Wesley (1984), p. 25.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Special kinds of hypergraphs include: [[#Symmetric hypergraphs|''k''-uniform ones]], as discussed briefly above; [[clutter (mathematics)|clutter]]s, where no edge appears as a subset of another edge; and [[abstract simplicial complex]]es, which contain all subsets of every edge.&lt;br /&gt;
&lt;br /&gt;
The collection of hypergraphs is a [[Category (mathematics)|category]] with hypergraph [[homomorphism]]s as [[morphism]]s.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
==== Definitions ====&lt;br /&gt;
There are different types of hypergraphs such as:&lt;br /&gt;
* ''Empty hypergraph'': a hypergraph with no edges. &lt;br /&gt;
* ''Non-simple (or multiple) hypergraph'': a hypergraph allowing loops (hyperedges with a single vertex) or repeated edges, which means there can be two or more edges containing the same set of vertices.&lt;br /&gt;
* ''Simple hypergraph'': a hypergraph that contains no loops and no repeated edges.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;k &amp;lt;/math&amp;gt;-uniform hypergraph'': a hypergraph where each edge contains precisely &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; vertices.&lt;br /&gt;
* ''&amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;-regular hypergraph'': a hypergraph where every vertex has degree &amp;lt;math&amp;gt;d &amp;lt;/math&amp;gt;.&lt;br /&gt;
* ''Acyclic hypergraph'': a hypergraph that does not contain any cycles.&lt;br /&gt;
&lt;br /&gt;
Because hypergraph links can have any cardinality, there are several notions of the concept of a subgraph, called ''subhypergraphs'', ''partial hypergraphs'' and ''section hypergraphs''.&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; be the hypergraph consisting of vertices&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X = \lbrace x_i | i \in I_v \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and having ''edge set''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;E = \lbrace e_i | i\in I_e \land e_i \subseteq X \land e_i \neq \emptyset \rbrace,&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;I_v&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;I_e&amp;lt;/math&amp;gt; are the [[index set]]s of the vertices and edges respectively.&lt;br /&gt;
&lt;br /&gt;
A ''subhypergraph'' is a hypergraph with some vertices removed.  Formally, the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; induced by &amp;lt;math&amp;gt;A \subseteq X &amp;lt;/math&amp;gt; is defined as&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_A=\left(A, \lbrace e \cap A | e \in E \land&lt;br /&gt;
e \cap A \neq \emptyset \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An ''extension'' of a ''subhypergraph'' is a hypergraph where each&lt;br /&gt;
hyperedge of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; which is partially contained in the subhypergraph &amp;lt;math&amp;gt;H_A&amp;lt;/math&amp;gt; and is fully contained in the extension &amp;lt;math&amp;gt;Ex(H_A)&amp;lt;/math&amp;gt;.&lt;br /&gt;
Formally&lt;br /&gt;
:&amp;lt;math&amp;gt;Ex(H_A) = (A \cup A', E' )&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;A' = \bigcup_{e \in E} e \setminus A&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E' = \lbrace e \in E | e \subseteq (A \cup A') \rbrace&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The ''partial hypergraph'' is a hypergraph with some edges removed. Given a subset &amp;lt;math&amp;gt;J \subset I_e&amp;lt;/math&amp;gt; of the edge index set, the partial hypergraph generated by &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; is the hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(X, \lbrace e_i | i\in J \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Given a subset &amp;lt;math&amp;gt;A\subseteq X&amp;lt;/math&amp;gt;, the ''section hypergraph'' is the partial hypergraph&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \times A = \left(A, \lbrace e_i | &lt;br /&gt;
i\in I_e \land e_i \subseteq A   \rbrace \right).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''dual''' &amp;lt;math&amp;gt;H^*&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is a hypergraph whose vertices and edges are interchanged, so that the vertices are given by &amp;lt;math&amp;gt;\lbrace e_i \rbrace&amp;lt;/math&amp;gt; and whose edges are given by &amp;lt;math&amp;gt;\lbrace X_m \rbrace&amp;lt;/math&amp;gt; where&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_m = \lbrace e_i | x_m \in e_i \rbrace. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a notion of equality is properly defined, as done below, the operation of taking the dual of a hypergraph is an [[involution (mathematics)|involution]], i.e.,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right)^* = H.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A [[connected graph]] ''G'' with the same vertex set as a connected hypergraph ''H'' is a '''host graph''' for ''H'' if every hyperedge of ''H'' [[induced subgraph|induces]] a connected subgraph in  ''G''. For a disconnected hypergraph ''H'', ''G'' is a host graph if there is a bijection between the [[connected component (graph theory)|connected components]] of ''G'' and of ''H'', such that each connected component ''G&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'' of ''G'' is a host of the corresponding ''H&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is ''bipartite'' if and only if its vertices can be partitioned into two classes ''U'' and ''V'' in such a way that each hyperedge with cardinality at least 2 contains at least one vertex from both classes. Alternatively, such a hypergraph is said to have [[Property B]].&lt;br /&gt;
&lt;br /&gt;
The '''2-section''' (or '''clique graph''', '''representing graph''', '''primal graph''', '''Gaifman graph''') of a hypergraph is the graph with the same vertices of the hypergraph, and edges between all pairs of vertices contained in the same hyperedge.&lt;br /&gt;
&lt;br /&gt;
==Bipartite graph model==&lt;br /&gt;
A hypergraph ''H'' may be represented by a [[bipartite graph]] ''BG'' as follows: the sets ''X'' and ''E'' are the partitions of ''BG'', and (''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'',  ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'') are connected with an edge if and only if vertex ''x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' is contained in edge ''e&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' in ''H''. Conversely, any bipartite graph with fixed parts and no unconnected nodes in the second part represents some hypergraph in the manner described above. This bipartite graph is also called [[incidence graph]].&lt;br /&gt;
&lt;br /&gt;
==Acyclicity==&lt;br /&gt;
In contrast with ordinary undirected graphs for which there is a single natural notion of [[cycle (graph theory)|cycles]] and [[Forest (graph theory)|acyclic graphs]], there are multiple natural non-equivalent definitions of acyclicity for hypergraphs which collapse to ordinary graph acyclicity for the special case of ordinary graphs.&lt;br /&gt;
&lt;br /&gt;
A first definition of acyclicity for hypergraphs was given by [[Claude Berge]]:&amp;lt;ref&amp;gt;[[Claude Berge]], ''Graphs and Hypergraphs''&amp;lt;/ref&amp;gt; a hypergraph is Berge-acyclic if its [[incidence graph]] (the [[bipartite graph]] defined above) is acyclic. This definition is very restrictive: for instance, if a hypergraph has some pair &amp;lt;math&amp;gt;v \neq v'&amp;lt;/math&amp;gt; of vertices and some pair &amp;lt;math&amp;gt;f \neq f'&amp;lt;/math&amp;gt; of hyperedges such that &amp;lt;math&amp;gt;v, v' \in f&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;v, v' \in f'&amp;lt;/math&amp;gt;, then it is Berge-cyclic. Berge-cyclicity can obviously be tested in [[linear time]] by an exploration of the incidence graph.&lt;br /&gt;
&lt;br /&gt;
We can define a weaker notion of hypergraph acyclicity,&amp;lt;ref&amp;gt;C. Beeri, [[Ronald Fagin|R. Fagin]], D. Maier, [[Mihalis Yannakakis|M. Yannakakis]], ''On the Desirability of Acyclic Database Schemes''&amp;lt;/ref&amp;gt; later termed α-acyclicity. This notion of acyclicity is equivalent to the hypergraph being conformal (every clique of the primal graph is covered by some hyperedge) and its primal graph being [[chordal graph|chordal]]; it is also equivalent to reducibility to the empty graph through the GYO algorithm&amp;lt;ref&amp;gt;C. T. Yu and M. Z. Özsoyoğlu. ''[https://www.computer.org/csdl/proceedings/cmpsac/1979/9999/00/00762509.pdf An algorithm for tree-query membership of a distributed query]''. In Proc. IEEE COMPSAC, pages 306-312, 1979&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;&amp;gt;M. H. Graham. ''On the universal relation''. Technical Report, University of Toronto, Toronto, Ontario, Canada, 1979&amp;lt;/ref&amp;gt; (also known as Graham's algorithm), a [[confluence (abstract rewriting)|confluent]] iterative process which removes hyperedges using a generalized definition of [[ear (graph theory)|ears]]. In the domain of [[database theory]], it is known that a [[database schema]] enjoys certain desirable properties if its underlying hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Serge Abiteboul|S. Abiteboul]], [[Richard B. Hull|R. B. Hull]], [[Victor Vianu|V. Vianu]], ''Foundations of Databases''&amp;lt;/ref&amp;gt; Besides, α-acyclicity is also related to the expressiveness of the [[guarded fragment]] of [[first-order logic]].&lt;br /&gt;
&lt;br /&gt;
We can test in [[linear time]] if a hypergraph is α-acyclic.&amp;lt;ref&amp;gt;[[Robert Tarjan|R. E. Tarjan]], [[Mihalis Yannakakis|M. Yannakakis]]. ''Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs''. SIAM J. on Computing, 13(3):566-579, 1984.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that α-acyclicity has the counter-intuitive property that adding hyperedges to an α-cyclic hypergraph may make it α-acyclic (for instance, adding a hyperedge containing all vertices of the hypergraph will always make it α-acyclic). Motivated in part by this perceived shortcoming, [[Ronald Fagin]]&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;&amp;gt;[[Ronald Fagin]], ''Degrees of Acyclicity for Hypergraphs and Relational Database Schemes''&amp;lt;/ref&amp;gt; defined the stronger notions of β-acyclicity and γ-acyclicity. We can state β-acyclicity as the requirement that all subhypergraphs of the hypergraph are α-acyclic, which is equivalent&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot;/&amp;gt; to an earlier definition by Graham.&amp;lt;ref name=&amp;quot;graham1979universal&amp;quot;/&amp;gt; The notion of γ-acyclicity is a more restrictive condition which is equivalent to several desirable properties of database schemas and is related to [[Bachman diagram]]s. Both β-acyclicity and γ-acyclicity can be tested in [[PTIME|polynomial time]].&lt;br /&gt;
&lt;br /&gt;
Those four notions of acyclicity are comparable: Berge-acyclicity implies γ-acyclicity which implies β-acyclicity which implies α-acyclicity. However, none of the reverse implications hold, so those four notions are different.&amp;lt;ref name=&amp;quot;fagin1983degrees&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Isomorphism and equality==&lt;br /&gt;
A hypergraph [[homomorphism]] is a map from the vertex set of one hypergraph to another such that each edge maps to one other edge.&lt;br /&gt;
&lt;br /&gt;
A hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt; is ''isomorphic'' to a hypergraph &amp;lt;math&amp;gt;G=(Y,F)&amp;lt;/math&amp;gt;,  written as &amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if there exists a [[bijection]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi:X \to Y&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a [[permutation]] &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; of &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bijection &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; is then called the [[isomorphism]] of the graphs.  Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H \simeq G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \simeq G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When the edges of a hypergraph are explicitly labeled, one has the additional notion of ''strong isomorphism''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''strongly isomorphic'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; if the permutation is the identity. One then writes &amp;lt;math&amp;gt;H \cong G&amp;lt;/math&amp;gt;.  Note that all strongly isomorphic graphs are isomorphic, but not vice versa.&lt;br /&gt;
&lt;br /&gt;
When the vertices of a hypergraph are explicitly labeled, one has the notions of ''equivalence'', and also of ''equality''. One says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is ''equivalent'' to &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if the isomorphism &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; has&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(x_n) = y_n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi(e_i) = f_{\pi(i)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;H^* \cong G^*&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If, in addition, the permutation &amp;lt;math&amp;gt;\pi&amp;lt;/math&amp;gt; is the identity, one says that &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; equals &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and writes &amp;lt;math&amp;gt;H=G&amp;lt;/math&amp;gt;.  Note that, with this definition of equality, graphs are self-dual:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left(H^*\right) ^* = H&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A hypergraph [[automorphism]] is an isomorphism from a vertex set into itself, that is a relabeling of vertices. The set of automorphisms of a hypergraph ''H'' (= (''X'',&amp;amp;nbsp;''E'')) is a [[group (mathematics)|group]] under composition, called the [[automorphism group]] of the hypergraph and written Aut(''H'').&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Consider the hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; with edges&lt;br /&gt;
:&amp;lt;math&amp;gt;H = \lbrace&lt;br /&gt;
e_1 = \lbrace a,b \rbrace,&lt;br /&gt;
e_2 = \lbrace b,c \rbrace,&lt;br /&gt;
e_3 = \lbrace c,d \rbrace,&lt;br /&gt;
e_4 = \lbrace d,a \rbrace,&lt;br /&gt;
e_5 = \lbrace b,d \rbrace,&lt;br /&gt;
e_6 = \lbrace a,c \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt;G = \lbrace&lt;br /&gt;
f_1 = \lbrace \alpha,\beta \rbrace,&lt;br /&gt;
f_2 = \lbrace \beta,\gamma \rbrace,&lt;br /&gt;
f_3 = \lbrace \gamma,\delta \rbrace,&lt;br /&gt;
f_4 = \lbrace \delta,\alpha \rbrace,&lt;br /&gt;
f_5 = \lbrace \alpha,\gamma \rbrace,&lt;br /&gt;
f_6 = \lbrace \beta,\delta \rbrace&lt;br /&gt;
\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clearly &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are isomorphic (with &amp;lt;math&amp;gt;\phi(a)=\alpha&amp;lt;/math&amp;gt;, ''etc.''), but they are not strongly isomorphic. So, for example, in &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, vertex &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; meets edges 1, 4 and 6, so that,&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;e_1 \cap e_4 \cap e_6 = \lbrace a\rbrace&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, there does not exist any vertex that meets edges 1, 4 and 6:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f_1 \cap f_4 \cap f_6 = \varnothing&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; are equivalent, &amp;lt;math&amp;gt;H\equiv G&amp;lt;/math&amp;gt;, and the duals are strongly isomorphic: &amp;lt;math&amp;gt;H^*\cong G^*&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Symmetric hypergraphs==&lt;br /&gt;
The ''{{visible anchor|rank}}'' &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; of a hypergraph &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; is the maximum cardinality of any of the edges in the hypergraph.  If all edges have the same cardinality ''k'', the hypergraph is said to be ''uniform'' or ''k-uniform'', or is called a ''k-hypergraph''.  A graph is just a 2-uniform hypergraph.&lt;br /&gt;
&lt;br /&gt;
The degree ''d(v)'' of a vertex ''v'' is the number of edges that contain it. ''H'' is ''k-regular'' if every vertex has degree ''k''.&lt;br /&gt;
&lt;br /&gt;
The dual of a uniform hypergraph is regular and vice versa.&lt;br /&gt;
&lt;br /&gt;
Two vertices ''x'' and ''y'' of ''H'' are called ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(x)=y&amp;lt;/math&amp;gt;.  Two edges &amp;lt;math&amp;gt;e_i&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_j&amp;lt;/math&amp;gt; are said to be  ''symmetric'' if there exists an automorphism such that &amp;lt;math&amp;gt;\phi(e_i)=e_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A hypergraph is said to be ''vertex-transitive'' (or ''vertex-symmetric'') if all of its vertices are symmetric. Similarly, a hypergraph is ''edge-transitive'' if all edges are symmetric. If a hypergraph is both edge- and vertex-symmetric, then the hypergraph is simply ''transitive''.&lt;br /&gt;
&lt;br /&gt;
Because of hypergraph duality, the study of edge-transitivity is identical to the study of vertex-transitivity.&lt;br /&gt;
&lt;br /&gt;
==Transversals==&lt;br /&gt;
A ''[[Transversal (combinatorics)|transversal]]'' (or &amp;quot;[[hitting set]]&amp;quot;) of a hypergraph ''H'' = (''X'', ''E'') is a set &amp;lt;math&amp;gt;T\subseteq X&amp;lt;/math&amp;gt; that has nonempty [[intersection (set theory)|intersection]] with every edge. A transversal ''T'' is called ''minimal'' if no proper subset of ''T'' is a transversal. The ''transversal hypergraph'' of ''H'' is the hypergraph (''X'', ''F'') whose edge set ''F'' consists of all minimal transversals of ''H''.&lt;br /&gt;
&lt;br /&gt;
Computing the transversal hypergraph has applications in [[combinatorial optimization]], in [[game theory]], and in several fields of [[computer science]] such as [[machine learning]], [[Index (database)|indexing of database]]s, the [[Boolean satisfiability problem|satisfiability problem]], [[data mining]], and computer [[program optimization]].&lt;br /&gt;
&lt;br /&gt;
==Incidence matrix==&lt;br /&gt;
Let &amp;lt;math&amp;gt;V = \{v_1, v_2, ~\ldots, ~ v_n\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;E = \{e_1, e_2, ~ \ldots ~ e_m\}&amp;lt;/math&amp;gt;. Every hypergraph has an &amp;lt;math&amp;gt;n \times m&amp;lt;/math&amp;gt; [[incidence matrix]] &amp;lt;math&amp;gt;A = (a_{ij})&amp;lt;/math&amp;gt; where&lt;br /&gt;
:&amp;lt;math&amp;gt;a_{ij} = \left\{ \begin{matrix} 1 &amp;amp; \mathrm{if} ~ v_i \in e_j \\ 0 &amp;amp; \mathrm{otherwise}. \end{matrix} \right.&amp;lt;/math&amp;gt;&lt;br /&gt;
The [[transpose]] &amp;lt;math&amp;gt;A^t&amp;lt;/math&amp;gt; of the [[incidence (geometry)|incidence]] matrix defines a hypergraph &amp;lt;math&amp;gt;H^* = (V^*,\ E^*)&amp;lt;/math&amp;gt; called the '''dual''' of &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt; is an ''m''-element set and &amp;lt;math&amp;gt;E^*&amp;lt;/math&amp;gt; is an ''n''-element set of subsets of &amp;lt;math&amp;gt;V^*&amp;lt;/math&amp;gt;. For &amp;lt;math&amp;gt;v^*_j \in V^*&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e^*_i \in E^*, ~ v^*_j \in e^*_i&amp;lt;/math&amp;gt; [[if and only if]] &amp;lt;math&amp;gt;a_{ij} = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph coloring==&lt;br /&gt;
Classic hypergraph coloring is assigning one of the colors from set &amp;lt;math&amp;gt;\{1,2,3,...\lambda\}&amp;lt;/math&amp;gt; to every vertex of a hypergraph in such a way that each hyperedge contains at least two vertices of distinct colors. In other words, there must be no monochromatic hyperedge with cardinality at least 2. In this sense it is a direct generalization of graph coloring. Minimum number of used distinct colors over all colorings is called the chromatic number of a hypergraph.&lt;br /&gt;
&lt;br /&gt;
Hypergraphs for which there exists a coloring using up to ''k'' colors are referred to as ''k-colorable''. The 2-colorable hypergraphs are exactly the bipartite ones.&lt;br /&gt;
&lt;br /&gt;
There are many generalizations of classic hypergraph coloring. One of them is the so-called mixed hypergraph coloring, when monochromatic edges are allowed. Some mixed hypergraphs are uncolorable for any number of colors. A general criterion for uncolorability is unknown.  When a mixed hypergraph is colorable, then the minimum and maximum number of used colors are called the lower and upper chromatic numbers respectively. See http://spectrum.troy.edu/voloshin/mh.html for details.&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
A partition theorem due to E. Dauber&amp;lt;ref&amp;gt;E. Dauber, in ''Graph theory'', ed. F. Harary, Addison Wesley, (1969) p. 172.&amp;lt;/ref&amp;gt; states that, for an edge-transitive hypergraph &amp;lt;math&amp;gt;H=(X,E)&amp;lt;/math&amp;gt;, there exists a [[partition of a set|partition]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(X_1, X_2,\cdots,X_K)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
of the vertex set &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; such that the subhypergraph &amp;lt;math&amp;gt;H_{X_k}&amp;lt;/math&amp;gt; generated by &amp;lt;math&amp;gt;X_k&amp;lt;/math&amp;gt; is transitive for each &amp;lt;math&amp;gt;1\le k \le K&amp;lt;/math&amp;gt;, and such that&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sum_{k=1}^K r\left(H_{X_k} \right) = r(H)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r(H)&amp;lt;/math&amp;gt; is the rank of ''H''.&lt;br /&gt;
&lt;br /&gt;
As a corollary, an edge-transitive hypergraph that is not vertex-transitive is bicolorable.&lt;br /&gt;
&lt;br /&gt;
[[Graph partitioning]] (and in particular, hypergraph partitioning) has many applications to IC design&amp;lt;ref&amp;gt;{{Citation |title=Multilevel hypergraph partitioning: applications in VLSI domain |author=Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. |journal=IEEE Transactions on Very Large Scale Integration (VLSI) Systems |date=March 1999 |volume=7 |issue=1 |pages=69–79 |doi=10.1109/92.748202 |postscript=.|citeseerx=10.1.1.553.2367 }}&amp;lt;/ref&amp;gt; and parallel computing.&amp;lt;ref&amp;gt;{{Citation |doi=10.1016/S0167-8191(00)00048-X |title=Graph partitioning models for parallel computing |author= Hendrickson, B., Kolda, T.G. |journal=Parallel Computing | year=2000 |volume=26 |issue=12 |pages=1519–1545 |postscript=.|url=https://digital.library.unt.edu/ark:/67531/metadc684945/ |type=Submitted manuscript }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite conference |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=A Hypergraph Model for Mapping Repeated Sparse Matrix-Vector Product Computations onto Multicomputers |conference=Proc. International Conference on Hi Performance Computing (HiPC'95) |year=1995}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation |last1=Catalyurek |first1=U.V. |last2=Aykanat |first2=C. |title=Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication |journal=IEEE Transactions on Parallel and Distributed Systems |volume=10 |issue=7 |pages=673–693 |year=1999|doi=10.1109/71.780863 |postscript=. |citeseerx=10.1.1.67.2498 }}&amp;lt;/ref&amp;gt; Efficient and Scalable [[Graph partition|hypergraph partitioning algorithms]] are also important for processing large scale hypergraphs in machine learning tasks.&amp;lt;ref name=hyperx&amp;gt;{{citation|last1=Huang|first1=Jin|last2=Zhang|first2=Rui|last3=Yu|first3=Jeffrey Xu|journal=Proceedings of the IEEE International Conference on Data Mining|title=Scalable Hypergraph Learning and Processing|year=2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Theorems==&lt;br /&gt;
Many [[theorem]]s and concepts involving graphs also hold for hypergraphs. [[Ramsey's theorem]] and [[Line graph of a hypergraph]] are typical examples. Some methods for studying symmetries of graphs extend to hypergraphs.&lt;br /&gt;
&lt;br /&gt;
Two prominent theorems are the [[Erdős–Ko–Rado theorem]] and the [[Kruskal–Katona theorem]] on uniform hypergraphs.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph drawing==&lt;br /&gt;
[[File:CircuitoDosMallas.png|thumb|This [[circuit diagram]] can be interpreted as a drawing of a hypergraph in which four vertices (depicted as white rectangles and disks) are connected by three hyperedges drawn as trees.]]&lt;br /&gt;
Although hypergraphs are more difficult to draw on paper than graphs, several researchers have studied methods for the visualization of hypergraphs.&lt;br /&gt;
&lt;br /&gt;
In one possible visual representation for hypergraphs, similar to the standard [[graph drawing]] style in which curves in the plane are used to depict graph edges, a hypergraph's vertices are depicted as points, disks, or boxes, and its hyperedges are depicted as trees that have the vertices as their leaves.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Sander | first = G.&lt;br /&gt;
 | contribution = Layout of directed hypergraphs with orthogonal hyperedges&lt;br /&gt;
 | pages = 381–386&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = [[Lecture Notes in Computer Science]]&lt;br /&gt;
 | title = Proc. 11th International Symposium on Graph Drawing (GD 2003)&lt;br /&gt;
 | contribution-url = http://gdea.informatik.uni-koeln.de/585/1/hypergraph.ps&lt;br /&gt;
 | volume = 2912&lt;br /&gt;
 | year = 2003| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Eschbach | first1 = Thomas&lt;br /&gt;
 | last2 = Günther | first2 = Wolfgang&lt;br /&gt;
 | last3 = Becker | first3 = Bernd&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = [[Journal of Graph Algorithms and Applications]]&lt;br /&gt;
 | pages = 141–157&lt;br /&gt;
 | title = Orthogonal hypergraph drawing for improved visibility&lt;br /&gt;
 | url = http://jgaa.info/accepted/2006/EschbachGuentherBecker2006.10.2.pdf&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 2006 | doi=10.7155/jgaa.00122}}.&amp;lt;/ref&amp;gt; If the vertices are represented as points, the hyperedges may also be shown as smooth curves that connect sets of points, or as [[simple closed curve]]s that enclose sets of points.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last = Mäkinen | first = Erkki&lt;br /&gt;
 | doi = 10.1080/00207169008803875&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = International Journal of Computer Mathematics&lt;br /&gt;
 | pages = 177–185&lt;br /&gt;
 | title = How to draw a hypergraph&lt;br /&gt;
 | volume = 34&lt;br /&gt;
 | year = 1990}}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Bertault | first1 = François&lt;br /&gt;
 | last2 = Eades | first2 = Peter | author2-link = Peter Eades&lt;br /&gt;
 | contribution = Drawing hypergraphs in the subset standard&lt;br /&gt;
 | doi = 10.1007/3-540-44541-2_15&lt;br /&gt;
 | pages = 45–76&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 8th International Symposium on Graph Drawing (GD 2000)&lt;br /&gt;
 | volume = 1984&lt;br /&gt;
 | year = 2001| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-540-41554-1&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Naheed Anjum | first1 = Arafat&lt;br /&gt;
 | last2 = Bressan | first2 = Stéphane&lt;br /&gt;
 | contribution = Hypergraph Drawing by Force-Directed Placement&lt;br /&gt;
 | doi = 10.1007/978-3-319-64471-4_31&lt;br /&gt;
 | pages = 387–394&lt;br /&gt;
 | publisher = Springer International Publishing&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = 28th International Conference on Database and Expert Systems Applications (DEXA 2017)&lt;br /&gt;
 | volume = 10439&lt;br /&gt;
 | year = 2017| isbn = 978-3-319-64470-7&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Venn's four ellipse construction.svg|thumb|An order-4 Venn diagram, which can be interpreted as a subdivision drawing of a hypergraph with 15 vertices (the 15 colored regions) and 4 hyperedges (the 4 ellipses).]]&lt;br /&gt;
In another style of hypergraph visualization, the subdivision model of hypergraph drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Kaufmann | first1 = Michael&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Speckmann | first3 = Bettina | author3-link = Bettina Speckmann&lt;br /&gt;
 | contribution = Subdivision drawings of hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-00219-9_39&lt;br /&gt;
 | pages = 396–407&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 16th International Symposium on Graph Drawing (GD 2008)&lt;br /&gt;
 | volume = 5417&lt;br /&gt;
 | year = 2009| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-00218-2&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt; the plane is subdivided into regions, each of which represents a single vertex of the hypergraph. The hyperedges of the hypergraph are represented by contiguous subsets of these regions, which may be indicated by coloring, by drawing outlines around them, or both. An order-''n'' [[Venn diagram]], for instance, may be viewed as a subdivision drawing of a hypergraph with ''n'' hyperedges (the curves defining the diagram) and 2&amp;lt;sup&amp;gt;''n''&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1 vertices (represented by the regions into which these curves subdivide the plane). In contrast with the polynomial-time recognition of [[planar graph]]s, it is [[NP-complete]] to determine whether a hypergraph has a planar subdivision drawing,&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Johnson | first1 = David S. | author1-link = David S. Johnson&lt;br /&gt;
 | last2 = Pollak | first2 = H. O.&lt;br /&gt;
 | doi = 10.1002/jgt.3190110306&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Journal of Graph Theory&lt;br /&gt;
 | pages = 309–325&lt;br /&gt;
 | title = Hypergraph planarity and the complexity of drawing Venn diagrams&lt;br /&gt;
 | volume = 11&lt;br /&gt;
 | year = 2006}}.&amp;lt;/ref&amp;gt; but the existence of a drawing of this type may be tested efficiently when the adjacency pattern of the regions is constrained to be a path, cycle, or tree.&amp;lt;ref&amp;gt;{{citation&lt;br /&gt;
 | last1 = Buchin | first1 = Kevin&lt;br /&gt;
 | last2 = van Kreveld | first2 = Marc&lt;br /&gt;
 | last3 = Meijer | first3 = Henk&lt;br /&gt;
 | last4 = Speckmann | first4 = Bettina&lt;br /&gt;
 | last5 = Verbeek | first5 = Kevin&lt;br /&gt;
 | contribution = On planar supports for hypergraphs&lt;br /&gt;
 | doi = 10.1007/978-3-642-11805-0_33&lt;br /&gt;
 | pages = 345–356&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes in Computer Science&lt;br /&gt;
 | title = Proc. 17th International Symposium on Graph Drawing (GD 2009)&lt;br /&gt;
 | volume = 5849&lt;br /&gt;
 | year = 2010| title-link = International Symposium on Graph Drawing&lt;br /&gt;
 | isbn = 978-3-642-11804-3&lt;br /&gt;
 | doi-access = free&lt;br /&gt;
 }}.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative representation of the hypergraph called PAOH&amp;lt;ref name=&amp;quot;paoh&amp;quot; /&amp;gt; is shown in the figure on top of this article. Edges are vertical lines connecting vertices. Vertices are aligned on the left. The legend on the right shows the names of the edges. It has been designed for dynamic hypergraphs but can be used for simple hypergraphs as well.&lt;br /&gt;
&lt;br /&gt;
==Hypergraph grammars==&lt;br /&gt;
{{main|Hypergraph grammar}}&lt;br /&gt;
By augmenting a class of hypergraphs with replacement rules, [[graph grammar]]s can be generalised to allow hyperedges.&lt;br /&gt;
&lt;br /&gt;
==Generalizations==   刘世康&lt;br /&gt;
One possible generalization of a hypergraph is to allow edges to point at other edges. There are two variations of this generalization. In one, the edges consist not only of a set of vertices, but may also contain subsets of vertices, subsets of subsets of vertices and so on ''ad infinitum''. In essence, every edge is just an internal node of a tree or [[directed acyclic graph]], and vertices are the leaf nodes. A hypergraph is then just a collection of trees with common, shared nodes (that is, a given internal node or leaf may occur in several different trees). Conversely, every collection of trees can be understood as this generalized hypergraph. Since trees are widely used throughout [[computer science]] and many other branches of mathematics, one could say that hypergraphs appear naturally as well. So, for example, this generalization arises naturally as a model of [[term algebra]]; edges correspond to [[term (logic)|terms]] and vertices correspond to constants or variables.&lt;br /&gt;
&lt;br /&gt;
For such a hypergraph, set membership then provides an ordering, but the ordering is neither a [[partial order]] nor a [[preorder]], since it is not transitive. The graph corresponding to the Levi graph of this generalization is a [[directed acyclic graph]]. Consider, for example, the generalized hypergraph whose vertex set is &amp;lt;math&amp;gt;V= \{a,b\}&amp;lt;/math&amp;gt; and whose edges are &amp;lt;math&amp;gt;e_1=\{a,b\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2=\{a,e_1\}&amp;lt;/math&amp;gt;. Then, although &amp;lt;math&amp;gt;b\in e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_1\in e_2&amp;lt;/math&amp;gt;, it is not true that &amp;lt;math&amp;gt;b\in e_2&amp;lt;/math&amp;gt;.  However, the [[transitive closure]] of set membership for such hypergraphs does induce a [[partial order]], and &amp;quot;flattens&amp;quot; the hypergraph into a [[partially ordered set]].&lt;br /&gt;
&lt;br /&gt;
Alternately, edges can be allowed to point at other edges, irrespective of the requirement that the edges be ordered as directed, acyclic graphs. This allows graphs with edge-loops, which need not contain vertices at all. For example, consider the generalized hypergraph consisting of two edges &amp;lt;math&amp;gt;e_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2&amp;lt;/math&amp;gt;, and zero vertices, so that &amp;lt;math&amp;gt;e_1 = \{e_2\}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;e_2 = \{e_1\}&amp;lt;/math&amp;gt;. As this loop is infinitely recursive, sets that are the edges violate the [[axiom of foundation]].  In particular, there is no transitive closure of set membership for such hypergraphs.  Although such structures may seem strange at first, they can be readily understood by noting that the equivalent generalization of their Levi graph is no longer [[Bipartite graph|bipartite]], but is rather just some general [[directed graph]].&lt;br /&gt;
&lt;br /&gt;
The generalized incidence matrix for such hypergraphs is, by definition, a square matrix, of a rank equal to the total number of vertices plus edges. Thus, for the above example, the [[incidence matrix]] is simply&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left[ \begin{matrix} 0 &amp;amp; 1 \\ 1 &amp;amp; 0 \end{matrix} \right].&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hypergraph learning==   刘世康&lt;br /&gt;
Hypergraphs have been extensively used in [[machine learning]] tasks as the data model and classifier [[regularization (mathematics)]].&amp;lt;ref&amp;gt;{{citation| last1 = Zhou | first1 = Dengyong| last2 = Huang | first2 = Jiayuan | last3=Scholkopf | first3=Bernhard| issue = 2| journal = Advances in Neural Information Processing Systems| pages = 1601–1608| title = Learning with hypergraphs: clustering, classification, and embedding| year = 2006}}&amp;lt;/ref&amp;gt; The applications include [[recommender system]] (communities as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Tan | first1=Shulong | last2=Bu | first2=Jiajun | last3=Chen | first3=Chun | last4=Xu | first4=Bin | last5=Wang | first5=Can | last6=He | first6=Xiaofei|issue = 1| journal = ACM Transactions on Multimedia Computing, Communications, and Applications| title = Using rich social media information for music recommendation via hypergraph model| year = 2013|url=https://www.researchgate.net/publication/226075153| bibcode=2011smma.book..213T }}&amp;lt;/ref&amp;gt; [[image retrieval]] (correlations as hyperedges),&amp;lt;ref&amp;gt;{{citation|last1=Liu | first1=Qingshan | last2=Huang | first2=Yuchi | last3=Metaxas | first3=Dimitris N. |issue = 10–11| journal = Pattern Recognition| title = Hypergraph with sampling for image retrieval| pages=2255–2262| year = 2013| doi=10.1016/j.patcog.2010.07.014 | volume=44}}&amp;lt;/ref&amp;gt; and [[bioinformatics]] (biochemical interactions as hyperedges).&amp;lt;ref&amp;gt;{{citation|last1=Patro |first1=Rob | last2=Kingsoford | first2=Carl| issue = 10–11| journal = Bioinformatics| title = Predicting protein interactions via parsimonious network history inference| year = 2013| pages=237–246|doi=10.1093/bioinformatics/btt224 |pmid=23812989 |pmc=3694678 | volume=29}}&amp;lt;/ref&amp;gt; Representative hypergraph learning techniques include hypergraph [[spectral clustering]] that extends the [[spectral graph theory]] with hypergraph Laplacian,&amp;lt;ref&amp;gt;{{citation|last1=Gao | first1=Tue | last2=Wang | first2=Meng | last3=Zha|first3=Zheng-Jun|last4=Shen|first4=Jialie|last5=Li|first5=Xuelong|last6=Wu|first6=Xindong|issue = 1| journal = IEEE Transactions on Image Processing| volume=22 | title = Visual-textual joint relevance learning for tag-based social image search| year = 2013| pages=363–376|url=http://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=2510&amp;amp;context=sis_research | doi=10.1109/tip.2012.2202676| pmid=22692911 | bibcode=2013ITIP...22..363Y }}&amp;lt;/ref&amp;gt; and hypergraph [[semi-supervised learning]] that introduces extra hypergraph structural cost to restrict the learning results.&amp;lt;ref&amp;gt;{{citation|last1=Tian|first1=Ze|last2=Hwang|first2=TaeHyun|last3=Kuang|first3=Rui|issue = 21| journal = Bioinformatics| title = A hypergraph-based learning algorithm for classifying gene expression and arrayCGH data with prior knowledge| year = 2009| pages=2831–2838|doi=10.1093/bioinformatics/btp467|pmid=19648139| volume=25|doi-access=free}}&amp;lt;/ref&amp;gt; For large scale hypergraphs, a distributed framework&amp;lt;ref name=hyperx /&amp;gt; built using [[Apache Spark]] is also available.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Commons category|Hypergraphs}}&lt;br /&gt;
&lt;br /&gt;
* [[Simplicial complex]]&lt;br /&gt;
&lt;br /&gt;
* [[Combinatorial design]]&lt;br /&gt;
* [[Factor graph]]&lt;br /&gt;
* [[Greedoid]]&lt;br /&gt;
* [[Incidence structure]]&lt;br /&gt;
* [[Matroid]]&lt;br /&gt;
* [[Multigraph]]&lt;br /&gt;
* [[P system]]&lt;br /&gt;
* [[Sparse matrix-vector multiplication]]&lt;br /&gt;
*[[Matching in hypergraphs]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Claude Berge, &amp;quot;Hypergraphs: Combinatorics of finite sets&amp;quot;. North-Holland, 1989.&lt;br /&gt;
* Claude Berge, Dijen Ray-Chaudhuri, &amp;quot;Hypergraph Seminar, Ohio State University 1972&amp;quot;, ''Lecture Notes in Mathematics'' '''411''' Springer-Verlag&lt;br /&gt;
* {{springer|title=Hypergraph|id=p/h048470}}&lt;br /&gt;
* Alain Bretto, &amp;quot;Hypergraph Theory: an Introduction&amp;quot;, Springer, 2013.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&amp;quot;.  Fields Institute Monographs, American Mathematical Society, 2002.&lt;br /&gt;
* Vitaly I. Voloshin. &amp;quot;Introduction to Graph and Hypergraph Theory&amp;quot;. [[Nova Science Publishers, Inc.]], 2009.&lt;br /&gt;
* {{PlanetMath attribution|urlname=hypergraph|title=hypergraph}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.aviz.fr/paohvis PAOHVis]: open-source PAOHVis system for visualizing dynamic hypergraphs.&lt;br /&gt;
&lt;br /&gt;
{{Graph representations}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hypergraphs| ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Graph (Graphentheorie)#Hypergraph]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%A4%BE%E5%9B%A2%E7%BB%93%E6%9E%84&amp;diff=2941</id>
		<title>社团结构</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%A4%BE%E5%9B%A2%E7%BB%93%E6%9E%84&amp;diff=2941"/>
		<updated>2020-04-12T13:29:36Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=社团结构 社团检测算法 网络的共同特征&lt;br /&gt;
|description=  社团结构 社团检测算法 网络的共同特征 }}&lt;br /&gt;
 &lt;br /&gt;
在网络科学研究中，如果某个网络中的节点可以轻易地被划分为若干个内部紧密连接的节点集（集合间可能重合），那么就可以说这个网络具有'''社团结构  Community structure'''。除节点集重叠的特殊情况下外，网络自然地被分成一个个节点集，这些节点集内部连接紧密，而节点集与节点集之间连接稀疏（但也存在节点集重叠的情况）。 更广泛的定义基于以下原则：即如果节点对同属一个社团，则更有可能相互连接；如果不属于同一个社团，则更不可能相互连接。 一个相关但不同的问题是社团搜索，其目标是找到某个节点所属的社团。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==属性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在研究计算机、信息网络、社会网络和生物网络等网络时，经常发现网络具有许多不同的特征，包括[[小世界性  Small-world property]]、[[重尾度分布  Heavy-tailed degree distributions ]]和[[聚集性  Clustering ]]等。 而网络也具有共同特征——都具有社团结构。&amp;lt;ref name=ComSocBio&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=M. Girvan |author2=M. E. J. Newman | year = 2002&lt;br /&gt;
 | title = Community structure in social and biological networks&lt;br /&gt;
 | journal = Proc. Natl. Acad. Sci. USA&lt;br /&gt;
 | pmid = 12060727&lt;br /&gt;
 | volume = 99&lt;br /&gt;
 | issue = 12&lt;br /&gt;
 | pmc = 122977&lt;br /&gt;
 | pages = 7821–7826&lt;br /&gt;
 | doi = 10.1073/pnas.122653799&lt;br /&gt;
| arxiv = cond-mat/0112110| bibcode = 2002PNAS...99.7821G}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=PhysRep&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = S. Fortunato&lt;br /&gt;
 | year = 2010&lt;br /&gt;
 | title = Community detection in graphs&lt;br /&gt;
 | journal = Phys. Rep.&lt;br /&gt;
 | volume = 486&lt;br /&gt;
 | issue = 3–5&lt;br /&gt;
 | pages = 75–174&lt;br /&gt;
 | doi = 10.1016/j.physrep.2009.11.002&lt;br /&gt;
| arxiv = 0906.0612&lt;br /&gt;
 | bibcode = 2010PhR...486...75F&lt;br /&gt;
 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=PhysRepMV&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=F. D. Malliaros |author2=M. Vazirgiannis | year = 2013&lt;br /&gt;
 | title = Clustering and community detection in directed networks: A survey&lt;br /&gt;
 | journal = Phys. Rep.&lt;br /&gt;
 | volume = 533&lt;br /&gt;
 | issue = 4&lt;br /&gt;
 | pages = 95–142&lt;br /&gt;
 | doi = 10.1016/j.physrep.2013.08.002&lt;br /&gt;
| arxiv = 1308.0971| bibcode = 2013PhR...533...95M}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=Notices&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=M. A. Porter |author2=J.-P. Onnela |author3=P. J. Mucha | year = 2009&lt;br /&gt;
 | title = Communities in Networks&lt;br /&gt;
 | journal =  	Notices of the American Mathematical Society&lt;br /&gt;
 | volume = 56&lt;br /&gt;
 | pages = 1082–1097, 1164–1166&lt;br /&gt;
 | url = http://www.ams.org/notices/200909/rtx090901082p.pdf&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=escri_FaniE17&amp;gt;{{cite encyclopedia &lt;br /&gt;
 |last=Fani|first=Hossein |author2=Bagheri, Ebrahim &lt;br /&gt;
 |title=Community detection in social networks&lt;br /&gt;
 |encyclopedia=Encyclopedia with Semantic Computing and Robotic Intelligence&lt;br /&gt;
 |date=2017&lt;br /&gt;
 |doi=10.1142/S2425038416300019&lt;br /&gt;
 |volume=1&lt;br /&gt;
 |pages=1630001 [8]&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;社团结构指的是网络中内部连接比其余部分更加密集的节点组。 这种联系的不均匀性表明网络内部存在某种自然的划分。&lt;br /&gt;
&lt;br /&gt;
将节点集进行划分，就产生了一个个社团。也就是说，每个节点被放入一个社团中，且该社团唯一，这是一个有用的简化，多数社团检测算法都适用于这种类型的社团结构。然而在某些情况下，一个节点位于多个社团（即社团具有重叠性）的社团结构能够更好表示所研究的对象。这可能发生在社交网络中：每个节点代表一个人，而社团代表不同的朋友群体，如: 一个社团代表家庭，另一个社团代表同事，还有一个社团代表来自同一体育俱乐部的朋友等等。 下面所讨论的'''基于团结构的社团检测算法  Clique-based method '''的例子,就属于这种具有重叠性的社团结构。&lt;br /&gt;
&lt;br /&gt;
有些网络可能不具有任何有意义的社团结构。例如许多基本的网络模型，例如[[随机图  Random graph ]]和 '''Barabsi-Albert 模型  Barabási–Albert model  '''就不具有社团结构。&lt;br /&gt;
&lt;br /&gt;
==重要性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:iimage.png|500px|thumb|upright=3|一个演示'''社团结构'''的小型网络示意图，包含三组内部紧密连接的节点，各组之间连接较为稀疏|right]]&lt;br /&gt;
社团结构在实际网络中相当常见，社会网络包括基于相同位置、兴趣、职业等的社团团体(实际上是这个术语的起源)。&amp;lt;ref name=escri_FaniE17/&amp;gt;&amp;lt;ref&amp;gt;{{cite journal|last=Hamdaqa|first=Mohammad |author2=Tahvildari, Ladan |author3=LaChapelle, Neil |author4=Campbell, Brian|title=Cultural Scene Detection Using Reverse Louvain Optimization|journal=Science of Computer Programming|date=2014|doi=10.1016/j.scico.2014.01.006|volume=95|pages=44–72|url=https://zenodo.org/record/889712/files/article.pdf}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在网络中找到一个潜在的社团结构(如果它存在的话)是很重要的，原因如下：&lt;br /&gt;
&lt;br /&gt;
第一，社团允许我们创建一个大范围的网络地图，因为单个社团就像网络中的元节点，这使得研究更加容易；&amp;lt;ref name=Nemaneigen&amp;gt;{{cite journal |author1=M.E.J.Neman|title=Finding community structure in networks using the eigenvectors of matrices|journal=Phys. Rev. E|volume=74|pages=1–19|issue=3|doi=10.1103/PhysRevE.74.036104|pmid=17025705|year=2006|arxiv=physics/0605087|bibcode=2006PhRvE..74c6104N}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第二，由于社团通常与系统的功能单元相对应，因此单个社团也能阐明网络所代表的系统功能。如在代谢网络中，这些功能组对应于周期或路径；而在'''蛋白质相互作用网络  Protein-protein interaction network  '''中，社团对应于生物细胞内具有类似功能的蛋白质；在引用网络中，社团对应于研究主题。 而识别网络中的子结构，有助于深入了解网络的功能以及拓扑效应之间是如何相互影响的。这种见解对于改进[[谱聚类   Spectral clustering  ]]等图的数据处理算法有一定的参考价值。&amp;lt;ref&amp;gt;{{cite journal|last=Zare|first=Habil |author2=P. Shooshtari |author3=A. Gupta |author4=R. Brinkman|title=Data reduction for spectral clustering to analyze high throughput flow cytometry data|journal=BMC Bioinformatics|date=2010|doi=10.1186/1471-2105-11-403|pmid=20667133|pmc=2923634|volume=11|pages=403|issue=1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第三，若只关注普遍属性通常会忽略网络内部许多重要且有趣的特性，而社团的属性通常与网络的普遍属性不同。例如，在一个给定的社交网络中，爱交际的群体和沉默寡言的群体可能同时存在。&amp;lt;ref name=&amp;quot;Nemaneigen&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
第四，社团的存在通常也会影响到传播过程，如在网络上发生的谣言传播或流行病传播。 因此，为了正确理解这些过程，最重要的就是检测社团，并研究它们如何在各种环境下影响传播过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
最后，社团检测在网络科学中的一个重要应用是预测网络中的缺失链接和识别网络中的错误链接。 在检测过程中，由于多种原因，有些链接可能无法被观察到。同样，由于检测中的失误，一些链接可能会错误地输入数据。由于社团检测算法允许给定节点对之间存在连边，因此可以很好地处理这两种情况。&amp;lt;ref name=clauset_missing&amp;gt;{{cite journal|author1=Aaron Clauset|author2=Cristopher Moore|author3=M.E.J. Newman|title=Hierarchical structure and the prediction of missing links in networks|journal=Nature|volume=453|issue=7191|pages=98–101|doi=10.1038/nature06830|pmid=18451861|year=2008|arxiv=0811.0484|bibcode=2008Natur.453...98C}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==社团检测算法==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在任意网络中检测社团可能是一项困难的计算任务。 网络中的社团数目(如果存在的话)通常是未知的，且社团规模和密度往往不同。尽管存在这些困难，一些检测社团的方法已经被发展和应用，并取得了不同程度的成功。&amp;lt;ref name = Notices/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===最小割法===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
将网络划分为若干部分的最古老的算法之一是最小割法(以及诸如比率割法和归一化割法等变体)。 此方法可用于并行计算的负载平衡，尽可能减少处理器节点之间的通信。&lt;br /&gt;
&lt;br /&gt;
在最小割法中，网络被分割成预定数量且大小相似的部分，选择这些部分使得节点组之间的边数达到最小。这种算法在许多应用程序中运行良好，但并不适用于检测一般网络中的社团结构，因为不论社团是否隐含在结构中，它只能找到数目固定的社团，而社团的数目通常是未知的。&amp;lt;ref&amp;gt;{{cite journal&lt;br /&gt;
 | author = M. E. J. Newman&lt;br /&gt;
 | year = 2004&lt;br /&gt;
 | title = Detecting community structure in networks&lt;br /&gt;
 | journal = Eur. Phys. J. B&lt;br /&gt;
 | volume = 38&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | pages = 321–330&lt;br /&gt;
 | doi = 10.1140/epjb/e2004-00124-y&lt;br /&gt;
| bibcode = 2004EPJB...38..321N&lt;br /&gt;
 | hdl = 2027.42/43867&lt;br /&gt;
 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===层次聚类===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在网络中检测社团结构的另一种方法是[[层次聚类  Hierarchical clustering  ]]。 在这种算法中，定义了一种[[相似性度量  Similarity measure ]]，去量化节点对之间的某些(通常是拓扑的)相似性。 常用的测量方法包括'''余弦距离健康指数  Cosine similarity  '''、'''雅卡德指数  Jaccard index ''',以及'''汉明距离健康指数邻接矩阵  Hamming distance between rows of the adjacency matrix '''。 然后根据该算法将相似的节点分组到同一个社团中。 &lt;br /&gt;
&lt;br /&gt;
有几种常见的分组方案，其中最简单的两种是单链接聚类和完全链接聚类。前者在不同群组中的所有节点对的相似度小于给定的阈值的情况下，将两个群组视为独立的社团; 后者则是在每个群组中的所有节点对的相似度大于给定的阈值的前提之下进行分组。 一个有趣的方法是使用各种相似或不同的测度，通过'''凸和  convex sums '''来改进层次聚类的性能。&amp;lt;ref&amp;gt;{{Cite journal|title = Weighting dissimilarities to detect communities in networks|journal = Phil. Trans. R. Soc. A|date = 2015-12-13|issn = 1364-503X|pmid = 26527808|pages = 20150108|volume = 373|issue = 2056|doi = 10.1098/rsta.2015.0108|first = Alejandro J.|last = Alvarez|first2 = Carlos E.|last2 = Sanz-Rodríguez|first3 = Juan Luis|last3 = Cabrera|bibcode = 2015RSPTA.37350108A}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Girvan-Newman 社团检测算法===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另一个常见的社团检测算法是 '''Girvan-Newman 算法  Girvan–Newman algorithm  '''&amp;lt;ref name=ComSocBio/&amp;gt; ：首先识别社群之间连接的边，然后去除这些边，留下的就是社团。 该方法利用图论中的中心性度量来进行识别，当边位于多对节点之间时，给每条边赋予一个较大的数字。&lt;br /&gt;
&lt;br /&gt;
Girvan-Newman算法返回的结果具有较好的质量，且由于它与许多标准软件包兼容，因此得到广泛应用。但其运行缓慢，在''n''个顶点和''m''条边的网络上耗费时长为''O(m2n)''，导致其并不适用于超过几千个节点的网络。&amp;lt;ref name=fast&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | author = M. E. J. Newman&lt;br /&gt;
 | year = 2004&lt;br /&gt;
 | title = Fast algorithm for detecting community structure in networks&lt;br /&gt;
 | journal = Phys. Rev. E&lt;br /&gt;
 | volume = 69&lt;br /&gt;
 | issue = 6&lt;br /&gt;
 | pages = 066133&lt;br /&gt;
 | doi = 10.1103/PhysRevE.69.066133&lt;br /&gt;
| pmid = 15244693&lt;br /&gt;
 | arxiv = cond-mat/0309508&lt;br /&gt;
 | bibcode = 2004PhRvE..69f6133N&lt;br /&gt;
 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====代码实现====&lt;br /&gt;
利用网络科学工具包[https://networkx.github.io/ NetworkX ], 可以轻松调用GN算法实现社团检测。示例如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import networkx as nx  &lt;br /&gt;
from networkx.algorithms import community&lt;br /&gt;
from community.centrality import girvan_newman      #导入GN算法包&lt;br /&gt;
&lt;br /&gt;
G = nx.path_graph(10)      #生成一个大小为10的path graph&lt;br /&gt;
comp = girvan_newman(G) &lt;br /&gt;
print(tuple(sorted(c) for c in next(comp)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
结果：&lt;br /&gt;
&amp;lt;source&amp;gt;([0, 1, 2, 3, 4], [5, 6, 7, 8, 9])     #输入Top-1的划分结果，为两个社团&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===模板度最大化===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
尽管模板度最大值法有着它众所周知的缺点，但它依然是用于使用最为广泛的社团检测算法之一。&amp;lt;ref name=fast/&amp;gt;  [[模块度  Modularity]]是一种衡量社团划分质量的标准，也是一个利益函数。 模块度最大值法通过搜索一个或多个具有特别高的模块化的网络的可能划分来检测社团。由于对所有可能的划分进行穷举搜索十分困难，所以实际的算法都是基于近似优化方法，如贪婪算法，模拟退火或光谱优化。不同的算法使得检测速度和准确性之间达到不同类型的平衡。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=L. Danon |author2=J. Duch |author3=A. Díaz-Guilera |author4=A. Arenas | year = 2005&lt;br /&gt;
 | title = Comparing community structure identification&lt;br /&gt;
 | journal = J. Stat. Mech.&lt;br /&gt;
 | volume = 2005&lt;br /&gt;
 | issue = 9&lt;br /&gt;
 | pages = P09008&lt;br /&gt;
 | doi = 10.1088/1742-5468/2005/09/P09008&lt;br /&gt;
|arxiv=cond-mat/0505245|bibcode=2005JSMTE..09..008D}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=R. Guimera |author2=L. A. N. Amaral | year = 2005&lt;br /&gt;
 | title = Functional cartography of complex metabolic networks&lt;br /&gt;
 | journal = Nature&lt;br /&gt;
 | volume = 433&lt;br /&gt;
 | pages = 895–900&lt;br /&gt;
 | doi = 10.1038/nature03288&lt;br /&gt;
 | issue=7028&lt;br /&gt;
 | pmid=15729348&lt;br /&gt;
 | pmc=2175124&lt;br /&gt;
| arxiv=q-bio/0502035| bibcode=2005Natur.433..895G}}&lt;br /&gt;
&amp;lt;/ref&amp;gt; 一种流行的模块度最大值法是 '''Louvain 算法  Louvain method '''，该算法迭代地优化本地社团，直到社团状态不再变化、全局模块化不能够再得到改善。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=V.D. Blondel |author2=J.-L. Guillaume |author3=R. Lambiotte |author4=E. Lefebvre | year = 2008&lt;br /&gt;
 | title =  Fast unfolding of community hierarchies in large networks&lt;br /&gt;
 | journal = J. Stat. Mech.&lt;br /&gt;
 | volume = 2008&lt;br /&gt;
 | issue = 10&lt;br /&gt;
 | pages = P10008&lt;br /&gt;
 | doi = 10.1088/1742-5468/2008/10/P10008&lt;br /&gt;
|arxiv=0803.0476|bibcode=2008JSMTE..10..008B}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|title=Lightning-fast Community Detection in Social Media: A Scalable Implementation of the Louvain Algorithm|url=https://pdfs.semanticscholar.org/9fa0/3cde48aee448bef4de225cc1f4943ab72095.pdf|date=2013}}&amp;lt;/ref&amp;gt;一个利用RenEEL的算法是当前最优良的模块度最大值算法，该算法是一个极值集成学习'''EEL范式   Extremal Ensemble Learning  paradigm  '''的例子。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=J. Guo |author2=P. Singh | author3=K.E. Bassler | year = 2019&lt;br /&gt;
 | title = Reduced network extremal ensemble learning (RenEEL) scheme for community detection in complex networks&lt;br /&gt;
 | journal = Scientific Reports&lt;br /&gt;
 | volume = 9&lt;br /&gt;
 | doi = 10.1038/s41598-019-50739-3&lt;br /&gt;
 | issue = 14234&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;RenEEL-Modularity&amp;quot;&amp;gt;{{cite web|title=RenEEL-Modularity|url=https://github.com/kbassler/RenEEL-Modularity}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
模块度优化的有效性是值得怀疑的，因为模块度优化受分辨率的大小限制，导致某个规模更小的集群很难被检测到；&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=S. Fortunato |author2=M. Barthelemy | year = 2007&lt;br /&gt;
 | title = Resolution limit in community detection&lt;br /&gt;
 | journal = Proceedings of the National Academy of Sciences of the United States of America&lt;br /&gt;
 | volume = 104&lt;br /&gt;
 | pages = 36–41&lt;br /&gt;
 | pmid = 17190818&lt;br /&gt;
 | doi = 10.1073/pnas.0605965104&lt;br /&gt;
 | issue = 1&lt;br /&gt;
 | pmc = 1765466&lt;br /&gt;
| arxiv = physics/0607100| bibcode = 2007PNAS..104...36F}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;) 另一方面，由于模块度值表征着具有高模块化的大量分区的简并度，接近绝对最大值，这可能与其他算法非常的不同。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=B. H. Good |author2=Y.-A. de Montjoye |author3=A. Clauset | year = 2010&lt;br /&gt;
 | title = The performance of modularity maximization in practical contexts&lt;br /&gt;
 | journal = Phys. Rev. E&lt;br /&gt;
 | volume = 81&lt;br /&gt;
 | issue = 4&lt;br /&gt;
 | pages = 046106&lt;br /&gt;
 | doi = 10.1103/PhysRevE.81.046106&lt;br /&gt;
|pmid=20481785 |arxiv=0910.0165|bibcode=2010PhRvE..81d6106G}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====代码实现====&lt;br /&gt;
利用网络科学工具包[https://networkx.github.io/ NetworkX], 可以轻松调用Clauset-Newman-Moore 贪婪模块度最大化算法，这是一种模块度最大化的近似算法。示例如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import networkx.algorithms.community as community&lt;br /&gt;
from community import greedy_modularity_communities&lt;br /&gt;
&lt;br /&gt;
G = nx.karate_club_graph()&lt;br /&gt;
c = list(greedy_modularity_communities(G))&lt;br /&gt;
prin(sorted(c[0]))     #输出第一个社团中的节点&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
结果：&lt;br /&gt;
&amp;lt;source&amp;gt;[8, 14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===基于推论统计学的社团检测算法===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
基于推论统计学的算法试图将生成模型数据和能对社团结构进行编码的网络数据相匹配。 与其他办法相比，这种办法的总体优势在于其原则性更强，而且有能力从根本上解决具有统计意义的问题。 文献中的算法大多是基于'''随机块模型  The stochastic block model '''&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1016/0378-8733(83)90021-7&lt;br /&gt;
| issn = 0378-8733&lt;br /&gt;
| volume = 5&lt;br /&gt;
| issue = 2&lt;br /&gt;
| pages = 109–137&lt;br /&gt;
| last = Holland&lt;br /&gt;
| first = Paul W.&lt;br /&gt;
| author2 = Kathryn Blackmond Laskey| author3 =  Samuel Leinhardt&lt;br /&gt;
| title = Stochastic blockmodels: First steps&lt;br /&gt;
| journal = Social Networks&lt;br /&gt;
| date = June 1983&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;以及混合隶属度&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
| issn = 1532-4435&lt;br /&gt;
| volume = 9&lt;br /&gt;
| pages = 1981–2014&lt;br /&gt;
| last = Airoldi&lt;br /&gt;
| first = Edoardo M.&lt;br /&gt;
|author2=David M. Blei |author3=Stephen E. Fienberg |author4=Eric P. Xing&lt;br /&gt;
 | title = Mixed Membership Stochastic Blockmodels&lt;br /&gt;
| journal = J. Mach. Learn. Res.&lt;br /&gt;
| accessdate = 2013-10-09&lt;br /&gt;
| date = June 2008&lt;br /&gt;
| url = http://dl.acm.org/citation.cfm?id=1390681.1442798&lt;br /&gt;
| pmid = 21701698&lt;br /&gt;
| pmc = 3119541&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1103/PhysRevE.84.036103&lt;br /&gt;
| pmid = 22060452&lt;br /&gt;
| volume = 84&lt;br /&gt;
| issue = 3&lt;br /&gt;
| pages = 036103&lt;br /&gt;
| last = Ball&lt;br /&gt;
| first = Brian&lt;br /&gt;
|author2=Brian Karrer |author3=M. E. J. Newman&lt;br /&gt;
 | title = Efficient and principled method for detecting communities in networks&lt;br /&gt;
| journal = Physical Review E&lt;br /&gt;
| date = 2011&lt;br /&gt;
| arxiv = 1104.3590&lt;br /&gt;
| bibcode = 2011PhRvE..84c6103B&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;、程度校正&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1103/PhysRevE.83.016107&lt;br /&gt;
| pmid = 21405744&lt;br /&gt;
| volume = 83&lt;br /&gt;
| issue = 1&lt;br /&gt;
| pages = 016107&lt;br /&gt;
| last = Karrer&lt;br /&gt;
| first = Brian&lt;br /&gt;
|author2=M. E. J. Newman&lt;br /&gt;
| title = Stochastic blockmodels and community structure in networks&lt;br /&gt;
| journal = Physical Review E&lt;br /&gt;
| date = 2011-01-21&lt;br /&gt;
| arxiv = 1008.3926&lt;br /&gt;
| bibcode = 2011PhRvE..83a6107K&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;、层次结构等变量&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1103/PhysRevX.4.011047&lt;br /&gt;
| volume = 4&lt;br /&gt;
| issue = 1&lt;br /&gt;
| pages = 011047&lt;br /&gt;
| last = Peixoto&lt;br /&gt;
| first = Tiago P.&lt;br /&gt;
| title = Hierarchical Block Structures and High-Resolution Model Selection in Large Networks&lt;br /&gt;
| journal = Physical Review X&lt;br /&gt;
| date = 2014-03-24&lt;br /&gt;
| arxiv = 1310.4377&lt;br /&gt;
| bibcode = 2014PhRvX...4a1047P&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;。 模型选择可以使用一些有原则的算法，例如最小描述长度&amp;lt;ref&amp;gt;{{cite journal&lt;br /&gt;
 |author1=Martin Rosvall |author2=Carl T. Bergstrom | year = 2007&lt;br /&gt;
 | title = An information-theoretic framework for resolving community structure in complex networks&lt;br /&gt;
 | journal = Proceedings of the National Academy of Sciences of the United States of America&lt;br /&gt;
 | volume = 104&lt;br /&gt;
 | issue = 18&lt;br /&gt;
 | pages = 7327–7331&lt;br /&gt;
 | doi = 10.1073/pnas.0611034104&lt;br /&gt;
 | pmid=17452639&lt;br /&gt;
 | pmc=1855072&lt;br /&gt;
| arxiv=physics/0612035| bibcode=2007PNAS..104.7327R}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal|last=P. Peixoto|first=T.|date=2013|title=Parsimonious Module Inference in Large Networks|journal=Phys. Rev. Lett. |volume=110 |issue=14|page=148701|doi=10.1103/PhysRevLett.110.148701|pmid=25167049|bibcode=2013PhRvL.110n8701P|arxiv=1212.4794}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
(或贝叶斯模型选择&amp;lt;ref&amp;gt;{{cite arxiv|last=P. Peixoto|first=T.|date=2017|title=Bayesian stochastic blockmodeling|eprint=1705.10225|class=stat.ML}}&amp;lt;/ref&amp;gt;)和似然比检定&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
| last = Yan&lt;br /&gt;
| first = Xiaoran&lt;br /&gt;
|author2=Jacob E. Jensen |author3=Florent Krzakala |author4=Cristopher Moore |author5=Cosma Rohilla Shalizi |author6= Lenka Zdeborová |author7=Pan Zhang |author8=Yaojia Zhu&lt;br /&gt;
 | title = Model Selection for Degree-corrected Block Models&lt;br /&gt;
|arxiv= 1207.3994&lt;br /&gt;
| date = 2012-07-17 | doi=10.1088/1742-5468/2014/05/P05007 | pmid = 26167197&lt;br /&gt;
| pmc = 4498413&lt;br /&gt;
| volume=2014 | issue = 5&lt;br /&gt;
| journal=Journal of Statistical Mechanics: Theory and Experiment | page=P05007&lt;br /&gt;
 |bibcode=2014JSMTE..05..007Y}}&amp;lt;/ref&amp;gt;。 目前有许多算法可以对随机块模型进行有效的推理，包括置信传播&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1073/pnas.1221839110&lt;br /&gt;
| issn = 0027-8424&lt;br /&gt;
| volume = 110&lt;br /&gt;
| issue = 36&lt;br /&gt;
| pages = 14534–14539&lt;br /&gt;
| last = Gopalan&lt;br /&gt;
| first = Prem K.&lt;br /&gt;
|author2=David M. Blei&lt;br /&gt;
| title = Efficient discovery of overlapping communities in massive networks&lt;br /&gt;
| journal = Proceedings of the National Academy of Sciences&lt;br /&gt;
| date = 2013-09-03&lt;br /&gt;
| pmid = 23950224&lt;br /&gt;
| pmc=3767539&lt;br /&gt;
| bibcode = 2013PNAS..11014534G&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| doi = 10.1103/PhysRevE.84.066106&lt;br /&gt;
| pmid = 22304154&lt;br /&gt;
| volume = 84&lt;br /&gt;
| issue = 6&lt;br /&gt;
| pages = 066106&lt;br /&gt;
| last = Decelle&lt;br /&gt;
| first = Aurelien&lt;br /&gt;
|author2=Florent Krzakala |author3=Cristopher Moore |author4=Lenka Zdeborová&lt;br /&gt;
 | title = Asymptotic analysis of the stochastic block model for modular networks and its algorithmic applications&lt;br /&gt;
| journal = Physical Review E&lt;br /&gt;
| date = 2011-12-12&lt;br /&gt;
| arxiv = 1109.3041&lt;br /&gt;
| bibcode = 2011PhRvE..84f6106D&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;和凝聚蒙特卡罗算法&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
| doi = 10.1103/PhysRevE.89.012804&lt;br /&gt;
| pmid = 24580278&lt;br /&gt;
| volume = 89&lt;br /&gt;
| issue = 1&lt;br /&gt;
| pages = 012804&lt;br /&gt;
| last = Peixoto&lt;br /&gt;
| first = Tiago P.&lt;br /&gt;
| title = Efficient Monte Carlo and greedy heuristic for the inference of stochastic block models&lt;br /&gt;
| journal = Physical Review E&lt;br /&gt;
| date = 2014-01-13&lt;br /&gt;
| arxiv = 1310.4378&lt;br /&gt;
| bibcode = 2014PhRvE..89a2804P&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;。与尝试给定目标函数对网络进行聚类的算法不同，这类算法是基于生成模型的。生成模型不仅可以描述网络的大规模结构，而且可以用来归纳数据和发现网络中的缺失或虚假链路。&amp;lt;ref&amp;gt;{{Cite journal&lt;br /&gt;
| doi = 10.1073/pnas.0908366106&lt;br /&gt;
| volume = 106&lt;br /&gt;
| issue = 52&lt;br /&gt;
| pages = 22073–22078&lt;br /&gt;
| last = Guimerà&lt;br /&gt;
| first = Roger&lt;br /&gt;
|author2=Marta Sales-Pardo&lt;br /&gt;
| title = Missing and spurious interactions and the reconstruction of complex networks&lt;br /&gt;
| journal = Proceedings of the National Academy of Sciences&lt;br /&gt;
| date = 2009-12-29&lt;br /&gt;
| pmid=20018705&lt;br /&gt;
| pmc=2799723&lt;br /&gt;
| arxiv = 1004.4791&lt;br /&gt;
| bibcode = 2009PNAS..10622073G&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Cite journal&lt;br /&gt;
| issn = 0028-0836&lt;br /&gt;
| volume = 453&lt;br /&gt;
| issue = 7191&lt;br /&gt;
| pages = 98–101&lt;br /&gt;
| last = Clauset&lt;br /&gt;
| first = Aaron&lt;br /&gt;
| author2=Cristopher Moore |author3=M. E. J. Newman&lt;br /&gt;
| title = Hierarchical structure and the prediction of missing links in networks&lt;br /&gt;
| journal = Nature&lt;br /&gt;
| date = 2008-05-01&lt;br /&gt;
| doi = 10.1038/nature06830&lt;br /&gt;
 | pmid=18451861&lt;br /&gt;
| arxiv = 0811.0484&lt;br /&gt;
| bibcode = 2008Natur.453...98C&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===基于团结构的社团检测算法===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
团就是一个无向图的完全子图，团中的每个节点都与团中的其他节点相连。 由于节点之间的联系不可能比这更紧密，所以在网络中产生了很多基于团结构的社团检测算法，由此还可以分析具有重叠性的社团结构。在这些算法中，一个节点可以同时属于多个社团，从而形成一个“重叠的社团结构”。&lt;br /&gt;
&lt;br /&gt;
如果一个团不被其他任一团所包含，即它不是其他任一团的真子集，则称该团为图的'''极大团  maximal clique''' 。基于团的社团检测算法其中的一种方法就是找到“极大团” 。(其简单思想是：生成原始图的所有子图(可能有2n-1个子图，n表示节点个数）→判断这些子图是不是团→删除非极大团的其他团）其中， '''Bron-Kerbosch 算法   The Bron–Kerbosch algorithm  ''' 是找到极大团的经典算法之一。 最简单的方法是只考虑大于最小尺寸(节点数)的极大团。 这些团体的联合被定义为一个子图，其组件(断开的部分)被定义为社团。&amp;lt;ref name=&amp;quot;Everett1998&amp;quot;&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=M.G. Everett |author2=S.P. Borgatti | year = 1998&lt;br /&gt;
 | title = Analyzing Clique Overlap Connections&lt;br /&gt;
 | journal = Connections&lt;br /&gt;
 | volume = 21&lt;br /&gt;
 | pages = 49&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;  这些算法通常在诸如 UCInet 这样的社交网络分析软件中实现。&lt;br /&gt;
&lt;br /&gt;
另一种方法是使用固定大小的团体，设大小为&amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;。 这些图的重叠可以用来定义一类 &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;- 正则超图或一种团图（线图的一种推广，此时&amp;lt;math&amp;gt;k=2&amp;lt;/math&amp;gt;）。&amp;lt;ref name=&amp;quot;Evans2010&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
 | author = T.S. Evans&lt;br /&gt;
 | year = 2010&lt;br /&gt;
 | title = Clique Graphs and Overlapping Communities&lt;br /&gt;
 | journal = J. Stat. Mech.&lt;br /&gt;
 | pages = P12037&lt;br /&gt;
 | doi = 10.1088/1742-5468/2010/12/P12037&lt;br /&gt;
 | arxiv = 1009.0638&lt;br /&gt;
 | volume=2010&lt;br /&gt;
 | issue=12&lt;br /&gt;
| bibcode = 2010JSMTE..12..037E&lt;br /&gt;
 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt; 团图的节点表示原始图中的团，而团图的边则记录原始图中团的重叠。将以前的社团检测算法(将每个节点分配给社团)应用到团图，然后将每个团图分配给社团，进而可以使用它来确定派系中节点间的关系。同样，由于节点可能处于多个小团体中，所以它可以是多个社团的成员。例如，'''团渗透算法   clique percolation '''&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=G. Palla |author2=I. Derényi |author3=I. Farkas |author4=T. Vicsek | year = 2005&lt;br /&gt;
 | title = Uncovering the overlapping community structure of complex networks in nature and society&lt;br /&gt;
 | journal = Nature&lt;br /&gt;
 | pmid = 15944704&lt;br /&gt;
 | volume = 435&lt;br /&gt;
 | issue = 7043&lt;br /&gt;
 | pages = 814–818&lt;br /&gt;
 | doi = 10.1038/nature03607&lt;br /&gt;
|arxiv=physics/0506133|bibcode=2005Natur.435..814P}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;将社团定义为'''k-clique'''的渗透集群。 为了做到这一点，需找到一个网络中的所有 &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;派系，即所有完整子图的 &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; 个节点。然后定义两个共享 &amp;lt;math&amp;gt;k-1&amp;lt;/math&amp;gt;个节点的 k-cliques 为相邻 k-cliques ，即用于定义团图中的边。然后将社团定义为 k-clique 的最大并集，其中任意k-clique 可以通过一系列 k-clique 邻接，从任意 k-clique 到达其他 k-clique 。也就是说，社团只是团图中的连通组件。 由于一个节点可以同时属于几个不同的 k-clique 渗透簇，故社团之间可以相互重叠。&lt;br /&gt;
&lt;br /&gt;
====代码实现====&lt;br /&gt;
利用网络科学工具包[https://networkx.github.io/ NetworkX], 可以调用基于[[渗流方法]]的K-clique社团检测算法。示例如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 导入算法包&lt;br /&gt;
from networkx.algorithms.community import k_clique_communities&lt;br /&gt;
&lt;br /&gt;
# 构造图&lt;br /&gt;
G = nx.complete_graph(5)&lt;br /&gt;
K5 = nx.convert_node_labels_to_integers(G,first_label=2)&lt;br /&gt;
G.add_edges_from(K5.edges())&lt;br /&gt;
&lt;br /&gt;
# 对图G进行社团检测，制定最小cliques=4&lt;br /&gt;
c = list(k_clique_communities(G, 4))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==社团检测算法的评价标准==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
如何对算法进行评价以判断哪些能够更好地检测到社团结构仍悬而未决，必须基于对已知结构的网络的分析。 一个典型的例子是”四组”测试，在这种测试中，一个网络被分成四个大小相等的组(通常每组32个节点) ，由于组内和组间连接的概率各不相同，导致出现了一些具有挑战性的社团结构，这为社团检测制造了一定难度。这样的基准图是康德 Condon 和 卡帕 Karp 的'''种植 l-分区模型  The planted l-partition model '''&amp;lt;ref name=PlantedPartitionModel&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | first1 = A. | last1 = Condon | first2 = R. M. | last2 = Karp&lt;br /&gt;
 | year = 2001&lt;br /&gt;
 | title = Algorithms for graph partitioning on the planted partition model&lt;br /&gt;
 | journal = Random Struct. Algor.&lt;br /&gt;
 | volume = 18&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | pages = 116–140&lt;br /&gt;
 | doi = 10.1002/1098-2418(200103)18:2&amp;lt;116::AID-RSA1001&amp;gt;3.0.CO;2-2&lt;br /&gt;
| citeseerx = 10.1.1.22.4340 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;的特例，或者也是“随机块模型”（一类包含社团结构的随机网络模型）更一般的情形。此外，还提出了其他更灵活的基准测试，允许不同的组大小和非平凡度分布。例如 '''LFR 基准测试   LFR benchmark  ''' &amp;lt;ref name=LFR&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 |author1=A. Lancichinetti |author2=S. Fortunato |author3=F. Radicchi | year = 2008&lt;br /&gt;
 | title = Benchmark graphs for testing community detection algorithms&lt;br /&gt;
 | journal = Phys. Rev. E&lt;br /&gt;
 | volume = 78&lt;br /&gt;
 | issue = 4&lt;br /&gt;
 | pages = 046110&lt;br /&gt;
 | doi = 10.1103/PhysRevE.78.046110&lt;br /&gt;
|pmid=18999496 |arxiv=0805.4770|bibcode=2008PhRvE..78d6110L}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fat19&amp;quot;&amp;gt;{{cite arXiv| last = Fathi| first = Reza| title = Efficient Distributed Community Detection in the Stochastic Block Model|arxiv= 1904.07494| date = April 2019 }}&amp;lt;/ref&amp;gt;，它是四组基准测试的扩展，包括节点度和社团大小的不同分布，能够更加严格地评价社团检测算法&amp;lt;ref name=QF&amp;gt;&lt;br /&gt;
{{cite arxiv&lt;br /&gt;
 |author1=M. Q. Pasta&lt;br /&gt;
 |author2=F. Zaidi&lt;br /&gt;
 |year=2017&lt;br /&gt;
 |title=Leveraging Evolution Dynamics to Generate Benchmark Complex Networks with Community Structures&lt;br /&gt;
 |eprint=1606.01169&lt;br /&gt;
 |class=cs.SI&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal|last=Pasta|first=M. Q.|last2=Zaidi|first2=F.|date=2017|title=Topology of Complex Networks and Performance Limitations of Community Detection Algorithms|journal=IEEE Access|volume=5|pages=10901–10914|doi=10.1109/ACCESS.2017.2714018}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
常用的计算机生成基准测试从定义良好的社团网络开始。这种结构由于重新布线或删除链接而退化，使得算法越来越难以检测到原始分区。最后，网络到达一个随机点。这种基准可以称为是“开放的”。这些基准的性能是通过'''标准化互信息  Normalized mutual information ''' 或'''信息变化  Variation of information  '''等度量来评估的。 他们将算法&amp;lt;ref name=fat19/&amp;gt;得到的解与原来的社团结构进行比较，评估两个分区的相似性。&lt;br /&gt;
&lt;br /&gt;
==可探测性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
近年来，在对各种社团的研究中，我们得到一个相当惊人的结果——社团检测问题存在阶段性转变，这表明随着社团内部和社团之间连接的密度越来越接近或两者都变得越来越小(由于社团结构变得太弱或网络变得太稀疏) ，社团就会突然变得无法检测。&lt;br /&gt;
&lt;br /&gt;
从某种意义上说，社团本身仍然存在，因为边的存在和缺失仍然与其节点的社团成员关系密切；但是，从理论上讲，如果没有社团结构，就不可能更好地标记节点，甚至不可能将图与由'''Erdos-Renyi模型  Erdos–Renyi model  '''等空模型生成的图区分开来。这种转换与用于检测社团的算法类型无关，这意味着我们在网络中检测社团的能力存在根本的限制，即使我们使用最优的贝叶斯推理（而不考虑我们的计算资源）。&amp;lt;ref name=reichardt&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | first1 = J. | last1 = Reichardt | first2 = M. | last2 = Leone&lt;br /&gt;
 | year = 2008&lt;br /&gt;
 | title = (Un)detectable Cluster Structure in Sparse Networks &lt;br /&gt;
 | journal = Phys. Rev. Lett. &lt;br /&gt;
 | volume = 101&lt;br /&gt;
 | issue = 78701&lt;br /&gt;
 | pages = 1–4&lt;br /&gt;
 | doi = 10.1103/PhysRevLett.101.078701&lt;br /&gt;
 | bibcode=2008PhRvL.101g8701R&lt;br /&gt;
| arxiv = 0711.1452}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=Decelle&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | first1 = A. | last1 = Decelle | first2 = F. | last2 = Krzakala | first3 = C. | last3 = Moore | first4 = L. | last4 = Zdeborová&lt;br /&gt;
 | year = 2011&lt;br /&gt;
 | title = Inference and Phase Transitions in the Detection of Modules in Sparse Networks&lt;br /&gt;
 | journal = Phys. Rev. Lett.&lt;br /&gt;
 | volume = 107&lt;br /&gt;
 | issue = 65701&lt;br /&gt;
 | pages = 1–5&lt;br /&gt;
 | doi = 10.1103/PhysRevLett.107.065701 | pmid = 21902340 | bibcode=2011PhRvL.107f5701D&lt;br /&gt;
| arxiv = 1102.1182}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=rajrao&amp;gt;&lt;br /&gt;
{{cite journal&lt;br /&gt;
 | first1 = R.R | last1 = Nadakuditi | first2 = M.E.J. | last2 = Newman &lt;br /&gt;
 | year = 2012&lt;br /&gt;
 | title = Graph Spectra and the Detectability of Community Structure in Networks &lt;br /&gt;
 | journal = Phys. Rev. Lett.&lt;br /&gt;
 | volume = 108&lt;br /&gt;
 | issue = 188701&lt;br /&gt;
 | pages = 1–5&lt;br /&gt;
 | doi = 10.1103/PhysRevLett.108.188701 | pmid = 22681123 | bibcode=2012PhRvL.108r8701N&lt;br /&gt;
| arxiv = 1205.1813}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
考虑一个具有 &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; 个节点，&amp;lt;math&amp;gt; q=2 &amp;lt;/math&amp;gt; 的相同组的随机块模型，并且设 &amp;lt;math&amp;gt; p_\text{in}&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;p_\text{out}&amp;lt;/math&amp;gt; 分别是组内和组间的连接概率。&lt;br /&gt;
&lt;br /&gt;
如果 &amp;lt;math&amp;gt;p_\text{in}&amp;gt;p_\text{out}&amp;lt;/math&amp;gt; ，由于社团内部的链接密度大于群体之间的链接密度，网络将具有群体结构。 &lt;br /&gt;
&lt;br /&gt;
在稀疏情况下, &amp;lt;math&amp;gt; p_\text{in} &amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;p_\text{out}&amp;lt;/math&amp;gt; 都以 &amp;lt;math&amp;gt;O(1/n)&amp;lt;/math&amp;gt; 为比例，所以平均温度是恒定的，则有: &amp;lt;math&amp;gt;p_\text{in}=c_\text{in}/n&amp;lt;/math&amp;gt; 和 &amp;lt;math&amp;gt;p_\text{out}=c_\text{out}/n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
然后就不可能在下列情况检测到这些社团&amp;lt;ref name=Decelle/&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;c_\text{in}-c_\text{out}=\sqrt{2(c_\text{in}+c_\text{out})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==进一步阅读==&lt;br /&gt;
&lt;br /&gt;
*[[复杂网络]]&lt;br /&gt;
*[[层次结构]]&lt;br /&gt;
*[[网络理论]]&lt;br /&gt;
*[[逾渗理论]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==相关链接==&lt;br /&gt;
&lt;br /&gt;
*[http://digitalinterface.blogspot.it/2013/05/community-detection-in-graphs.html  图中的社团检测——介绍]&lt;br /&gt;
*[https://stackoverflow.com/questions/5822265/are-there-implementations-of-algorithms-for-community-detection-in-graphs 是否有图形社团检测算法的实现?-堆栈溢出]&lt;br /&gt;
*[https://stackoverflow.com/questions/9471906/what-are-the-differences-between-community-detection-algorithms-in-igraph  在 igraph 中，社团检测算法之间有什么不同?-]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
&lt;br /&gt;
[[File:shetuanjiegou.png|300px|thumb|upright=3|[http://campus.swarma.org/play/user/record?type=4  复杂网络课程中详细介绍了社团结构的定义、划分方法、空间结构 ]|right]]&lt;br /&gt;
====[https://blog.csdn.net/marywbrown/article/details/62059231?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-17&amp;amp;utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-17 模块度(Modularity)与Fast Newman算法讲解与代码实现]====&lt;br /&gt;
该文章主要介绍了模块度的产生、原理和实现过程。作者利用矩阵形式减少计算时长，最后使用matlab进行计算。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://blog.csdn.net/qq547276542/article/details/70175157?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&amp;amp;utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2 Louvain 社团发现算法学习]====&lt;br /&gt;
该文章首先介绍了Louvain 算法，并使用Java语言实现了该算法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/play/coursedetail?id=11215 复杂网络中的社团结构]====&lt;br /&gt;
该课程中主要讲解了网络中集团结构的定义，以及层次聚类法、GN 聚类法的思想，从中观尺度——社团结构去探索复杂网络的性质。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:趣木木|趣木木]]参与编译，[[用户:苏格兰|苏格兰]]审校，[[用户:Meng莫|Meng莫]]、[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2922</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2922"/>
		<updated>2020-04-12T12:55:28Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=Scientific American | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。后来，[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
自从发明以来，Conway的生命游戏就吸引了很多人，因为它可以使初始模式以令人惊讶的方式进行演变。生命游戏是系统涌现和自组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可从这种“通过执行简单规则即可产生复杂模式”的方式汲取营养。生命游戏也可以用作教学分析，用于展现一些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了Conway生命游戏中的 “宇宙” ，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些简单的物理定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conway的生命游戏之所以受欢迎，是因为它的问世刚好赶上新一代的廉价计算机进入市场的时机。生命游戏可以在这些机器上运行数小时。对一些来说，生命游戏仅仅是编程挑战：一种有趣的方式来占用CPU使用率，反正不用也会浪费。对另一些人来说，生命戏则具有哲学内涵。当前的发展已经达到在生命游戏的范畴内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，可根据行为特点对这些模式进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；太空船态，可在网格中进行自我变换。&lt;br /&gt;
&lt;br /&gt;
生命游戏最早的比较有趣的模式是在不使用计算机的情况下就被发现的。最简单的静态和振荡态是在使用方格纸、黑板和物理游戏板记录一些运行实例时发现的。在早期研究中，Conway发现“R-pentomino”在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批“太空船”模式。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===太空船示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和太空船态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是太空船态，是生命游戏中建造的第一艘倾斜的太空船，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行结果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgpy.gif|thumb|400px|Python运行结果|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
[[File:706dc47a9fa44219bbc25f3d4332d23f.png|600px|right|thumb|[https://campus.swarma.org/course/594 探索元胞自动机]]]&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
[[File:swarma2-1551174608.gif|400px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/594 课程视频：探索元胞自动机]====&lt;br /&gt;
该课程可以帮助初学者将更加深入地探索元胞自动机的其它方面，并进行有趣的现实创造，比如元胞自动机创造的音乐。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/593 课程视频：认识元胞自动机]====&lt;br /&gt;
该课程带领初学者将进入到元胞自动机的学习中，并运用Netlogo完成计算机模拟。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2919</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2919"/>
		<updated>2020-04-12T08:34:24Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 模式示例 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=Scientific American | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。后来，[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
自从发明以来，Conway的生命游戏就吸引了很多人，因为它可以使初始模式以令人惊讶的方式进行演变。生命游戏是系统涌现和自组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可从这种“通过执行简单规则即可产生复杂模式”的方式汲取营养。生命游戏也可以用作教学分析，用于展现一些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了Conway生命游戏中的 “宇宙” ，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些简单的物理定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conway的生命游戏之所以受欢迎，是因为它的问世刚好赶上新一代的廉价计算机进入市场的时机。生命游戏可以在这些机器上运行数小时。对一些来说，生命游戏仅仅是编程挑战：一种有趣的方式来占用CPU使用率，反正不用也会浪费。对另一些人来说，生命戏则具有哲学内涵。当前的发展已经达到在生命游戏的范畴内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，可根据行为特点对这些模式进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；太空船，可在网格中进行自我变换。&lt;br /&gt;
&lt;br /&gt;
生命游戏最早的比较有趣的模式是在不使用计算机的情况下就被发现的。最简单的静态和振荡态是在使用方格纸、黑板和物理游戏板记录一些运行实例时发现的。在早期研究中，Conway发现“R-pentomino”在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批“太空船”模式。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===太空船示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行结果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgpy.gif|thumb|400px|Python运行结果|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
[[File:706dc47a9fa44219bbc25f3d4332d23f.png|600px|right|thumb|[https://campus.swarma.org/course/594 探索元胞自动机]]]&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
[[File:swarma2-1551174608.gif|400px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/594 课程视频：探索元胞自动机]====&lt;br /&gt;
该课程可以帮助初学者将更加深入地探索元胞自动机的其它方面，并进行有趣的现实创造，比如元胞自动机创造的音乐。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/593 课程视频：认识元胞自动机]====&lt;br /&gt;
该课程带领初学者将进入到元胞自动机的学习中，并运用Netlogo完成计算机模拟。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2918</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2918"/>
		<updated>2020-04-12T08:32:33Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 模式示例 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=Scientific American | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。后来，[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
自从发明以来，Conway的生命游戏就吸引了很多人，因为它可以使初始模式以令人惊讶的方式进行演变。生命游戏是系统涌现和自组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可从这种“通过执行简单规则即可产生复杂模式”的方式汲取营养。生命游戏也可以用作教学分析，用于展现一些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了Conway生命游戏中的 “宇宙” ，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些简单的物理定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conway的生命游戏之所以受欢迎，是因为它的问世刚好赶上新一代的廉价计算机进入市场的时机。生命游戏可以在这些机器上运行数小时。对一些来说，生命游戏仅仅是编程挑战：一种有趣的方式来占用CPU使用率，反正不用也会浪费。对另一些人来说，生命戏则具有哲学内涵。当前的发展已经达到在生命游戏的范畴内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，可根据行为特点对这些模式进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；太空船，可在网格中进行自我变换。&lt;br /&gt;
&lt;br /&gt;
生命游戏最早的比较有趣的模式是在不使用计算机的情况下就被发现的。最简单的静态和振荡态是在使用方格纸、黑板和物理游戏板记录一些运行实例时发现的。在早期研究中，Conway发现“R-pentomino”在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。这些是第一批发现的“太空船”模式。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批移动的震荡态。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===太空船示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行结果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgpy.gif|thumb|400px|Python运行结果|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
[[File:706dc47a9fa44219bbc25f3d4332d23f.png|600px|right|thumb|[https://campus.swarma.org/course/594 探索元胞自动机]]]&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
[[File:swarma2-1551174608.gif|400px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/594 课程视频：探索元胞自动机]====&lt;br /&gt;
该课程可以帮助初学者将更加深入地探索元胞自动机的其它方面，并进行有趣的现实创造，比如元胞自动机创造的音乐。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/593 课程视频：认识元胞自动机]====&lt;br /&gt;
该课程带领初学者将进入到元胞自动机的学习中，并运用Netlogo完成计算机模拟。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2912</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2912"/>
		<updated>2020-04-12T08:02:12Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 起源 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=[[Scientific American]] | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。后来，[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
自从发明以来，Conway的生命游戏就吸引了很多人，因为它可以使初始模式以令人惊讶的方式进行演变。生命游戏是系统涌现和自组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可从这种“通过执行简单规则即可产生复杂模式”的方式汲取营养。生命游戏也可以用作教学分析，用于展现一些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了Conway生命游戏中的 “宇宙” ，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些简单的物理定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conway的生命游戏之所以受欢迎，是因为它的问世刚好赶上新一代的廉价计算机进入市场的时机。生命游戏可以在这些机器上运行数小时。对一些来说，生命游戏仅仅是编程挑战：一种有趣的方式来占用CPU使用率，反正不用也会浪费。对另一些人来说，生命戏则具有哲学内涵。当前的发展已经达到在生命游戏的范畴内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，这些模式根据其行为进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；移动的震荡态，它们可以在整个网格中平移。&lt;br /&gt;
&lt;br /&gt;
最早并且有趣的模式是在不使用计算机的情况下就被发现的。在使用方格纸，黑板和物理游戏板追踪各种小型启动配置的命运时，发现了最简单的静态和振荡态。在这项早期研究中，Conway发现R-pentomino在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批移动的震荡态。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===移动的震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行结果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgpy.gif|thumb|400px|Python运行结果|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:706dc47a9fa44219bbc25f3d4332d23f.png|600px|right|thumb|[https://campus.swarma.org/course/594 探索元胞自动机]]]&lt;br /&gt;
[[File:swarma2-1551174608.gif|400px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/594 课程视频：探索元胞自动机]====&lt;br /&gt;
该课程可以帮助初学者将更加深入地探索元胞自动机的其它方面，并进行有趣的现实创造，比如元胞自动机创造的音乐。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====[https://campus.swarma.org/course/593 课程视频：认识元胞自动机]====&lt;br /&gt;
该课程带领初学者将进入到元胞自动机的学习中，并运用Netlogo完成计算机模拟。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2903</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2903"/>
		<updated>2020-04-12T07:34:37Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=[[Scientific American]] | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。后来，[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
自从发明以来，Conway的生命游戏就吸引了很多人，因为它可以使初始模式以令人惊讶的方式进行演变。生命游戏是系统涌现和自组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都从这种通过执行简单规则即可产生复杂模式的方式汲取营养。生命游戏也可以用作教学分析，用于展现一些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了Conway生命游戏中的 “宇宙” ，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些简单的物理定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
Conway的生命游戏之所以受欢迎，是因为它在合适的时间出现了，新一代的廉价计算机已进入市场。生命游戏可以在这些机器上运行几个小时，否则它们将在晚上保持闲置状态。在这方面，它预示了计算机合成的后来流行。对许多人来说，生活游戏仅仅是编程挑战：一种有趣的方式来使用否则会浪费的CPU周期。对于某些人来说，生活游戏则具有更多的哲学内涵。它在1970年代及以后发展了一个团体。当前的发展已经达到在生命游戏的范围内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，这些模式根据其行为进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；移动的震荡态，它们可以在整个网格中平移。&lt;br /&gt;
&lt;br /&gt;
最早并且有趣的模式是在不使用计算机的情况下就被发现的。在使用方格纸，黑板和物理游戏板追踪各种小型启动配置的命运时，发现了最简单的静态和振荡态。在这项早期研究中，Conway发现R-pentomino在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批移动的震荡态。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===移动的震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行结果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgpy.gif|thumb|400px|Python运行结果|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
*[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:swarma2-1551174608.gif|600px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2899</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2899"/>
		<updated>2020-04-12T07:04:36Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=[[Scientific American]] | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。[https://en.wikipedia.org/wiki/Stanislaw_Ulam 后来，乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，使得符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，这些模式会导致混沌，不可预测的结果。&lt;br /&gt;
# 冯·诺依曼通用构造机（universal constructor）应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
自从发明以来，康威的《生命游戏》就吸引了人们的极大兴趣，这是因为模式的发展令人惊讶。生活游戏是产生并自我组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可以用这种通过执行简单规则即可产生复杂模式的方式。生命游戏也可以用作教学分析，用于展现有些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了康威生命游戏中的 “宇宙” 的类比，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
康威的生命游戏之所以受欢迎，是因为它在合适的时间出现了，新一代的廉价计算机已进入市场。生命游戏可以在这些机器上运行几个小时，否则它们将在晚上保持闲置状态。在这方面，它预示了计算机合成的后来流行。对许多人来说，生活游戏仅仅是编程挑战：一种有趣的方式来使用否则会浪费的CPU周期。对于某些人来说，生活游戏则具有更多的哲学内涵。它在1970年代及以后发展了一个团体。当前的发展已经达到在生命游戏的范围内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，这些模式根据其行为进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；移动的震荡态，它们可以在整个网格中平移。&lt;br /&gt;
&lt;br /&gt;
最早并且有趣的模式是在不使用计算机的情况下就被发现的。在使用方格纸，黑板和物理游戏板追踪各种小型启动配置的命运时，发现了最简单的静态和振荡态。在这项早期研究中，Conway发现R-pentomino在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批移动的震荡态。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===移动的震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]] &lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
[[File:lgpy.gif|right|thumb|400px|Python运行结果]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:swarma2-1551174608.gif|600px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2897</id>
		<title>康威的生命游戏 Conway's Game of Life</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E5%BA%B7%E5%A8%81%E7%9A%84%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F_Conway%27s_Game_of_Life&amp;diff=2897"/>
		<updated>2020-04-12T06:55:53Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|keywords=元胞自动机,人工生命, 复杂&lt;br /&gt;
|description=元胞自动机, 人工生命,复杂&lt;br /&gt;
}}&lt;br /&gt;
[[File:Lggun.gif|400px|right|thumb|康威生命游戏中的一种可持续繁殖模式：“高斯帕 Bill Gosper 机枪”不断制造“滑翔机”]]&lt;br /&gt;
[[File:Conways game of life breeder.png|400px|right|thumb|一个河豚型繁殖者（红色）的截图，它在滑行后留下滑翔机枪（绿色），从而创建了滑翔机（蓝色）（动画）]]&lt;br /&gt;
'''康威生命游戏 Conway's Game of Life'''，又称'''康威生命棋'''，是英国数学家[[约翰·何顿·康威 John Horton Conway]]在1970年发明的[[元胞自动机]]。&amp;lt;ref&amp;gt;{{cite journal | url=https://web.stanford.edu/class/sts145/Library/life.pdf | title=Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life' | first=Martin | last=Gardner  | issue=223 | journal=[[Scientific American]] | date=October 1970 | pages=120–123| doi=10.1038/scientificamerican1070-120 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
该游戏是[https://en.wikipedia.org/wiki/Zero-player_game 零玩家游戏]，这意味着它的发展由其初始状态决定，不需要进一步的输入。通过创建初始配置并观察其演变，它可以与生命游戏互动。它是具有[[图灵完备性]]的，可以模拟[https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor 通用构造器]或任何其他图灵机。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==规则==&lt;br /&gt;
我们所说的生命游戏是一个无限的，二维正方形的栅格单元网格，每一个单元格有2种状态可能性：活或死的（或者黑和白）。每个单元格都与其八个相邻的单元交互，这八个单元格是水平、垂直或对角线相邻的单元格。在每个时间步上，都会发生以下转换：&lt;br /&gt;
&lt;br /&gt;
# 当前细胞为存活状态时，当周围的存活细胞低于2个时（不包含2个），该细胞变成死亡状态。（模拟生命数量稀少）&lt;br /&gt;
# 当前细胞为存活状态时，当周围有2个或3个存活细胞时，该细胞保持原样。&lt;br /&gt;
# 当前细胞为存活状态时，当周围有超过3个存活细胞时，该细胞变成死亡状态。（模拟生命数量过多）&lt;br /&gt;
# 当前细胞为死亡状态时，当周围有3个存活细胞时，该细胞变成存活状态。（模拟繁殖）&lt;br /&gt;
&lt;br /&gt;
这些将自动机的行为与现实生活进行比较的规则可以归纳为以下内容：&lt;br /&gt;
# 任何有两个或三个邻居的活细胞都可以存活。&lt;br /&gt;
# 具有三个活动邻居的任何死细胞都将成为活细胞。&lt;br /&gt;
# 所有其他活细胞将在下一代死亡。同样，所有其他死细胞仍保持死亡状态。&lt;br /&gt;
可以把最初的细胞结构定义为种子，当所有在种子中的细胞同时被以上规则处理后，可以得到第一代细胞图。按规则继续处理当前的细胞图，可以得到下一代的细胞图，周而复始。&lt;br /&gt;
&lt;br /&gt;
==起源==&lt;br /&gt;
1940年末，[https://en.wikipedia.org/wiki/John_von_Neumann 约翰·冯·诺依曼 John von Neumann]将生命定义为可以自我复制且可模拟图灵机的存在。冯·诺依曼考虑使用随机漂浮在液体或气体中的电磁成分来模拟生命。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/1179 1179]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/1179}}&amp;lt;/ref&amp;gt;然而受当时技术所限，他的方案并未成为现实。[https://en.wikipedia.org/wiki/Stanislaw_Ulam 乌兰姆 Stanislaw Ulam]发明了元胞自动机，旨在模拟冯·诺依曼的理论电磁构造。乌兰姆在他的几篇论文中讨论了用计算器在二维晶格中模拟元胞自动机。与此同时，[[约翰·冯·诺依曼 John von Neumann]]也在尝试构建乌兰姆的元胞自动机。虽然进展顺利，但他同时忙于其他项目，有一些细节未完成。他构造的机器很复杂，因为加入了一些他自己的工程设计。随着时间推移，有其他研究人员提供了更简单的构造，并发表在论文和书籍中。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
受数学逻辑问题以及乌兰姆等学者在模拟游戏方面工作的启发，约翰·康威 John Conway于1968年开始使用各种不同的2D元胞自动机规则进行实验。&amp;lt;ref&amp;gt;{{cite book|last=Wolfram|first=Stephen|title=A New Kind of Science|publisher=Wolfram Media, Inc.|year=2002|page=[https://archive.org/details/newkindofscience00wolf/page/877 877]|isbn=978-1-57955-008-0|url=https://archive.org/details/newkindofscience00wolf/page/877}}&amp;lt;/ref&amp;gt;Conway的最初目标是定义一种有趣且不可预测的元胞自动机。因此，他希望一些运行实例可以能持续很长时间后终止，而另一些运行实例则在不出现循环的情况下永久运行下去。这是一个巨大的挑战。也是多年以来一个悬而未决的问题。后来元胞自动机专家们终于证明Conway的生命游戏满足Von Neumann提出的两个基本要求。在Conway之前，生命游戏以证明为导向，而Conway以构造简单的生命游戏模型为导向，并没有先验地证明自动机可以持续存活。&lt;br /&gt;
经过大量实验后，Conway仔细选择了自己的规则，以符合以下条件：&lt;br /&gt;
# 不应出现爆炸性增长。&lt;br /&gt;
# 应该存在小的初始模式，其结果会混乱，不可预测。&lt;br /&gt;
# 冯·诺依曼通用构造函数应该有潜力。&lt;br /&gt;
# 在遵守上述约束的同时，规则应尽可能简单。&amp;lt;ref&amp;gt;Conway, private communication to the 'Life list', 14 April 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
自从发明以来，康威的《生命游戏》就吸引了人们的极大兴趣，这是因为模式的发展令人惊讶。生活游戏是产生并自我组织的一个例子。计算机科学，物理学，生物学，生物化学，经济学，数学，哲学和生成科学等各个领域的学者都可以用这种通过执行简单规则即可产生复杂模式的方式。生命游戏也可以用作教学分析，用于展现有些反直觉的观念，即设计和组织可以在没有设计师的情况下自发出现。例如，认知科学家丹尼尔·丹内特 Daniel Dennett广泛使用了康威生命游戏中的 “宇宙” 的类比，来说明复杂的哲学构造（如意识和自由意志）可能从相对简单的确定性物理定律集演化而来，而这些定律可以控制我们的宇宙。&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first=D. C.|date=1991|title=Consciousness Explained|location=Boston|publisher=Back Bay Books|isbn=978-0-316-18066-5|url-access=registration|url=https://archive.org/details/consciousnessexp00denn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=1995|title=Darwin's Dangerous Idea: Evolution and the Meanings of Life|url=https://archive.org/details/darwinsdangerous0000denn|url-access=registration|location=New York|publisher= Simon &amp;amp; Schuster |isbn= 978-0-684-82471-0}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book|last=Dennett|first= D. C. |date=2003 |title=Freedom Evolves |location=New York |publisher=Penguin Books |isbn =978-0-14-200384-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
康威的生命游戏之所以受欢迎，是因为它在合适的时间出现了，新一代的廉价计算机已进入市场。生命游戏可以在这些机器上运行几个小时，否则它们将在晚上保持闲置状态。在这方面，它预示了计算机合成的后来流行。对许多人来说，生活游戏仅仅是编程挑战：一种有趣的方式来使用否则会浪费的CPU周期。对于某些人来说，生活游戏则具有更多的哲学内涵。它在1970年代及以后发展了一个团体。当前的发展已经达到在生命游戏的范围内创建计算机系统的理论仿真的程度。&amp;lt;ref&amp;gt;{{cite web|url=http://rendell-attic.org/gol/tm.htm|title=A Turing Machine in Conway's Game of Life|author=Paul Rendell|date=January 12, 2005|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=Spartan_universal_computer-constructor|title=Spartan universal computer-constructor|author=Adam P. Goucher|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==模式示例==&lt;br /&gt;
在生命游戏中会出现许多不同类型的模式，这些模式根据其行为进行分类。常见的模式类型包括：静态，从一代到下一代都不会改变；振荡态，经过有限的迭代后返回其初始状态；移动的震荡态，它们可以在整个网格中平移。&lt;br /&gt;
&lt;br /&gt;
最早并且有趣的模式是在不使用计算机的情况下就被发现的。在使用方格纸，黑板和物理游戏板追踪各种小型启动配置的命运时，发现了最简单的静态和振荡态。在这项早期研究中，Conway发现R-pentomino在次数较少的迭代中无法稳定。实际上，它需要1103次迭代才能稳定下来，到那时它已拥有116个种群，并已产生了6个移动的“滑翔机”。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=R-pentomino|title=R-pentomino|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;这是有史以来发现的第一批移动的震荡态。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_g.htm#glider|author=Stephen A. Silver|title=Glider|publisher=The Life Lexicon|accessdate=March 4, 2019}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
下面显示了上述三种模式类型的频繁出现的&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/census.asp?rule=B3/S23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archiveurl=https://web.archive.org/web/20090910010855/http://conwaylife.com/soup/census.asp?rule=B3%2FS23&amp;amp;sl=1&amp;amp;os=1&amp;amp;ss=1|archivedate=2009-09-10|title=Census Results in Conway's Game of Life|publisher=The Online Life-Like CA Soup Search|accessdate=July 12, 2009|url-status=dead}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://wwwhomes.uni-bielefeld.de/achim/moving.html|title=Spontaneous appeared Spaceships out of Random Dust|publisher=Achim Flammenkamp (1995-12-09)|accessdate=July 10, 2012}}&amp;lt;/ref&amp;gt;示例（因为它们经常从随机的细胞初始配置中出现），活细胞显示为黑色，死细胞显示为白色。周期指的是模式返回初始配置之前必须迭代的周期数。&lt;br /&gt;
&lt;br /&gt;
===静态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Game_of_life_block_with_border.svg.png|方块&lt;br /&gt;
File:Game_of_life_loaf.svg.png|面包&lt;br /&gt;
File:Game_of_life_beehive.svg.png|蜂巢&lt;br /&gt;
File:lg4.png|大船&lt;br /&gt;
File:lg5.png|小船&lt;br /&gt;
File:lg6.png|花&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg7.png|池塘&lt;br /&gt;
File:lg9.png|航空母舰&lt;br /&gt;
File:lg10.png|独木舟&lt;br /&gt;
File:lg11.png|芒果&lt;br /&gt;
File:lg12.png|鸭子&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg13.gif|信号灯（周期=2轮）&lt;br /&gt;
File:lg14.gif|蟾蜍（周期=2轮）&lt;br /&gt;
File:lg152.gif|红绿灯（周期=2轮）&lt;br /&gt;
File:lg16.gif|烽火（周期=2轮）&lt;br /&gt;
File:lg17.gif|脉冲星（周期=3轮）&lt;br /&gt;
File:lg18.gif|慨影（周期=15轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===移动的震荡态示例===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:lg19.gif|滑翔机（4轮）&lt;br /&gt;
File:Animated_Hwss.gif|太空船（4轮）&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==不可判定性==&lt;br /&gt;
生命游戏中的许多模式最终成为静止态、振荡态和移动的震荡态的组合; 其他模式可以被称为混沌。 一个模式可能会在很长一段时间内保持混乱，直到它最终稳定为这样一个组合。生命是无法判定的，这意味着给定一个初始模式和一个后来的模式，没有算法能够判断后来的模式是否会出现。 这是不确定问题的必然结果: 从一个最初的输入开始，在给定参数的情况下，模型是会一直运行下去还是结束运行。&amp;lt;ref&amp;gt;Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy, Winning Ways for your Mathematical Plays. Academic Press, 1982&amp;lt;/ref&amp;gt;事实上，由于生命游戏包含一个相当于通用图灵机的模式，这个决策算法，如果它存在的话，可以用来解决停机问题，方法是将初始模式作为对应于一个通用图灵机加上一个输入的模式，将后面的模式作为对应于一个通用图灵机的停机状态的模式。 同时，一些模式永远保持着混乱的状态。 如果不是这样的话，你可以按顺序进行游戏，直到一个非混乱的模式出现，然后计算是否会出现一个后来的模式。&lt;br /&gt;
&lt;br /&gt;
==自我复制==&lt;br /&gt;
2010年5月18日，安德鲁·约翰·韦德 Andrew John Wade宣布了一个自我构建的模式，被称为“双子座” ，在摧毁母体的同时创建一个自我复制品。&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327 |title=Universal Constructor Based Spaceship |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/index.php?title=Gemini |title=Gemini – LifeWiki |publisher=Conwaylife.com |accessdate=2012-06-24}}&amp;lt;/ref&amp;gt; 这种模式经过3400万代的复制，使用由滑翔机制成的指令带在两个由查普曼-格林结构臂构成的稳定结构之间来回摆动。 这些，反过来，会创建新的副本的模式，并销毁以前的副本。 双子座也是一艘移动的震荡状态，是《生命游戏》中建造的第一艘倾斜的移动的震荡状态，它既不是正交的也不是纯对角的。&amp;lt;ref&amp;gt;Aron, Jacob (16 June 2010). &amp;quot;First replicating creature spawned in life simulator&amp;quot; [https://www.newscientist.com/article/mg20627653.800-first-replicating-creature-spawned-in-life-simulator.html]. New Scientist. Retrieved 12 October 2013.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;&amp;quot;Gemini – LifeWiki&amp;quot; [http://www.conwaylife.com/wiki/Types_of_spaceships#Knightship].Conwaylife.com. Retrieved 2013-10-16.&amp;lt;/ref&amp;gt;2015年12月，斜对角线版的双子座建成了。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/Demonoid|title=Demonoid|publisher=LifeWiki|access-date=18 June 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2013年11月23日，Dave Greene 在 Conway 的《生命游戏》中制造了第一个复制因子，这个复制因子可以创建一个完整的自我拷贝，包括指令带。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=1006&amp;amp;p=9917#p9901|title=Geminoid Challenge|publisher=Conwaylife.com|accessdate=2015-06-25}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
2018年10月，Adam p. Goucher 完成了0E0P metacell 的建造工作，这是一个可以存储自我复制的 metacell。 这与之前的元细胞不同，比如 Brice Due 的 OTCA metapixel，它只能处理附近已经构建好的副本。&amp;lt;ref&amp;gt;{{Citation|last=Passe-Science|title=Automate Cellulaire - Passe-science #27|date=2019-05-29|url=https://www.youtube.com/watch?v=CfRSVPhzN5M|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;  0E0P 元细胞的工作原理是使用构造臂来创建模拟编程规则的副本。 对 Conway’ s Life 或其他 Moore 邻居规则的实际模拟是通过使用具有更多状态的冯诺依曼邻域来模拟一个等价规则来完成的。&amp;lt;ref&amp;gt;{{Cite web|url=https://cp4space.wordpress.com/2018/11/12/fully-self-directed-replication/|title=Fully self-directed replication|last=apgoucher|date=2018-11-12|website=Complex Projective 4-Space|language=en|access-date=2019-06-25}}&amp;lt;/ref&amp;gt;0E0P 是“ Zero Encoded by Zero Population”的缩写，这意味着0E0P 元胞不是处于“关闭”状态，而是在细胞进入“关闭”状态时自行移动，留下空白空间。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.conwaylife.com/wiki/0E0P|title=0E0P metacell - LifeWiki|website=www.conwaylife.com|access-date=2019-06-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==迭代==&lt;br /&gt;
从网格上最随机的细胞初始模式中，观察者会发现人口随着时代的推移而不断变化。 从简单规则中产生的模式可以被认为是数学美的一种形式。 没有初始对称性的孤立的小亚模式趋向于对称。 一旦这种情况发生，对称性可能会增加丰富性，但它不会丢失，除非附近的子模式接近到足以干扰它。 在极少数情况下，社会最终会消亡，所有的活细胞都会消失，尽管这种情况可能不会发生很多代。 大多数最初的模式最终会结束，产生稳定的数字或模式，永远在两个或两个以上的状态之间振荡; &amp;lt;ref&amp;gt;{{cite web|url=http://www.geocities.com/conwaylife/|author=Andrzej Okrasinski|title=Game of Life Object Statistics|accessdate=July 12, 2009|archiveurl=https://web.archive.org/web/20090727010353/http://geocities.com/conwaylife/ |archivedate=2009-07-27}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/soup/|archiveurl=https://web.archive.org/web/20090910010849/http://conwaylife.com/soup/ |archivedate=2009-09-10|author=Nathaniel Johnston|title=The Online Life-Like CA Soup Search|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;许多还产生一架或多架滑翔机或太空飞船，它们可以无限期地远离最初的位置。 由于基于最近邻的规则，没有任何信息能够以大于每单位时间一个单元的速率通过网格，所以这个速度被称为光的细胞自动机速度，并用 c 表示。&lt;br /&gt;
&lt;br /&gt;
==算法==&lt;br /&gt;
在具有未知前景的早期模式，如 R-pentomino，使世界各地的计算机程序员编写程序来跟踪生命模式的演变。 大多数早期的算法是相似的: 它们将生命模式表示为计算机内存中的二维数组。 通常使用两个数组: 一个用于保存当前生成，另一个用于计算其后续数组。 通常0和1分别代表死细胞和活细胞。 嵌套的 for 循环依次考虑当前数组的每个元素，计算每个单元格的活动邻居，以决定后续数组的相应元素是0还是1。对于下一次迭代，数组交换角色，以便上一次迭代中的后继数组成为下一次迭代中的当前数组。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对这个基本方案进行各种小的改进是可能的，并且有许多方法可以节省不必要的计算。 如果一个单元格在上一个时间步骤中没有发生更改，而且其邻居也没有发生更改，则保证该单元格在当前时间步骤中也不发生更改。 因此，跟踪哪些区域处于活动状态的程序可以通过不更新非活动区域来节省时间。&amp;lt;ref&amp;gt;{{cite web|url=http://www.ibiblio.org/lifepatterns/lifeapplet.html|title=About my Conway's Game of Life Applet|author=Alan Hensel|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
为了避免计数循环中的决定和分支，规则可以以自我为中心的方法从内域对其邻域的重新设定，科学观察者的观点: 如果一个给定邻域的所有九个场之和为3，下一代的内域状态将是生存; 如果全场和为4，内域保持其当前状态; 其他的和，则内域状态是死亡。&lt;br /&gt;
&lt;br /&gt;
如果希望节省内存，可以将存储量减少到一个数组加两个行缓冲区。 一个行缓冲区用于计算一行的继承状态，然后第二个行缓冲区用于计算下一行的继承状态。 然后将第一个缓冲区写入其行，并释放以保存第三行的继承者状态。 如果使用环形数组，则需要第三个缓冲区，以便保存数组中第一行的原始状态，直到计算最后一行。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
原则上，生命域是无限的，但计算机的内存是有限的。 当活动区域侵入阵列的边界时，这就会导致问题。 程序员使用了几种策略来解决这些问题。 最简单的策略是简单地假设阵列外的每个单元格都已死亡。 这是很容易编程，但会导致不准确的结果，使得活动区跨越边界。 一个更复杂的技巧是考虑将场的左右边缘结合在一起，以及顶部和底部边缘，生成一个环形阵列。 其结果是，跨越场边缘的活动区域在相反的边缘重新出现。还可以使用动态存储分配技术，创建越来越大的数组来保存生长模式。 有时对有限域上的生命进行明确的研究; 有些实现，例如 Golly，支持在标准无限域、一维无限域或有限域中进行选择，并可选择柱面、环面或[https://en.wikipedia.org/wiki/M%C3%B6bius_strip Möbius strip]。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
或者，程序员可以放弃用二维数组表示 Life 字段的概念，而使用不同的数据结构，例如用坐标对表示活细胞的向量。 这种方法允许模式在场中不受阻碍地移动，只要人口不超过活动坐标阵列的大小。 缺点是计算生存的邻居变成了散列表查找或搜索操作，降低了模拟速度。 使用更复杂的数据结构，这个问题也可以基本上得到解决。&lt;br /&gt;
&lt;br /&gt;
对于在非常长的时间深度探索大型模式，像 Hashlife 这样的复杂算法可能是有用的。 还有一种方法，也适用于其他细胞自动机，用任意的异步更新来实现生命游戏，同时仍然完全模仿同步游戏的行为。&amp;lt;ref&amp;gt;{{cite conference|title=Self-Reproduction in Asynchronous Cellular Automata |first=Chrystopher L. |last=Nehaniv |date=15–18 July 2002 |conference=2002 NASA/DoD Conference on Evolvable Hardware |conference-url=http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=8000 |publisher=IEEE Computer Society Press |location=Alexandria, Virginia, USA |pages=201–209 |isbn=0-7695-1718-8 |doi=10.1109/EH.2002.1029886 }}&amp;lt;/ref&amp;gt; 在 Rosetta Code 中可以找到用各种编程语言(包括 c、 c + + 、 Java 和 Python)实现基本生命游戏场景的源代码示例。&amp;lt;ref&amp;gt;{{cite web|url=http://rosettacode.org/wiki/Conway%27s_Game_of_Life|title=Conway's Game of Life}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==衍生==&lt;br /&gt;
自从生命诞生以来，新的类似的细胞自动机已经被开发出来。 标准的生命游戏象征为 b3 / s23。 如果一个细胞恰好有三个邻居，它就会出生; 如果有两个或三个活着的邻居，它就会存活下来，否则就会死亡。 第一个数字，或者数字列表，是一个死亡细胞出生所需要的数字。 第二组是活细胞存活到下一代的必要条件。 因此，b6 / s16意味着”如果有六个邻居，则一个细胞出生; 如果有一个或六个邻居，则细胞继续存活”。 二维网格上的细胞自动机，即可以这样描述的细胞自动机称为类生命细胞自动机。 另一个常见的类生命自动机，Highlife，是由规则 b36 / s23描述的，因为除了原始游戏的 b3 / s23规则外，还有六个邻居，导致了一个新生命的诞生。 Highlife 以其频繁出现的复制因子而闻名。&amp;lt;ref&amp;gt;[http://www.tip.net.au/~dbell/articles/HighLife.zip HighLife – An Interesting Variant of Life] by David Bell (.zip file)&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_r.htm#replicator|title=Replicator|publisher=The Life Lexicon|author=Stephen A. Silver|accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[file:Oscillator.gif|right|400px|thumb|来自2-D六角形生命游戏的48步振荡器以及2步振荡器和4步振荡器的样本（规则H：B2 / S34）]]&lt;br /&gt;
&lt;br /&gt;
推广的类生命细胞自动机也是存在的。这2^18条不同的规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Life-like#Life-like_cellular_automata |title=Life-like cellular automata - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;中的绝大多数产生的宇宙要么太混乱，要么太荒凉，以至于不能引起人们的兴趣，但是大部分宇宙的确显示出有趣的行为。 进一步的推广产生了各向同性规则空间，有2^102个可能的 CA 规则&amp;lt;ref&amp;gt;{{cite web|url=http://conwaylife.com/wiki/Isotropic |title=Isotropic - LifeWiki |publisher=Conwaylife.com |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt; (Conway’s Life 也是其中之一)。 这些规则使用与类生命游戏规则相同的方形网格和相同的八格邻域，并且在旋转和反射下同样不变。 然而，在各向同性规则中，在确定一个细胞的未来状态时，可以考虑相邻细胞之间的相对位置，而不仅仅是相邻细胞的总数。&lt;br /&gt;
&lt;br /&gt;
康威的规则也可以被广义化，以至于有三个或更多的状态，而不是只有两个状态，活的或死的。 然后，状态转换由一个配置系统或一个为每个状态指定单独转换规则的表来确定; 例如，Mirek’ s Cellebration 的多色规则表和 Weighted Life 规则系列每个都包含相当于 Conway’ s Life 的样本规则。&lt;br /&gt;
与分形和分形系统有关的模式也可以在某些类似生命的变化中观察到。 例如，自动机 b 1 / s12在应用于单个活细胞时，会产生4个非常接近谢尔宾斯基三角形的值。 在 Conway 的《生命游戏》中也可以观察到这种谢尔宾斯基三角形，通过检测一长串单细胞厚度的活细胞的长期生长，以及在 Highlife、[https://en.wikipedia.org/wiki/Seeds_(cellular_automaton) Seeds (b2/s)]和 Wolfram的[https://en.wikipedia.org/wiki/Rule_90 Rule 90]中观察到。&amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/wiki/index.php?title=One_cell_thick_pattern|title=One cell thick pattern|publisher=LifeWiki|accessdate=July 12, 2009}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
移民是也一种变换形式，非常类似于康威的生命游戏，除了有两个状态，通常表示为不同的颜色。 每当一个新细胞出生时，它都处于开启状态。 这个特性可以用来检查游戏中[https://en.wikipedia.org/wiki/Spaceship_(CA) 可移动的震荡状态]和其他物体之间的相互作用。&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_i.htm#immigration |title=Immigration |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;另一种类似的变体叫做 QuadLife，涉及四种不同的状态。 当一个新的细胞从相邻的三个不同的细胞中诞生时,它会呈现第四个值，否则，就像 Immigration 一样，它会呈现大多数值。 &amp;lt;ref&amp;gt;{{cite web|url=http://www.conwaylife.com/ref/lexicon/lex_q.htm#quadlife |title=QuadLife |publisher=The Life Lexicon|author=Stephen A. Silver |accessdate=March 4, 2019}}&amp;lt;/ref&amp;gt;除了细胞之间的差异外，这两种变异的行为都与生命相同。&lt;br /&gt;
&lt;br /&gt;
==代码实现==&lt;br /&gt;
===Netlogo代码实现===&lt;br /&gt;
代码整体分为两部分，'''setup'''和'''go'''部分。其中setup进行环境的初始化，go进行持续运行。[[Media:life game.zip|Netlogo源代码]]&lt;br /&gt;
====setup部分====&lt;br /&gt;
setup的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
patches-own[living]&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
   clear-all&lt;br /&gt;
   reset-ticks&lt;br /&gt;
   ask patches[       &lt;br /&gt;
    if random-float 1 &amp;lt; 0.5 [    #以0.5的概率设置白格，黑白格比例为1:1,可以在实际中将0.5改为其他值，来模拟不同黑白格比例&lt;br /&gt;
      set pcolor white&lt;br /&gt;
    ]&lt;br /&gt;
    set living 0&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask patches[&lt;br /&gt;
    set living count neighbors with [pcolor = black]&lt;br /&gt;
  ]&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果如下所示：&lt;br /&gt;
[[File:code1.png|400px|thumb|setup运行初始状态|center]]&lt;br /&gt;
====go部分====&lt;br /&gt;
go按钮在创建之时就设定了持续执行，因此程序会一直进行下去。在每一轮中，程序都会遍历每个格，来判断每个格周围的存活数量。如果黑格周围存活数不等于3，其将死亡，表现为由黑格转为白格。若一个白格周围存活数正好是3，会变为黑色，即为存活状态。在棋盘上所有格子均判断完一轮后，由于设定了持续执行，程序会再次进行遍历，不断循环下去。随着迭代次数的增加，整个环境也会趋于较稳定状态。go部分的核心代码如下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  ask patches[&lt;br /&gt;
    ifelse pcolor =  black[&lt;br /&gt;
      if living &amp;gt; 3 or living &amp;lt; 2[&lt;br /&gt;
        set pcolor white&lt;br /&gt;
      ]&lt;br /&gt;
    ][&lt;br /&gt;
      if living = 3[&lt;br /&gt;
        set pcolor black&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Python代码实现===&lt;br /&gt;
以下代码在安装相应的库后复制粘贴便可运行。&lt;br /&gt;
[[File:lgpy.gif|right|thumb|400px|Python运行结果]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
class GameOfLife(object):&lt;br /&gt;
  def __init__(self, cells_shape):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    cells_shape : 一个元组，表示画布的大小。&lt;br /&gt;
    Examples&lt;br /&gt;
    --------&lt;br /&gt;
    建立一个高20，宽30的画布&lt;br /&gt;
    game = GameOfLife((20, 30))    &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # 矩阵的四周不参与运算&lt;br /&gt;
    self.cells = np.zeros(cells_shape)&lt;br /&gt;
    real_width = cells_shape[0] - 2&lt;br /&gt;
    real_height = cells_shape[1] - 2   &lt;br /&gt;
    self.cells[1:-1, 1:-1] = np.random.randint(2, size=(real_width, real_height))&lt;br /&gt;
    self.timer = 0&lt;br /&gt;
    self.mask = np.ones(9)&lt;br /&gt;
    self.mask[4] = 0  &lt;br /&gt;
  def update_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新一次状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    buf = np.zeros(self.cells.shape)&lt;br /&gt;
    cells = self.cells&lt;br /&gt;
    for i in range(1, cells.shape[0] - 1):&lt;br /&gt;
      for j in range(1, cells.shape[0] - 1):&lt;br /&gt;
        # 计算该细胞周围的存活细胞数&lt;br /&gt;
        neighbor = cells[i-1:i+2, j-1:j+2].reshape((-1, ))&lt;br /&gt;
        neighbor_num = np.convolve(self.mask, neighbor, 'valid')[0]&lt;br /&gt;
        if neighbor_num == 3:&lt;br /&gt;
          buf[i, j] = 1&lt;br /&gt;
        elif neighbor_num == 2:&lt;br /&gt;
          buf[i, j] = cells[i, j]&lt;br /&gt;
        else:&lt;br /&gt;
          buf[i, j] = 0&lt;br /&gt;
    self.cells = buf&lt;br /&gt;
    self.timer += 1  &lt;br /&gt;
  def plot_state(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;画出当前的状态&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
    plt.imshow(self.cells)&lt;br /&gt;
    plt.show()&lt;br /&gt;
  def update_and_plot(self, n_iter):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;更新状态并画图&lt;br /&gt;
    Parameters&lt;br /&gt;
    ----------&lt;br /&gt;
    n_iter : 更新的轮数&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    plt.ion()&lt;br /&gt;
    for _ in range(n_iter):&lt;br /&gt;
      plt.title('Iter :{}'.format(self.timer))&lt;br /&gt;
      plt.imshow(self.cells)&lt;br /&gt;
      self.update_state()&lt;br /&gt;
      plt.pause(0.2)&lt;br /&gt;
    plt.ioff()&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
  game = GameOfLife(cells_shape=(60, 60))&lt;br /&gt;
  game.update_and_plot(200)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
运行效果：&lt;br /&gt;
[[File:lgss.gif|400px|thumb|运行过程|center]]&lt;br /&gt;
'''总结'''：相比较Netlogo与Python实现，可以看出，python实现首先需要构建运行环境，再实现功能，最终实现的功能也并没有NetLogo丰富，建议从NetLogo实现开始。&lt;br /&gt;
&lt;br /&gt;
==音乐==&lt;br /&gt;
各种音乐创作技术都会使用康威的生命游戏。&amp;lt;ref&amp;gt; Burraston, Dave; Edmonds, Ernest; Livingstone, Dan; Miranda, Eduardo Reck (2004). &amp;quot;CellularAutomata in MIDI based Computer usic&amp;quot; [http://quod.lib.umich.edu/i/icmc/bbp2372.2004.047?view=image]. Proceedings of the 2004 International Computer Music Conference.CiteSeerX 10.1.1.6.3882 httpps://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3882].hdl:10453/1425 [https://hdl.handle.net/10453%2F1425].&amp;lt;/ref&amp;gt;特别是在 [https://en.wikipedia.org/wiki/MIDI MIDI]旋律中，有各种各样的程序可以从生命游戏中产生的模式中发出声音。&amp;lt;ref&amp;gt; &amp;quot;glitchDS – Cellular Automaton Sequencer For The Nintendo DS&amp;quot; [http://www.synthtopia.com/content/2008/05/29/glitchds-cellular-automaton-sequencer-for-the-nintendo-ds/].Synthtopia.com. 2008-05-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt; &amp;quot;Game Of Life Music Sequencer&amp;quot; [http://www.synthtopia.com/content/2009/04/29/game-of-life-music-sequencer/]. Synthtopia.com. 2009-04-29. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&amp;quot;Game Of Life Music Sequencer For iOS, Runxt Life&amp;quot; [http://www.synthtopia.com/content/2011/01/12/game-of-life-music-sequencer-for-ios-runxt-life/]. Synthtopia.com. 2011-01-12. Retrieved 2012-06-24.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Aliquot_sequence|Aliquot sequence 真因子数列]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Artificial_life 人工生命]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Glory_Season Glory Season 荣耀之季]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Langton%27s_ant 朗顿蚂蚁]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Poietic_Generator 电子发生器]&lt;br /&gt;
:[https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system 反应扩散系统]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编者推荐==&lt;br /&gt;
[[File:swarma2-1551174608.gif|600px|right|thumb|[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]]]&lt;br /&gt;
====[https://pattern.swarma.org/path?id=11 人工生命入门路径]====&lt;br /&gt;
该文章整理自Lana Sinapayen为人工智能研究者们提供的一份人工生命入门指南，主要介绍了人工生命的研究目标、简史以及与人工智能之间的关系。&lt;br /&gt;
&lt;br /&gt;
====[https://www.bilibili.com/video/av11279860/ 【混乱博物馆】生命游戏：另一种计算机]====&lt;br /&gt;
该视频以动画的方式对生命游戏的历史、应用以及生命游戏中不同规则下的结果进行了讲解。&lt;br /&gt;
&lt;br /&gt;
====[http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html 生命游戏]====&lt;br /&gt;
该网站是一个在线的生命游戏网站，可实际体验生命游戏过程。&lt;br /&gt;
&lt;br /&gt;
===相关课程===&lt;br /&gt;
====[https://campus.swarma.org/course/1098 用“生命游戏”认识Patch]====&lt;br /&gt;
该课程利用NetLogo搭建出“生命游戏”这个虚拟宇宙。并在该过程中了解NetLogo中的Patch（即方格）对象，以及if，ifelse，随机数发生器random-float等最基本的语法。&lt;br /&gt;
&lt;br /&gt;
===集智相关文章===&lt;br /&gt;
====[https://swarma.org/?p=14794 算法描绘的“人造生命”，运动流畅自然，如同显微镜下的实景]====&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
本中文词条由[[用户:11795|11795]]用户参与编译，[[用户:Ilseyao1980|Ilseyao1980]]审校，[[用户:薄荷|薄荷]]编辑，欢迎在讨论页面留言。&lt;br /&gt;
&lt;br /&gt;
'''本词条内容源自wikipedia及公开资料，遵守 CC3.0协议。'''&lt;br /&gt;
&lt;br /&gt;
[[category:模拟程序]]&lt;br /&gt;
[[category:元胞自动机]]&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E7%94%A8%E6%88%B7:Liushikang1992&amp;diff=1565</id>
		<title>用户:Liushikang1992</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E7%94%A8%E6%88%B7:Liushikang1992&amp;diff=1565"/>
		<updated>2020-04-03T09:39:59Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：/* 基本信息 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 基本信息 ==&lt;br /&gt;
姓名：刘世康&lt;br /&gt;
&lt;br /&gt;
性别：男&lt;br /&gt;
&lt;br /&gt;
毕业院校：本科 南开大学药学专业；硕士 Northeastern University生物信息学专业；硕士 University of Notre Dame计算机科学与工程专业&lt;br /&gt;
&lt;br /&gt;
科研经历：&lt;br /&gt;
&lt;br /&gt;
1. 使用MySQL从服务器数据库中提取715名圣母大学本科生的社交网络数据（手机短信）和健康数据（运动手环），使用Python脚本语言对数据进行预处理，使用Python NetworkX库根据预处理后的短信数据构建社交网络；使用R语言的统计分析功能研究学生的社交网络与其健康特点之间的相关性，使用Python Sklearn库训练机器学习模型预测学生未来的健康状况。研究成果包括三篇第一作者学术论文和一篇硕士毕业论文：&lt;br /&gt;
&lt;br /&gt;
Liu, Shikang, et al. &amp;quot;The power of dynamic social networks to predict individuals’ mental health.&amp;quot; Pacific Symposium on Biocomputing (2019).  &lt;br /&gt;
&lt;br /&gt;
Liu, Shikang, et al. &amp;quot;Heterogeneous network approach to predict individuals' mental health.&amp;quot; arXiv preprint arXiv:1906.04346 (2019).&lt;br /&gt;
&lt;br /&gt;
Liu, Shikang, et al. &amp;quot;Network analysis of the NetHealth data: exploring co-evolution of individuals’ social network positions and physical activities.&amp;quot; Applied Network Science 3.1:45 (2018).&lt;br /&gt;
&lt;br /&gt;
Liu, Shikang. &amp;quot;Heterogeneous network approach for analyzing NetHealth data: linking individuals’ social interaction, personality, physical health, and mental health data.&amp;quot; MS Thesis, University of Notre Dame (2019).&lt;br /&gt;
&lt;br /&gt;
2. 使用Python和R语言将生物实验数据表示为基因相互作用的生物网络，分析疾病基因网络拓扑结构特点，训练逻辑回归模型预测给定的基因是否为致病基因。研究成果包括两篇第二作者学术论文：&lt;br /&gt;
&lt;br /&gt;
Halu, Arda, Liu, Shikang, et al. &amp;quot;Exploring the cross-phenotype network region of disease modules reveals concordant and discordant pathways between chronic obstructive pulmonary disease and idiopathic pulmonary fibrosis.&amp;quot; Human Molecular Genetics 28.14: 2352-2364 (2019).&lt;br /&gt;
&lt;br /&gt;
Marc, Santolini, Liu, Shikang, et al. &amp;quot;A disease centrality identifies multi-system proteinopathy disease genes.&amp;quot; (2019) (准备投稿)&lt;br /&gt;
&lt;br /&gt;
Mirzakhani, Hooman, Litonjua,Augusto, Liu, Shikang, et al. &amp;quot;Early pregnancy vitamin D status and risk of preeclampsia.&amp;quot; The Journal of Clinical Investigation 126.12: 4702-4715 (2016).&lt;br /&gt;
&lt;br /&gt;
参会经历：留学期间5次受邀参加国际学术会议（ACM-WSDM, ISMB, NetSci17, NetSci18, GLbio），用英语演讲的方式展示学术成果并即兴回答观众的提问，并与参会学者沟通学术进展，建立社交联系。&lt;br /&gt;
&lt;br /&gt;
爱好：羽毛球、中华传统文化、复杂网络、数据分析&lt;br /&gt;
&lt;br /&gt;
邮箱：liushikang1992@163.com&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
	<entry>
		<id>https://wiki.swarma.org/index.php?title=%E6%96%87%E4%BB%B6:%E7%AE%80%E5%8E%86.pdf&amp;diff=1559</id>
		<title>文件:简历.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.swarma.org/index.php?title=%E6%96%87%E4%BB%B6:%E7%AE%80%E5%8E%86.pdf&amp;diff=1559"/>
		<updated>2020-04-03T08:13:50Z</updated>

		<summary type="html">&lt;p&gt;Liushikang1992：基于MsUpload的文件上传&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;基于MsUpload的文件上传&lt;/div&gt;</summary>
		<author><name>Liushikang1992</name></author>
	</entry>
</feed>