Calculation device
By using circles and spheres to allow negative values in utility function coefficients, the utility function achieves flexible and intuitive multivariate calculations, addressing the limitations of existing complex and two-variable-limited utility functions.
Patent Information
- Application Number
- JP2024199031
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-17
- Filing Date
- 2024-11-14
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2044-11-14
AI Technical Summary
Existing utility functions are complex, limited to two variables, and difficult to express in multiple variables, lacking flexibility in shaping optimal points, and are mathematically unattractive due to radial contour line arrangements.
Utilizes implicit functions with non-negative, non-increasing g1(u) and g2(u) functions, and introduces circles or spheres to allow negative values, enabling flexible contour line arrangements and multivariate analysis.
Generates a mathematically refined utility function with flexible contour line arrangements, allowing for intuitive user-defined shapes and efficient multivariate calculations.
Smart Images

Figure 2025142186000001_ABST
Abstract
Description
[Technical Field]
[0001] This research relates to the invention of tractable utility functions using circles and spheres, and methods for generating them from data. It also relates to mathematical optimization and artificial intelligence. [Background technology]
[0002] If x1 and x2 represent the consumption of the first and second goods, and u represents the utility felt by a person, the utility function is expressed as u = f(x1, x2). If p1 and p2 are the prices of each good, the cost is p1x1 + p2x2. In economics, the goal u is set to u0 and the minimization problem "min x1x2 p1x1+p2x2,st f(x1,x2)-u0=0" is solved using a solver to find the optimal x1 and x2. The specific formula for the utility function is u=x1+x2,u=logx1+logx2, u=x1 0.7 x2 0.3 However, although the general definition of a convex function is clear, it is surprisingly difficult to show a concrete formula for it, and the formula tends to be complex and untractable, or to have only two variables and not be able to be expanded to multiple variables.
[0003] The invention of a tractable utility function that can be multivariate solved the above problem (Patent Document 1). This utility function has the characteristics of being nonlinear, multivariate, convex, and part of the function can be generated from observed data. For example, u=x1 0.8 +x2 0.9 It is similar to a normal convex function, but the coefficients are g1(u) and g2(u). [Number 1] u = g1(u)x1 0.8 +g2(u)x2 0.9 , where g1(u) , g2(u) is a non-increasing function of u for positive values This is an implicit function.
[0004] To make (Equation 1) easier to understand, let us use a concrete example: g1(u)=1 / u1.1 ,g2(u)=1 / u 1.3 and specify it as [Number 2] u = (1 / u 1.1 )x1 0.8 +(1 / u 1.3 )x2 0.9 A concrete example is shown below. (Equation 2) cannot be solved algebraically for u, so the function cannot be expressed in the form of u = ~. However, (Equation 2) has only one real solution for a positive value of u. By calculating the value of that positive value of u using a computer, it can be used as if it were a function. And the contour line for u = 1 is 1 = x1 0.8 +x2 0.9 Since the contour lines drawn on the (x1, x2) plane are convex with respect to the origin, (Equation 2) has the convexity property, which is useful in optimization. Furthermore, (Equation 2) is an implicit function, but if we consider the right-hand side as a string, it becomes (1 / u 1.1 )x1 0.8 and (1 / u 1.3 )x2 0.9 Since it is a character structure in which the above terms are connected by addition, to add x3 as a third variable, in terms of character string processing, it is sufficient to add a term containing the variable x3 by addition. This makes it possible to create multiple variables in a very intuitive way.
[0005] If we generalize the utility function using implicit functions such as (Equation 1) and (Equation 2), we get [Number 3] u = g1(u)f1(x1) + g2(u)f1(x2), where g1(u) and g2(u) are non-negative, non-increasing functions, and f1(x1) and f2(x2) are non-negative functions. In claim 1 of (Patent Document 1) and (Patent Document 2: Generation of f), this is the utility function.
[0006] Figure 1 is a decomposition diagram of the utility function. The decomposition diagram is a tool to make the utility functions of embodiment 1 and embodiment 3 easier to understand. (Equation 3) is an implicit function, "u = g1(u)f1(x1) + g2(u)f1(x2)," and it is difficult to imagine what kind of function it is. Using the decomposition diagram in Figure 1 makes it much easier to see (Equation 3) and improves its usability.
[0007] If we consider (Equation 3) with f1 and f2 as variables, and plot a graph of u = g1(u)f1 + g2(u)f1 for a given constant u, with f2 on the vertical axis and f1 on the horizontal axis, we get a straight line with a slope of -g1(u) / g2(u) and an intercept of u / g2(u), which looks like line 1 in the first quadrant of Figure 1. The linear equation u = g1(u)f1 + g2(u)f1 in (Equation 3), where f1 and f2 are variables, is called a contour equation, and its graph is called a straight line, but is actually called a contour line. The contour line is drawn in the first quadrant of the exploded view in Figure 1.
[0008] From (Equation 3), take only f1(x1) and plot its graph in the fourth quadrant as curve 4. Similarly, take only f2(x2) and plot its graph in the second quadrant as curve 6.
[0009] Point 3 is placed on line 1. Next, point 7 is placed directly to the left of point 3, and point 5 is placed directly below point 3. Then, point 9 is placed directly below point 7 and beside point 5. Point 9 gives the (x1, x2) coordinates that give the value of u at point 3. If point 3 is then moved in the upper left or lower right direction along line 1, points 7, 5, and 9 will move in unison. The trajectory of point 9 at this time is curve 8. The value of u at the point on curve 8 is the same as point 3 on line 1, so curve 8 is the u contour of (Equation 3).
[0010] Line 2 in the first quadrant of Figure 1 is the line that results when the value of u increases from Line 1. In this case, Lines 1 and 2 do not intersect. This is because, as the value of u increases, the value of u on the left side of u = g1(u)f1 + g2(u)f2 increases, and because the right side satisfies g1' ≤ 0 and g2' ≤ 0, Line 1 shifts uniformly to the right. (However, strictly speaking, when g1' = 0 and g2' = 0, there is no shift, so only one side can be zero.) This uniform right shift is generally non-parallel. In other words, the slope of Lines 1 and 2 is -(g1(u) / g2(u)), but because both the numerator and denominator are non-negative, non-increasing functions, the slope can become steeper or shallower as u increases. Furthermore, if Line 2 follows a locus like point 9 in the third quadrant, the contour line corresponding to Line 2 can be drawn as shown in Curve 10. Furthermore, since the shift from line 1 to line 2 in Figure 1 is a non-parallel shift, curves 8 and 10 in the third quadrant change into various shapes to reflect this non-parallel shift, and it is possible to realize contour lines in which the optimal points form a variety of arrangements, such as an S-shape.
[0011] The mechanism of (081) has an unfortunate aspect. That is, there is a constraint that g1(u) and g2(u) in the utility function of the invention (Equation 3) must be non-negative, non-increasing functions. Below we explain what happens when we remove this non-negativity constraint on g1 and g2.
[0012] Figure 3 is a detailed drawing of only the first quadrant of Figure 1. Looking at Figure 3, it can be seen that as u increases, the contour lines shift from Line 1 to Line 2 to Line 3 to Line 4, with varying degrees of inclination, without any intersections. Line 5 is a horizontal contour line, where g1(u) = 0. Line 5 then continues to Line 6, Line 7, and Line 8. Lines 6 to 8 are contour lines when g1(u) < 0, a case that was excluded in Patent Document 1 and Patent Document 2.
[0013] The lines 5 to 8 will be explained in detail below using mathematical formulas. The equations of lines 1 to 8 in Figure 3 are: [Math 4]f2=-(g1(u) / g2(u))f1+u / g2(u) and the slope is -(g1(u) / g2(u)). If g1 and g2 are positive non-increasing functions, then as u increases, both the numerator and denominator of the slope become smaller, so the magnitude of the slope can be expressed as both an increase and a decrease. This is the family of lines such as lines 1 to 4.
[0014] However, if u increases further and g1(u) = 0, the slope of (Equation 4) becomes zero and the contour lines are drawn horizontally like line 5. Then, if u increases further and g1(u) < 0, the slope of (Equation 4) becomes positive and the contour lines are drawn sloping upward to the right. Therefore, if g1(u) < 0 is accepted, the contour lines will slope upward to the right, but the slope -(g1(u) / g2(u)) has a smaller denominator and a negative g1 value in the numerator, increasing in absolute value, because both g1 and g2 are non-increasing functions of u. Therefore, since the denominator decreases and the numerator increases, the slope can only increase. A decrease in the slope is mathematically impossible. For this reason, when g1(u) and g2(u) are both positive, the contour lines drawn in the first quadrant of Figure 1 could both increase and decrease. However, when g1(u) becomes negative, the behavior of the slope changes, and the line only shows a series of radially spreading lines whose gradients always become steeper as u increases. In other words, the upward-sloping lines 6, 7, and 8 in Figure 3 can only be arranged in a radial pattern. As a result of the fact that lines 6, 7, and 8 in Figure 3 are all arranged radially, the contour lines that appear in the third quadrant also show only changes that cause the slope to become steeper on one side, which causes the flexibility of the function to be lost, and even if you try to generate a utility function from the data, you will only be able to generate a function that fits poorly. This is because it is theoretically impossible. However, if lines 6, 7, and 8 were arranged in a way that did not open radially, the two contour lines would intersect somewhere, and the implicit function u would not have a single numerical solution, but would have two or more values. Therefore, if lines 6, 7, and 8 were arranged in a way that did not open radially, then equation 3 would be unusable as a utility function. [Prior art documents] [Patent documents]
[0015] [Patent Document 1] Patent Publication No. 2020-038607 [Patent Document 2] Patent application 2022-196695
[0016] [Non-Patent Document 1] "The Income-Demand Curve: Implicit Function and Data Analysis Methods", Vol. 19, No. 1, pp. 51-66, 2021, Journal of Quantitative Economics, published by the Indian Econometric Society Summary of the Invention
[0017] The present invention is an invention of a function (known as a utility function in economics) with desirable properties as an objective function for mathematical optimization, and a method for generating a utility function. When the utility function is u=F(x1, x2), the contour line of u is convex to the origin, as in Figure B of Figure 5, but the arrangement of optimal points can be arranged in a variety of free curved lines, such as an S-shape, as in the ● row. In reality, situations where the arrangement of optimal points, as in Figure B of Figure 5, is not linear like the ● row, but is nonlinear, such as an S-shape, are observed, but it was difficult to express mathematically. The traditional convex nonlinear utility function is (1) The formula structure is complex, (2) Two variables are the limit and multiple variables cannot be used. (3) It is difficult to control and the user cannot create the shape they want. The invention in (Prior Document 1) overcomes these difficulties by using an implicit function, (1) The formula structure is simple (as a string, it is an addition), (2) Multivariate analysis is possible. (3) Users can use regression techniques to create the desired results. (4) It can be expressed as an “exploded view” like the one shown in Figure 1, allowing for visual design of mathematical formulas. This invention realizes a nonlinear utility function. The present invention shares the same objective as (Patent Document 1), but the mathematical properties have been improved, and although performance may decline in some areas, overall performance is improved. The technical feature is that the input x1, x2, (x3) are surrounded by a circle (sphere). This feature eliminates the mathematically unattractive feature of (Prior Art 1), discussed in (0014), in which the contour lines are arranged radially, resulting in a more mathematically refined utility function.
[0018] In this invention, by specifying ●1 to ●5 shown in Figure 5A and the straight lines passing through those ●, a numerically computable utility function u=F(x1, x2) with contour lines as shown in Figure 5B can be generated. The curves convex to the origin shown in Figure 5B are the contour lines of the generated utility function, and are tangent to the dotted lines in Figure B at ●. It can be seen that the ● points in Figure B are fairly similar to the input in Figure A. The arrangement of ● in Figure 5B forms an S-shape, which reflects the fact that the user specified ●1 to ●5 in an S-shape in Figure A, and the mathematical formula was generated based on that.
[0019] The technology for generating a mathematical formula like that shown in Figure B using Figure A (Figure 5) introduced in (0018) as input was also realized in (Patent Document 1), but as mentioned in (0014), the invention of (Patent Document 1) had an unintuitive feature in that when g1(u) or g2(u) became negative, the contour lines had no choice but to spread radially. In the utility functions of (Embodiment 1) and (Embodiment 3) of the present invention, this unintuitive behavior is resolved by using circles and spheres, resulting in a mathematically sophisticated system.
[0020] To put it simply, the present invention can be described as follows: [Number 5] g0(u)=g1(u)f1(x1)+g2(u)f2(x2) This invention relates to a utility function u = F(x1, x2) realized by calculating the numerical solution for u in the following nonlinear equation. Equation 5 is an equation that cannot be solved for u and cannot be expressed as u = ~, so it is not a function. However, it is an implicit function, F(x1, x2, u) = 0, and can be calculated numerically with u as a unique real number. In Patent Document 1, g0(u) was restricted to a positive increasing function, while g1(u) and g2(u) were restricted to positive non-increasing functions. However, in this invention, g0(u) to g2(u) are not limited to positive values, and both positive and negative values are allowed. Mathematically, this eliminates the unnatural behavior caused by positive and negative values, resulting in a more mathematically sophisticated utility function. As a by-product, f1(x1) and f2(x2), which were restricted to positive values in the prior art, now allow negative values. This allows users to freely determine the function forms of g and f more easily than before. However, in the present invention, unlike Patent Document 1, g0(u) to g2(u) are not necessarily non-increasing functions, but are functions in which g0(u) to g2(u) increase and decrease appropriately in conjunction with each other so that the contour lines do not intersect, according to a circular formula or the like. Utility functions that realize g0(u) to g2(u) that increase and decrease appropriately based on this circular formula or the like are embodiments 1 and 3, and techniques for generating this formula in a desired form are embodiments 2 and 4. Embodiments 1 and 2 relate to a two-variable function u=F(x1, x2), and embodiments 3 and 4 relate to a three-variable function u=F(x1, x2, x3). [Problem to be solved by the invention]
[0021] The non-negative constraints on g1(u) and g2(u) in (Equation 3) have been removed, and performance has been improved to a utility function that allows g1(u) and g2(u) to take negative values. However, all of the advantages realized in (Patent Document 1), such as a simple formula structure, the ability to multi-variate, the ability to express the optimum point in various shapes such as S-shapes and waves instead of just a straight line, and the ability to generate the shape as specified by the user, are maintained. [Means for solving the problem]
[0022] The solution to the problem that arises when the non-negativity constraints on g1(u) and g2(u) are removed is easy to understand by considering it in terms of Figure 1. In the exploded view, the contour lines in the first quadrant have the property that they become uniformly radial when g1(u) becomes negative. All we need to do is eliminate this radial property of the contour lines and make their slopes more gradual. So we solved it as shown in Figure 2. (Figure 2) differs from (Figure 1) only in the first quadrant. In (Figure 2), a circle such as circle 12 is introduced in the first quadrant of (Figure 1). (Note: In (Figure 2) etc., f1 is drawn on the vertical axis and f2 on the horizontal axis. The reader should note that the vertical and horizontal axes of the figure are reversed from the conventional practice.) Point F in Figure 2 corresponds to the upper limit of u, which the user has appropriately determined, and is placed on the circle. Furthermore, two moving points S1 and S2 are placed on the circle. As u rises, S1 moves counterclockwise, and S2 moves clockwise toward point F. Line 1 in Figure 2 is a contour line, and is defined as a line that passes through two points, S1 and S2. When u rises, points S1 and S2 move, becoming lines 2 and 10. Using a circle and a moving point in this way, (1) Contour lines, such as line 10 in Figure 2, can slope not only downward to the right, but also upward to the right. (2) As u increases, the contour lines shift in one direction, so two contour lines with different values of u do not intersect. (3) Depending on the amount of movement of S1 and S2, the slope of the contour line can change both steeply and slowly. By using circles, the contour lines acquire the properties (1) to (3), and in particular, the property that in the prior art, when the contour lines slope upward to the right, they had to be radial is eliminated. This makes it possible to express contour lines that slope both upward and downward to the right, and the slope can be changed in both a steep and a steep manner. Furthermore, the fourth property is (4) Since the center of the circle is (0,0), f1 and f2 can be either positive or negative. However, there are surprisingly few types of nonlinear functions that take both positive and negative values. For example, f1=x1 0.5 becomes negative only when x1 is a complex number, so it seems that there are few places where it can be used. However, this by-product may be surprisingly important.
[0023] Curve 4 in the second quadrant of Figure 2 and curve 8 in the third quadrant are both the same as in Figure 1. Curve 3 is the graph of f2(x2), and curve 4 is the graph of f1(x1). Point 6 is placed directly beside point 5, and point 7 is placed directly below point 5. Point 8 is placed directly below point 6 and beside point 7. If point 5 is moved along line 1, point 8 also moves, so the locus of point 8 is called curve 9. This curve 9 is the contour line of the utility function u = F(x1, x2). As u increases, line 1 shifts to become lines 2 and 10, and the contour line of curve 9 in the third quadrant also changes accordingly, but the property of having no intersections is maintained.
[0024] Furthermore, since the center of a circle on the f1f2 plane is (0,0), even if f1 and f2 are negative values, the contour lines maintain the property of (0024). Therefore, the non-negativity constraint on f1 and f2 in (Patent Document 1) is also removed, and f1 and f2 can be either positive or negative.
[0025] Techniques such as (0022) to (0024) have removed the non-negativity constraints on g and f. However, in this invention, u can only be calculated within the range where the values of f1 and f2 are inside the circle. Outside the circle, the two contour lines generally intersect, and u becomes an invalid utility function. In the prior art, u could be calculated for all non-negative f, but in this invention, it can only be calculated within the range where the values of f1 and f2 are inside the circle. In this respect, the performance of this invention is inferior to that of the prior art, but in practice, this is not a major drawback because the user can freely determine the radius of the circle.
[0026] If the utility function has two variables, such as u = F(x1, x2), then a circle is used, but if it has three variables, such as u = F(x1, x2, x3), then the circle in the first quadrant of Figure 2 is made three-dimensional and a sphere is used. Figure 9 is an illustration of the circle in the first quadrant of Figure 2 generalized to three variables. Figure 9 is a diagram with f1 on the vertical axis and f2 and f3 on the horizontal axis, which corresponds to the first quadrant of Figure 2. In Figure 9, the moving point S1 is located between point O1 and point F. m Similarly, S2 is a moving point moving from point O2 to point F. m point, S3 is from O3 point to F m Move to the point. As u increases, three moving points S1, S2, and S3 on the sphere move in the direction of F m Moving to a point (written as point F in the two-variable case) is the same as moving around a circle, but unlike a moving point on a circle, there are an infinite number of directions for moving a moving point on a sphere. Therefore, the user must determine the path along which S1 to S3 will move on the sphere. This path is O in (Figure 9). a It is a real curve with three arcs originating from (a=1,2,3), and the process of creating this path is a step that is not necessary with a utility function of two variables.
[0027] In Figure 9, as u increases, S1, S2, and S3 m Then, the plane passing through the three points S1, S2, and S3 is not drawn as a plane in (Fig. 9), but it has no intersections and is uniformly F. m The contour planes created in this f1f2f3 space correspond to the contour lines in the two-variable case.
[0028] The three paths in Figure 9 must be carefully designed so that the contour planes do not intersect with each other, in other words, so that the contour planes shift in one direction. For example, if the path spirals around the sphere, m If the path is directed towards a point, the contour planes will have intersections, so a spiral path is not acceptable.
[0029] As u rises, moving points S1, S2, and S3 move along the path toward point F, causing the contour plane to shift toward point F so that it has no intersection. By converting (f1, f2, f3) contained in this plane into (x1, x2, x3) and projecting it, contour lines with no intersections are drawn in the (x1, x2, x3) space.
[0030] For four or more variables, it is sufficient to create a moving point, a path, and a hyperplane passing through the moving point on the hypersphere. In this way, the present invention can realize multivariables by utilizing a group of formulas for hyperspheres of degree four or higher, the properties of which are well known mathematically, while removing the non-negativity constraint of (Patent Document 1). However, currently, setting a path is difficult and non-trivial in four or more dimensions, and so it has not been implemented. Programs are implemented for up to three variables.
[0031] There is a disclaimer about ellipses and multivariate calculations. This point is also mentioned in the first and third embodiments. In the present invention, a circle is used as in the first quadrant of (Fig. 2), but the same applies to an ellipse. The equation of the ellipse is f1 2 / a+f2 2 / b=r 2 If we redefine a and b as f1 and f2, we get 2 +f2 2 =r 2 The equation for a circle is as follows. If g1 in the equation for the contour line (Equation 5) is multiplied by √a and g2 is multiplied by √b, it will be mathematically equivalent to the original equation. Therefore, the present invention certainly includes embodiments that use ellipses instead of circles. Furthermore, even if they are not mathematically completely equivalent to ellipses, all circle-like objects that can achieve the same result with slight modifications or adjustments to the equation are included in the embodiments. Now that I have succeeded in making the invention, I have the impression that it would have been better to develop it using an ellipse, but in the process of inventing, mathematical correctness takes priority over ease of use, so I developed it using a method that is less prone to mistakes, has fewer variables and is easier to explain. Also, at present, only two and three variables have been implemented, so four or more variables are not included in the implementation, but compared to the extension from two variables to three variables, the extension from three variables to four or more variables is often straightforward and rarely introduces new elements. Therefore, it is inevitable that generalized things like n variables will appear in the future, but if they are similar to three variables, we will claim certain rights for n variables as well.
[0032] The following is a detailed explanation of the technology of the invention. The intuitive explanation using the exploded view (Figure 2) shown in (0022) to (0031) is sufficient for reading the examples. Therefore, since (0033) to (0042) are abstract theories, I think it would be easier to skip them and look at concrete examples in Examples 1 and 2.
[0033] To explain the mechanism of the utility function in (Implementation 1) and (Implementation 3), we will explain the process of calculating the value of u in the utility function of (Equation 5) using (x1, x2) as input. First, let us explain it intuitively using the exploded diagram in Figure 4 instead of using formulas. Initially, (Figure 4) only shows the circle, point F, curve 3, curve 4, and moving points S1 and S2. In Figure 4, θ1 is the angle at point S1, and θ2 is the angle at point S2. The angles θ1 and θ2 are expressed and internally processed as angles from the f1 axis to the f2 axis, with the 12 o'clock direction being 0. Therefore, for example, θ1 in (Figure 4) is a positive value, and θ2 is a negative value. θ1 is given as a decreasing function of u, and θ2 is given as an increasing function of u. This means that line 1 (a contour line) connecting points S1 and S2 shifts to the right as u increases. (1) The input (x1, x2) is taken as point 8. Point 7 is taken directly to the side of point 8, point 6 is taken directly above, and point 5 is taken directly to the right of point 6 and directly above point 7. In mathematical terms, point 5 is calculated from the input (x1, x2) and drawn by calculating f1(x1) and f2(x2). (2) Point 5 is not a point on line 1, so increase the value of u. (3) As the value of u increases, θ1 decreases, θ2 increases, and line 1 shifts to the upper right. (4) Repeat the increase of u in (3) until point 5 is on the contour line. (5) When point 5 is on the contour line, as in line 2, u at that time is output as the utility value of the utility function (Equation 5).
[0034] An example of implementation using the formula (0033) would be as follows. For details, see Examples 1 and 2. θ1 and θ2 in (Figure 4) are determined by using α as a parameter. [Equation 6] θ1(u) = α 10 +α 11 u+α 12 u 2 , where dθ1 / du<0 [Equation 7] θ2(u) = α 20 +α 21 u+α 22 u 2 , where dθ2 / du>0 In this case, the coordinates of moving points S1 and S2 are given as follows: S1=(cosθ1,sinθ1)×radius S2=(cosθ2,sinθ2)×radius There are many known methods for finding the equation of the line that passes through two points S1 and S2, but the simplest one is [Math 8] f1=-(cosθ2-cosθ1) / (sinθ2-sinθ1)×(f2-sinθ k ×radius)+cosθ k × radius, k can be either 1 or 2 (Equation 6) to (Equation 8) are nonlinear equations with u as the only unknown variable overall, but because they are fairly complicated equations that include polynomials and trigonometric functions, it is not clear that there is one real solution for u. However, there is only one real solution for u, and it can be calculated simply and reliably using a nonlinear equation solver in mathematical software, so we will calculate it using mathematical software and output u.
[0035] However, in implementation, there are methods other than (0034), and there are methods that do not use (Equation 8). Coordinate of S1 = (cosθ1, sinθ1) × radius of circle Coordinate of S2 = (cosθ2, sinθ2) × radius of circle Calculate the value concretely using the formula, and then, without using (Equation 8), use the simultaneous equation solver of the mathematical software or the cross product command to find the "equation of the line passing through two points." [Number 9] f1 = -slope × f2 + intercept There is a way to calculate the slope and intercept values in one go. Then, calculate the values of f1(x1) and f2(x2) from the input x1 and x2, and substitute the calculated values of f1 and f2 into (Equation 9). If (Equation 9) is 0, it is true, and if it is other than 0, it is false. This process is repeated between the upper and lower limits of the value of u, and u is changed repeatedly until (Equation 9) becomes true, and the truth or falsity is judged. When it becomes true, u is output as the value of the function. In addition to this, in recent years, mathematical software has come to include a function called a "symbolic solver" that can solve equations with character variables, so it is possible to use this to implement an automatic generation of (Equation 8).
[0036] This concludes the explanation of how to calculate the utility value u in (Equation 5).
[0037] Next, we will explain the outline of the method for generating (Equation 5), which is the background theory of (Embodiment 2) and (Embodiment 4), from observation data.
[0038] When P1 and P2 are the prices of x1 and x2, and the constant u is the desired utility level, the cost minimization problem is solved by solving the optimization problem "min x1x2P1x1+P2x2,st g1(u)f1(x1)+g2(u)f2(x2)-g0(u)=0. The Lagrangian function is L=P1x1+P2x2+λ(g1(u)f1(x1)+g2(u)f2(x2)-g0(u)). The optimality conditions are λ=g1(u)f1′(x1) / P1, λ=g2(u)f2′(x2) / P2, and g1(u)f1(x1)+g2(u)f2(x2)-g0(u)=0, the last condition being the same as in (Equation 5). Eliminating λ, we obtain {g1(u)f1′(x1)} / P1={g2(u)f2′(x2)} / P2. Solving this for g2(u), we get g2(u) = g1(u) × (f1'(x1) / f2'(x2)) × (P2 / P1). Substituting this into the original utility function (Equation 5) and eliminating g2(u), we get g1(u)f1(x1) + g1(u) × (f1'(x1) / f2'(x2)) × (P2 / P1) × f2(x2) = g0(u). This can be solved for g1(u), giving us g1(u) = u / {f1(x1) + (f1'(x1) / f2'(x2)) × (P2 / P1) × f2(x2)}. Denoting g1(u) on the right-hand side as the function G1 gives us the equation for G1 in (Equation 10). Furthermore, if we swap the subscripts 1 and 2 of G1 and perform the calculation, we get G2 in (Number 10). [Math 10]G1=g0(u) / {f1(x1)+(f1′(x1) / f2′(x2))×(P2 / P1}×f2(x2)}, and,G2=g0(u) / {f2(x2)+(f2′(x2) / f1′(x1))×(P1 / P2)×f1(x1)}
[0039] G1 and G2 obtained by (Equation 10) are formulas that give the values that g1(u) and g2(u) should take when it is assumed that consumption (x1, x2) is the cost-minimizing point under price (P1, P2). When the user provides observation data for x1, x2, and P2 / P1 one after another, G1 and G2 are generated one after another.
[0040] (0039) converts x1 and x2 given by the user into x1 # ,x2 # Let f1 and f2 be variables. [Number 11] G1(u)(f1-f1(x1# ))+G2(u)(f2-f2(x2 # ))=0 is. If we consider (Number 11) as an equation with variables f1 and f2, then (Number 11) corresponds to the equations of lines 1, 2, and 10 drawn in (Figure 2). By calculating the coordinates of the intersections of (Number 11) and the circle, we can see that the two intersections on the circle in (Figure 2) are x1 # and x2 # The moving points S1 and S2 correspond to the points S1 and S2. For calculation, we use (Equation 11) and the circle equation set by the user, [Number 12] f1 2 +f2 2 =radius 2 The coordinates of the moving points S1 and S2 are found by solving the simultaneous equations for f1 and f2. # ,S2 # Let S1 # and S2 # is converted to polar coordinates and expressed as θ1 # ,θ2 # Let's say.
[0041] Thus, for the (0040) process, the observed (x1 # ,x2 # ) data one after another, the intersection coordinates S1 # and S2 # can be calculated, and the polar coordinate angle θ1 # ,θ2 # is calculated. This θ1 # ,θ2 # The column of θ1 is the position where the moving point of u should be. # Column of θ2 # Regressing the sequence of on u, θ1 # =θ1(u) θ2 # =θ2(u) If we can generate equations that can be calculated from the data by regression using θ1(u) and θ2(u), we have successfully generated a utility function.
[0042] In this specification, the formula (5) is As in (Number 8), we can write it as a solution for f1, such as "f1 = ~", As in (Number 11), some expressions are difficult to read, such as "~=0." This is because there are not just one but several ways to mathematically express the equations of lines and planes. Please note that the expressions are written in an easy-to-understand way depending on the context, but the content of the equations is the same. [Effects of the Invention]
[0043] As with Patent Document 1, a numerically computable utility function formula with contour lines like that of Figure 5 B can be generated from data specified as in Figure A of Figure 5. In this respect, it is possible to do the same as in Patent Document 1, but the non-negativity constraints on g1(u) and g2(u) have been removed, and it is mathematically refined in that both positive and negative values are possible. The mathematical processing is more complicated than in Patent Document 1 because it uses circles and spheres, but there is no unnaturalness, such as the mathematical change in behavior of g(u) between + and -, as seen in Figure 3. It is intuitive and easy to use, which is beneficial in terms of acquiring users. DETAILED DESCRIPTION OF THE INVENTION
[0044] The present invention is executed by programming on a computer. [Industrial Applicability]
[0045] It is used to generate and calculate formulas for evaluation in demand forecasting, mathematical finance, games, etc. It can also be used as an objective function or constraint condition for control and mathematical optimization. It can be widely used as a technology to generate index and score values. [Brief explanation of the drawings]
[0046] [Figure 1] Decomposition of utility functions in the prior art (Technical background) [Figure 2] Decomposition diagram of the utility function in this invention (problem solving method, embodiment 1) [Figure 3] Diagram of the drawbacks of utility functions in the prior art (Technical Background) [Figure 4] Illustrative method for calculating the value of u using a decomposition diagram of the utility function in the present invention (Example 2) [Figure 5] Input data (Figure A) and generated utility function (Figure B) (Example 1) [Figure 6] Illustration of contour lines generated from input data (Example 1) [Figure 7] Diagram of intersections S1 and S2 of contour lines and circles generated from input data (Example 1) [Figure 8] Regression line from intersection point S1 to u, regression line from intersection point S2 to u (Example 1) [Figure 9] Moving points S1, S2, S3 of a utility function with three variables, and an explanatory diagram of the path (problem solving method) [Figure 10] Diagram of the path of the linear equation and diagram of the intersection points S1, S2, and S3 (Example 3) [Figure 11] A linear regression line from intersection S1 to u, a regression line from intersection S2 to u, and a regression line from intersection S3 to u (Example 3) [Figure 12] Contour surface of utility function u = f(x1, x2, x3) generated from input data (Figure 14) in a linear path (Example 4) [Figure 13] Input data (Example 3, Example 5) [Figure 14] Diagram of the geodesic path and illustration of intersection points S1, S2, and S3 (Example 5) [Figure 15] On the path of the geodesic line, the regression line from the intersection point S1 to u, the regression line from the intersection point S2 to u, and the regression line from the intersection point S3 to u (Example 5) [Figure 16] Contour surface of the utility function u = F(x1, x2, x3) generated from the input data (Figure 14) along the geodesic path (Example 6) Example 1
[0047] In Example 1, the generation method in (Embodiment 2) is implemented to generate the utility function in (Embodiment 1) as a specific formula from the data.
[0048] To visualize the contents of Example 1 in a diagram, the user inputs the optimal points, such as the five ● in Figure A of Figure 5, and the tangents (budget constraints in economics) to the contour line of u that pass through the optimal points of the ●. The dotted lines in Figure A represent the tangents (budget constraints in economics) specified by the user. Then, from Diagram A in Figure 5, we generate (Equation 145) of (Implementation Example 1), which is a numerically computable utility function with contour lines like the solid lines in Diagram B. Looking at Diagram B, we can see that the contour lines are convex with respect to the origin, with about 20 optimal points lined up as ●. The arrangement of the 20 ● in Diagram B indicates that a formula has been generated that realizes the optimal points ●1 to ●5 in Diagram A specified by the user. These optimal points are the arrangement of 20 ●. Example 1 is an example of generating a specific formula that is the basis for Diagram B.
[0049] First, let us explain some points to note about notation. In the diagrams of the x1x2 plane and the f1f2 plane, f1 is drawn on the vertical axis and f2 on the horizontal axis. Please note that the vertical and horizontal axes are reversed from the conventional practice. Also, the moving point S a The angle (a=1,2) is θ a The angle is the angle from the f1 axis to the f2 axis. In other words, angles such as θ1 and θ2 are 0 at 12 o'clock, + clockwise and - counterclockwise.
[0050] First, the user generates the general form of the equation to be generated, (Equation 145) in (Embodiment 1). g0(u)=g1(u)f1(x1)+g2(u)f2(x2) As described in (embodiment 1(1)), f1(x1)=x1 0.9 f2(x2)=x2 0.9 As shown above, you can determine the appropriate values for f1 and f2 yourself by referring to the data in Table 1, and then determine the specific formula.
[0051] The user is x1 as shown in (Table 1) * ,x2 * ,p1,p2,u * The following data is prepared. (Table 1) is a specific example of the "input data" referred to in (Embodiment 2(1)). For example, the optimal point 2 in Table 1 indicates that of goods x1 and x2, both of which are sold for 1 yen, 22 units of x1 and 15 units of x2 are consumed, with a utility level of 1. The data for x and p can be created from observed data or custom data, and specified to represent the function you want to generate. The mathematical interpretation of the inputs in Table 1 is as follows: For example, x1 in Table 4, * =3,x2 * =3,p1=1,p2=1,u * The input =0.1 is min x1x2 p1x1+p2x2 st u * =F(x1,x2) The user instructed the system to generate a formula for the utility function such that the optimal solution to the cost minimization problem is x1=3, x2=3. [Table 1]
[0052] Next, the user plots the data in Table 1 and visually inspects it. * and x2 * Draw the above as shown by ● numbers 1 to 5 in Figure A (Figure 5). The equation of the tangent line that passes through a point is generally "p1(x1-x1 * )+p2(x2-x2 * ) = 0", which in economics is also a budget line or cost equation, and p1 and p2 can be interpreted as prices in economics, and this is a description of p1 and p2 that corresponds to (Number 148) in (Embodiment 2(1)). For example, the equation for tangent line No. 1 to the optimal point in (Table 1) is 1 × (x1-3) + 1 × (x2-3) = 0. This equation can be drawn as the dotted line passing through ●1 in Figure A of (Figure 5). When a dotted line in Figure A of Figure 5 intersects with another dotted line, the generation of the formula often fails, so in that case it is better to consider a detour such as modifying the input data. Looking at Figure A of Figure 5, there are no intersections among the five dotted lines, so for the time being it is judged that the formula can be generated for the input data and the test is passed.
[0053] Next, the user selects x1 of (Table 1). * and x2 * From the data, function f1(x1 * ) and f2(x2 * ) and calculate the value of f1 in (Table 2). * and f2 * Furthermore, we use the derivatives of f1(x1) and f2(x2) to find the sequence of f1 in Table 2. * ′,f2 * Generates a column value of '. [Table 2]
[0054] Next, the user begins the task of creating the circle shown in (Number 149) of (Embodiment 2(2)). The generated (Table 2) (f2 * ,f1 * ) is prepared so that all of them fit within it, and then the starting and ending points of moving points S1 and S2 are taken on the circle. Here, the circle is [Number 13] f1 2 +f2 2 =44.5 S1 is the point that moves from 2.86 to 0.77 at an angle θ1, S2 is the point that moves from -1.325 to 0.77 at the angle θ2 These settings are summarized in Table 3, and the column for "Equation of moving point" in Table 3 is left blank, and Equation 22 and Equation 23 are entered here, taking into account the subsequent processing. [Table 3] Table 3 shows that the moving point S1 decreases with increasing u from angle 2.86 to 0.77, and the moving point S2 increases with increasing u from angle -1.325 to 0.77.
[0055] The user draws (Table 2) and (Table 3) to create (Figure 6) and visually inspects it. The circle in (Figure 6) is the drawing of (Equation 13), and ★1 to ★5 are (f1 * ,f2 * ) point, and O1 and O2 points are the drawing of the starting point of (Table 3), F m The points are the drawing of the end points. However, the drawing of the circle is not 360 degrees, but only the range between the start point and the end point (Table 3). And, O1F of (Figure 6) m We check whether ★1 to ★5 are inside the kamaboko-shaped area created by connecting O2. Looking at the diagram, we can see that ★1 to ★5 are all inside the kamaboko, so the check passes. If ★1 to ★5 are outside the kamaboko, we must adjust them so that they are inside the kamaboko by increasing the radius of the circle or changing the position of the starting point. (Figure 6) is an accurate calculation of the first quadrant of (Figure 2), and the moving point S1 is located from point O1 to F. m To the point, S2 goes from O2 to F m It will move to the point.
[0056] Next, the user starts the process of (Number 146) to (Number 148) of (Embodiment 2). x1 entered as (Table 1) and (Table 2) * ,x2 * ,p1,p2,f1 * ,f2 * ,f1 * ′,f2 * This corresponds to the process of processing ' to create linear equations (contour equations) for f1 and f2, creating the coordinates of S1 and S2, recording them, and generating (Table 4) from (Table 5).
[0057] The user selects the second row of (Table 2), f1 * ′=0.661,f2 *The values of '=0.686, p1=1, and p2=1 are read out and input into (Number 147) of (Embodiment 2), [Number 14] β1=(1 / 1)(0.661 / 0.661)=1 [Number 15] β2 = (1 / 1)(0.661 / 0.686) ≒ 0.962 Output the above, and substitute the values of β1 and β2 into (Equation 146) in (Embodiment 2), [Number 16] 1×(f1-f1 * )+0.962(f2-f2 * )=0 Create f1 from (Table 2) * =16.15,f2 * = 11.441 and substitute it into the above (Equation 16), [Number 17] 1×(f1-16.15)+0.962(f2-11.441)=0 This (Equation 17) is a specific example of (Equation 146) in (Embodiment 2). Solving (Equation 17) for f1, we get [Number 18] f1 = -0.962 × f2 + 27.16 and record (Number 18) in the second row of (Table 4).
[0058] The process (0057) is similarly carried out for the data of consumption point numbers 1, 3, 4, and 5 to complete the "Contour equation" column in (Table 4). [Table 4]
[0059] As stated in (Implementation Example 2(1)), of the five contour equations in (Table 4), only f1 and f2 are character variables, and all other elements are numerical equations.
[0060] Draw the graph in (Figure 6) and examine the situation in (Table 4). The five lines in (Figure 6) are the contour line equations 1 to 5 in (Table 4) drawn using mathematics software. The user checks whether the five lines pass through ★1 to ★5 while looking at (Figure 6). Looking at the figure, it can be seen that all five lines pass through ★1 to ★5. And since the five lines correspond to different u's, the five lines must not intersect within the circle. Looking at Figure 6, we can see that the five lines do not intersect. Furthermore, the user checks whether lines 1 to 5 are moving in one direction as u increases. The user looks at the values in the "Equation of Contour Lines" column in Table 4 and confirms that the intercept values increase monotonically from 5.32 to 55.32. Since it can be confirmed that the five lines in Figure 6 do not intersect, it can be confirmed that contour lines 1 to 5 are shifting upward and to the right as u increases. It can also be confirmed that they are not shifting to the left at all. This completes the contour line inspection.
[0061] Next, the process of generating intersections S1 and S2 (embodiment 2(2)) begins. In Figure 6, the user begins the task of calculating the coordinates of the intersections of the five contour lines drawn in Figure 6 with the circle. Below, the two intersections will be referred to as intersection S1 and intersection S2. "Moving point S1" is the term used when calculating utility from the completed utility function, but in generating the utility function, moving points S1 and S2 are generated by regressing the sequence of intersections to generate the equation for the moving points, so we have decided to call them "intersection S1" rather than "moving point S1". The user reads the contour equation for consumption point No. 2 in (Table 4), [Number 19] f1 = -0.962f2 + 27.17 Then, the coordinates of the intersection of (Equation 19) and (Equation 13) are calculated using a simultaneous equation solver in mathematical software. Since there are two intersections between the circle and the line, there are two solutions. Call them Solution 1 and Solution 2, and then: Solution 1=(-13.6,42.4) Solution 2=(41.8,-15.2) The output is: Calculating the polar coordinate angle of the above f1f2 coordinates, Solution 1 angle = 1.88 Solution 2 angle = -0.35 The value of 1.88 for the angle of Solution 1 is within the range of the angle θ1 of S1 (2.86 to 0.77) in Table 3, so 1.88 is used as the angle of S1. θ1=1.88 The value of -0.35, which is the angle of solution 2, is within the range of θ2 of the angle of S2 in Table 3 (-1.325 to 0.77), so -0.35 is used as the angle of S2. θ2=-0.35 Identify: Organize the coordinate and angle values obtained through the above process and record them in row 2 of the "Polar coordinate θ1 of intersection point S1" and "Polar coordinate θ2 of intersection point S2" columns in (Table 5). Repeat the same process for numbers 1, 3, 4, and 5, adding them to the right end of (Table 4) and extending the table to the right to complete (Table 5). This (Table 5) corresponds to the "intersection coordinates" referred to in (Implementation Example 2(2)). [Table 5]
[0062] To be sure, the user plots the five pairs of S1 and S2 in Table 5. From the row of optimal point 2 in Table 5, S1 = (-13.6, 42.4) and S2 = (-15.2, 1.88) are read, and the mathematical software plots ▲12 and ▲22 in Figure 7. Looking at the plotted ▲12, the user realizes that ▲12 is located to the lower right of the circle's center point O0, and concludes that θ1 in Table 5 must be between π / 2 and π radians. Based on this conclusion, the user checks the value of θ1 = 2.27 in Table 5, which is between π / 2 and π radians, verifying that the calculation of θ1 in Table 5 is also correct. This same check is performed for consumption points 1, 3, 4, and 5 in Table 5, verifying that the numbers for θ1 and θ2 in Table 5 are correct. All tests pass.
[0063] Next, the process of generating the equation for the moving point (embodiment 2(4)) using regression is started. The user reads the data in the u column of (Table 1) and the θ1 and θ2 columns of (Table 5), plots ▲11 to ▲15 on the (u, θ1) plane, and plots ▲21 to ▲25 on the (u, θ2) plane. This plot is ▲ in (Figure 8).
[0064] The user determines the appropriate regression equation while looking at the plot diagram (Figure 8), and generates a function that determines the angle coordinates of S1 and S2 by regressing θ1 and θ2 to u. Here, both θ1 and θ2 are cubic equations. [Number 20] θ1=β 10 +β 11 u+β 12 u 2 +β 13 u 3 [Number 21] θ2=β 21 +β 22 u+β 23 u 2 +β 23 u 3 Using the regression formula above, we can use the regression command of a mathematical software to perform a regression from u to θ1 and from u to θ2, and get the following: [Number 22]θ1 = 2.27-0.396u + 0.099u 2 -0.009u 3 [Number 23]θ2=-0.712+0.392u-0.09u 2 +0.008u 3 To confirm, if we plot the graphs of (Equation 22) and (Equation 23) in (Figure 8), we can see that the curve roughly looks like the dotted line passing through the ▲ point, so we can judge that the fit is good. The above (Equation 22) and (Equation 23) are specific examples of "the specific moving point equation used in embodiment 1" as referred to in (Embodiment 2(4)). Enter (Equation 22) and (Equation 23) in (Table 4) to complete (Table 4).
[0065] Finally, the user constructs a utility function using (Eq. 38) and (Eq. 39) so that the value of u can be calculated. The f1f2 coordinates of moving points S1 and S2 are Coordinates of S1 = (cosθ1, sinθ1) × 44.5 Coordinates of S2 = (cosθ2, sinθ2) × 44.5 Therefore, the equation of the line (contour equation) that passes through these two points, S1 and S2, is [Math 24] f1=-{(cosθ2-cosθ1) / (sinθ2-sinθ1)}(f2-44.5sinθ1)+44.5cosθ1 The above contour equation is given by (0050) with f1=x1 0.9 ,f2=x2 0.9 Substituting [Number 25] x1 0.9 =-{(cosθ2-cosθ1) / (sinθ2-sinθ1)}(x2 0.9 -44.5×sinθ1)+44.5×cosθ1 The following equation is generated. The three equations (Equation 22), (Equation 23), and (Equation 25) are the equations generated for the utility function of (Embodiment 1) based on the input data in (Table 1) (these three equations are written in three parts because they are long, but they can be combined into one equation). At first glance, they appear to be complex nonlinear equations including trigonometric functions and polynomials, but when the user enters x1 and x2, they become a utility function (implicit function) for which there is only one real solution for u, and the computer can find the numerical solution for u with a high degree of certainty.
[0066] However, while these contour equations (Equation 24) and (Equation 25), which include trigonometric functions, are convenient for presentations on paper or a blackboard because they can be shown as concrete equations, it may not be wise to write (Equation 24) and (Equation 25) in the program when it comes to implementation. This is because there are ways to solve simultaneous equations using mathematical software. For this reason, the final assembly process is not necessarily required, and there are ways to do it without expressing it as a concrete equation. For this reason, although I will only write it in one form in the implementation example, there are many similar roundabout processing and implementations possible, and of course, these roundabouts are my right. For this reason, in Example 2, we have explained two concrete examples: a method (0074) of directly finding the numerical solution of (Equation 25) using a nonlinear equation solver, and a method (0075) of using simultaneous equations (there is not much difference between them).
[0067] This completes the generation of the utility function. In conclusion, the utility function generated from Figure A in Figure 5 is an implicit function that combines (Equation 22), (Equation 23), and (Equation 25). Example 2
[0068] In Example 1, a utility function that can be calculated numerically is generated from the data. In the second embodiment, the utility function generated in the first embodiment is implemented to draw the contour lines of u and to output the value of u.
[0069] The user prepares (Equation 26) to (Equation 31) as the utility function for (Embodiment 1). That is, the general form of the utility function and the formulas for functions f1 and f2 are [Number 26] g0(u)=g1(u)f1(x1)+g2(u)f2(x2) [Number 27] f1(x1)=x1 0.9 , f2(x2)=x2 0.9 Prepare Furthermore, a circle on the f1f2 plane, [Number 28] f1 2 +f2 2 =44.5 2 On the circle, the starting point O1 of the moving point S1, the starting point O2 of S2, and the common end point Fm of S1 and S2 are drawn as follows, using polar coordinate angles: [Number 29] Angle of starting point O1 = 2.86, Angle of starting point O2 = -1.32, Angle of end point Fm = 0.77 and prepare, Furthermore, let S1, which moves on the circle from point O1 to point Fm, and S2, which moves on the circle from point O2 to point Fm, be θ1 and θ2, and for 0.1≦u≦7, [Number 30] θ1(u) = 2.27 - 0.39u + 0.10u 2-0.009u 3 [Equation 31] θ2(u) = -0.71 + 0.39u - 0.09u 2 -0.008u 3 These equations (30) and (31) are not the kind of equations that a user can create by just thinking about it a little. The technology used in Example 1 is to create these equations as desired by the user. The values generated in Example 1 are used as is in (30) and (31), and Example 2 is a continuation of Example 1.
[0070] As described above, (Equation 26) to (Equation 31) are the mechanisms provided by the utility function in (Embodiment 1).
[0071] Moving point S a (a=1,2) is a point on a circle with a radius of 44.5, so the (f1,f2) coordinates are, according to high school mathematics, [Number 32] S a (u)=(cosθ a (u), sinθ a (u))×44.5 is. The user creates the equation of the line that passes through two points, S1(u) and S2(u). Then, [Math 33] f1=-{(cosθ2(u)-cosθ1(u)) / (sinθ2(u)-sinθ1(u))}(f2-sinθ1(u)×44.5)+cosθ1(u)×44.5 The line that passes through these two moving points S1 and S2 is the contour line, and its equation is the contour equation. Then, add x1 to f1 and f2 in the contour equation (Equation 33). 0.9 and x2 0.9 Substituting, [Number 34] x1 0.9 =-{(cosθ2(u)-cosθ1(u)) / (sinθ2(u)-sinθ1(u))}(x2 0.9 -sinθ1(u)×44.5)+cosθ1(u)×44.5 Create the following formula. The equation obtained by substituting (Equation 30) and (Equation 31) for θ1(u) and θ2(u) in (Equation 34) becomes a single equation with only u, x1, and x2 as character variables, which corresponds to the utility function of (Embodiment 1) expressed in a single equation. (Equation 34) is a nonlinear equation that includes cubic functions and trigonometric functions of u, and it is not clear whether there is a numerical solution for u, but if values are entered for x1 and x2, there is only one numerical solution for u, and it can be used like an ordinary function such as the utility function u = F(x1, x2). If we transform the equation (34) without changing the meaning and express it in the format of (145) in (Embodiment 1), we get g0(u)=g1(u)x1 0.9 +g2(u)x2 0.9 , g1(u)=sinθ2(u)-sinθ1(u), g2(u)=cosθ2(u)-cosθ1(u), g0(u)={sinθ2(u)-sinθ1(u)}cosθ1(u)×44.5+{cosθ2(u)-cosθ1(u)}sinθ1(u)×44.5 This can be expressed as the above equation, and shows an example of an equation in which g1, g2, and g0 change appropriately depending on u, as described in (embodiment 1).
[0072] However, although (Equation 33) is good for presentations and education because it can show specific equations, there is another method that uses commands to solve simultaneous equations in mathematical software without using (Equation 33), which seems to have fewer bugs. Therefore, (0074) shows a method using trigonometric functions and polynomials using (Equation 33), and (0075) shows a method using a simultaneous equation solver without using (Equation 33).
[0073] By implementing the invented utility functions expressed by (Equation 30), (Equation 31), and (Equation 34), Draw precise and beautiful contour maps like Figure B in Figure 5. (0074)~(0077) Input x1 and x2 and output the value of u. (0078)~(0081) These two are shown as examples.
[0074] Next, let's try to draw a precise and beautiful contour map like Figure B in Figure 5. The user inputs u=3 into (Equation 30) and (Equation 31), θ1=1.727 θ2=-0.135 Entering this into the trigonometric function command, we get cosθ1=-0.156, sinθ1=0.987, cosθ2=0.99, sinθ2=-0.135. Entering these four into (Equation 34), we get [Number 35] x1 0.9 =-1.02x2 0.9 +32.825 If you plot this on the (x1, x2) plane using mathematical software, a convex curve will be drawn that passes through the vicinity of point 3 in the right diagram of Figure 5.
[0075] Here we will show another way to create (Equation 35) instead of (0074). This method uses a simultaneous equation solver in mathematical software without using (Equation 34). After finding (Equation 30) and (Equation 31) in (0072), The f1f2 coordinates of moving points S1 and S2 are S1=(cosθ1,sinθ1)×44.5 → S1=(-0.15,0.987)×44.5 S2=(cosθ2,sinθ2)×44.5 → S2=(0.99,-0.135)×44.5 Therefore, by using the cross product of the straight line equation passing through these two points and commands to solve simultaneous equations, the contour equation "f1 = -1.02f2 + 32.85" (Equation 35) can be derived in one go. With this method, there is no need to write code for (Equation 34), and code including simultaneous equation commands can be written. This implementation seems to be highly versatile, as it can handle multivariate functions such as three variables, not just two variables, x1 and x2.
[0076] Furthermore, based on the price data shown in Table 1, the user draws a dotted line tangent to the line with a slope of p1 / p2 (=-1). Furthermore, the user draws the points where the contour lines and the dotted lines meet with ●. (This drawing process is quite lengthy, but as it is not closely related to the invention, we will omit the description here.)
[0077] If we draw (0076) about 20 times for values other than u=3, we can draw contour lines that are convex to the origin, like the solid lines in Figure 5B, and about 20 optimum points ● arranged in an S-shape. The arrangement of the optimum points ● is S-shaped, but it is mathematically guaranteed that these contour lines have no intersections, fulfilling a basic property required in economics. We can also see that the arrangement of the ●s is similar in Figures A and B of Figure 5. Furthermore, since the contour lines are actual mathematical formulas such as (Equation 35), there is no need to use mathematical commands that draw approximate values or perform repeated calculations when drawing contour maps. Because the contour lines are drawn from the actual formula (Equation 35), not approximate values, the numerical values are accurate, and even when zooming in on the area near the optimal point ●, the tangent lines will not shift and the image will continue to be tangent. This level of precision can be an advantage in the real world of application and development.
[0078] Next, an example will be shown in which x1 and x2 are input and u is output. The user wants to know the value of u at the consumption point (x1, x2) = (18, 29) (this is the same as the data for the optimal point 3 in Table 1). Enter x1 = 18, x2 = 29 into (Equation 27), and f1=13.48,f2=20.70 This value is temporarily saved.
[0079] In this section, we show how to find u by solving (Equation 34) using a nonlinear equation solver. Temporarily saved f1=13.48,f2=20.70 Substituting into (Equation 33), 13.48=-{(cosθ2(u)-cosθ1(u)) / (sinθ2(u)-sinθ1(u))}(20.70-sinθ1(u)×44.5)+cosθ1(u)×44.5 Furthermore, by substituting θ1(u) and θ2(u) shown in (Equation 30) and (Equation 31) into the above equation, a nonlinear equation consisting of trigonometric functions and polynomials with only u as the unknown variable is obtained. Therefore, by specifying the interval u = 0.1 to 7 for this nonlinear equation, or by specifying one point within the same interval as the initial value, and then using a one-variable nonlinear equation solver in mathematical software to find a numerical solution, u=2.148 This concludes the explanation of how to solve (Equation 34) using a nonlinear equation solver to find u.
[0080] In this paragraph, we will show a different method from (0079), which is to find the intersection points S1 and S2, and then solve the simultaneous equations to find the equation of the line that passes through the two points to find u. As the initial value of u, choose u = 1 from the range of 0.1 ≤ u ≤ 7, enter it into (Equation 30) and (Equation 31), and determine the angle [Number 36] θ1=1.96,θ2=-0.40 The f1f2 coordinates of the moving point are calculated from these angles θ1 and θ2. S1=(cos1.96,sin1.96)×44.5 → S1=(-17.04,41.16) S2=(cos-0.4,sin-0.4)×44.5 → S2=(40.99,-17.45) Then, calculate the equation of the line that passes through the two points (-17.04, 41.16) and (40.99, -17.45) using the simultaneous equation solver or cross product command of the mathematical software, and get the contour equation f1=-0.99×f2+23.71 It is calculated as follows. If the above equation holds true when f1 = 13.48 and f2 = 20.7, it is judged as true, and if it does not hold true, it is judged as false. As a result, it is judged as false by a small margin. Since it is false, reject u=1, increase or decrease the value of u from u=1, and search for u until it becomes true by scanning various u values between 0.1≦u≦7. Then, at u=2.148, f1=-1.006×f2+34.321 This is determined to be true, so u=2.14 is output.
[0081] For x1 and x2 of consumption points 1 to 5 in (Table 1), if we calculate the value of u using the above method, u=0.015 u=1.313 u=2.148 u=5.412 u=6.971 Comparing the above five values with the values of 0.1, 1, 3, 5, and 7 initially specified by the user in Table 1, there is a deviation of nearly 30% for the second and third values. Nevertheless, overall, the values of u are within the range of 0.1 to 7 as specified by the user, which is considered to be a fair fit. Example 3
[0082] In Example 3, an example is shown in which a specific formula for the utility function (Equation 150) of (Embodiment 3) is generated using the generation technology in (Embodiment 4). From the inputs of x, p, and u as in (Table 6), a utility function u=F(x1, x2, x3) is generated that becomes (Equation 61), (Equation 57) to (Equation 60), and (Equation 45) to (Equation 50) in paragraph (0107). In other words, by inputting the x1x2x3 coordinate data of the four optimal points such as ●1 to ●4 in (Figure 13) and the data on the budget plane, we generate a formula for a specific utility function that has an optimal point close to the four optimal points. The generated utility function has a contour surface as shown in (Figure 12). These contour surfaces (Figure 12) do not intersect with each other. As seen in Example 1, when there are two variables, they are surrounded by a circle, but in Example 3, there are three variables, so a sphere is used. When going from two variables to three variables, changing a circle to a sphere is a natural and predictable extension. (However, this is not exactly the same as a new step is required to set a "path of moving points" on the sphere. Examples 3 and 4 are examples using linear paths. Examples 5 and 6 show examples of achieving the same thing using geodesic paths. Those familiar with geodesics in differential geometry would be better off reading Examples 5 and 6 before Examples 3 and 4.
[0083] In the following, k is a subscript that represents the number of the good, and in Example 3, k = 1, 2, 3. Also, a is a subscript that represents the number of the moving point, and a = 1, 2, 3. As much as possible, expressions using k or a are used, such as x1, x2, x3, but expressions using k or a are occasionally used.
[0084] The user selects the general form (template) of the utility function in (Equation 150) of (Embodiment 3). [Number 37] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x3) In (Equation 37), g0(u) to g3(u) are defined by three moving points that move on the spherical surface according to u, and are assumed to increase and decrease in a complex manner according to u. In Example 3, a specific formula for the utility function u=F(x1, x2, x3) is generated by making g0(u) to g3(u) reflect the input data shown in Table 6 below.
[0085] The user inputs the following data as input data in (embodiment 4(1)): Consumption of goods 1 to 3 as shown in (Table 6) x1 * ,x2 * ,x3 * Enter the data for p1, p2, p3, and the utility value u under those prices. [Table 6] Each row of the optimal point numbers 1 to 4 in (Table 6) can be interpreted as the values of x1, x2, and x3 that minimize the expenditure required to realize u, with p1x1+p2x2+p3x3 (= expenditure amount) as the objective function and utility function u=F(x1, x2, x3) as the constraint. For example, x1 in the row of optimal point number 1 in (Table 6) is * =3,x2 * =2,x3 * The value of =2 is min x1,x2,x3 x1+x2+x3 st 1=F(x1,x2,x3) This data can be interpreted as the values of x1, x2, and x3 observed as a solution to the cost minimization problem. Four sets of such data are prepared, numbered 1 to 4. (Table 6) x1 * Looking at the values in the column from top to bottom, we can see that they are 3, 10, 6, 25, and there is a section where they decrease from 10 to 6, so it is not a uniform increase but rather a wavy sequence of data. The advantage of this invention is that it can generate a utility function that can produce such complex optimum points. Optimum point (x1 * ,x2 * ,x3 * ) the equation of the tangent line passing through point p1(x1-x1 * )+p2(x2-x2 * )+p3(x3-x3 * ) = 0, but in economics it is also called the budget line or cost equation, and p1 and p 2, p3 can be interpreted as a price in economics, and p1, p2 correspond to (Number 153) in (Embodiment 4(1)). 2, This is a description of p3.
[0086] Also, f used in (Number 151) in (Embodiment 4) k (x k ) as, [Number 38] f1(x1)=x1 0.9 , f2(x2)=x2 0.85 , f3(x3)=x3 0.8 , In this embodiment, a power equation is used, but in theory various equations such as logarithmic functions, exponential functions, and polynomials can be used. Ideally, the function forms f1(x1) to f3(x3) in (Equation 38) would also be generated from data, but since this is technically difficult, in the present invention they are input by the user as in (Equation 38). For the technology for generating f1 to f3, please refer to Patent Document 2.
[0087] The user begins the process of creating (Table 7). (Table 6) x k * The value of f in (Equation 38) k (x k ) and f k (x k * ) and calculate the value of f1 in (Table 7). * ,f2 * ,f3 * Also, the derivative f k ′(x k ) and prepare f k ′(x k * ) and arrange them as shown in (Table 7). For reference, copy u in (Table 6) and use u in (Table 7). * Paste it into the column. This completes (Table 7). The user plots optimal points 1 to 4 in (Table 7) using mathematical software to draw (Figure 10). ★1 to ★4 in (Figure 10) are plots of the f1f2f3 coordinates of optimal points 1 to 4 in (Table 7). [Table 7]
[0088] Next, the user begins the task of setting the sphere and creating the path of the moving points, which corresponds to (embodiment 4(2)). The path of the moving points is an equation like the three arcs seen in (Figure 10), and the three moving points S1 to S3 will move on these three arcs in (Figure 10). The user is f1 in (Table 7). * ,f2 * ,f3* Looking at the graph, the point with the longest distance from the origin is the optimal point 4, and calculating the distance is 26(:≒(18.119 2 +14.9 2 +11.423 2 ) 0.5 ) Considering that the maximum distance in the data is 26, the user sets the radius of the sphere to 53.02, which is more than twice 26. The smaller the radius of the sphere, the higher the accuracy, but since the utility function value can only be calculated within the sphere, the domain of the utility function becomes narrower. Therefore, in order to secure the desired domain, the radius is set to be larger, more than twice the maximum distance of the observed data, which can be expressed as the formula: [Number 39] f1 2 +f2 2 +f3 2 =53.02 2 This is the sphere of (Number 154) in (Embodiment 4(2)).
[0089] Next, we start the process of creating three paths along which three moving points S1, S2, and S3 move on the sphere of (Equation 39). A path consists of an end point, a start point, and an expression of the path from the start point to the end point. The end point is roughly the point on the sphere closest to the largest u value, 4, as shown in Figure 10. The coordinates of the end point Fm are (32,31,30) The end point Fm is a point on the sphere, so it is naturally set to "32 2 +31 2 +30 2 =53.02 2 " and check and confirm that (Number 39) is satisfied. Next, the user looks at (Figure 10) and selects the starting point (I apologize for the rather rough way of deciding it, but it's easy) while looking at ★1, where u is the smallest. The coordinates of the starting point of S1 are (31.01, -31.01, -31.01) The coordinates of the starting point of S2 are (-31.01, 31.01, -31.01) The coordinates of the starting point of S3 are (-31.01, -31.01, 31.01) The three points above are the three closest to the lower limit of u, ★1, selected from the vertices of a cube (there are eight vertices) that can be formed inside a sphere of radius 53.02. Then, the user records the end point Fm and the starting point determined above to create Table 8. For example, the S1 row in Table 8 means that the moving point S1 moves on the sphere from (31.01,-31.01,-31.01) to (32,31,30) as u increases. [Table 8]
[0090] Then, the user converts the f1f2f3 coordinates in (Table 8) into polar coordinates using mathematical software, records the resulting angle, and creates (Table 9). For example, converting the Cartesian coordinates "31.01, -31.01, -31.01" seen in (Table 8) into polar coordinates and creating θ 11 =0.955,θ 12 =-2.35, radius 53.02, and record the angle as "0.955" and "-2.35" in the S1 row of Table 9. 11 is the angle 1,θ of moving point 1 12 represents the angle 2 of moving point 1, and θ 11 is the angle from the f1 axis to the f2 axis, θ 12 represents the angle from the f2 axis to the f3 axis. [Table 9] Then the user begins creating the "Path Expression" column (Table 9). Point S1 in Table 9 is the first angle θ 11 When the second angle θ moves from 0.955 to 0.93, 12 However, there are an infinite number of paths on the sphere from the starting point to the end point, and in extreme cases, there are so many possibilities that it is even possible to take a path that moves from the starting point to the end point in a spiral. Therefore, (θ 11 ,θ 12 ) Looking at it from a plane, Point (0.955,-0.35) and Point(0.93,0.76) Calculate the equation of the line that passes through the two points [Number 40]θ 12 =-137.42θ 11 +128.92 The result is obtained as follows, and this is entered in the column of (Table 9). The above process is also performed for S2 and S3 to complete the "path expression" column in Table 9. θ in the "Path Equation" of (Table 9) 12 =~,θ 22 =~,θ 23 The three formulas of =~ are specific examples of the description that the three formulas have three path formulas as described in embodiment 4(2).
[0091] For inspection, we will draw (Figure 10). The user uses the 3D plotting command of the mathematical software to draw a graph of the start point, end point, and path equation in (Table 9). The ● in (Figure 10) is a plot of points O1, O2, and O3. Also, Fm ● in (Figure 10) is a plot of the end point in (Table 9). The three arcs in (Figure 10) are graphs of the path equation in (Table 9).
[0092] As required in (Embodiment 3(4)), the above three paths are: As u increases, S1, S2, and S3 move in one direction on a path from the start point to the end point without returning, and The plane passing through the three points S1, S2, and S3 moves so that it has no intersection. You must set the expression to be a path. Obviously, a path that violates (Embodiment 3 (3) (4)) is a spiral path. In a spiral path, the moving point moves in one direction from the starting point to the end point, but a plane passing through three points would not satisfy the condition because it is visually obvious that it has an intersection. I feel that the way to determine a good path is probably to find the path that minimizes the travel distance from the starting point to the end point. Such shortest paths on a sphere are called "geodesics," and examples using geodesics are shown in Examples 5 and 6. However, in Examples 3 and 4, from the perspective of simplicity and accuracy, linear equations were used for the paths, as shown in (Table 9) and (Equation 40). Since simplicity and correctness are important, we avoided complexity and prioritized simplifying the equations. Those who have studied the formulas for geodesics on spheres in differential geometry would be better off reading Examples 5 and 6 before Examples 3 and 4. The user visually checks whether the path is correct by looking at the three arcs in (Figure 10). Looking at (Figure 10), a plane is created that passes through the moving points S1, S2, and S3 on the three paths, and S1, S2, and S3 are in F. m As we move towards the point, the plane is uniformly F without any intersections. m It can be intuitively confirmed that the movement is towards the point, so the test passes.
[0093] There are also conditions for determining the starting point. In Figure 10, the condition is that all of the points provided by the user, ★1 to ★4, must be within a sphere cut by a plane passing through O1, O2, and O3. Looking at Figure 10, ★1 to ★4 are not drawn because it is difficult to draw a sphere in black and white, but if you imagine a semi-transparent sphere, you can see that they are within a sphere cut by a plane passing through O1, O2, and O3. An example of a starting point that does not satisfy the conditions is when ▲13, ▲23, or ▲33 in (Figure 10) is the starting point. If ▲13, ▲23, or ▲33 in (Figure 10) were the starting point instead of O1, O2, or O3 in (Figure 10), ★1 and ★2 would be outside the sphere cut by the starting point, and a function would be generated in which the values of the functions around ★1 and ★2 cannot be calculated, which is invalid.
[0094] The process of creating the path equation for (0089) is a step that did not exist in the two-variable functions of Examples 1 and 2. In the case of three variables, the moving point can move freely on the spherical surface, so there are an infinite number of paths along which it can move. For this reason, the path cannot be determined by the equation for a sphere alone, such as (Equation 39), and a process is required to add an equation such as a linear equation, as in (Equation 40), to define a single path. In the case of two variables, the path on a circle is determined by the equation for the circle (Equation 13), so there was no need to create an equation for the path.
[0095] This completes the initial settings related to the sphere.
[0096] Next, the user begins the task of generating the contour plane formula portion (embodiment 4(1)). The user is the formula in (Equation 151) and (Equation 152) in (Embodiment 4). [Equation 41] f1=-β2(f2-f2 * )-β3(f3-f3 * )+f1 * [Number 42] β k =(p k / p1)(f1 * ′ / f k * ′), k=1,2,3 We prepare a general form of the contour plane equation: Furthermore, the values of the columns p1, p2, and p3 in the row of the optimal point number 1 in (Table 6) and the values of f1 in the row of the optimal point number 1 in (Table 7) * ,f2 * ,f3 * ,f1 * ′,f2 * ′,f3 * ' and the column values, p1=1, p2=1, p3=1 f1 * =2.688, f2 * =1.803, f3 * =1.741 f1 * ′=0.806, f2 * ′=0.766, f3 * ′=0.696 Substituting these into (Equation 41) and (Equation 42) and rearranging the terms, we obtain the first contour equation of the optimum point corresponding to the numerical examples in (Table 6) and (Table 7). [Number 43] f1=-1.05f2-1.15f3+6.60 is generated. This is recorded in the first row of (Table 10). Furthermore, by performing the same process on the optimal points 2 to 4, (Table 10) is completed. The calculable contour plane formula in (Table 10) is a concrete form of (Number 151) generated as a result of the process in (Embodiment 4(1)). [Table 10]
[0097] Next, the process of calculating the "coordinates of the intersection" referred to in (Embodiment 4(2)) is started. That is, the user calculates the coordinates S of the intersection between the path formula in (Table 9) and the contour plane formula in (Table 10). a Start the process of calculating
[0098] Read the contour plane equation for the optimal point number 3 in (Table 10) and write it out as (Equation 44). Then read the path equations for the S1, S2, and S3 rows in (Table 9) and write them out as (Equation 45) to (Equation 47). [Number 44] Contour plane equation for optimal point 3: f1=-1.40f2-1.61f3+38.5 [Number 45] Path of moving point 1: θ 12 =-137.42θ 11 +128.92 [Number 46] Path of moving point 2: θ 22 =-1.24θ 21 +1.92 [Number 47] Path of moving point 3: θ 32 = 1.26θ 31 -0.41 The user can look at the above formula and The coordinates of the intersection of (Equation 44) and (Equation 45) can be calculated using a simultaneous equation solver in mathematical software. More specifically, since (Equation 45) is written in angle notation, it can be converted to f1f2f3 coordinate notation, as follows: (cosθ 11 , sinθ11 cosθ 12 , sinθ 11 sinθ 12 )×53.02 Then, calculate the f1f2f3 coordinates of the common point with (Equation 44) using mathematical software. Then, the f1f2f3 coordinate display becomes (31.55, 34.84, -25.98), and in polar coordinate display it becomes (θ 11 ,θ 12 ) = (0.943, -0.641). Record these in the top row of the third row of the optimal point in (Table 11). This represents the coordinates of the intersection of the "contour plane equation of the third optimal point" and the "path of S1." The coordinates of the intersection of (Equation 44) and (Equation 46) are calculated in the same way, and the result is "-10.50, 50.81, -13.86" which can be seen in the second row of the row of the optimal point number 3 in (Table 11). This represents the coordinates of the intersection of the "contour plane formula of optimal point number 3" and the "path of S2". The coordinates of the intersection of (Equation 44) and (Equation 47) are calculated in the same way, and the result is "-14.57, -17.92, 48.49" which can be seen in the third row of the row of optimal point No. 3 in (Table 11). This represents the coordinates of the intersection of the "contour plane equation of optimal point No. 3" and the "path of S3". [Table 11]
[0099] If the process of (0097) is also performed on the equations of optimal points 1, 2, and 4 in (Table 10), (Table 11) is completed.
[0100] For reference, if you draw the intersection points S1, S2, and S3 shown as optimal point number 3 in (Table 11), they will look like ▲13, ▲23, and ▲33 in (Figure 10). Looking at (Figure 10), you can see that they are firmly on the path, and you can be sure that the values have been calculated accurately. Also, although the plane passing through the three points ▲13, ▲23, and ▲33 in (Figure 10) is not drawn in (Figure 10), if you fill in the gaps yourself and imagine it, you will be sure that it passes through ★3.
[0101] This completes the calculation of the intersection coordinates S1, S2, and S3.
[0102] Next, processing begins for "moving points S1, S2, S3 that move according to u" in (embodiment 4(4)). That is, the process of creating a utility function by regression begins using the coordinates (angles) of the intersections found in (Table 11).
[0103] Before starting this regression process, we will start by rearranging Table 11 to create Table 12, which is the same as Table 11 but presented in a way that is more suitable for regression. If we extract only angle 1 of the polar coordinates of S1 in (Table 11), we get 0.946, 0.945, 0.943, 0.941 These are entered vertically in (Table 12). Similarly, if we extract only angle 1 of the polar coordinates of S2 from (Table 11), we get 1.901, 1.84, 1.768, and 1.639 from the top. This is transcribed into (Table 12). Similarly, if we extract only angle 1 of the polar coordinates of S3 from (Table 11), we get 1.95, 1.879, 1.846, and 1.743 from the top. This is transcribed vertically in (Table 12). Furthermore, if the user transcribs the utility values u=1, 2, 3, and 4 that were initially assigned in (Table 6) to the right end of the table, (Table 12) is completed. [Table 12]
[0104] Then, the user draws (Figure 11) from (Table 12) in the mathematics software. Figure 11 is a plot of Table 12. The vertical axis is θ 11 ,θ 21 ,θ 31 Three graphs are drawn with u on the horizontal axis. For example, ▲21 in (Figure 11) is a plot of the u value of optimal point number 1 and the first angle of intersection point S2, (1, 1.901), plotted with ▲. ▲34 is a plot of the u value of optimal point number 4 and the first angle of intersection point S3, (4, 1.743), plotted with ▲.
[0105] The user determines the regression equation by looking at the sequence of numbers in (Table 12) and (Figure 11). Looking at (Figure 11), the user decides that a third-order polynomial would be appropriate for the regression equation. [Number 48] θ k1 =β0+β1u+β2u 2 +β3u 3 , k=1,2,3 If we use the regression equation as above and generate β0 to β3 using the regression command in a mathematical software, [Number 49] θ 11 =0.945+(1.560e-03)×u-(1.408e-03)×u 2 +1.819(e-04)×u 3 [Number 50] θ 21 =1.991-0.121u+0.037u 2 -0.007u 3 [Number 51] θ 31 =2.164-0.32u+0.124u 2 -0.018u 3 Although (Equation 49) has small coefficients including 10 to the power of -3 and 10 to the power of -4, this is not a problem, and there are no problems with subsequent use, such as drawing or calculating utility values.
[0106] To organize the descriptions of moving points S1, S2, and S3, the path equation column in (Table 9) is transcribed into the second angle column in (Table 13). (Equation 49) to (Equation 51) are transcribed into the first angle column in (Table 13). [Table 13] Table 13 is a table that completely determines the coordinates of moving points S1, S2, and S3 as they move according to u. In other words, when the value of u is given, the cubic equation of u shown in the "Angle 1" column determines θ 11 ,θ 21 ,θ 22 are calculated and these values are used to calculate the θ 11 ,θ 21 ,θ 22 Substituting into, the second angle θ12 ,θ 22 ,θ 32 is calculated. 11 ,θ 21 ,θ 22 ,θ 12 ,θ 22 ,θ 32 , all six angles are now aligned. The formula in this (Table 13) is a specific example of (Embodiment 4 (4)) "numerically calculable formula for 'moving points S1, S2, S3 that move according to u'", and as shown in the embodiment, from the intersection coordinates, u * It is generated by methods such as regression to
[0107] Finally, the user begins the task of constructing a utility function from (Table 13), (Equation 37), and (Equation 38).
[0108] Moving point S a The coordinates of the f1f2f3 plane are (S a1 ,S a2 ,S a3 ) when written as [Number 52] S a Coordinates of = (S a1 ,S a2 ,S a3 ),however [Number 53] S a1 =cosθ a1 ×53.02 [Number 54] S a2 =sinθ a1 ×cosθ a2 ×53.02 [Number 55] S a3 =sinθ a1 ×sinθ a2 ×53.02 (Equation 53) to (Equation 55) are the formulas for the coordinates of a sphere. The user can create the equation for the f1f2f3 plane that passes through the three points S1, S2, and S3 calculated from (Equation 115) to (Equation 55) using high school mathematics formulas or the cross product and matrix commands of mathematics software. [Number 56] g0 = g1f1 + g2f2 + g3f3, where [Number 57] g1 = (S22 -S 12 )(S 33 -S 13 )-(S 32 -S 12 )(S 23 -S 13 ) [Number 58] g2=(S 23 -S 13 )(S 31 -S 11 )-(S 33 -S 13 )(S 21 -S 11 ) [Number 59] g3=(S 21 -S 11 )(S 32 -S 12 )-(S 31 -S 11 )(S 22 -S 12 ) [Number 60] g0 = (g1S 11 +g2S 12 +g3S 13 ) These equations (56) to (60) are called the contour plane equations. The user substitutes (Equation 38) for the terms f1, f2, and f3 in (Equation 56) and gets [Number 61] g0 = g1 x1 0.9 +g2x2 0.85 +g3x3 0.8 Let's say. (Equation 61), (Equation 57) to (Equation 60), and (Equation 45) to (Equation 50) are utility functions. There are many character variables, so it is difficult to understand, but by repeatedly substituting, S 11 Variables such as u and g are eliminated, leaving only u, x1, x2, and x3 as character variables, and the rest as numeric values, resulting in a single equation made up of trigonometric functions and polynomials. This is the utility function (actually an implicit function or nonlinear equation) of (embodiment 3). Example 4
[0109] In Example 4, an implementation is shown in which the utility function generated in Example 3 is used to input x and output the value of u, and an implementation is shown in which the contour surface of the utility function u is drawn.
[0110] The user is (Number 62), which is (Number 150) in (Embodiment 3), [Number 62] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x2) [Number 63] f1(x1)=x1 0.9 , f2(x2)=x2 0.85 ,f3(x2)=x3 0.8 Prepare the following. Furthermore, the sphere on the f1f2f3 plane, which is (Number 88) in (Embodiment 3(1)), is [Number 64] f1 2 +f2 2 +f3 3 =53.02 2 For the moving points S1, S2, and S3 in (embodiment 3(2)), the path equation of the moving point is set to satisfy (embodiment 3(4)): [Number 65]θ 11 =0.945+0.001.56u-0.001.408u 2 +0.0001.819u 3 [Number 66]θ 12 =-137.42θ 11 +128.92 [Number 67]θ 21 =1.991-0.121u+0.037u 2 -0.007u 3 [Number 68]θ 22 =-1.24θ 21 +1.92, [Number 69]θ 31 =2.164-0.32u+0.124u 2 -0.018u 3 [Number 70]θ 32 =1.26θ 31 -0.41 [Number 71] 1≦u≦4 Naturally, (Number 65) to (Number 75) are impossible for a user to create with just a little thought, and that is why they were generated in Example 3. The above formulas use the formulas created in Example 3 as they are, and the content is a direct continuation of Example 3. In addition, the moving point S a The coordinates of the f1f2f3 plane are (S a1 ,S a2 ,S a3 ) when written as [Number 72] S a Coordinates of = (S a1 ,S a2 ,S a3 ),however [Number 73] S a1 =cosθ a1 ×53.02 [Number 74] S a2 =sinθ a1 cosθ a2 ×53.02 [Number 75] S a3 =sinθ a1 sinθ a2 ×53.02 The above is the formula for spherical coordinates used in high school mathematics.
[0111] The user starts the process regarding the moving point and plane in (embodiment 3(3)). When using high school mathematics to find the equation of the f1f2f3 plane that passes through the three points S1, S2, and S3, a linear equation of the form "β0 = β1f1 + β2f2 + β3f3" is naturally derived, with β0 to β3 being constants. However, by replacing β0 to β3 in this linear equation with g0 to g3, we get [Number 76] g0 = g1f1 + g2f2 + g3f3, where [Number 77] g1 = (S 22 -S 12 )(S 33 -S 13 )-(S 32 -S 12 )(S 23 -S 13 ) [Number 78] g2=(S 23 -S 13 )(S 31-S 11 )-(S 33 -S 13 )(S 21 -S 11 ) [Number 79] g3=(S 21 -S 11 )(S 32 -S 12 )-(S 31 -S 11 )(S 22 -S 12 ) [Number 80] g0 = (g1S 11 +g2S 12 +g3S 13 ) These (Equation 76) to (Equation 80) are the contour plane equations, and are an example of the process of "determining the values of g0(u), ..., g3(u)" (Embodiment 3 (3)). (Note: (Equation 76) to (Equation 80) are the exact formula for the "equation of a plane passing through three points" in high school mathematics.) The user substitutes (Equation 63) for the terms f1, f2, and f3 in (Equation 76), and gets [Number 81] g0 = g1 x 3 0.9 +g2x2 0.85 +g3x3 0.8 Let (Equation 81), (Equation 77) to (Equation 80), and (Equation 65) to (Equation 70) are utility functions, and although they are written as 11 equations, in reality they are a single implicit function with variables x1, x2, x3, and u. When values are given to x1, x2, and x3, the only unknown variable is u, and at first glance it may not be clear whether there is a solution. However, there is only one real number that satisfies u, and a numerical solution can be calculated easily and reliably using a nonlinear equation solver or the like. This makes it possible to use it like a function, u=f(x1, x2, x3). This is "u=f(x1, x2, x3)" in (Embodiment 3(6)). However, this description of the utility function formula is for study or presentation purposes and may not be coded as a formula in implementation.In implementation, rather than writing (Equation 77) to (Equation 80) in the source code beforehand, it is also possible to use (Equation 73) to (Equation 75) to calculate the coordinates of the three points S1, S2, and S3, and then use the cross product command or a command to solve simultaneous equations in mathematics software to directly find the values of g0, g1, g2, and g3 in (Equation 76).Various implementations are possible depending on the capabilities of the mathematics software used.
[0112] First, input x1 = 10, x2 = 8, and x3 = 5, and use the above function to calculate and show the value of u. In fact, this is just a very common procedure for finding the numerical solution to the nonlinear equation F(u) = 0 for u shown in (0110), so we will explain it briefly. The values x1 = 10, x2 = 8, and x3 = 5 are the values in the second row of the optimal point in Table 6, and the utility function was generated by assigning u = 2 as shown in Table 6. Therefore, if the utility function is generated properly, a value close to u = 2 should be output.
[0113] The user arbitrarily sets one value within the range of 1≦u≦4 as the initial value of u. where Initial value of u = 2.00 We set it as follows. Since u=2.00 is also a solution, this explanation is a bit simplistic. However, since the process of finding the numerical solution to an equation through such repeated calculations can be done automatically with commands in mathematical software, we have decided to only show the procedure and results. When u=2.000, if you input u=2.00 into the cubic equations (65) to (70), θ 11 = 0.945 θ 12 =-0.919 θ 21 = 1.84 θ 22 =-0.357 θ 31 = 1.879 θ 32 = 1.968 If we input the six angles and the radius 50.2 above into (70) to (75) and output the coordinates of S1, S2, and S3 on the f1f2f3 plane, we get S1 coordinates = (31.468, 26.406, -34.605) S2 coordinates = (-14.31, 48.513,-18.076) S3 coordinates = (-16.317,-19.785, 47.194) The above nine numerical values are substituted into (Equation 77) to (Equation 80) to find g1, g2, g3, and g0, but in terms of implementation, it is easier to not write (Equation 77) to (Equation 80) in the code, and you can use the simultaneous equation solver of a mathematical software or linear algebra tools such as the cross product command to find the equation of the plane that passes through the three points in one go. f1=-1.149×f2-1.233×f3+19.14 Next, substitute (63) into the above equation and [Number 82] x1 0.9 =-1.149×x2 0.85 -1.233×x3 0.8 +19.14 Here, if x1=8, x2=10, x3=5 If the utility value of is correct at u=2, then the equation in (Equation 82) should be true. If the equation does not hold, then u=2 is not true. Substituting x1=8, x2=10, and x3=5 into (Equation 82), we get 8 0.9 = -1.149×10 0.85 -1.233×5 0.8 +19.14 → 7.943 = -1.149×5.856-1.233×3.624+19.14 → 7.943 = -6.728544-4.468392+19.14 → 7.943 = 7.943 (∴ true) This can be transformed into the following equation, and it can be confirmed that the above equation is true. Since this is true, u=2 is adopted as the utility value for x1=8, x2=10, and x3=5 and output.
[0114] If the equation (82) is not true when x1 = 8, x2 = 10, and x3 = 5, select a value other than u = 2.00 and start the process of (0112) over again, repeating the calculation for various u values and searching for various values of u until the equation (82) becomes true.
[0115] This concludes the explanation of the example for calculating the value of u when x1=10, x2=8, and x3=5.
[0116] Next, we will show an example of drawing a contour surface (what is called an indifference surface in economics) in an x1x2x3 space, as shown in Figure 12. Looking at Figure 12, indifference curves that are convex to the origin are beautifully drawn in a wireframe. By implementing this invention, a beautiful graph that is convex to the origin, as shown in Figure 12, can be drawn. This graph is made from a sequence generated by a utility function realized by the invention. ●1 to ●4 are optimal points, but the arrangement of optimal points ●1 to ●4 is nonlinear and not linear. Despite this nonlinearity, the contour surface shown in the wireframe is guaranteed to have no intersections. The process for generating the following (Figure 12) is an example of a "beautiful and precise contour surface graph" (embodiment 3).
[0117] As seen in (0112), when x1=8, x2=10, and x3=5, (Equation 82) holds. Therefore, you can draw the graph of (Equation 82) using the 3D drawing command of your mathematics software. Solving (Equation 82) for x1 gives [Number 83] x1 = (-1.149 × x2 0.85 -1.233×x3 0.8 +19.14) 1 / 0.9 Therefore, by drawing this in 3D using mathematical software, a wireframe-like curved surface passing through ●2 in Figure 12 can be drawn.
[0118] For x1 to x3 at optimal points 1, 3, and 4 in Table 6, if we perform the same process as in (0116) and draw a contour surface using mathematical software, we can draw a convex surface that is convex to the origin passing through ●1, ●3, and ●4. ●1 to ●4 in Figure 12 are optimal consumption points when the price is 1, and if we draw the budget line appropriately, they will be drawn as a diagram that is firmly tangent to the indifference surface.
[0119] The utility function in (Implementation Example 3) was a complex equation including trigonometric functions and polynomials, but once the value of u was determined, it became a simple linear addition equation, as in (Equation 83). As a result, the equation for the contour line of u becomes a simple equation with an addition structure, and can often be solved in a form such as x1 = ~. This allows the coordinates of x1, x2, and x3 to be calculated accurately, and the diagram is less likely to blur even when enlarged. This can be considered a technical advantage. Example 5
[0120] In Example 5, as in Example 4, an example is shown in which a specific formula for the utility function (Number 150) of (Example 3) is generated using the generation technique in (Example 4). However, in this example, geodesics on a sphere are used as the three "paths of moving points." Using geodesics instead of linear expressions results in a more mathematically sophisticated implementation. To put it more visually, this is an example of generating an equation with a contour surface (indifference curve) like the one shown in Figure 16 by inputting four coordinate points such as ●1 to ●4 in Figure 13 and the tangent plane passing through them. As seen in Example 1, when there are two variables, they are surrounded by a circle, but in Example 5, there are three variables, so a sphere is used. When going from two variables to three variables, changing a circle to a sphere is a natural and predictable extension. (However, this is not exactly the same as a new step is required to set a "path of moving points" on the sphere. In the following, k is a subscript that represents the number of the good, and in Example 3, k = 1, 2, 3. Also, a is a subscript that represents the number of the moving point, and a = 1, 2, 3. As much as possible, expressions using k or a are used, such as x1, x2, x3, but expressions using k or a are occasionally used.
[0121] The user selects the general form (template) of the utility function u = F(x1, x2, x3) in (Equation 150) of (Embodiment 3). [Number 84] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x3) In (Equation 84), g0(u) to g3(u) are defined by three moving points that move on the spherical surface according to u, and are assumed to increase and decrease in a complex manner according to u. In Example 5, these g0(u) to g3(u) are completed in the last paragraph (0143) as numerically computable formulas such as (Table 16) and (Equation 111) to (Equation 116), reflecting the input data such as (Table 14) discussed below.
[0122] The user inputs the following data as input data in (embodiment 4(1)): Consumption of goods 1 to 3 as shown in (Table 14) x 1 * ,x2 * ,x3 * Prepare data on p1, p2, p3, and the utility value u under those prices. [Table 14] Each row of the optimal point numbers 1 to 4 in (Table 14) can be interpreted as the values of x1, x2, and x3 that minimize the expenditure required to realize u, with p1x1+p2x2+p3x3 (= expenditure amount) as the objective function and utility function u=F(x1, x2, x3) as the constraint. For example, x1 in the row of optimal point number 1 in (Table 14) is * =3,x2 * =2,x3 * The value of =2 is min x1,x2,x3 x1+x2+x3 st 1=F(x1,x2,x3) These data can be interpreted as the values of x1, x2, and x3 observed as a solution to the cost minimization problem. Four sets of such data, numbered 1 to 4, are prepared. (Table 14) x1 *Looking at the values in the column from top to bottom, we can see that they are 3, 10, 6, 25, and there is a section where they decrease from 10 to 6, so it is not a uniform increase but rather a wavy sequence of data. The advantage of this invention is that it can generate a utility function that can produce such complex optimum points. Optimum point (x1 * ,x2 * ,x3 * ) the equation of the tangent line passing through point p1(x1-x1 * )+p2(x2-x2 * )+p3(x3-x3 * ) = 0, but in economics it is also called the budget line or cost equation, and p1 and p 2, p3 can be interpreted as a price in economics, and p1, p2 correspond to (Number 153) in (Embodiment 4(1)). 2, This is a description of p3. To be sure, the user draws (Figure 13) to visually check the data. Numbers 1 to 4 (x1, x2, x3) in (Table 14) are drawn as ●1 to ●4, and the budget constraint line p1x1+p2x2+p3x3 passing through ●1 to ●4 is drawn in wireframe. This (Figure 13) visually shows the interpretation of (Table 14), which is the input data in Example 5.
[0123] Also, f used in (Number 151) in (Embodiment 4) k (x k ) as, [Number 85] f1(x1)=x1 0.9 , f2(x2)=x2 0.85 , f3(x3)=x3 0.8 , In this embodiment, a power equation is used, but in theory various equations such as logarithmic functions, exponential functions, and polynomials can be used. Ideally, the function forms f1(x1) to f3(x3) in (Equation 85) would also be generated from data, but since this is technically difficult, in this invention they are input by the user as in (Equation 85). Please refer to Patent Document 2 for the technology for generating f1 to f3.
[0124] The user begins the process of creating (Table 15). (Table 14) x k * The value of f in (Number 85) k (x k ) and f k (x k * ) and calculate the value of f1 in (Table 15). * ,f2 * ,f3 * Also, the derivative f k ′(x k ) and prepare f k ′(x k * ) and arrange them as shown in (Table 15). For reference, copy u in (Table 14) and use u in (Table 15). * Paste it into the column. This completes (Table 15). The user plots optimal points 1 to 4 in (Table 15) using mathematical software to draw (Figure 14). ★1 to ★4 in (Figure 10) are plots of the f1f2f3 coordinates of optimal points 1 to 4 in (Table 15). [Table 15]
[0125] Next, the user begins the task of setting the sphere and creating the path of the moving points, which corresponds to (embodiment 4(2)). The path of the moving points is an equation like the three arcs seen in (Figure 14), and the three moving points S1 to S3 will move on these three arcs in (Figure 14). The user is f1 in (Table 15). * ,f2 * ,f3 * Looking at the graph, the point with the longest distance from the origin is the optimal point 4, and calculating the distance is 26(:≒(18.119 2 +14.9 2 +11.423 2 ) 0.5) Considering that the maximum distance in the data is 26, the user sets the radius of the sphere to 50.00, which is approximately twice 26. The smaller the radius of the sphere, the higher the accuracy, but since the utility function value can only be calculated within the sphere, the domain of definition of the utility function becomes narrower. Therefore, in order to secure the desired domain, the radius is set to be larger, more than twice the maximum distance of the observed data, which can be expressed as the formula: [Number 86] f1 2 +f2 2 +f3 2 ≒50.00 2 This is the sphere of (Number 154) in (Embodiment 4(2)).
[0126] Next, we begin the process of creating three paths along which three moving points S1, S2, and S3 move on the sphere (Equation 86). End point of the path F m While looking at (Figure 14), the user roughly selects the end point F as the point on the sphere closest to ★4 where u is the largest. m The coordinates are (28.8,28.8,28.8), (Note: To be precise, it is 28.868...) Set the end point F m is a point on a sphere, so naturally it is "28.8 2 +28.8 2 +28.8 2 =50 2 Then, check and confirm that (Number 86) is satisfied. Next, the user selects the destination point F m The unit vector of the coordinates (28.8,28.8,28.8) is e m and [Number 87] e m =(0.57,0.57,0.57) Make it like this. e m Let e1, e2, and e3 be the unit vectors perpendicular to [Number 88] e1=( 0.81,-0.40,-0.40) [Number 89] e2=(-0.40, 0.81,-0.40) [Number 90] e3=(-0.40,-0.40, 0.81) Make it like this.m , e1, e2, e3 are recorded in (Table 16). A geodesic is determined by two orthogonal unit vectors. m and e1,e m and e2, and e m and e3 to create three pairs of orthogonal vectors, and the f1f2f3 coordinates of each geodesic line at a=1, 2, 3 are expressed as S a As a path expression, [Number 91] S a (θ a )={cos(θ a )×e m +sin(θ a )×e a}×radius Then, record this path formula (Equation 91) in (Table 16) and the path formula is complete. [Table 16] Finally, although it may be unnecessary, I think it would be better to include Table 17 for the presentation, so I have created it. The coordinates of e1, e2, and e3 multiplied by a radius of 50 are expressed as O1, O2, and O3, O1=(40.8,-20.4,-20.4) O2=(-20.4,40.8,-20.4) O3=(-20.4,-20.4,40.8) Make it like this. θ in (Table 16) a For,the user,θ a The range of 0≦θ a ≦π. In this way, 0≦θ a If you set ≦π, the start and end points of the geodesic line are e m and e a The coordinates are multiplied by the radius. [Number 92] S a (0)=e m × radius 50, so F m Matching points [Number 93] S a (π)=e a × Radius 50, so O a Matching points The following holds true. The geodesic S a (θ a ) decreases from θ=π to θ=0 when the starting coordinate is O a ,The end coordinate is F m The unit vector e used in the geodesic m ,e a It is easy to use because there is an intuitive and easy-to-understand relationship between the coordinates of the start and end points of the geodesic line and θ. Therefore, if you imagine the range of θ as being from 0 to π (or 2π), it is easy to imagine the work you are doing. The user creates Table 17 by transcribing the calculated O1, O2, and O3 as shown above. Table 17 shows the f1, f2, and f3 coordinates of the start and end points of the three moving points. [Table 17]
[0127] Next, the user draws (Figure 14) and checks whether the path equation in (Table 16) is appropriate. Using mathematical software, the user draws a graph of the path equation in (Table 16). The three arcs drawn in (Figure 14) are the graph of the path equation in (Table 16), and they are drawn from points O1, O2, and O3 to the end point F. m (Note: The three arcs in Figure 14 are drawn longer than in the table for visual appeal, and the range of θ is drawn from 0 to approximately 2π, rather than from 0 to π.)
[0128] As required in (Embodiment 3(4)), the above three paths are: As u increases, S1, S2, and S3 travel along the path from the start points O1, O2, and O3 to the end point F m Move in one direction without returning to the The plane passing through the three points S1, S2, and S3 moves so that it has no intersection. You must set the expression to be a path. Obviously, a path that violates (Embodiment 3 (3) (4)) is a spiral path. In a spiral path, the moving point moves in one direction from the starting point to the end point, but a plane passing through three points would not satisfy the condition because it is visually obvious that it has an intersection. You probably feel that the way to determine a good path is to find the path that minimizes the distance traveled from the starting point to the end point. Such a shortest path on a sphere is a "geodesic," and the three arcs in (Figure 14) are indeed geodesic. Comparing (Figure 10) using linear equations with (Figure 14) using geodesic lines, the three arcs in (Figure 14) give the impression of being linear and mathematically sophisticated. When it comes to realizing utility functions with more than three variables, such as four or more, geodesic lines are likely to exhibit mathematically clear and easy-to-understand properties, as well as practical and convenient properties, and so have great potential for the future. The user visually checks whether the path is correct by looking at the three arcs in (Figure 16). Looking at (Figure 16), a plane is created that passes through the moving points S1, S2, and S3 on the three paths, and S1, S2, and S3 are in F. m As we move towards the point, the plane is uniformly F without any intersections. m It can be intuitively confirmed that the movement is towards the point, so the test passes.
[0129] There is also a condition for determining the starting point. In Figure 16, the condition is that all of the points provided by the user, ★1 to ★4, must be within a sphere cut by a plane passing through O1, O2, and O3. Looking at Figure 14, if you imagine a semi-transparent sphere (not drawn because spheres are difficult to draw in black and white), you can see that ★1 to ★4 are within a sphere cut by a plane passing through O1, O2, and O3. An example of a starting point that does not satisfy the conditions is when ▲13, ▲23, or ▲33 in (Figure 14) is the starting point. If ▲13, ▲23, or ▲33 in (Figure 14) were the starting point instead of O1, O2, or O3 in (Figure 14), ★1 and ★2 would be outside the sphere cut by the starting point, and a function would be generated in which the values of the functions around ★1 and ★2 cannot be calculated, which is invalid.
[0130] The process of creating the equation for the geodesic path in (0124) is a step that did not exist in the two-variable functions of Examples 1 and 2. In the case of three variables, the moving point can move freely on the spherical surface, so there are an infinite number of paths along which it can move. For this reason, the path cannot be determined by the equation for the sphere alone, such as (Equation 39), and a step is required to add the equation for the geodesic in (Equation 91) and define a single path. In the case of two variables, the path on a circle is determined by the equation for the circle (Equation 13), so there was no need to create an equation for the path.
[0131] This completes the initial settings related to the sphere.
[0132] Next, the user begins the task of generating the contour plane formula portion (embodiment 4(1)). The user is the formula in (Equation 151) and (Equation 152) in (Embodiment 4). [Number 94] f1 = -β2(f2 - f2 * )-β3(f3-f3 * )+f1 * [Number 95] β k =(p k / p1)(f1 * ′ / f k * ′), k=1,2,3 We prepare a general form of the contour plane equation: Furthermore, the values of the columns p1, p2, and p3 in the row of the optimal point number 1 in (Table 14) and the values of f1 in the row of the optimal point number 1 in (Table 15) * ,f2 * ,f3 * ,f1 * ′,f2 * ′,f3 * ' and the column values, p1=1, p2=1, p3=1 f1 * =2.688, f2 * =1.803, f3 * =1.741 f1 * ′=0.806, f2 * ′=0.766, f3 * ′=0.696 Substituting these into (Equation 94) and (Equation 95), which are (Equation 151) and (Equation 152) in (Embodiment 4), and rearranging the terms, we obtain the first contour equation of the optimal point corresponding to the numerical examples in (Table 14) and (Table 15). [Number 96] f1=-1.05f2-1.15f3+6.60 is generated. This is recorded in the first row of (Table 18). Furthermore, by performing the same process on the optimal points 2 to 4, (Table 18) is completed. The calculable contour plane formula in (Table 18) is a concrete form of (Number 151) generated as a result of the process in (Embodiment 4(1)). [Table 18]
[0133] Next, the process of calculating the "coordinates of the intersection" referred to in (Embodiment 4(2)) is started. That is, the user calculates the coordinates S of the intersection between the path formula in (Table 16) and the contour plane formula in (Table 18). a Start the process of calculating
[0134] The contour plane formula for the row of optimal point number 3 in (Table 18) is read and written out as in (Equation 97), and furthermore, the "path formula" for the rows S1, S2, and S3 in (Table 16) is read and written out as a function that gives the f1f2f3 coordinates as in (Equation 98), (Equation 99), and (Equation 100). Also, the unit vectors required for the calculations of (Equation 98), (Equation 99), and (Equation 100) are read out from (Table 16) and written out as in (Equation 101) to (Equation 104). [Number 97] The optimal point No. 3 is the contour plane equation: f1=-1.40f2-1.61f3+38.5 [Number 98] Moving point S1=(f1,f2,f3)=(cos(θ1)e m +sin(θ1)e1)×50 [Number 99] Moving point S2=(f1,f2,f3)=(cos(θ2)e m +sin(θ2)e2)×50 [Number 100] Moving point S3=(f1,f2,f3)=(cos(θ3)e m +sin(θ3)e3)×50 [Number 101]e m =(0.57, 0.57, 0.57) [Number 102] e1 = ( 0.81, -0.40, -0.40) [Number 103]e2=(-0.40, 0.81,-0.40) [Number 104] e3=(-0.40,-0.40, 0.81) The user looks at the above formula and The coordinates of the intersection of (Equation 97) and (Equation 98) are calculated using a simultaneous equation solver in mathematical software. More specifically, e1 and e2 in (Equation 98) are calculated using m Substitute the unit vectors of (101) and (102) into (103), scan the value of θ1 in (98) in the range from 0 to π, and find the value of θ that makes the equation of (97) true. 1, Search for f1, f2, and f3. By doing this calculation, (Number 98) becomes [Number 105] θ1=1.06 In (98), the value of [Number 106] (f 1, f 2, f3)=(49.72,-3.68,-3.68) This makes equation 97 true. Record 1.06 and (49.72, -3.68, -3.68) in the top row of the third row of the optimal point in Table 19. These represent the coordinates of the intersection of the "contour plane equation for optimal point 3" and the "path of S1." Similarly, the coordinates of the intersection of (Number 97) and (Number 99) are calculated in the same way, and the result is θ2=1.26, (f1, f2, f3)=(-10.84, 47.59, -10.84), which can be seen in the second row of the row of the optimal point number 3 in (Table 19). This represents the coordinates of the intersection of the "contour plane equation of optimal point number 3" and the "path of S2". Similarly, the coordinates of the intersection of (Number 97) and (Number 100) are calculated in the same way, and the result is θ3=1.38, (f1, f2, f3)=(-14.56, -14.56, 45.56), which can be seen in the third row of the row of optimal point number 3 in (Table 19). This represents the coordinates of the intersection of the "contour plane formula of optimal point number 3" and the "path of S3". [Table 19]
[0135] If the process of (0133) is also performed on the equations of optimal points 1, 2, and 4 in (Table 18), (Table 19) is completed.
[0136] For reference, if you draw the intersection points S1, S2, and S3 shown as optimal point number 3 in (Table 19), they will look like ▲13, ▲23, and ▲33 in (Figure 14). Looking at (Figure 14), you can see that they are definitely points on the path, and you can be sure that the coordinates have been calculated according to theory. Also, the plane passing through the three points ▲13, ▲23, and ▲33 in (Figure 14) is not drawn in (Figure 14), but if you look closely at the figure, you will see that ★3 and ▲13, ▲23, and ▲33 are lined up in a straight line, so if you fill in the plane yourself and imagine it, you will be sure that it passes through ★3.
[0137] This completes the calculation of the intersection coordinates S1, S2, and S3.
[0138] Next, processing begins for "moving points S1, S2, S3 that move according to u" in (embodiment 4(4)). That is, the process of creating a utility function by regression begins using the coordinates (angles) of the intersections found in (Table 19).
[0139] Before starting this regression process, we will start by rearranging Table 19 to create Table 20. Table 20 is the same as Table 19, but in a presentation suitable for regression. If we extract only θ1 from (Table 19), we get 1.45, 1.29, 1.06, 0.91 This is transcribed vertically in (Table 20). Similarly, if we extract only θ2 from (Table 19), we get 1.48, 1.38, 1.26, 0.45 This is transcribed into Table 20. Similarly, if we extract only θ3 from Table 19, we get 1.55, 1.44, 1.38, 1.19 This is transcribed vertically into Table 20. Furthermore, when the user transcribs the utility values u=1, 2, 3, 4 that were initially assigned in Table 14 onto the right side of the table, Table 20 is completed. [Table 20]
[0140] Then, the user draws (Figure 15) from (Table 20) in mathematics software. The ▲ in Figure 15 is a plot of Table 20, drawn as three graphs with θ1, θ2, and θ3 on the vertical axis and u on the horizontal axis. For example, ▲21 in Figure 15 is a plot of the u and θ2 values (1, 1.48) in the first row of Table 20.
[0141] The user determines the regression equation by looking at the sequence of numbers in (Table 20) and (Figure 15). Looking at (Figure 15), the user decides that a third-order polynomial would be appropriate for the regression equation. [Number 107] θ a =β0+β1u+β2u 2 +β3u 3 , a=1,2,3 If we use the regression equation as above and generate β0 to β3 using the regression command in a mathematical software, [Number 108]θ1(u)=1.36+0.26u-0.20u 2 +0.028u 3 [Number 109]θ2(u)=1.65-0.22u+0.07u 2 -0.014u 3 [Number 110]θ3(u)=1.91-0.52u+0.20u 2 -0.03u 3 The following estimation formula is generated.
[0142] It is important to note that the regression of (0140) makes θ1, θ2, and θ3 functions of u. This means, S1(θ1), S2(θ2), S3(θ3) The function of θ is the composition S a (θ a (u)) S1(u), S2(u), S3(u) This becomes a function of u. This S a (θ a ) is a "path expression", but S a (u) is "moving point S a This is the formula. Therefore, instead of the path formula, we use the moving point S a In order to describe all the equations in detail, we have created a summary in Table 21. Table 21 is a transcription of (Number 108), (Number 109), and (Number 110) into Table 16. When u is entered, the moving point S a The f1f2f3 coordinates are output. For the sake of representation, the f1f2f3 coordinates are hereafter referred to as (f 1, f 2, f3), but (S 11 ,S 12 ,S 13 ) For example, (S 11 ,S 12 ,S 13 ) represents the f1f2f3 coordinates of moving point S1. This (Table 21) is a specific example of (Embodiment 4 (4)) "numerically calculable formula of moving points S1, S2, S3 that move according to u", and as in the embodiment, from the intersection coordinates u * It is generated by methods such as regression to [Table 21]
[0143] Finally, the user begins the task of constructing a utility function from Table 16 and Equation 85.
[0144] As mentioned in (0141), the moving point S a The f1f2f3 coordinates of (S a1 ,S a2 ,S a3 ) is written as. For example, (S 11 ,S 12 ,S13 ) is calculated by inputting u=1 into the formula for S1(u) in (Table 21), and as the f1f2f3 coordinates, (43.928 -16.887 -16.887) is output. This vector is (S 11 ,S 12 ,S 13 ) are examples of values. From the three points S1, S2, and S3 (Table 16), the user creates the equation for the f1f2f3 plane that passes through those three points. The equation for the f1f2f3 plane that passes through the three points S1, S2, and S3 is long, so if we divide it into five lines and show it, the mathematical formula is [Number 111] g0 = g1f1 + g2f2 + g3f3, where [Number 112] g1 = (S 22 -S 12 )(S 33 -S 13 )-(S 32 -S 12 )(S 23 -S 13 ) [Number 113] g2=(S 23 -S 13 )(S 31 -S 11 )-(S 33 -S 13 )(S 21 -S 11 ) [Number 114] g3=(S 21 -S 11 )(S 32 -S 12 )-(S 31 -S 11 )(S 22 -S 12 ) [Number 115] g0 = (g1S 11 +g2S 12 +g3S 13 ) These equations (111) to (115) are called the contour plane equations. The user substitutes (Equation 85) for the terms f1, f2, and f3 in (Equation 111), and gets [Number 116] g0 = g1 x1 0.9 +g2x20.85 +g3x3 0.8 Let's say. (Table 16) and (Equation 111) to (Equation 116) are utility functions. There are many character variables, so it is difficult to understand, but 11 These variables are actually functions of u, and by repeatedly substituting, S 11 Variables such as g and g are eliminated, leaving a single equation made up of trigonometric functions and polynomials, with only u, x, x, and x being character variables and the rest being numeric. This is the utility function (actually an implicit function or nonlinear equation) of (embodiment 3). Example 6
[0145] In Example 6, we will show how to use the utility function generated in Example 5, input x to it, output the value of u, and draw the contour surface of the utility function. a is where you write the legend, such as the moving point number. Below, moving point S a is the f1f2f3 coordinate (S a1 ,S a2 ,S a3 ) is written as
[0146] The user, as (number 150) in (embodiment 3), [Number 120] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x2) [Number 121] f1(x1)=x1 0.9 , f2(x2)=x2 0.85 ,f3(x2)=x3 0.8 Prepare the following. Furthermore, the sphere on the f1f2f3 plane in (embodiment 3(1)) is set to a radius of 50. [Number 122] f1 2 +f2 2 +f3 3 =50 2 Let's say. Furthermore, the equations of the moving points S1, S2, and S3 in (embodiment 3(2)) are prepared as equations (124) to (136) having the properties in (embodiment 3(4)). This is the same as (Table 21). [Number 124] (S 11 ,S 12 ,S 13 )={cos(θ1)e m +sin(θ1)e1}×50, [Number 125] θ1=1.36+0.26u-0.20u 2 +0.028u 3 [Number 126] e1=(0.81,-0.40,-0.40) [Number 127] e m =(0.57, 0.57, 0.57) [Number 128] (S 21 ,S 22 ,S 23 )={cos(θ2)em+sin(θ2)e2}×50, [Number 130] θ2=1.65-0.22u+0.07u 2 -0.014u 3 [Number 131] e2=(-0.40, 0.81,-0.40) [Number 132] e m =(0.57, 0.57, 0.57) [Number 133] (S 31 ,S 32 ,S 33 )={cos(θ3)em+sin(θ3)e3}×50, [Number 134] θ3(u)=1.91-0.52u+0.20u 2 -0.03u 3 [Number 135] e3=(-0.40,-0.40, 0.81) [Number 136] e m =(0.57, 0.57, 0.57) In the above formula, "e m =(0.57, 0.57, 0.57)" is written three times, and the symbol e m The overlapping of three times is not important, so please interpret it appropriately. The domain of the function is [Number 137] 1≦u≦4 Naturally, (Number 120) to (Number 137) contain many numbers including decimal points, and the user cannot create them as desired with a little thought, so they were generated by the invention of Example 5. The above formula uses the formula created in Example 5 as is, and the content is a direct continuation of Example 5.
[0147] The user starts the process regarding the moving point and plane in (embodiment 3(3)). When using high school mathematics to find the equation of the f1f2f3 plane that passes through the three points S1, S2, and S3, a linear equation of the form "β0 = β1f1 + β2f2 + β3f3" is naturally derived, with β0 to β3 being constants. However, by replacing β0 to β3 in this linear equation with g0 to g3, we get [Number 138] g0 = g1f1 + g2f2 + g3f3, where [Number 139] g1 = (S 22 -S 12 )(S 33 -S 13 )-(S 32 -S 12 )(S 23 -S 13 ) [Number 140] g2=(S 23 -S 13 )(S 31 -S 11 )-(S 33 -S 13 )(S 21 -S 11 ) [Number 141] g3=(S 21 -S 11 )(S 32 -S 12 )-(S 31 -S 11 )(S 22 -S 12 ) [Number 142] g0 = (g1S 11 +g2S 12 +g3S 13 ) These equations (138) to (142) are the contour plane formulas, and are an example of the process of "determining the values of g0(u) to g3(u)" (Embodiment 3(3)). (Note: Equations (138) to (142) are the well-known "formula for a plane passing through three points.") (Number 120), (Number 121), (Number 124) to (Number 142) are utility functions, and although they are written as 20 equations, in reality they are a single implicit function with variables x1, x2, x3, and u. When values are given to x1, x2, and x3, the only unknown variable is u, and at first glance it may not be clear whether there is a solution. However, there is only one real number that satisfies u, and a numerical solution can be calculated easily and reliably using a nonlinear equation solver or the like. For this reason, they can be used like a function, u=F(x1, x2, x3). This is the "u=F(x1, x2, x3)" referred to in (Embodiment 3(6)). However, such descriptions of utility function formulas are for study or presentation purposes and may not be coded as formulas in implementation.In implementation, rather than writing (Equation 139) to (Equation 142) in the source code beforehand, it is also possible to use (Equation 124) to (Equation 136) to calculate the coordinates of the three points S1, S2, and S3, and then use the cross product command or a command to solve simultaneous equations in mathematics software to directly find the values of g0, g1, g2, and g3 in (Equation 120) (or (Equation 138)).Various implementations are possible depending on the capabilities of the mathematics software used.
[0148] First, input x1 = 10, x2 = 8, and x3 = 5, and use the above function to calculate and show the value of u. Example 6 is actually just a very general procedure for finding the numerical solution to the nonlinear equation F(u) = 0 for u shown in (0146), so we will explain it briefly. The values x1 = 10, x2 = 8, and x3 = 5 are the values in the second row of the optimal point in Table 14, and u = 2 was assigned as shown in Table 14 to generate the utility function in Example 5. Therefore, if the utility function is generated appropriately, a value close to u = 2 should be output.
[0149] The user arbitrarily sets one value within the range of 1≦u≦4 as the initial value of u. where Initial value of u = 2.00 We set it as follows. Since u=2.00 is also a solution, this explanation is a bit simplistic. However, since the process of finding the numerical solution to an equation through such repeated calculations can be done automatically with commands in mathematical software, we have decided to only show the procedure and results. Enter the initial value u = 2.00 into (Equation 124) to (Equation 136) and proceed with the calculation. Coordinates of S1: (S 11 ,S 12 ,S 13 )=( 47.15, -11.76,-11.76) Coordinates of S2: (S 21 ,S 22 ,S 23 )=(-14.79, 45.41,-14.79) Coordinates of S3: (S 31 ,S 32 ,S 33 )=(-16.47, -16.47, 44.23) The above nine numerical values are substituted into (Equation 138) to (Equation 142) to find g1, g2, g3, and g0, but in terms of implementation, it is easier to not write (Equation 138) to (Equation 142) in the code, and you can use the simultaneous equation solver of a mathematical software or linear algebra tools such as the cross product command to find the equation of the plane that passes through the three points in one go. f1=-1.149×f2-1.233×f3+19.14 The output is: Next, substituting (Equation 121) into the above equation, [Number 143] x1 0.9 =-1.149×x2 0.85 -1.233×x3 0.8 +19.14 Here, if x1=10, x2=8, x3=5 If the utility value of is u=2.00 and correct, then the equation in (Equation 143) should be true. If the equation is false, then u=2.00 is not true. Substituting x1=10, x2=8, and x3=5 into (Equation 143), we get 10 0.9 = -1.149×8 0.85 -1.233×5 0.8 +19.14 → 7.943 = -1.149×5.856-1.233×3.624+19.14 → 7.943 = -6.728544-4.468392+19.14 → 7.943 = 7.943 (∴ true) This can be transformed into the following equation, and it can be confirmed that the above equation is true. Since this is true, u=2.00 is adopted as the value of F(x1, x2, x3) for x1=10, x2=8, and x3=5, and output.
[0150] If the equation (143) is not true when x1 = 10, x2 = 8, and x3 = 5, select a value other than u = 2.00 and start the process of (0148) over from the beginning, repeating the calculation for various u values and searching for various values of u until the equality in (143) becomes true.
[0151] This concludes the explanation of the example for calculating the value of u when x1=10, x2=8, and x3=5.
[0152] Finally, we present an example of drawing a contour surface (known in economics as an indifference surface) as shown in Figure 16. Looking at Figure 16, we can see that indifference curves that are convex to the origin are beautifully drawn in a wireframe. By implementing this invention, we can draw a beautiful graph that is convex to the origin, as shown in Figure 16. This graph is created from a sequence generated by a utility function realized by the invention. Optimal points are ●1 to ●4, but the arrangement of optimal points ●1 to ●4 is nonlinear, not linear. Despite this nonlinearity, the contour surface shown in the wireframe is guaranteed to have no intersections, and even if the number of contour surfaces drawn is increased from 4 to 100 or 200, beautiful layers without intersections are formed. The process for generating the following (Figure 16) is an example of a "beautiful and precise contour surface graph" (embodiment 3).
[0153] As we saw in (0112), when x1=10, x2=8, and x3=5, (Equation 143) holds. Therefore, we can draw the graph of (Equation 143) using the 3D drawing command of a mathematical software. When we solve (Equation 143) for x1, we get [Number 144] x1 = (-1.149 × x2 0.85 -1.233×x3 0.8 +19.14) 1 / 0.9 Therefore, by drawing this in 3D using mathematical software, a wireframe-like curved surface passing through ●2 in Figure 16 can be drawn.
[0154] For x1 to x3 at optimal points 1, 3, and 4 in (Table 14), if we perform the same process as (0116) and draw a contour surface using mathematical software, we can draw a convex surface that is convex to the origin passing through ●1, ●3, and ●4. ●1 to ●4 in (Figure 12) are optimal consumption points when the price is 1, and if we draw the budget line appropriately, they will be drawn as a diagram that is firmly tangent to the indifference surface.
[0155] The utility function in (Embodiment 3) was a complex equation including trigonometric functions and polynomials, but once the value of u was determined, it became a simple linear addition equation as in (Equation 143). As a result, the equation for the contour line of u becomes a simple equation with an additive structure, and often takes the form x1 = ~ as in (Equation 144). This allows the coordinates of x1, x2, and x3 to be calculated accurately, and the diagram is less likely to blur even when enlarged. This can be considered a technical advantage.
[0156] <Outline of utility functions with multiple variables> The multivariate utility function is u=F(x1,…,x n ) where n is a natural number equal to or greater than 2. When n=4 or greater, a utility function with four or more variables can be realized. Utility functions with two variables (n=2) and three variables (n=3) are as explained in Examples 1 to 6. The implicit function of this utility function is expressed as [number 200]. [Number 200] g0(u)=g1(u)f1(x1)+…g n (u)f n (x n )
[0157] First, a utility function is generated in the same way as in Examples 1, 3, and 5. Since detailed explanations of the formulas and calculation processes can be found in each Example, they will not be explained below. n ) holds, then u * =F(x1 * ,x2 * ) is assumed to be true. In this case, the input data is (x1 * ,…,x n * ,u * ,p1,…,p n ) pair.
[0158] Next, an n-dimensional figure corresponding to the n-th dimension is generated. An n-dimensional figure is a circle analogue in two dimensions, a sphere analogue in three dimensions, a hypersphere in four or more dimensions, etc. The radius of the simplest n-dimensional figure is set to satisfy [Equation 201]. Note that [Equation 201] can be transformed by assigning coefficients to each term. In other words, n-dimensional figures are not limited to figures expressed by [Equation 201], but can include analogues (n-dimensional figure analogues). [Number 201]f1(x1 * ) 2 +…+f n (x n * ) 2 ≦radius
[0159] An n-dimensional figure has n moving points set. Each of the n moving points has a starting point, a common ending point, and a path that is the route the moving points take from the starting point to the ending point. The same method of derivation can be used for each of these points and paths as for 2D and 3D. A generated figure that passes through the n moving points is also generated. The generated figure is equivalent to a contour line in 2D and a contour plane in 3D, and can be said to be an (n-1)-dimensional figure.
[0160] Next, the intersection coordinates of the n paths and the generated figure are calculated. In n dimensions, n intersections are calculated. When n inputs are received for sets of input data, n sets of intersection coordinates corresponding to each set of input data are generated. The input data and the corresponding intersection coordinates may be associated as a data set and temporarily stored in a storage device.
[0161] The computer performs regression processing on the above-mentioned data set. Specifically, the computer calculates the u * Regression to the second intersection coordinates of the input data u * Regression to ... the nth intersection coordinate to input data u *This generates n equations that express the coordinates of each intersection point using the u variable. The generated equations are shift equations that represent the movement of each moving point according to the value of u. Using these shift equations, it is possible to generate a utility function with n dimensions and multiple variables.
[0162] A method for calculating the utility u using the generated utility function will be described. Detailed formulas and calculation processes will be omitted because the same derivation methods as in Examples 2, 4, and 6 can be used.
[0163] First, the computer generates an n-dimensional figure analogue including an n-dimensional figure. It also generates n moving points that move through the n-dimensional figure and a generated figure that passes through the n moving points. The generated figure may be expressed as a mathematical formula. The n-dimensional figure analogue, moving points, and generated figure generated here can be those generated in the process of generating the utility function described above.
[0164] The computer generates the generated figure and f1(x1), ...f n (x n ) and based on [Number 200], we have increasing functions g0(u), non-increasing functions g1(u), ...g n The value of (u) is determined. The determined value is introduced into
[200] and used to derive the utility u.
[0165] The calculator accepts inputs x1, ..., x3. By inputting these input values into
[200] , a numerical solution for utility u is derived, and u = F(x1, ..., x n ) can be output. In this way, the utility u can be derived even in the case of multiple variables.
[0166] <Calculator> The present invention is implemented by programming a computer. The computer is a so-called computer device, and has an arithmetic unit such as a CPU (Central Processing Unit) and a storage device. The computer device can function as mathematical software, a solver, or various calculation tools by executing a program stored in the storage device using the arithmetic unit. The computer device may be configured with multiple computers, and, for example, a part of a series of calculations may be distributed across multiple computers.
[0167] The storage device stores functions, various calculation formulas, and the results of calculations using them. The arithmetic unit uses values input by the user as variables for the functions and formulas, and obtains the calculation results by executing the calculations of the formulas. The arithmetic unit also performs display processing for various software and tool screens, graphing formulas and input values, etc.
[0168] Embodiments 1 to 4 are described below. [Embodiment 1] When the utility function is u=F(x1,x2), [Number 145] g0(u)=g1(u)f1(x1)+g2(u)f2(x2) The utility function can be expressed as an implicit function, and f1(x1) and f2(x2) are real-valued functions. (1) It has a circle on the f1f2 plane that surrounds the range of f1(x1) and f2(x2), (2) On the circle, there are two moving points (hereinafter referred to as S1 and S2) that move according to u. (3) It is equipped with a straight line (called a contour line) that passes through the above moving points S1 and S2, and is equipped with a mechanism that determines the values of g0(u), g1(u), and g2(u) in (Equation 145) by a mathematically equivalent transformation of the straight line. (4) For inputs of x1 and x2, the value of u that satisfies the above equation (145) is calculated numerically using a nonlinear equation solver or the like, and the value of u = f(x1, x2) is output. The above computer can be expressed as shown in (Figure 2), where The circle in (1) above can be expressed like the 12 circles in (Figure 2), In the above (1), f1(x1) is a function that can be expressed as curve 3, and f2(x2) is a function that can be expressed as curve 4. The moving points S1 and S2 in (2) above can be expressed as "S1" and "S2" in (Figure 2). S1 moves counterclockwise on the circle 12, and S2 moves clockwise toward point F in (Figure 2) as u increases. The contour lines in (3) above are lines that can be expressed as lines passing through "S1" and "S2," such as lines 1, 2, and 10. In (4) above, "f1 and f2 are such that they satisfy the contour line" means that when the coordinates of the values of f1(x1) and f2(x2) are expressed as point 5, the contour line passes through point 5, like line 1, rather than the value of u that results in line 2 or line 10. Furthermore, the circle in (1) above includes not only perfect circles but also ellipses, and also broadly includes anything other than ellipses that can be reduced to a circle by mathematical value transformation. For example, things other than ellipses include polygons and circles of p2 distance. Furthermore, a circle does not necessarily have to be closed, and includes things that have a start point and an end point. As a result, it includes all things in which two contour lines corresponding to different u form a path (referred to as a path in the text) between S1 and S2 that do not intersect. A circle is the easiest to handle as "a path (referred to as a path in the text) between S1 and S2 that does not intersect with two or more contour lines corresponding to different u," so this is simply a matter of describing an embodiment using a circle. A computing device that realizes a two-variable function such as u=F(x1, x2) using the above method, or an image generating device that generates numbers or draws beautiful contour maps based on the realized two-variable function. [Embodiment 2] (1) When the utility function of the first embodiment is generally u = F(x1, x2), the calculation device of the invention: u * =F(x1 * ,x2 * ) is assumed to hold true for x1 * ,x2 *,u * , and p1, p2 are input data, and based on this, a calculation device for formula formation generates the utility function of embodiment 1, The above computing devices include: The equation of a line on the f1f2 plane (contour line) is [Number 146] β1(f1-f1(x1 * ))+β2(f2-f2(x2 * ))=0 In (146), f1(·) and f2(·) are real-valued functions prepared by the user. The values of β1 and β2 in (Number 146) are [Number 147] β k =(p k / p1)×(f1′(x1 * ) / f k ′(x k * )),k=1,2 And, p in (Number 147) k , is the above utility function u * =F(x1,x2) on the contour line of x1 and x2 (called an indifference curve in economics). * ,x2 * ) the equation of the tangent at [Number 148] p1(x1-x1 * )+p2(x2-x2 * )=0 The input accepted is anything that can be interpreted as p1 and p2 when (Note) (Number 146) is generated as a linear expression, as a mathematical corollary, in which only f1 and f2 are character variables, and all other terms are numeric, based on the values of the input data. (Note) In economics (or mathematical optimization), p k x k This can be interpreted as the price of x1 * ,x2 * can be interpreted as the optimum point, and (148) corresponds to the budget constraint line passing through the optimum point, or to what can be interpreted as a cost equation. (2) In addition to the above, this molding device is a formula for a circle on the f1f2 plane whose radius is specified by the user. [Number 149] f1 2 +f2 2 =radius It has f1(x1 * ) 2 +f2(x2 * ) 2 The radius is determined so that the radius is less than or equal to the radius. This is a device equipped with a mechanism that calculates the coordinates (measured in any way, such as Cartesian coordinates or polar coordinates) of the intersection points between the circle of (Equation 149) above and the contour line of (Equation 146) above. Hereinafter, the coordinates of the intersection points calculated by this mechanism will be denoted as S1 and S2. (Note) However, although the above circle (number 149) is a perfect circle, it broadly includes things similar to a circle, such as an ellipse. (3)(x1 * ,x2 * ,u * When n data sets (p1, p2) are input, the process of (1) and (2) is repeated n times to generate n S1 and S2 (including the same process with the loop order reversed), (4) The n S1 and S2 generated in (3) above and the n u * Using S1 to u * Return to, and from S2 to u * A formula shaping device that generates a specific formula for the utility function of embodiment 1 in the form desired by the user by generating a numerically computable formula for the "moving points S1 and S2 that move according to u" as referred to in embodiment 1 by a method such as performing a regression to [Embodiment 3] When the utility function is u=F(x1,x2,x3), [Number 150] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x3) The utility function (f k (x k ), k=1,2,3 are real numbers) is a computing device equipped with The computing device is (1) It has a sphere in the space f1f2f3 that encloses the ranges of f1(x1), f2(x2), and f3(x3), (2) There are three moving points (S1, S2, S3) on the above sphere that move with increasing u. (3) The system generates the equation of the plane that passes through the moving points S1, S2, and S3 (called the contour plane), and then determines the values of g0(u), g1(u), and g2(u) in (Equation 150) based on the contour plane. (4) The path along which the three moving points S1, S2, and S3 in (2) move is a path that is appropriately set so that the contour planes created from different u do not intersect with each other. Examples of such paths are the three arcs in (Figure 9) and (Figure 14). The sphere in (1) above includes not only perfect spheres but also ellipsoids, polyhedrons, etc. As a result, if it is possible to realize the contour planes that do not intersect with each other as described in (4), it also includes objects that are not perfect spheres. A computing device that realizes a function of three variables such as u=F(x1, x2, x3) using the above method, or a device that generates numbers based on the realized function of three variables, or generates beautiful and precise images of contour graphs based on these numbers. In addition, an expansion of the above three variables to four or more variables is also included in embodiment 3. [Embodiment 4] (1) The calculation device of the invention generally defines the utility function of embodiment 3 as u = F(x1, x2, x3), u * =F(x1 * ,x2 * ,x3 * ) is assumed to hold true for x1 * ,x2 * ,x3 * ,u * , and p1, p2, p3 as inputs, and processes the inputs to generate a mathematical formula that generates the utility function of embodiment 3; The above computing device is The equation of the f1f2f3 plane (hereafter referred to as the contour plane equation) is [Number 151] β1(f1-f1(x1 * ))+β2(f2-f2(x2 * ))+β3(f3-f3(x3* ))=0 In (151), f1(·), f2(·), and f3(·) are functions provided by the user. The values of β1, β2, and β3 in (Number 151) are [Number 152]β k =(p k / p1)×(f1′(x1 * ) / f k ′(x k * )),k=1,2,3 And, p in (Number 152) k , is the above utility function u * =F(x1,x2,x3) on the contour plane of x1,x2,x3 (called an indifference surface in economics). * ,x2 * ,x3 * ) is the equation of the tangent plane at [Number 153] p1(x1-x1 * )+p2(x2-x2 * )+p3(x3-x3 * )=0 These are p1, p2, and p3 when (Note) (Number 151) is generated as a linear expression, as a mathematical corollary, in which only f1f2f3 are character variables, and all other terms are numeric, based on the values of the input data. (Note) In economics, p k x k This can be interpreted as the price of x1 * ,x2 * ,x3 * can be interpreted as an optimal point, and (Equation 153) corresponds to what can be interpreted as a budget constraint equation or a cost equation that passes through the optimal point. (2) In addition to (1) above, the calculation device calculates a sphere on the f1f2f3 plane whose radius is specified by the user. [Number 154] f1 2 +f2 2 +f3 2 =radius 2 And the radius above is f1(x1 * ) 2 +f2(x2 * )2 +f3(x3 * ) 2 The radius is set to be less than or equal to 1, and the calculation device has three paths (hereinafter referred to as paths) along which the moving point used in embodiment 3 passes on the sphere of (Equation 154). The mathematical formula that represents this path is called the "path formula." This is a device that performs the process of calculating the coordinates of the intersections of the equations of the three paths in (2) above and the plane (number 151) in (1) above.Since there are three calculated intersections, their coordinates (can be expressed as any of Cartesian coordinates, polar coordinates, etc.) will be denoted as S1, S2, and S3 below. (3)(x1 * ,x2 * ,x3 * ,u * , p1, p2) are input as n (n≧2) data sets, and (1) and (2) are performed n times to generate n S1, S2, and S3. (4) The n S1, S2, S3 and n u generated in (3) above * Using S1 to u * Return to, and from S2 to u * Return to, and from S3 to u * A computing device that generates a specific mathematical formula that can output the numerical values of the utility functions g0(u), g1(u), g2(u), and g3(u) of (embodiment 3) by generating a formula that can be numerically calculated for the ``moving points S1, S2, and S3 that move according to u'' in (embodiment 3) by performing a regression to In addition, an expansion of the above three variables to four or more variables is also included in embodiment 4.
Claims
1. Consumption of goods x n and a utility u felt by a person, A storage device and a computing device, The storage device stores the utility function u=F(x 1 , x 2 ), it can be expressed by the implicit function [Equation 145], and f 1 (x 1 ), f 2 (x 2 ) stores the utility function, which is a real-valued function, The computing device f 1 (x 1 ) and f 2 (x 2 ) range enclosed by f 1 f 2 (1) generating circle analogues, including circles and ellipses, on a plane; A first moving point S that moves on the circle analogue and moves according to the value of u. 1 and the second moving point S 2 (2) generating a The first moving point S 1 and the second moving point S 2 (3) generating a contour line passing through the The contour lines and f 1 (x 1 ), f 2 (x 2 ) and g in the implicit function based on 0 (u), g 1 (u), g 2 (4) determining the value of (u); x 1 and x 2 and derive a numerical solution for the utility u that satisfies the implicit function, and 1 , x 2 (5) processing to output the value of The (2) process sets a starting point of the first moving point, a starting point of the second moving point, and an ending point common to the first moving point and the second moving point, and the first moving point moves in a first direction from the starting point to the ending point of the first moving point as the utility u increases, and the second moving point moves in a direction opposite to the first direction from the starting point to the ending point of the second moving point as the utility u increases. [Number 145] g 0 u) = g 1 u) f 1 x 1 ) + g 2 u) f 2 x 2 ) g 0 (u), g 1 (u), g 2 (u) is a real-valued function calculated based on the equation of the contour line passing through the first moving point and the second moving point, which are moving points whose values move according to u.
2. The storage device includes: The equations of the contour lines are [Equation 146], [Equation 147], [Equation 148], and f 1 f 2 Memorize the equation of a circle on a plane, [Number 149], and The computing device u * = F(x 1 * , x 2 * ) holds, (x 1 * , x 2 * , u * , p 1 , p 2 ) and accepting input data having a set of f 1 (x 1 * ) 2 +f 2 (x 2 * ) 2 Accepts input of radius that is less than or equal to radius, Calculating first and second coordinates of two intersections of the circle and the contour line; When n inputs of the sets of input data are received, n sets of the first coordinates and the second coordinates corresponding to the respective sets of input data are generated; From the first coordinate to the u of the input data * and the second coordinate to the input data u * a first equation expressing the first coordinate with a variable u and a second equation expressing the second coordinate with a variable u by performing a regression to The first equation is a function of the first moving point S according to the value of u. 1 The second equation represents the movement of the second moving point S according to the value of u. 2 The computing device of claim 1 , wherein the computing device represents a movement of [Number 146] β 1 (f 1 −f 1 (x 1 * )) + β 2 (f 2 −f 2 (x 2 * )) = 0 1047 β k (D) k H.S 1 )×(S 1 ′(8). 1 * 6 k ′(8). k * ))0112 [Number 148] p 1 (x 1 -x 1 * ) + p 2 (x 2 -x 2 * ) = 0 [Number 149] f 1 2 +f 2 2 = Radius p 1 and p 2 is the price of the good, expressed as [Equation 148], and f in [Equation 146] 1 (・), f 2 (·) is a real-valued function, and β 1 and β 2 The value of is expressed by [Equation 147].
3. Consumption of goods x n and a utility u felt by a person, A storage device and a computing device, The storage device stores the utility function u=F(x 1 , x 2 , x 3 ), it can be expressed by the implicit function [Equation 150], and f 1 (x 1 ) ~ f 3 (x 3 ) stores the utility function, which is a real-valued function, The computing device f 1 (x 1 ), f 2 (x 2 ), f 3 (x 3 ) range enclosed by f 1 f 2 f 3 (1) generating sphere-like objects including spheres and ellipsoids in space; The three moving points (S 1 , S 2 , S 3 (2) generating a The three moving points (S 1 , S 2 , S 3 (3) generating a contour plane that is a plane passing through the The contour plane and f 1 (x 1 ), f 2 (x 2 ), f 3 (x 3 ) and g in the implicit function based on 0 (u), g 1 (u), g 2 (4) determining the value of (u); x 1 , x 2 , x 3 and derive the value of utility u that satisfies the implicit function, and 1 , x 2 , x 3 (5) processing to output the value of The (2) process is a calculation device that sets a starting point for each of the three moving points, a common ending point for each moving point, and paths that are movement routes from the starting point to the ending point, and moves each moving point from the starting point to the ending point along the path as the utility u increases. [Number 150] g 0 u = g 1 u f 1 x 1 + g 2 u f 2 x 2 + g 3 u f 3 x 3 g 0 (u), g 1 (u) to g 3 (u) is a real-valued function calculated based on the equation of the contour plane passing through the first moving point to the third moving point, which are moving points whose values move according to u.
4. The storage device includes: The equations of the contour plane are [Equation 151], [Equation 152], [Equation 153], and f 1 f 2 f 3 The equation of the sphere on the coordinate system is [Number 154], and The computing device u = F(x 1 , x 2 , x 3 ) holds, (x 1 * , x 2 * , x 3 * , u * , p 1 , p 2 , p 3 ) and accepting input data having a set of f 1 (x 1 * ) 2 +f 2 (x 2 * ) 2 +f 3 (x 3 * ) 2 ≦radius and three paths that are the paths of the three moving points, calculating first coordinates, second coordinates, and third coordinates, which are three intersections of the path set on the sphere and the contour plane; When n inputs of the sets of input data are received, n sets of the first coordinates, the second coordinates, and the third coordinates corresponding to the respective sets of input data are generated; From the first coordinate to the u of the input data * , the second coordinate to the input data u * and the third coordinate to the input data u * a first equation expressing the first coordinate with a variable u, a second equation expressing the second coordinate with a variable u, and a third equation expressing the third coordinate with a variable u, by performing a regression to The first equation is a function of the first moving point S according to the value of u. 1 The second equation represents the movement of the second moving point S according to the value of u. 2 The third equation represents the movement of the third moving point S 3 The computing device of claim 3 , wherein the movement of [Number 151] β 1 (f 1 - f 1 (x 1 * )) + β 2 (f 2 - f 2 (x 2 * )) + β 3 (f 3 - f 3 (x 3 * ) = 0 [Numeral 152] β k = (p k / p 1 ) × (f 1 ′(x 1 * ) / f k ′(x k * ), k = 1, 2, 3 [Number 153] p 1 (x 1 -x 1 * ) + p 2 (x 2 -x 2 * ) + p 3 (x 3 -x 3 * ) = 0 [Number 154] f 1 2 +f 2 2 +f 3 2 = Radius 2 p 1 , p 2 , p 3 is the price of the good, expressed as [Equation 153], and f in [Equation 151] 1 (・), f 2 (・), f 3 (·) is a real-valued function, and β 1 and β 2 and β 3 The value of is expressed by [Equation 152].
5. Consumption of goods x n and a utility u felt by a person, A storage device and a computing device, The storage device stores a utility function u=F(x 1 , ..., x n ) (n≧2), it can be expressed by the implicit function [Equation 155], and f 1 (x 1 ), ..., f n (x n ) stores the utility function, which is a real-valued function, The computing device f 1 (x 1 ), ..., f n (x n ) range enclosed by f 1 …f n (1) a process for generating an n-dimensional figure in space; (2) generating n moving points that move within the n-dimensional figure, the moving points moving according to the value of u; (3) a process of generating a generated figure passing through the n moving points; The generated figure and f 1 (x 1 ), ..., f n (x n ) and g in the implicit function based on 0 (u), g 1 (u), ..., g n (4) determining the value of (u); x 1 , ..., x n and derive the value of utility u that satisfies the implicit function, and 1 , ..., x n (5) processing to output the value of The (2) process is a calculation device that sets a starting point for each of the n moving points, a common ending point for each moving point, and paths that are movement routes from the starting point to the ending point, and moves each moving point from the starting point to the ending point along the path as the utility u increases. [Numerical value 155] g 0 u = g 1 uf 1 (x 1 ) + … g n uf n (x n ) g 0 (u), g 1 (u), ..., g n (u) is a real-valued function calculated based on the formula of the generated figure that passes through n moving points whose value moves according to u.
6. The storage device includes: The formulas of the generated figure are [Formula 156], [Formula 157], [Formula 158], and f 1 …f n The equation of the n-dimensional figure on the coordinate system is [Number 159], and The computing device u = F(x 1 , ..., x n ) holds, (x 1 * , ..., x n * , u * , p 1 , ..., p n ) and accepting input data having a set of f 1 (x 1 * ) 2 +...+f n (x n * ) 2 1. Accept input of a radius, which is equal to or less than the radius, and n paths, which are paths of the n moving points; Calculating first to n-th coordinates, which are n intersections of the path set in the n-dimensional figure and the generated figure; When n inputs of the sets of input data are received, n sets of the first coordinate to the nth coordinate corresponding to the respective sets of input data are generated; The u of the input data from the first coordinate to the n-th coordinate * By performing each regression to, a first equation to an n-th equation are generated, each of which expresses the first coordinate to the n-th coordinate with a variable u; The first equation is a first moving point S according to the value of u. 1 The nth equation represents the movement of the nth moving point S according to the value of u. n The computing device of claim 5 , wherein the movement of [Number 156] β 1 (f 1 - f 1 (x 1 * )) + … + β n (f n - f n (x n * ) = 0 [Number 157] β k =(p k / p 1 )×(f 1 ′(x 1 * ) / f k ′(x k * ))、k=1~n [Number 158] p 1 (x 1 -x 1 * )+…+p n (x n -x n * ) = 0 [Number 159] f 1 2 +…+f n 2 = Radius 2 p 1 , ..., p n is the price of the good, expressed as [Equation 158], and f in [Equation 156] 1 (・), f n (·) is a real-valued function, and β 1 ~β n The value of is expressed by [Equation 157].
Citation Information
Patent Citations
Retractable utility function or production function which can express arbitrary number of inferior commodities, demand function groups related thereto, and systematic method for generating function groups from observation data
JP2020038607A
Tractable utility function or production function capable of representing inelastic or inferior goods at any number of prices, invention of demand function group corresponding thereto, and invention of systematic method for generating function group from observation data
JP2021144546A
Tractable utility function using implicit function and invention of method of generating utility function from observation data
JP2024082680A