Graded Sparse Graphs and Matroids

合集下载

宋强 1202121332 统计机器学习大作业

宋强 1202121332 统计机器学习大作业

统计机器学习大作业学院:支持向量机理论学院:电子工程姓名:宋强学号:12021213321 统计机器学习理论目前机器学习的一个比较热门的方向是统计机器学习(另外一个可能是图模型,按照Jordan的说法是统计机器学习属于频率主义,而图模型属于贝叶斯主义),对于每一个做统计机器学习的研究者来说,他们大致可以分为两类:一类做统计学习理论相关工作,如泛化界、约简或一致性;一类做优化算法,如支持向量机、Boosting等。

作为一个纯统计机器学习的学者来说,我想这两块内容都得了解。

优化算法的门槛低点,可能比较容易上手,了解他们并不太难,比如支持向量机本质上是求解一个RKHS上的二次优化问题,Boosting是函数空间上的梯度下降优化问题。

统计学习理论的门槛高点,需要的基础数学知识多点,离计算机出生的人比较远,因而常常使人望而生畏。

最近本人对统计学习理论这块做了些整理,发现其实这块东西并非如想象的那么难,他们的本质无非是概率集中不等式在机器学习上的应用,下面以泛化界为例讲一下自己对那块内容的理解。

Talagrand(1996)说过: "A random variable that depends (in a "smooth way") on the influence of many independent variables(But not too much on any of them) is essentially constant". 中文上的意思是,依赖于许多独立随机变量的随机变量本质上是个常量,举个例子,经验风险就是一个依赖于一个随机训练样本集合的随机变量,因而经验风险本质上应该是个常量。

正因为如此,这个随机变量离开它均值的概率就以指数形势衰减,因此这就是泛化界中常见的如下论述:“以1-\sigma的概率,作如下论断”的由来。

目前使用的各种泛化界分析工具本质上正是基于这个原理,下面介绍下目前主流的三种泛化界分析方法,VC维,R复杂度和稳定性分析。

美国NAEP数学能力评价体系

美国NAEP数学能力评价体系

naep数学能力评价体系的框架结构
03
美国naep数学能力评价体系的评估内容
Chapter
数学基础知识
包括整数、小数、分数、百分数等。
数的概念
几何概念
算法与程序
数据分析与概率
包括形状、测量、坐标等。
包括基本运算、代数表达式、方程等。
包括图表解读、数据推理、概率等。
数学技能运用
计算技能
包括口算、笔算、心算等。
评估结果与解释
05
美国naep数学能力评价体系的影响因素
Chapter
学生个体因素
数学基础能力
学生的数学基础能力是影响其NAEP数学评价成绩的关键因素。
1
教学环境因素
2
3
教师的课堂教学质量和教学方法对学生的数学成绩有很大影响,优秀的教师能够通过有效的教学手段提高学生的数学能力。
课堂教学质量
学习资源的丰富程度和利用方式也会影响学生的数学成绩。
引言
Chapter
研究背景与意义
美国国家教育进展评估(NAEP)是一个长期性的、系统性的评估项目,旨在评估美国中小学生在不同学科领域的学习成果。数学能力是NAEP评估的重要方面之一。
背景
了解美国中学生在数学能力方面的表现,对于研究美国基础教育在数学学科的教学质量和学生的数学素养具有重要意义。
意义
社会经济地位会对学生的数学成绩产生影响,一般来说,社会经济地位高的学生数学成绩相对较好。
06
美国naep数学能力评价体系的启示与建议
Chapter
重视学生思维能力培养
建立综合评价体系
强化实践应用能力
对我国数学教育的启示
结合美国naep数学能力评价体系的启示,我国数学教育应适当调整课程设置,增加数学思维和问题解决等方面的训练,培养学生的综合素质。

基于弹性网和直方图相交的非负局部稀疏编码

基于弹性网和直方图相交的非负局部稀疏编码

DOI: 10. 11772 / j. issn. 1001-9081. 2018071483
基于弹性网和直方图相交的非负局部稀疏编码
*பைடு நூலகம்
万 源,张景会 ,陈治平,孟晓静
( 武汉理工大学 理学院,武汉 430070) ( * 通信作者电子邮箱 Jingzhang@ whut. edu. cn)
摘 要: 针对稀疏编码模型在字典基的选择时忽略了群效应,且欧氏距离不能有效度量特征与字典基之间距离 的问题,提出基于弹性网和直方图相交的非负局部稀疏编码方法( EH-NLSC) 。首先,在优化函数中引入弹性网模型, 消除字典基选择数目的限制,能够选择多组相关特征而排除冗余特征,提高了编码的判别性和有效性。然后,在局部 性约束中引入直方图相交,重新定义特征与字典基之间的距离,确保相似的特征可以共享其局部的基。最后采用多 类线性支持向量机进行分类。在 4 个公共数据集上的实验结果表明,与局部线性约束的编码算法( LLC) 和基于非负 弹性网的稀疏编码算法( NENSC) 相比,EH-NLSC 的分类准确率分别平均提升了 10 个百分点和 9 个百分点,充分体现 了其在图像表示和分类中的有效性。
Key words: sparse coding; elastic net model; locality; histogram intersection; image classification
0 引言
图像分类是计算机视觉领域的一个重要研究方向,广泛 应用于生物特征识别、网络图像检索和机器人视觉等领域,其 关键在于如何提取特征对图像有效表示。稀疏编码是图像特 征表示 的 有 效 方 法。考 虑 到 词 袋 ( Bag of Words,BoW) 模 型[1]和空 间 金 字 塔 匹 配 ( Spatial Pyramid Matching,SPM) 模 型[2]容易造成量化误差,Yang 等[3] 结合 SPM 模型提出利用 稀疏编 码 的 空 间 金 字 塔 的 图 像 分 类 算 法 ( Spatial Pyramid Matching using Sparse Coding,ScSPM) ,在图像的不同尺度上 进行稀疏编码,取得了较好的分类效果。在稀疏编码模型中, 由于 1 范数在字典基选择时只考虑稀疏性而忽略了群体效 应,Zou 等[4]提出一种新的正则化方法,将弹性网作为正则项 和变量选择方法。Zhang 等[5]提出判别式弹性网正则化线性

集成梯度特征归属方法-概述说明以及解释

集成梯度特征归属方法-概述说明以及解释

集成梯度特征归属方法-概述说明以及解释1.引言1.1 概述在概述部分,你可以从以下角度来描述集成梯度特征归属方法的背景和重要性:集成梯度特征归属方法是一种用于分析和解释机器学习模型预测结果的技术。

随着机器学习的快速发展和广泛应用,对于模型的解释性需求也越来越高。

传统的机器学习模型通常被认为是“黑盒子”,即无法解释模型做出预测的原因。

这限制了模型在一些关键应用领域的应用,如金融风险评估、医疗诊断和自动驾驶等。

为了解决这个问题,研究人员提出了各种机器学习模型的解释方法,其中集成梯度特征归属方法是一种非常受关注和有效的技术。

集成梯度特征归属方法能够为机器学习模型的预测结果提供可解释的解释,从而揭示模型对于不同特征的关注程度和影响力。

通过分析模型中每个特征的梯度值,可以确定该特征在预测中扮演的角色和贡献度,从而帮助用户理解模型的决策过程。

这对于模型的评估、优化和改进具有重要意义。

集成梯度特征归属方法的应用广泛,不仅适用于传统的机器学习模型,如决策树、支持向量机和逻辑回归等,也可以应用于深度学习模型,如神经网络和卷积神经网络等。

它能够为各种类型的特征,包括数值型特征和类别型特征,提供有益的信息和解释。

本文将对集成梯度特征归属方法的原理、应用优势和未来发展进行详细阐述,旨在为读者提供全面的了解和使用指南。

在接下来的章节中,我们将首先介绍集成梯度特征归属方法的基本原理和算法,然后探讨应用该方法的优势和实际应用场景。

最后,我们将总结该方法的重要性,并展望未来该方法的发展前景。

1.2文章结构文章结构内容应包括以下内容:文章的结构部分主要是对整篇文章的框架进行概述,指导读者在阅读过程中能够清晰地了解文章的组织结构和内容安排。

第一部分是引言,介绍了整篇文章的背景和意义。

其中,1.1小节概述文章所要讨论的主题,简要介绍了集成梯度特征归属方法的基本概念和应用领域。

1.2小节重点在于介绍文章的结构,将列出本文各个部分的标题和内容概要,方便读者快速了解文章的大致内容。

基于拉普拉斯金字塔分解的多尺度边缘检测_董鸿燕

基于拉普拉斯金字塔分解的多尺度边缘检测_董鸿燕

第34卷第7期 光电工程V ol.34, No.7 2007年7月 Opto-Electronic Engineering July, 2007文章编号:1003-501X(2007)07-0135-06基于拉普拉斯金字塔分解的多尺度边缘检测董鸿燕,王磊,李吉成,沈振康( 国防科技大学 ATR重点实验室,湖南长沙 410073 )摘要:边缘表现为图像中具有奇异性点的集合,利用改进的拉普拉斯金字塔分解捕获这些奇异性点,得到各尺度下的带通图像,通过分析,得出分解后的带通图像在边缘处产生零交叉点,构造统计量帮助提取零交叉点,再通过多尺度边缘融合实现多尺度边缘提取。

与LOG和Canny边缘检测的对比实验表明,所建立的算法能够可靠、有效、精确的获得图像的边缘。

关键词:奇异性;边缘检测;拉普拉斯金字塔;多尺度中图分类号:TN391.4 文献标志码:AMultiscale edge detection based on Laplacian pyramidDONG Hong-yan,WANG Lei,LI Ji-cheng,SHEN Zhen-kang( ATR Laboratory, National University of Defense Technology, Changsha 410073, China ) Abstract:Edge is characterized as the singularity points in the image. Laplacian Pyramid (LP) decomposition was used to capture the point singularities to obtain the multiscale band-pass images. Then it was analyzed that the obtained band-pass images was characterized as zerocrossing at the edges. A zerocrossing detection algorithm assisted by computing a statistic and a multiscale edge synthesizing algorithm were proposed to implement multiscale edge detection. Compared with the edge detectors of LOG (Laplacian of Gaussian) and Canny, the algorithm can detect edges of images more reliably and effectively.Key words:singularity; edge detection; Laplacian pyramid; multiscale引 言图像的边缘定义为周围像素灰度强度不连续的像素点的集合,也就是图像中具有奇异性的像素点的集合。

Graph Regularized Nonnegative Matrix

Graph Regularized Nonnegative Matrix

Ç
1 INTRODUCTION
HE
techniques for matrix factorization have become popular in recent years for data representation. In many problems in information retrieval, computer vision, and pattern recognition, the input data matrix is of very high dimension. This makes learning from example infeasible [15]. One then hopes to find two or more lower dimensional matrices whose product provides a good approximation to the original one. The canonical matrix factorization techniques include LU decomposition, QR decomposition, vector quantization, and Singular Value Decomposition (SVD). SVD is one of the most frequently used matrix factorization techniques. A singular value decomposition of an M Â N matrix X has the following form: X ¼ UÆVT ; where U is an M Â M orthogonal matrix, V is an N Â N orthogonal matrix, and Æ is an M Â N diagonal matrix with Æij ¼ 0 if i 6¼ j and Æii ! 0. The quantities Æii are called the singular values of X, and the columns of U and V are called

Finding community structure in networks using the eigenvectors of matrices

Finding community structure in networks using the eigenvectors of matrices
Finding community structure in networks using the eigenvectors of matrices
M. E. J. Newman
Department of Physics and Center for the Study of Complex Systems, University of Michigan, Ann Arbor, MI 48109–1040
We consider the problem of detecting communities or modules in networks, groups of vertices with a higher-than-average density of edges connecting them. Previous work indicates that a robust approach to this problem is the maximization of the benefit function known as “modularity” over possible divisions of a network. Here we show that this maximization process can be written in terms of the eigenspectrum of a matrix we call the modularity matrix, which plays a role in community detection similar to that played by the graph Laplacian in graph partitioning calculations. This result leads us to a number of possible algorithms for detecting community structure, as well as several other results, including a spectral measure of bipartite structure in neteasure that identifies those vertices that occupy central positions within the communities to which they belong. The algorithms and measures proposed are illustrated with applications to a variety of real-world complex networks.

From Data Mining to Knowledge Discovery in Databases

From Data Mining to Knowledge Discovery in Databases

s Data mining and knowledge discovery in databases have been attracting a significant amount of research, industry, and media atten-tion of late. What is all the excitement about?This article provides an overview of this emerging field, clarifying how data mining and knowledge discovery in databases are related both to each other and to related fields, such as machine learning, statistics, and databases. The article mentions particular real-world applications, specific data-mining techniques, challenges in-volved in real-world applications of knowledge discovery, and current and future research direc-tions in the field.A cross a wide variety of fields, data arebeing collected and accumulated at adramatic pace. There is an urgent need for a new generation of computational theo-ries and tools to assist humans in extracting useful information (knowledge) from the rapidly growing volumes of digital data. These theories and tools are the subject of the emerging field of knowledge discovery in databases (KDD).At an abstract level, the KDD field is con-cerned with the development of methods and techniques for making sense of data. The basic problem addressed by the KDD process is one of mapping low-level data (which are typically too voluminous to understand and digest easi-ly) into other forms that might be more com-pact (for example, a short report), more ab-stract (for example, a descriptive approximation or model of the process that generated the data), or more useful (for exam-ple, a predictive model for estimating the val-ue of future cases). At the core of the process is the application of specific data-mining meth-ods for pattern discovery and extraction.1This article begins by discussing the histori-cal context of KDD and data mining and theirintersection with other related fields. A briefsummary of recent KDD real-world applica-tions is provided. Definitions of KDD and da-ta mining are provided, and the general mul-tistep KDD process is outlined. This multistepprocess has the application of data-mining al-gorithms as one particular step in the process.The data-mining step is discussed in more de-tail in the context of specific data-mining al-gorithms and their application. Real-worldpractical application issues are also outlined.Finally, the article enumerates challenges forfuture research and development and in par-ticular discusses potential opportunities for AItechnology in KDD systems.Why Do We Need KDD?The traditional method of turning data intoknowledge relies on manual analysis and in-terpretation. For example, in the health-careindustry, it is common for specialists to peri-odically analyze current trends and changesin health-care data, say, on a quarterly basis.The specialists then provide a report detailingthe analysis to the sponsoring health-care or-ganization; this report becomes the basis forfuture decision making and planning forhealth-care management. In a totally differ-ent type of application, planetary geologistssift through remotely sensed images of plan-ets and asteroids, carefully locating and cata-loging such geologic objects of interest as im-pact craters. Be it science, marketing, finance,health care, retail, or any other field, the clas-sical approach to data analysis relies funda-mentally on one or more analysts becomingArticlesFALL 1996 37From Data Mining to Knowledge Discovery inDatabasesUsama Fayyad, Gregory Piatetsky-Shapiro, and Padhraic Smyth Copyright © 1996, American Association for Artificial Intelligence. All rights reserved. 0738-4602-1996 / $2.00areas is astronomy. Here, a notable success was achieved by SKICAT ,a system used by as-tronomers to perform image analysis,classification, and cataloging of sky objects from sky-survey images (Fayyad, Djorgovski,and Weir 1996). In its first application, the system was used to process the 3 terabytes (1012bytes) of image data resulting from the Second Palomar Observatory Sky Survey,where it is estimated that on the order of 109sky objects are detectable. SKICAT can outper-form humans and traditional computational techniques in classifying faint sky objects. See Fayyad, Haussler, and Stolorz (1996) for a sur-vey of scientific applications.In business, main KDD application areas includes marketing, finance (especially in-vestment), fraud detection, manufacturing,telecommunications, and Internet agents.Marketing:In marketing, the primary ap-plication is database marketing systems,which analyze customer databases to identify different customer groups and forecast their behavior. Business Week (Berry 1994) estimat-ed that over half of all retailers are using or planning to use database marketing, and those who do use it have good results; for ex-ample, American Express reports a 10- to 15-percent increase in credit-card use. Another notable marketing application is market-bas-ket analysis (Agrawal et al. 1996) systems,which find patterns such as, “If customer bought X, he/she is also likely to buy Y and Z.” Such patterns are valuable to retailers.Investment: Numerous companies use da-ta mining for investment, but most do not describe their systems. One exception is LBS Capital Management. Its system uses expert systems, neural nets, and genetic algorithms to manage portfolios totaling $600 million;since its start in 1993, the system has outper-formed the broad stock market (Hall, Mani,and Barr 1996).Fraud detection: HNC Falcon and Nestor PRISM systems are used for monitoring credit-card fraud, watching over millions of ac-counts. The FAIS system (Senator et al. 1995),from the U.S. Treasury Financial Crimes En-forcement Network, is used to identify finan-cial transactions that might indicate money-laundering activity.Manufacturing: The CASSIOPEE trou-bleshooting system, developed as part of a joint venture between General Electric and SNECMA, was applied by three major Euro-pean airlines to diagnose and predict prob-lems for the Boeing 737. To derive families of faults, clustering methods are used. CASSIOPEE received the European first prize for innova-intimately familiar with the data and serving as an interface between the data and the users and products.For these (and many other) applications,this form of manual probing of a data set is slow, expensive, and highly subjective. In fact, as data volumes grow dramatically, this type of manual data analysis is becoming completely impractical in many domains.Databases are increasing in size in two ways:(1) the number N of records or objects in the database and (2) the number d of fields or at-tributes to an object. Databases containing on the order of N = 109objects are becoming in-creasingly common, for example, in the as-tronomical sciences. Similarly, the number of fields d can easily be on the order of 102or even 103, for example, in medical diagnostic applications. Who could be expected to di-gest millions of records, each having tens or hundreds of fields? We believe that this job is certainly not one for humans; hence, analysis work needs to be automated, at least partially.The need to scale up human analysis capa-bilities to handling the large number of bytes that we can collect is both economic and sci-entific. Businesses use data to gain competi-tive advantage, increase efficiency, and pro-vide more valuable services to customers.Data we capture about our environment are the basic evidence we use to build theories and models of the universe we live in. Be-cause computers have enabled humans to gather more data than we can digest, it is on-ly natural to turn to computational tech-niques to help us unearth meaningful pat-terns and structures from the massive volumes of data. Hence, KDD is an attempt to address a problem that the digital informa-tion era made a fact of life for all of us: data overload.Data Mining and Knowledge Discovery in the Real WorldA large degree of the current interest in KDD is the result of the media interest surrounding successful KDD applications, for example, the focus articles within the last two years in Business Week , Newsweek , Byte , PC Week , and other large-circulation periodicals. Unfortu-nately, it is not always easy to separate fact from media hype. Nonetheless, several well-documented examples of successful systems can rightly be referred to as KDD applications and have been deployed in operational use on large-scale real-world problems in science and in business.In science, one of the primary applicationThere is an urgent need for a new generation of computation-al theories and tools toassist humans in extractinguseful information (knowledge)from the rapidly growing volumes ofdigital data.Articles38AI MAGAZINEtive applications (Manago and Auriol 1996).Telecommunications: The telecommuni-cations alarm-sequence analyzer (TASA) wasbuilt in cooperation with a manufacturer oftelecommunications equipment and threetelephone networks (Mannila, Toivonen, andVerkamo 1995). The system uses a novelframework for locating frequently occurringalarm episodes from the alarm stream andpresenting them as rules. Large sets of discov-ered rules can be explored with flexible infor-mation-retrieval tools supporting interactivityand iteration. In this way, TASA offers pruning,grouping, and ordering tools to refine the re-sults of a basic brute-force search for rules.Data cleaning: The MERGE-PURGE systemwas applied to the identification of duplicatewelfare claims (Hernandez and Stolfo 1995).It was used successfully on data from the Wel-fare Department of the State of Washington.In other areas, a well-publicized system isIBM’s ADVANCED SCOUT,a specialized data-min-ing system that helps National Basketball As-sociation (NBA) coaches organize and inter-pret data from NBA games (U.S. News 1995). ADVANCED SCOUT was used by several of the NBA teams in 1996, including the Seattle Su-personics, which reached the NBA finals.Finally, a novel and increasingly importanttype of discovery is one based on the use of in-telligent agents to navigate through an infor-mation-rich environment. Although the ideaof active triggers has long been analyzed in thedatabase field, really successful applications ofthis idea appeared only with the advent of theInternet. These systems ask the user to specifya profile of interest and search for related in-formation among a wide variety of public-do-main and proprietary sources. For example, FIREFLY is a personal music-recommendation agent: It asks a user his/her opinion of several music pieces and then suggests other music that the user might like (<http:// www.ffl/>). CRAYON(/>) allows users to create their own free newspaper (supported by ads); NEWSHOUND(<http://www. /hound/>) from the San Jose Mercury News and FARCAST(</> automatically search information from a wide variety of sources, including newspapers and wire services, and e-mail rele-vant documents directly to the user.These are just a few of the numerous suchsystems that use KDD techniques to automat-ically produce useful information from largemasses of raw data. See Piatetsky-Shapiro etal. (1996) for an overview of issues in devel-oping industrial KDD applications.Data Mining and KDDHistorically, the notion of finding useful pat-terns in data has been given a variety ofnames, including data mining, knowledge ex-traction, information discovery, informationharvesting, data archaeology, and data patternprocessing. The term data mining has mostlybeen used by statisticians, data analysts, andthe management information systems (MIS)communities. It has also gained popularity inthe database field. The phrase knowledge dis-covery in databases was coined at the first KDDworkshop in 1989 (Piatetsky-Shapiro 1991) toemphasize that knowledge is the end productof a data-driven discovery. It has been popular-ized in the AI and machine-learning fields.In our view, KDD refers to the overall pro-cess of discovering useful knowledge from da-ta, and data mining refers to a particular stepin this process. Data mining is the applicationof specific algorithms for extracting patternsfrom data. The distinction between the KDDprocess and the data-mining step (within theprocess) is a central point of this article. Theadditional steps in the KDD process, such asdata preparation, data selection, data cleaning,incorporation of appropriate prior knowledge,and proper interpretation of the results ofmining, are essential to ensure that usefulknowledge is derived from the data. Blind ap-plication of data-mining methods (rightly crit-icized as data dredging in the statistical litera-ture) can be a dangerous activity, easilyleading to the discovery of meaningless andinvalid patterns.The Interdisciplinary Nature of KDDKDD has evolved, and continues to evolve,from the intersection of research fields such asmachine learning, pattern recognition,databases, statistics, AI, knowledge acquisitionfor expert systems, data visualization, andhigh-performance computing. The unifyinggoal is extracting high-level knowledge fromlow-level data in the context of large data sets.The data-mining component of KDD cur-rently relies heavily on known techniquesfrom machine learning, pattern recognition,and statistics to find patterns from data in thedata-mining step of the KDD process. A natu-ral question is, How is KDD different from pat-tern recognition or machine learning (and re-lated fields)? The answer is that these fieldsprovide some of the data-mining methodsthat are used in the data-mining step of theKDD process. KDD focuses on the overall pro-cess of knowledge discovery from data, includ-ing how the data are stored and accessed, howalgorithms can be scaled to massive data setsThe basicproblemaddressed bythe KDDprocess isone ofmappinglow-leveldata intoother formsthat might bemorecompact,moreabstract,or moreuseful.ArticlesFALL 1996 39A driving force behind KDD is the database field (the second D in KDD). Indeed, the problem of effective data manipulation when data cannot fit in the main memory is of fun-damental importance to KDD. Database tech-niques for gaining efficient data access,grouping and ordering operations when ac-cessing data, and optimizing queries consti-tute the basics for scaling algorithms to larger data sets. Most data-mining algorithms from statistics, pattern recognition, and machine learning assume data are in the main memo-ry and pay no attention to how the algorithm breaks down if only limited views of the data are possible.A related field evolving from databases is data warehousing,which refers to the popular business trend of collecting and cleaning transactional data to make them available for online analysis and decision support. Data warehousing helps set the stage for KDD in two important ways: (1) data cleaning and (2)data access.Data cleaning: As organizations are forced to think about a unified logical view of the wide variety of data and databases they pos-sess, they have to address the issues of map-ping data to a single naming convention,uniformly representing and handling missing data, and handling noise and errors when possible.Data access: Uniform and well-defined methods must be created for accessing the da-ta and providing access paths to data that were historically difficult to get to (for exam-ple, stored offline).Once organizations and individuals have solved the problem of how to store and ac-cess their data, the natural next step is the question, What else do we do with all the da-ta? This is where opportunities for KDD natu-rally arise.A popular approach for analysis of data warehouses is called online analytical processing (OLAP), named for a set of principles pro-posed by Codd (1993). OLAP tools focus on providing multidimensional data analysis,which is superior to SQL in computing sum-maries and breakdowns along many dimen-sions. OLAP tools are targeted toward simpli-fying and supporting interactive data analysis,but the goal of KDD tools is to automate as much of the process as possible. Thus, KDD is a step beyond what is currently supported by most standard database systems.Basic DefinitionsKDD is the nontrivial process of identifying valid, novel, potentially useful, and ultimate-and still run efficiently, how results can be in-terpreted and visualized, and how the overall man-machine interaction can usefully be modeled and supported. The KDD process can be viewed as a multidisciplinary activity that encompasses techniques beyond the scope of any one particular discipline such as machine learning. In this context, there are clear opportunities for other fields of AI (be-sides machine learning) to contribute to KDD. KDD places a special emphasis on find-ing understandable patterns that can be inter-preted as useful or interesting knowledge.Thus, for example, neural networks, although a powerful modeling tool, are relatively difficult to understand compared to decision trees. KDD also emphasizes scaling and ro-bustness properties of modeling algorithms for large noisy data sets.Related AI research fields include machine discovery, which targets the discovery of em-pirical laws from observation and experimen-tation (Shrager and Langley 1990) (see Kloes-gen and Zytkow [1996] for a glossary of terms common to KDD and machine discovery),and causal modeling for the inference of causal models from data (Spirtes, Glymour,and Scheines 1993). Statistics in particular has much in common with KDD (see Elder and Pregibon [1996] and Glymour et al.[1996] for a more detailed discussion of this synergy). Knowledge discovery from data is fundamentally a statistical endeavor. Statistics provides a language and framework for quan-tifying the uncertainty that results when one tries to infer general patterns from a particu-lar sample of an overall population. As men-tioned earlier, the term data mining has had negative connotations in statistics since the 1960s when computer-based data analysis techniques were first introduced. The concern arose because if one searches long enough in any data set (even randomly generated data),one can find patterns that appear to be statis-tically significant but, in fact, are not. Clearly,this issue is of fundamental importance to KDD. Substantial progress has been made in recent years in understanding such issues in statistics. Much of this work is of direct rele-vance to KDD. Thus, data mining is a legiti-mate activity as long as one understands how to do it correctly; data mining carried out poorly (without regard to the statistical as-pects of the problem) is to be avoided. KDD can also be viewed as encompassing a broader view of modeling than statistics. KDD aims to provide tools to automate (to the degree pos-sible) the entire process of data analysis and the statistician’s “art” of hypothesis selection.Data mining is a step in the KDD process that consists of ap-plying data analysis and discovery al-gorithms that produce a par-ticular enu-meration ofpatterns (or models)over the data.Articles40AI MAGAZINEly understandable patterns in data (Fayyad, Piatetsky-Shapiro, and Smyth 1996).Here, data are a set of facts (for example, cases in a database), and pattern is an expres-sion in some language describing a subset of the data or a model applicable to the subset. Hence, in our usage here, extracting a pattern also designates fitting a model to data; find-ing structure from data; or, in general, mak-ing any high-level description of a set of data. The term process implies that KDD comprises many steps, which involve data preparation, search for patterns, knowledge evaluation, and refinement, all repeated in multiple itera-tions. By nontrivial, we mean that some search or inference is involved; that is, it is not a straightforward computation of predefined quantities like computing the av-erage value of a set of numbers.The discovered patterns should be valid on new data with some degree of certainty. We also want patterns to be novel (at least to the system and preferably to the user) and poten-tially useful, that is, lead to some benefit to the user or task. Finally, the patterns should be understandable, if not immediately then after some postprocessing.The previous discussion implies that we can define quantitative measures for evaluating extracted patterns. In many cases, it is possi-ble to define measures of certainty (for exam-ple, estimated prediction accuracy on new data) or utility (for example, gain, perhaps indollars saved because of better predictions orspeedup in response time of a system). No-tions such as novelty and understandabilityare much more subjective. In certain contexts,understandability can be estimated by sim-plicity (for example, the number of bits to de-scribe a pattern). An important notion, calledinterestingness(for example, see Silberschatzand Tuzhilin [1995] and Piatetsky-Shapiro andMatheus [1994]), is usually taken as an overallmeasure of pattern value, combining validity,novelty, usefulness, and simplicity. Interest-ingness functions can be defined explicitly orcan be manifested implicitly through an or-dering placed by the KDD system on the dis-covered patterns or models.Given these notions, we can consider apattern to be knowledge if it exceeds some in-terestingness threshold, which is by nomeans an attempt to define knowledge in thephilosophical or even the popular view. As amatter of fact, knowledge in this definition ispurely user oriented and domain specific andis determined by whatever functions andthresholds the user chooses.Data mining is a step in the KDD processthat consists of applying data analysis anddiscovery algorithms that, under acceptablecomputational efficiency limitations, pro-duce a particular enumeration of patterns (ormodels) over the data. Note that the space ofArticlesFALL 1996 41Figure 1. An Overview of the Steps That Compose the KDD Process.methods, the effective number of variables under consideration can be reduced, or in-variant representations for the data can be found.Fifth is matching the goals of the KDD pro-cess (step 1) to a particular data-mining method. For example, summarization, clas-sification, regression, clustering, and so on,are described later as well as in Fayyad, Piatet-sky-Shapiro, and Smyth (1996).Sixth is exploratory analysis and model and hypothesis selection: choosing the data-mining algorithm(s) and selecting method(s)to be used for searching for data patterns.This process includes deciding which models and parameters might be appropriate (for ex-ample, models of categorical data are differ-ent than models of vectors over the reals) and matching a particular data-mining method with the overall criteria of the KDD process (for example, the end user might be more in-terested in understanding the model than its predictive capabilities).Seventh is data mining: searching for pat-terns of interest in a particular representa-tional form or a set of such representations,including classification rules or trees, regres-sion, and clustering. The user can significant-ly aid the data-mining method by correctly performing the preceding steps.Eighth is interpreting mined patterns, pos-sibly returning to any of steps 1 through 7 for further iteration. This step can also involve visualization of the extracted patterns and models or visualization of the data given the extracted models.Ninth is acting on the discovered knowl-edge: using the knowledge directly, incorpo-rating the knowledge into another system for further action, or simply documenting it and reporting it to interested parties. This process also includes checking for and resolving po-tential conflicts with previously believed (or extracted) knowledge.The KDD process can involve significant iteration and can contain loops between any two steps. The basic flow of steps (al-though not the potential multitude of itera-tions and loops) is illustrated in figure 1.Most previous work on KDD has focused on step 7, the data mining. However, the other steps are as important (and probably more so) for the successful application of KDD in practice. Having defined the basic notions and introduced the KDD process, we now focus on the data-mining component,which has, by far, received the most atten-tion in the literature.patterns is often infinite, and the enumera-tion of patterns involves some form of search in this space. Practical computational constraints place severe limits on the sub-space that can be explored by a data-mining algorithm.The KDD process involves using the database along with any required selection,preprocessing, subsampling, and transforma-tions of it; applying data-mining methods (algorithms) to enumerate patterns from it;and evaluating the products of data mining to identify the subset of the enumerated pat-terns deemed knowledge. The data-mining component of the KDD process is concerned with the algorithmic means by which pat-terns are extracted and enumerated from da-ta. The overall KDD process (figure 1) in-cludes the evaluation and possible interpretation of the mined patterns to de-termine which patterns can be considered new knowledge. The KDD process also in-cludes all the additional steps described in the next section.The notion of an overall user-driven pro-cess is not unique to KDD: analogous propos-als have been put forward both in statistics (Hand 1994) and in machine learning (Brod-ley and Smyth 1996).The KDD ProcessThe KDD process is interactive and iterative,involving numerous steps with many deci-sions made by the user. Brachman and Anand (1996) give a practical view of the KDD pro-cess, emphasizing the interactive nature of the process. Here, we broadly outline some of its basic steps:First is developing an understanding of the application domain and the relevant prior knowledge and identifying the goal of the KDD process from the customer’s viewpoint.Second is creating a target data set: select-ing a data set, or focusing on a subset of vari-ables or data samples, on which discovery is to be performed.Third is data cleaning and preprocessing.Basic operations include removing noise if appropriate, collecting the necessary informa-tion to model or account for noise, deciding on strategies for handling missing data fields,and accounting for time-sequence informa-tion and known changes.Fourth is data reduction and projection:finding useful features to represent the data depending on the goal of the task. With di-mensionality reduction or transformationArticles42AI MAGAZINEThe Data-Mining Stepof the KDD ProcessThe data-mining component of the KDD pro-cess often involves repeated iterative applica-tion of particular data-mining methods. This section presents an overview of the primary goals of data mining, a description of the methods used to address these goals, and a brief description of the data-mining algo-rithms that incorporate these methods.The knowledge discovery goals are defined by the intended use of the system. We can distinguish two types of goals: (1) verification and (2) discovery. With verification,the sys-tem is limited to verifying the user’s hypothe-sis. With discovery,the system autonomously finds new patterns. We further subdivide the discovery goal into prediction,where the sys-tem finds patterns for predicting the future behavior of some entities, and description, where the system finds patterns for presenta-tion to a user in a human-understandableform. In this article, we are primarily con-cerned with discovery-oriented data mining.Data mining involves fitting models to, or determining patterns from, observed data. The fitted models play the role of inferred knowledge: Whether the models reflect useful or interesting knowledge is part of the over-all, interactive KDD process where subjective human judgment is typically required. Two primary mathematical formalisms are used in model fitting: (1) statistical and (2) logical. The statistical approach allows for nondeter-ministic effects in the model, whereas a logi-cal model is purely deterministic. We focus primarily on the statistical approach to data mining, which tends to be the most widely used basis for practical data-mining applica-tions given the typical presence of uncertain-ty in real-world data-generating processes.Most data-mining methods are based on tried and tested techniques from machine learning, pattern recognition, and statistics: classification, clustering, regression, and so on. The array of different algorithms under each of these headings can often be bewilder-ing to both the novice and the experienced data analyst. It should be emphasized that of the many data-mining methods advertised in the literature, there are really only a few fun-damental techniques. The actual underlying model representation being used by a particu-lar method typically comes from a composi-tion of a small number of well-known op-tions: polynomials, splines, kernel and basis functions, threshold-Boolean functions, and so on. Thus, algorithms tend to differ primar-ily in the goodness-of-fit criterion used toevaluate model fit or in the search methodused to find a good fit.In our brief overview of data-mining meth-ods, we try in particular to convey the notionthat most (if not all) methods can be viewedas extensions or hybrids of a few basic tech-niques and principles. We first discuss the pri-mary methods of data mining and then showthat the data- mining methods can be viewedas consisting of three primary algorithmiccomponents: (1) model representation, (2)model evaluation, and (3) search. In the dis-cussion of KDD and data-mining methods,we use a simple example to make some of thenotions more concrete. Figure 2 shows a sim-ple two-dimensional artificial data set consist-ing of 23 cases. Each point on the graph rep-resents a person who has been given a loanby a particular bank at some time in the past.The horizontal axis represents the income ofthe person; the vertical axis represents the to-tal personal debt of the person (mortgage, carpayments, and so on). The data have beenclassified into two classes: (1) the x’s repre-sent persons who have defaulted on theirloans and (2) the o’s represent persons whoseloans are in good status with the bank. Thus,this simple artificial data set could represent ahistorical data set that can contain usefulknowledge from the point of view of thebank making the loans. Note that in actualKDD applications, there are typically manymore dimensions (as many as several hun-dreds) and many more data points (manythousands or even millions).ArticlesFALL 1996 43Figure 2. A Simple Data Set with Two Classes Used for Illustrative Purposes.。

An Overview of Recent Progress in the Study of Distributed Multi-agent Coordination

An Overview of Recent Progress in the Study of Distributed Multi-agent Coordination

An Overview of Recent Progress in the Study of Distributed Multi-agent CoordinationYongcan Cao,Member,IEEE,Wenwu Yu,Member,IEEE,Wei Ren,Member,IEEE,and Guanrong Chen,Fellow,IEEEAbstract—This article reviews some main results and progress in distributed multi-agent coordination,focusing on papers pub-lished in major control systems and robotics journals since 2006.Distributed coordination of multiple vehicles,including unmanned aerial vehicles,unmanned ground vehicles and un-manned underwater vehicles,has been a very active research subject studied extensively by the systems and control community. The recent results in this area are categorized into several directions,such as consensus,formation control,optimization, and estimation.After the review,a short discussion section is included to summarize the existing research and to propose several promising research directions along with some open problems that are deemed important for further investigations.Index Terms—Distributed coordination,formation control,sen-sor networks,multi-agent systemI.I NTRODUCTIONC ONTROL theory and practice may date back to thebeginning of the last century when Wright Brothers attempted theirfirst testflight in1903.Since then,control theory has gradually gained popularity,receiving more and wider attention especially during the World War II when it was developed and applied tofire-control systems,missile nav-igation and guidance,as well as various electronic automation devices.In the past several decades,modern control theory was further advanced due to the booming of aerospace technology based on large-scale engineering systems.During the rapid and sustained development of the modern control theory,technology for controlling a single vehicle, albeit higher-dimensional and complex,has become relatively mature and has produced many effective tools such as PID control,adaptive control,nonlinear control,intelligent control, This work was supported by the National Science Foundation under CAREER Award ECCS-1213291,the National Natural Science Foundation of China under Grant No.61104145and61120106010,the Natural Science Foundation of Jiangsu Province of China under Grant No.BK2011581,the Research Fund for the Doctoral Program of Higher Education of China under Grant No.20110092120024,the Fundamental Research Funds for the Central Universities of China,and the Hong Kong RGC under GRF Grant CityU1114/11E.The work of Yongcan Cao was supported by a National Research Council Research Associateship Award at AFRL.Y.Cao is with the Control Science Center of Excellence,Air Force Research Laboratory,Wright-Patterson AFB,OH45433,USA.W.Yu is with the Department of Mathematics,Southeast University,Nanjing210096,China and also with the School of Electrical and Computer Engineering,RMIT University,Melbourne VIC3001,Australia.W.Ren is with the Department of Electrical Engineering,University of California,Riverside,CA92521,USA.G.Chen is with the Department of Electronic Engineering,City University of Hong Kong,Hong Kong SAR,China.Copyright(c)2009IEEE.Personal use of this material is permitted. However,permission to use this material for any other purposes must be obtained from the IEEE by sending a request to pubs-permissions@.and robust control methodologies.In the past two decades in particular,control of multiple vehicles has received increas-ing demands spurred by the fact that many benefits can be obtained when a single complicated vehicle is equivalently replaced by multiple yet simpler vehicles.In this endeavor, two approaches are commonly adopted for controlling multiple vehicles:a centralized approach and a distributed approach. The centralized approach is based on the assumption that a central station is available and powerful enough to control a whole group of vehicles.Essentially,the centralized ap-proach is a direct extension of the traditional single-vehicle-based control philosophy and strategy.On the contrary,the distributed approach does not require a central station for control,at the cost of becoming far more complex in structure and organization.Although both approaches are considered practical depending on the situations and conditions of the real applications,the distributed approach is believed more promising due to many inevitable physical constraints such as limited resources and energy,short wireless communication ranges,narrow bandwidths,and large sizes of vehicles to manage and control.Therefore,the focus of this overview is placed on the distributed approach.In distributed control of a group of autonomous vehicles,the main objective typically is to have the whole group of vehicles working in a cooperative fashion throughout a distributed pro-tocol.Here,cooperative refers to a close relationship among all vehicles in the group where information sharing plays a central role.The distributed approach has many advantages in achieving cooperative group performances,especially with low operational costs,less system requirements,high robustness, strong adaptivity,andflexible scalability,therefore has been widely recognized and appreciated.The study of distributed control of multiple vehicles was perhapsfirst motivated by the work in distributed comput-ing[1],management science[2],and statistical physics[3]. In the control systems society,some pioneering works are generally referred to[4],[5],where an asynchronous agree-ment problem was studied for distributed decision-making problems.Thereafter,some consensus algorithms were studied under various information-flow constraints[6]–[10].There are several journal special issues on the related topics published af-ter2006,including the IEEE Transactions on Control Systems Technology(vol.15,no.4,2007),Proceedings of the IEEE (vol.94,no.4,2007),ASME Journal of Dynamic Systems, Measurement,and Control(vol.129,no.5,2007),SIAM Journal of Control and Optimization(vol.48,no.1,2009),and International Journal of Robust and Nonlinear Control(vol.21,no.12,2011).In addition,there are some recent reviewsand progress reports given in the surveys[11]–[15]and thebooks[16]–[23],among others.This article reviews some main results and recent progressin distributed multi-agent coordination,published in majorcontrol systems and robotics journals since2006.Due to space limitations,we refer the readers to[24]for a more completeversion of the same overview.For results before2006,thereaders are referred to[11]–[14].Specifically,this article reviews the recent research resultsin the following directions,which are not independent but actually may have overlapping to some extent:1.Consensus and the like(synchronization,rendezvous).Consensus refers to the group behavior that all theagents asymptotically reach a certain common agreementthrough a local distributed protocol,with or without predefined common speed and orientation.2.Distributed formation and the like(flocking).Distributedformation refers to the group behavior that all the agents form a pre-designed geometrical configuration throughlocal interactions with or without a common reference.3.Distributed optimization.This refers to algorithmic devel-opments for the analysis and optimization of large-scaledistributed systems.4.Distributed estimation and control.This refers to dis-tributed control design based on local estimation aboutthe needed global information.The rest of this article is organized as follows.In Section II,basic notations of graph theory and stochastic matrices are introduced.Sections III,IV,V,and VI describe the recentresearch results and progress in consensus,formation control, optimization,and estimation.Finally,the article is concludedby a short section of discussions with future perspectives.II.P RELIMINARIESA.Graph TheoryFor a system of n connected agents,its network topology can be modeled as a directed graph denoted by G=(V,W),where V={v1,v2,···,v n}and W⊆V×V are,respectively, the set of agents and the set of edges which directionallyconnect the agents together.Specifically,the directed edgedenoted by an ordered pair(v i,v j)means that agent j can access the state information of agent i.Accordingly,agent i is a neighbor of agent j.A directed path is a sequence of directed edges in the form of(v1,v2),(v2,v3),···,with all v i∈V.A directed graph has a directed spanning tree if there exists at least one agent that has a directed path to every other agent.The union of a set of directed graphs with the same setof agents,{G i1,···,G im},is a directed graph with the sameset of agents and its set of edges is given by the union of the edge sets of all the directed graphs G ij,j=1,···,m.A complete directed graph is a directed graph in which each pair of distinct agents is bidirectionally connected by an edge,thus there is a directed path from any agent to any other agent in the network.Two matrices are used to represent the network topology: the adjacency matrix A=[a ij]∈R n×n with a ij>0if (v j,v i)∈W and a ij=0otherwise,and the Laplacian matrix L=[ℓij]∈R n×n withℓii= n j=1a ij andℓij=−a ij,i=j, which is generally asymmetric for directed graphs.B.Stochastic MatricesA nonnegative square matrix is called(row)stochastic matrix if its every row is summed up to one.The product of two stochastic matrices is still a stochastic matrix.A row stochastic matrix P∈R n×n is called indecomposable and aperiodic if lim k→∞P k=1y T for some y∈R n[25],where 1is a vector with all elements being1.III.C ONSENSUSConsider a group of n agents,each with single-integrator kinematics described by˙x i(t)=u i(t),i=1,···,n,(1) where x i(t)and u i(t)are,respectively,the state and the control input of the i th agent.A typical consensus control algorithm is designed asu i(t)=nj=1a ij(t)[x j(t)−x i(t)],(2)where a ij(t)is the(i,j)th entry of the corresponding ad-jacency matrix at time t.The main idea behind(2)is that each agent moves towards the weighted average of the states of its neighbors.Given the switching network pattern due to the continuous motions of the dynamic agents,coupling coefficients a ij(t)in(2),hence the graph topologies,are generally time-varying.It is shown in[9],[10]that consensus is achieved if the underlying directed graph has a directed spanning tree in some jointly fashion in terms of a union of its time-varying graph topologies.The idea behind consensus serves as a fundamental principle for the design of distributed multi-agent coordination algo-rithms.Therefore,investigating consensus has been a main research direction in the study of distributed multi-agent co-ordination.To bridge the gap between the study of consensus algorithms and many physical properties inherited in practical systems,it is necessary and meaningful to study consensus by considering many practical factors,such as actuation,control, communication,computation,and vehicle dynamics,which characterize some important features of practical systems.This is the main motivation to study consensus.In the following part of the section,an overview of the research progress in the study of consensus is given,regarding stochastic network topologies and dynamics,complex dynamical systems,delay effects,and quantization,mainly after2006.Several milestone results prior to2006can be found in[2],[4]–[6],[8]–[10], [26].A.Stochastic Network Topologies and DynamicsIn multi-agent systems,the network topology among all vehicles plays a crucial role in determining consensus.The objective here is to explicitly identify necessary and/or suffi-cient conditions on the network topology such that consensus can be achieved under properly designed algorithms.It is often reasonable to consider the case when the network topology is deterministic under ideal communication chan-nels.Accordingly,main research on the consensus problem was conducted under a deterministicfixed/switching network topology.That is,the adjacency matrix A(t)is deterministic. Some other times,when considering random communication failures,random packet drops,and communication channel instabilities inherited in physical communication channels,it is necessary and important to study consensus problem in the stochastic setting where a network topology evolves according to some random distributions.That is,the adjacency matrix A(t)is stochastically evolving.In the deterministic setting,consensus is said to be achieved if all agents eventually reach agreement on a common state. In the stochastic setting,consensus is said to be achieved almost surely(respectively,in mean-square or in probability)if all agents reach agreement on a common state almost surely (respectively,in mean-square or with probability one).Note that the problem studied in the stochastic setting is slightly different from that studied in the deterministic setting due to the different assumptions in terms of the network topology. Consensus over a stochastic network topology was perhaps first studied in[27],where some sufficient conditions on the network topology were given to guarantee consensus with probability one for systems with single-integrator kinemat-ics(1),where the rate of convergence was also studied.Further results for consensus under a stochastic network topology were reported in[28]–[30],where research effort was conducted for systems with single-integrator kinematics[28],[29]or double-integrator dynamics[30].Consensus for single-integrator kine-matics under stochastic network topology has been exten-sively studied in particular,where some general conditions for almost-surely consensus was derived[29].Loosely speaking, almost-surely consensus for single-integrator kinematics can be achieved,i.e.,x i(t)−x j(t)→0almost surely,if and only if the expectation of the network topology,namely,the network topology associated with expectation E[A(t)],has a directed spanning tree.It is worth noting that the conditions are analogous to that in[9],[10],but in the stochastic setting. In view of the special structure of the closed-loop systems concerning consensus for single-integrator kinematics,basic properties of the stochastic matrices play a crucial role in the convergence analysis of the associated control algorithms. Consensus for double-integrator dynamics was studied in[30], where the switching network topology is assumed to be driven by a Bernoulli process,and it was shown that consensus can be achieved if the union of all the graphs has a directed spanning tree.Apparently,the requirement on the network topology for double-integrator dynamics is a special case of that for single-integrator kinematics due to the difference nature of thefinal states(constantfinal states for single-integrator kinematics and possible dynamicfinal states for double-integrator dynamics) caused by the substantial dynamical difference.It is still an open question as if some general conditions(corresponding to some specific algorithms)can be found for consensus with double-integrator dynamics.In addition to analyzing the conditions on the network topology such that consensus can be achieved,a special type of consensus algorithm,the so-called gossip algorithm[31],[32], has been used to achieve consensus in the stochastic setting. The gossip algorithm can always guarantee consensus almost surely if the available pairwise communication channels satisfy certain conditions(such as a connected graph).The way of network topology switching does not play any role in the consideration of consensus.The current study on consensus over stochastic network topologies has shown some interesting results regarding:(1) consensus algorithm design for various multi-agent systems,(2)conditions of the network topologies on consensus,and(3)effects of the stochastic network topologies on the con-vergence rate.Future research on this topic includes,but not limited to,the following two directions:(1)when the network topology itself is stochastic,how to determine the probability of reaching consensus almost surely?(2)compared with the deterministic network topology,what are the advantages and disadvantages of the stochastic network topology,regarding such as robustness and convergence rate?As is well known,disturbances and uncertainties often exist in networked systems,for example,channel noise,commu-nication noise,uncertainties in network parameters,etc.In addition to the stochastic network topologies discussed above, the effect of stochastic disturbances[33],[34]and uncertain-ties[35]on the consensus problem also needs investigation. Study has been mainly devoted to analyzing the performance of consensus algorithms subject to disturbances and to present-ing conditions on the uncertainties such that consensus can be achieved.In addition,another interesting direction in dealing with disturbances and uncertainties is to design distributed localfiltering algorithms so as to save energy and improve computational efficiency.Distributed localfiltering algorithms play an important role and are more effective than traditional centralizedfiltering algorithms for multi-agent systems.For example,in[36]–[38]some distributed Kalmanfilters are designed to implement data fusion.In[39],by analyzing consensus and pinning control in synchronization of complex networks,distributed consensusfiltering in sensor networks is addressed.Recently,Kalmanfiltering over a packet-dropping network is designed through a probabilistic approach[40]. Today,it remains a challenging problem to incorporate both dynamics of consensus and probabilistic(Kalman)filtering into a unified framework.plex Dynamical SystemsSince consensus is concerned with the behavior of a group of vehicles,it is natural to consider the system dynamics for practical vehicles in the study of the consensus problem. Although the study of consensus under various system dynam-ics is due to the existence of complex dynamics in practical systems,it is also interesting to observe that system dynamics play an important role in determining thefinal consensus state.For instance,the well-studied consensus of multi-agent systems with single-integrator kinematics often converges to a constantfinal value instead.However,consensus for double-integrator dynamics might admit a dynamicfinal value(i.e.,a time function).These important issues motivate the study of consensus under various system dynamics.As a direct extension of the study of the consensus prob-lem for systems with simple dynamics,for example,with single-integrator kinematics or double-integrator dynamics, consensus with general linear dynamics was also studied recently[41]–[43],where research is mainly devoted tofinding feedback control laws such that consensus(in terms of the output states)can be achieved for general linear systems˙x i=Ax i+Bu i,y i=Cx i,(3) where A,B,and C are constant matrices with compatible sizes.Apparently,the well-studied single-integrator kinematics and double-integrator dynamics are special cases of(3)for properly choosing A,B,and C.As a further extension,consensus for complex systems has also been extensively studied.Here,the term consensus for complex systems is used for the study of consensus problem when the system dynamics are nonlinear[44]–[48]or with nonlinear consensus algorithms[49],[50].Examples of the nonlinear system dynamics include:•Nonlinear oscillators[45].The dynamics are often as-sumed to be governed by the Kuramoto equation˙θi=ωi+Kstability.A well-studied consensus algorithm for(1)is given in(2),where it is now assumed that time delay exists.Two types of time delays,communication delay and input delay, have been considered in the munication delay accounts for the time for transmitting information from origin to destination.More precisely,if it takes time T ij for agent i to receive information from agent j,the closed-loop system of(1)using(2)under afixed network topology becomes˙x i(t)=nj=1a ij(t)[x j(t−T ij)−x i(t)].(7)An interpretation of(7)is that at time t,agent i receives information from agent j and uses data x j(t−T ij)instead of x j(t)due to the time delay.Note that agent i can get its own information instantly,therefore,input delay can be considered as the summation of computation time and execution time. More precisely,if the input delay for agent i is given by T p i, then the closed-loop system of(1)using(2)becomes˙x i(t)=nj=1a ij(t)[x j(t−T p i)−x i(t−T p i)].(8)Clearly,(7)refers to the case when only communication delay is considered while(8)refers to the case when only input delay is considered.It should be emphasized that both communication delay and input delay might be time-varying and they might co-exist at the same time.In addition to time delay,it is also important to consider packet drops in exchanging state information.Fortunately, consensus with packet drops can be considered as a special case of consensus with time delay,because re-sending packets after they were dropped can be easily done but just having time delay in the data transmission channels.Thus,the main problem involved in consensus with time delay is to study the effects of time delay on the convergence and performance of consensus,referred to as consensusabil-ity[52].Because time delay might affect the system stability,it is important to study under what conditions consensus can still be guaranteed even if time delay exists.In other words,can onefind conditions on the time delay such that consensus can be achieved?For this purpose,the effect of time delay on the consensusability of(1)using(2)was investigated.When there exists only(constant)input delay,a sufficient condition on the time delay to guarantee consensus under afixed undirected interaction graph is presented in[8].Specifically,an upper bound for the time delay is derived under which consensus can be achieved.This is a well-expected result because time delay normally degrades the system performance gradually but will not destroy the system stability unless the time delay is above a certain threshold.Further studies can be found in, e.g.,[53],[54],which demonstrate that for(1)using(2),the communication delay does not affect the consensusability but the input delay does.In a similar manner,consensus with time delay was studied for systems with different dynamics, where the dynamics(1)are replaced by other more complex ones,such as double-integrator dynamics[55],[56],complex networks[57],[58],rigid bodies[59],[60],and general nonlinear dynamics[61].In summary,the existing study of consensus with time delay mainly focuses on analyzing the stability of consensus algo-rithms with time delay for various types of system dynamics, including linear and nonlinear dynamics.Generally speaking, consensus with time delay for systems with nonlinear dynam-ics is more challenging.For most consensus algorithms with time delays,the main research question is to determine an upper bound of the time delay under which time delay does not affect the consensusability.For communication delay,it is possible to achieve consensus under a relatively large time delay threshold.A notable phenomenon in this case is that thefinal consensus state is constant.Considering both linear and nonlinear system dynamics in consensus,the main tools for stability analysis of the closed-loop systems include matrix theory[53],Lyapunov functions[57],frequency-domain ap-proach[54],passivity[58],and the contraction principle[62]. Although consensus with time delay has been studied extensively,it is often assumed that time delay is either constant or random.However,time delay itself might obey its own dynamics,which possibly depend on the communication distance,total computation load and computation capability, etc.Therefore,it is more suitable to represent the time delay as another system variable to be considered in the study of the consensus problem.In addition,it is also important to consider time delay and other physical constraints simultaneously in the study of the consensus problem.D.QuantizationQuantized consensus has been studied recently with motiva-tion from digital signal processing.Here,quantized consensus refers to consensus when the measurements are digital rather than analog therefore the information received by each agent is not continuous and might have been truncated due to digital finite precision constraints.Roughly speaking,for an analog signal s,a typical quantizer with an accuracy parameterδ, also referred to as quantization step size,is described by Q(s)=q(s,δ),where Q(s)is the quantized signal and q(·,·) is the associated quantization function.For instance[63],a quantizer rounding a signal s to its nearest integer can be expressed as Q(s)=n,if s∈[(n−1/2)δ,(n+1/2)δ],n∈Z, where Z denotes the integer set.Note that the types of quantizers might be different for different systems,hence Q(s) may differ for different systems.Due to the truncation of the signals received,consensus is now considered achieved if the maximal state difference is not larger than the accuracy level associated with the whole system.A notable feature for consensus with quantization is that the time to reach consensus is usuallyfinite.That is,it often takes afinite period of time for all agents’states to converge to an accuracy interval.Accordingly,the main research is to investigate the convergence time associated with the proposed consensus algorithm.Quantized consensus was probablyfirst studied in[63], where a quantized gossip algorithm was proposed and its convergence was analyzed.In particular,the bound of theconvergence time for a complete graph was shown to be poly-nomial in the network size.In[64],coding/decoding strate-gies were introduced to the quantized consensus algorithms, where it was shown that the convergence rate depends on the accuracy of the quantization but not the coding/decoding schemes.In[65],quantized consensus was studied via the gossip algorithm,with both lower and upper bounds of the expected convergence time in the worst case derived in terms of the principle submatrices of the Laplacian matrix.Further results regarding quantized consensus were reported in[66]–[68],where the main research was also on the convergence time for various proposed quantized consensus algorithms as well as the quantization effects on the convergence time.It is intuitively reasonable that the convergence time depends on both the quantization level and the network topology.It is then natural to ask if and how the quantization methods affect the convergence time.This is an important measure of the robustness of a quantized consensus algorithm(with respect to the quantization method).Note that it is interesting but also more challenging to study consensus for general linear/nonlinear systems with quantiza-tion.Because the difference between the truncated signal and the original signal is bounded,consensus with quantization can be considered as a special case of one without quantization when there exist bounded disturbances.Therefore,if consensus can be achieved for a group of vehicles in the absence of quantization,it might be intuitively correct to say that the differences among the states of all vehicles will be bounded if the quantization precision is small enough.However,it is still an open question to rigorously describe the quantization effects on consensus with general linear/nonlinear systems.E.RemarksIn summary,the existing research on the consensus problem has covered a number of physical properties for practical systems and control performance analysis.However,the study of the consensus problem covering multiple physical properties and/or control performance analysis has been largely ignored. In other words,two or more problems discussed in the above subsections might need to be taken into consideration simul-taneously when studying the consensus problem.In addition, consensus algorithms normally guarantee the agreement of a team of agents on some common states without taking group formation into consideration.To reflect many practical applications where a group of agents are normally required to form some preferred geometric structure,it is desirable to consider a task-oriented formation control problem for a group of mobile agents,which motivates the study of formation control presented in the next section.IV.F ORMATION C ONTROLCompared with the consensus problem where thefinal states of all agents typically reach a singleton,thefinal states of all agents can be more diversified under the formation control scenario.Indeed,formation control is more desirable in many practical applications such as formationflying,co-operative transportation,sensor networks,as well as combat intelligence,surveillance,and reconnaissance.In addition,theperformance of a team of agents working cooperatively oftenexceeds the simple integration of the performances of all individual agents.For its broad applications and advantages,formation control has been a very active research subject inthe control systems community,where a certain geometric pattern is aimed to form with or without a group reference.More precisely,the main objective of formation control is to coordinate a group of agents such that they can achievesome desired formation so that some tasks can befinished bythe collaboration of the agents.Generally speaking,formation control can be categorized according to the group reference.Formation control without a group reference,called formationproducing,refers to the algorithm design for a group of agents to reach some pre-desired geometric pattern in the absenceof a group reference,which can also be considered as the control objective.Formation control with a group reference,called formation tracking,refers to the same task but followingthe predesignated group reference.Due to the existence of the group reference,formation tracking is usually much morechallenging than formation producing and control algorithmsfor the latter might not be useful for the former.As of today, there are still many open questions in solving the formationtracking problem.The following part of the section reviews and discussesrecent research results and progress in formation control, including formation producing and formation tracking,mainlyaccomplished after2006.Several milestone results prior to 2006can be found in[69]–[71].A.Formation ProducingThe existing work in formation control aims at analyzingthe formation behavior under certain control laws,along with stability analysis.1)Matrix Theory Approach:Due to the nature of multi-agent systems,matrix theory has been frequently used in thestability analysis of their distributed coordination.Note that consensus input to each agent(see e.g.,(2))isessentially a weighted average of the differences between the states of the agent’s neighbors and its own.As an extensionof the consensus algorithms,some coupling matrices wereintroduced here to offset the corresponding control inputs by some angles[72],[73].For example,given(1),the controlinput(2)is revised as u i(t)= n j=1a ij(t)C[x j(t)−x i(t)], where C is a coupling matrix with compatible size.If x i∈R3, then C can be viewed as the3-D rotational matrix.The mainidea behind the revised algorithm is that the original controlinput for reaching consensus is now rotated by some angles. The closed-loop system can be expressed in a vector form, whose stability can be determined by studying the distribution of the eigenvalues of a certain transfer matrix.Main research work was conducted in[72],[73]to analyze the collective motions for systems with single-integrator kinematics and double-integrator dynamics,where the network topology,the damping gain,and C were shown to affect the collective motions.Analogously,the collective motions for a team of nonlinear self-propelling agents were shown to be affected by。

sp包的文档:空间数据的类和方法说明书

sp包的文档:空间数据的类和方法说明书

Classes and Methods for Spatial Data:the sp PackageEdzer Pebesma*Roger S.BivandFeb2005Contents1Introduction2 2Spatial data classes2 3Manipulating spatial objects33.1Standard methods (3)3.2Spatial methods (4)4Spatial points44.1Points without attributes (4)4.2Points with attributes (7)5Grids115.1Creating grids from topology (11)5.2Creating grids from points (13)5.3Gridded data with attributes (14)5.4Are grids stored as points or as matrix/array? (15)5.5Row and column selection of a region (16)6Lines176.1Building line objects from scratch (17)6.2Building line objects with attributes (18)7Polygons197.1Building from scratch (19)7.2Polygons with attributes (20)*Institute for Geoinformatics,University of Muenster,Heisenbergstraÿe2,48149Münster, Germany.*****************************Economic Geography Section,Department of Economics,Norwegian School of Economics and Business Administration,Breiviksveien40,N-5045Bergen,Norway; *******************18Importing and exporting data211IntroductionThe sp package provides classes and methods for dealing with spatial data in R1.The spatial data structures implemented include points,lines,polygons and grids;each of them with or without attribute data.We have chosen to use S4classes and methods style(Chambers,1998)to allow validation of ob-jects created.Although we mainly aim at using spatial data in the geographical (two-dimensional)domain,the data structures that have a straightforward im-plementation in higher dimensions(points,grids)do allow this.From the package home page on CRAN,https:/// package=sp,links to a graph gallery with R code,and the development source tree are found.This vignette describes the classes,methods and functions provided by sp. Instead of manipulating the class slots(components)directly2,we provide meth-ods and functions to create or modify the classes from elementary types such as matrices,data.frame s or lists and convert them back to any of these types. Also,coercion(type casting)from one class to the other is provided,where relevant.Package sp is loaded by>library(sp)2Spatial data classesThe spatial data classes implemented are points,grids,lines,rings and poly-gons.Package sp provides classes for the spatial-only information(the topol-ogy),e.g.SpatialPoints,and extensions for the case where attribute informa-tion stored in a data.frame is available for each spatial entity(e.g.for points, the SpatialPointsDataFrame).The available data classes are: 1The motivation to write this package was born on a pre-conference spatial data workshop during DSC2003.At that time,the advantage of having multiple R packages for spatial statistics seemed to be hindered by a lack of a uniform interface for handling spatial data. Each package had its own conventions on how spatial data were stored and returned.With this package,and packages supporting the classes provided here,we hope that R with its extension packages becomes more coherent for analyzing di erent types of spatial data.2which is possible,but not recommended because validity of resulting objects is no longer veri ed2data type class attributes containspoints SpatialPoints No Spatialpoints SpatialPointsDataFrame data.frame SpatialPoints multipoints SpatialMultiPoints No Spatialmultipoints SpatialMultiPointsDataFrame data.frame SpatialMultiPoints pixels SpatialPixels No SpatialPointspixels SpatialPixelsDataFrame data.frame SpatialPixelsSpatialPointsDataFrame full grid SpatialGrid No SpatialPixelsfull grid SpatialGridDataFrame data.frame SpatialGridline Line Nolines Lines No Line listlines SpatialLines No Spatial,Lines list lines SpatialLinesDataFrame data.frame SpatialLines polygons Polygon No Linepolygons Polygons No Polygon listpolygons SpatialPolygons No Spatial,Polygons list polygons SpatialPolygonsDataFrame data.frame SpatialPolygonsThe class Spatial only holds metadata common to all derived classes(bound-ing box,coordinate reference system),and is of convenient for de ning methodsthat are common to all derived classes.In the following sections we will showhow we can create objects of these classes from scratch or from other objects,and which methods and functions are available to them.3Manipulating spatial objectsAlthough entries in spatial objects are in principle accessible through their slotname,e.g.x@coords contains the coordinates of an object of class or extending SpatialPoints,we strongly encourage users to access the data by using func-tions and methods,in this case coordinates(x)to retrieve the coordinates.3.1Standard methodsSelecting,retrieving or replacing certain attributes in spatial objects with at-tributes is done using standard methods[select"rows"(features)and/or columns in the data attribute table;e.g.meuse[1:2,"zinc"]returns a SpatialPointsDataFrame with the rsttwo points and an attribute table with only variable"zinc".[[extracts a column from the data attribute table[[<-assign or replace a column in the data attribute table.3Other methods available are:plot,summary,print,dim and names(operateon the data.frame part),as.data.frame,as.matrix and image(for gridded data),lines(for line data),points(for point data),subset(points and grids),stack(point and grid data.frames),over for spatial joins,spplot,and length (number of features).3.2Spatial methodsA number of spatial methods are available for the classes in sp:dimensions(x)returns number of spatial dimensionsy=spTransform(x,CRS("+proj=longlat+datum=WGS84"))convert ortransform from one coordinate reference system(geographic projection)to another(requires package rgdal to be installed)bbox(x)returns a matrix with the coordinates bounding box;the dimen-sions form rows,min/max form the columnscoordinates(x)returns a matrix with the spatial coordinatesgridded(x)tells whether x derives from SpatialPixels,or when used inassignment,coerces a SpatialPoints object into a SpatialPixels object.spplot(x)plots attributes,possibly in combination with other types ofdata(points,lines,grids,polygons),and possibly in as a conditioning plotfor multiple attributesover(x,y)retrieve index or attributes of y corresponding(intersecting)with spatial locations of x.spsample(x)samples point coordinates in the continuous space of SpatialPolygons,a gridded area,or along a SpatialLines.Subsetting and sample can beused to randomly subsample full spatial entities.geometry(x)strips the data.frame,and returns the geometry-only object4Spatial points4.1Points without attributesWe can generate a set of10points on the unit square[0,1]×[0,1]by>xc=round(runif(10),2)>yc=round(runif(10),2)>xy=cbind(xc,yc)>xy4xc yc[1,]0.670.30[2,]0.960.62[3,]0.920.91[4,]0.770.85[5,]0.720.46[6,]0.740.39[7,]0.630.64[8,]0.190.72[9,]0.700.20[10,]0.370.28this10×2matrix can be converted into a SpatialPoints object by>xy.sp=SpatialPoints(xy)>xy.spclass:SpatialPointsfeatures:10extent:0.19,0.96,0.2,0.91(xmin,xmax,ymin,ymax) crs:NA>plot(xy.sp,pch=2)The plot is shown in gure1.We can retrieve the coordinates from xy.sp by>=coordinates(xy.sp)>class()[1]"matrix""array">dim()[1]102and other methods retrieve the bounding box,the dimensions,select points(not dimensions or columns),coerce to a data.frame,or print a summary:>bbox(xy.sp)min maxxc0.190.96yc0.200.91>dimensions(xy.sp)[1]25Figure1:plot of SpatialPoints object;aspect ratio of x and y axis units is16>xy.sp[1:2]class:SpatialPointsfeatures:2extent:0.67,0.96,0.3,0.62(xmin,xmax,ymin,ymax) crs:NA>xy.df=as.data.frame(xy.sp)>class(xy.df)[1]"data.frame">dim(xy.df)[1]102>summary(xy.sp)Object of class SpatialPointsCoordinates:min maxxc0.190.96yc0.200.91Is projected:NAproj4string:[NA]Number of points:104.2Points with attributesOne way of creating a SpatialPointsDataFrame object is by building it from a a SpatialPoints object and a data.frame containing the attributes:>df=data.frame(z1=round(5+rnorm(10),2),z2=20:29)>dfz1z21 3.10202 4.15213 3.68224 4.45235 6.62246 5.57257 3.66268 3.75279 5.1928105.0229>xy.spdf=SpatialPointsDataFrame(xy.sp,df)>xy.spdf7class:SpatialPointsDataFramefeatures:10extent:0.19,0.96,0.2,0.91(xmin,xmax,ymin,ymax)crs:NAvariables:2names:z1,z2min values: 3.1,20max values:6.62,29>summary(xy.spdf)Object of class SpatialPointsDataFrameCoordinates:min maxxc0.190.96yc0.200.91Is projected:NAproj4string:[NA]Number of points:10Data attributes:z1z2Min.:3.100Min.:20.001st Qu.:3.6971st Qu.:22.25Median:4.300Median:24.50Mean:4.519Mean:24.503rd Qu.:5.1473rd Qu.:26.75Max.:6.620Max.:29.00>dimensions(xy.spdf)[1]2>xy.spdf[1:2,]#selects row1and2class:SpatialPointsDataFramefeatures:2extent:0.67,0.96,0.3,0.62(xmin,xmax,ymin,ymax)crs:NAvariables:2names:z1,z2min values: 3.1,20max values:4.15,21>xy.spdf[1]#selects attribute column1,along with the coordinates class:SpatialPointsDataFramefeatures:108extent:0.19,0.96,0.2,0.91(xmin,xmax,ymin,ymax)crs:NAvariables:1names:z1min values: 3.1max values:6.62>xy.spdf[1:2,"z2"]#select row1,2and attribute"z2"class:SpatialPointsDataFramefeatures:2extent:0.67,0.96,0.3,0.62(xmin,xmax,ymin,ymax)crs:NAvariables:1names:z2min values:20max values:21>xy.df=as.data.frame(xy.spdf)>xy.df[1:2,]z1z2xc yc13.10200.670.3024.15210.960.62>=coordinates(xy.spdf)>class()[1]"matrix""array">dim()[1]102A note on selection with[:the behaviour is as much as possible copied from that of data.frame s,but coordinates are always sticky and a SpatialPointsDataFrame is always returned;drop=FALSE is not allowed.If coordinates should be dropped, use the as.data.frame method and select the non-coordinate data,or use[[ to select a single attribute column(example below).SpatialPointsDataFrame objects can be created directly from data.frames by specifying which columns contain the coordinates:>df1=data.frame(xy,df)>coordinates(df1)=c("xc","yc")>df1class:SpatialPointsDataFramefeatures:109extent:0.19,0.96,0.2,0.91(xmin,xmax,ymin,ymax)crs:NAvariables:2names:z1,z2min values: 3.1,20max values:6.62,29or>df2=data.frame(xy,df)>coordinates(df2)=~xc+yc>df2[1:2,]class:SpatialPointsDataFramefeatures:2extent:0.67,0.96,0.3,0.62(xmin,xmax,ymin,ymax)crs:NAvariables:2names:z1,z2min values: 3.1,20max values:4.15,21>as.data.frame(df2)[1:2,]xc yc z1z210.670.303.102020.960.624.1521Note that in this form,coordinates by setting(specifying)the coordinates promotes its argument,an object of class data.frame to an object of class SpatialPointsDataFrame.The method as.data.frame coerces back to the original data.frame.When used on a right-hand side of an equation,coordinates retrieves the matrix with coordinates:>coordinates(df2)[1:2,]xc yc10.670.3020.960.62Elements(columns)in the data.frame part of an object can be manipulated (retrieved,assigned)directly:>df2[["z2"]][1]20212223242526272829>df2[["z2"]][10]=20>df2[["z3"]]=1:10>summary(df2)10Object of class SpatialPointsDataFrameCoordinates:min maxxc0.190.96yc0.200.91Is projected:NAproj4string:[NA]Number of points:10Data attributes:z1z2z3Min.:3.100Min.:20.00Min.:1.001st Qu.:3.6971st Qu.:21.251st Qu.:3.25Median:4.300Median:23.50Median:5.50Mean:4.519Mean:23.60Mean:5.503rd Qu.:5.1473rd Qu.:25.753rd Qu.:7.75Max.:6.620Max.:28.00Max.:10.00Plotting attribute data can be done by using either spplot to colour symbols,or bubble which uses symbol size:>bubble(df2,"z1",key.space="bottom")>spplot(df2,"z1",key.space="bottom")the resulting plots are shown in gure2.5GridsPackage sp has two classes for grid topology:SpatialPixels and SpatialGrid.The pixels form stores coordinates and is for partial grids,or unordered points;the SpatialGrid form does not store coordinates but holds full grids(i.e., SpatialGridDataFrame holds attribute values for each grid cell).Objects canbe coerced from one representation to the other.5.1Creating grids from topologyWhen we know the o set,the cell sizes and the dimensions of a grid,we canspecify this by using the function GridTopology:>gt=GridTopology(cellcentre.offset=c(1,1,2),cellsize=c(1,1,1),cells.dim=c(3,4,6)) >grd=SpatialGrid(gt)>summary(grd)Object of class SpatialGridCoordinates:min max[1,]0.53.5[2,]0.54.511z13.13.6984.35.1486.62[3.1,3.804](3.804,4.508](4.508,5.212](5.212,5.916] (5.916,6.62]Figure2:plot of SpatialPointsDataFrame object,using symbol size(bubble, top)or colour(spplot,bottom)12[3,]1.57.5Is projected:NAproj4string:[NA]Grid attributes:cellcentre.offset cellsize cells.dim111321143216The grid parameters can be retrieved by the function>gridparameters(grd)cellcentre.offset cellsize cells.dim1113211432165.2Creating grids from pointsIn the following example a three-dimensional grid is constructed from a set of point coordinates:>pts=expand.grid(x=1:3,y=1:4,z=2:7)>grd.pts=SpatialPixels(SpatialPoints(pts))>summary(grd.pts)Object of class SpatialPixelsCoordinates:min maxx0.53.5y0.54.5z1.57.5Is projected:NAproj4string:[NA]Number of points:72Grid attributes:cellcentre.offset cellsize cells.dimx113y114z216>grd=as(grd.pts,"SpatialGrid")>summary(grd)Object of class SpatialGridCoordinates:min max13x0.53.5y0.54.5z1.57.5Is projected:NAproj4string:[NA]Grid attributes:cellcentre.offset cellsize cells.dimx113y114z216Note that when passed a points argument,SpatialPixels accepts a tolerance (default10*.Machine$double.eps)to specify how close the points have to be to being exactly on a grid.For very large coordinates,this value may have to be increased.A warning is issued if full rows and/or columns are missing.5.3Gridded data with attributesSpatial,gridded data are data with coordinates on a regular lattice.To form such a grid we can go from coordinates:>attr=expand.grid(xc=1:3,yc=1:3)>grd.attr=data.frame(attr,z1=1:9,z2=9:1)>coordinates(grd.attr)=~xc+yc>gridded(grd.attr)[1]FALSE>gridded(grd.attr)=TRUE>gridded(grd.attr)[1]TRUE>summary(grd.attr)Object of class SpatialPixelsDataFrameCoordinates:min maxxc0.53.5yc0.53.5Is projected:NAproj4string:[NA]Number of points:9Grid attributes:cellcentre.offset cellsize cells.dimxc113yc113Data attributes:14z1z2Min.:1Min.:11st Qu.:31st Qu.:3Median:5Median:5Mean:5Mean:53rd Qu.:73rd Qu.:7Max.:9Max.:9Package raster provides dedicated methods to deal with raster data,and can deal with grids that are too large to be stored in memory.5.4Are grids stored as points or as matrix/array?The form in which gridded data comes depends on whether the grid was created from a set of points or from a matrix or external grid format(e.g.read through rgdal).Retrieving the form,or conversion to another can be done by as(x, "class"),or by using the function fullgrid:>fullgrid(grd)[1]TRUE>fullgrid(grd.pts)[1]FALSE>fullgrid(grd.attr)[1]FALSE>fullgrid(grd.pts)=TRUE>fullgrid(grd.attr)=TRUE>fullgrid(grd.pts)[1]TRUE>fullgrid(grd.attr)[1]TRUEThe advantage of having grids in cell form is that when a large part of the grid contains missing values,these cells are not stored.In addition,no ordering of grid cells is required.For plotting by a grid with levelplot,this form is required and spplot(for grids a front-end to levelplot)will convert grids that are not in this form.In contrast,image requires a slightly altered version of the the full grid form.A disadvantage of the cell form is that the coordinates for each point have to be stored,which may be prohibitive for large grids.Grids in cell form do have an index to allow for fast transformation to the full grid form.Besides print,summary,plot,objects of class SpatialGridDataFrame have methods for15[select rows(points)and/or columns(variables)[[extract a column from the attribute table[[<-assign or replace a column in the attribute tablecoordinates retrieve the coordinates of grid cellsas.matrix,as.array retrieve the data as a matrix or array.The rst in-dex(rows)is the x-column,the second index(columns)the y-coordinate, di erent attributes the third index.Row index1is the smallest x-coordinate;column index1is the larges y-coordinate(top-to-bottom).as coercion methods for data.frame,SpatialPointsDataFrameimage plot an image of the gridFinally,spplot,a front-end to levelplot allows the plotting of a single grid plot or a lattice of grid plots.5.5Row and column selection of a regionRows/columns selection can be done when gridded data is in the full grid form (as SpatialGridDataFrame).In this form also rows and/or columns can be de-selected(in which case a warning is issued):>fullgrid(grd.attr)=FALSE>grd.attr[1:5,"z1"]Object of class SpatialPixelsDataFrameObject of class SpatialPixelsGrid topology:cellcentre.offset cellsize cells.dimxc113yc113SpatialPoints:xc yc[1,]13[2,]23[3,]33[4,]12[5,]22Coordinate Reference System(CRS)arguments:NAData summary:z1Min.:4.01st Qu.:5.0Median:7.016Mean:6.63rd Qu.:8.0Max.:9.0>fullgrid(grd.attr)=TRUE>grd.attr[1:2,-2,c("z2","z1")]Object of class SpatialGridDataFrameObject of class SpatialGridGrid topology:cellcentre.offset cellsize cells.dimxc122yc212SpatialPoints:xc yc[1,]13[2,]33[3,]12[4,]32Coordinate Reference System(CRS)arguments:NAData summary:z2z1Min.:1.0Min.:4.01st Qu.:2.51st Qu.:5.5Median:3.5Median:6.5Mean:3.5Mean:6.53rd Qu.:4.53rd Qu.:7.5Max.:6.0Max.:9.06Lines6.1Building line objects from scratchIn many instances,line coordinates will be retrieved from external sources.The following example shows how to build an object of class SpatialLines from scratch.Note that the Lines objects have to be given character ID values,and that these values must be unique for Lines objects combined in a SpatialLines object.>l1=cbind(c(1,2,3),c(3,2,2))>l1a=cbind(l1[,1]+.05,l1[,2]+.05)>l2=cbind(c(1,2,3),c(1,1.5,1))>Sl1=Line(l1)>Sl1a=Line(l1a)>Sl2=Line(l2)17>S1=Lines(list(Sl1,Sl1a),ID="a")>S2=Lines(list(Sl2),ID="b")>Sl=SpatialLines(list(S1,S2))>summary(Sl)Object of class SpatialLinesCoordinates:min maxx13.05y13.05Is projected:NAproj4string:[NA]>plot(Sl,col=c("red","blue"))6.2Building line objects with attributesThe class SpatialLinesDataFrame is designed for holding lines data that havean attribute table(data.frame)attached to it:>df=data.frame(z=c(1,2),s=sapply(slot(Sl,"lines"),function(x)slot(x,"ID")) >Sldf=SpatialLinesDataFrame(Sl,data=df)>summary(Sldf)18Object of class SpatialLinesDataFrameCoordinates:min maxx13.05y13.05Is projected:NAproj4string:[NA]Data attributes:zMin.:1.001st Qu.:1.25Median:1.50Mean:1.503rd Qu.:1.75Max.:2.00Not many useful methods for it are available yet.The plot method only plots the lines,ignoring attribute table values.Suggestions for useful methods are welcome.7Polygons7.1Building from scratchThe following example shows how a set of polygons are built from scratch. Note that Sr4has the opposite direction(anti-clockwise)as the other three (clockwise);it is meant to represent a hole in the Sr3polygon.The default value for the hole colour pbg is"transparent,which will not show,but which often does not matter,because another polygon lls the hole here it is set to"white".Note that the Polygons objects have to be given character ID values,and that these values must be unique for Polygons objects combined in a SpatialPolygons object.>Sr1=Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))>Sr2=Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))>Sr3=Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)))>Sr4=Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)),hole=TRUE)>Srs1=Polygons(list(Sr1),"s1")>Srs2=Polygons(list(Sr2),"s2")>Srs3=Polygons(list(Sr3,Sr4),"s3/4")>SpP=SpatialPolygons(list(Srs1,Srs2,Srs3),1:3)>plot(SpP,col=1:3,pbg="white")>#plot(SpP)197.2Polygons with attributesPolygons with attributes,objects of class SpatialPolygonsDataFrame,are built from the SpatialPolygons object(topology)and the attributes(data.frame). The s of the attributes data frame are matched with the ID slots of the SpatialPolygons object,and the rows of the data frame will be re-ordered if necessary.>attr=data.frame(a=1:3,b=3:1,s=c("s3/4","s2","s1")) >SrDf=SpatialPolygonsDataFrame(SpP,attr)>as(SrDf,"data.frame")a bs131s222s3/413>spplot(SrDf)201.01.52.02.53.0or,as another way to create the SpatialPolygonsDataFrame object:>SrDf=attr>polygons(SrDf)=SpP8Importing and exporting dataData import and export from external data sources and le formats is han-dled inthe rgdal package in the rst instance,using the available OGR/GDAL drivers for vector and raster data.This keeps the range of drivers up to date, and secures code maintenance through working closely with the open source geospatial community.Mac OSX users unable or unwilling to install rgdal from source after installing its external dependencies will nd some functions in the maptools package to import and export a limited range of formats.ReferencesChambers,J.M.,1998,Programming with data,a guide to the S language.Springer,New York.21。

数学de一些英文名称

数学de一些英文名称

Applied Partial Differential Equations Computer Graphics Computer Aided Geometric Design Selections from System Modeling Biology Mathematics Mathematical Finance Multimedia Techniques Applied Geometry Principle of Computer Network Dynamical Systems The Theory of Interest Actuarial Mathematics Coding Theory Numerical Analysis(Computing Method) Nonlinear Programming Combinatorial Optimization Optimal Control Theory Fractal Geometry Functions of Several Complex Variables Theory of Integral Equations and Its Applications Elementary Number Theory Stochastic Processes Applied software of Mathematics and Practice Introduction to Actuarial Science Advanced course on Mathematical Physics Mathematics of Demography Financial Economics Combinational Analysis Life Insurance Fourier Analysis Introduction to Insurance Introduction to Insurance and Actuarial Science Nonlife Actuarial Mathematics Complex Analysis Introduction to Control Theory Life Actuarial Mathematics Data Structures Statistics Digital Signal Processing Linear Programming Basic Information Theory Element of Database System

Geometric Modeling

Geometric Modeling

Geometric ModelingGeometric modeling is a crucial aspect of computer-aided design (CAD) and computer graphics. It involves the creation of digital representations of objects and environments using mathematical algorithms and geometric techniques. These models are used in various fields such as engineering, architecture, animation, and virtual reality. Geometric modeling plays a significant role in the design and visualization of complex structures, the simulation of physical phenomena, and the creation of realistic computer-generated imagery. One of the primary challenges in geometric modeling is achieving accuracy and precision in representing real-world objects and scenes. This requires the use of advanced mathematical concepts such as calculus, linear algebra, and differential geometry. Geometric modeling also involves the use of computational algorithms to generate and manipulate geometric shapes, surfaces, and volumes. These algorithms need to be efficient and robust to handle large-scale and intricate models while maintaining visualfidelity and integrity. Another important aspect of geometric modeling is the representation of 3D objects in a 2D space, which is essential for visualization and rendering. This process involves techniques such as projection, rasterization, and rendering, which are used to convert 3D geometric data into 2D images for display on screens or print. Achieving realistic and visually appealing representations requires careful consideration of lighting, shading, and texture mapping, which are fundamental in computer graphics and visualization. Inaddition to the technical challenges, geometric modeling also raises issuesrelated to usability and user experience. Designing intuitive and user-friendly interfaces for creating and manipulating geometric models is crucial for enabling efficient and effective design workflows. This involves considerations such as interactive manipulation, real-time feedback, and intuitive control mechanisms, which are essential for empowering users to express their creative ideas and concepts. Furthermore, geometric modeling has a significant impact on the manufacturing and production processes. The digital models created through geometric modeling are used for computer-aided manufacturing (CAM) and numerical control (NC) machining, enabling the production of precise and complex parts and assemblies. This integration of geometric modeling with manufacturing technologieshas revolutionized the way products are designed, prototyped, and manufactured, leading to advancements in efficiency, quality, and innovation. From an academic perspective, geometric modeling is a multidisciplinary field that draws from mathematics, computer science, and engineering. Researchers and educators in this field are constantly exploring new methods and techniques for geometric modeling, pushing the boundaries of what is possible in terms of representing and manipulating geometric data. This includes areas such as parametric modeling, geometric constraints, and procedural modeling, which are essential for enabling flexible and adaptable design processes. In conclusion, geometric modeling is a complex and multifaceted field with far-reaching implications for various industries and disciplines. It encompasses technical challenges related to accuracy, efficiency, and visualization, as well as considerations of usability, manufacturing, and academic research. As technology continues to advance, geometric modeling will play an increasingly critical role in shaping the way we design, create, and interact with the world around us.。

知识图谱表示模型方法选择评估

知识图谱表示模型方法选择评估

知识图谱表示模型方法选择评估在知识图谱中,表示模型方法是为了有效处理和表示知识图谱中的实体和关系而提出的。

这些方法帮助我们更好地理解和利用知识图谱中的信息,对于许多应用领域都具有重要的意义。

然而,随着不断涌现的表示模型方法,选择合适的方法成为了一个关键的挑战。

本文将介绍一些常见的知识图谱表示模型方法,并探讨如何评估这些方法的性能。

一、常见的知识图谱表示模型方法1. TransE模型TransE是最早提出的知识图谱表示模型之一。

该模型基于平移操作来表示实体和关系之间的语义关联,通过最小化三元组中头实体、关系和尾实体之间的距离来优化模型参数。

TransE方法简单有效,常被用于处理知识图谱中的实体关系预测任务。

2. TransH模型TransH在TransE的基础上进行了改进,通过引入关系特定的映射矩阵来解决实体和关系之间的语义关联问题。

该模型克服了TransE中的一些限制,并在一些特定的知识图谱任务中表现出更好的性能。

3. TransR模型TransR模型进一步发展了TransE和TransH模型的思想,通过引入矩阵关系来表示实体和关系之间的语义关联。

该模型能够更准确地捕捉实体和关系之间的语义关系,并在一些复杂的知识图谱任务中表现出很好的性能。

二、评估知识图谱表示模型方法的选择在选择合适的知识图谱表示模型方法时,我们需要考虑几个重要的评估指标:1. 准确率准确率是评估模型预测结果的重要指标之一。

我们可以通过比较模型在测试数据集上的预测结果和实际标签之间的一致性来评估模型的准确率。

2. 召回率召回率是评估模型对于真实标签的覆盖能力。

在知识图谱中,我们关心的是模型能够捕捉到尽可能多的实体和关系之间的语义关联。

因此,召回率也是一个重要的评估指标。

3. F1值F1值综合了准确率和召回率,可以更全面地评估模型的性能。

F1值的计算公式是F1 = 2 * (precision * recall) / (precision + recall),其中precision表示准确率,recall表示召回率。

Advances in

Advances in

Advances in Geosciences,4,17–22,2005 SRef-ID:1680-7359/adgeo/2005-4-17 European Geosciences Union©2005Author(s).This work is licensed under a Creative CommonsLicense.Advances in GeosciencesIncorporating level set methods in Geographical Information Systems(GIS)for land-surface process modelingD.PullarGeography Planning and Architecture,The University of Queensland,Brisbane QLD4072,Australia Received:1August2004–Revised:1November2004–Accepted:15November2004–Published:9August2005nd-surface processes include a broad class of models that operate at a landscape scale.Current modelling approaches tend to be specialised towards one type of pro-cess,yet it is the interaction of processes that is increasing seen as important to obtain a more integrated approach to land management.This paper presents a technique and a tool that may be applied generically to landscape processes. The technique tracks moving interfaces across landscapes for processes such as waterflow,biochemical diffusion,and plant dispersal.Its theoretical development applies a La-grangian approach to motion over a Eulerian grid space by tracking quantities across a landscape as an evolving front. An algorithm for this technique,called level set method,is implemented in a geographical information system(GIS).It fits with afield data model in GIS and is implemented as operators in map algebra.The paper describes an implemen-tation of the level set methods in a map algebra program-ming language,called MapScript,and gives example pro-gram scripts for applications in ecology and hydrology.1IntroductionOver the past decade there has been an explosion in the ap-plication of models to solve environmental issues.Many of these models are specific to one physical process and of-ten require expert knowledge to use.Increasingly generic modeling frameworks are being sought to provide analyti-cal tools to examine and resolve complex environmental and natural resource problems.These systems consider a vari-ety of land condition characteristics,interactions and driv-ing physical processes.Variables accounted for include cli-mate,topography,soils,geology,land cover,vegetation and hydro-geography(Moore et al.,1993).Physical interactions include processes for climatology,hydrology,topographic landsurface/sub-surfacefluxes and biological/ecological sys-Correspondence to:D.Pullar(d.pullar@.au)tems(Sklar and Costanza,1991).Progress has been made in linking model-specific systems with tools used by environ-mental managers,for instance geographical information sys-tems(GIS).While this approach,commonly referred to as loose coupling,provides a practical solution it still does not improve the scientific foundation of these models nor their integration with other models and related systems,such as decision support systems(Argent,2003).The alternative ap-proach is for tightly coupled systems which build functional-ity into a system or interface to domain libraries from which a user may build custom solutions using a macro language or program scripts.The approach supports integrated models through interface specifications which articulate the funda-mental assumptions and simplifications within these models. The problem is that there are no environmental modelling systems which are widely used by engineers and scientists that offer this level of interoperability,and the more com-monly used GIS systems do not currently support space and time representations and operations suitable for modelling environmental processes(Burrough,1998)(Sui and Magio, 1999).Providing a generic environmental modeling framework for practical environmental issues is challenging.It does not exist now despite an overwhelming demand because there are deep technical challenges to build integrated modeling frameworks in a scientifically rigorous manner.It is this chal-lenge this research addresses.1.1Background for ApproachThe paper describes a generic environmental modeling lan-guage integrated with a Geographical Information System (GIS)which supports spatial-temporal operators to model physical interactions occurring in two ways.The trivial case where interactions are isolated to a location,and the more common and complex case where interactions propa-gate spatially across landscape surfaces.The programming language has a strong theoretical and algorithmic basis.The-oretically,it assumes a Eulerian representation of state space,Fig.1.Shows a)a propagating interface parameterised by differ-ential equations,b)interface fronts have variable intensity and may expand or contract based onfield gradients and driving process. but propagates quantities across landscapes using Lagrangian equations of motion.In physics,a Lagrangian view focuses on how a quantity(water volume or particle)moves through space,whereas an Eulerian view focuses on a localfixed area of space and accounts for quantities moving through it.The benefit of this approach is that an Eulerian perspective is em-inently suited to representing the variation of environmen-tal phenomena across space,but it is difficult to conceptu-alise solutions for the equations of motion and has compu-tational drawbacks(Press et al.,1992).On the other hand, the Lagrangian view is often not favoured because it requires a global solution that makes it difficult to account for local variations,but has the advantage of solving equations of mo-tion in an intuitive and numerically direct way.The research will address this dilemma by adopting a novel approach from the image processing discipline that uses a Lagrangian ap-proach over an Eulerian grid.The approach,called level set methods,provides an efficient algorithm for modeling a natural advancing front in a host of settings(Sethian,1999). The reason the method works well over other approaches is that the advancing front is described by equations of motion (Lagrangian view),but computationally the front propagates over a vectorfield(Eulerian view).Hence,we have a very generic way to describe the motion of quantities,but can ex-plicitly solve their advancing properties locally as propagat-ing zones.The research work will adapt this technique for modeling the motion of environmental variables across time and space.Specifically,it will add new data models and op-erators to a geographical information system(GIS)for envi-ronmental modeling.This is considered to be a significant research imperative in spatial information science and tech-nology(Goodchild,2001).The main focus of this paper is to evaluate if the level set method(Sethian,1999)can:–provide a theoretically and empirically supportable methodology for modeling a range of integral landscape processes,–provide an algorithmic solution that is not sensitive to process timing,is computationally stable and efficient as compared to conventional explicit solutions to diffu-sive processes models,–be developed as part of a generic modelling language in GIS to express integrated models for natural resource and environmental problems?The outline for the paper is as follow.The next section will describe the theory for spatial-temporal processing us-ing level sets.Section3describes how this is implemented in a map algebra programming language.Two application examples are given–an ecological and a hydrological ex-ample–to demonstrate the use of operators for computing reactive-diffusive interactions in landscapes.Section4sum-marises the contribution of this research.2Theory2.1IntroductionLevel set methods(Sethian,1999)have been applied in a large collection of applications including,physics,chemistry,fluid dynamics,combustion,material science,fabrication of microelectronics,and computer vision.Level set methods compute an advancing interface using an Eulerian grid and the Lagrangian equations of motion.They are similar to cost distance modeling used in GIS(Burroughs and McDonnell, 1998)in that they compute the spread of a variable across space,but the motion is based upon partial differential equa-tions related to the physical process.The advancement of the interface is computed through time along a spatial gradient, and it may expand or contract in its extent.See Fig.1.2.2TheoryThe advantage of the level set method is that it models mo-tion along a state-space gradient.Level set methods start with the equation of motion,i.e.an advancing front with velocity F is characterised by an arrival surface T(x,y).Note that F is a velocityfield in a spatial sense.If F was constant this would result in an expanding series of circular fronts,but for different values in a velocityfield the front will have a more contorted appearance as shown in Fig.1b.The motion of thisinterface is always normal to the interface boundary,and its progress is regulated by several factors:F=f(L,G,I)(1)where L=local properties that determine the shape of advanc-ing front,G=global properties related to governing forces for its motion,I=independent properties that regulate and influ-ence the motion.If the advancing front is modeled strictly in terms of the movement of entity particles,then a straightfor-ward velocity equation describes its motion:|∇T|F=1given T0=0(2) where the arrival function T(x,y)is a travel cost surface,and T0is the initial position of the interface.Instead we use level sets to describe the interface as a complex function.The level set functionφis an evolving front consistent with the under-lying viscosity solution defined by partial differential equa-tions.This is expressed by the equation:φt+F|∇φ|=0givenφ(x,y,t=0)(3)whereφt is a complex interface function over time period 0..n,i.e.φ(x,y,t)=t0..tn,∇φis the spatial and temporal derivatives for viscosity equations.The Eulerian view over a spatial domain imposes a discretisation of space,i.e.the raster grid,which records changes in value z.Hence,the level set function becomesφ(x,y,z,t)to describe an evolv-ing surface over time.Further details are given in Sethian (1999)along with efficient algorithms.The next section de-scribes the integration of the level set methods with GIS.3Map algebra modelling3.1Map algebraSpatial models are written in a map algebra programming language.Map algebra is a function-oriented language that operates on four implicit spatial data types:point,neighbour-hood,zonal and whole landscape surfaces.Surfaces are typ-ically represented as a discrete raster where a point is a cell, a neighbourhood is a kernel centred on a cell,and zones are groups of mon examples of raster data include ter-rain models,categorical land cover maps,and scalar temper-ature surfaces.Map algebra is used to program many types of landscape models ranging from land suitability models to mineral exploration in the geosciences(Burrough and Mc-Donnell,1998;Bonham-Carter,1994).The syntax for map algebra follows a mathematical style with statements expressed as equations.These equations use operators to manipulate spatial data types for point and neighbourhoods.Expressions that manipulate a raster sur-face may use a global operation or alternatively iterate over the cells in a raster.For instance the GRID map algebra (Gao et al.,1993)defines an iteration construct,called do-cell,to apply equations on a cell-by-cell basis.This is triv-ially performed on columns and rows in a clockwork manner. However,for environmental phenomena there aresituations Fig.2.Spatial processing orders for raster.where the order of computations has a special significance. For instance,processes that involve spreading or transport acting along environmental gradients within the landscape. Therefore special control needs to be exercised on the order of execution.Burrough(1998)describes two extra control mechanisms for diffusion and directed topology.Figure2 shows the three principle types of processing orders,and they are:–row scan order governed by the clockwork lattice struc-ture,–spread order governed by the spreading or scattering ofa material from a more concentrated region,–flow order governed by advection which is the transport of a material due to velocity.Our implementation of map algebra,called MapScript (Pullar,2001),includes a special iteration construct that sup-ports these processing orders.MapScript is a lightweight lan-guage for processing raster-based GIS data using map alge-bra.The language parser and engine are built as a software component to interoperate with the IDRISI GIS(Eastman, 1997).MapScript is built in C++with a class hierarchy based upon a value type.Variants for value types include numeri-cal,boolean,template,cells,or a grid.MapScript supports combinations of these data types within equations with basic arithmetic and relational comparison operators.Algebra op-erations on templates typically result in an aggregate value assigned to a cell(Pullar,2001);this is similar to the con-volution integral in image algebras(Ritter et al.,1990).The language supports iteration to execute a block of statements in three ways:a)docell construct to process raster in a row scan order,b)dospread construct to process raster in a spreadwhile(time<100)dospreadpop=pop+(diffuse(kernel*pop))pop=pop+(r*pop*dt*(1-(pop/K)) enddoendwhere the diffusive constant is stored in thekernel:Fig.3.Map algebra script and convolution kernel for population dispersion.The variable pop is a raster,r,K and D are constants, dt is the model time step,and the kernel is a3×3template.It is assumed a time step is defined and the script is run in a simulation. Thefirst line contained in the nested cell processing construct(i.e. dospread)is the diffusive term and the second line is the population growth term.order,c)doflow to process raster byflow order.Examples are given in subsequent sections.Process models will also involve a timing loop which may be handled as a general while(<condition>)..end construct in MapScript where the condition expression includes a system time variable.This time variable is used in a specific fashion along with a system time step by certain operators,namely diffuse()andfluxflow() described in the next section,to model diffusion and advec-tion as a time evolving front.The evolving front represents quantities such as vegetation growth or surface runoff.3.2Ecological exampleThis section presents an ecological example based upon plant dispersal in a landscape.The population of a species follows a controlled growth rate and at the same time spreads across landscapes.The theory of the rate of spread of an organism is given in Tilman and Kareiva(1997).The area occupied by a species grows log-linear with time.This may be modelled by coupling a spatial diffusion term with an exponential pop-ulation growth term;the combination produces the familiar reaction-diffusion model.A simple growth population model is used where the reac-tion term considers one population controlled by births and mortalities is:dN dt =r·N1−NK(4)where N is the size of the population,r is the rate of change of population given in terms of the difference between birth and mortality rates,and K is the carrying capacity.Further dis-cussion of population models can be found in Jrgensen and Bendoricchio(2001).The diffusive term spreads a quantity through space at a specified rate:dudt=Dd2udx2(5) where u is the quantity which in our case is population size, and D is the diffusive coefficient.The model is operated as a coupled computation.Over a discretized space,or raster,the diffusive term is estimated using a numerical scheme(Press et al.,1992).The distance over which diffusion takes place in time step dt is minimally constrained by the raster resolution.For a stable computa-tional process the following condition must be satisfied:2Ddtdx2≤1(6) This basically states that to account for the diffusive pro-cess,the term2D·dx is less than the velocity of the advancing front.This would not be difficult to compute if D is constant, but is problematic if D is variable with respect to landscape conditions.This problem may be overcome by progressing along a diffusive front over the discrete raster based upon distance rather than being constrained by the cell resolution.The pro-cessing and diffusive operator is implemented in a map al-gebra programming language.The code fragment in Fig.3 shows a map algebra script for a single time step for the cou-pled reactive-diffusion model for population growth.The operator of interest in the script shown in Fig.3is the diffuse operator.It is assumed that the script is run with a given time step.The operator uses a system time step which is computed to balance the effect of process errors with effi-cient computation.With knowledge of the time step the it-erative construct applies an appropriate distance propagation such that the condition in Eq.(3)is not violated.The level set algorithm(Sethian,1999)is used to do this in a stable and accurate way.As a diffusive front propagates through the raster,a cost distance kernel assigns the proper time to each raster cell.The time assigned to the cell corresponds to the minimal cost it takes to reach that cell.Hence cell pro-cessing is controlled by propagating the kernel outward at a speed adaptive to the local context rather than meeting an arbitrary global constraint.3.3Hydrological exampleThis section presents a hydrological example based upon sur-face dispersal of excess rainfall across the terrain.The move-ment of water is described by the continuity equation:∂h∂t=e t−∇·q t(7) where h is the water depth(m),e t is the rainfall excess(m/s), q is the discharge(m/hr)at time t.Discharge is assumed to have steady uniformflow conditions,and is determined by Manning’s equation:q t=v t h t=1nh5/3ts1/2(8)putation of current cell(x+ x,t,t+ ).where q t is theflow velocity(m/s),h t is water depth,and s is the surface slope(m/m).An explicit method of calcula-tion is used to compute velocity and depth over raster cells, and equations are solved at each time step.A conservative form of afinite difference method solves for q t in Eq.(5). To simplify discussions we describe quasi-one-dimensional equations for theflow problem.The actual numerical com-putations are normally performed on an Eulerian grid(Julien et al.,1995).Finite-element approximations are made to solve the above partial differential equations for the one-dimensional case offlow along a strip of unit width.This leads to a cou-pled model with one term to maintain the continuity offlow and another term to compute theflow.In addition,all calcu-lations must progress from an uphill cell to the down slope cell.This is implemented in map algebra by a iteration con-struct,called doflow,which processes a raster byflow order. Flow distance is measured in cell size x per unit length. One strip is processed during a time interval t(Fig.4).The conservative solution for the continuity term using afirst or-der approximation for Eq.(5)is derived as:h x+ x,t+ t=h x+ x,t−q x+ x,t−q x,txt(9)where the inflow q x,t and outflow q x+x,t are calculated in the second term using Equation6as:q x,t=v x,t·h t(10) The calculations approximate discharge from previous time interval.Discharge is dynamically determined within the continuity equation by water depth.The rate of change in state variables for Equation6needs to satisfy a stability condition where v· t/ x≤1to maintain numerical stabil-ity.The physical interpretation of this is that afinite volume of water wouldflow across and out of a cell within the time step t.Typically the cell resolution isfixed for the raster, and adjusting the time step requires restarting the simulation while(time<120)doflow(dem)fvel=1/n*pow(depth,m)*sqrt(grade)depth=depth+(depth*fluxflow(fvel)) enddoendFig.5.Map algebra script for excess rainfallflow computed over a 120minute event.The variables depth and grade are rasters,fvel is theflow velocity,n and m are constants in Manning’s equation.It is assumed a time step is defined and the script is run in a simulation. Thefirst line in the nested cell processing(i.e.doflow)computes theflow velocity and the second line computes the change in depth from the previous value plus any net change(inflow–outflow)due to velocityflux across the cell.cycle.Flow velocities change dramatically over the course of a storm event,and it is problematic to set an appropriate time step which is efficient and yields a stable result.The hydrological model has been implemented in a map algebra programming language Pullar(2003).To overcome the problem mentioned above we have added high level oper-ators to compute theflow as an advancing front over a land-scape.The time step advances this front adaptively across the landscape based upon theflow velocity.The level set algorithm(Sethian,1999)is used to do this in a stable and accurate way.The map algebra script is given in Fig.5.The important operator is thefluxflow operator.It computes the advancing front for waterflow across a DEM by hydrologi-cal principles,and computes the local drainageflux rate for each cell.Theflux rate is used to compute the net change in a cell in terms offlow depth over an adaptive time step.4ConclusionsThe paper has described an approach to extend the function-ality of tightly coupled environmental models in GIS(Ar-gent,2004).A long standing criticism of GIS has been its in-ability to handle dynamic spatial models.Other researchers have also addressed this issue(Burrough,1998).The con-tribution of this paper is to describe how level set methods are:i)an appropriate scientific basis,and ii)able to perform stable time-space computations for modelling landscape pro-cesses.The level set method provides the following benefits:–it more directly models motion of spatial phenomena and may handle both expanding and contracting inter-faces,–is based upon differential equations related to the spatial dynamics of physical processes.Despite the potential for using level set methods in GIS and land-surface process modeling,there are no commercial or research systems that use this mercial sys-tems such as GRID(Gao et al.,1993),and research systems such as PCRaster(Wesseling et al.,1996)offerflexible andpowerful map algebra programming languages.But opera-tions that involve reaction-diffusive processing are specific to one context,such as groundwaterflow.We believe the level set method offers a more generic approach that allows a user to programflow and diffusive landscape processes for a variety of application contexts.We have shown that it pro-vides an appropriate theoretical underpinning and may be ef-ficiently implemented in a GIS.We have demonstrated its application for two landscape processes–albeit relatively simple examples–but these may be extended to deal with more complex and dynamic circumstances.The validation for improved environmental modeling tools ultimately rests in their uptake and usage by scientists and engineers.The tool may be accessed from the web site .au/projects/mapscript/(version with enhancements available April2005)for use with IDRSIS GIS(Eastman,1997)and in the future with ArcGIS. It is hoped that a larger community of users will make use of the methodology and implementation for a variety of environmental modeling applications.Edited by:P.Krause,S.Kralisch,and W.Fl¨u gelReviewed by:anonymous refereesReferencesArgent,R.:An Overview of Model Integration for Environmental Applications,Environmental Modelling and Software,19,219–234,2004.Bonham-Carter,G.F.:Geographic Information Systems for Geo-scientists,Elsevier Science Inc.,New York,1994. Burrough,P.A.:Dynamic Modelling and Geocomputation,in: Geocomputation:A Primer,edited by:Longley,P.A.,et al., Wiley,England,165-191,1998.Burrough,P.A.and McDonnell,R.:Principles of Geographic In-formation Systems,Oxford University Press,New York,1998. Gao,P.,Zhan,C.,and Menon,S.:An Overview of Cell-Based Mod-eling with GIS,in:Environmental Modeling with GIS,edited by: Goodchild,M.F.,et al.,Oxford University Press,325–331,1993.Goodchild,M.:A Geographer Looks at Spatial Information Theory, in:COSIT–Spatial Information Theory,edited by:Goos,G., Hertmanis,J.,and van Leeuwen,J.,LNCS2205,1–13,2001.Jørgensen,S.and Bendoricchio,G.:Fundamentals of Ecological Modelling,Elsevier,New York,2001.Julien,P.Y.,Saghafian,B.,and Ogden,F.:Raster-Based Hydro-logic Modelling of Spatially-Varied Surface Runoff,Water Re-sources Bulletin,31(3),523–536,1995.Moore,I.D.,Turner,A.,Wilson,J.,Jenson,S.,and Band,L.:GIS and Land-Surface-Subsurface Process Modeling,in:Environ-mental Modeling with GIS,edited by:Goodchild,M.F.,et al., Oxford University Press,New York,1993.Press,W.,Flannery,B.,Teukolsky,S.,and Vetterling,W.:Numeri-cal Recipes in C:The Art of Scientific Computing,2nd Ed.Cam-bridge University Press,Cambridge,1992.Pullar,D.:MapScript:A Map Algebra Programming Language Incorporating Neighborhood Analysis,GeoInformatica,5(2), 145–163,2001.Pullar,D.:Simulation Modelling Applied To Runoff Modelling Us-ing MapScript,Transactions in GIS,7(2),267–283,2003. Ritter,G.,Wilson,J.,and Davidson,J.:Image Algebra:An Overview,Computer Vision,Graphics,and Image Processing, 4,297–331,1990.Sethian,J.A.:Level Set Methods and Fast Marching Methods, Cambridge University Press,Cambridge,1999.Sklar,F.H.and Costanza,R.:The Development of Dynamic Spa-tial Models for Landscape Ecology:A Review and Progress,in: Quantitative Methods in Ecology,Springer-Verlag,New York, 239–288,1991.Sui,D.and R.Maggio:Integrating GIS with Hydrological Mod-eling:Practices,Problems,and Prospects,Computers,Environ-ment and Urban Systems,23(1),33–51,1999.Tilman,D.and P.Kareiva:Spatial Ecology:The Role of Space in Population Dynamics and Interspecific Interactions.Princeton University Press,Princeton,New Jersey,USA,1997. Wesseling C.G.,Karssenberg, D.,Burrough,P. A.,and van Deursen,W.P.:Integrating Dynamic Environmental Models in GIS:The Development of a Dynamic Modelling Language, Transactions in GIS,1(1),40–48,1996.。

计量经济学中英文词汇对照

计量经济学中英文词汇对照

Controlled experiments Conventional depth Convolution Corrected factor Corrected mean Correction coefficient Correctness Correlation coefficient Correlation index Correspondence Counting Counts Covaห้องสมุดไป่ตู้iance Covariant Cox Regression Criteria for fitting Criteria of least squares Critical ratio Critical region Critical value
Asymmetric distribution Asymptotic bias Asymptotic efficiency Asymptotic variance Attributable risk Attribute data Attribution Autocorrelation Autocorrelation of residuals Average Average confidence interval length Average growth rate BBB Bar chart Bar graph Base period Bayes' theorem Bell-shaped curve Bernoulli distribution Best-trim estimator Bias Binary logistic regression Binomial distribution Bisquare Bivariate Correlate Bivariate normal distribution Bivariate normal population Biweight interval Biweight M-estimator Block BMDP(Biomedical computer programs) Boxplots Breakdown bound CCC Canonical correlation Caption Case-control study Categorical variable Catenary Cauchy distribution Cause-and-effect relationship Cell Censoring

Directed Minimum Spanning Tree Chu-LiuEdmonds Algorithm

Directed Minimum Spanning Tree Chu-LiuEdmonds Algorithm

Directed Minimum Spanning Tree: Chu-Liu/Edmonds Algorithm我们的现代数据库大作业要求实现一个图查询系统,包括基于属性的子图查询、可达性查询(可选)、最短路径查询(可选)、TopK最短路径查询(可选)、图形化展示(可选)等功能。

分成子图同构查询小组以及可达性及TopK路径查询小组。

小组长之前研究了Efficiently answering reachability queries on very large directed graphs这篇论文,关于Path-tree计算可达性的,其中需要构造最大生成树(无需固定root),于是负责打酱油的我就开始琢磨单连通有向图的最大生成树算法Edmonds Algorithm了。

Edmonds Algorithm介绍Solving The Directed MST ProblemChu and Liu [2], Edmonds [3], and Bock [4] have independently given efficient algorithms for finding the MST on a directed graph. The Chu-Liu and Edmonds algorithms are virtually identical; the Bock algorithm is similar but stated on matrices instead of on graphs. Furthermore, a distributedalgorithm is given by Humblet [5]. In the sequel, we shall briefly illustrate the Chu-Liu/Edmonds algorithm, following by a comprehensive example (due to [1]). Reader can also refer to [6] [7] for an efficientimplementation, O(mlogn) and O(n^2) for dense graph, of this algorithm.Chu-Liu/Edmonds Algorithm1.Discard the arcs entering the root if any; For each node other than the root,select the entering arc with the smallest cost; Let the selected n-1 arcs be the set S.2.If no cycle formed, G(N,S) is a MST. Otherwise, continue.3.For each cycle formed, contract the nodes in the cycle into apseudo-node (k), and modify the cost of each arc which enters a node (j) in the cycle from some node (i)outside the cycle according to the followingequation.c(i,k)=c(i,j) - (c(x(j),j) - min_{j}(c(x(j),j))where c(x(j),j) is the cost of the arc in the cycle which enters j.4.For each pseudo-node, select the entering arc which has the smallestmodified cost; Replace the arc which enters the same real node in S by thenew selected arc.5.Go to step 2 with the contracted graph.The key idea of the algorithm is to find the replacing arc(s) which has the minimum extra cost to eliminate cycle(s) if any. The given equation exhibits the associated extra cost. The following example illustrates that the contraction technique finds the minimum extra cost replacing arc (2,3) for arc (4,3) and hence the cycle is eliminated.References1. E. Lawler, ``Combinatorial optimization: networks and matroids'', SaundersCollege Publishing, 1976.2.Y. J. Chu and T. H. Liu, ``On the shortest arborescence of a directed graph'',Science Sinica, v.14, 1965, pp.1396-1400.3.J. Edmonds, ``Optimum branchings'', J. Research of the National Bureau ofStandards, 71B, 1967, pp.233-240.4. F. Bock, ``An algorithm to construct a minimum spanning tree in a directednetwork'', Developments in Operations Research, Gordon and Breach, NY,1971, pp. 29-44.5.P. Humblet, ``A distributed algorithm for minimum weighted directedspanning trees'', IEEE Trans. on Communications, -31, n.6, 1983,pp.756-762.6.R. E. Tarjan, ``Finding Optimum Branchings'', Networks, v.7, 1977,pp.25-35.7.P.M. Camerini, L. Fratta, and F. Maffioli, ``A note on finding optimumbranchings'', Networks, v.9, 1979, pp.309-312.下面是Wiki上的一段算法描述,包括了计算最后最大生成树总权值的计算。

2020mathematics subject classification -回复

2020mathematics subject classification -回复

2020mathematics subject classification -回复什么是2020数学学科分类(2020 Mathematics Subject Classification)以及其作用。

2020数学学科分类(2020 Mathematics Subject Classification)是国际数学学会(International Mathematical Union,简称IMU)和数学评论社(Mathematical Reviews,简称MR)共同制定和维护的一套数学学科分类标准。

它是一种对数学领域进行分类的体系,用于将数学研究分为不同的子领域,以帮助学者快速定位和查找相关文献,促进学术交流和合作。

本文将从2020数学学科分类的背景、结构、应用以及未来发展等方面一步步回答这个问题。

首先,我们来了解一下2020数学学科分类的背景和历史。

数学作为一门广泛而深入的学科,涵盖了众多的研究领域和方向。

为了更好地组织和理解这些领域,国际数学学会和数学评论社于1960年开始合作发布数学学科分类标准。

该标准最初以主题和领域为基础进行分类,但随着数学研究的不断发展和细分,原有的分类标准已无法满足学者们的需求。

因此,IMU 和MR于2020年进行了一次全面的更新,推出了2020数学学科分类。

接下来,我们来探究一下2020数学学科分类的结构。

2020数学学科分类共分为一级学科(primary)和二级学科(secondary)两个层次。

一级学科下再细分为二级学科,二级学科下还可以再细分为更细的子领域。

其中,一级学科主要包括算法论和复杂性理论、代数学、拓扑学等20个基础学科;二级学科则细分了更多的具体领域,例如,代数学下有环论、群论、线性代数等23个二级学科。

通过这种多层次的分类结构,学者们可以更加精确地定位和分类自己的研究领域。

那么,2020数学学科分类的主要应用是什么呢?首先,它可以帮助学者们快速定位和查找相关文献。

tasc分级标准图

tasc分级标准图

tasc分级标准图TASC分级标准图。

TASC分级标准图是一种用于评估和记录学生学术能力的工具,它能够帮助教师和学生更好地了解学术要求,并为学生制定个性化的学习计划提供依据。

TASC分级标准图通常包括多个层次,每个层次对应着不同的学术能力水平,从基础水平到高级水平不等。

下面将详细介绍TASC分级标准图的构成和使用方法。

TASC分级标准图通常由多个维度组成,每个维度对应着不同的学术能力要求。

比如,阅读理解、写作表达、数学推理等。

在每个维度下,又包含了多个层次,每个层次对应着不同的能力水平。

通过TASC分级标准图,教师和学生可以清晰地了解每个学术能力维度的要求,以及学生在每个维度上的能力水平,从而有针对性地进行教学和学习。

TASC分级标准图的使用方法非常灵活,教师可以根据学生的实际情况,选择性地对某些维度或层次进行评估。

在评估过程中,教师可以结合学生的课堂表现、作业成绩、考试成绩等多方面的信息,综合判断学生的学术能力水平,并给予相应的指导和帮助。

而学生也可以通过TASC分级标准图,清晰地了解自己在每个学术能力维度上的表现,找到自己的不足之处,并有针对性地进行学习和提高。

除了评估学生的学术能力,TASC分级标准图还可以用于制定学习计划和目标。

通过对学生的学术能力进行全面的评估,教师可以为学生制定个性化的学习计划,针对学生的不同能力水平和需求,设计不同的教学内容和方式,帮助学生全面提高自己的学术能力。

而学生也可以根据自己在TASC分级标准图上的表现,设定学习目标,明确自己需要提高的能力和方向,有针对性地进行学习和训练。

总之,TASC分级标准图是一种非常有效的学术评估工具,它能够帮助教师和学生更好地了解学术要求,评估学生的学术能力,制定个性化的学习计划和目标。

教师和学生可以通过TASC分级标准图,清晰地了解学生的学术能力水平,找到不足之处,并有针对性地进行教学和学习。

希望各位教师和学生能够充分利用TASC分级标准图,共同提高学术能力,取得更好的学习成绩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a rXiv:0711.2838v2[mat h.CO ]21Dec27Graded Sparse Graphs and Matroids 1Audrey Lee (University of Massachusetts,Amherst,MA alee@)Ileana Streinu (Smith College,Northampton,MA streinu@)Louis Theran (University of Massachusetts,Amherst,MA theran@)Abstract:Sparse graphs and their associated matroids play an important role in rigidity theory,where they capture the combinatorics of some families of generic min-imally rigid structures.We define a new family called graded sparse graphs ,aris-ing from generically pinned bar-and-joint frameworks,and prove that they also form matroids.We also address several algorithmic problems on graded sparse graphs:De-cision ,Spanning ,Extraction ,Components ,Optimization ,and Extension .We sketch variations on pebble game algorithms to solve them.Key Words:computational geometry,hypergraph,rigidity theory,matroid,pebble game Category: F.2.2,G.2.21Introduction A bar-and-joint framework is a planar structure made of fixed-length bars connected by universal joints .Its allowed motions are those that preserve the lengths and connectivity of the bars.If the allowed motions are all trivial rigid motions ,then the framework is rigid ;otherwise it is flman’s foundational theorem [Laman 1970]characterizes generic minimally rigid bar-and-joint frameworks in terms of their underlying graph.A Laman graph has 2n −3edges and the additional property that every induced subgraphon n ′vertices spans at most 2n ′−man’s theorem characterizes the graphs of generic minimally rigid frameworks as Laman graphs.Laman’s hereditary counts have been recently generalized [Whiteley 1996,Lee and Streinu 2007,Streinu and Theran 2007]to (k,ℓ)-sparse graphs and hy-pergraphs ,which form the independent sets of a matroid called the (k,ℓ)-sparsity matroid .(a)(b)Figure 1:Example of a bar-slider framework and its associated graph:(a)a bar-slider framework;(b)the same framework given combinatorially as a graph with edges and loopsIn [Streinu and Theran 2007b,Lee et al.2007]we considered the problem of pinning a bar-and-joint framework by adding sliders .Pinning means com-pletely immobilizing the structure by eliminating all the degrees of freedom,including the trivial rigid motions (rotations and translations).We do this by constraining vertices to move along generic lines,much like a slider joint in me-chanics.A slider at vertex i is a line L i associated with the vertex.A structure made from bars,joints,and sliders is called a bar-slider framework.We model a bar-slider framework combinatorially with a graph that has vertices for the joints,with edges (2endpoints)for the bars and loops (1endpoint)for the sliders.Figure 1shows an example of a bar-slider framework and its associated graph;the sliders are shown as dotted lines running through a vertex.The main rigidity result of [Streinu and Theran 2007b]is a Laman-type theorem.Proposition 1(Bar-slider framework rigidity).Let G be a graph with 2n −k edges and k loops.G is realizable as a generic minimally pinned bar-and-slider framework if and only if:(1)Every subset of n ′vertices spans at most 2n ′−3edges (not counting loops),and (2)Every induced subgraph on n ′vertices spans at most 2n ′edges and loops.The generalization of the Laman counts from Proposition 1leads to a pin-ning matroid ,which has as its bases the graphs of minimally pinned generic bar-slider frameworks.Contributions.In this paper,we generalize the counts from Proposition1to what we call graded sparsity on hypergraphs.Graded sparsity has the same relationship to bar-slider structures as sparsity has to bar-and-joint plete definitions will be given in Section3.We also briefly indicate the algorithmic solutions to the following fundamental problems(first posed in the context of pinning in[Streinu and Theran2007b]),generalized to graded sparsity.Decision problem:Is G a graded sparse graph?Spanning problem:Does G contain a spanning graded sparse graph?Extraction problem:Find a maximum sized graded sparse subgraph of G.Optimization problem:Compute an optimal graded sparse subgraph of G with respect to an arbitrary linear weight function on the edges. Extension problem:Find a minimum size set of edges to add to G,so that it becomes spanning.Components problem:Find the components(which generalize rigid compo-nents to graded sparsity)of G.For these problems,we give efficient,easily implementable algorithms based on pebble games for general sparse graphs(see the papers[Lee and Streinu2007], [Streinu and Theran2007],[Lee et al.2005]).2PreliminariesIn this section,we give the necessary background(from previous work)to un-derstand our contributions.We start with sparse graphs and hypergraphs.2.1Sparse graphs and hypergraphs.A hypergraph G=(V,E)is afinite set V of n vertices with a set E of m edges that are subsets of V.We allow multiple distinguished copies of edges;i.e., our hypergraphs are multigraphs.The dimension of an edge is the number of vertices in it;we call an edge of dimension d a d-edge.We call the vertices in an edge its endpoints.The concept of directed graphs extends to hypergraphs. In a directed hypergraph,each edge is given an orientation“away”from a distinguished endpoint,which we call its tail.A hypergraph is(k,ℓ)-sparse if every edge-induced subgraph with m′edges spanning n′vertices satisfies m′≤kn′−ℓ;a hypergraph that is(k,ℓ)-sparse(shortly,sparse)and has kn−ℓedges is called(k,ℓ)-tight(shortly,tight).Max-imal tight subgraphs of a sparse hypergraph are called components.Sparse hypergraphs have a matroidal structure,first observed by White and Whiteley in the appendix of[Whiteley1996].More specifically:Proposition2([Streinu and Theran2007]).Let G be a hypergraph on n vertices.For large enough n,the(k,ℓ)-sparse hypergraphs form the independent sets of a matroid that has tight hypergraphs as its bases.Whenℓ≥dk,all the edges in a sparse hypergraph have dimension at least d, because otherwise the small edges would violate sparsity and the matroid would be trivial.The(k,ℓ)-sparsity matroid(for0≤ℓ<dk)is defined on the ground set K+n,the complete hypergraph on n vertices,where edges of dimension d have multiplicity dk.2.2Pebble gamesPebble games are a family of simple construction rules for sparse hypergraphs. For history and references,see[Lee and Streinu2007,Streinu and Theran2007]. In a nutshell,the pebble game starts with an empty set of vertices with k pebbles on each vertex and proceeds through a sequence of moves.Each move either adds a directed edge or reorients one that is already there,using the location of the pebbles on the graph to determine the allowed moves at each step.Pebble games are indexed by non-negative integer parameters k andℓ.Ini-tially,every vertex starts with k pebbles on it.An edge may be added if at least ℓ+1pebbles are present on its endpoints,otherwise it is rejected.When an edge is added,one of the pebbles is picked up from an endpoint and used to “cover”the new edge,which is then directed away from that endpoint.Pebbles may be moved by reorienting edges.If an endpoint of an edge,other than its tail,has at least one pebble,this pebble may be used to cover the edge.The edge is subsequently reoriented away from that endpoint,and the pebble previously covering the edge is returned to the original tail.The pebble game is used as a basis for algorithms that solve the fundamental sparse graph problems in[Lee and Streinu2007,Streinu and Theran2007].The next proposition captures the results needed later.Proposition3([Streinu and Theran2007]).Pebble games for sparse hypergraphs:Using the pebble game paradigm,the Decision problem for sparse hypergraphs with edges of dimension d can be solved in O(dn2)time and O(n) space.The Spanning,Extraction and Components problems for hypergraphs with m edges of dimension d can be solved in O(n d)time and space or O(nmd) time and O(m)space.Optimization can be solved in either of these running times plus an additional O(m log m).Not that in a hypergraph with edges of dimension d,m may beΘ(n d).2.3Related workBecause of their relevance to rigidity,Laman graphs,and the related fam-ilies of sparse graphs,have been extensively studied.Classic papers include [Whiteley1988,Whiteley1996],where extensions to sparsity matroids on graphs and hypergraphsfirst appeared.A more detailed history and comprehensive de-velopments,as well as recent developments connecting sparse graphs and peb-ble game algorithms appear in[Lee and Streinu2007,Streinu and Theran2007]. The graded matroids of this paper are a further generalization.Another direction is encountered in[Servatius and Whiteley1999],which consider length and direction constraints(modeled as edges of different col-ors).The associated rigidity counts require(2,3)-sparsity for monochromatic subgraphs and(2,2)-sparsity for bichromatic subgraphs.This extends sparsity in a slightly different direction than we do here,and is neither a specialization nor a generalization of our graded sparsity.Our algorithms fall into the family of generalized pebble games for sparse hypergraphs[Lee and Streinu2007,Streinu and Theran2007,Lee et al.2005]. They are generalizations of an[Jacobs and Hendrickson1997]’s algorithm for Laman graphs,formally analyzed in[Berg and Jord´a n2003].3Graded sparsityIn this section,we define the concept of graded sparsity and prove the main result.DefinitionsLet G=(V,E)be a hypergraph.A grading(E1,E2,...,E s)of E is a strictly decreasing sequence of sets of edges E=E1 E2 ··· E s.An example is the standard grading,where wefix the E i’s to be edges of dimension at least i. This is the situation for the pinned Laman graphs of[Streinu and Theran2007b], where the grading consists of≥1-edges and2-edges.Fix a grading on the edges of G.Define G≥i as the subgraph of G induced by∪j≥i E i.Letℓ={ℓ1<ℓ2<···<ℓs}be a vector of s non-negative integers. We say that G is(k,ℓ)-graded sparse if G≥i is(k,ℓi)-sparse for every i;G is(k,ℓ)-graded tight if,in addition,it is(k,ℓ1)-tight.To differentiate this concept from the sparsity of Proposition2,we refer to(k,ℓ)-graded sparsity as graded sparsity.The components of a graded sparse graph G are the (k,ℓ1)-components of G.Main resultIt can be easily shown that the family of(k,ℓ)-graded sparse graphs is the intersection of s matroidal families of graphs.The main result of this paper is the following stronger property.Theorem4(Graded sparsity matroids).The(k,ℓ)-graded sparse hypergraphs form the independent sets of a matroid.For large enough n,the(k,ℓ)-graded tight hypergraphs are its bases.The proof of Theorem4is based on the circuit axioms for matroids.See [Oxley1992]for an introduction to matroid theory.We start by formulating (k,ℓ)-graded sparsity in terms of circuits.For a(k,ℓ)-sparsity matroid,the(k,ℓ)-circuits are exactly the graphs on n′vertices with kn′−ℓ+1edges such that every proper subgraph is(k,ℓ)-sparse.We now recursively define a family C as follows:C≥s is the set of(k,ℓs)-circuits in G s;for i<s,C≥i is the union of C≥i+1and the(k,ℓi)-circuits of G≥i that do not contain any of the elements of C≥i+1.Finally,set C=C≥1.Example:As an example of the construction of C,we consider the case of k=1,ℓ=(0,1)with the standard grading.C≥2consists of the(1,1)-circuits of edges;a fundamental result of graph theory[Nash-Williams1961,Tutte1961] says that these are the simple cycles of ing the identification of(1,0)-tight graphs with graphs having exactly one cycle per connected component(see [Haas et al.2007]for details and references),we infer that the(1,0)-circuits are pairs of cycles sharing edges or connected by a path.Since cycles involving edges are already in C≥2,C≥1adds only pairs of loops connected by a simple path.We now prove a structural property of C that relates C to(k,ℓ)-graded spar-sity and will be used in the proof of Theorem4.Lemma5.Let d,k,andℓi be such that(d−1)k≤ℓi<dk.Then,every set in C≥i is either a single edge or has only edges of dimension at least d.Proof.A structure theorem from[Streinu and Theran2007]says that for k and ℓi satisfying the condition in the lemma,all sparse graphs have only edges of dimension at least d or are empty.Since any proper subgraph of a(k,a)-circuit for a≥ℓi is(k,ℓi)-sparse,either the circuit has only edges of dimension at least d or only empty proper subgraphs,i.e.it has exactly one edge.Lemma6.A hypergraph G is(k,ℓ)-graded sparse if and only if it does not contain a subgraph in C.Proof.It is clear that all the(k,ℓ)-graded sparse hypergraphs avoid the sub-graphs in C,since they cannot contain any(k,ℓi)-circuit of G≥i.For the reverse inclusion,suppose that G is not sparse.Then for some i, G≥i is not(k,ℓi)-sparse.This is equivalent to saying that G≥i contains some (k,ℓi)-circuit C.There are now two cases:if C∈C we are done;if not,then some C′ C is in C,and G contains C′,which completes the proof.We are now ready to prove Theorem4.Proof of Theorem4.Lemma6says that it is sufficient to verify that C obeys the circuit axioms.By construction,C does not contain the empty set and no sets of C contain each other.What is left to prove is that,for C i,C j∈C with y∈C i∩C j,(C i∪C j)−y contains an element of C.Suppose that C i is a(k,ℓi)-circuit and C j is a(k,ℓj)-circuit with j≥i.Let m i,m j,m∪and m∩be the number of edges in C i,C j, C i∪C j,and C i∩C j,respectively.Similarly define n i,n j,n∪,and n∩for the size of the vertex sets.Lemma5implies that y has dimension d,whereℓj<dk;otherwise C j would have to be the single edge y,and this would block C i’s inclusion in C(since j≥i).Because C i∩C j C j,we have n∩≥d and m∩≤kn∩−ℓj.By counting edges,we havem∪=m i+m j−m∩≥m i+m j−(kn∩−ℓj)=kn i−ℓi+1+kn j−ℓj+1−(kn∩−ℓj)=kn∪−ℓi+2.It follows that C i∪C j cannot be(k,ℓi)-sparse,and by Lemma6,this is equivalent to having an element of C as a subgraph.4AlgorithmsIn this section,we start with the algorithm for Extraction and then derive algorithms for the other problems from it.Algorithm1.Extraction of a graded sparse graphInput:A hypergraph G,with a grading on the edges.Output:A maximum size(k,ℓ)-graded sparse subgraph of G.Method:Initialize the pebble game with k pebbles on every vertex.Iterate over the edges of G in an arbitrary order.For each edge e:1.Try to collect at leastℓ1+1pebbles on the endpoints of e.If this is notpossible,reject it.2.If e∈E1,accept it,using the rules of the(k,ℓ1)-pebble game.3.Otherwise,copy the configuration of the pebble game into a“shadow graph”.Set d←1.4.In the shadow,remove every edge of E d,and put a pebble on the tail of theremoved edges.5.Try to collectℓd+1−ℓd more pebbles on the endpoints of e.There are threepossibilities:(1)if the pebbles cannot be collected,reject e and discard the shadow;(2)otherwise there are≥ℓd+1+1pebbles on the endpoints of e, if e∈E d+1discard the shadow and accept e using the rules of the(k,ℓd+1) pebble game;(3)otherwise,if e∈E d+1,set d←d+1and go to step4.Finally,output all the accepted edges.Correctness:By Theorem4,adding edges in any order leads to a sparse graph of maximum size.What is left to check is that the edges accepted are exactly the independent ones.This follows from the fact that moving pebbles in the pebble game is a reversible process,except when a pebble is moved and then used to cover a new edge.Since the pebbles covering hyper-edges in E j,for j<i,would be on the vertices where they are located in the(k,ℓi)-pebble game,for j<i,then Algorithm1accepts edges in E i exactly when the(k,ℓi)-pebble game would. By results of[Lee and Streinu2007,Streinu and Theran2007],we conclude that Algorithm1computes a maximum size(k,ℓ)-graded sparse subgraph of G.Running time:If we maintain components,the running time is O(n d⋆), where d⋆is the dimension of the largest hyperedge in the input.Without main-taining components,the running time is O(mnd),with the caveat that m can beΘ(n d).Application to the fundamental problems.We can use Algorithm1to solve the remaining fundamental problems.For De-cison a simplification yields a running time of O(dn2):checking for the correct number of edges is an O(n)step,and after that O(mnd)becomes O(n2d).For Optimization,we consider the edges in an order sorted by weight.The correctness of this approach follows from the characterization of matroids by greedy algorithms.Because of the sorting phase,the running time is O(n d+ m log m).The components are the(k,ℓ1)-components of the output.Since we maintain these anyway,the running time for Components is O(n d).Finally,for Extension,the matroidal property of(k,ℓ)-graded sparse graphs implies that it can be solved by using the Extraction algorithm on K+n,con-sidering the edges of the given independent setfirst and the rest of E(K+n)in any desired order.The solution to Spanning is similar.Acknowledgement.This research was supported by the NSF CCF0728783 grant of Ileana Streinu.References[Berg and Jord´a n2003]Berg,A.R.,Jord´a n,T.:“Algorithms for graph rigidity and scene analysis”;Proc.11th ESA,LNCS volume2832,Springer(2003),78-89. [Haas2002]Haas,R.:“Characterizations of arboricity of graphs”;Ars Combinatorica 63(2002),129-137.[Haas et al.2007]Haas,R.,Lee,A.,Streinu,I.,Theran,L.:“Characterizing sparse graphs by map decompositions”;Journal of Combinatorial Mathematics and Com-binatorial Computing,vol.62,3–11(2007);/abs/0704.3843. [Hendrickson1992]Hendrickson,B.:“Conditions for unique graph realizations”;SIAM Journal of Computing21,1(1992),65-84.[Jacobs and Hendrickson1997]Jacobs,D.J.,Hendrickson,B.:“An algorithm for two-dimensional rigidity percolation:the pebble game”;Journal of Computational Physics137(1992),346-365.[Laman1970]Laman,G.:“On graphs and rigidity of plane skeletal structures”;Jour-nal of Engineering Mathematics4(1970),331-340.[Lee and Streinu2007]Lee, A.,Streinu,I.:“Pebble game algorithms and sparse graphs”;Discrete Mathematics,to appear;/abs/math/0702129. [Lee et al.2005]Lee,A.,Streinu,I.,Theran,L.:“Finding and maintaining rigid com-ponents”;Proceedings of the17th Canadian Conference on Computational Geom-etry,Windsor,Ontario(2005);http://cccg.cs.uwindsor.ca/papers/72.pdf. [Lee et al.2007]Lee,A.,Streinu,I.,Theran,L.:“The slider-pinning problem”;Pro-ceedings of the19th Canadian Conference on Computational Geometry,Ottawa, Ontario(2007);/publications/sliders-cccg.pdf.[Nash-Williams1961]Nash-Williams,C.S.J.A.:“Edge-disjoint spanning trees offi-nite graphs”;Journal London Math.Soc.36(1961),445-450.[Oxley1992]Oxley,J.G.:“Matroid theory”;The Clarendon Press Oxford University Press,New York(1961).[Servatius and Whiteley1999]Servatius,B.,Whiteley,W.:“Constraining plane con-figurations in CAD:Combinatorics of directions and lengths”;SIAM Journal on Discrete Mathematics12(1)(1999),136-153.[Streinu and Theran2007]Streinu,I.,Theran,L.:“Sparse hypergraphs and pebble game algorithms”European Journal of Combinatorics,special issue for Oriented Matroids’05,to appear(2008);/abs/math/0703921. [Streinu and Theran2007b]Streinu,I.,Theran,L.:“Combinatorial genericity and minimal rigidity”;Manuscript(2007);/abs/0712.0031.[Tay1984]Tay,T.-S.:“Rigidity of multigraphs I:linking rigid bodies in n-space”;Journal of Combinatorial Theory Series B26(1994),95-112.[Tutte1961]Tutte,W.T.:“On the problem of decomposing a graph into n connected factors”;Journal London Math.Soc.142(1961),221-230.[Whiteley1988]Whiteley,W.:“The union of matroids and the rigidity of frameworks”;SIAM Journal Discrete Mathematics1,2(1988),237-255.[Whiteley1996]Whiteley,W.:“Some matroids from discrete applied geometry”;In: Matroid Theory(Bonin,J.,Oxley,J.G.,Servatius,B.,Editors),volume197of Contemporary Mathematics,American Mathematical Society(1996),171-311.。

相关文档
最新文档