Logical inference device, logical inference method, and program
Patent Information
- Application Number
- JP2024531857
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2042-07-07
AI Technical Summary
The construction of practical application systems based on logical inference models is hindered by the need for extensive manual effort and time to identify and address bottlenecks in inference time, requiring deep knowledge of logical inference engines and varying computational efficiency due to differing logical expressions.
A logical reasoning device and method that includes execution, monitoring, and estimation means to identify bottlenecks in the inference process by analyzing profile information, allowing for automated detection and reduction of manual effort in system construction.
Automatically estimates and presents bottlenecks in calculation time, improving human efficiency and reducing the expertise required for system construction by streamlining the process of identifying and addressing inference time issues.
Abstract
Description
Logical inference device, logical inference method, and program
[0001] The present invention relates to a logical inference device, a logical inference method, and a program.
[0002] Deductive reasoning is an inference method that receives a logical formula (premise) that represents input information and a logical formula (background knowledge) that represents inference rules, and outputs a logical formula (consequence) that is derived from the input information using the inference rules. Abductive reasoning is an inference method that receives a logical formula (observation) that represents input information and background knowledge, and outputs a logical formula (hypothesis) that derives the input information as a conclusion using the inference rules.
[0003] Although deductive inference and abductive inference are theoretically different modes of logical inference, they are the same in that they receive input information and inference rules and output inference results, and can be interpreted as essentially the same when implemented on a computer. Therefore, models based on deductive inference or abductive inference are collectively called logical inference models, and software programs that implement computational processing based on logical inference models on a computer are called logical inference engines.
[0004] Non-Patent Document 1 discloses a method for implementing weighted abduction, which is one type of abduction, on a computer. Also, Non-Patent Document 2 discloses a method for implementing Markov Logic Network, which is one type of deductive inference, on a computer.
[0005] The techniques disclosed in Non-Patent Document 1 and Non-Patent Document 2 employ a procedure in which candidates for inference results are generated from input information and inference rules, and the final solution is obtained by searching for the optimal solution from among the candidates. The computational efficiency at this time is highly dependent on the given input information and the logical expressions used in the inference rules, so even for similar inferences in the same domain, the computational efficiency for inference can vary significantly depending on the logical expressions used to describe the input information and inference rules.
[0006] For example, when writing down the relationship "if person x kills person y, person x will be arrested by police z" as an inference rule, in the technology of Non-Patent Document 2, rather than writing a single inference rule such as kill(x, y)^isPolice(z)⇒arrest(z, x), writing multiple inference rules such as kill(x, y)⇒isCriminal(x) isCriminal(x)^isPolice(z)⇒arrest(z, x) improves the computational efficiency of inference based on this knowledge. This is because the technology of Non-Patent Document 2 has the characteristic that the computational load increases nonlinearly with the number of types of variables individually included in each inference rule. Therefore, in this case, reducing the number of types of variables included in each inference rule, even if it means increasing the number of inference rules, improves overall computational efficiency.
[0007] Naoya Inoue and Kentaro Inui. ILP-based Reasoning for Weighted Abduction. In Proceedings of AAAI Workshop on Plan, Activity and Intent Recognition, pp. 25-32, August 2011. Richardson, Matt and Domingos, Pedro (2006). Markov Logic Networks. Machine Learning, 62, 107-136, 2006.
[0008] However, since the appropriate logical expression varies depending on the type of logical inference model and logical inference engine used, the type of behavior of inference that is ultimately intended to be realized, and so on, when building an actual application system based on a logical inference model, adjustment work by personnel with deep knowledge of the logical inference engine is essential, which is a major problem in actual applications. In other words, when building an application system based on a logical inference model, there has been a problem in that it takes time to estimate the cause of long inference time (bottleneck), which increases the number of steps required to build the system.
[0009] Therefore, an object of the present disclosure is to reduce the man-hours required to build a system based on a logical inference model, which is the problem described above.
[0010] A logical inference device according to one embodiment of the present disclosure comprises: an execution means for executing an inference process for input information according to the inference rules using background knowledge information in which inference rules are expressed by one or more logical formulas and query information in which input information is expressed by one or more logical formulas; a monitoring means for monitoring the execution status of the inference process and acquiring profile information representing the execution status; and an estimation means for estimating, based on the profile information, a bottleneck representing a problem in the execution of the inference process as a candidate, which is set in advance.
[0011] Furthermore, a logical inference method according to one embodiment of the present disclosure is configured to: use background knowledge information in which inference rules are expressed by one or more logical expressions, and query information in which input information is expressed by one or more logical expressions, to execute an inference process based on the inference rules for the input information; monitor the execution status of the inference process, obtain profile information representing the execution status; and, based on the profile information, estimate, as a candidate bottleneck, a bottleneck that represents a problem in executing the predetermined inference process.
[0012] Furthermore, a program that is one embodiment of the present disclosure is configured to cause a computer to execute an inference process based on the inference rules for input information using background knowledge information in which inference rules are expressed by one or more logical expressions and query information in which input information is expressed by one or more logical expressions; monitor the execution status of the inference process, obtain profile information representing the execution status; and, based on the profile information, estimate, as a candidate bottleneck that represents a problem in executing the predetermined inference process.
[0013] By being configured as described above, the present disclosure can reduce the number of steps required to build a system based on a logical inference model.
[0014] FIG. 1 is a block diagram showing the configuration of a logical inference device according to a first embodiment of the present disclosure. FIG. 2 is a flowchart showing the operation of the logical inference device disclosed in FIG. 1. FIG. 3 is a block diagram showing the configuration of a logical inference device according to a second embodiment of the present disclosure. FIG. 4 is a flowchart showing the operation of the logical inference device disclosed in FIG. 3. FIG. 5 is a block diagram showing the hardware configuration of a logical inference device according to a third embodiment of the present disclosure. FIG. 6 is a block diagram showing the configuration of a logical inference device according to the third embodiment of the present disclosure.
[0015] First Embodiment A first embodiment of the present disclosure will be described with reference to Figures 1 and 2. Figure 1 is a diagram for explaining the configuration of a logical inference device, and Figure 2 is a diagram for explaining the processing operation of the logical inference device.
[0016] The logical inference device 10 of this embodiment is a device that estimates and presents the cause of an increase in calculation time for a specific input in some logical inference engine. The configuration and operation of the logical inference device will be described below.
[0017] The logical inference device 10 is composed of one or more information processing devices each including a calculation device and a storage device. As shown in FIG. 1 , the logical inference device 10 includes an acquisition unit 11, an execution unit 12, a monitoring unit 13, an estimation unit 14, and an output unit 15. The functions of the acquisition unit 11, the execution unit 12, the monitoring unit 13, the estimation unit 14, and the output unit 15 can be realized by the calculation device executing a program for realizing each function stored in the storage device. The logical inference device 10 also includes a background knowledge information storage unit 16, a query information storage unit 17, and a bottleneck knowledge information storage unit 18. The background knowledge information storage unit 16, the query information storage unit 17, and the bottleneck knowledge information storage unit 18 are each composed of a storage device.
[0018] The acquiring unit 11 acquires background knowledge information in which background knowledge is expressed by one or more logical expressions (step S1). The background knowledge information is, for example, pre-stored in the background knowledge information storage unit 16, and the acquiring unit 11 reads and acquires the background knowledge information from the background knowledge information storage unit 16. The background knowledge information is information in which a set of inference rules (background knowledge) in which if the antecedent is true, then the consequent is true, is expressed by one or more logical expressions.
[0019] The acquiring unit 11 also acquires query information, which is predetermined input information (step S2). The query information is, for example, stored in advance in the query information storage unit 17, and the acquiring unit 11 reads and acquires the query information from the query information storage unit 17. The query information is information that expresses an observed fact using one or more logical expressions.
[0020] The acquiring unit 11 also acquires bottleneck knowledge information (step S1) that expresses in some form the relationship between profile information (described later) and bottleneck candidates. The bottleneck knowledge information is, for example, pre-stored in the bottleneck knowledge information storage unit 18, and the acquiring unit 11 reads and acquires the bottleneck knowledge information from the bottleneck knowledge information storage unit 18. Specifically, the bottleneck knowledge information is information that expresses in an arbitrary form the relationship that a specific bottleneck is considered to be a candidate when a predetermined condition is met for profile information that represents the execution status of the inference process, as described later. A specific form of the bottleneck knowledge information is, for example, a software program that receives data representing the profile information as input and determines whether the condition is met, and stores the program for each bottleneck candidate. In this case, the bottleneck is, for example, information that expresses the content of a predetermined problem in the execution of the inference process in the form of a string. For example, the bottleneck may express the content of a problem, such as a factor that reduces the computational efficiency of the inference process or a factor that increases the computational processing time.
[0021] The acquiring unit 11 may acquire any or all of the background knowledge information, query information, and bottleneck knowledge information by reading them from a storage device built into the logical inference device 10 or from an external storage device. The acquiring unit 11 may also acquire any or all of the background knowledge information, query information, and bottleneck knowledge information by receiving them from another device via a communication unit. The acquiring unit 11 may also generate any or all of the background knowledge information, query information, and bottleneck knowledge information in response to a user's input operation performed via an arbitrary input device such as a mouse or a touch panel, and acquire the generated information.
[0022] The execution unit 12 (execution means) executes logical inference using the background knowledge information and the query information (step S2). That is, the execution unit 12 executes inference processing based on the logical rules of the background knowledge information for the observed facts (input information) that are the query information. Note that the content of the inference processing differs depending on the target logical inference model and the logical inference engine used, but various specific methods can be applied, such as the abductive inference method described in Non-Patent Document 1.
[0023] The monitoring unit 13 (monitoring means) monitors the execution status of the inference process executed by the execution unit 12 and acquires profile information representing the execution status (step S2). Specifically, the monitoring unit 13 acquires profile information of the calculation process executed by the execution unit 12 by monitoring the processing state inside the logical inference engine executed based on the logical rules in the execution unit 12. The profile information is, for example, statistical information regarding the call status of functions inside the logical inference engine, and in particular, for functions that take logical expressions or inference rules as arguments, the data format is such that statistical information for each logical predicate or inference rule corresponding to the argument can be acquired. Note that the means by which the profile information is acquired is arbitrary, and as long as the above conditions can be met in the implementation, an existing profiling tool, such as GNU Profiler, may be used.
[0024] The estimation unit 14 (estimation means) estimates and lists candidate bottlenecks from the profile information and bottleneck knowledge information (step S3). The method for listing candidate bottlenecks is arbitrary. For example, it may be determined whether the currently targeted profile information satisfies a condition set for each bottleneck included in the bottleneck knowledge information, and bottlenecks that return true may be listed as candidates. Furthermore, for example, if bottlenecks are expressed as weight parameters of some statistical analyzer, candidate bottlenecks may be determined based on the results of mapping the profile information into a vector space by any means and using the resulting mapping as input for statistical analysis.
[0025] Here, an example of bottleneck estimation by the estimation unit 14 will be given. For example, in a hypothetical inference engine based on the method shown in Non-Patent Document 1, if an inference process using a certain inference rule is executed with an abnormal frequency, that is, if the profile information indicates that the execution frequency of the inference process of a certain inference rule is equal to or greater than a threshold, possible bottlenecks that can be suspected from this include, for example, "the number of inference rules having in their antecedents the same predicate as the consequent of that inference rule is a problem" or "the argument of the consequent of that inference rule is overly abstract, resulting in an abnormally large number of combinations of logical expressions to which the inference rule can be applied," and such bottlenecks are estimated as candidates.
[0026] Here is another example of bottleneck estimation. For example, if profile information reveals that most of the computation time is spent on unification processing for a certain predicate p, the direct cause is found to be the occurrence of a large number of logical expressions containing predicate p among the candidate hypotheses. Therefore, the bottleneck can be identified by searching for the cause of the large number of mutually unifiable logical expressions containing predicate p. Potential bottlenecks based on such profile information include the following: A large number of combinations of logical expressions to which inference rules that derive logical expressions containing predicate p can be applied exist among the candidate hypotheses, resulting in the generation of a large number of predicates p. A large number of inference rules that derive logical expressions containing predicate p exist in the background knowledge information, resulting in the generation of a large number of logical expressions containing predicate p by using these rules in the candidate hypotheses. The problem is not the number of logical expressions containing predicate p, but rather their unification, which necessitates the imposition of an exclusive relationship between the inference rules that derive predicate p (i.e., one rule cannot be used in a hypothesis in which the other rule is used).
[0027] Furthermore, for example, if profile information reveals that most of the calculation time is being spent on inference using a certain inference rule A(x) → B(x)^C(y), then the direct cause can be determined to be that "the hypotheses contain a large number of combinations of logical expressions that satisfy B(x)^C(y)," and therefore the following are possible bottleneck candidates: - Possibility that a large number of logical expressions containing predicate B are being generated. By further digging deeper into "the cause of the generation of a large number of logical expressions containing predicate B," more fundamental bottleneck candidates can be identified. Specific candidates are similar to those given in the unification example above. - Possibility that a large number of logical expressions containing predicate C are being generated. The same argument as for predicate B applies here as well.
[0028] The output unit 15 outputs the bottlenecks estimated as candidates as described above as candidates for bottlenecks to be corrected in the query information and background knowledge information (step S4). For example, the output unit 16 may display the bottleneck candidates on a display panel, or may store the bottleneck candidates in a recording medium (not shown). For example, the output unit 15 may output the bottleneck candidates to another device via an input / output interface or a communication interface.
[0029] According to the above configuration, the logical inference device automatically estimates and presents bottlenecks in calculation time in logical inference processing that is performed using query information and background knowledge information as inputs. This improves the efficiency of human time spent examining logical expressions, as compared to manual bottleneck investigation, and also reduces the knowledge and skills required for the work.
[0030] Second Embodiment A second embodiment of the present disclosure will be described with reference to Fig. 3 and Fig. 4. Fig. 3 is a diagram for explaining the configuration of a logical inference device, and Fig. 4 is a diagram for explaining the processing operation of the logical inference device. Note that, here, components having the same functions as those described in the first embodiment are given the same reference numerals, and their description will be omitted as appropriate.
[0031] 3, the logical inference device 10 of this embodiment includes a verification unit 19 in addition to the configuration of the first embodiment. Each function of the verification unit 19 can be realized by the arithmetic unit executing a program for realizing each function stored in the storage device.
[0032] The verification unit 19 (verification means) determines the consistency between the query information and the background knowledge information for the bottleneck candidates estimated and listed by the estimation unit 14 as described above (step S3), and eliminates inappropriate candidates from the bottleneck candidate list (step S3'). Any means for determining consistency may be used. For example, for each bottleneck, conditions that the query information and background knowledge information must satisfy in order for that bottleneck to be adopted as a candidate may be set in advance, and consistency may be determined based on whether the conditions are satisfied. In other words, if the query information and background knowledge information do not satisfy the conditions set for each bottleneck, the verification unit 19 eliminates that bottleneck from the candidate list. Alternatively, for example, the bottleneck knowledge, query information, and background knowledge information may each be mapped to a vector space by any means, and consistency may be determined based on the results of statistical analysis using these vectors as input. The output unit 15 then outputs the remaining bottleneck candidates after excluding inappropriate bottlenecks (step S4).
[0033] An example of bottleneck candidates excluded by the verification unit 19 is shown below. Note that the bottleneck candidates listed here are the examples given above. For a bottleneck candidate whose cause is determined to be the presence of a large number of inference rules in the background knowledge information that lead to a logical expression with predicate p, the validity of the bottleneck can be evaluated by directly checking the content of the background knowledge information. That is, if the background knowledge information contains only a few inference rules that lead to a logical expression with predicate p, for example, if the number is below a threshold, the bottleneck candidate can be rejected. For a bottleneck candidate whose cause is determined to be the generation of a large number of logical expressions with predicate B, the validity of the bottleneck can be evaluated by directly checking the content of the generated hypothesis candidate. For example, if the number of logical expressions with predicate B included in the hypothesis candidate is not that large, for example, if the number is below a threshold, the bottleneck candidate can be rejected.
[0034] <Embodiment 3> Next, a third embodiment of the present disclosure will be described with reference to Figures 5 and 6. Figures 5 and 6 are block diagrams showing the configuration of a logical inference device according to embodiment 3. Note that this embodiment shows an outline of the configuration of the logical inference device described in the above embodiments.
[0035] First, the hardware configuration of the logical inference device 100 in this embodiment will be described with reference to Figure 5. The logical inference device 100 is configured as a general information processing device, and is equipped with the following hardware configuration, for example: CPU (Central Processing Unit) 101 (arithmetic unit); ROM (Read Only Memory) 102 (storage device); RAM (Random Access Memory) 103 (storage device); programs 104 loaded into RAM 103; storage device 105 storing programs 104; drive device 106 for reading and writing data from and to a storage medium 110 external to the information processing device; communication interface 107 for connecting to a communication network 111 external to the information processing device; input / output interface 108 for inputting and outputting data; and bus 109 for connecting the various components.
[0036] The logical inference device 100 can be equipped with the execution means 121, monitoring means 122, and estimation means 123 shown in FIG. 6 by having the CPU 101 acquire and execute the group of programs 104. The group of programs 104 may be stored in advance in the storage device 105 or the ROM 102, for example, and loaded into the RAM 103 by the CPU 101 as needed. The group of programs 104 may be supplied to the CPU 101 via the communication network 111, or may be stored in advance in the storage medium 110, with the drive device 106 reading out the programs and supplying them to the CPU 101. However, the execution means 121, monitoring means 122, and estimation means 123 described above may be constructed using dedicated electronic circuits for realizing such means.
[0037] 5 shows an example of the hardware configuration of an information processing device that is the logical inference device 100, and the hardware configuration of the information processing device is not limited to the above-described case. For example, the information processing device may be configured with a part of the above-described configuration, such as excluding the drive device 106. Furthermore, instead of the above-described CPU, the information processing device may use a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point Number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof.
[0038] The execution means 121 executes inference processing for input information based on inference rules, using background knowledge information in which inference rules are expressed by one or more logical expressions and query information in which input information is expressed by one or more logical expressions. The inference processing based on logical rules is executed based on a logical inference model or a logical inference engine corresponding to the logical rules.
[0039] The monitoring means 122 monitors the execution status of the inference process and acquires profile information representing the execution status. The profile information is, for example, statistical information regarding the call status of functions within the logical inference engine, but may be any information representing the execution status of the inference process.
[0040] The estimation unit 123 estimates, as candidates, bottlenecks that represent problems in the execution of a preset inference process based on the profile information. For example, the estimation unit 123 checks whether the profile information satisfies conditions set corresponding to each bottleneck, and estimates bottlenecks that satisfy the conditions as candidates.
[0041] By configuring the present disclosure as described above, it is possible to automatically estimate bottlenecks that cause long inference times, thereby reducing the amount of work required to build a system.
[0042] The above-described program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0043] Although the present disclosure has been described above with reference to the above-described embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, at least one or more of the functions of the execution unit 121, the monitoring unit 122, and the estimation unit 123 described above may be executed by an information processing device installed and connected anywhere on a network, i.e., may be executed by so-called cloud computing.
[0044] <Supplementary Notes> Some or all of the above embodiments can also be described as in the following supplementary notes. Below, an outline of the configurations of the logical inference device, logical inference method, and program of the present invention will be described. However, the present invention is not limited to the following configurations. (Supplementary Note 1) A logical inference device comprising: execution means for executing an inference process on input information according to the inference rules, using background knowledge information in which inference rules are expressed by one or more logical expressions, and query information in which input information is expressed by one or more logical expressions; monitoring means for monitoring an execution status of the inference process and acquiring profile information representing the execution status; and estimation means for inferring, as a candidate, a bottleneck that represents a problem in the execution of the inference process, based on the profile information. (Supplementary Note 2) The logical inference device according to Supplementary Note 1, wherein, when the profile information satisfies a predetermined condition, the estimation means estimates, as a candidate, the bottleneck that is set in correspondence with the condition. (Supplementary Note 3) The logical inference device according to Supplementary Note 2, wherein the estimation means estimates the candidate bottleneck from the profile information based on bottleneck knowledge information indicating a relationship between a preset execution status of the inference process and the bottleneck. (Supplementary Note 4) The logical inference device according to Supplementary Note 2, wherein the estimation means estimates the candidate bottleneck based on an execution frequency of the inference process according to a specific inference rule. (Supplementary Note 5) The logical inference device according to Supplementary Note 1, wherein the monitoring means acquires, as the profile information, a call status of a function set in accordance with the logical rule due to execution of the inference process. (Supplementary Note 6) The logical inference device according to Supplementary Note 1, further comprising: a verification means for excluding a bottleneck estimated as a candidate from the candidates when the background knowledge information and the query information do not satisfy preset conditions for the bottleneck estimated as a candidate.(Supplementary Note 7) A logical inference method comprising: using background knowledge information in which inference rules are expressed by one or more logical expressions, and query information in which input information is expressed by one or more logical expressions, executing an inference process based on the inference rules for the input information; monitoring an execution status of the inference process to obtain profile information representing the execution status; and inferring, based on the profile information, a bottleneck that represents a problem in the execution of a predetermined inference process as a candidate. (Supplementary Note 8) The logical inference method according to Supplementary Note 7, wherein, if the profile information satisfies a predetermined condition, the bottleneck set in accordance with the condition is inferred as a candidate. (Supplementary Note 9) The logical inference method according to Supplementary Note 8, wherein the candidate bottleneck is inferred from the profile information based on bottleneck knowledge information that represents a relationship between a predetermined execution status of the inference process and the bottleneck. (Supplementary Note 10) The logical inference method according to Supplementary Note 8, wherein the candidate bottleneck is inferred based on the execution frequency of the inference process according to a specific inference rule. (Supplementary Note 11) The logical inference method according to Supplementary Note 7, wherein a call status of a function set in accordance with the logical rules due to execution of the inference process is acquired as the profile information. (Supplementary Note 12) The logical inference method according to Supplementary Note 7, wherein if the background knowledge information and the query information do not satisfy preset conditions for the bottleneck estimated as a candidate, the bottleneck is excluded from the candidates. (Supplementary Note 13) A computer-readable storage medium storing a program for causing a computer to execute processes of: executing an inference process according to the inference rules for the input information using background knowledge information in which inference rules are expressed by one or more logical expressions, and query information in which input information is expressed by one or more logical expressions; monitoring the execution status of the inference process and acquiring profile information representing the execution status; and inferring, as a candidate, a bottleneck that represents a problem in executing the predetermined inference process based on the profile information.
[0045] REFERENCE SIGNS LIST 10 Logical inference device 11 Acquisition unit 12 Execution unit 13 Monitoring unit 14 Estimation unit 15 Output unit 16 Background knowledge information storage unit 17 Query information storage unit 18 Bottleneck knowledge information storage unit 19 Verification unit 100 Logical inference device 101 CPU 102 ROM 103 RAM 104 Program group 105 Storage device 106 Drive device 107 Communication interface 108 Input / output interface 109 Bus 110 Storage medium 111 Communication network 121 Execution means 122 Monitoring means 123 Estimation means
Claims
1. an execution means for executing an inference process on input information according to the inference rules, using background knowledge information in which inference rules are expressed by one or more logical expressions and query information in which input information is expressed by one or more logical expressions; a monitoring means for monitoring an execution status of the inference process and acquiring profile information representing the execution status; an estimation means for estimating, as a candidate, a bottleneck that represents a problem in executing the inference process that has been set in advance, based on the profile information; Equipped with Logical reasoning device.
2. 2. The logical inference device according to claim 1, the estimation means estimates, when the profile information satisfies a preset condition, the bottleneck that is set in correspondence with the preset condition as a candidate; Logical reasoning device.
3. 3. The logical inference device according to claim 2, the estimation means estimates the candidate bottleneck from the profile information based on bottleneck knowledge information indicating a relationship between a preset execution status of the inference process and the bottleneck; Logical reasoning device.
4. 3. The logical inference device according to claim 2, the estimation means estimates the candidate bottleneck based on an execution frequency of the inference process according to a specific inference rule; Logical reasoning device.
5. 2. The logical inference device according to claim 1, the monitoring means acquires, as the profile information, a call status of a function set according to the logical rule by execution of the inference process; Logical reasoning device.
6. 2. The logical inference device according to claim 1, a verification means for excluding a bottleneck estimated as a candidate from the candidates when the background knowledge information and the query information do not satisfy a predetermined condition for the bottleneck estimated as a candidate; Logical reasoning device.
7. Executing an inference process for input information according to the inference rules using background knowledge information in which inference rules are expressed by one or more logical expressions and query information in which input information is expressed by one or more logical expressions; monitoring an execution status of the inference process to obtain profile information representing the execution status; estimating, as a candidate, a bottleneck that represents a problem in executing the predetermined inference process based on the profile information; Logical reasoning methods.
8. 8. A logical inference method according to claim 7, comprising: When the profile information satisfies a preset condition, the bottleneck set in response to the condition is estimated as a candidate. Logical reasoning methods.
9. 8. A logical inference method according to claim 7, comprising: acquiring, as the profile information, a call status of a function set according to the logical rule by executing the inference process; Logical reasoning methods.
10. Executing an inference process for input information according to the inference rules using background knowledge information in which inference rules are expressed by one or more logical expressions and query information in which input information is expressed by one or more logical expressions; monitoring an execution status of the inference process to obtain profile information representing the execution status; estimating, as a candidate, a bottleneck that represents a problem in executing the predetermined inference process based on the profile information; A program that causes a computer to execute a process.