JP6788249B2 - Generator, generation method and program - Google Patents

Generator, generation method and program Download PDF

Info

Publication number
JP6788249B2
JP6788249B2 JP2018037413A JP2018037413A JP6788249B2 JP 6788249 B2 JP6788249 B2 JP 6788249B2 JP 2018037413 A JP2018037413 A JP 2018037413A JP 2018037413 A JP2018037413 A JP 2018037413A JP 6788249 B2 JP6788249 B2 JP 6788249B2
Authority
JP
Japan
Prior art keywords
hypothesis
logical
diagram
node
bdd
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
JP2018037413A
Other languages
Japanese (ja)
Other versions
JP2019153047A (en
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.)
Kyoto University
Nippon Telegraph and Telephone Corp
Original Assignee
Kyoto University
Nippon Telegraph and Telephone Corp
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 Kyoto University, Nippon Telegraph and Telephone Corp filed Critical Kyoto University
Priority to JP2018037413A priority Critical patent/JP6788249B2/en
Publication of JP2019153047A publication Critical patent/JP2019153047A/en
Application granted granted Critical
Publication of JP6788249B2 publication Critical patent/JP6788249B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本発明は、生成装置、生成方法及びプログラムに関する。 The present invention relates to a generator, a generator and a program.

論理プログラムを用いた機械学習手法である帰納論理プログラミング(ILP:Inductive Logic Programming)が従来から知られている(非特許文献1)。帰納論理プログラミングでは、与えられた訓練データ(以降では、「訓練例」とも表す。)と整合性がとれるような論理プログラムを推定する技術である。このため、帰納論理プログラミングにより、論理プログラムを人手で設計しなくても、訓練例を与えるだけで、これらの訓練例と整合性がとれるような論理プログラムを獲得することができる。 Inductive Logic Programming (ILP), which is a machine learning method using a logic program, has been conventionally known (Non-Patent Document 1). Inductive logic programming is a technique for estimating a logic program that is consistent with given training data (hereinafter, also referred to as "training example"). Therefore, by inductive logic programming, it is possible to acquire a logic program that is consistent with these training examples only by giving training examples without manually designing the logic program.

山本,「帰納論理プログラミングの基礎理論とその展開」,コンピュータソフトウェア,Vol.23, No. 2, pp. 29-44, 2006.Yamamoto, "Basic Theory of Inductive Logic Programming and Its Development", Computer Software, Vol.23, No. 2, pp. 29-44, 2006.

ここで、従来の帰納論理プログラミングのアルゴリズムでは、与えられた訓練例と矛盾しない論理プログラム(解)を1つ獲得することを目的としている。しかしながら、実際には訓練例と矛盾しないような解が多数存在する可能性がある。 Here, in the conventional inductive logic programming algorithm, the purpose is to acquire one logic program (solution) that does not contradict the given training example. However, in reality, there may be many solutions that are consistent with the training examples.

このため、従来の帰納論理プログラミングでは、与えられた訓練例と矛盾しない解を複数列挙することができず、例えば、与えられた訓練例と矛盾しない論理プログラムの中から所望の条件を満たす最適な論理プログラムを求めたい等の要求に応えることが困難であった。 Therefore, in the conventional inductive logic programming, it is not possible to enumerate a plurality of solutions that do not contradict the given training example. For example, the optimum logic program that does not contradict the given training example satisfies the desired condition. It was difficult to meet the demands such as seeking a logic program.

本発明の実施の形態は、上記の点に鑑みてなされたもので、帰納論理プログラミングの全ての解を得ることを目的とする。 An embodiment of the present invention has been made in view of the above points, and an object of the present invention is to obtain all solutions of inductive logic programming.

上記目的を達成するため、本発明の実施の形態は、帰納論理プログラミングの問題の解となる論理プログラムを表す仮説Σの各々を示す情報を生成する生成装置であって、背景知識Bと、正例の訓練例を示す基礎原子論理式の集合εと、前記仮説Σに含まれ得る縮小確定節の集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数fを表す第1の二分決定図を構築する第1の生成手段と、前記背景知識Bと、負例の訓練例を示す基礎原子論理式の集合εと、前記集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数gを表す第2の二分決定図を構築する第2の生成手段と、前記第1の二分決定図の各々と、前記第2の二分決定図の各々とをApply演算することで、第3の二分決定図を生成する第3の生成手段と、を有し、前記第1の生成手段及び第2の生成手段は、前記基礎原子論理式Eを論理的帰結とする仮説の集合を表現する論理関数を[E]、前記集合Pに含まれる各縮小確定節A←B,・・・,Bのうち、代入θに対してE=Aθを満たす縮小確定節A←B,・・・,Bの添え字の集合をJとして、所定の式を再帰的にApply演算することで、前記第1の二分決定図及び前記第2の二分決定図をそれぞれ構築する、ことを特徴とする。 In order to achieve the above object, an embodiment of the present invention is a generator that generates information indicating each of hypotheses Σ representing a logical program that is a solution to a problem of inductive logic programming, and is positive with background knowledge B. When a set of basic atomic formulas ε + showing an example training example and a set P of reduced deterministic clauses that can be included in the hypothesis Σ are input, for each basic atomic formula E included in the set ε +. First, construct a first dichotomy diagram representing a logical function f corresponding to hypothesis Σ 1 such that the basic atomic formula E is a logical conclusion of the sum set of the background knowledge B and hypothesis Σ 1 . When the means for generating the above, the background knowledge B, the set ε of the basic atomic formulas showing the training example of the negative example, and the set P are input, each basic atomic formula included in the set ε is input. For E, a second dichotomous diagram representing the logical function g corresponding to the hypothesis Σ 2 is constructed such that the basic atomic formula E is the logical result of the sum set of the background knowledge B and the hypothesis Σ 2 . A third generation means for generating a third dichotomy diagram by performing an Apply operation on each of the second generation means, the first dichotomy diagram, and each of the second dichotomy diagrams. [E], the first generation means and the second generation means include a logical function [E] expressing a set of hypotheses having the basic atomic formula E as a logical consequence, in the set P. each reduced definite clause a ← B 1, ···, of the B n, reduction definite clause a ← B 1 satisfying E = A.theta. relative assignment theta, · · ·, a set of subscripts B n J E As a result, the first dichotomy diagram and the second dichotomy diagram are constructed by recursively performing an Apply operation on a predetermined formula.

帰納論理プログラミングの全ての解を得ることができる。 You can get all the solutions of inductive logic programming.

二分決定図の一例を示す図である。It is a figure which shows an example of the binary decision diagram. 本発明の実施の形態における生成装置の機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the generation apparatus in embodiment of this invention. 本発明の実施の形態における生成処理部が実行する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the process executed by the generation processing part in embodiment of this invention. 本発明の実施の形態における生成装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the generation apparatus in embodiment of this invention.

以下、本発明の実施の形態について説明する。本発明の実施の形態では、帰納論理プログラミングにおいて、与えられた訓練例と整合性がとれる論理プログラムを全て得ることを目的とする。ただし、帰納論理プログラミングの解となる論理プログラムの数は指数的に増加する可能性がある。このため、これらの全ての論理プログラムを出力するようなシステムは現実的な設定では動作しない可能性がある。そこで、全ての論理プログラムを出力するのではなく、全ての解の集合を表す二分決定図(BDD:Binary Decision Diagram)を構築することで、これら全ての論理プログラムの列挙を実現する。なお、BDDについては以下の参考文献1を参照されたい。 Hereinafter, embodiments of the present invention will be described. In the embodiment of the present invention, it is an object of the inductive logic programming to obtain all the logic programs that are consistent with the given training example. However, the number of logical programs that can be the solution of inductive logic programming can increase exponentially. Therefore, a system that outputs all these logical programs may not work with realistic settings. Therefore, instead of outputting all the logical programs, a binary decision diagram (BDD) representing a set of all the solutions is constructed to realize an enumeration of all these logical programs. For BDD, refer to Reference 1 below.

[参考文献1]
Bryant, R.E., "Graph-Based Algorithms for Boolean Function Manipulation", IEEE Trans. Computers, Vol.C-35, No.8, pp.677-691, 1986.
BDDは、論理プログラムの集合をグラフとして表現可能なデータ構造である。BDDを用いて論理プログラムの集合を表現することで、膨大な数の論理プログラムの集合を圧縮及び索引化することができるため、計算機の記憶媒体等に格納することができるようになる。また、BDDによって表現された論理プログラムの集合から、或る条件を満たす論理プログラムを1つ取り出すような操作も効率的に実行することが可能となる。
[Reference 1]
Bryant, RE, "Graph-Based Algorithms for Boolean Function Manipulation", IEEE Trans. Computers, Vol.C-35, No.8, pp.677-691, 1986.
BDD is a data structure that can represent a set of logical programs as a graph. By expressing a set of logical programs using BDD, a huge number of sets of logical programs can be compressed and indexed, so that they can be stored in a storage medium of a computer or the like. Further, it is possible to efficiently execute an operation such as extracting one logical program satisfying a certain condition from the set of logical programs represented by BDD.

そこで、本発明の実施の形態では、与えられた訓練例と整合性がとれる全ての論理プログラムの集合の索引を表すBDDを生成及び出力する生成装置10について説明する。 Therefore, in the embodiment of the present invention, the generation device 10 that generates and outputs a BDD representing an index of a set of all logical programs consistent with a given training example will be described.

まず、本発明の実施の形態に係る生成装置10について説明する前に、いくつかの用語等について説明する。 First, some terms and the like will be described before the generator 10 according to the embodiment of the present invention is described.

<一階述語論理>
一階述語論理における項とは、(1)変数、(2)定数記号、及び(3)アリティnの関数記号fとn個の項t,・・・,tとによって作られる記号列f(t,・・・,t)のことである。
<First-order predicate logic>
A term in first-order logic is a symbol string formed by (1) a variable, (2) a constant symbol, and (3) a function symbol f of arity n and n terms t 1 , ..., T n. It is f (t 1 , ..., T n ).

また、アリティnの述語記号Pとn個の項t,・・・,tとによって作られる記号列P(t,・・・,t)を原子論理式という。原子論理式A及びその否定¬Aをリテラルといい、特にAを「正リテラル」、¬Aを「負リテラル」という。リテラルの換言(すなわち、「∨」)に現れる変数の全体を束縛して得られる論理式を節という。 Further, the symbol string P (t 1 , ..., T n ) formed by the predicate symbol P of the arity n and the n terms t 1 , ..., T n is called an atomic formula. Atomic formula A and its negation ¬A are called literals, in particular A is called a "positive literal" and ¬A is called a "negative literal". A logical expression obtained by binding all the variables that appear in literal paraphrases (that is, "∨") is called a clause.

一階述語論理における論理式の真偽値は解釈によって決定される。一階述語論理の言語Lに対する解釈Iは、空でない集合(ドメイン)Dによって決定される。すなわち、解釈Iによって、定数記号はDの要素に割り当てられ、アリティnの関数記号はDからDへの写像に割り当てられ、アリティnの述語記号はDから真偽値{True,false}への写像に割り当てられる。 The truth value of a formula in first-order predicate logic is determined by interpretation. The interpretation I of first-order predicate logic for language L is determined by the non-empty set (domain) D. That is, according to Interpretation I, the constant symbol is assigned to the element of D, the function symbol of arity n is assigned to the mapping from D n to D, and the predicate symbol of arity n is the boolean value {True, false} from D n . Assigned to a mapping to.

論理式φが解釈Iの下で真である場合、解釈Iはφのモデルであるという。論理式の集合Σの任意のモデルが論理式φのモデルである場合、論理式φは、論理式の集合Σの論理的帰結であるといい、 If the formula φ is true under Interpretation I, then Interpretation I is said to be a model of φ. If any model of the set Σ of the formula is a model of the formula φ, then the formula φ is said to be the logical conclusion of the formula set Σ.

Figure 0006788249
と表す。一方で、論理式φが、論理式の集合Σの論理的帰結でない場合は、
Figure 0006788249
It is expressed as. On the other hand, if the formula φ is not a logical conclusion of the set Σ of the formulas,

Figure 0006788249
と表す。
Figure 0006788249
It is expressed as.

また、変数を含まない原子論理式を基礎原子論理式という。同様に、変数を含まないリテラルを基礎リテラルという。変数を含まない節を基礎節という。 Atomic formulas that do not include variables are called basic atomic formulas. Similarly, literals that do not contain variables are called basic literals. A clause that does not contain variables is called a basic clause.

一階述語論理において、変数x,・・・,xを項t,・・・,tに置き換えることを代入という。このような代入は、θ={x/t,・・・,x/t}と表される。また、一階述語論理の節Cに含まれる全ての変数x,・・・,xを項t,・・・,tに同時に置き換えたものをCθと表す。 In first-order predicate logic, substituting variables x 1 , ..., X m with terms t 1 , ..., T m is called substitution. Such substitution is expressed as θ = {x 1 / t 1 , ..., X m / t m }. Further, all the variables x 1 , ..., X m included in the section C of the first-order predicate logic are replaced with the terms t 1 , ..., T m at the same time, and are expressed as Cθ.

ここで、帰納論理プログラミングとは、節の有限集合 Here, inductive logic programming is a finite set of clauses.

Figure 0006788249
が与えられた場合に、全ての節E∈εに対して、以下の式1が成り立ち、
Figure 0006788249
Given, the following equation 1 holds for all clauses E ∈ ε + ,

Figure 0006788249
、かつ、全ての節E∈εに対して、以下の式2が成り立つような節の有限集合Σを求める問題のことである。なお、以降では、節の有限集合のことを仮説とも呼ぶ。
Figure 0006788249
And, for all clauses E ∈ ε , it is a problem to find a finite set Σ of clauses such that the following equation 2 holds. In the following, the finite set of clauses will also be called a hypothesis.

Figure 0006788249
ここで、
Figure 0006788249
here,

Figure 0006788249
は背景知識とも呼ばれる。この背景知識を、以降では、「背景知識B」とも表す。また、εは正例、εは負例とも呼ばれる。
Figure 0006788249
Is also called background knowledge. Hereinafter, this background knowledge will also be referred to as "background knowledge B". In addition, ε + is also called a positive example, and ε is also called a negative example.

例えば、 For example

Figure 0006788249
が与えられたとすると、仮説Σ={P(0)←,P(s(s(X)))←P(x)}は、この機能論理プログラミングの問題の1つの解である。なお、Pは述語記号、sは関数記号である。また、P(0)←、P(s(s(X)))←P(x)は確定節を表す。
Figure 0006788249
Given, the hypothesis Σ = {P (0) ←, P (s (s (X))) ← P (x)} is one solution to this functional logic programming problem. Note that P is a predicate symbol and s is a function symbol. Further, P (0) ← and P (s (s (X))) ← P (x) represent definite clauses.

確定節とは、正リテラルをちょうど1つ含む節のことである。確定節は、原子論理式A,B,・・・,Bを用いて、A←B,・・・,B又はA←と表される。なお、A←の形で表される確定節は単位節と呼ばれる。また、変数を含まない確定節を基礎確定節といい、変数を含まない単位節を基礎単位節という。 A definite clause is a clause that contains exactly one positive literal. The definite clause is expressed as A ← B 1 , ..., B n or A ← using the atomic formulas A, B 1 , ..., B n . The definite clause expressed in the form of A ← is called a unit clause. A definite clause that does not include variables is called a basic definite clause, and a unit clause that does not include variables is called a basic unit clause.

更に、或る原子論理式Aに含まれる関数記号、定数記号及び変数記号の総数を|A|と表す。任意の代入θ及びi=1,・・・,nに対して、|Aθ|≧|Bθ|を満たす場合、確定節A←B,・・・,Bを縮小確定節という。 Further, the total number of function symbols, constant symbols and variable symbols included in a certain atomic formula A is expressed as | A |. When | Aθ | ≧ | B i θ | is satisfied for arbitrary substitution θ and i = 1, ···, n, the definite clause A ← B 1 , ···, B n is called the reduced definite clause.

<二分決定図>
二分決定図(BDD)は、論理関数を有向非巡回グラフとして表現するデータ構造である。一例として、論理関数(x∧x)∨(x∧x)∨(x∧x)を表現するBDDを図1に示す。
<Binary building diagram>
A binary decision diagram (BDD) is a data structure that represents a logical function as a directed acyclic graph. As an example, FIG. 1 shows a BDD expressing a logical function (x 1 ∧ x 2 ) ∨ (x 1 ∧ x 3 ) ∨ (x 2 ∧ x 3 ).

BDDは、終端ノードと分岐ノードとの2種類のノードを有する。終端ノードは、当該ノードを始点とする枝(アーク)を持たないノードである。図1に示す例では、終端ノードは四角形で表されたノード(ノードn5及びノードn6)である。終端ノードには、⊥終端ノード(以降、「第1終端ノード」という。)と、 BDD has two types of nodes, a terminal node and a branch node. A terminal node is a node that does not have a branch (arc) starting from the node. In the example shown in FIG. 1, the terminal node is a node represented by a quadrangle (node n5 and node n6). The terminal nodes include ⊥ terminal node (hereinafter referred to as "first terminal node") and

Figure 0006788249
(以下、「第2終端ノード」という。)との2種類のノードがある。1つのBDDには、第1終端ノードと第2終端ノードとがそれぞれ高々1つずつ存在する。
Figure 0006788249
There are two types of nodes (hereinafter referred to as "second terminal node"). There is at most one first terminal node and one second terminal node in one BDD.

一方で、分岐ノードとは、終端ノードではないノードのことである。図1に示す例では、分岐ノードは円形で表されたノード(ノードn1、ノードn2、ノードn3及びノードn4)である。各分岐ノードには、BDDによって表現される論理関数の変数全体の集合のうち、当該分岐ノードに対応する要素を表すラベルが付与される。図1に示す例では、ノードn1には、変数xを表す要素1がラベルとして付与されている。同様に、ノードn2及びノードn3には、変数xを表す要素2がラベルとして付与されている。同様に、ノードn4には、変数xを表す要素3がラベルとして付与されている。 On the other hand, a branch node is a node that is not a terminal node. In the example shown in FIG. 1, the branch node is a node represented by a circle (node n1, node n2, node n3 and node n4). Each branch node is given a label representing an element corresponding to the branch node in the set of all variables of the logical function represented by BDD. In the example shown in FIG. 1, the node n1, the element 1 representing the variable x 1 is assigned as a label. Similarly, the node n2 and the node n3 are given an element 2 representing the variable x 2 as a label. Similarly, the node n4, the elements 3 representing the variable x 3 is assigned as a label.

また、各分岐ノードには、当該分岐ノードを始点とする枝が必ず2つ存在し、それぞれlo枝及びhi枝と呼ばれる。図1に示す例では、lo枝は破線、hi枝は実線で表されており、ノードn1のlo枝はノードn2を指し、hi枝はノードn3を指している。この場合、ノードn1は親ノード、ノードn2及びノードn3は子ノードとなる。 In addition, each branch node always has two branches starting from the branch node, and are called lo branch and hi branch, respectively. In the example shown in FIG. 1, the lo branch is represented by a broken line and the hi branch is represented by a solid line, the lo branch of node n1 points to node n2, and the hi branch points to node n3. In this case, node n1 is a parent node, and nodes n2 and n3 are child nodes.

同様に、ノードn2のlo枝はノードn5を指し、hi枝はノードn4を指している。この場合、ノードn2は親ノード、ノードn5及びノードn4は子ノードとなる。他のノードも同様に、ノードn3のlo枝及びhi枝はそれぞれノードn4及びノードn6を指し、ノードn3が親ノード、ノードn4及びノードn6が子ノードとなる。ノードn4のlo枝及びhi枝はそれぞれノードn5及びノードn6を指し、ノードn4が親ノード、ノードn5及びノードn6が子ノードとなる。 Similarly, the lo branch of node n2 points to node n5 and the hi branch points to node n4. In this case, node n2 is a parent node, and nodes n5 and n4 are child nodes. Similarly, for the other nodes, the lo branch and the hi branch of the node n3 refer to the node n4 and the node n6, respectively, and the node n3 is the parent node and the node n4 and the node n6 are the child nodes. The lo branch and the hi branch of the node n4 refer to the node n5 and the node n6, respectively, and the node n4 is a parent node and the node n5 and the node n6 are child nodes.

BDDには親ノードを持たないノードが必ず1つのみ存在し、根ノードと呼ばれる。図1に示す例では、ノードn1が根ノードである。 There is always only one node in BDD that does not have a parent node, and it is called a root node. In the example shown in FIG. 1, node n1 is the root node.

根ノードから第2終端ノードまでの各経路は、BDDが表現する論理関数を真とするような変数の割り当てに対応している。BDDの各経路を3つの変数(x,x,x)で表現することとし、各変数の値は0又は1を取るものとし、hi枝を通る経路のときは変数の値が1であり、lo枝を通る経路のときは変数の値が0であるものとすれば、図1に示すBDDにおいて、根ノードから第2終端ノードに至る各経路に対応する変数の割り当ては値(1,1,*)、(1,0,1)、(0,1,1)で表現できる。ここで、*は0又は1のいずれかの値を割り当てることに相当する。 Each path from the root node to the second terminal node corresponds to the assignment of variables such that the logical function represented by BDD is true. Each path of BDD shall be represented by three variables (x 1 , x 2 , x 3 ), the value of each variable shall be 0 or 1, and the value of the variable shall be 1 when the path passes through the hi branch. Therefore, assuming that the value of the variable is 0 in the case of the route passing through the lo branch, in the BDD shown in FIG. 1, the allocation of the variable corresponding to each route from the root node to the second terminal node is a value ( It can be expressed by 1,1, *), (1,0,1), (0,1,1). Here, * corresponds to assigning a value of either 0 or 1.

例えば、(1,1,*)は、図1に示すBDDにおいて、ノードn1、ノードn3及びノードn6を辿る経路を表す。ここで、この場合、変数xを表す要素3のラベルが付与されているノードを辿らないが、これは、図1に示すBDDでは冗長な節点が削除されているためである(すなわち、図1に示すBDDは既約である。)。 For example, (1, 1, *) represents a route following node n1, node n3, and node n6 in the BDD shown in FIG. Here, in this case, but not follow node label elements 3 representing the variable x 3 is given, this is because the redundant nodes in BDD shown in FIG. 1 has been deleted (i.e., FIG. The BDD shown in 1 is irreducible.)

同様に、(1,0,1)は、図1に示すBDDにおいて、ノードn1、ノードn3、ノードn4及びノードn6を辿る経路を表す。同様に、(0,1,1)は、図1に示すBDDにおいて、ノードn1、ノードn2、ノードn4及びノードn6を辿る経路を表す。 Similarly, (1, 0, 1) represents a route following node n1, node n3, node n4, and node n6 in the BDD shown in FIG. Similarly, (0,1,1) represents a route following node n1, node n2, node n4, and node n6 in the BDD shown in FIG.

なお、根ノードから第2終端ノード(及び第1終端ノード)までの各経路が表現する変数の順序が同じであるBDDを「順序付きBDD」ともいう。図1に示すBDDは順序付きBDD(より正確には、既約な順序付きBDD)である。本発明の実施の形態において、BDDは、順序付きBDD(及び既約な順序付きBDD)であるものとする。 A BDD in which the order of variables represented by each path from the root node to the second terminal node (and the first terminal node) is the same is also referred to as "ordered BDD". The BDD shown in FIG. 1 is an ordered BDD (more precisely, an irreducible ordered BDD). In embodiments of the present invention, the BDD is an ordered BDD (and an irreducible ordered BDD).

BDDの各ノードは、当該ノードを根ノードとする部分BDDを表現しており、部分BDDは1つの論理関数を表現している。図1に示す例では、例えば、ノードn2を根ノードとする部分BDDは、変数x及びxに対して定義される部分論理関数x∧xを表現している。なお、第1終端ノードはBDDによって表現される論理関数の真偽値が0であることに対応し、第2終端ノードはBDDによって表現される論理関数の真偽値が1であることに対応するものとする。 Each node of BDD represents a partial BDD having the node as a root node, and the partial BDD represents one logical function. In the example shown in FIG. 1, for example, part BDD to the node n2 and the root node, expresses the partial logical function x 2 ∧X 3 defined for the variables x 2 and x 3. The first terminal node corresponds to the truth value of the logical function represented by BDD being 0, and the second terminal node corresponds to the truth value of the logical function represented by BDD being 1. It shall be.

なお、以降では、BDDのノードはB個存在するものとし、各ノードをb,・・・,bと表す。また、bを根ノード、bを第2終端ノードとし、任意の2つのノードb及びbに対して、i<jならばbはbの子ノードにはなり得ないものとする。 In the following, it is assumed that there are B BDD nodes, and each node is referred to as b 1 , ..., B B. Also, the root node b 1, a b B a second terminal node, for any two nodes b i and b j, i <j if b i is that not be a child node of b j And.

BDDは、各ノードについて、(ノードのID,ラベル,hi枝の指すノードのID,lo枝の指すノードのID)の4つの組で表現できる。図1に示すBDDは6つノードを持つため、 BDD can be expressed by four sets of (node ID, label, node ID pointed to by the hi branch, and node ID pointed to by the lo branch) for each node. Since the BDD shown in FIG. 1 has 6 nodes,

Figure 0006788249
と表現することができる。
Figure 0006788249
Can be expressed as.

<Apply演算>
論理関数fを表現するBDDをZ(f)、論理関数gを表現するBDDをZ(g)として、論理関数fとgとの間に二項演算を適用することによって得られる論理関数f∨g及びf∧gをそれぞれ表現するBDDをZ(f∨g)及びZ(f∧g)と表すものとする。Z(f)及びZ(g)からZ(f∨g)やZ(f∧g)を求める演算は、Apply演算と呼ばれる。Apply演算は、Z(f)及びZ(g)の大きさに比例する演算時間で実行できることが知られている。なお、Apply演算については上記の参考文献1を参照されたい。
<Apply operation>
The logical function f∨ obtained by applying a binary operation between the logical functions f and g, where the BDD representing the logical function f is Z (f) and the BDD representing the logical function g is Z (g). The BDDs expressing g and f∧g are expressed as Z (f∨g) and Z (f∧g), respectively. The operation for obtaining Z (f∨g) or Z (f∧g) from Z (f) and Z (g) is called an Apply operation. It is known that the Apply operation can be executed in an operation time proportional to the magnitudes of Z (f) and Z (g). For the Apply operation, refer to Reference 1 above.

<生成装置10>
次に、本発明の実施の形態に係る生成装置10について説明する。
<Generator 10>
Next, the generator 10 according to the embodiment of the present invention will be described.

≪機能構成≫
まず、本発明の実施の形態における生成装置10の機能構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における生成装置10の機能構成の一例を示す図である。
≪Functional configuration≫
First, the functional configuration of the generator 10 according to the embodiment of the present invention will be described with reference to FIG. FIG. 2 is a diagram showing an example of the functional configuration of the generator 10 according to the embodiment of the present invention.

図2に示すように、本発明の実施の形態における生成装置10は、生成処理部100を有する。生成処理部100は、生成装置10にインストールされた1以上のプログラムがCPU(Central Processing Unit)等に実行させる処理により実現される。 As shown in FIG. 2, the generation device 10 according to the embodiment of the present invention has a generation processing unit 100. The generation processing unit 100 is realized by a process of causing a CPU (Central Processing Unit) or the like to execute one or more programs installed in the generation device 10.

生成処理部100は、背景知識Bと、訓練例の集合ε及びεと、仮説Σに含まれ得る節の集合Pとを入力する。ここで、訓練例は全て基礎単位節であり、背景知識B、集合ε、集合ε及び集合Pは有限集合であるものとする。また、集合Pに含まれる節は全て縮小確定節であり、集合Pに含まれる縮小確定節の数をNとする。なお、集合εは正例の訓練例の集合であり、集合εは負例の訓練例の集合である。 The generation processing unit 100 inputs the background knowledge B, the sets ε + and ε − of the training example, and the set P of the clauses that can be included in the hypothesis Σ. Here, it is assumed that all the training examples are basic unit clauses, and the background knowledge B, the set ε + , the set ε −, and the set P are finite sets. Further, all the clauses included in the set P are reduced fixed clauses, and the number of reduced fixed clauses included in the set P is N. The set ε + is a set of positive training examples, and the set ε is a set of negative training examples.

このとき、生成処理部100は、入力された集合ε及びεと背景知識Bとに基づいて、上記の式1及び式2が成立するような仮説Σの集合を求める。なお、仮説Σは集合Pの部分集合である。 At this time, the generation processing unit 100 obtains a set of hypotheses Σ such that the above equations 1 and 2 hold, based on the input sets ε + and ε and the background knowledge B. The hypothesis Σ is a subset of the set P.

本発明の実施の形態では、仮説ΣをN次元の2値ベクトルxを用いて表現する。2値ベクトルxのi番目の成分をxとする。そして、集合Pに含まれるi番目の縮小確定節が仮説Σに含まれる場合はx=1、i番目の縮小確定節が仮説Σに含まれない場合はx=0とする。このN次元2値ベクトルxによって仮説Σを表現することで、仮説Σの集合は論理関数として表現できる。すなわち、仮説Σを表す2値ベクトルxが帰納論理プログラミングの問題の解である場合はf(x)=1、解でない場合はf(x)=0となるような論理関数fは、全ての解の集合を表現していると見做すことができる。 In the embodiment of the present invention, the hypothesis Σ is expressed using an N-dimensional binary vector x. The i-th component of the binary vectors x and x i. Then, if the i-th reduced definite clause included in the set P is included in the hypothesis Σ, x i = 1, and if the i-th reduced definite clause is not included in the hypothesis Σ, x i = 0. By expressing the hypothesis Σ by this N-dimensional binary vector x, the set of the hypothesis Σ can be expressed as a logical function. That is, all the logical functions f such that f (x) = 1 when the binary vector x representing the hypothesis Σ is the solution of the inductive logic programming problem and f (x) = 0 when it is not the solution are all. It can be regarded as representing a set of solutions.

したがって、この2値ベクトルxを構成する各変数xを、BDDを表現する変数とみれば(すなわち、BDDの各ノードに付与されるi個のラベルがそれぞれ各変数xを表すとすれば)、論理関数fを表現するBDDによって、仮説Σの集合を表現することができる。このとき、BDDの根ノードから第2終端ノードまでに至る経路の各々が、帰納論理プログラミングの問題の解となる仮説を表す。一方で、BDDの根ノードから第1終端ノードまでに至る経路の各々が、帰納論理プログラミングの問題の解とならない仮説を表す。 Therefore, if each variable x i constituting this binary vector x is regarded as a variable representing BDD (that is, if i labels given to each node of BDD represent each variable x i , respectively. ), A set of hypotheses Σ can be expressed by BDD expressing the logical function f. At this time, each of the paths from the root node of BDD to the second terminal node represents a hypothesis that is a solution to the problem of inductive logic programming. On the other hand, each of the paths from the root node of BDD to the first terminal node represents a hypothesis that does not solve the problem of inductive logic programming.

このことは、BDDの各経路に対応する変数の割り当ては、当該経路に対応する仮説の索引と捉えることができることを意味する。 This means that the allocation of variables corresponding to each route of BDD can be regarded as an index of hypotheses corresponding to the route.

すなわち、生成処理部100は、入力された集合ε及びεと背景知識Bとに基づいて、BDD Z(h)を構築する。そして、生成処理部100は、構築したBDD Z(h)を出力する。このZ(h)の根ノードから第2終端ノードまでに至る経路に対応する変数の割り当てが、帰納論理プログラミングの解である仮説Σの索引である。したがって、生成処理部100は、入力された集合ε及びεと背景知識Bとに基づいて、BDD Z(h)を構築することにより、帰納論理プログラミングの解である仮説Σの索引を生成すると言うこともできる。 That is, the generation processing unit 100 constructs the BDD Z (h) based on the input sets ε + and ε and the background knowledge B. Then, the generation processing unit 100 outputs the constructed BDD Z (h). The assignment of variables corresponding to the path from the root node of Z (h) to the second terminal node is the index of hypothesis Σ, which is the solution of inductive logic programming. Therefore, the generation processing unit 100 generates an index of hypothesis Σ, which is a solution of inductive logic programming, by constructing BDD Z (h) based on the input sets ε + and ε and background knowledge B. You can also say that.

なお、生成処理部100は、帰納論理プログラミングの解である仮説Σの索引として、構築したBDD Z(h)を出力しても良いし、このBDD Z(h)の根ノードから第2終端ノードまでに至る経路に対応する変数の割り当ての集合を出力しても良い。 The generation processing unit 100 may output the constructed BDD Z (h) as an index of the hypothesis Σ which is the solution of inductive logic programming, or the second terminal node from the root node of the BDD Z (h). You may output a set of variable assignments corresponding to the path leading up to.

ここで、生成処理部100には、第1仮説集合生成部101と、第2仮説集合生成部102と、第3仮説集合生成部103とが含まれる。 Here, the generation processing unit 100 includes a first hypothesis set generation unit 101, a second hypothesis set generation unit 102, and a third hypothesis set generation unit 103.

第1仮説集合生成部101は、背景知識Bと、訓練例の集合εと、集合Pとを入力して、全ての基礎原子論理式E∈εについて、上記の式1を満たす仮説Σの集合に対応する論理関数を表現するBDDを構築する。すなわち、εに基礎原子論理式がM個含まれるとした場合、i(i=1,・・・,M)毎に、第1仮説集合生成部101は、i番目の基礎原子論理式Eに対して、 The first hypothesis set generation unit 101 includes a background knowledge B, a set of training examples epsilon +, and inputs the set P, all of the basic atomic formula E∈ipushiron +, hypotheses that satisfies the above Equation 1 Σ A BDD that represents a logical function corresponding to a set of 1 is constructed. That is, assuming that ε + contains M basic atomic formulas, the first hypothesis set generation unit 101 performs the i-th basic atomic formula E for each i (i = 1, ..., M). For i

Figure 0006788249
となるような仮説Σの集合を表現する論理関数fを表すBDD Z(f)を構築する。BDDの構築方法については後述する。なお、εに含まれる訓練例は全て基礎単位節であることから、これらは全て基礎原子論理式である。
Figure 0006788249
Building a BDD Z (f i) representative of the logic function f i that represents the set of hypotheses sigma 1 such that. The method of constructing BDD will be described later. Since all the training examples included in ε + are basic unit clauses, these are all basic atomic formulas.

第2仮説集合生成部102は、背景知識Bと、訓練例の集合εと、集合Pとを入力して、全ての原子論理式E∈εについて、上記の式1を満たす仮説Σの集合に対応する論理関数を表現するBDDを構築する。すなわち、εに基礎原子論理式がK個含まれるとした場合、i(i=1,・・・,K)毎に、第2仮説集合生成部102は、i番目の基礎原子論理式Eに対して、 The second hypothesis set generation unit 102 includes a background knowledge B, a set of training examples epsilon - and, by entering a set P, all atomic formulas E∈ipushiron - for hypothesis sigma 2 satisfying the formula 1 above Build a BDD that represents the logical function corresponding to the set of. That is, assuming that ε contains K basic atomic formulas, the second hypothesis set generation unit 102 uses the i-th basic atomic formula E for each i (i = 1, ..., K). For i

Figure 0006788249
となるような仮説Σの集合を表現する論理関数gを表すBDD Z(g)を構築する。BDDの構築方法については後述する。なお、εに含まれる訓練例は全て基礎単位節であることから、これらは全て基礎原子論理式である。
Figure 0006788249
Building a BDD Z (g i) which represents the logical function g i which represents the set of hypotheses sigma 2 such that. The method of constructing BDD will be described later. Since all the training examples included in ε are basic unit clauses, they are all basic atomic formulas.

ここで、上記では、負例である訓練例E∈εに対しても上記の式1を満たすΣの集合に対応する論理関数gを表すBDD Z(g)を構築した。これは、後述する式3において、各論理関数gに対して否定を示す論理記号(¬)を付与するためである。ただし、後述する式3において、各論理関数gに対して否定を示す論理記号(¬)を付与しない場合には、第2仮説集合生成部102は、上記の式2を満たす仮説Σの集合に対応する論理関数を表現するBDDを構築しても良い。 Here, in the above, the negative examples in which training examples E i ∈ε - was constructed BDD also represent the logic function g i corresponding to a set of sigma 2 satisfying the formula 1 above for Z (g i). This, in Formula 3 described later, in order to impart logic symbol (¬) showing a negative for each logic function g i. In Expression 3 to be described later, if no grant logic symbol indicating a negative for each logic function g i (¬), the second hypothesis set generation unit 102, hypothesis sigma 2 satisfying the formula 2 above You may construct a BDD that represents a logical function corresponding to a set.

第3仮説集合生成部103は、第1仮説集合生成部101で構築したZ(f)と、第2仮説集合生成部102で構築したZ(g)とを入力して、これらのBDDのApply演算を行うことにより、以下の式3に示す論理式hを表すBDD Z(h)を構築する。 The third hypothesis set generation unit 103, and Z were constructed by first hypothesis set generation unit 101 (f i), by entering the Z (g i) constructed in the second hypothesis set generation unit 102, these BDD By performing the Apply operation of, BDD Z (h) representing the logical formula h shown in the following formula 3 is constructed.

Figure 0006788249
≪処理の流れ≫
次に、本発明の実施の形態における生成処理部100が実行する処理の流れについて、図3を参照しながら説明する。図3は、本発明の実施の形態における生成処理部100が実行する処理の流れの一例を示すフローチャートである。なお、以降では、背景知識Bと、訓練例の集合ε及びεと、集合Pとが生成処理部100に入力されたものとする。
Figure 0006788249
≪Processing flow≫
Next, the flow of processing executed by the generation processing unit 100 according to the embodiment of the present invention will be described with reference to FIG. FIG. 3 is a flowchart showing an example of a flow of processing executed by the generation processing unit 100 according to the embodiment of the present invention. In the following, it is assumed that the background knowledge B, the sets ε + and ε − of the training example, and the set P are input to the generation processing unit 100.

ステップS101:生成処理部100の第1仮説集合生成部101は、背景知識Bと、正例の訓練例の集合εと、集合Pとを入力して、i=1,・・・,Mに対して、上述したZ(f)を構築する。 Step S101: The first hypothesis set generation unit 101 of the generation processing unit 100 inputs the background knowledge B, the set ε + of the training example of the positive example, and the set P, and i = 1, ..., M. respect, to construct a Z (f i) described above.

ここで、BBD Z(f)の構築方法について説明する。以降では、fの添字iを固定して、単に「f」と表し、Z(f)の構築方法について説明する。 The following describes how to build a BBD Z (f i). Hereinafter, the method of constructing Z (f) will be described by fixing the subscript i of fi and simply expressing it as “f”.

或る基礎原子論理式Eを論理的帰結とするような仮説の集合を表現する論理関数を[E]とする。また、集合Pに含まれる各縮小確定節に対して添字i(i=1,・・・,N)が付与されているものとして、集合Pに含まれる各縮小確定節A←B,・・・,Bのうち、或る代入θに対してE=Aθを満たすような縮小確定節の添字の集合をJとする。すると、[E]は、 Let [E] be a logical function that expresses a set of hypotheses whose logical conclusion is a certain basic atomic formula E. Further, assuming that the subscript i (i = 1, ..., N) is added to each reduced fixed clause included in the set P, each reduced fixed clause A ← B 1 ,. Let J E be a set of subscripts of reduced definite clauses that satisfy E = A θ for a certain substitution θ among B n . Then, [E] is

Figure 0006788249
となる。ここで、θはi番目の縮小確定節に対してE=Aθとなるような代入を表す。このような代入は各縮小確定節に対して一意に決定される。また、nはi番目の縮小確定節を表す原子論理式B,・・・,Bの数である。i番目の縮小確定節は、原子論理式A,B,・・・,Bniを用いて、A←B,・・・,Bniと表される(ただし、「ni」は、実際には「i」を下付きで表した「n」である。)。
Figure 0006788249
Will be. Here, θ i represents an assignment such that E = Aθ i for the i-th reduced definite clause. Such substitutions are uniquely determined for each reduced definite clause. Further, ni is the number of atomic formulas B 1 , ..., B n representing the i-th reduced definite clause. The i-th reduced definite clause is expressed as A ← B 1 , ..., B ni using the atomic formulas A, B 1 , ..., B ni (however, "ni" is actually Is "ni", which is a subscript of " i ").

上記の式4は、論理関数[E]が論理関数[Bθ]により再帰的に求められることを表している。縮小確定節の性質により、Bθは常に基礎原子論理式となり、かつ、その大きさ|Bθ|は常に|E|より小さくなる。他方で、背景知識Bと、正例の集合εと、集合Pとはいずれも有限集合であるため、これらの集合に含まれる関数記号、定数記号、述語記号も有限である。このため、これらの関数記号、定数記号、述語記号によって構成される基礎原子論理式のうち、εに含まれる最大の基礎原子論理式よりも小さいものの集合も常に有限となる。このような大きさが或る値以下の各基礎原子論理式Eについて、論理関数[E]を表すBDDを、上記の式4により再帰的にApply演算を実行して構築していくことによって、εに含まれる各原子論理式Eについて論理関数f=[E]を表すBDD Z(f)を構築することができる。 Equation 4 above represents that the logical function [E] is recursively obtained by the logical function [B j θ i ]. Due to the nature of the reduced definite clause, B j θ i is always a basic atomic formula, and its magnitude | B j θ i | is always smaller than | E |. On the other hand, since the background knowledge B, the set ε + of the positive example, and the set P are all finite sets, the function symbols, constant symbols, and predicate symbols included in these sets are also finite. Therefore, among the basic atomic formulas composed of these function symbols, constant symbols, and predicate symbols, the set of those smaller than the maximum basic atomic formula contained in ε + is always finite. For each basic atomic formula E having such a magnitude equal to or less than a certain value, a BDD representing the logical function [E] is constructed by recursively executing an Apply operation according to the above formula 4. For each atomic formula E contained in ε + , a BDD Z (f) representing a logical function f = [E] can be constructed.

ステップS102:生成処理部100の第2仮説集合生成部102は、背景知識Bと、負例の訓練例の集合εと、集合Pとを入力して、i=1,・・・,Kに対して、上述したZ(g)を構築する。 Step S102: The second hypothesis set generation unit 102 of the generation processing unit 100 inputs the background knowledge B, the set ε of the training example of the negative example, and the set P, and i = 1, ..., K. relative to build the Z a (g i) above.

ここで、BBD Z(g)の構築方法について説明する。以降では、gの添字iを固定して、単に「g」と表し、Z(g)の構築方法について説明する。なお、Z(g)の構築方法は、上述したZ(f)の構築方法と同様であるため、簡略化して説明する。 The following describes how to build a BBD Z (g i). Hereinafter, the method of constructing Z (g) will be described by fixing the subscript i of gi and simply expressing it as “g”. Since the method for constructing Z (g) is the same as the method for constructing Z (f) described above, the description will be simplified.

或る基礎原子論理式Eを論理的帰結とするような仮説の集合を表現する論理関数を[E]とする。また、集合Pに含まれる各縮小確定節A←B,・・・,Bのうち、或る代入θに対してE=Aθを満たすような縮小確定節の添字の集合をJとする。すると、[E]は、上記の式4となる。 Let [E] be a logical function that expresses a set of hypotheses whose logical conclusion is a certain basic atomic formula E. Moreover, the reduced definite clause A ← B 1 contained in the set P, · · ·, of B n, and J E the set of indices of the reduced definite clauses which satisfy E = A.theta. For a certain assignment θ To do. Then, [E] becomes the above equation 4.

また、負例の集合εも有限集合であるため、背景知識B、負例の集合ε及び集合Pに含まれる関数記号、定数記号、述語記号によって構成される基礎原子論理式のうち、εに含まれる最大の基礎原子論理式よりも小さいものの集合も常に有限となる。したがって、このような大きさが或る値以下の各基礎原子論理式Eについて、論理関数[E]を表すBDDを、上記の式4により再帰的にApply演算を実行して構築していくことによって、εに含まれる各原子論理式Eについて論理関数g=[E]を表すBDD Z(g)を構築することができる。 Further, since the set ε − of negative examples is also a finite set, among the basic atomic formulas composed of the background knowledge B, the set ε − of negative examples, and the function symbols, constant symbols, and predicate symbols included in the set P, The set of things smaller than the largest basic atomic formula contained in ε is always finite. Therefore, for each basic atomic formula E whose magnitude is less than or equal to a certain value, a BDD representing the logic function [E] is constructed by recursively executing an Apply operation according to the above formula 4. Therefore, BDD Z (g) representing the logical function g = [E] can be constructed for each atomic formula E contained in ε .

ステップS103:生成処理部100の第3仮説集合生成部103は、第1仮説集合生成部101で構築したZ(f)と、第2仮説集合生成部102で構築したZ(g)とを入力して、これらのBDDのApply演算を行うことにより、上記の式3に示す論理式hを表すBDD Z(h)を構築する。 Step S103: third hypothesis set generation unit 103 of the generation processing unit 100 includes a Z constructed in the first hypothesis set generation unit 101 (f i), was constructed by the second hypothesis set generation unit 102 Z and (g i) Is input to perform the Apply calculation of these BDDs, thereby constructing the BDD Z (h) representing the logical formula h shown in the above formula 3.

これにより、生成処理部100により、帰納論理プログラミングの解である仮説Σの索引として、Z(h)又は当該Z(h)の根ノードから第2終端ノードまでに至る経路に対応する変数の割り当ての集合が出力される。 As a result, the generation processing unit 100 allocates variables corresponding to the path from the root node of Z (h) or the Z (h) to the second terminal node as an index of the hypothesis Σ which is the solution of inductive logic programming. The set of is output.

以上のように、本発明の実施の形態における生成装置10では、帰納論理プログラミングの解である仮説Σの索引の集合を、BDD又は当該BDDの根ノードから第2終端ノードまでに至る経路に対応する変数の割り当ての集合として出力することができる。このため、本発明の実施の形態における生成装置10によれば、膨大な数になる可能性がある帰納論理プログラミングの解の集合をBDDとして圧縮・索引化して全列挙することができるようになる。このように全ての解の集合をBDDとして索引化して表現することで、例えば、これらの解の中から所望の条件を満たす解を選び出して利用する等といった事も容易に行うことができるようになる。 As described above, in the generator 10 according to the embodiment of the present invention, the set of indexes of the hypothesis Σ, which is the solution of inductive logic programming, corresponds to the path from the BDD or the root node of the BDD to the second terminal node. It can be output as a set of variable assignments. Therefore, according to the generator 10 in the embodiment of the present invention, a set of solutions of inductive logic programming, which may be a huge number, can be compressed and indexed as BDD and enumerated in total. .. By indexing and expressing the set of all solutions as BDD in this way, for example, it is possible to easily select and use a solution satisfying a desired condition from these solutions. Become.

≪ハードウェア構成≫
最後に、本発明の実施の形態における生成装置10のハードウェア構成について、図4を参照しながら説明する。図4は、本発明の実施の形態における生成装置10のハードウェア構成の一例を示す図である。
≪Hardware configuration≫
Finally, the hardware configuration of the generator 10 according to the embodiment of the present invention will be described with reference to FIG. FIG. 4 is a diagram showing an example of the hardware configuration of the generator 10 according to the embodiment of the present invention.

図4に示すように、本発明の実施の形態における生成装置10は、入力装置201と、表示装置202と、外部I/F203と、RAM(Random Access Memory)204と、ROM(Read Only Memory)205と、CPU206と、通信I/F207と、補助記憶装置208とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。 As shown in FIG. 4, the generation device 10 according to the embodiment of the present invention includes an input device 201, a display device 202, an external I / F 203, a RAM (Random Access Memory) 204, and a ROM (Read Only Memory). It has 205, a CPU 206, a communication I / F 207, and an auxiliary storage device 208. Each of these hardware is connected so as to be able to communicate with each other via the bus B.

入力装置201は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置202は、例えばディスプレイ等であり、生成装置10の処理結果を表示する。なお、生成装置10は、入力装置201及び表示装置202の少なくとも一方を有していなくても良い。 The input device 201 is, for example, a keyboard, a mouse, a touch panel, or the like, and is used for a user to input various operations. The display device 202 is, for example, a display or the like, and displays the processing result of the generation device 10. The generation device 10 does not have to have at least one of the input device 201 and the display device 202.

外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。生成装置10は、外部I/F203を介して、記録媒体203a等の読み取りや書き込みを行うことができる。記録媒体203aには、生成装置10が有する各機能を実現するプログラム等が記録されていても良い。 The external I / F 203 is an interface with an external device. The external device includes a recording medium 203a and the like. The generation device 10 can read or write the recording medium 203a or the like via the external I / F 203. A program or the like that realizes each function of the generation device 10 may be recorded on the recording medium 203a.

記録媒体203aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。 The recording medium 203a includes, for example, a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.

RAM204は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM205は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM205には、例えば、OS(Operating System)設定やネットワーク設定等が格納されている。 The RAM 204 is a volatile semiconductor memory that temporarily holds programs and data. The ROM 205 is a non-volatile semiconductor memory that can hold programs and data even when the power is turned off. The ROM 205 stores, for example, OS (Operating System) settings, network settings, and the like.

CPU206は、ROM205や補助記憶装置208等からプログラムやデータをRAM204上に読み出して処理を実行する演算装置である。 The CPU 206 is an arithmetic unit that reads programs and data from the ROM 205, the auxiliary storage device 208, and the like onto the RAM 204 and executes processing.

通信I/F207は、生成装置10を通信ネットワークに接続するためのインタフェースである。生成装置10が有する各機能を実現するプログラムは、通信I/F207を介して、所定のサーバ装置等から取得(ダウンロード)されても良い。 The communication I / F 207 is an interface for connecting the generator 10 to the communication network. The program that realizes each function of the generation device 10 may be acquired (downloaded) from a predetermined server device or the like via the communication I / F 207.

補助記憶装置208は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置208に格納されているプログラムやデータには、例えば、OS、当該OS上において各種機能を実現するアプリケーションプログラム、生成装置10が有する各機能を実現するプログラム等がある。 The auxiliary storage device 208 is, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like, and is a non-volatile storage device that stores programs and data. The programs and data stored in the auxiliary storage device 208 include, for example, an OS, an application program that realizes various functions on the OS, a program that realizes each function of the generation device 10, and the like.

本発明の実施の形態における生成装置10は、図4に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図4では、本発明の実施の形態における生成装置10が1台の装置で実現される場合について説明したが、これ限られない。本発明の実施の形態における生成装置10は、複数台の装置で実現されていても良い。 The generation device 10 according to the embodiment of the present invention can realize the above-mentioned various processes by having the hardware configuration shown in FIG. Note that FIG. 4 describes a case where the generation device 10 according to the embodiment of the present invention is realized by one device, but the present invention is not limited thereto. The generation device 10 according to the embodiment of the present invention may be realized by a plurality of devices.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above-described embodiment disclosed specifically, and various modifications and modifications can be made without departing from the scope of claims.

10 生成装置
101 第1仮説集合生成部
102 第2仮説集合生成部
103 第3仮説集合生成部
10 Generation device 101 1st hypothesis set generation unit 102 2nd hypothesis set generation unit 103 3rd hypothesis set generation unit

Claims (4)

帰納論理プログラミングの問題の解となる論理プログラムを表す仮説Σの各々を示す情報を生成する生成装置であって、
背景知識Bと、正例の訓練例を示す基礎原子論理式の集合εと、前記仮説Σに含まれ得る縮小確定節の集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数fを表す第1の二分決定図を構築する第1の生成手段と、
前記背景知識Bと、負例の訓練例を示す基礎原子論理式の集合εと、前記集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数gを表す第2の二分決定図を構築する第2の生成手段と、
前記第1の二分決定図の各々と、前記第2の二分決定図の各々とをApply演算することで、第3の二分決定図を生成する第3の生成手段と、
を有し、
前記第1の生成手段及び第2の生成手段は、
前記基礎原子論理式Eを論理的帰結とする仮説の集合を表現する論理関数を[E]、前記集合Pに含まれる各縮小確定節A←B,・・・,Bのうち、代入θに対してE=Aθを満たす縮小確定節A←B,・・・,Bの添え字の集合をJとして、
Figure 0006788249
を再帰的にApply演算することで、前記第1の二分決定図及び前記第2の二分決定図をそれぞれ構築する、ことを特徴とする生成装置。
It is a generator that generates information indicating each of the hypotheses Σ that represent the logical program that solves the problem of inductive logic programming.
When the background knowledge B, the set ε + of the basic atomic formulas showing the training examples of the positive examples, and the set P of the reduced definite clauses that can be included in the hypothesis Σ are input, each of them included in the set ε +. For the basic atomic formula E, the first dichotomy representing the logical function f corresponding to the hypothesis Σ 1 such that the basic atomic formula E is the logical conclusion of the sum set of the background knowledge B and the hypothesis Σ 1. The first generation means to construct the figure and
When the background knowledge B, the set ε of the basic atomic formulas showing the training examples of negative examples, and the set P are input, the basics of each basic atomic formula E included in the set ε −. A second generation means for constructing a second dichotomy diagram representing a logical function g corresponding to hypothesis Σ 2 such that the atomic formula E is the logical conclusion of the sum set of the background knowledge B and hypothesis Σ 2 . When,
A third generation means for generating a third binary diagram by performing an Apply operation on each of the first binary determination diagram and each of the second binary determination diagram.
Have,
The first generation means and the second generation means
[E] is a logical function that expresses a set of hypotheses whose logical conclusion is the basic atomic formula E, and is substituted from each of the reduced definite clauses A ← B 1 , ..., B n included in the set P. Let J E be the set of subscripts of reduced definite clauses A ← B 1 , ..., B n that satisfy E = A θ with respect to θ.
Figure 0006788249
The generator is characterized in that the first dichotomous diagram and the second dichotomy diagram are constructed by recursively performing an Apply operation.
前記第3の生成手段は、
前記第1の二分決定図の各々を表すM個の論理関数をf,・・・f、前記第2の二分決定図の各々を表すK個の論理関数をg,・・・gとして、
Figure 0006788249
によって表される前記第3の二分決定図をApply演算により生成する、ことを特徴とする請求項1に記載の生成装置。
The third generation means is
The M logical functions representing each of the first binary determination diagrams are f 1 , ... f M , and the K logical functions representing each of the second binary determination diagrams are g 1 , ... G. As K
Figure 0006788249
The generator according to claim 1, wherein the third binary decision diagram represented by the above is generated by an Apply operation.
帰納論理プログラミングの問題の解となる論理プログラムを表す仮説Σの各々を示す情報を生成するコンピュータが、
背景知識Bと、正例の訓練例を示す基礎原子論理式の集合εと、前記仮説Σに含まれ得る縮小確定節の集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数fを表す第1の二分決定図を構築する第1の生成手順と、
前記背景知識Bと、負例の訓練例を示す基礎原子論理式の集合εと、前記集合Pとが入力されると、前記集合εに含まれる各基礎原子論理式Eについて、該基礎原子論理式Eが前記背景知識Bと仮説Σとの和集合の論理的帰結となるような仮説Σに対応する論理関数gを表す第2の二分決定図を構築する第2の生成手順と、
前記第1の二分決定図の各々と、前記第2の二分決定図の各々とをApply演算することで、第3の二分決定図を生成する第3の生成手順と、
を実行し、
前記第1の生成手順及び第2の生成手順は、
前記基礎原子論理式Eを論理的帰結とする仮説の集合を表現する論理関数を[E]、前記集合Pに含まれる各縮小確定節A←B,・・・,Bのうち、代入θに対してE=Aθを満たす縮小確定節A←B,・・・,Bの添え字の集合をJとして、
Figure 0006788249
を再帰的にApply演算することで、前記第1の二分決定図及び前記第2の二分決定図をそれぞれ構築する、ことを特徴とする生成方法。
A computer that generates information indicating each of the hypotheses Σ that represent the logical program that solves the problem of inductive logic programming
When the background knowledge B, the set ε + of the basic atomic formulas showing the training examples of the positive examples, and the set P of the reduced definite clauses that can be included in the hypothesis Σ are input, each of them included in the set ε +. For the basic atomic formula E, the first dichotomy representing the logical function f corresponding to the hypothesis Σ 1 such that the basic atomic formula E is the logical conclusion of the sum set of the background knowledge B and the hypothesis Σ 1. The first generation procedure to build the diagram and
When the background knowledge B, the set ε of the basic atomic formulas showing the training examples of negative examples, and the set P are input, the basics of each basic atomic formula E included in the set ε −. A second generation procedure for constructing a second dichotomy diagram representing a logical function g corresponding to hypothesis Σ 2 such that the atomic formula E is the logical conclusion of the sum set of the background knowledge B and hypothesis Σ 2 . When,
A third generation procedure for generating a third binary diagram by performing an Apply operation on each of the first binary diagram and each of the second binary diagram.
And run
The first generation procedure and the second generation procedure
[E] is a logical function that expresses a set of hypotheses whose logical conclusion is the basic atomic formula E, and is substituted from each of the reduced definite clauses A ← B 1 , ..., B n included in the set P. Let J E be the set of subscripts of reduced definite clauses A ← B 1 , ..., B n that satisfy E = A θ with respect to θ.
Figure 0006788249
The generation method is characterized in that the first binary decision diagram and the second binary decision diagram are constructed by recursively performing an Apply operation.
コンピュータを、請求項1又は2の何れか一項に記載の生成装置における各手段として機能させるためのプログラム。 A program for causing a computer to function as each means in the generator according to any one of claims 1 or 2.
JP2018037413A 2018-03-02 2018-03-02 Generator, generation method and program Active JP6788249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018037413A JP6788249B2 (en) 2018-03-02 2018-03-02 Generator, generation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018037413A JP6788249B2 (en) 2018-03-02 2018-03-02 Generator, generation method and program

Publications (2)

Publication Number Publication Date
JP2019153047A JP2019153047A (en) 2019-09-12
JP6788249B2 true JP6788249B2 (en) 2020-11-25

Family

ID=67946462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018037413A Active JP6788249B2 (en) 2018-03-02 2018-03-02 Generator, generation method and program

Country Status (1)

Country Link
JP (1) JP6788249B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7322966B2 (en) * 2019-11-01 2023-08-08 日本電気株式会社 Information processing device, information processing method and program

Also Published As

Publication number Publication date
JP2019153047A (en) 2019-09-12

Similar Documents

Publication Publication Date Title
Zulehner et al. Advanced simulation of quantum computations
JP7481075B2 (en) Simulating quantum circuits on a computer using hierarchical storage
US20190138510A1 (en) Building Entity Relationship Networks from n-ary Relative Neighborhood Trees
US7739635B2 (en) Conjunctive BDD building and variable quantification using case-splitting
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
JP5468615B2 (en) Precondition generation apparatus and method, and program
Balabanov et al. Resolution proofs and Skolem functions in QBF evaluation and applications
US11580433B2 (en) Validating and estimating runtime for quantum algorithms
WO2022153290A1 (en) Quantum circuit modeling
Drake PyEDA: Data Structures and Algorithms for Electronic Design Automation.
US11675009B2 (en) Converting formal verification testbench drivers with nondeterministic inputs to simulation monitors
JP7381723B2 (en) Quantum operation execution method and device, quantum operation control waveform generation method and device, quantum operation chip, computer device and program
JP6788249B2 (en) Generator, generation method and program
JP6180739B2 (en) System and method for rapid management of logical expressions
CN113544710A (en) Compilation of quantum algorithms
EP3805977A1 (en) Verification of hardware design for data transformation component
Azad et al. Circuit centric quantum architecture design
CN109359334B (en) Method for converting combined circuit gate-level netlist into AIGER format file
US20190325102A1 (en) Circuit generation based on zero wire load assertions
Gill et al. Using functional programming to generate an LDPC forward error corrector
US11995515B2 (en) DAG-Based CSP quantum circuit modeling
JP7409396B2 (en) Information processing device, information processing method, and program
Li et al. Parameterized hardware verification through a term-level generalized symbolic trajectory evaluation
Banković et al. Faradžev Read-type enumeration of non-isomorphic CC systems
US10078716B2 (en) Scalable logic verification by identifying unate primary inputs

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20180305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201021

R150 Certificate of patent or registration of utility model

Ref document number: 6788249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350