This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-061103, filed on Mar. 18, 2011, the entire contents of which are incorporated herein by reference.
This technique relates to a visualization technique of feasible regions.
Recently, the optimal design by computer simulations are widely conducted. The optimal design by the computer simulations, which is often conducted, is the optimal design by the numerical calculation. For example, as illustrated in
On the other hand, the optimal design by the computer simulations also includes an optimization method by the computer algebra. In this method, the computer simulations are carried out for various input parameter values to calculate output evaluation indicator values for each case. Then, as illustrated in
Incidentally, as for the computer algebra, a technique, which is called a Quantifier Elimination (QE), is well-known. This technique is a technique for transforming an expression such as ∃x (x2+bx+c=0) to an equivalent expression in which a quantifier (∃ and ∀) is eliminated such as b2−4c≧0.
Specifically, the QE method is described in the following document. However, because a lot of documents for the QE method exist, useful documents other than the following document exist. This document is incorporated herein by reference.
Anai Hirokazu and Yokoyama Kazuhiro, “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Ltd., “Series No. 1”, Vol. 554, pp. 64-70, November, 2007, “Series No. 2”, Vol. 555, pp. 75-81, December, 2007, “Series No. 3”, Vol. 556, pp. 76-83, January, 2008, “Series No. 4”, Vol. 558, pp. 79-85, March, 2008, “Series No. 5”, Vol. 559, pp. 82-89, April, 2008.
Anai Hirokazu, Kaneko Junji, Yanami Hitoshi and Iwane Hidenao, “Design Technology Based on Symbolic Computation”, FUJITSU, Vol. 60, No. 5, pp. 514-521, September, 2009.
Jirstrand Mats, “Cylindrical Algebraic Decomposition—an Introduction”, Oct. 18, 1995.
Namely, there is no conventional technique for visualizing an error of a model to be processed in the computer algebra.
A method relating to this technique includes: (A) first generating, from data of a plurality of model expressions, each representing a relationship between input parameters and output evaluation indicators, and data of a range of residuals for each of the plurality of model expressions, at least one of a first problem to calculate a first region that is capable of being feasible with the plurality of model expressions, value ranges of the input parameters and the range of the residuals for each of the plurality of model expressions and a second problem to calculate a second region that is always feasible with the plurality of model expressions, the value ranges of the input parameters and the influence of the range of the residuals for each of the plurality of model expressions; (B) causing a processing unit that calculates a feasible region by a quantifier elimination method to calculate a feasible region or regions for a generated problem or problems in the first generating to obtain data of the feasible region or regions; and (C) second generating visualization data of the data of the feasible region or regions to output the visualization data.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
A simulator 200 carries out a predetermined processing for inputs of the input parameters to calculate an output evaluation indicator value, and outputs the calculated output evaluation indicator value. When the simulator 200 is a simulator for electrical circuits, the simulator 200 is a Simulation Program with Integrated Circuit Emphasis (SPICE) simulator, for example. However, the simulator 200 may be one of other simulators.
Moreover, a QE tool 300 is a module for carrying out a processing to transform an expression such as ∃x (x2+bx+c=0) to an equivalent expression in which the quantifier (∃ and ∀) is eliminated such as b2−4c≧0. The QE tool 300 is already known, therefore, further explanation is omitted.
The simulator 200 and QE tool 300 may be integrated into the visualization processing apparatus 100, and may be implemented in another computer connected through the network.
The input unit 101 stores input data according to instructions from a user into a first data storage unit 103, fourth data storage unit 113 or fifth data storage unit 117. The output evaluation indicator value obtaining unit 105 obtains the output evaluation indicator value from the simulator 200 by using data stored in the first data storage unit 103, and stores the obtained data into the second data storage unit 107. The model expression generator 109 carries out a processing by using data stored in the second data storage unit 107 and stores processing results into the third data storage unit 111. The residual calculator 115 carries out a processing by using data stored in the third data storage unit 111 and data stored in the fourth data storage unit 113, and stores processing results into the fifth data storage unit 117. The controller 119 causes the QE tool 300 to carry out a processing by using data stored in the fifth data storage unit 117 and third data storage unit 111, obtains data of a feasible region from the QE tool 300, and stores the obtained data into the sixth data storage unit 121. The output processing unit 123 generates visualization data by using data stored in the sixth data storage unit 121, and outputs the visualization data to the output device 125. The output device 125 may be a display device, printer or the like. Furthermore, the output device 125 may be one of other terminal apparatuses.
Incidentally, data may be directly inputted from the input unit 101 to the third data storage unit 111. Moreover, the input unit 101 may input instructions from the user into the respective processing units.
For example, data as illustrated in
For example, data as illustrated in
Next, operations of the visualization processing apparatus 100 will be explained by using
Incidentally, although an example that the output evaluation indicator values are obtained by the simulation was explained above, the output evaluation indicator values may be obtained by the experimentation. In such a case, data is stored in the second data storage unit 107 from the user through the input unit 101.
Next, the model expression generator 109 calculates a model expression for each of the output evaluation indicators by a method such as the least squares method, and stores data of the model expressions into the third data storage unit 111 (step S3). Schematically, as illustrated in
Next, the residual calculator 115 determines based on the data stored in the fourth data storage unit 113 or an instruction from the user, whether or not the measurement values are used (step S5). When the measurement values are used, the residual calculator 115 identifies, for each of the output evaluation indicators, a range of the residuals by calculating plural residuals between the measurement value and a calculated value (also called a predicted value), and stores data of the range of the residuals into the fifth data storage unit 117 (step S7). Specifically, when data as illustrated in
The range of the residuals is schematically illustrated in
Incidentally, it is presumed that the model expressions into which these residuals are considered are represented as follows:
fr=F(x,y)+δf
gr=G(x,y)+δg
On the other hand, when the measurement values are not used, data of the range of the residuals has been stored in the fifth data storage unit 117 through the input unit 101. Therefore, the processing shifts to the step S9 without conducting the calculation of the range of the residuals.
Then, the controller 119 uses the data of the model expressions, which is stored in the third data storage unit 111, and data of the range of the residuals, which is stored in the fifth data storage unit 117, to generate (1) a QE problem in case that no residual is considered, (2) a QE problem to calculate a region which is always feasible under influence of the residuals, and (3) a QE problem to calculate a region which can be feasible under the influence of the residuals, and stores the generated data into a storage device such as a main memory (step S9).
Specifically, following expressions are generated.
Problem for (1)
∃x∃y[f−F(x,y)=0 g−G(x,y)=0ψ(x,y)]
Namely, “∃” that represents existence is attached to the input parameters x and y. Then, the model expression of each output evaluation indicator and the range of the input parameters ψ(x, y) are coupled by “ ” as a condition. Incidentally, data set to the controller 119, for example, by the input unit 101 is used for ψ(x, y). The data stored in advance in a storage device may be used. For example, the range of the input parameters ψ(x, y) is “0≦x≦2 0≦y≦2”.
Problem for (2)
∃x∃y∀δf∀δg[(−d2≦δf≦d1−e2≦δg≦e1)=>fr−F(x,y)−δf=0 gr−G(x,y)−δg=0ψ(x,y)]
Namely, “∃” is attached to the input parameters x and y, and “∀” that represents “all” is attached to the residuals δf and δg. Then, a condition is defined that, if an expression that the ranges of the residuals are coupled by “ ” is satisfied, an expression that the model expression of each output evaluation indicator, which includes the influence of the residuals, and the ranges of the input parameters ψ(x, y) are coupled by “ ” has come into effect.
Problem for (3)
∃x∃y∃δf∃δg[fr−F(x,y)−δf=0 gr−G(x,y)−δg=0ψ(x,y)−d2≦δf≦d1−e2≦δg≦e1]
Namely, “∃” is attached to the input parameters x and y, and the residuals δf and δg. Then, as a condition, the model expressions of each output evaluation indicator, which includes the influence of the residuals, the range of the input parameters ψ(x, y) and the ranges of the residuals are coupled by “ ”.
The QE problems are generated in such a way. Here, it is presumed that a solution of (1) is represented as Φ(f, g), a solution of (2) is represented as Ψa(f, g), and a solution of (3) is represented as Ψp(f, g).
Shifting to an explanation of a processing in
After that, the output processing unit 123 generates visualization data of the solutions stored in the sixth data storage unit 121, and outputs the visualization data to the output device 125 (step S13). In this embodiment, the visualization data to display the solution Φ(f, g) of (1), solution Ψa(f, g) of (2) and solution Ψp(f, g) of (3) in the superimposed form is generated.
For example, data as illustrated in
For example, when the result as illustrated in
Returning to the explanation of the processing, the input unit 101 determines whether or not an instruction to adjust the range of the residuals is inputted from the user (step S15). When the adjustment of the range of the residuals is not carried out, the processing ends. On the other hand, the adjustment of the range of the residuals is carried out, the input unit 101 accepts an input of the range of the residuals, and stores the input data into the fifth data storage unit 117 (step S17). Then, the processing returns to the step S9 through terminal B.
Thus, the visualization data as illustrated in
Furthermore, in order to achieve the target of the performance, a design method for improving the accuracy of the modeling and optimization stepwise can be realized. For example, after applying this method to a model in a lower order and narrowing the region satisfying a predetermined performance in the objective space (e.g.
Furthermore, by generating plural model expressions, carrying out the aforementioned processing for the plural model expressions, and visualizing the feasible regions cumulatively, the modeling error may further be grasped. Incidentally, an example that the number of output evaluation indicators is 2 was described above. However, the feasible regions may be displayed for three output evaluation indicators.
Furthermore, the feasible region may be separately displayed without superimposing. For example, in response to a user's instruction, any one of the feasible regions may be displayed, or a combination of two or more arbitrary regions may be displayed.
Next, a specific example will be explained by using
f=F(x,y)=x2+y2
g=G(x,y)=x2+y2−2x+1
The ranges of the input parameters are as follows:
0≦x≦2 0≦y≦2
Then, the ranges of the residuals are as follows:
− 1/10≦δf≦ 1/10
− 1/10≦δg≦ 1/10
Then, the following QE problems are obtained.
In case of (1)
∃x∃y[f−F(x,y)=0 g−G(x,y)=0 0≦x≦2 0≦y≦2]
In case of (2)
∃x∃y∀δf∀δg[(− 1/10≦δf≦ 1/10− 1/10≦δg≦ 1/10)=>fr−F(x,y)−δf=0 gr−G(x,y)−δg=0 0≦x≦2 0≦y≦2]
In case of (3)
∃x∃y∃δf∃δg[fr−F(x,y)−δf=0 gr−G(x,y)−δg=0 0≦x≦2 0≦y≦2− 1/10≦δf≦ 1/10− 1/10≦δg≦ 1/10]
Then, the solution Φ(f, g) of (1), solution Ψa(f, g) of (2) and solution Ψp(f, g) of (3) are as follows:
The solution Φ(f, g) of (1)
(g==0&&f==1)∥(0<g≦1&&1−2√{square root over (g)}+g≦f≦1+2√{square root over (g)}+g)∥(1<g≦4&&−1+g≦f≦3+g)∥(4<g<5%%(−1+g≦f≦1−2√{square root over (−4+g)}+g|1+2√{square root over (−4+g)}+g≦f≦3+g))∥(g==5&&(f==4∥f==8))
The solution Ψa(f, g) of (2)
The solution Ψp(f, g) of (3)
When such solutions are visualized, an entire diagram illustrated in
Although the embodiment of this technique was explained above, this technique is not limited to this embodiment. For example, the functional block diagram illustrated in
Furthermore, as for the processing flow, as long as the processing result does not change, the order of the processing may be changed, and the steps may be executed in parallel. In addition, a result obtained by reflecting the range of the residuals, which is calculated based on the measurement values, later, instead of “first”, may be displayed. Specifically, first, the steps S17 and S9 may be carried out, then the steps S7 and S9 may be carried out.
In addition, although an example that the visualization processing apparatus is implemented by a stand-alone type computer was explained, the aforementioned processing may be carried out by plural computers connected with the computer network.
In addition, the aforementioned visualization processing apparatus is a computer device as shown in
The aforementioned embodiment is summarized as follows:
A visualization processing method according to this embodiment includes: (A) first generating, from data of a plurality of model expressions, each representing a relationship between input parameters and output evaluation indicators, and data of a range of residuals for each of the plurality of model expressions, at least one of a first problem to calculate a first region that is capable of being feasible with the plurality of model expressions, value ranges of the input parameters and the range of the residuals for each of the plurality of model expressions and a second problem to calculate a second region that is always feasible with the plurality of model expressions, the value ranges of the input parameters and the influence of the range of the residuals for each of the plurality of model expressions, wherein the data of the plurality of model expressions is stored in a first data storage unit, and the data of the range of the residuals is stored in a second data storage unit; (B) causing a processing unit that calculates a feasible region by a quantifier elimination method to calculate a feasible region or regions for a generated problem or problems in the first generating to obtain data of the feasible region or regions; and (C) second generating visualization data of the data of the feasible region or regions to output the visualization data.
By carrying out such a processing, the modeling error which appears in the residuals can be grasped by the feasible region or regions. Incidentally, two or more regions may be simultaneously displayed or separately displayed.
Moreover, the aforementioned visualization method may include (D) generating, from the data of the plurality of model expressions, a third problem to calculate a third region that is feasible with the plurality of model expressions and the value ranges of the input parameters; (E) causing the processing unit to calculate a feasible region for the third problem to obtain data of the feasible region for the third problem. In such a case, the second generating may include generating visualization data to display superimposed feasible regions, from the data of the feasible regions. The modeling error can easily be grasped by this processing.
Furthermore, the aforementioned visualization processing method may further include: (F) calculating values of the output evaluation indicators by substituting specific values of the input parameters into each of the plurality of model expressions, wherein the measurement value of the output evaluation indicators are stored in a third data storage unit in association with the specific values of the input parameters; and (G) identifying, for each of the plurality of model expressions, the range of the residuals by calculating residuals between measurement values of the output evaluation indicators for the specific values of the input parameters and the calculated values of the output evaluation indicators, and storing the identified range of the residuals into the second data storage unit. Thus, the range of the residuals may be grasped based on the measurement values. By doing so, the error between values from an actual apparatus and values from the model can be grasped.
Furthermore, the aforementioned visualization processing method may further include: (H) accepting an input of the data of the residuals from a user, and storing the inputted data into the second data storage unit. Thus, by designating the error presumed in the model expressions in a form of the range of the residuals, problems can be visualized.
Incidentally, it is possible to create a program causing a computer to execute the aforementioned processing, and such a program is stored in a computer readable storage medium or storage device such as a flexible disk, CD-ROM, DVD-ROM, magneto-optic disk, a semiconductor memory, and hard disk. In addition, the intermediate processing result is temporarily stored in a storage device such as a main memory or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-061103 | Mar 2011 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
7774173 | Orii et al. | Aug 2010 | B2 |
20050159935 | Orii et al. | Jul 2005 | A1 |
20050257178 | Daems | Nov 2005 | A1 |
20070244574 | Orii et al. | Oct 2007 | A1 |
20070260433 | Seki | Nov 2007 | A1 |
20090182538 | Yanami et al. | Jul 2009 | A1 |
20090182695 | Yanami et al. | Jul 2009 | A1 |
20110022365 | Iwane et al. | Jan 2011 | A1 |
20110112811 | Matsumoto | May 2011 | A1 |
Number | Date | Country |
---|---|---|
7-056608 | Mar 1995 | JP |
2005-129015 | May 2005 | JP |
2007-272478 | Oct 2007 | JP |
2007-310873 | Nov 2007 | JP |
2009-169558 | Jul 2009 | JP |
2010-033615 | Feb 2010 | JP |
Entry |
---|
Saugata Basu(“An Improved Algorithm for Quantifier Elimination Over Real Closed Fields”,IEEE,1997). |
David Monniaux(“A Quantifier Elimination Algorithm for Linear Real Arithmetic”,VERIMAG, Sep. 4, 2008). |
David Monniaux (“A Quantifier Elimination Algorithm for Linear Real Arithmetic”,VERIMAG, Sep. 4, 2008). |
Saugata Basu (“An Improved Algorithm for Quantifier Elimination Over Real Closed Fields”, IEEE,1997). |
Belair et al.(“Quantifier Elimination in Valued Ore Modules”, Fonds de la Rec.here.he Scientifique,2009, pp. 1-30. |
Anai, Hirokazu et al., “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Series No. 1, vol. 554, pp. 64-70, Nov. 2007 (English Translation). |
Anai, Hirokazu et al., “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Series No. 2, vol. 555, pp. 75-81, Dec. 2007 (English Translation). |
Anai, Hirokazu et al., “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Series No. 3, vol. 556, pp. 76-83, Jan. 2008 (English Translation). |
Anai, Hirokazu et al., “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Series No. 4, vol. 558, pp. 79-85, Mar. 2008 (English Translation). |
Anai, Hirokazu et al., “Introduction to Computational Real Algebraic Geometry”, Mathematics Seminar, Nippon-Hyoron-sha Co., Series No. 5, vol. 559, pp. 82-89, Apr. 2008 (English Translation). |
Anai, Hirokazu et al., “Design Technology Based on Symbolic Computation”, Fujitsu, vol. 60, No. 5, pp. 514-521, Sep. 2009 (English Abstract). |
Jirstrand, Mats, “Cylindrical Algebraic Decomposition—an Introduction”, Department of Electrical Engineering, Linköping University, Linköping, Sweden, Oct. 18, 1995. |
Japanese Office Action mailed Aug. 26, 2014 for corresponding Japanese Application No. 2011-061103, with Partial Translation, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20120239357 A1 | Sep 2012 | US |