CN108875952B - 一种基于fpga的复杂逻辑判据自适应智能推理方法 - Google Patents

一种基于fpga的复杂逻辑判据自适应智能推理方法 Download PDF

Info

Publication number
CN108875952B
CN108875952B CN201810572980.0A CN201810572980A CN108875952B CN 108875952 B CN108875952 B CN 108875952B CN 201810572980 A CN201810572980 A CN 201810572980A CN 108875952 B CN108875952 B CN 108875952B
Authority
CN
China
Prior art keywords
logic
variable
criterion
complex
data stream
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
Application number
CN201810572980.0A
Other languages
English (en)
Other versions
CN108875952A (zh
Inventor
杨露
汪洲
李新洪
魏巍
赵阳生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201810572980.0A priority Critical patent/CN108875952B/zh
Publication of CN108875952A publication Critical patent/CN108875952A/zh
Application granted granted Critical
Publication of CN108875952B publication Critical patent/CN108875952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Devices For Executing Special Programs (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种基于FPGA的复杂逻辑判据自适应智能推理方法,包括:FPGA读取独立存储于SD卡中的逻辑判据文件;基于分离括号法对逻辑判据文件中的复杂逻辑判据解析,提取出由简单逻辑式及变量符号构成的变量解析数组;获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存;将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果。本发明解决了如何摆脱逻辑推理产品需要定制开发软硬件制约的技术问题,实现了复杂的硬件推理机、推理算法与用户逻辑判据的分离,大大拓展了逻辑推理的应用范围。

Description

一种基于FPGA的复杂逻辑判据自适应智能推理方法
技术领域
本发明涉及智能推理技术领域,尤其涉及一种基于FPGA的复杂逻辑判据自适应智能推理方法。
背景技术
逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律。逻辑运算一般有六种关系运算符和三种逻辑运算符。在C语言编译系统中,关系运算符和逻辑运算符表示如下:
关系运算符:==(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、!=(不等于);
逻辑运算符:&&(与)、||(或)、!(非)。
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即“true”或“false”。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以非0表示“真”,以0表示“假”。
例如:y=x>5&&x<10
当x=6时,y=1;当x=2时,y=0。
逻辑表达式在工程中广泛应用于医疗、工业、航空、航天等多个领域的状态判断、故障诊断和逻辑推理。上述不含括号的逻辑表达式我们称为“简单逻辑判据”。
复杂逻辑判据是指,用逻辑运算符“与”、“或”、“非”将关系表达式或逻辑量连接起来的有意义的逻辑表达式,该逻辑表达式可能包含写在括号中的嵌套的逻辑表达式。逻辑表达式的值是一个逻辑值,即“真”或“假”,也可以用数字表示,例如,以数字1表示“真”,以数字0表示“假”。由此可知,简单逻辑判据是复杂逻辑判据的特殊情况。
在状态判断、故障诊断和逻辑推理的工程应用中,这些逻辑判据一般通过硬件逻辑电路或逻辑代码程序实现,且需要根据用户的不同需求定制开发。定制开发完成后,用户难以直接实现对逻辑判据的修改。如果需要修改这些逻辑判据,往往需要再次改变逻辑电路或者重新编辑逻辑代码。
现场可编程门阵列FPGA(Field-Programmable Gate Array),是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用硬件描述语言(Verilog或VHDL)完成电路设计,可以经过简单的综合与布局,快速烧录至FPGA上进行测试。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能。在大多数FPGA里面,这些可编辑的元件里也包含记忆元件,例如触发器(Flip-flop)或者其他更加完整的记忆块。
传统的采用FPGA的逻辑判据推理方法是直接将逻辑判据以程序代码的方式,通过硬件描述语言(Verilog或VHDL)设计到FPGA中去,该逻辑判据修改难度大,修改方式复杂,需要重新编辑程序代码并重新烧制FPGA,不利于用户方便地对逻辑判据进行添加、修改或删除。
发明内容
为了支持用户对逻辑判据进行多次添加、删除、修改等管理操作,解决如何摆脱逻辑推理产品需要定制开发软硬件的制约的技术问题,本发明提出了一种基于FPGA的复杂逻辑判据自适应智能推理方法,该方法能够实现复杂的硬件推理机、推理算法与用户逻辑判据的分离,且不受用户应用背景的限制,大大拓展了逻辑推理的应用范围。
为了达到上述目的,本发明提供了一种基于FPGA的复杂逻辑判据自适应智能推理方法,包括:
FPGA读取独立存储的逻辑判据文件,存入内存中;基于分离括号法对逻辑判据文件中的复杂逻辑判据依次进行解析,提取出由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组;
获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存;将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果。
进一步的,所述基于分离括号法对逻辑判据文件中的复杂逻辑判据依次进行解析的步骤包括:
将逻辑判据文件中的复杂逻辑判据里的嵌套逻辑式不断用新的变量代替,最终消除复杂逻辑判据中带有括号形式的逻辑嵌套,从而将各简单逻辑式从所述复杂逻辑判据中依次抽取出来。
进一步的,将各简单逻辑式从所述复杂逻辑判据中依次抽取的步骤,具体包括:
将各简单逻辑式从所述复杂逻辑判据中依次抽取时,
当被抽取的括号内的内容不再包含带有下级括号的嵌套逻辑式时,可作为一个简单逻辑式;同时,在原复杂逻辑判据中对括号内的内容用新的变量符号代替,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
当被抽取的括号内的内容仍包含带有下级括号的嵌套逻辑式时,可循环采用分离括号法进行抽取,依次获取各个简单逻辑式,并在原复杂逻辑判据中用对应变量符号代替这些简单逻辑式,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
被抽取出的简单逻辑式与其变量符号是一一对应的。
进一步的,对一条复杂逻辑判据解析完成后,该复杂逻辑判据将变为一个用变量符号替代原嵌套逻辑式的一个简单逻辑式,可以将该简单逻辑式定义为一个新的输出变量,并将这一简单逻辑式及对应输出变量存入变量解析数组中。
进一步的,所述由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组设计为定长或自增数组,每对简单逻辑式及其变量均按照抽取的先后顺序以内存变量或独立文件方式存储,在自适应智能推理过程中直接调用;
在首次逻辑推理实施前或逻辑判据文件进行修改后,对逻辑判据文件进行复杂逻辑判据解析。
进一步的,所述获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存,具体包括;
实时获取需要自适应智能推理的数据流,或获取数据流积累得到的需要自适应智能推理的数据流,并对该数据流按照帧数据的解析格式存储在独立文件中,得到帧数据格式解析文件。
进一步的,所述帧数据格式解析文件包括但不限于每帧数据中各个数值对应的变量名、识别不同变量的间隔符或变量长度、各个数值对应的变量在数据帧中的位置等信息;
其中,帧数据中各个数值对应的变量名为逻辑判据文件中各种逻辑判据涉及到的变量名。
进一步的,所述将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果,包括:
依据帧数据格式解析文件将单帧数据的参数从数据流中解析出来并缓存,所述参数包括变量名和数值;
针对逻辑判据文件中的第一条复杂逻辑判据,直接解析生成或者从内存变量或文件中读入对应的变量解析数组;
将帧数据中的参数作为已知量,代入存储在变量解析数组第末位中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为简单逻辑式对应变量的数值,并将其作为新的已知量代入前一位的简单逻辑式中进行同样的逻辑运算,直至变量解析数组的第一位中的简单逻辑式逻辑运算完成后,得到对需要自适应智能推理的数据流的复杂逻辑判据的自适应智能推理输出结果。
进一步的,所述逻辑运算还包括采用布尔运算的步骤,包括:
当某一变量为0时,将所有包含与该变量有“与”逻辑关系的逻辑式赋值为0;将所有包含与该变量有“或”逻辑关系的部分逻辑式消除;
当某一变量为1时,对简单逻辑式进行简化,将所有包含与该变量有“与”逻辑关系的部分逻辑式消除。
进一步的,还包括:
当发现推理结论出现异常或故障时,通过FPGA的指示灯或蜂鸣器进行告警。
与现有技术相比,本发明提供的一种基于FPGA的复杂逻辑判据自适应智能推理方法,不同于传统的将逻辑判据直接写入编程代码的逻辑推理方法,而是一种基于FPGA对独立逻辑判据文件进行逻辑判据读取并实施自适应智能推理的方法,方便用户对逻辑判据进行维护管理。
该方法的效益在于,采用FPGA作为硬件推理机,支持将逻辑判据存储在独立文件中,使得用户在逻辑判据的添加、删除、修改等管理方面的操作变得非常方便,而且能大大拓展其应用范围。例如,将逻辑判据写成人体健康状态的评估逻辑,就可以将该推理机应用于医疗领域;将逻辑判据写成工业设备健康状态的评估逻辑,就可以将该推理机应用于工业领域;将逻辑判据写成飞机或卫星健康状态的评估逻辑,就可以将该推理机应用于航空或航天领域。
附图说明
图1为根据本发明的一种基于FPGA的复杂逻辑判据自适应智能推理方法的实施例一的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例
本实施例采用的FPGA开发板型号为Cyclone EP1C3T144C8N,配置芯片为1Mb串行存储器,板载储存器为SPI接口EEPROM/12C接口EEPROM,支持RS232串口,支持SPI接口的SD卡。
本实施例中,用于故障诊断的逻辑判据文件独立存储于FPGA的SD卡中。采用VHDL语言完成FPGA推理机算法的开发。SD卡可替换为TF等其他用来存储分离逻辑文件及其他辅助文件的插卡。
参照图1,图1示出了本发明提供的一种基于FPGA的复杂逻辑判据自适应智能推理方法,包括步骤S110和步骤S120。
步骤S110,复杂逻辑判据解析。
在步骤S110中,FPGA读取独立存储于SD卡中的逻辑判据文件LogicFile.txt,存入内存中;基于分离括号法对逻辑判据文件中的复杂逻辑判据ComplexExpression依次进行解析,提取出由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组ParameterArray。变量解析数组既可以存在内存变量里,也可以存在文件里。
复杂逻辑判据是指,用逻辑运算符“与”、“或”将关系表达式或逻辑量连接起来的有意义的逻辑表达式,该逻辑表达式可能包含写在括号中的嵌套的逻辑表达式。逻辑表达式的值是一个逻辑值,即“真”或“假”,也可以用数字表示,例如,以数字1表示“真”,以数字0表示“假”。
将复杂逻辑判据存储在独立的文件中,称为逻辑判据文件。所述逻辑判据文件可存储但不限于FPGA的记忆块或支持的外部插卡中。
简单逻辑式是指,用逻辑运算符“与”、“或”将逻辑量连接起来的有意义的逻辑表达式,该逻辑表达式不包含写在括号中的嵌套的逻辑表达式。
将各简单逻辑式从复杂逻辑判据中依次被抽取出的过程,就是对复杂逻辑判据进行解析的过程,其方法是采取分离括号的方法,将括号内的内容抽取出来(不含括号本身)。
步骤S120,自适应智能推理。
在步骤S120中,获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存;将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果。
进一步的,所述基于分离括号法对逻辑判据文件中的复杂逻辑判据依次进行解析的步骤包括:
将逻辑判据文件中的复杂逻辑判据里的嵌套逻辑式不断用新的变量代替,最终消除复杂逻辑判据中带有括号形式的逻辑嵌套,从而将各简单逻辑式从所述复杂逻辑判据中依次抽取出来。
进一步的,将各简单逻辑式从所述复杂逻辑判据中依次抽取的步骤,具体包括:
将各简单逻辑式从所述复杂逻辑判据中依次抽取时,
当被抽取的括号内的内容不再包含带有下级括号的嵌套逻辑式时,可作为一个简单逻辑式;同时,在原复杂逻辑判据中对括号内的内容用新的变量符号代替,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
当被抽取的括号内的内容仍包含带有下级括号的嵌套逻辑式时,可循环采用分离括号法进行抽取,依次获取各个简单逻辑式,并在原复杂逻辑判据中用对应变量符号代替这些简单逻辑式,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
被抽取出的简单逻辑式与其变量符号是一一对应的。
如果在简单逻辑式抽取过程中,被抽取的括号内的内容与变量解析数组中已有的某个简单逻辑式相同,则直接用该已有简单逻辑式对应的变量符号代替被抽取的括号内的内容。
进一步的,对一条复杂逻辑判据解析完成后,该复杂逻辑判据将变为一个用变量符号替代原嵌套逻辑式的一个简单逻辑式,可以将该简单逻辑式定义为一个新的输出变量,并将这一简单逻辑式及对应输出变量存入变量解析数组中。
如果某条复杂逻辑判据不包含嵌套逻辑式,本身就是简单逻辑式时,则其对应的变量解析数组就是该逻辑式本身及其对应定义的输出变量。
进一步的,所述由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组设计为定长或自增数组,为了节省推理判读时间,省去不必要的重复解析过程,可以将复杂逻辑判据解析后得到的各变量解析数组中的每对简单逻辑式及其变量均按照抽取的先后顺序以内存变量或独立文件方式存储,在自适应智能推理过程中直接调用;在首次逻辑推理实施前或逻辑判据文件进行修改后,对逻辑判据文件进行复杂逻辑判据解析。
例如,可以采用堆栈压入式存储方式,将新抽取的简单逻辑式及其变量始终存储在变量解析数组的首位,于是最先抽取的简单逻辑式及其变量始终压在变量解析数组的末位,一条复杂逻辑判据解析完成后得到的对应简单逻辑式及其输出变量最终将处于变量解析数组的首位。
进一步的,所述获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存,具体包括;
FPGA通过RS232串口从计算机实时获取需要自适应智能推理的数据流,或获取数据流积累得到的需要自适应智能推理的数据流,并对该数据流按照帧数据的解析格式存储在独立文件中,得到帧数据格式解析文件。帧数据格式解析文件只用来辅助读取帧里的参数,缓存的是解析出的参数。
由于实时在线的自适应推理诊断比事后推理诊断的难度大,本发明着重描述实时在线的自适应推理诊断方法,事实上,该方法完全适用于事后推理诊断,只不过事后获取的不是实时数据流,而是数据流积累得到的数据,其推理诊断方法完全相同。
进一步的,所述帧数据格式解析文件包括但不限于每帧数据中各个数值对应的变量名、识别不同变量的间隔符或变量长度、各个数值对应的变量在数据帧中的位置等信息;
其中,帧数据中各个数值对应的变量名为逻辑判据文件中各种逻辑判据涉及到的变量名。
进一步的,FPGA以单帧数据为基本处理单元,将所述将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果,包括:
依据帧数据格式解析文件将单帧数据的参数从数据流中解析出来并缓存,所述参数包括变量名和数值;
针对逻辑判据文件中的第一条复杂逻辑判据,直接解析生成或者从内存变量或文件中读入对应的变量解析数组;
将帧数据中的参数作为已知量,代入存储在变量解析数组第末位中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为简单逻辑式对应变量的数值,并将其作为新的已知量代入前一位的简单逻辑式中进行同样的逻辑运算,直至变量解析数组的第一位中的简单逻辑式逻辑运算完成后,得到对需要自适应智能推理的数据流的复杂逻辑判据的自适应智能推理输出结果。
例如:依据帧数据格式解析文件的定义,将一帧数据中的所有参数(包含变量名和数值)解析出来并缓存;
针对逻辑判据文件中的第一条复杂逻辑判据,直接解析生成或者从文件中读入对应的变量解析数组;
假设该条变量解析数组的长度为n,数组的数位记为0,1,…,n-1;
将帧数据中的各参数(包含变量名和数值)作为已知量,代入存储在变量解析数组第n-1位(即末位)中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为简单逻辑式对应变量的数值,并将其作为新的已知量参与后续逻辑运算;
将上述各已知量,代入存储在变量解析数组第n-2位中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为简单逻辑式对应变量的数值,并将其作为新的已知量参与后续逻辑运算;
以此类推,最终将各已知量,代入存储在变量解析数组第0位中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为第一条复杂逻辑判据的输出数值;
同理,针对逻辑判据文件中的每条逻辑判据,均重复进行上述操作,最终可以计算得到每条逻辑判据的输出数值,从而完成对所有逻辑判据的自适应推理。
进一步的,为了提高逻辑运算速度,可以在逻辑计算中采用布尔运算简化运算过程,所述逻辑运算还包括采用布尔运算的步骤,包括:
当某一变量为0时,将所有包含与该变量有“与”逻辑关系的逻辑式赋值为0;将所有包含与该变量有“或”逻辑关系的部分逻辑式消除;
当某一变量为1时,对简单逻辑式进行简化,将所有包含与该变量有“与”逻辑关系的部分逻辑式消除。
进一步的,还包括:
当计算机发出的数据流经过FPGA进行逻辑判据推理,发现推理结论出现异常或故障时,通过FPGA的指示灯或蜂鸣器进行告警。
与现有技术相比,本发明提供的一种基于FPGA的复杂逻辑判据自适应智能推理方法,不同于传统的将逻辑判据直接写入编程代码的逻辑推理方法,而是一种基于FPGA对独立逻辑判据文件进行逻辑判据读取并实施自适应智能推理的方法,方便用户对逻辑判据进行维护管理。
该方法的效益在于,采用FPGA作为硬件推理机,支持将逻辑判据存储在独立文件中,使得用户在逻辑判据的添加、删除、修改等管理方面的操作变得非常方便,而且能大大拓展其应用范围。例如,将逻辑判据写成人体健康状态的评估逻辑,就可以将该推理机应用于医疗领域;将逻辑判据写成工业设备健康状态的评估逻辑,就可以将该推理机应用于工业领域;将逻辑判据写成飞机或卫星健康状态的评估逻辑,就可以将该推理机应用于航空或航天领域。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于FPGA的复杂逻辑判据自适应智能推理方法,其特征在于,该方法包括:
FPGA读取独立存储的逻辑判据文件,存入内存中;基于分离括号法对逻辑判据文件中的复杂逻辑判据依次进行解析,提取出由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组;
获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存;将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果;
所述基于分离括号法对逻辑判据文件中的复杂逻辑判据依次进行解析的步骤包括:将逻辑判据文件中的复杂逻辑判据里的嵌套逻辑式不断用新的变量代替,最终消除复杂逻辑判据中带有括号形式的逻辑嵌套,从而将各简单逻辑式从所述复杂逻辑判据中依次抽取出来。
2.如权利要求1所述的方法,其特征在于,将各简单逻辑式从所述复杂逻辑判据中依次抽取的步骤,具体包括:
将各简单逻辑式从所述复杂逻辑判据中依次抽取时,
当被抽取的括号内的内容不再包含带有下级括号的嵌套逻辑式时,可作为一个简单逻辑式;同时,在原复杂逻辑判据中对括号内的内容用新的变量符号代替,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
当被抽取的括号内的内容仍包含带有下级括号的嵌套逻辑式时,可循环采用分离括号法进行抽取,依次获取各个简单逻辑式,并在原复杂逻辑判据中用对应变量符号代替这些简单逻辑式,并删除括号符号本身,从而消除原复杂逻辑判据中的嵌套逻辑表达式;
被抽取出的简单逻辑式与其变量符号是一一对应的。
3.如权利要求1-2之一所述的方法,其特征在于,对一条复杂逻辑判据解析完成后,该复杂逻辑判据将变为一个用变量符号替代原嵌套逻辑式的一个简单逻辑式,可以将该简单逻辑式定义为一个新的输出变量,并将这一简单逻辑式及对应输出变量存入变量解析数组中。
4.如权利要求1-2之一所述的方法,其特征在于,所述由简单逻辑式及用于替代该简单逻辑式的变量符号构成的变量解析数组设计为定长或自增数组,每对简单逻辑式及其变量均按照抽取的先后顺序以内存变量或独立文件方式存储,在自适应智能推理过程中直接调用;
在首次逻辑推理实施前或逻辑判据文件进行修改后,对逻辑判据文件进行复杂逻辑判据解析。
5.如权利要求1所述的方法,其特征在于,所述获取需要自适应智能推理的数据流,并对该数据流按照帧数据进行缓存,具体包括;
实时获取需要自适应智能推理的数据流,或获取数据流积累得到的需要自适应智能推理的数据流,并对该数据流按照帧数据解析格式存储在独立文件中,得到帧数据格式解析文件。
6.如权利要求5所述的方法,其特征在于,所述帧数据格式解析文件包括但不限于每帧数据中各个数值对应的变量名、识别不同变量的间隔符或变量长度、各个数值对应的变量在数据帧中的位置等信息;
其中,帧数据中各个数值对应的变量名为逻辑判据文件中各种逻辑判据涉及到的变量名。
7.如权利要求1、5或6所述的方法,其特征在于,所述将单帧数据中的参数,依次循环代入该数据流中每条复杂逻辑判据对应的变量解析数组中进行逻辑运算,在变量解析数组中逐层计算和迭代,最终计算得到该数据流的复杂逻辑判据的自适应智能推理输出结果,包括:
依据帧数据格式解析文件将单帧数据的参数从数据流中解析出来并缓存,所述参数包括变量名和数值;
针对逻辑判据文件中的第一条复杂逻辑判据,直接解析生成或者从内存变量或文件中读入对应的变量解析数组;
将帧数据中的参数作为已知量,代入存储在变量解析数组第末位中的简单逻辑式中进行逻辑运算,将计算得到的数值记录为简单逻辑式对应变量的数值,并将其作为新的已知量代入前一位的简单逻辑式中进行同样的逻辑运算,直至变量解析数组的第一位中的简单逻辑式逻辑运算完成后,得到对需要自适应智能推理的数据流的复杂逻辑判据的自适应智能推理输出结果。
8.如权利要求7所述的方法,其特征在于,所述逻辑运算还包括采用布尔运算的步骤,包括:
当某一变量为0时,将所有包含与该变量有“与”逻辑关系的逻辑式赋值为0;将所有包含与该变量有“或”逻辑关系的部分逻辑式消除;
当某一变量为1时,对简单逻辑式进行简化,将所有包含与该变量有“与”逻辑关系的部分逻辑式消除。
9.如权利要求1所述的方法,其特征在于,还包括:
当发现推理结论出现异常或故障时,通过FPGA的指示灯或蜂鸣器进行告警。
CN201810572980.0A 2018-06-06 2018-06-06 一种基于fpga的复杂逻辑判据自适应智能推理方法 Active CN108875952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810572980.0A CN108875952B (zh) 2018-06-06 2018-06-06 一种基于fpga的复杂逻辑判据自适应智能推理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810572980.0A CN108875952B (zh) 2018-06-06 2018-06-06 一种基于fpga的复杂逻辑判据自适应智能推理方法

Publications (2)

Publication Number Publication Date
CN108875952A CN108875952A (zh) 2018-11-23
CN108875952B true CN108875952B (zh) 2022-01-25

Family

ID=64337003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810572980.0A Active CN108875952B (zh) 2018-06-06 2018-06-06 一种基于fpga的复杂逻辑判据自适应智能推理方法

Country Status (1)

Country Link
CN (1) CN108875952B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404497A (zh) * 2015-10-26 2016-03-16 北京锐安科技有限公司 一种逻辑表达式的解析方法及装置
CN107977493A (zh) * 2017-11-17 2018-05-01 卡斯柯信号有限公司 一种联锁布尔逻辑的优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404497A (zh) * 2015-10-26 2016-03-16 北京锐安科技有限公司 一种逻辑表达式的解析方法及装置
CN107977493A (zh) * 2017-11-17 2018-05-01 卡斯柯信号有限公司 一种联锁布尔逻辑的优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于文件解析的飞行器模拟系统软件设计》;何佳俊;《中国优秀硕士学位论文全文数据库信息科技辑》;20130615;第I138-609页 *

Also Published As

Publication number Publication date
CN108875952A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
US8823738B1 (en) Merging electronic diagrams
Daems et al. Circuit simplification for the symbolic analysis of analog integrated circuits
JP2974900B2 (ja) 自律進化型ハードウェア設計システム
CN107273109A (zh) 对源代码建模的方法和系统以及使用数据模型的方法
US5987239A (en) Computer system and method for building a hardware description language representation of control logic for a complex digital system
US20090199157A1 (en) Program generating apparatus and block diagram generating apparatus
CN108875952B (zh) 一种基于fpga的复杂逻辑判据自适应智能推理方法
JP6301767B2 (ja) パーソナル情報匿名化装置
Handkiewicz et al. Design automation of a lossless multiport network and its application to image filtering
JP6002507B2 (ja) ソフトウェア検証用プログラムおよびソフトウェア検証システム
Reger Better Proof Output for Vampire.
Johansson et al. A system for information management in simulation of manufacturing processes
CN111562943B (zh) 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置
CN114595152A (zh) 一种面向NuXMV的安全关键系统状态转换图测试用例生成方法
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
CN109740249B (zh) 一种mux树逻辑结构优化方法、模块及存储介质
Brinson et al. Adaptive subcircuits and compact Verilog-A macromodels as integrated design and analysis blocks in Qucs circuit simulation
CN109599184A (zh) 患者诊疗数据的筛选方法、装置、电子设备、存储介质
Visochek Practical Data Wrangling: Expert techniques for transforming your raw data into a valuable source for analytics
JP2016099726A (ja) 仕様生成方法、仕様生成装置、及びプログラム
Malviya et al. Development of a plugin based extensible feature extraction framework
JP2013012082A (ja) テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置
CN117540670B (zh) 用于数字电路的全局真值表生成方法及装置
Beneš et al. Accelerating Parameter Synthesis Using Semi-algebraic Constraints
Chen et al. Model based interactive analysis of interwoven, imprecise narratives: VAST 2010 mini challenge 1 award: Outstanding interaction model

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
CB03 Change of inventor or designer information

Inventor after: Yang Lu

Inventor after: Wang Zhou

Inventor after: Li Xinhong

Inventor after: Wei Wei

Inventor after: Zhao Yangsheng

Inventor before: Yang Lu

Inventor before: Zhao Yangsheng

Inventor before: Wei Wei

Inventor before: Zeng Dexian

Inventor before: Xu Lin

Inventor before: Wang Zhou

Inventor before: Li Xinhong

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant