CN110109928B - 一种仪器校正参数部分依赖关系抽取方法 - Google Patents
一种仪器校正参数部分依赖关系抽取方法 Download PDFInfo
- Publication number
- CN110109928B CN110109928B CN201910353882.2A CN201910353882A CN110109928B CN 110109928 B CN110109928 B CN 110109928B CN 201910353882 A CN201910353882 A CN 201910353882A CN 110109928 B CN110109928 B CN 110109928B
- Authority
- CN
- China
- Prior art keywords
- parameter
- graph
- vertex
- directed acyclic
- removal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
Abstract
本发明公开了一种仪器校正参数部分依赖关系抽取方法,首先建立得到参数依赖关系的有向无环图,然后从有向无环图中提取出每个参数对应的部分依赖图,在提取部分依赖图时先获取有向无环图G中出度为零的点,并进行删减,直到所需提取参数为图中唯一出度为零点,得到的图即为所求的该参数的部分依赖图,然后对每个参数的部分依赖图进行拓扑排序,将得到的参数序列进行翻转处理,所得到的参数序列即为对应参数的上层依赖关系参数序列,对其进行保存供仪器校正使用。本发明所得到的上层依赖关系参数序列,在仪器运行过程中某个参数改变时,可以为参数校正提供指导,有助于快速实现仪器校正。
Description
技术领域
本发明属于仪器校正技术领域,更为具体地讲,涉及一种仪器校正参数部分依赖关系抽取方法。
背景技术
在仪器的参数校正中,由于仪器的参数之间往往存在复杂的依赖关系,校正时需要按照正确的校正顺序校正。有向无环图(DAG)在实际应用中经常用来描述工程或者系统的进行过程,如工程施工图、学生选课关系图等。在有向无环图中,用顶点表示活动,用有向边表示活动间的先后关系。在仪器校正方面,参数及其依赖关系正好可以用一个有向无环图来描述。
拓扑排序是对有向无环图的顶点的一种排序,它使得如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面。通过拓扑排序,可以得到多个参数间的依赖关系从而得到正确的校正和更新顺序。
一般来说,仪器在出厂前都会对参数进行校正,但是在仪器使用过程中可能会出现参数的改变。当一个参数改变,其他依赖于该参数的参数也需要重新校正,所以需要对每个参数的部分依赖关系进行抽取和保存。由于需要找到参数的上层依赖参数(不一定是直接依赖,也可能是间接依赖)即反向依赖参数,而拓扑排序只能对图中的所有顶点进行排序,不能得到部分顶点的排序,所以需要提出一种方法抽取部分依赖关系。
发明内容
本发明的目的在于克服现有技术的不足,提供一种仪器校正参数部分依赖关系抽取方法,根据有向无环图抽取各个参数的部分依赖关系。
为实现上述发明目的,本发明仪器校正参数部分依赖关系抽取方法,包括以下步骤:
S1:将每个参数作为有向无环图的顶点,当参数i依赖于参数j时,即参数i在校正之前需要先对参数j进行校正,建立参数i顶点到参数j顶点的有向边,i,j=1,2,…,N,i≠j,N表示参数数量,从而建立参数依赖关系的有向无环图G;
S2:对于每个参数i,从步骤S1建立的有向无环图G中提取出该参数i对应的部分依赖图,具体步骤包括:
S2.1:令初始有向无环图G′=G,新建移除链表list为空;
S2.2:从当前的有向无环图G′中筛选得到出度为0的顶点,写入移除链表list;
S2.3:判断参数i是否位于移除链表list中,如果没有则进入步骤S2.4,否则进入步骤S2.5;
S2.4:从当前有向无环图G′中将移除链表list中的各个顶点删除,然后清空移除链表list,返回步骤S2.2;
S2.5:判断参数i是否是移除链表list中唯一顶点,如果不是,进入步骤S2.6,否则进入步骤S2.7;
S2.6:从当前有向无环图G′中将移除链表list中参数i以外的各个顶点删除,然后将移除链表list中参数i以外的各个顶点删除,返回步骤S2.2;
S2.7:将当前有向无环图G′作为参数i的部分依赖图gi进行存储;
S3:分别对步骤S2所提取得到的每个参数i的部分依赖图gi进行拓扑排序,将得到的参数序列进行翻转处理,得到的参数序列即为参数i的上层依赖关系参数序列,对其进行保存供仪器校正使用。
本发明仪器校正参数部分依赖关系抽取方法,首先建立得到参数依赖关系的有向无环图,然后从有向无环图中提取出每个参数对应的部分依赖图,在提取部分依赖图时先获取有向无环图G中出度为零的点,并进行删减,直到所需提取参数为图中唯一出度为零点,得到的图即为所求的该参数的部分依赖图,然后对每个参数的部分依赖图进行拓扑排序,将得到的参数序列进行翻转处理,所得到的参数序列即为对应参数的上层依赖关系参数序列,对其进行保存供仪器校正使用。本发明所得到的上层依赖关系参数序列,在仪器运行过程中某个参数改变时,可以为参数校正提供指导,有助于快速实现仪器校正。
附图说明
图1是本发明仪器校正参数部分依赖关系抽取方法的具体实施方式流程图;
图2是本实施例中基于NetworkX库建立有向无环图的流程图;
图3是本发明中提取部分依赖图的流程图;
图4是本实施例中参数依赖关系的有向无环图;
图5是本实施例中参数G的部分依赖图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明仪器校正参数部分依赖关系抽取方法的具体实施方式流程图。如图1所示,本发明仪器校正参数部分依赖关系抽取方法的具体步骤包括:
S101:建立有向无环图:
将每个参数作为有向无环图的顶点,当参数i依赖于参数j时,即参数i在校正之前需要先对参数j进行校正,建立参数i顶点到参数j顶点的有向边,i,j=1,2,…,N,i≠j,N表示参数数量,从而建立参数依赖关系的有向无环图G。
本实施例中采用NetworkX库来实现有向无环图的建立。NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。图2是本实施例中基于NetworkX库建立有向无环图的流程图。如图2所示,本实施例中基于NetworkX库建立有向无环图的具体步骤包括:
S201:创建字典:
创建以参数序号为键、参数为值的字典。显然序号为1至N。
S202:构建有向图:
使用nx.DiGraph()构建一个有向图。
S203:添加顶点:
遍历字典,使用add_node()函数添加N个顶点至有向图中,第n个顶点对应字典中的第n个键。
S204:添加有向边:
遍历每个顶点,如果对应参数在仪器校正时需要依赖于其他参数,则使用add_edge()函数在有向图中添加该顶点参数到所依赖参数的有向边。
S205:有环判断:
使用is_directed_acyclic_graph()函数判断图中是否有环,如果不存在环,则不作任何操作,得到有向无环图,如果有环,则返回错误,终止程序。
对于以上步骤得到的有向无环图,使用topological_sort()函数进行拓扑排序,即得到仪器参数整体校正时的校正顺序,在首次校正时即可使用该校正顺序进行校正。
S102:提取部分依赖图:
对于每个参数i,从步骤S101建立的有向无环图G中提取出该参数i对应的部分依赖图。该方法的基本思路是,获取有向无环图G中出度为零的点,并进行删减,直到目标点为图中唯一出度为零点,得到的图即为所求的部分依赖图。
图3是本发明中提取部分依赖图的流程图。如图3所示,本发明中提取部分依赖图的具体步骤包括:
S301:初始化数据:
令初始有向无环图G′=G,新建移除链表list为空。
S302:添加出度为0的顶点:
从当前的有向无环图G′中筛选得到出度为0的顶点,写入移除链表list。
S303:判断参数i是否位于移除链表list中,如果没有则进入步骤S304,否则进入步骤S305。
S304:更新有向无环图:
从当前有向无环图G′中将移除链表list中的各个顶点删除,然后清空移除链表list,返回步骤S302。
S305:判断参数i是否是移除链表list中唯一顶点,如果不是,进入步骤S306,否则进入步骤S307。
S306:更新有向无环图:
从当前有向无环图G′中将移除链表list中参数i以外的各个顶点删除,然后将移除链表list中参数i以外的各个顶点删除,返回步骤S302。
S307:提取得到部分依赖图:
将当前有向无环图G′作为参数i的部分依赖图gi进行存储。
S103:部分依赖图拓扑排序:
分别对步骤S102所提取得到的每个参数i的部分依赖图gi进行拓扑排序,将得到的参数序列进行翻转处理,翻转得到的参数序列即为参数i的上层依赖关系参数序列,对其进行保存供仪器校正使用。
由于本实施例是采用NetworkX库来实现有向无环图建立的,因此在本步骤拓扑排序可以采用topological_sort()函数,翻转处理采用reverse()函数。
为了更好地说明本发明的技术方案,采用一个具体实例对本发明中部分依赖图的提取过程进行详细说明。图4是本实施例中参数依赖关系的有向无环图。下面对参数G的部分依赖图提取过程进行说明。
首先新建一个空的移除链表list,当前有向无环图中出度为0的顶点为参数C、F、G、I,存入移除链表list。可见此时参数G位于移除链表list中,而且不是唯一顶点,因此从当前有向无环图中将移除链表list中参数G以外的各个顶点删除,即删除参数C、F、I的顶点,然后将移除链表list中参数G以外的各个顶点删除,则移除链表list中只剩下参数G的顶点。
在第一次更新后的有向无环图中,出度为0的顶点为参数G、H,存入移除链表list。可见此时参数G位于移除链表list中,而且不是唯一顶点,因此从当前有向无环图中将移除链表list中参数G以外的各个顶点删除,即删除参数H的顶点,然后将移除链表list中参数G以外的各个顶点删除,则移除链表list中只剩下参数G的顶点。
在第二次更新后的有向无环图中,出度为0的顶点为参数G、E,,存入移除链表list。可见此时参数G位于移除链表list中,而且不是唯一顶点,因此从当前有向无环图中将移除链表list中参数G以外的各个顶点删除,即删除参数E的顶点,然后将移除链表list中参数G以外的各个顶点删除,则移除链表list中只剩下参数G的顶点。
在第三次更新后的有向无环图中,出度为0的顶点只有参数G,存入移除链表list。可见此时参数G位于移除链表list中,而且是唯一顶点,那么当前有向无环图即为参数G的部分依赖图。图5是本实施例中参数G的部分依赖图。根据图5进行拓扑排序,即可得到参数序列A,B,D,G,对其进行翻转即可得到参数G的上层依赖参数序列G,D,B,A。
类似地,采用以上流程获取其他各个参数的部分依赖图,从而得到上层依赖参数序列。表1是本实施例中各个参数的上层依赖参数序列。
校正参数 | 上层依赖参数序列 |
A | A |
B | B |
C | C,A |
D | D,B,A |
E | E,B |
F | F,D,B,A |
G | G,D,B,A |
H | H,E,D,B,A |
I | I,H,E,D,B,A |
表1
对比图1和表1可知,采用本发明所抽取得到的依赖关系是准确有效的。在仪器校正参数数量较大或依赖关系较为复杂时,本发明无需人工即可实现仪器校正参数依赖关系抽取。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种仪器校正参数部分依赖关系抽取方法,其特征在于,包括以下步骤:
S1:将每个参数作为有向无环图的顶点,当参数i依赖于参数j时,即参数i在校正之前需要先对参数j进行校正,建立参数i顶点到参数j顶点的有向边,i,j=1,2,…,N,i≠j,N表示参数数量,从而建立参数依赖关系的有向无环图G;
S2:对于每个参数i,从步骤S1建立的有向无环图G中提取出该参数i对应的部分依赖图,具体步骤包括:
S2.1:令初始有向无环图G′=G,新建移除链表list为空;
S2.2:从当前的有向无环图G′中筛选得到出度为0的顶点,写入移除链表list;
S2.3:判断参数i是否位于移除链表list中,如果没有则进入步骤S2.4,否则进入步骤S2.5;
S2.4:从当前有向无环图G′中将移除链表list中的各个顶点删除,然后清空移除链表list,返回步骤S2.2;
S2.5:判断参数i是否是移除链表list中唯一顶点,如果不是,进入步骤S2.6,否则进入步骤S2.7;
S2.6:从当前有向无环图G′中将移除链表list中参数i以外的各个顶点删除,然后将移除链表list中参数i以外的各个顶点删除,返回步骤S2.2;
S2.7:将当前有向无环图G′作为参数i的部分依赖图gi进行存储;
S3:分别对步骤S2所提取得到的每个参数i的部分依赖图gi进行拓扑排序,将得到的参数序列进行翻转处理,得到的参数序列即为参数i的上层依赖关系参数序列,对其进行保存供仪器校正使用。
2.根据权利要求1所述的仪器校正参数部分依赖关系抽取方法,其特征在于,所述步骤S1中有向无环图基于NetworkX库建立,具体步骤包括:
S1.1:创建以参数序号为键,参数为值的字典;
S1.2:使用nx.DiGraph()构建一个有向图;
S1.3:遍历字典,使用add_node()函数添加N个顶点至有向图中,第n个顶点对应字典中的第n个键;
S1.4:遍历每个顶点,如果对应参数在仪器校正时需要依赖于其他参数,则使用add_edge()函数在有向图中添加该顶点参数到依赖所依赖参数的有向边;
S1.5:使用is_directed_acyclic_graph()函数判断图中是否有环,如果不存在环,则不作任何操作,得到有向无环图,如果有环,则返回错误,终止程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353882.2A CN110109928B (zh) | 2019-04-29 | 2019-04-29 | 一种仪器校正参数部分依赖关系抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353882.2A CN110109928B (zh) | 2019-04-29 | 2019-04-29 | 一种仪器校正参数部分依赖关系抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110109928A CN110109928A (zh) | 2019-08-09 |
CN110109928B true CN110109928B (zh) | 2021-12-10 |
Family
ID=67487394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910353882.2A Active CN110109928B (zh) | 2019-04-29 | 2019-04-29 | 一种仪器校正参数部分依赖关系抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109928B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034686B (zh) * | 2021-03-29 | 2023-10-13 | 中国科学院新疆生态与地理研究所 | 一种基于拓扑排序的地层顺序获取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849777B1 (en) * | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
CN108228409A (zh) * | 2017-12-29 | 2018-06-29 | 南京国电南自维美德自动化有限公司 | 一种基于信号流的算法执行顺序生成方法 |
-
2019
- 2019-04-29 CN CN201910353882.2A patent/CN110109928B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849777B1 (en) * | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
CN108228409A (zh) * | 2017-12-29 | 2018-06-29 | 南京国电南自维美德自动化有限公司 | 一种基于信号流的算法执行顺序生成方法 |
Non-Patent Citations (2)
Title |
---|
Boundary Control of a Parabolic System with Delay and Distributed Parameters on the Graph;Vyacheslav V. Provotorov;《2015 International Conference "Stability and Control Processes" in Memory of V.I. Zubov (SCP)》;20151009;全文 * |
扫描工程图二维重建中基于图表达的结构约束校正;李蓉等;《计算机工程与科学》;20011230;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110109928A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Geneson | Metric dimension and pattern avoidance in graphs | |
JP2007241003A (ja) | 地図更新プログラム及び地図更新端末 | |
CN105550171A (zh) | 一种垂直搜索引擎的查询信息纠错方法和系统 | |
CN105550225A (zh) | 索引构建方法、查询方法及装置 | |
CN105117575A (zh) | 一种行为处理方法及装置 | |
CN110109928B (zh) | 一种仪器校正参数部分依赖关系抽取方法 | |
US20210334292A1 (en) | System and method for reconciliation of data in multiple systems using permutation matching | |
US20220414066A1 (en) | Data management system, management method, and storage medium | |
CN108920435B (zh) | 一种可视化程序页面数据节点匹配方法 | |
US10929381B2 (en) | Bulk validation of spatial topology data | |
CN111179071A (zh) | 一种基于拓扑排序的区块链交易依赖分析方法 | |
JP6758252B2 (ja) | ヒストグラム生成方法、ヒストグラム生成装置及びヒストグラム生成プログラム | |
CN110956553A (zh) | 基于社交网络节点双标签传播算法的社区结构划分方法 | |
CN113313419B (zh) | 信息系统窗口变更风险获取方法和装置 | |
CN105488165A (zh) | 基于索引库的数据检索方法及系统 | |
Karnok et al. | Determination of routings and process time information from event logs | |
CN110096674B (zh) | 一种基于参数依赖的仪器参数校正方法 | |
Schmidt et al. | Handling inconsistencies in the revision of probability distributions | |
CN110825846A (zh) | 数据处理方法及装置 | |
CN109213490A (zh) | 一种程序处理方法、装置以及相关设备 | |
CN114898119B (zh) | 一种建筑物轮廓绘制方法、装置、设备及介质 | |
CN117540474B (zh) | 一种基于bim全过程管理的方法及相关装置 | |
US20230138720A1 (en) | Execution procedure search device, method and program | |
CN114647578A (zh) | 一种系统测试方法、装置、设备以及存储介质 | |
CN116929355A (zh) | 代价地图更新方法、机器人和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |