×

有向代数拓扑和并发。有莫里斯·赫利希的前言和塞缪尔·米姆拉姆的前言。 (英语) Zbl 1338.68003号

施普林格应用科学与技术简介数学方法。查姆:施普林格(ISBN 978-3-319-15397-1/pbk;978-3-316-15398-8/电子书)。xi,167页。(2016).
莫里斯·赫利希(Maurice Herlihy)在前言中写道:“计算机科学有一个悠久的传统,即从经典数学中提取概念和机制,这些概念曾经被骄傲地认为是纯粹和无用的,并将这些概念用于描述和分析那些曾经无法想象的现象。”
本专著作者的论文和著作以及正在审查的这本书都是针对将一些概念和方法从经典代数拓扑学改编为计算机科学中并发过程的模型及其分析。作者是这一数学边缘分支的发起人之一,该分支是计算机科学中的有向代数拓扑。在包含172个标题的详尽参考文献列表中(发表于1941年(S.Eilenberg)至2015年间),约有40篇文章属于本专著的作者。
引言(第1章):“并发程序由并行运行的多个进程组成。为了有效利用最新的体系结构(多核处理器、云等),它们的使用越来越广泛。”但众所周知,它们很难设计和推理:必须确保程序不会出错,无论组成程序的不同进程是如何安排的。原则上,为了在计算机的帮助下完成这项任务,我们可以将传统的验证技术应用于程序的每个可能执行的顺序程序。但这在实践中是不可行的,因为这些处决的数量,或日程安排,可能会随着程序的大小呈指数级增长。幸运的是,可以观察到,许多调度在某种意义上是等价的,即可以通过排列独立的指令从另一个调度中获得一个调度:这种等价的执行总是会导致相同的结果。因此,如果可以证明其中一个执行不会导致错误,那么任何其他与之等价的执行也不会导致错误。这意味着并发程序的模型不仅应该包括程序的可能执行(如传统交错语义),还应该包括指令之间的交换,遵循现在所说的原则真正的并发有趣的是,得到的模型是可以解释的代数结构几何上的大致相当于拓扑空间,其中路径对应于执行,当相应的路径是同伦的,即通过从一个到另一个的连续变形连接时,两个执行是等价的。为了使这种联系更加精确,拓扑空间并不是我们想要的概念。需要使用定向的变体,即包含不可逆时间的概念。从非常实际的动机(并发程序的验证)出发,出现了更具理论性质的问题。什么是有向空间的好概念,以及代数拓扑的经典技术如何应用于这种设置?并发程序的几何结构是什么?如何使用对并发性的几何精确理解来设计新的、更有效的算法来研究并发程序?本书的目的是对我们目前对这些问题的理解进行总体概述。”
第2章和第3章包括关于并发语言及其语义的标准材料。作者建议对这些章节进行研究,尤其是对计算机科学不熟悉的数学家。第2章,题为“并发的玩具语言”,有以下几节:2.1“玩具语言”(并行IMP,并发程序,顺序一致性),2.2“程序的语义”(图,与程序关联的转换图,操作语义,\(\mathcal{C}^{\ast}_{\mathrm{act}}))和2.3“验证程序”(正确性属性,并发程序中的可达性)。PIMP是用并行复合运算符扩展的IMP语言的变体。
第3章,题为“带资源程序的真正并发模型”,内容如下:3.1“语言中的资源建模”(驯服并发,用资源扩展语言),3.2“保守资源的状态空间”(保守程序,保守程序的转换图),3.3“异步语义”(面向真正的并发、异步语义、连贯程序、仅带有互斥锁的程序)、3.4“立方语义”(前立方集、几何实现)和3.5“历史注释”。从这一部分来看,对于计算机科学家,作者只推荐了第3.4节。前三次集(C)由一系列集((C_n){n\in\mathbb{n}})组成,这些集的元素称为(n)-立方体对于所有带(0leqi<n)的索引(n,i在mathbb{n}中),分别映射(partial_{n,i}^{pm}:C_n\rightarrowC_{n-1}),与第(i)个方向上的(n)-立方体的背面和正面相关联,从而使(partial ^\beta_{n、j}\partial^\alpha_{n+1,i}=partial n+1,j+1}),对于(0\leqi\leqj<n\)和\(\alpha,\beta\ in \{-,+\}\)。前三立方集的态射(f:C:右箭头D\)由函数族((f_n:C_n,右箭头D_n)_{n\mathbb{n}}\)组成,对于所有具有(0leqi<n\)和(alpha\in{-,+}\)的整数(n,i}\circf_n=f_{n-1},circ\partial^\alpha_{n,i{\)。0立方体和1立方体称为顶点边缘分别是。前立方集\(C\)称为标记如果给定一组标签和一个函数(\ell:C_1\rightarrow\mathcal{L}),使得^{-}_{2,i}=\ell\circ\partial^{+}_{2,i}\),\(i\in\{0,1\}\)。一个路径在前三次集中是1个立方体的有限序列\(e1,ldots,en\),这样\(偏方^{+}{1,0}(ei)=\偏方^{-}_{1,0}(e_{i+1}))。这个双同伦路径上的关系\(\sim\)是最小的等价关系,它是一个同余w.r.t.级联,并且当C_2中存在满足以下关系的2-立方体\(h\)时,\(e_1.e'_2)\sim(e_2.e'_1)\^{-}_{2,i-1}(h)=e_i\),\(部分^{+}{2,i1},(h)=e'_i\),(i\ in \{1,2\}\)。这个基本范畴\与前三立方集(C)相关联的(overrightarrow{\Pi}_1(C))是其对象是(C)顶点的类别,从(x)到(y)的态射是从(x到(y到双同伦的路径。这个几何实现前三次集的拓扑空间是(|C|=\coprod_{n\in\mathbb{n}}(C_n\timesI^n)/\approx\),其中(C_n\)配备了离散拓扑,(I^n\)是标准的(n\)立方体,(\approx)是由关系((部分^\alpha_{n,I}(x),p)\approxx(x,I^\alba_{n-1,I}(p)))生成的等价关系,通常包括(n在mathbb{n}中),x在C_n中,p在I^{n-1}中,和(I^{pm}_{n,I}:I^{n_1}右箭头I^n)。所有这些概念都将在随后的章节中使用。
第4章题为“并发的有向拓扑模型”。在本章的第一部分中,定义了有向空间(d-spaces)和有向映射(d-maps)及其类别d顶部进行了研究。通常的例子有:\(\overrightarrow{\mathbb{C}}}\),\(\overrightarrow{S^1}\),\(\overrightarrow{D^2}\)。定义了有向几何语义。如果给出了一个操作语义,那么对于任何保守程序(p)来说,四元组((G_p,s_p,t_p,r_p)都是由一个d-space(G_p\)和两点(G_p中的s_p、t_p)组成的开始结束,以及函数\(r_p:G_p\rightarrow(\mathcal{r}\rightarrow\mathbb{Z})\)资源潜力然后几何语义\(\检查{G} (p)定义为与R中存在a,R_p(x)(a)+\kappa_a<0\text{或}R_p。给定一个保守程序\(p\),其几何语义中的以下几点{G} (p)\)可以识别。点\(x\)是:无法到达的如果没有dipath\(t:s_p\twoheadlightarrow x\),僵局如果\(x\)与\(tp\)不同,并且唯一来自\(x \)的dipath是常数dipath(\varepsilon_x\),不安全的如果存在某个死锁的dipath\(t:x\twoheadlightarrowy\),注定的如果没有dipath\(t:x\twoheadlightarrowtp\)。对于d-路径定向同伦定义了(d-同伦或双同伦)。d空间(X)的基本范畴(overrightarrow{\Pi}_1(X))被定义为其对象是(X)点且其态射是指向双同伦的路径的范畴。对于这一类,证明了Seifert-van-Kampen型定理。第4.3.2小节专门用于定义和研究所谓的脱冠普适双覆盖.d-map(g:Y_1\右箭头Y_2\)具有独特的右起重特性w.r.t.一个d映射(f:X_1\rightarrow X_2),如果对于每个d映射(hi:X_i\rightarrow Y_i),\(i=1,2\),满足\(g\circ h_1=h2\ circ f\),则存在一个唯一的d映射\(h:X_2\ rightarror Y_1\),从而\(h\circf=h_1\)和\(g\scirc h=h2\)。那么,d-map(p:Y\rightarrow X\)是一个去盖如果包含d-maps(\{0\}\hookrightarrow\overrightarrow{I}\)、\(\{(0,0)\}\hookrightarrow(I\times\overrghtarrow{I})/\approx_0\)、\\(\{0)\{hookright arrow(I \times\ overrightarrow{I})/(\approx.0\cup\approx _1)具有唯一的右提升属性,其中\(I\)仅配备恒定路径作为双路径,等价关系(approx_t)定义为当且仅当(t1=t=t2)。这个通用双覆盖尖d空间\((X,X)\)是一个尖双子形\(p:(\widetilde{X},\widetilde{X})\rightarrow(X,X)\),使得对于每个双子形\(q:(Y,Y)\rightarrow(X,X)\)都存在一个唯一的满足\(p=q\circ r)的尖态射\(r:(\widetilde{X},\widetilde{X})\rightarrow(Y,Y)\)。这是有向代数拓扑的一个重要概念,因为分解覆盖具有一些类似于普通代数拓扑中覆盖空间的性质。更重要的是,在本书的上下文中,这种结构为一些非循环程序提供了几何方法。
第五章题为“有向空间上的算法”,旨在解释基于程序几何语义的算法。本章包括以下部分。5.1“立方区域的布尔代数”、5.2“计算死锁”和5.3“分解程序”。给定d-space(X\subseteq\overrightarrow{I}^n\)立方体盖\(X)的(R=(R^i){1\leqi\leq\ell})是(X)中的(n)-立方体(具有开放或闭合边界)的有限族,因此(bigcup R=X)。容纳立方体覆盖物的空间称为立方区域.用\(\mathcal表示{C} _n(n)\)(分别\(\mathcal{R} _n(n)\))尺寸为(n)的立方体覆盖集(分别为区域)。证明了立方体区域集是幂集(mathfrak{B}(overrightarrow{I}^n))的布尔子代数,并且在(mathcal)之间有一个双射{R} _n(n)\)和(mathcal)的子集{C} _n(n)\)其元素包含在正规形式在第5.2节中,作者提供了一种算法,用于检测简单程序中的死锁,更普遍地说,检测注定要失败的区域。第5.3节提到了一个重要问题,即并发程序是否可以分解为几个并发运行且完全独立的进程。结果被表示为一个一般定理(定理5.26):在立方体区域的交换幺半群(mathcal{R}^{mathfrak{C}})中,每个元素都可以唯一分解为不可约元素的乘积。
在第六章“元件的范畴”中,连通元件的概念被引入到有向拓扑中,它可以用来获得直到同伦的有向路径范畴的紧表示。类别\(\mathcal{C}\)是无回路的如果对于每对对象\(x,y\ in \mathcal{C}\),\(\mathcal{C}(x,y)\neq\emptyset\)和\(\mathcal{C}(y,x)\neq \emptystet\)意味着\{id}_x\}\). 形态\(f\in\mathcal{C}(x,y)\)是一个弱同构如果对于每个对象\(z\in\mathcal{C}\),使得\(\mathcal{C}(y,z)\neq\emptyset\),函数\(f^{ast}:=\mathcale{C}(.,z):\mathcali{C}-(y,z)\rightarrow\mathcail{C}_(x,z)\)是一个双射,如果\(\mathcal{C}(z,x)\neq\emptysteset\)函数\(f{ast}=\ mathcal{C}(z,.):\mathcal}C}。这个组件类别\与无环类别关联的(\overrightarrow{\Pi}_0(\mathcal{C})是商类别,其中\(\Sigma\)是最大的系统\(\mathcal{C}\)的弱同构。如果\(X\)是一个d空格,那么类别\(\ overrightarrow{\Pi}_0(\ overlightarrow{\Pi{_1(X))\)用\(\ Overrightarrows{\Pineneneep _0(X)\)表示。组件的类别提供了一种工具,可以在并发程序中识别对程序执行有真正影响但忽略其他影响的操作。这是使用以下定理(定理6.23)完成的:给定\(\mathcal{C}\)的两个对象\(x\)和\(y\),使得\(\mathcal{C}(x,y)\neq\emptyset\)和\(\ Sigma\)是弱同构系统,由商函子诱导的函数\(\mathcal{C}(x,y)\rightarrow\mathcal{C}/\Sigma([x],[y])\)是双射。作者研究了与树的基本类别、维度2中的立方体区域和“浮动立方体”相关的组件类别{G} (p)=\overrightarrow{I}^3\backslash]1/3,2/3[^3\)。证明了广义Seifert-van-Kampen定理(定理6.41)。在本章的最后一节(6.4)中,作者讨论了已经研究或可以研究的分量概念的其他扩展。
第7章题为“路径空间”。对于d空间(X)和X中的两点(X,y),(X(X,y))表示(X^{超右箭头{I}})的子空间,该子空间由从(X)到(y)的所有双路径组成,具有紧开拓扑,称为路径空间从\(x\)到\(y\)。作者首先指出,程序的几何语义中的双路径空间通常非常大,即使对于最简单的程序也是如此。但是dipaths空间有一个文档合成为特定形状的子空间,称为受限空间,这些空间要么是空的,要么是可压缩的。此外,每个受限空间都可以用特定的布尔矩阵进行编码,其中子空间的包含对应于矩阵的自然顺序,这就产生了高效的计算。一个前-复杂复合体是通过将几何单形的乘积粘合而得到的拓扑空间。证明了如果\(X=\check{G} (p)\)那么,从起点(0=(0,dots,0))到终点(1=(1,dotes,1))的路径空间(X(0,1))是同伦等价于前简单复数。然后,路径空间的同源群\(\check{G} (p)(0,1)\),对应于一些并行程序,可以进行计算。非常有趣的是,使用这种技术,对于(n)顶点上的任意有限维单形复形(P),存在一个带线程的简单程序(P),因此具有几何语义(X=check{G} (p)\substeq \ overrightarrow{I}^n \),使得\(X(0,1)\)同伦等价于不相交并集\(P\sqcup S^{n-2}\)。特别地,如果\(P\)是\(P\mathbb{R}^2),使用通常的6个顶点的三角剖分,那么\(X(0,1)\)是同伦八等价于\(P\tathbb{R}^2 \ sqcup S^4 \)[A.动物园G.卡尔森,离散计算。地理。33,第2期,249–274页(2005年;Zbl 1069.55003号)].
本书结尾(第8章)阐述了几个观点问题。第一,作者对本书前几章的内容进行了简短的自我评价:“我们希望,有向代数拓扑和并发之间关系的全景图给读者留下了这两个领域之间深刻联系的印象。尽管大多数计算过程本质上是离散的,但采用几何观点进行这项研究带来了许多新的见解,我们相信我认为这只是一个开始。这本书只能作为这一主题的相对简短的介绍。许多相关的结果和方法没有介绍,我们想在最后一章中为读者指出其中的一些”。本书中未涉及的上述问题包括:分布式数据库中的并发控制、分布式系统的容错协议、高维自动机和语义等价,其中一些问题已经被广泛讨论,其他问题仍处于初级阶段,重写技术,同伦类型理论。作者通过书目参考和计算机科学中实际必要性的指示,甚至通过在代数拓扑学中开创新的发展方向,支持这一观点问题列表。

MSC公司:

68-02 与计算机科学有关的研究展览会(专著、调查文章)
55至01 代数拓扑学的介绍性说明(教科书、教程论文等)
18立方厘米 拓扑空间和连续映射的类别(MSC2010)
54个F05 线性序拓扑空间、广义序空间和偏序空间
55页99 同伦理论
55单位10 代数拓扑中的单纯形集和复数
55单位35 代数拓扑中的抽象公理同伦论
55单位40 拓扑范畴,同伦理论的基础
68号30 软件工程的数学方面(规范、验证、度量、需求等)
68问题55 计算理论中的语义学
60年第68季度 规范和验证(程序逻辑、模型检查等)
68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等)

软件:

自旋蛋白
PDF格式BibTeX公司 XML格式引用
全文: 内政部