Computing device

By allowing negative values and using circles or spheres, the utility function achieves flexible shaping and extension to multiple variables, enhancing mathematical optimization and utility function flexibility.

JP7849068B2Active Publication Date: 2026-04-21高橋秀司
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
高橋秀司
Filing Date
2024-11-14
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing utility functions are complex, limited to two variables, and lack flexibility in shaping optimal points, making them impractical for mathematical optimization and difficult to extend to multiple variables.

Method used

A tractable utility function using implicit functions with non-negative and non-increasing coefficients is modified to allow negative values, represented by circles or spheres, ensuring contour lines do not intersect and can vary in slope, enabling flexible shaping of optimal points.

Benefits of technology

The solution provides a more refined utility function that can be freely shaped and extended to multiple variables, maintaining simplicity and convexity while avoiding radial contour line arrangements, thus improving mathematical optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007849068000022
    Figure 0007849068000022
  • Figure 0007849068000023
    Figure 0007849068000023
  • Figure 0007849068000024
    Figure 0007849068000024
Patent Text Reader

Abstract

To provide a method for generating a more mathematically sophisticated function by removing non-negativity constraints on g1(u) and g2(u) and allowing both positive and negative values.SOLUTION: Circles and spheres are introduced to control the values of g1(u) and g2(u). When a two-variable function that can be used as an objective function or a constraint in mathematical optimization, or can be used as a regression equation in a regression model, is defined as u=F(x1, x2), a numerically computable utility function is realized as an implicit function expressed in the form of u=g1(u)f1(x1) + g2(u)f2(x2), which cannot be solved algebraically for u. A specific expression of this utility function is generated from observed data. The values of g1 and g2 are varied with respect to u by using circles or spheres.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to 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 quantities of the first and second goods, and u represents the utility a person feels, then the utility function can be expressed as u = f(x1, x2). If p1 and p2 are the prices of each good, then the cost is p1x1 + p2x2. In economics, the desired value of u to be achieved is set as u0, and the problem is called minimizing u. x1x2 Solve the equation "p1x1+p2x2,st f(x1,x2)-u0=0" using a solver to find the optimal x1 and x2. The specific utility function equation is as follows: u=x1+x2, u=logx1+logx2, u=x1 0.7 x2 0.3 Such a function exists, and it is desirable that it be convex. However, although the general definition of a convex function is clear, it is surprisingly difficult to prove it with a concrete formula, and the formula tends to be complex and not tractable, or it is limited to two variables and cannot be extended to multiple variables.

[0003] The invention of a tractable utility function that can be made multivariable, solving the above problem, is described in (Patent Document 1). This utility function has the characteristics of being nonlinear, multivariable, convex, and having a part of the function that can be generated from observed data. For example, u=x1 0.8 +x2 0.9 This is similar to a normal convex function, but with g1(u) and g2(u) as its coefficients. [Math 1] u = g1(u) x 1 0.8 +g2(u)x2 0.9 However, g1(u) , g2(u) is a non-increasing function of u with positive values. This is an implicit function.

[0004] To make (Mathematics 1) even easier to understand, let's give a concrete example: g1(u) = 1 / u1.1 , g2(u) = 1 / u 1.3 and specifying it as, [Equation 2] u = (1 / u 1.1 )x1 0.8 + (1 / u 1.3 )x2 0.9 serves as a specific example. (Equation 2) cannot be algebraically solved for u, so it cannot be expressed in the form of a function in terms of u = ~. However, (Equation 2) has only one positive real solution for u. By calculating the value of this positive u using a computer, it can be used as if it were a function. And the contour line of u = 1 is 1 = x1 0.8 + x2 0.9 , and the contour line drawn on the (x1, x2) plane is convex with respect to the origin. Therefore, (Equation 2) has the property of convexity, which is a convenient property for optimization. Furthermore, although (Equation 2) is an implicit function, when looking at the right side as a string, it is a character structure formed by adding terms such as (1 / u 1.1 )x1 0.8 and (1 / u 1.3 )x2 0.9 by addition. So, to add x3 as a third variable, as a string operation, it suffices to add a term containing the variable x3 by addition. For this reason, it can be very intuitively extended to multiple variables.

[0005] Generalizing and representing utility functions by implicit functions such as (Equation 1) and (Equation 2), [Equation 3] u = g1(u)f1(x1) + g2(u)f2(x2), where g1(u), g2(u) are non - negative non - increasing functions, and f1(x1), f2(x2) are non - negative functions is expressed as. Claim 1 of (Patent Document 1) and (Patent Document 2: Generation of f) state that this is a utility function.

[0006] (Figure 1) is a decomposition diagram of the utility function. The decomposition diagram is a tool for making the utility functions in Embodiment 1 and Embodiment 3 easier to understand. (Equation 3) is an implicit function of the form "u = g1(u)f1(x1) + g2(u)f2(x2)", and it is difficult to imagine what kind of function it is. Using the decomposition diagram in (Figure 1), the perspective of (Equation 3) becomes much clearer and the convenience is improved.

[0007] If we consider (Equation 3) with f1 and f2 as variables, and plot f2 on the vertical axis and f1 on the horizontal axis, and graph u = g1(u)f1 + g2(u)f1 for a given constant u, we get a straight line with slope -g1(u) / g2(u) and intercept u / g2(u), which is the same as line 1 in the first quadrant of (Figure 1). Furthermore, the linear equation u = g1(u)f1 + g2(u)f1, in which f1 and f2 are variables in (Mathematics 3), is called a contour line equation, and its graph is also called a contour line, although it is sometimes simply called a straight line. Contour lines are drawn in the first quadrant of the decomposed diagram in (Figure 1).

[0008] From (Math 3), take only f1(x1) and plot its graph as curve 4 in the fourth quadrant. Similarly, take only f2(x2) and plot its graph as curve 6 in the second quadrant.

[0009] Point 3 is drawn on line 1. Next, point 7 is drawn directly to the left of point 3, and point 5 is drawn directly below point 3. Then, point 9 is drawn directly below point 7 and directly beside point 5. Point 9 has coordinates (x1, x2) that give the value of u for point 3. When point 3 is moved along line 1 in the direction of upper left or lower right, points 7, 5, and 9 move in conjunction. The trajectory of point 9 at this time is curve 8. Since the value of u for the points on curve 8 is the same as that of point 3 on line 1, curve 8 is a contour line of u in (Mathematics 3).

[0010] In Figure 1, line 2 in the first quadrant is the line obtained when the value of u increases from line 1. In this case, line 1 and line 2 have no intersection points. This is because, as the value of u increases, the left-hand side of u = g1(u)f1 + g2(u)f2 increases, and the right-hand side is g1' ≤ 0, g2' ≤ 0, so line 1 is uniformly shifted to the right. (However, strictly speaking, there is no shift when "g1' = 0 and g2' = 0", so only one of them can become zero.) This uniform rightward shift is generally a non-parallel shift. In other words, the slope of line 1 and line 2 is -(g1(u) / g2(u)), but since both the numerator and denominator are non-negative, non-increasing functions, the slope can change to a steep or gentle slope as u increases. And for line 2, if we take a locus like point 9 in the third quadrant, the contour lines corresponding to line 2 can be drawn as 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 contour lines can be realized in which the optimal point is an S-shape or other diverse sequence of optimal points.

[0011] The mechanism in (081) has a drawback: the constraint that g1(u) and g2(u) in the invention's utility function (Equation 3) must be non-negative and non-increasing functions. The following explains what happens when this non-negativity constraint on g1 and g2 is removed.

[0012] Figure 3 is a detailed depiction of only the first quadrant of Figure 1. Looking at Figure 3, we can see that as u increases, the contour lines shift without intersecting, with the slope becoming either gentle or steep, from line 1, line 2, line 3, to line 4. Line 5 is a horizontal contour line, where g1(u)=0. Line 5 continues to lines 6, 7, and 8. Lines 6 to 8 are contour lines when g1(u)<0, a case that was excluded in Patent Documents 1 and 2.

[0013] The section from line 5 to line 8 will be explained in detail below using mathematical formulas. The equations of lines 1 to 8 in (Figure 3) are: [Number 4]f2=-(g1(u) / g2(u))f1+u / g2(u) 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 decrease, so the magnitude of the slope can represent both increasing and decreasing values. This is the case for the group of lines like line 1 to line 4.

[0014] However, as u increases further and g1(u)=0, the slope of (Equation 4) becomes zero and the contour line is drawn horizontally as shown in line 5. Furthermore, as u increases further and g1(u)<0, the slope of (Equation 4) becomes positive and the contour line is drawn sloping upwards to the right. Therefore, if we accept g1(u)<0, the contour line will be sloping upwards to the right, but the slope -(g1(u) / g2(u)) is expressed as follows: since g1 and g2 are both non-increasing functions of u, the denominator becomes smaller and the numerator increases in absolute value as g1 becomes negative. Therefore, since the denominator decreases and the numerator increases, the slope can only increase. It is mathematically impossible for the slope to decrease. Therefore, when both g1(u) and g2(u) are positive values, the contour lines drawn in the first quadrant (Figure 1) can be both increasing and decreasing. However, when g1(u) becomes negative, the behavior of the slope changes, and the only lines that can be shown are those that spread radially, where the slope of the line always becomes 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 lines 6, 7, and 8 in (Figure 3) all aligning radially, the contour lines appearing in the third quadrant only show changes where the slope becomes steeper on one side. This leads to a loss of flexibility in the function, and even if you try to generate a utility function from the data, you will only be able to generate a poorly fitting function. This is because it is fundamentally impossible. However, if lines 6, 7, and 8 are not arranged in a radial pattern, then the two contour lines will intersect somewhere, and the numerical solution for u as an implicit function will not be uniquely determined, resulting in two or more possible values ​​for u. Therefore, in arrangements that do not radially open, (Equation 3) cannot be used as a utility function. [Prior art documents] [Patent Documents]

[0015] [Patent Document 1] Japanese Patent Publication No. 2020-038607 [Patent Document 2] Japanese Patent Application No. 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, published in the Journal of Quantitative Economics, published by the Indian Econometric Society. [Overview of the Initiative]

[0017] This invention relates to the invention of a function (a utility function in economics) that possesses desirable properties as an objective function for mathematical optimization, and to the invention of a method for generating such a utility function. When the utility function is u = F(x1, x2), the contour lines of u have the characteristic of being convex with respect to the origin, as shown in Figure 5, B, but the arrangement of the optimal points can be diverse and free curvilinear, such as an S-shape, as shown in the row of ●. Situations where the arrangement of the optimal points, as shown in Figure 5, B, is not linear but nonlinear, such as an S-shape, are observed in reality, but have been difficult to express mathematically. Conventional convex nonlinear utility functions are, (1) The mathematical structure is complex, (2) Two variables are the limit, and it is not possible to use multiple variables. (3) It is difficult to control and the user cannot create the shape they want. This had drawbacks and was not practical. The invention in (Prior Document 1) overcomes these drawbacks using implicit functions. (1) The mathematical structure is simple (as a string, it is addition), (2) It can be made into multiple variables, (3) The user can achieve the desired form by using a regression method or the like. (4) It can be represented by a "decomposition diagram" as shown in (Fig. 1), and the design of the mathematical formula can be made visual. The following non-linear utility function was realized. The present invention has the same purpose as (Patent Document 1), but its mathematical properties have been improved. Although the performance may decrease in part, the overall performance is improved. The technical feature is that the input x1, x2, (x3) is surrounded by a circle (sphere). This feature eliminates the mathematically unbeautiful feature that the contour lines are arranged radially in (Prior Art 1) discussed in (0014), resulting in a more refined utility function mathematically.

[0018] In the present invention, when ● from 1 to 5 that can be seen in Fig. 5A and the straight lines passing through the ● are specified, a numerically calculable utility function u = F(x1, x2) with contour lines as shown in Fig. 5B can be generated. The curve convex to the origin that can be seen in Fig. B of Fig. 5 is the contour line of the generated utility function and is tangent to the dotted line and ● in Fig. B. It can be confirmed that the ● points in Fig. B of Fig. 5 are somewhat similar to the inputs in Fig. A. The arrangement of ● in Fig. B of Fig. 5 is S-shaped, which reflects that the mathematical formula was generated in response to the user specifying ● from 1 to 5 in an S-shape in Fig. A.

[0019] The technology of generating a mathematical formula as shown in Fig. B with Fig. 5A introduced in (0018) as the input was also realized in (Patent Document 1). However, as described in (0014), in the invention of (Patent Document 1), when g1(u) or g2(u) becomes negative, there is the non-intuitive feature that the contour lines can only spread radially. In the utility functions of (Embodiment 1) and (Embodiment 3) of the present invention, this non-intuitive behavior is eliminated by using a circle or a sphere, resulting in a refined one in mathematics.

[0020] To put the present invention simply, like in Embodiment 1 [Equation 5] g0(u) = g1(u)f1(x1) + g2(u)f2(x2) The present invention relates to a utility function u = F(x1, x2) realized by calculating a numerical solution of u for a non-linear equation. Equation (5) cannot be solved for u and cannot be expressed in the form u = ~, so it is not a function. However, it becomes an implicit function F(x1, x2, u) = 0, and u can be numerically calculated as a unique real number. In (Patent Document 1), there were restrictions that g0(u) is a positive increasing function, and g1(u) and g2(u) are positive non-increasing functions. In the present invention, g0(u) to g2(u) are not limited to positive values, but both positive and negative values are allowed. Mathematically, unnatural changes in behavior due to + and - are eliminated, resulting in a more refined utility function. Also, as a by-product, f1(x1) and f2(x2), which were limited to positive values in the prior art, can be negative values in the present invention. As a result, the user can more freely determine the functional forms of g and f than before. However, in the present invention, unlike (Patent Document 1), g0(u) to g2(u) are not necessarily non-increasing functions. According to the equation of a circle or the like, g0(u) to g2(u) cooperate appropriately to increase and decrease so that the contour lines do not have intersections. Based on the equation of a circle or the like, the utility functions that realize appropriately increasing and decreasing g0(u) to g2(u) are Embodiment 1 and Embodiment 3, and the technologies for generating their equations in the form desired by the user are Embodiment 2 and Embodiment 4. Embodiment 1 and Embodiment 2 are for the two-variable function u = F(x1, x2), and Embodiment 3 and Embodiment 4 are for the three-variable function u = F(x1, x2, x3).

Problems to be Solved by the Invention

[0021] Remove the non-negativity constraints on g1(u) and g2(u) in (Equation 3) and improve the performance to a utility function that also allows g1(u) and g2(u) to be negative values. However, all the advantages realized in (Patent Document 1), such as a simple mathematical structure, the ability to have multiple variables, the optimal point can be expressed in various forms such as S-shaped and wave-shaped as well as a straight line, and the user can specify and generate its shape, are all maintained.

Means for Solving the Problems

[0022] The solution to the problem that arises when the non-negative constraints on g1(u) and g2(u) are removed can be easily understood by considering (Figure 1). In that decomposition diagram, the contour lines in the first quadrant have the property of becoming uniformly radial when g1(u) is negative. The solution is to eliminate this property of the contour lines arranging radially and make their slopes vary in gradient. Therefore, the problem was solved as shown in (Figure 2). Figure 2 differs from Figure 1 only in the first quadrant. In Figure 2, a circle like the one shown by circle 12 is introduced into the first quadrant of Figure 1. (Note: In Figure 2, etc., f1 is drawn on the vertical axis and f2 on the horizontal axis. Readers should note that the vertical and horizontal axes in the figure are reversed from convention.) Point F in Figure 2 corresponds to the upper limit of u as appropriately determined by the user, and is taken on the circle. Furthermore, two moving points S1 and S2 are taken on the circle. As u increases, S1 moves counterclockwise and S2 moves clockwise towards point F. In Figure 2, line 1 is a contour line and is defined as a line passing through two points, S1 and S2. As u increases, points S1 and S2 move, resulting in lines 2 and 10. Using circles and moving points in this way, (1) As shown by line 10 in (Figure 2), contour lines can be not only downward sloping but also upward sloping. (2) As u increases, the contour lines shift in one direction, so two contour lines with different values ​​of u will not intersect. (3) Depending on the magnitude of the displacement of S1 and S2, the slope of the contour line can change to both a gentle and a gentle slope. This is how it works. By using circles, the contour lines acquire properties (1) to (3), and in particular, the property in prior art where the contour lines had to be radial in the case of an upward sloping contour line is eliminated. As a result, contour lines can be represented both upward and downward, and their slope can change in both slow and slow directions. Furthermore, as a fourth property, (4) Since the center of the circle is (0,0), both positive and negative values ​​are possible for f1 and f2. This was also a by-product. However, there are surprisingly few types of nonlinear functions that can take both positive and negative values. For example, f1 = x1 0.5 The value becomes negative only when x1 is a complex number, so its usefulness seems limited. However, this by-product might be surprisingly important.

[0023] Curve 4 in the second quadrant of (Figure 2) and curve 8 in the third quadrant are the same as those in (Figure 1). Curve 3 is the graph of f2(x2), and curve 4 is the graph of f1(x1). Point 6 is taken directly to the side of point 5, and point 7 is taken directly below point 5. Point 8 is taken directly below point 6 and directly to the side of point 7. When point 5 is moved along line 1, point 8 also moves, so the trajectory of point 8 is taken as 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 line 2 and line 10, and accordingly the contour line of curve 9 in the third quadrant also changes, but the property that there are no intersection points is maintained.

[0024] Furthermore, since the center of the circle taken on the f1f2 plane is (0,0), even if f1 and f2 are negative values, the contour lines retain the property of (0024). For this reason, the non-negative constraint on f1 and f2 that was present in (Patent Document 1) is also removed, and both positive and negative values ​​for f1 and f2 are acceptable.

[0025] The non-negative constraints on g and f were removed by techniques such as those described in (0022) to (0024). However, in this invention, u can only be calculated if the values ​​of f1 and f2 lie within 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 is limited to the range where the values ​​of f1 and f2 lie within the circle. In this respect, this invention has lower performance than the prior art, but in practical terms, the radius of the circle can be freely determined by the user, so this is not a major drawback.

[0026] If the utility function is a two-variable function u=F(x1,x2), we use a circle. However, if it is a three-variable function like u=F(x1,x2,x3), we use a sphere by making the circle in the first quadrant (Figure 2) three-dimensional. Figure 9 is a diagram illustrating the generalization of the circle in the first quadrant of Figure 2 to include three variables. Figure 9 is a diagram with f1 on the vertical axis and f2 and f3 on the horizontal axis, and corresponds to the first quadrant of Figure 2. In Figure 9, the moving point S1 is from point O1 to F m It is a moving point that moves toward a point, and similarly, S2 moves from point O2 toward F m At point S3, from point O3 to F m Move to the point. Three moving points S1, S2, and S3 on the sphere increase as u increases, F m Moving to a point (represented as point F in the case of two variables) is the same as moving around a circle, but unlike a moving point on a circle, there are infinitely many directions of movement for a moving point on a sphere. Therefore, the user needs to define the path that S1 to S3 will take on the sphere. This path is O in (Figure 9). a This is a real curve that traces three arcs originating from (a=1,2,3), and the process of creating this path was not necessary for a utility function of two variables.

[0027] In (Figure 9), when u increases, S1, S2, and S3 become F m Move towards the point. Then, the plane passing through the three points S1, S2, and S3 (although the plane is not drawn in Figure 9) has no intersection points and is uniformly F m It shifts toward the point. The contour plane created in this f1f2f3 space corresponds to the contour lines in the case of two variables.

[0028] The three paths shown in (Figure 9) must be carefully and appropriately positioned so that the contour planes do not intersect with each other, in other words, so that the contour planes are shifted in one direction. For example, if the paths spiral around the sphere in a spiral shape, F m If the path points to a specific point, the contour planes will intersect, so a spiral path is not acceptable.

[0029] As u increases, the 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 does not intersect with it. By transforming (f1, f2, f3) contained in this plane to (x1, x2, x3) and projecting it, contour lines without intersections are drawn in (x1, x2, x3) space.

[0030] For four or more variables, it is sufficient to construct a moving point, a path, and a hyperplane passing through the moving point on the hypersphere. However, in this way, the present invention can also be implemented with multiple variables by utilizing the mathematically well-known group of formulas for hyperspheres of order four or higher, while removing the non-negative constraint of (Patent Document 1). However, currently, setting the path is difficult and not trivial for four or more dimensions, so it has not been implemented. The program is currently implemented up to three variables.

[0031] There are disclaimers regarding ellipses and multivariable models. This point is also mentioned in Embodiments 1 and 3. In this invention, a circle is used, as shown in the first quadrant of Figure 2, but the same applies to an ellipse. The equation of the ellipse is f1 2 / a+f2 2 / b=r 2 If we do this, then if we redefine a and b by putting them into f1 and f2, then f1 2 +f2 2 =r 2 This is the equation of the circle. Then, if we multiply g1 by √a and g2 by √b in the equation of the contour line (Equation 5), it becomes mathematically equivalent to the original equation. Therefore, the present invention is definitely included in embodiments that use an ellipse instead of a circle. Furthermore, all circle analogues that can achieve the same result with some transformation or adjustment of the equation, even if they are not mathematically completely equivalent like an ellipse, are also included in embodiments. Now that the invention is successful, I have the impression that it would have been better to develop it using an ellipse. However, during the invention process, mathematical correctness took precedence over ease of use, so I developed it using a method that was less prone to errors and had fewer variables, making it easier to explain. Also, at present, only up to two variables and three variables are implemented, so for four variables or more, they are not included in the embodiments. However, compared to the expansion from two variables to three variables, the expansion from three variables to four variables or more is generally more straightforward and fewer new elements emerge. Therefore, although it is inevitable that a generalized concept such as n variables will emerge in the future, if it is similar to three variables, a certain right can also be claimed for n variables.

[0032] Next, a detailed description of the technology of the invention will be given. If there is an intuitive explanation using the exploded view of (FIG. 2) shown in (0022) to (0031), it is sufficient to read the examples. Therefore, (0033) to (0042) are abstract theories, so it is considered easier to understand by looking at the specific examples in Example 1 and Example 2 and skipping over them.

[0033] To explain the mechanism of the utility function in (Embodiment 1) and (Embodiment 3), a process of calculating the value of u of the utility function in (Equation 5) with (x1, x2) as the input will be described. First, an intuitive explanation will be given using the exploded view of (FIG. 4) instead of equations. Initially, only a circle, point F, curve 3, curve 4, and moving points S1 and S2 are drawn in (FIG. 4). θ1 in (FIG. 4) is the angle of point S1, and θ2 is the angle of point S2. The angles θ1 and θ2 are expressed and processed internally as the angles from the f1 axis to the f2 axis with the 12 o'clock direction as 0. Therefore, for example, θ1 in (FIG. 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. As a result, the straight line passing through points S1 and S2 (this is an isovalue line) will shift to the right as u increases. (1) Take the input (x1, x2) as point 8. Take point 7 directly to the right of point 8 and point 6 directly above point 8. Take point 5 to the right of point 6 and above point 7. In terms of mathematical formulas, it means that from the input (x1, x2), f1(x1) and f2(x2) are calculated and drawn as point 5. Since point 5 is not on the straight line 1, increase the value of u. (3) As the value of u increases, θ1 decreases, θ2 increases, and line 1 shifts upward and to the right. (4) Repeat the increase in u in (3) until point 5 lies on the contour line. (5) When point 5 lies on a contour line like line 2, output the value of u at that point as the utility value of the utility function (equation 5).

[0034] An example of implementation using formula (0033) would be as follows. Details are left to Examples 1 and 2. In Figure 4, θ1 and θ2 are given by parameter α, [Math 6] θ1(u) = α 10 +α 11 u+α 12 u 2 However, dθ1 / du<0 [Mathematics 7] θ²(u) = α 20 +α 21 u+α 22 u 2 However, dθ² / du > 0 It is given by a polynomial in u, such as the following. In this case, the coordinates of the moving points S1 and S2 are, S1=(cosθ1,sinθ1)×radius S2=(cosθ2,sinθ2)×radius There are many known techniques for finding the equation of a line passing through two points S1 and S2, but a simple 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. Therefore, equations (6) to (8) together become a nonlinear equation with only one unknown, but because it is a fairly complex equation containing polynomials and trigonometric functions, it is not immediately clear that there is only one real solution for u. However, there is only one real solution for u, and moreover, it can be easily and reliably calculated using a nonlinear equation solver in mathematical software, so we calculate u using mathematical software and output it.

[0035] However, in implementation, there are other methods besides (0034), and there are methods that do not use (number 8). Only the coordinates of S1 and S2 Coordinates of S1 = (cosθ1, sinθ1) × radius of the circle Coordinates of S2 = (cosθ2, sinθ2) × radius of the circle The formula is used to calculate the value specifically, and then, without using (Equation 8), the equation of the line passing through the two points is obtained using a simultaneous equation solver or cross product command in mathematical software. [Math 9] f1 = -slope × f2 + y-intercept There is a method to calculate the slope and intercept values ​​in one step. Then, the values ​​of f1(x1) and f2(x2) are calculated from the input x1 and x2, and the calculated values ​​of f1 and f2 are substituted into (Equation 9). If (Equation 9) is 0, it is true; otherwise, it is false. This process is repeated between the upper and lower limits of the value of u, and the truth value is repeatedly checked while changing u until (Equation 9) becomes true. The value of u when it becomes true is output as the value of the function. In addition to this, in recent years, mathematical software has a function called a "symbolic solver" that can solve equations involving letter variables, so it is also conceivable to implement a method that uses this to automatically generate (Equation 8).

[0036] This concludes the explanation of how to calculate the utility value u in (Mathematics 5).

[0037] Next, we will outline the method for generating (Equation 5), which is the background theory for (Embodiment 2) and (Embodiment 4), from observational data.

[0038] When P1 and P2 are the prices of x1 and x2, and the constant u is the utility level to be achieved, the cost minimization problem is defined as an optimization problem where the objective function is P1x1 + P2x2 and the constraints are (Equation 5), i.e., "g0(u) = g1(u)f1(x1) + g2(u)f2(x2)". x1x2The equation becomes P1x1+P2x2,st g1(u)f1(x1)+g2(u)f2(x2)-g0(u)=0. The Lagrange function is L=P1x1+P2x2+λ(g1(u)f1(x1)+g2(u)f2(x2)-g0(u)). The optimal conditions are three equations: λ=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 (Math 5). Eliminating λ, we get {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 (Math 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), and we get g1(u) = u / {f1(x1) + (f1'(x1) / f2'(x2)) × (P2 / P1) × f2(x2)}. If we write g1(u) on the right side as the function G1, we get the equation for G1 in (Math 10). Furthermore, if we swap the subscripts 1 and 2 in G1 and perform the calculation, we obtain G2 (equation 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] The G1 and G2 obtained in (Equation 10) are formulas that give the values ​​that g1(u) and g2(u) should take when it is assumed that the consumption quantity (x1, x2) is the cost minimization point under the price (P1, P2). When the user successively provides observational data for x1, x2, and P2 / P1, G1 and G2 are successively generated.

[0040] (0039) The user's given x1 and x2 are used as x1 # , x2 # Let f1 and f2 be variables. [Math 11] G1(u)(f1-f1(x1# ))+G2(u)(f2-f2(x2 # ))=0 That is the case. Then, if we consider (Equation 11) as an expression with variables f1 and f2, (Equation 11) corresponds to the equations of lines 1, 2, and 10 drawn in (Figure 2). By calculating the coordinates of the intersection points of this (Equation 11) and the circle, the two intersection points on the circle in (Figure 2) are x1 # and x2 # These are the moving points S1 and S2, which correspond to the given equation. Calculation-wise, (Equation 11) and the equation of the circle set by the user, [Number 12] f1 2 +f2 2 =radius 2 By solving the simultaneous equations for f1 and f2, the coordinates of the moving points S1 and S2 can be found. The coordinates of this calculated moving point are given to S1 # S2 # Let's assume that S1 # and S2 # Converting this to polar coordinates gives θ1 # θ2 # Let's assume that.

[0041] Thus, for the process of (0040), the observed (x1 # , x2 # When the data from ) is input one after another, the intersection coordinates S1 # and S2 # The angle θ1 in polar coordinates can be calculated. # θ2 # This is calculated. This θ1 # θ2 # The column represents the expected position of the moving point of u. This θ1 # The column, θ2 # Regressing the column on u, θ1 # =θ1(u) θ2 # =θ2(u) An equation is generated that allows for the calculation of θ1(u) and θ2(u). If these θ1(u) and θ2(u) can be generated from the data as equations that can be calculated by regression, then the generation of the utility function has been successful.

[0042] Note that in this specification, equation (5) is, As in (Equation 8), it can be written in the form of solving for f1, such as "f1=~", As in (Math 11), some parts are difficult to read due to notations such as "~=0". This is because there are not just one, but several mathematical ways to express the equations of lines and planes. The expressions are presented in a way that is easy to understand depending on the context, but please note that the contents of the equations are the same. [Effects of the Invention]

[0043] Similar to (Patent Document 1), a numerically calculable utility function equation with contour lines, as shown in Figure 5-B, can be generated from specified data, as shown in Figure 5-A. In this respect, it is the same as (Patent Document 1) in that it is possible, but the non-negative constraint on g1(u) and g2(u) has been removed, making it mathematically more sophisticated as both positive and negative values ​​are possible. Although the mathematical processing is more complex than in (Patent Document 1) due to the use of circles and spheres, it avoids the unnatural behavior seen in (Figure 3), where the behavior changes mathematically depending on whether g(u) is positive or negative. This makes it intuitive and easy to use, which is advantageous in attracting users. [Modes for carrying out the invention]

[0044] This invention is programmed and executed on a computer. [Industrial applicability]

[0045] It is used to generate and calculate formulas for evaluation in demand forecasting, mathematical finance, games, and other applications. It can also be used as objective functions and constraints in control and mathematical optimization. It can be widely used as a technique for generating exponential and score values. [Brief explanation of the drawing]

[0046] [Figure 1] Decomposition diagram of utility functions in prior art (technological background) [Figure 2] Decomposition diagram of the utility function in the present invention (Problem solving method, embodiment 1) [Figure 3] Diagram illustrating the shortcomings of the utility function in prior art (technical background) [Figure 4] Illustrated explanation of the 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] Illustration of the intersection points S1 and S2 of the contour lines and circle generated from the input data (Example 1) [Figure 8] Regression line from intersection S1 to u, regression line from intersection S2 to u (Example 1) [Figure 9] Diagram illustrating the moving points S1, S2, S3 and their paths for a utility function with three variables (problem-solving method) [Figure 10] Diagram of the linear path and diagram of the intersection points S1, S2, S3 (Example 3) [Figure 11] Linear regression lines from intersection S1 to u, from intersection S2 to u, and from intersection S3 to u (Example 3) [Figure 12] Contour surface of the utility function u=f(x1,x2,x3) generated from input data (Figure 14) using a linear path (Example 4) [Figure 13] Input data (Example 3, Example 5) [Figure 14] Diagram of the geodesic path and illustration of the intersection points S1, S2, and S3 (Example 5) [Figure 15] The tropics from intersection S1 to u, from intersection S2 to u, and from intersection S3 to u along the geodesic path (Example 5) [Figure 16] Contour surface of the utility function u=F(x1,x2,x3) generated from input data (Figure 14) along a geodesic path (Example 6) [Example 1]

[0047] In Example 1, the generation method described in (Embodiment 2) is implemented to generate the utility function of (Embodiment 1) as a specific equation from the data.

[0048] To visually represent the content of Example 1, the user inputs the optimal points, as shown by the five dots in Figure A (Figure 5), and the tangent lines (budget constraint lines in economics) to the contour lines of u passing through those optimal points. The dotted lines in Figure A represent the tangent lines (budget constraint lines in economics) specified by the user. Then, from Figure A in Figure 5, (Equation 145) of Embodiment 1, a numerically calculable utility function with contour lines like the solid line in Figure B, is generated. Looking at Figure B, the contour lines have a convex shape with respect to the origin, and there are about 20 optimal points lined up as ●. This arrangement of 20 ● in Figure B indicates that a mathematical formula has been generated that realizes the optimal points ●1 to ●5 in Figure A specified by the user. Those optimal points are the arrangement of 20 ●. Embodiment 1 is an example of generating a specific mathematical formula that forms the basis of Figure B.

[0049] Let me first mention some notational notes. In the x1x2 plane and f1f2 plane diagrams, f1 is drawn on the vertical axis and f2 on the horizontal axis. Note that this is the opposite of the convention, with the vertical and horizontal axes reversed. Also, regarding the moving point S... a The angle at (a=1,2) is θ a This is expressed as θ1, where the angle represents the angle from the f1 axis to the f2 axis. In other words, angles such as θ1 and θ2 are such that the 12 o'clock position is 0, clockwise is positive, and counterclockwise is negative.

[0050] First, the user is (Equation 145) of (Embodiment 1), which is the general form of the expression to be generated. g0(u)=g1(u)f1(x1)+g2(u)f2(x2) Prepare the following, as shown in (Embodiment 1(1)), f1(x1)=x1 0.9 f2(x2) = x2 0.9 As shown above, you will identify appropriate values ​​for f1 and f2 yourself, referring to the data in (Table 1), etc., and then determine them as a specific formula.

[0051] The user is x1 as shown in (Table 1) * , x2 * ,p1,p2,u * Prepare the data. (Table 1) shows a specific example of the "input data" as referred to in (Embodiment 2(1)). For example, the second optimal point in (Table 1) represents a situation where goods x1 and x2, both priced at 1 yen, were consumed in quantities of 22 x1 and 15 x2, resulting in a utility level of 1. The x and p data are created from observed data or user-generated 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) is given by number 1. * =3, x2 * =3,p1=1,p2=1,u * The input =0.1 is, min x1x2 p1x1+p2x2 st u * =F(x1,x2) This means the user instructed the system to generate a utility function equation 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 examines it visually. Table 1 x1 * and x2 * Draw them as shown in Figure 5, numbers 1 through 5 in Figure A. ● The equation of a tangent line passing through a point is generally "p1(x1-x1) * )+p2(x2-x2 * This can be expressed as "(x) = 0", but in economics it 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 corresponding to (Equation 148) in (Embodiment 2(1)). For example, the equation of the tangent line to the first optimal point in (Table 1) is 1 × (x1 - 3) + 1 × (x2 - 3) = 0. This equation can be drawn as a dotted line passing through ●1 in Figure A of (Figure 5). When the dotted line at a certain point in Diagram A of (Figure 5) intersects with other dotted lines, the generation of the formula often fails. In such a case, it is advisable to consider a workaround such as modifying the input data. Looking at Diagram A of (Figure 5), there are no intersections among the five dotted lines. Therefore, for the time being, it is judged that the formula can be generated for the input data, and the inspection is considered to be passed.

[0053] Next, the user calculates the values of the functions f1(x1 * and x2 * ) from the data in (Table 1), and outputs the columns of f1 * and f2(x2 * ) in (Table 2). Furthermore, using the derivatives of f1(x1) and f2(x2), the values of the columns of f1 * ′ and f2 * ′ in (Table 2) are generated. * ′, f2 * ′ in (Table 2) are generated.

Table 2

[0054] Next, the user starts the operation of creating the circle in (Equation 149) of (Embodiment 2(2)). Prepare the equation of the circle such that all the generated (f2 * , f1 * ) in (Table 2) are included. Furthermore, on the circle, set the starting and ending points of the moving points S1 and S2. Here, the circle is [Equation 13] f1 2 + f2 2 = 44.5 S1 is a point that moves from 2.86 to 0.77 at an angle θ1, S2 is a point that moves from -1.325 to 0.77 at an angle θ2 are prepared. Summarize this setting to create (Table 3), and leave the column of "Equation of the moving point" in (Table 3) blank, and enter (Equation 22) and (Equation 23) here based on subsequent processing.

Table 3

[0055] The user draws (Table 2) and (Table 3) to create (Figure 6) and visually inspects it. The circles in (Figure 6) are drawn using (Equation 13), and ★1 to ★5 are (f1) in (Table 2) * ,f2 * ) This is the drawing of points, and points O1 and O2 are the drawing of the starting points (Table 3), F m The dot represents the drawing of the endpoint. However, the circle will not be drawn in a full 360 degrees, but only within the range of the start and end points (Table 3). Then, O1F (Figure 6) m Check if ★1 to ★5 are inside the semicircular region formed by connecting O2. Looking at the diagram, ★1 to ★5 are all inside the semicircle, so the check is passed. If ★1 to ★5 are outside the semicircle, you must adjust them by increasing the radius of the circle or changing the position of the starting point so that they are inside the semicircle. (Figure 6) is a calculation that accurately draws the first quadrant of (Figure 2), and the moving point S1 is from point O1 to F m At point S2, S2 is from O2 to F m You will be moving to a specific point.

[0056] Next, the user begins processing (number 146) to (number 148) of (Embodiment 2). x1 entered as (Table 1) and (Table 2) * , x2 * ,p1,p2,f1 * ,f2 * f1 * ',f2 * 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 5) from (Table 4) corresponds to this.

[0057] The user is f1 from row 2 of (Table 2) * '=0.661, f2 *The values ​​'=0.686, p1=1, and p2=1 are read and input into (Equation 147) of (Embodiment 2), [Equation 14] β1 = (1 / 1)(0.661 / 0.661) = 1 [Equation 15] β² = (1 / 1)(0.661 / 0.686) ≈ 0.962 Output the above β1 and β2 values ​​and substitute them into (Equation 146) of (Embodiment 2), [Number 16] 1 × (f1 - f1 * )+0.962(f2-f2 * )=0 Create (Table 2) f1 * =16.15,f2 * Reading out =11.441 and substituting it into the above (number 16), [Math 17] 1 × (f1 - 16.15) + 0.962(f2 - 11.441) = 0 This is the resulting equation. This (Equation 17) is a specific example of (Equation 146) in (Embodiment 2). Solving (Equation 17) for f1, [Math 18] f1 = -0.962 × f2 + 27.16 Create (Number 18) and record it in the second row of (Table 4).

[0058] Perform the same process (0057) for data points 1, 3, 4, and 5 to complete the "Contour Line Equation" column in (Table 4). [Table 4]

[0059] As stated in (Embodiment 2(1)), the five contour lines shown in (Table 4) are expressions in which only f1 and f2 are letter variables, and all other elements are numerical.

[0060] Plot the graph shown in (Figure 6) and examine the situation in (Table 4). The five lines in (Figure 6) are plotted using mathematical software based on contour lines 1 through 5 in (Table 4). The user examines (Figure 6) to see if the five lines pass through ★1 to ★5. Looking at the figure, it can be seen that all five lines pass through ★1 to ★5. Since the five lines correspond to different points u, the five lines must not intersect within the circle. As can be seen in Figure 6, the five lines do not intersect. Next, we examine whether lines 1 through 5 move in one direction as u increases. The user looks at the values ​​in the "Contour Line Equation" column in (Table 4) and confirms that the intercept values ​​increase monotonically from 5.32 to 55.32. Since it has been confirmed that the five lines in (Figure 6) do not intersect, it can be confirmed that contour lines 1 through 5 shift upwards and to the right as u increases. It has been confirmed that they do not shift to the left. This concludes the contour line inspection.

[0061] Next, we begin the process of generating the intersection points S1 and S2 of (Embodiment 2(2)). In Figure 6, the user begins the task of calculating the coordinates of the intersection points of the circle and the five contour lines drawn in Figure 6. In the following, the two intersection points are referred to as intersection point S1 and intersection point S2. The term "moving point S1" was used when calculating utility from the completed utility function, but in the generation of the utility function, since the equation of the moving point is generated by regressing the sequence of intersection points, we have decided to call these moving points S1 and S2 "intersection point S1" instead of "moving point S1". The user reads the contour equation for consumption point 2 in (Table 4), [Equation 19] f1 = -0.962f2 + 27.17 Then, we perform a process to find the coordinates of the intersection points of (Equation 19) and (Equation 13) using a simultaneous equation solver in mathematical software. Since there are two intersection points of a circle and a line, there are two solutions, which we call Solution 1 and Solution 2. Solution 1=(-13.6,42.4) Solution 2=(41.8,-15.2) The output is as follows: Calculating the polar coordinate angles of the above f1f2 coordinates, Angle in Solution 1 = 1.88 Angle in solution 2 = -0.35 This is how it is calculated. The value of 1.88 for the angle in Solution 1 is within the range of angle θ1 of S1 in (Table 3) (2.86 to 0.77), so 1.88 is used as the angle of S1. θ1 = 1.88 Identifying this, the value of -0.35, which is the angle of solution 2, is within the range of θ2 for the angle of S2 in (Table 3) (-1.325 to 0.77), so -0.35 is the angle of S2. θ² = -0.35 To identify it as such. The coordinate and angle values ​​obtained through the above process are organized and recorded in the second row of the columns for "Polar Coordinate θ1 of Intersection Point S1" and "Polar Coordinate θ2 of Intersection Point S2" in (Table 5). The same process is performed for points 1, 3, 4, and 5, and these are added to the right end of (Table 4), extending the table to the right to complete (Table 5). This (Table 5) corresponds to the "intersection coordinates" as referred to in (Embodiment 2(2)). [Table 5]

[0062] As a precaution, the user plots the five pairs of S1 and S2 in (Table 5). From the second row of the optimal point in (Table 5), S1=(-13.6, 42.4) and S2=(-15.2, 1.88) are read out, and the mathematical software plots ▲12 points and ▲22 points in (Figure 7). Looking at the plotted ▲12 points, the user realizes that ▲12 points are located to the lower right of the circle's center point O0, and concludes that θ1 in (Table 5) should be a value between π / 2 radians and π radians. Then, based on this conclusion, the value θ1=2.27 in (Table 5) is checked, and since it is between π / 2 radians and π radians, the calculation of θ1 in (Table 5) is also verified to be correct. These checks are also performed for consumption points 1, 3, 4, and 5 in (Table 5), and the number of θ1 and θ2 in (Table 5) is checked to see if they are correct. All checks pass here.

[0063] Next, we begin the process of generating the equation for the moving point, as described in (Embodiment 2(4)), using regression. The user reads the data from the u column in (Table 1) and the θ1 and θ2 columns in (Table 5), plots ▲11 to ▲15 on the (u,θ1) plane, and plots ▲21 to ▲25 on the (u,θ2) plane. This plot is represented by ▲ in (Figure 8).

[0064] The user, while looking at the plot diagram (Figure 8), determines an appropriate regression equation and generates a function that determines the angular coordinates of S1 and S2 by performing regression from θ1 and θ2 to u. Here, both θ1 and θ2 are cubic equations. [Math 20] θ1 = β 10 +β 11 u+β 12 u 2 +β 13 u 3 [Math 21] θ² = β 21 +β 22 u+β 23 u 2 +β 23 u 3 I prepared the following. Using the above as the regression equation, and using the regression command in the mathematical software, if we perform regression from u to θ1 and from u to θ2, [Equation 22] θ1 = 2.27 - 0.396u + 0.099u 2 -0.009u 3 [Math 23] θ² = -0.712 + 0.392u - 0.09u 2 +0.008u 3 The output is as follows. To confirm, when the graphs of (Equation 22) and (Equation 23) are plotted in (Figure 8), they form a curve that roughly passes through point ▲, similar to a dotted line, so the fit is judged to be good. Equations (22) and (23) above are specific examples of the "specific moving point equations used in Embodiment 1" as referred to in Embodiment 2(4). Enter (22) and (23) into Table 4 to complete Table 4.

[0065] Finally, the user will be able to construct a utility function using (Equation 38) and (Equation 39) and calculate the value of u. The f1 and f2 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 passing through these two moving points S1 and S2 (contour equation) is, [Math 24]f1=-{(cosθ2-cosθ1) / (sinθ2-sinθ1)}(f2-44.5sinθ1)+44.5cosθ1 Therefore, the contour lines above have f1=x1 specified by the user in (0050). 0.9 f2=x2 0.9 Substitute [Number 25] x 1 0.9 =-{(cosθ2-cosθ1) / (sinθ2-sinθ1)}(x2 0.9 -44.5 × sinθ (1) + 44.5 × cosθ (1) This generates the following equation. The three equations (Equation 22), (Equation 23), and (Equation 25) are the utility functions of (Embodiment 1) generated based on the input data in (Table 1) (these three equations are written separately because they are long, but they can be combined into a single equation). At first glance, it looks like a complex nonlinear equation containing trigonometric functions and polynomials, but when the user provides x1 and x2, it becomes a utility function (implicit function) for which there is only one real solution for u, and moreover, the computer can find a numerical solution for u with considerable certainty.

[0066] However, while contour equations (Equation 24) and (Equation 25) containing trigonometric functions are convenient for presentations on paper or a blackboard because the equations can be shown concretely, it may not be wise to write (Equation 24) and (Equation 25) into the program for implementation purposes. This is because there are also methods to solve simultaneous equations using mathematical software. For this reason, the final assembly step is not necessarily required, and there are ways to express it without concrete equations. For this reason, although only one form is written in this embodiment, there are many other ways to perform similar roundabout processing and implementation, and of course, those roundabout methods are my prerogative. Therefore, in Example 2, two methods were explained with specific examples: one for directly obtaining the numerical solution of (Equation 25) using a nonlinear equation solver (0074), and another for using simultaneous equations (0075) (there is not much difference between them).

[0067] This concludes 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) into a single function. [Example 2]

[0068] In Example 1, a numerically calculable utility function was generated from the data. In Example 2, the utility function generated in Example 1 is implemented to draw contour lines for u and to output the value of u.

[0069] The user prepares (Equations 26) to (Equation 31) as the utility function for (Embodiment 1). That is, the general form of the utility function and the equations for functions f1 and f2 are as follows: [Number 26] g0(u)=g1(u)f1(x1)+g2(u)f2(x2) [Math 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 Prepare a circle and plot the starting point O1 of the moving point S1, the starting point O2 of the moving point S2, and the common endpoint Fm of S1 and S2, using polar coordinate angles. [Math 29] Angle at starting point O1 = 2.86, Angle at starting point O2 = -1.32, Angle at ending point Fm = 0.77 Prepare and Furthermore, let S1 be a moving point that moves along the circle from point O1 to point Fm, and S2 be a moving point that moves along the circle from point O2 to point Fm, with angles θ1 and θ2, respectively. For 0.1 ≤ u ≤ 7, [Equation 30] θ1(u) = 2.27 - 0.39u + 0.10u 2-0.009u 3 [Math 31] θ2(u) = -0.71 + 0.39u - 0.09u 2 -0.008u 3 The formulas are prepared as follows. Formulas (30) and (31) are not formulas that a user can come up with on their own with just a little thought. Example 1 was the technique to create these formulas according to the user's wishes. Formulas (30) and (31) use the values ​​generated in Example 1 as they are, and Example 2 is a continuation of Example 1.

[0070] The above equations (26) to (31) represent the mechanisms provided by the utility function in (Embodiment 1).

[0071] Moving point S a Since (a=1,2) is a point on a circle with radius 44.5, the coordinates of (f1,f2) can be found using high school mathematics. [Number 32] S a (u) = (cosθ) a (u), sinθ a (u)) × 44.5 That is the case. The user creates the equation of a line passing 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 This is the result. The line passing through these two moving points S1 and S2 is the contour line, and its equation is the contour equation. Then, x1 is used for f1 and f2 in the contour equation (Mathematics 33). 0.9 and x2 0.9 Substitute this, [Number 34] x 1 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 equation. Substituting (Equation 30) and (Equation 31) into θ1(u) and θ2(u) in (Equation 34) results in a single equation where u, x1, and x2 are the only variable variables, which corresponds to the single-expression representation of the utility function of (Embodiment 1). Equation (34) is a nonlinear equation that includes cubic and trigonometric functions in u, and it is not clear whether there is a numerical solution for u. However, when values ​​are input 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 equation (Equation 34) without changing its meaning and express it in the format of (Equation 145) of (Embodiment 1), g0(u) = g1(u) x 1 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 shows an example of an equation and expression such that g1, g2, and g0 above change appropriately according to u, as described in (Embodiment 1).

[0072] However, while (Equation 33) is good for presentations and education because the formula can be shown concretely, there is another method of implementation that does not use (Equation 33) but uses a command in mathematical software to solve simultaneous equations, and this method seems to have fewer bugs. Therefore, (0074) shows a method using trigonometric functions and polynomials with (Equation 33), and (0075) shows a method using a simultaneous equation solver without using (Equation 33).

[0073] By implementing the invented utility function represented by (Equation 30), (Equation 31), and (Equation 34), • Draw precise and beautiful contour maps like Figure B in (Figure 5). (0074)~(0077) • Input values ​​x1 and x2 and output the value of u. (0078)~(0081) These two are shown as examples of implementation.

[0074] Next, let's try drawing a precise and beautiful contour map like Figure B in (Figure 5). The user enters u=3 in (number 30) and (number 31), θ1 = 1.727 θ² = -0.135 Calculate this, and input it into the trigonometric function command to get cosθ1=-0.156, sinθ1=0.987, cosθ2=0.99, sinθ2=-0.135. Input these four values ​​into (Math 34), [Number 35] x1 0.9 = -1.02 x 2 0.9 +32.825 This is the resulting equation. When this is plotted on the (x1,x2) plane using mathematical software, a curve is drawn that passes through the neighborhood of point number 3 in the right-hand diagram (Figure 5), with respect to the origin.

[0075] (0074) is an alternative method for generating (Equation 35). This method involves using a simultaneous equation solver in mathematical software, without using (Equation 34). After finding (number 30) and (number 31) in (0072), The f1 and f2 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 and simultaneous equation solving commands to find the equation of the line passing through these two points, we can derive the contour equation (Math 35) "f1 = -1.02f2 + 32.85" in one step. With this method, (Math 34) does not need to be written as code, and the code that includes simultaneous equation commands will be written. This implementation can handle not only two variables x1 and x2, but also multivariable functions such as three variables, so it seems to be highly versatile.

[0076] Furthermore, the user draws a dotted line representing the tangent line with slope p1 / p2 (=-1) based on the price data shown in (Table 1). Additionally, they draw a dotted line at the point where the contour line and the dotted line touch. (This drawing process is quite lengthy, but it is not directly related to the invention, so the description is omitted.)

[0077] If we repeat the drawing process for (0076) about 20 times for values ​​other than u=3, we can draw contour lines that are convex with respect to the origin, like the solid line in Figure B of (Figure 5), and about 20 optimal points ● arranged in an S-shape. The arrangement of the optimal points ● is S-shaped, and it is mathematically guaranteed that these contour lines have no intersections, thus satisfying a fundamental property required in economics. You can also see that the arrangement of ● in Figures A and B of (Figure 5) is similar. Furthermore, since contour lines are represented by actual mathematical formulas (as shown in (Equation 35)), there is no need to use mathematical commands that rely on approximations or iterative calculations when drawing contour plots. Because contour lines can be drawn from actual formulas (as shown in (Equation 35)) rather than approximations, the numerical values ​​are accurate, and even when zooming in on the vicinity of the optimal point ●, the tangent lines remain aligned without shifting, and the resulting figure continues to display tangent lines indefinitely. This level of precision can be an advantage in the realities of applications and development.

[0078] Next, we show an example where 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 third data point of the optimal point in (Table 1)). Enter x1=18,x2=29 into (Equation 27), f1=13.48, f2=20.70 Since we obtain this value, we will temporarily save it.

[0079] This paragraph will show how to find u by solving (Equation 34) using a nonlinear equation solver. Temporarily saved f1=13.48, f2=20.70 Substitute this into (number 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, substituting θ1(u) and θ2(u) shown in (Equation 30) and (Equation 31) into the above equation, we obtain a nonlinear equation consisting of trigonometric functions and polynomials with only u as the unknown. By specifying the interval u=0.1 to 7, or specifying a point within the same interval as the initial value, and obtaining a numerical solution using a single-variable nonlinear equation solver in mathematical software, u=2.148 This outputs the result. This concludes the explanation of how to solve (Equation 34) using a nonlinear equation solver to find u.

[0080] This paragraph presents a method different from (0079), which involves finding the intersection points S1 and S2, and then solving a system of equations to find the equation of the line passing through these two points to determine u. As the initial value u, we initially choose u=1 from the range 0.1≦u≦7, and input it into (Equation 30) and (Equation 31), and the angle [Equation 36] θ1=1.96, θ2=-0.40 This is calculated. From these angles θ1 and θ2, the coordinates of the moving point f1 and f2 are 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) This is how it is calculated. Then, the equation of the line passing through the two points (-17.04, 41.16) and (40.99, -17.45) is calculated using a simultaneous equation solver or cross product command in mathematical software, and the contour lines are calculated. f1 = -0.99 × f2 + 23.71 This is how it is calculated. The above equation is judged as true if it holds true when f1 = 13.48 and f2 = 20.7, and false if it does not. The result is that it is judged as false by a very small margin. Since this is false, we reject u=1 and search for u by increasing and decreasing the value of u from u=1, scanning various values ​​of u between 0.1 ≤ u ≤ 7 until it becomes true. Then, we find u=2.148, f1 = -1.006 × f2 + 34.321 This is determined to be true, so we output u=2.14.

[0081] For x1 and x2 of consumption points 1 to 5 in (Table 1), if we calculate the value of u using the method above, in the order from 1 to 5... u=0.015 u=1.313 u=2.148 u=5.412 u=6.971 This is the result. Comparing the five values ​​above with the values ​​of 0.1, 1, 3, 5, and 7 initially specified by the user in Table 1, there is a discrepancy of nearly 30% in the second and third values. Nevertheless, overall, the values ​​of u fall within the range of 0.1 to 7 as specified by the user, so we consider this to be a fairly good fit. [Example 3]

[0082] Example 3 shows an example of generating a specific formula for the utility function (Equation 150) of (Embodiment 3) using the generation technique described in (Embodiment 4). From inputs of x, p, and u as shown in (Table 6), a utility function u=F(x1,x2,x3) is generated, which is (Equation 61), (Equation 57)~(Equation 60), and (Equation 45)~(Equation 50) as described in paragraph (0107). To put it graphically, the system takes data for the x1x2x3 coordinates of four optimal points, such as ●1 to ●4 in (Figure 13), and data from the budget plane as input, and generates a specific utility function formula that has an optimal point close to it. The generated utility function has contour surfaces as shown in (Figure 12). These contour surfaces in (Figure 12) do not intersect with each other. As seen in Example 1, the case with two variables was enclosed in a circle, but in Example 3, there are three variables, so a sphere is used. When going from two variables to three variables, replacing the circle with a sphere is a natural and predictable extension. (However, it is not exactly the same, as a new step of setting a "path of moving points" on the sphere is required.) Examples 3 and 4 use linear paths. Examples 5 and 6 show the same thing achieved using geodesic paths. Those familiar with geodesics in differential geometry may find it beneficial to read Examples 5 and 6 before Examples 3 and 4.

[0083] Hereafter, k is a subscript representing the item number, and in Example 3, k = 1, 2, 3. Also, a is a subscript representing the moving point number, and a = 1, 2, 3. Whenever possible, we will express the values ​​without using k or a, such as x1, x2, x3, but occasionally we will use expressions that include k or a.

[0084] The user is the general form (template) of the utility function in (Embodiment 3) (Number 150) [Number 37] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x3) Prepare the following. In equation (37), g0(u)~g3(u) are defined by three moving points that move on the sphere according to u, and are assumed to increase or decrease in a complex manner according to u. In Example 3, the specific formula for the utility function u=F(x1,x2,x3) is generated in such a way that g0(u)~g3(u) reflects the input data shown in (Table 6) below.

[0085] The user, as input data in (Embodiment 4(1)), (Table 6) Consumption of Good 1 to Good 3 x 1 * , x2 * , x3 * Input the data for the function, its prices p1, p2, p3, and the utility value u under those conditions. [Table 6] Each row from number 1 to 4 of the optimal point numbers shown in (Table 6) can be interpreted as the values ​​of x1, x2, and x3 that minimize the expenditure required to realize the utility function u, where p1x1+p2x2+p3x3 (=expenditure) is the objective function and u=F(x1,x2,x3) is the constraint. For example, the x1 in row 1 of the optimal point in (Table 6) * =3, x2 * =2, x3 * The value = 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 solutions to the cost minimization problem. Four sets of such data are available, numbered 1 through 4. (Table 6) x1 * Looking at the values ​​in the column from top to bottom, we see 3, 10, 6, and 25, with a decrease from 10 to 6. This indicates that the data is not increasing uniformly, but rather has a wave-like pattern. The advantage of this invention is that it can generate a utility function in which such a complex optimal point can occur. Optimal point (x1 * , x2 * , x3 * The equation of the tangent line passing through a point is generally "p1(x1-x1) * )+p2(x2-x2 * )+p3(x3-x3 * It can be expressed as ")=0", but in economics it is also called the budget line or cost equation, and p1 and p 2, p3 can be interpreted as price in economics, and corresponds to (number 153) in (Embodiment 4(1)), p1, p 2, This is a description of p3.

[0086] Also, f used in (Equation 151) of (Embodiment 4) k (x k ) as, [Math 38] f1(x1)=x1 0.9 f2(x2)=x2 0.85 f3(x3)=x3 0.8 , Enter the following. Note that in this embodiment, a power expression is used, but theoretically various expressions such as logarithmic functions, exponential functions, and polynomials can be used. Ideally, we would like to generate the function forms f1(x1) to f3(x3) in (Equation 38) from the data, but this is technically difficult, so in this invention, the user input is used as in (Equation 38). For the technology of generating f1 to f3, please refer to (Patent Document 2).

[0087] The user begins the task of creating (Table 7). (Table 6) x k * The value of (number 38) f k (x k Substitute this into f k (x k * Calculate the value of (Table 7) f1 * ,f2 * ,f3 * Arrange them as shown. Also, the derivative f of (Equation 38) k '(x k ) prepare, f k '(x k * Calculate the values ​​of () and arrange them as shown in (Table 7). For reference, copy u from (Table 6) and the u from (Table 7). * Paste it into the column. This completes (Table 7). The user plots the optimal points 1 to 4 from (Table 7) using mathematical software to draw (Figure 10). ★1 to ★4 in (Figure 10) are the f1, f2, and f3 coordinates plotted for the optimal points 1 to 4 from (Table 7). [Table 7]

[0088] Next, the user begins the task of setting the sphere and creating the path of the moving point, which corresponds to (Embodiment 4(2)). The path of the moving point is an equation that looks like three arcs as seen in (Figure 10), and the three moving points S1 to S3 will move along these three arcs in (Figure 10). The user is f1 (Table 7) * ,f2 * ,f3* Looking at the data, the point with the longest distance from the origin is considered to be the optimal point, number 4. Calculating this distance, we get 26(: ≈ (18.119) 2 +14.9 2 +11.423 2 ) 0.5 ) This is the result. Considering that the maximum distance of the data is 26, the user sets the radius of the sphere to 53.02, which is more than twice 26. A smaller radius of the sphere would result in higher accuracy, but since the utility function can only be calculated within the sphere, the domain of the utility function becomes narrower. Therefore, in order to secure the domain that the user desires, it is set to a large value of more than twice the maximum distance of the observed data, and can be expressed as follows: [Number 39] f1 2 +f2 2 +f3 2 = 53.02 2 This is the sphere of (Equation 4(2)) (Equation 154).

[0089] Next, we begin the process of creating three paths on the sphere (Equation 39) through which three moving points S1, S2, and S3 move. A path consists of an endpoint, a starting point, and the equation of the path from the starting point to the endpoint. The endpoint is roughly defined by the user as the point on the sphere closest to ★4 where u is largest, while looking at (Figure 10). The coordinates of the endpoint Fm are (32,31,30) Set it as follows. The endpoint Fm is a point on the sphere, so naturally it is "32 2 +31 2 +30 2 = 53.02 2 The result is ", and we check and confirm that it satisfies (equation 39). Next, the user, while looking at (Figure 10) and at ★1 where u is smallest, determines the starting point (I apologize for the rather rough method of determination, but it's simple), 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). This is defined as follows: The three points above are selected from the vertices (there are 8 vertices) of a cube formed inside a sphere with radius 53.02, and are the three closest to ★1 which is at the lower limit of u. Then, the user records the endpoint Fm and starting point determined as described above, and creates (Table 8). For example, the row for S1 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 rises. [Table 8]

[0090] Then, the user converts the f1f2f3 coordinates in (Table 8) to polar coordinates using mathematical software, and records the resulting angle to create (Table 9). For example, the Cartesian coordinates "31.01, -31.01, -31.01" seen in (Table 8) are converted to polar coordinates, and θ 11 =0.955,θ 12 Create a value of -2.35 and a radius of 53.02, and record the angles as "0.955" and "-2.35" as shown in the row for S1 in (Table 9). Note that θ 11 The angle 1,θ of the moving point 1 is θ 12 θ represents the angle 2 of the moving point 1, 11 θ is the angle from the f1 axis to the f2 axis. 12 This represents the angle from the f2 axis to the f3 axis. [Table 9] Then, the user begins creating the "Path Formula" column in (Table 9). (Table 9) Point S1 is the first angle θ 11 When it moves from 0.955 to 0.93, the second angle θ 12 This requires that it must move from -0.35 to 0.76. However, there are infinitely many paths from the starting point to the ending point on a sphere, and in extreme cases, there are even infinitely many possibilities, such as a path that moves from the starting point to the ending point in a spiral. Therefore, (θ 11 ,θ 12 ) When viewed in a plane, Point (0.955, -0.35) and, Point(0.93,0.76) Calculate the equation of the line passing through the two points, [Number 40] θ 12 =-137.42θ 11 +128.92 This is the result obtained, so enter it in the column (Table 9). Perform the same process for S2 and S3 to complete the "Path Expression" column in Table 9. (Table 9) The θ in the "Path Equation" 12 =~, θ 22 =~, θ 23 The three formulas =~ are a concrete example of the description in Embodiment 4(2) that the path has three formulas.

[0091] The task of drawing (Figure 10) is performed for inspection. The user uses the 3D plotting commands of the mathematical software to draw the graphs of the start point, end point, and path equation from (Table 9). The ● in (Figure 10) are the plots of points O1, O2, and O3. Also, Fm● in (Figure 10) is the plot of the end point from (Table 9). The three arcs in (Figure 10) are the graphs of the path equation from (Table 9).

[0092] As required in (Embodiment 3(4)), the three paths described above are, As u increases, S1, S2, and S3 move in one direction along the path without returning from the starting point to the ending point, and, A plane passing through three points S1, S2, and S3 moves such that it has no intersections. The expression must be set up to become a path. Clearly, a path that contradicts (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 ending point, but a plane passing through three points will not satisfy the condition because it is visually obvious that it will have an intersection point. I believe that the best way to determine a good path is to find the path that minimizes the distance traveled from the starting point to the ending 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, for the sake of simplicity and accuracy, linear equations were used for the paths, as shown in Table 9 and Equation 40. In any case, simplicity and accuracy are important, so we prioritized avoiding complexity and simplifying the equations. Those who have studied the equations for geodesics on a sphere in differential geometry would be better off reading Examples 5 and 6 before Examples 3 and 4. The user visually checks if 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, S3 is F m As you move toward a point, the plane will have no intersections and will be uniformly F m It is intuitively clear that the object is moving towards the point. Therefore, the test is passed.

[0093] Furthermore, there are conditions for determining the starting point. In Figure 10, all of the points ★1 to ★4 provided by the user must be located 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 located 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 one where the starting points are ▲13, ▲23, and ▲33 in (Figure 10). If the starting points were ▲13, ▲23, and ▲33 in (Figure 10) instead of O1, O2, and O3 in (Figure 10), then ★1 and ★2 would be outside the sphere cut at 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 in (0089) was a step that did not exist for the two-variable functions in Examples 1 and 2. In the case of three variables, the paths that the moving point can take are infinitely numerous because it can move freely on the surface of a sphere. For this reason, the path cannot be determined by the equation of the sphere alone, such as (Equation 39), and it is necessary to add equations 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 of the circle (Equation 13), so there was no need to create a path equation.

[0095] This completes the initial setup related to the ball.

[0096] Next, the user begins the process of generating the contour plane portion shown in (Embodiment 4(1)). The user is the formula in (Equation 151) and (Equation 152) of (Embodiment 4). [Math 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 as follows. Furthermore, the values ​​in columns p1, p2, and p3 of the row corresponding to optimal point number 1 in (Table 6), and the value of f1 in the first row of the optimal point in (Table 7) * ,f2 * ,f3 * f1 * ',f2 * ',f3 * Read the values ​​in column ' and, 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 line equation for the optimal point corresponding to the numerical examples in (Table 6) and (Table 7). [Math 43] f1 = -1.05f2 - 1.15f3 + 6.60 This is generated. This is recorded in the first row of (Table 10). Furthermore, by performing the same process for the second to fourth optimal points, (Table 10) is completed. The computable contour plane equations in (Table 10) are the specific form of (Equation 151) that is generated as a result of the process in (Embodiment 4(1)). [Table 10]

[0097] Next, the process of calculating the "coordinates of the intersection point" as referred to in (Embodiment 4(2)) begins. That is, the user calculates the coordinates S of the intersection point between the path equation in (Table 9) and the contour plane equation in (Table 10). a The process of calculating [the value] will now begin.

[0098] Read the contour plane equation for row 3 of the optimal point in (Table 10) and write it out as (Equation 44). Then, read the path equations for rows S1, S2, and S3 in (Table 9) and write them out as (Equations 45) to (Equations 47). [Equation 44] Equation of the third contour plane of the optimal point: f1 = -1.40f2 - 1.61f3 + 38.5 [Math 45] Path of moving point 1: θ 12 =-137.42θ 11 +128.92 [Math 46] Path of moving point 2: θ 22 =-1.24θ 21 +1.92 [Mathematics 47] Path of moving point 3: θ 32 = 1.26θ 31 -0.41 This is how it works. The user, while looking at the above formula, The coordinates of the intersection of (Equation 44) and (Equation 45) are calculated using a simultaneous equation solver in mathematical software. More specifically, since (Equation 45) is expressed in angle notation, it is converted to f1f2f3 coordinate notation, (cosθ 11 ,sinθ11 cosθ 12 ,sinθ 11 sinθ 12 ) × 53.02 Then, the f1f2f3 coordinates of the intersection point with (Equation 44) are calculated using mathematical software. The result is (31.55, 34.84, -25.98) in f1f2f3 coordinate representation, and (θ) in polar coordinate representation. 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 point between 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 third row of the optimal point numbers in (Table 11). This represents the coordinates of the intersection point between the "contour plane equation of the third optimal point" 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 for optimal point number 3 in (Table 11). This represents the coordinates of the intersection point between the "contour plane equation for optimal point number 3" and the "path of S3". [Table 11]

[0099] If we apply the process in (0097) to the equations for optimal point numbers 1, 2, and 4 in (Table 10), we can complete (Table 11).

[0100] For reference, if we plot the intersection points S1, S2, and S3 shown as optimal point number 3 in (Table 11), we get ▲13, ▲23, and ▲33 in (Figure 10). Looking at (Figure 10), we can see that these are indeed points on the path, confirming that the values ​​were 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 it in and visualize it, you can be sure that it passes through ★3.

[0101] This completes the calculation of the intersection coordinates S1, S2, and S3.

[0102] Next, we begin processing the "moving points S1, S2, S3 that move according to u" as described in (Embodiment 4(4)). That is, we begin the process of creating a utility function by regression using the coordinates (angles) of the intersection points obtained in (Table 11).

[0103] Prior to this regression process, we first begin by creating Table 12, which is a rearrangement of Table 11. Table 12 is the same as Table 11, but presented in a way that is suitable for regression. If we extract only the polar coordinate angle 1 of S1 from (Table 11), from the top, 0.946, 0.945, 0.943, 0.941 This is the result. Enter this vertically in (Table 12). Similarly, extracting only angle 1 of the polar coordinates for S2 in (Table 11) gives us 1.901, 1.84, 1.768, and 1.639 from top to bottom. Transfer this to (Table 12). Similarly, extracting only angle 1 of the polar coordinates for S3 in (Table 11) gives us 1.95, 1.879, 1.846, and 1.743 from top to bottom. Transfer this vertically to (Table 12). Furthermore, when the utility values ​​u=1,2,3,4 that the user initially assigned in (Table 6) are transferred to the right end of the table, (Table 12) is completed. [Table 12]

[0104] Then, the user draws (Figure 11) using mathematical software based on (Table 12). Figure 11 is a plot of Table 12. The vertical axis is θ. 11 ,θ 21 ,θ 31 This graph plots three graphs with u on the horizontal axis. For example, in Figure 11, ▲21 plots the u value of optimal point number 1 and the first angle of intersection point S2, which is (1, 1.901), with a ▲. ▲34 plots the u value of optimal point number 4 and the first angle of intersection point S3, which is (4, 1.743), with a ▲.

[0105] The user determines the regression equation by looking at the sequence of numbers in (Table 12) and (Figure 11). Looking at (Figure 11), they decide that a cubic polynomial would be appropriate for the regression equation. [Mathematics 48] θ k1 =β0+β1u+β2u 2 +β3u 3 , k=1,2,3 If we use this as the regression equation and generate β0 to β3 using the regression command in mathematical software, [Mathematics 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 [Mathematics 51] θ 31 =2.164-0.32u+0.124u 2 -0.018u 3 The following estimation formula is generated. Equation (49) has small coefficients that include 10 to the power of -3 and 10 to the power of -4, but this does not pose any particular problem, and no issues have arisen in subsequent uses such as plotting or calculating utility values.

[0106] To organize and show the descriptions of moving points S1, S2, and S3, the column of path equations in (Table 9) is copied to the second angle column in (Table 13). Equations (49) through (51) are copied to 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, given a value for u, the cubic equation for u shown in the "Angle 1" column gives θ 11 ,θ 21 ,θ 22 These values ​​are calculated, and these values ​​are used in the equation for the second angle column θ 11 ,θ 21 ,θ 22 Substituting this into the equation, we get the second angle θ.12 ,θ 22 ,θ 32 This is calculated. Thus, θ 11 ,θ 21 ,θ 22 ,θ 12 ,θ 22 ,θ 32 All six angles now align. The formula in (Table 13) is a specific example of (Embodiment 4(4)) "a 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 * These are generated using methods such as regression to a specific form.

[0107] Finally, the user begins the task of constructing the utility function from (Table 13) and (Equations 37 and 38).

[0108] Moving point S a The coordinates of (S) in the f1f2f3 plane 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 (Equations 53) to (Equations 55) are the coordinate formulas for a sphere. The user can create the equation of the f1f2f3 plane passing through the three points S1, S2, and S3, calculated from (Equation 115) to (Equation 55), using high school mathematics formulas and the cross product and matrix commands of mathematical software. [Math 56] g0 = g1f1 + g2f2 + g3f3, however [Math 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 ) [Math 60] g0=(g1S) 11 +g2S 12 +g3S 13 ) This is the result. These equations (56) to (60) are called contour plane equations. The user substitutes (Equation 38) into the terms f1, f2, and f3 of (Equation 56), [Math 61] g0 = g1 x 1 0.9 +g2x2 0.85 +g3x3 0.8 Let's assume that. (Equation 61) and (Equation 57) to (Equation 60), (Equation 45) to (Equation 50) are utility functions, and although they are difficult to understand due to the many letter variables, if we repeatedly substitute them, S 11 Variables such as g1 are eliminated, and only u and x1, x2, and x3 remain as letter variables, while the others are numerical, resulting in a single equation made up of trigonometric functions and polynomials. This is the utility function (in reality, an implicit function or a nonlinear equation) of (Embodiment 3). [Example 4]

[0109] Example 4 demonstrates the use of the utility function generated in Example 3, inputting x to it to output the value of u, and plotting the contour surface of the utility function's u.

[0110] The user is (number 62) which is (number 150) of (Embodiment 3), [Number 62] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x2) [Math 63] f1(x1)=x1 0.9 f2(x2)=x2 0.85 f3(x2)=x3 0.8 Prepare it. Furthermore, the sphere on the f1f2f3 plane, which is (Equation 88) of (Embodiment 3(1)), [Number 64] f1 2 +f2 2 +f3 3 = 53.02 2 And, for the moving points S1, S2, and S3 in (Embodiment 3(2)), the equation of the path of the moving point is such that it satisfies (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 This is how it is prepared. Naturally, (equations 65) to (equations 75) cannot possibly be created by a user with just a little thought, so they were generated in Example 3. The above formula uses the formula created in Example 3 as is, and in terms of content, it is a direct continuation of Example 3. Note that the moving point S a The coordinates of (S) in the f1f2f3 plane 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 the coordinates of a sphere, as taught in high school mathematics.

[0111] The user initiates processing related to moving points and planes in (Embodiment 3(3)). If we use high school mathematics to find the equation of the f1f2f3 plane passing through the three points S1, S2, and S3, we will naturally derive a linear equation of the form "β0 = β1f1 + β2f2 + β3f3" where β0 to β3 are constants. If we replace β0 to β3 in this linear equation with g0 to g3, [Math 76] g0 = g1f1 + g2f2 + g3f3, however [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 ) [Math 80] g0=(g1S) 11 +g2S 12 +g3S 13 ) This generates (Equations 76) to (Equations 80), which are contour plane equations and an example of the process in Embodiment 3(3) where "the values ​​of g0(u), ..., g3(u) are determined." (Note: Equations 76) to (Equations 80) are the same formulas used in high school mathematics for "the equation of a plane passing through three points"). The user substitutes (Equation 63) into the terms f1, f2, and f3 of (Equation 76), [Math 81] g0 = g1 x 3 0.9 +g2x2 0.85 +g3x3 0.8 Let's assume that (Equation 81), (Equation 77) to (Equation 80), and (Equation 65) to (Equation 70) are utility functions, and although they are written out as 11 separate equations, in practice they are a single implicit function with x1, x2, x3, and u as variables. When values ​​are given to x1, x2, and x3, the only unknown variable is u, and at first glance it is unclear whether there is a solution, but in fact there is only one real number that satisfies u, and a numerical solution can be easily and reliably calculated using a nonlinear equation solver, etc. For this reason, it becomes possible to use it as a function u=f(x1,x2,x3). This is what is meant by "u=f(x1,x2,x3)" in (Embodiment 3(6)). However, such descriptions of utility function equations are for learning and presentation purposes and may not be coded as equations in implementations. In implementations, instead of writing (Equations 77) to (Equation 80) in the source code beforehand, it is also possible to use (Equations 73) to (Equation 75) to calculate the coordinates of the three points S1, S2, and S3, and then use the cross product command or simultaneous equation solving command of the mathematical software to directly find the values ​​of g0, g1, g2, and g3 in (Equation 76). Various implementations are possible depending on the functions of the mathematical software used.

[0112] First, input x1=10, x2=8, and x3=5, and use the function described above to calculate and show the value of u. In fact, this is merely a very general procedure for finding the numerical solution to the nonlinear equation F(u)=0 for u shown in (0110), so I 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 as shown in (Table 6), u=2 was assigned to generate the utility function. Therefore, if the utility function is generated appropriately, a value close to u=2 should be output.

[0113] The user sets any value within the range 1 ≤ u ≤ 4 as the initial value of u. Here Initial value of u = 2.00 This was the setting. Since u=2.00 is also a solution, the explanation is somewhat simplistic. However, since the process of finding numerical solutions to equations through such iterative calculations can be done automatically with commands in mathematical software, only the procedure and results are shown. When u=2.000, if we input u=2.00 into the cubic equations (Equation 65) to (Equation 70), θ 11 = 0.945 θ 12 =-0.919 θ 21 = 1.84 θ 22 =-0.357 θ 31 = 1.879 θ 32 = 1.968 The following is output. If you input the above six angles and radius 50.2 into (number 70)~(number 75) and output the coordinates of the f1f2f3 plane of S1, S2, S3, then, Coordinates of S1 = (31.468, 26.406, -34.605) Coordinates of S2 = (-14.31, 48.513, -18.076) Coordinates of S3 = (-16.317, -19.785, 47.194) The output is as follows. Substituting the above nine values ​​into (Equation 77) to (Equation 80) would yield g1, g2, g3, and g0. However, in terms of implementation, it is simpler to not include (Equation 77) to (Equation 80) in the code. Instead, the equation of the plane passing through the three points can be obtained in one step using a system of equations solver in mathematical software, or using linear algebra tools such as the cross product command. f1 = -1.149 × f2 - 1.233 × f3 + 19.14 This outputs: Next, substitute (number 63) into the above equation, [Number 82] x1 0.9 = -1.149 × x² 0.85 -1.233 × x3 0.8 +19.14 To obtain. Here, if, x1=8, x2=10, x3=5 If the utility value of u is correct at u=2, then the equation (Equation 82) should be true. If the equation does not hold, then u is not 2. Substituting x1=8, x2=10, x3=5 into (Equation 82), 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) The equation can be transformed in this way, and it can be confirmed that the above equation is true. Since this is true, we adopt u=2 as the utility value for x1=8, x2=10, and x3=5, and output it.

[0114] If the equation (equation 82) is not true when x1=8, x2=10, and x3=5, select a value other than u=2.00, restart the process in (0112) from the beginning, and repeat the calculation for various u values ​​until the equality in (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 show an example of plotting contour surfaces (indifference surfaces in economics) in x1x2x3 space, as shown in (Figure 12). Looking at (Figure 12), an indifference curve convex to the origin is beautifully drawn in wireframe. By implementing the present invention, a beautiful graph convex to the origin, as shown in (Figure 12), can be drawn. This graph is made up of a sequence generated by the utility function realized by the invention. ●1 to ●4 are the optimal points, but looking at the sequence of the optimal points ●1 to ●4, it is not linear but nonlinear. Despite this nonlinearity, it is guaranteed that the contour surfaces shown in wireframe have no intersections. The process that generates the following (Figure 12) is an example of the "beautiful and precise contour surface graph" of (Embodiment 3).

[0117] As seen in (0112), when x1=8, x2=10, x3=5, (equation 82) holds. Therefore, the graph of (equation 82) can be plotted using the 3D plotting command of mathematical software. Solving (equation 82) for x1, [Number 83] x1 = (-1.149 × x2 0.85 -1.233 × x3 0.8 (+19.14) 1 / 0.9 Therefore, by rendering this in 3D using mathematical software, a wireframe-like curved surface passing through ●2 in (Figure 12) can be drawn.

[0118] Then, the same process as in (0116) is applied to x1 to x3, which are the 1st, 3rd, and 4th optimal points in (Table 6). When contour surfaces are drawn using mathematical software, a surface convex with respect to the origin passing through ●1, ●3, and ●4 can be drawn. ●1 to ●4 in (Figure 12) are the optimal consumption points when the price is 1, and if the budget line is drawn appropriately, it will be drawn as a figure that is firmly tangent to the indifference surface.

[0119] The utility function in (Embodiment 3) was a complex equation containing trigonometric functions and polynomials, but once the value of u is determined, it becomes a simple linear additive equation as shown in (Equation 83). Therefore, the equation of the contour lines for u becomes a simple equation with an additive structure, and can often be solved in the form of x1 = ~. As a result, the coordinates of x1, x2, and x3 can be calculated accurately, and the figure does not blur easily even when magnified. This can be considered a technical advantage. [Example 5]

[0120] In Example 5, similar to Example 4, we demonstrate how to generate a specific equation for the utility function (Equation 150) of (Equation 3) using the generation technique described in (Equation 4). However, here we use geodesics on a sphere as the three "paths of moving points". Using geodesics instead of a linear equation results in a more mathematically sophisticated implementation. To put it visually, this is an example of generating an equation with contour surfaces (indifference curves) as shown in Figure 16, from the input of four point coordinates like ●1 to ●4 in Figure 13 and a tangent plane passing through them. As seen in Example 1, the case with two variables was enclosed in a circle, but in Example 5, there are three variables, so a sphere is used. When going from two variables to three variables, replacing the circle with a sphere is a natural and predictable extension. (However, it is not exactly the same, as a new step of setting a "path of moving points" on the sphere is required.) Hereafter, k is a subscript representing the item number, and in Example 3, k = 1, 2, 3. Also, a is a subscript representing the moving point number, and a = 1, 2, 3. Whenever possible, we will express the values ​​without using k or a, such as x1, x2, x3, but occasionally we will use expressions that include k or a.

[0121] The user is using the general form (template) of the utility function u=F(x1,x2,x3) in (Embodiment 3) (number 150). [Number 84] g0(u)=g1(u)f1(x1)+g2(u)f2(x2)+g3(u)f3(x3) Prepare the following. In (Equation 84), g0(u) to g3(u) are defined by three moving points that move on the sphere according to u, and are assumed to increase or 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 (Equations 111) to (Equations 116), in a manner that reflects the input data such as (Table 14) discussed below.

[0122] The user, as input data in (Embodiment 4(1)), (Table 14) Consumption of Good 1 to Good 3 x 1 * , x2 * , x3 * Prepare the data for the price p1, p2, p3, and the utility value u under that price. [Table 14] Each row from number 1 to 4 of the optimal point numbers shown in (Table 14) can be interpreted as the values ​​of x1, x2, and x3 that minimize the expenditure required to realize the utility function u, where p1x1+p2x2+p3x3 (:=expenditure) is the objective function and u=F(x1,x2,x3) is the constraint. For example, the x1 in row 1 of the optimal point in (Table 14) * =3, x2 * =2, x3 * The value = 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 solutions to the cost minimization problem. Four sets of this data, numbered 1 through 4, are available. (Table 14) x1 *Looking at the values ​​in the column from top to bottom, we see 3, 10, 6, and 25, with a decrease from 10 to 6. This indicates that the data is not increasing uniformly, but rather has a wave-like pattern. The advantage of this invention is that it can generate a utility function in which such a complex optimal point can occur. Optimal point (x1 * , x2 * , x3 * The equation of the tangent line passing through a point is generally "p1(x1-x1) * )+p2(x2-x2 * )+p3(x3-x3 * It can be expressed as ")=0", but in economics it is also called the budget line or cost equation, and p1 and p 2, p3 can be interpreted as price in economics, and corresponds to (number 153) in (Embodiment 4(1)), p1, p 2, This is a description of p3. For confirmation, the user should draw (Figure 13) to visually verify the data. Draw (x1, x2, x3) from numbers 1 to 4 in (Table 14) as ●1 to ●4, and then draw the budget constraint line p1x1+p2x2+p3x3 passing through ●1 to ●4 as a wireframe. This (Figure 13) visually shows the interpretation of (Table 14), which is the input data in Example 5.

[0123] Also, f used in (Equation 151) of (Embodiment 4) k (x k ) as, [Math 85] f1(x1)=x1 0.9 f2(x2)=x2 0.85 f3(x3)=x3 0.8 , Enter the following. Note that in this embodiment, a power expression is used, but theoretically various expressions such as logarithmic functions, exponential functions, and polynomials can be used. Ideally, we would like to generate the function forms f1(x1) to f3(x3) in (Equation 85) from the data, but this is technically difficult, so in this invention, it is done by user input as in (Equation 85). For the technology of generating f1 to f3, please refer to (Patent Document 2).

[0124] The user begins the task of creating (Table 15). (Table 14) x k * The value of (number 85) f k (x k Substitute this into f k (x k * Calculate the value of (Table 15) f1 * ,f2 * ,f3 * Arrange them as shown. Also, the derivative f of (Equation 85) k '(x k ) prepare, f k '(x k * Calculate the values ​​of () and arrange them as shown in (Table 15). For reference, copy the u from (Table 14) and the u from (Table 15). * Paste it into the column. This completes (Table 15). The user plots the optimal points 1 to 4 in (Table 15) using mathematical software to draw (Figure 14). ★1 to ★4 in (Figure 10) are the f1, f2, and f3 coordinates plotted for the 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 point, which corresponds to (Embodiment 4(2)). The path of the moving point is an equation that looks like three arcs as seen in (Figure 14), and the three moving points S1 to S3 will move along these three arcs in (Figure 14). The user is f1 (Table 15) * ,f2 * ,f3 * Looking at the data, the point with the longest distance from the origin is considered to be the optimal point, number 4. Calculating this distance, we get 26(: ≈ (18.119) 2 +14.9 2 +11.423 2 ) 0.5) This is the result. Considering that the maximum distance of the data is 26, the user sets the radius of the sphere to 50.00, which is more than twice 26. A smaller radius of the sphere results in higher accuracy, but since the utility function can only be calculated within the sphere, the domain of the utility function becomes narrower. Therefore, in order to secure the domain that the user desires, it is set to be larger, more than twice the maximum distance of the observed data, and can be expressed as follows: [Number 86] f1 2 +f2 2 +f3 2 ≒50.00 2 This is the sphere of (Equation 4(2)) (Equation 154).

[0126] Next, we begin the process of creating three paths on the sphere (equation 86) through which three moving points S1, S2, and S3 move. End point of the path F m The user, while looking at (Figure 14), roughly identifies the endpoint F as the point on the sphere closest to ★4 where u is largest. m The coordinates are (28.8,28.8,28.8), (Note: More precisely, 28.868…) Set it as follows. End point F m Since it is a point on the sphere, it is naturally "28.8 2 +28.8 2 +28.8 2 =50 2 Then, we check and confirm that it satisfies (equation 86). Next, the user is at the final destination F. m The unit vector of coordinates (28.8,28.8,28.8) is e m Expressed as, [Number 87] e m =(0.57,0.57,0.57) Create it like this. e m Let e1, e2, and e3 be denoted as unit vectors orthogonal to the given vectors. [Math 88] e1=( 0.81,-0.40,-0.40 ) [Math 89] e² = (-0.40, 0.81, -0.40) [Math 90] e3 = (-0.40, -0.40, 0.81) Create it like this. This em Record e1, e2, and e3 in (Table 16). A geodesic is determined by two orthogonal unit vectors. Therefore, e m and e1,e m and e2, and, e m Create three sets of orthogonal vectors using e3, and define the f1, f2, and f3 coordinates of the geodesics a=1, 2, and 3 as S a As, the formula of the path [Number 91] S a (θ a )={cos(θ a )×e m +sin(θ a )×e a}×radius Create this. Then, record this path equation (Equation 91) in (Table 16), and the path equation is complete. [Table 16] Finally, although this may be superfluous, I think it would be good to include (Table 17) in the presentation, so I will create (Table 17). The coordinates obtained by multiplying e1, e2, and e3 by a radius of 50 are represented 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. (Table 16) θ a Regarding θ, the user a The range is 0 ≤ θ a Set ≤π. Thus, 0 ≤ θ a If set to ≤π, the start and end points of the geodesic are e m and e a This results in coordinates obtained by multiplying by the radius. In other words, [Number 92] S a (0) = e m × radius 50 so F m Matching the point [Number 93] S a (π) = e a × radius 50 so O a Matching the point This holds true. Geodesic S a (θ a ) When θ decreases from θ=π to θ=0, the starting coordinates are O a , the endpoint coordinates are F m This is the result. The unit vector e used in geodesics. m ,e a The relationship between the coordinates of the start and end points of the geodesic is intuitive and easy to understand, making it easy to work with. Therefore, imagining the range of θ as from 0 to π (or 2π) makes it easier for the user to visualize the work they are doing. The user should create 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) to check if the path equation in (Table 16) is correct. Using mathematical software, the user draws the graph of the path equation in (Table 16). The three arcs drawn in (Figure 14) are the graphs of the path equation in (Table 16), from points O1, O2, and O3 to the endpoint F m It is drawn as an arc extending to a point. (Note: The three arcs in (Figure 14) are drawn longer than those in the table for visual improvement, and the range of θ is drawn from 0 to approximately 2π, rather than from 0 to π).

[0128] As required in (Embodiment 3(4)), the three paths described above are, As u increases, S1, S2, and S3 travel along the path from starting points O1, O2, and O3 to ending point F. m Move in one direction without returning, and, A plane passing through three points S1, S2, and S3 moves such that it has no intersections. The expression must be set up to become a path. Clearly, a path that contradicts (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 ending point, but a plane passing through three points will not satisfy the condition because it is visually obvious that it will have an intersection point. A good way to determine a path is probably to find the path that minimizes the distance traveled from the starting point to the ending point. Such a shortest path on a sphere is a "geodesic," and the three arcs in (Figure 14) are indeed geodesics. Comparing (Figure 10), which uses a linear equation, with (Figure 14), which uses geodesics, the three arcs in (Figure 14) give the impression of being linear and mathematically sophisticated. When realizing utility functions with more than three variables, four or more variables, geodesics are likely to exhibit mathematically clear and easy-to-understand properties, or practical and convenient properties, and have considerable future potential. The user visually checks if 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 F m As you move toward a point, the plane will have no intersections and will be uniformly F m It is intuitively clear that the object is moving towards the point. Therefore, the test is passed.

[0129] Furthermore, there are conditions for determining the starting point. In Figure 16, all of the points ★1 to ★4 provided by the user must be located within a sphere cut by a plane passing through O1, O2, and O3. Looking at Figure 14, you can see that ★1 to ★4 are located within a sphere cut by a plane passing through O1, O2, and O3 if you imagine a semi-transparent sphere (although a sphere is difficult to draw in black and white, so it is not drawn). An example of a starting point that does not satisfy the conditions is one where the starting points are ▲13, ▲23, and ▲33 in (Figure 14). If the starting points were ▲13, ▲23, and ▲33 in (Figure 14) instead of O1, O2, and O3 in (Figure 14), then ★1 and ★2 would be outside the sphere cut at the starting point, and a function would be generated that cannot calculate the values ​​of the functions around ★1 and ★2, which is invalid.

[0130] The process of creating the equation for the geodesic path in (0124) is a step that did not exist for the two-variable functions in Examples 1 and 2. In the case of three variables, the paths along which a moving point moves are infinitely numerous, as it can move freely on the surface of a sphere. For this reason, the path cannot be determined by the equation for a sphere alone, such as (Equation 39), and it is necessary to add the geodesic equation (Equation 91) to define a single path. In the case of two variables, the path on a circle is determined by the equation for a circle (Equation 13), so there was no need to create an equation for the path.

[0131] This completes the initial setup related to the ball.

[0132] Next, the user begins the process of generating the contour plane portion shown in (Embodiment 4(1)). The user is the formula in (Equation 151) and (Equation 152) of (Embodiment 4). [Equation 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 as follows. Furthermore, the values ​​in columns p1, p2, and p3 of the row corresponding to optimal point number 1 in (Table 14), and the values ​​in column f1 of the row corresponding to optimal point number 1 in (Table 15) * ,f2 * ,f3 * f1 * ',f2 * ',f3 * Read the values ​​in column ' and, 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 (Equations 151) and (Equation 152) of (Embodiment 4), which are (Equations 94) and (Equation 95), and rearranging the terms, we obtain the first contour line equation of the optimal point corresponding to the numerical examples in (Table 14) and (Table 15). [Equation 96] f1 = -1.05f2 - 1.15f3 + 6.60 This is generated. This is recorded in the first row of (Table 18). Furthermore, by performing the same process for the second to fourth optimal points, (Table 18) is completed. The computable contour plane equations in (Table 18) are the specific form of (Equation 151) that is generated as a result of the process in (Embodiment 4(1)). [Table 18]

[0133] Next, the process of calculating the "coordinates of the intersection point" as referred to in (Embodiment 4(2)) begins. That is, the user calculates the coordinates S of the intersection point between the path equation in (Table 16) and the contour plane equation in (Table 18). a The process of calculating [the value] will now begin.

[0134] Read the contour plane equation for the row corresponding to optimal point number 3 in (Table 18) and write it out as (Equation 97). Furthermore, read the "path equations" for the rows S1, S2, and S3 in (Table 16) and write them out as functions that give f1, f2, and f3 coordinates as (Equation 98), (Equation 99), and (Equation 100). Also, read the unit vectors necessary for the calculations in (Equation 98), (Equation 99), and (Equation 100) from (Table 16) and write them out as (Equation 101) to (Equation 104). [Equation 97] Equation of the contour plane of the third optimal point: 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(θ²)e²)×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) [Math 102] e1 = ( 0.81, -0.40, -0.40 ) [Math 103] e² = (-0.40, 0.81, -0.40) [Math 104] e3 = (-0.40, -0.40, 0.81) The user, while looking at the above formula, 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 e of (Equation 98) m Substitute the unit vectors (Equation 101) and (Equation 102) into the equation, and scan the value of θ1 in (Equation 98) over the interval from 0 to π, so that the value of f1f2f3 satisfies the equation (Equation 97) for θ. 1, We search for f1, f2, and f3. Performing this calculation, (equation 98) is, [Number 105] θ1=1.06 In this case, the value of (number 98) is, [Number 106] (f 1, f 2, f3)=(49.72,-3.68,-3.68) This is calculated, and this makes (equation 97) true. Record this 1.06 and (49.72, -3.68, -3.68) in the top row of the third row of the optimal point in (Table 19). This represents the coordinates of the intersection point of the "contour plane equation of the third optimal point" and the "path of S1". Similarly, the coordinates of the intersection of (Equation 97) and (Equation 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 third row of the optimal point in (Table 19). This represents the coordinates of the intersection point between the "contour plane equation of the third optimal point" and the "path of S2". Similarly, the coordinates of the intersection of (Equation 97) and (Equation 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 for optimal point number 3 in (Table 19). This represents the coordinates of the intersection point between the "contour plane equation for optimal point number 3" and the "path of S3". [Table 19]

[0135] Applying the process in (0133) to the equations for optimal point numbers 1, 2, and 4 in (Table 18) completes (Table 19).

[0136] For reference, if we plot the intersection points S1, S2, and S3 shown as optimal point number 3 in (Table 19), we get ▲13, ▲23, and ▲33 in (Figure 14). Looking at (Figure 14), we can see that these are indeed points on the path, confirming that the coordinates were calculated as per the theory. Also, although the plane passing through the three points ▲13, ▲23, and ▲33 in (Figure 14) is not drawn, if you look closely at the figure, you can see that ★3 and ▲13, ▲23, and ▲33 are aligned in a straight line, so if you add a plane yourself and visualize it, you can be sure that the plane passes through ★3.

[0137] This completes the calculation of the intersection coordinates S1, S2, and S3.

[0138] Next, we begin processing the "moving points S1, S2, S3 that move according to u" as described in (Embodiment 4(4)). That is, we begin the process of creating a utility function by regression using the coordinates (angles) of the intersection points obtained in (Table 19).

[0139] Prior to this regression process, we first begin by creating Table 20, which is a rearrangement of Table 19. Table 20 is the same as Table 19, but it is presented in a way that is suitable for regression. If we extract only θ1 from (Table 19), from the top 1.45, 1.29, 1.06, 0.91 This is the result. This is then transcribed vertically into (Table 20). Similarly, extracting only θ2 from (Table 19), from the top... 1.48, 1.38, 1.26, 0.45 This is the result. This is then copied to (Table 20). Similarly, if we extract only θ3 from (Table 19), from the top... 1.55, 1.44, 1.38, 1.19 This is the result. Transfer this vertically to (Table 20). Furthermore, when the utility values ​​u=1,2,3,4 that the user initially assigned in (Table 14) are transferred to the right edge of the table, (Table 20) is completed. [Table 20]

[0140] Then, the user draws (Figure 15) using mathematical software based on (Table 20). The triangles (▲) in Figure 15 represent plots from Table 20, plotted as three separate graphs with θ1, θ2, and θ3 on the vertical axis and u on the horizontal axis. For example, triangle 21 in Figure 15 plots the values ​​of u and θ2 (1, 1.48) from the first row of Table 20 using the triangle.

[0141] The user determines the regression equation by looking at the sequence of numbers in (Table 20) and (Figure 15). Looking at (Figure 15), they decide that a cubic polynomial would be appropriate for the regression equation. [Equation 107] θ a =β0+β1u+β2u 2 +β3u 3 a=1,2,3 If we use this as the regression equation and generate β0 to β3 using the regression command in 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 [Equation 110] θ3(u) = 1.91 - 0.52u + 0.20u 2 -0.03u 3 This estimation formula is generated.

[0142] The important point is that, through the regression of (0140), θ1, θ2, and θ3 became functions of u. As a result, S1(θ1), S2(θ2), S3(θ3) The function of θ is obtained by combining S with the three equations above. a (θ a (u)) by, S1(u), S2(u), S3(u) This became a function of u. This S a (θ a ) is the “path formula”, S a (u) is "moving point S a This is the formula. Therefore, instead of the equation of the path, we use "moving point S". a To ensure that all equations are described without omission, (Table 21) is generated as a summary. (Table 21) is created by transcribing (Equations 108), (Equation 109), and (Equation 110) onto (Table 16), and when u is entered, the moving point S a Output the f1f2f3 coordinates. The f1f2f3 coordinates are, below, for representational reasons, (f 1, f 2, f3) not, (S 11 ,S 12 ,S 13 It is written as follows: For example, (S 11 ,S 12 ,S 13 ) represents the f1, f2, and f3 coordinates of the moving point S1. Table 21 is a concrete example of the numerically calculable formula for (Embodiment 4(4)) "moving points S1, S2, S3 that move according to u", and as shown in the embodiment, from the intersection coordinates u * It is generated using methods such as regression to a certain form. [Table 21]

[0143] Finally, the user begins the task of constructing the utility function from (Table 16) and (Equation 85).

[0144] As stated in (0141), the moving point S a The f1, f2, and f3 coordinates are (S a1 ,S a2 ,S a3 ) is written as. For example, (S 11 ,S 12 ,S13 The value of ) is obtained by inputting u=1 into the equation of S1(u) in (Table 21) and calculating it as f1f2f3 coordinates, (43.928 -16.887 -16.887) The output is this vector, (S 11 ,S 12 ,S 13 This is a concrete example of the value of ). The user constructs the equation of the f1f2f3 plane passing through three points S1, S2, and S3 from (Table 16). The equation of the f1f2f3 plane passing through the three points S1, S2, and S3 is long, so we will show it in five parts using mathematical formulas. [Math 111] g0 = g1f1 + g2f2 + g3f3, however [Math 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 ) [Math 115] g0=(g1S) 11 +g2S 12 +g3S 13 ) This is shown. These equations (111) to (115) are called contour plane equations. The user substitutes (Equation 85) into the terms f1, f2, and f3 of (Equation 111), [Number 116] g0 = g1 x 1 0.9 +g2x20.85 +g3x3 0.8 Let's assume that. Table 16 and equations 111 through 116 represent the utility functions. There are many character variables, making it difficult to understand, S 11 These variables are actually functions of u, and if we repeatedly substitute them, S 11 Variables such as g1 are eliminated, and the result is a single equation made up of trigonometric functions and polynomials where only u and x1, x2, and x3 are letter variables and the others are numerical. This is the utility function (in reality, an implicit function or a nonlinear equation) of (Embodiment 3). [Example 6]

[0145] Example 6 demonstrates the use of the utility function generated in Example 5, inputting x to it to output the value of u, and plotting the contour surface of the utility function. 'a' is where the legend, such as the moving point number, is written. Below, moving point S a The coordinates are f1f2f3 (S a1 ,S a2 ,S a3 ) is written as .

[0146] The user, as (Embodiment 3) (Number 150), [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 it. Furthermore, the sphere on the f1f2f3 plane in (Embodiment 3(1)) has a radius of 50. [Number 122] f1 2 +f2 2 +f3 3 =50 2 Let's assume that. Furthermore, the equations for the moving points S1, S2, and S3 in (Embodiment 3(2)) are prepared as equations (Equation 124) to (Equation 136) possessing the properties of (Embodiment 3(4)). Note that this is the same as (Table 21). [Number 124] (S 11 ,S 12 ,S 13 )={cos(θ1)e m +sin(θ1)e1}×50, [Equation 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, [Equation 130] θ² = 1.65 - 0.22u + 0.07u 2 -0.014u 3 [Math 131] e² = (-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, [Equation 134] θ3(u) = 1.91 - 0.52u + 0.20u 2 -0.03u 3 [Math 135] e3 = (-0.40, -0.40, 0.81) [Number 136] e m =(0.57, 0.57, 0.57) Let's assume that in the above equation, "e m The expression "=(0.57, 0.57, 0.57)" is written three times, and the symbol e m The fact that it appears three times is not important, so please interpret it appropriately. Also, the domain of the function is, [Number 137] 1 ≤ u ≤ 4 Therefore, (numbers 120) to (numbers 137) naturally contain many decimal values, and it is not possible for a user to create them as desired with just a little thought, so they were generated using 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 initiates processing related to moving points and planes in (Embodiment 3(3)). If we use high school mathematics to find the equation of the f1f2f3 plane passing through the three points S1, S2, and S3, we will naturally derive a linear equation of the form "β0 = β1f1 + β2f2 + β3f3" where β0 to β3 are constants. If we replace β0 to β3 in this linear equation with g0 to g3, [Math 138] g0 = g1f1 + g2f2 + g3f3, however [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 ) [Math 142] g0=(g1S) 11 +g2S 12 +g3S 13 ) This generates (Equations 138) to (Equations 142), which are contour plane formulas and an example of the process of "determining the values ​​of g0(u) to g3(u)" (Embodiment 3(3)). (Note: (Equations 138) to (Equations 142) are well known "formulas for a plane passing through three points"). Equations (120), (121), (124) to (142) represent the utility function, which is expressed by dividing it into 20 equations, but in practice it is 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 is unclear whether there is a solution, but in fact there is only one real number that satisfies u, and a numerical solution can be easily and reliably calculated using a nonlinear equation solver, etc. For this reason it can be used as a function u=F(x1,x2,x3). This is what is meant by "u=F(x1,x2,x3)" in (Embodiment 3(6)). However, such descriptions of utility function equations are for learning and presentation purposes and may not be coded as equations in implementations. In implementations, instead of writing (Equations 139) to (Equation 142) in the source code beforehand, it is also possible to use (Equations 124) to (Equation 136) to calculate the coordinates of the three points S1, S2, and S3, and then use the cross product command or simultaneous equation solving command of the mathematical 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 functions of the mathematical 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 as shown in (Table 14), u=2 was assigned 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 sets any value within the range 1 ≤ u ≤ 4 as the initial value of u. Here Initial value of u = 2.00 This was the setting. Since u=2.00 is also a solution, the explanation is somewhat simplistic. However, since the process of finding numerical solutions to equations through such iterative calculations can be done automatically with commands in mathematical software, only the procedure and results are shown. Entering the initial value u=2.00 into (Equation 124) to (Equation 136) and proceeding 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 output is as follows. Substituting the above nine values ​​into (Equation 138) to (Equation 142) would yield g1, g2, g3, and g0. However, in terms of implementation, it is simpler to not include (Equation 138) to (Equation 142) in the code. Instead, the equation of the plane passing through the three points can be obtained in one step using a system of equations solver in mathematical software, or using linear algebra tools such as the cross product command. f1 = -1.149 × f2 - 1.233 × f3 + 19.14 It outputs: Next, substitute (equation 121) into the above equation, [Number 143] x1 0.9 = -1.149 × x² 0.85 -1.233 × x3 0.8 +19.14 To obtain. Here, if, x1=10, x2=8, x3=5 If the utility value of u is correct at u=2.00, then the equation (Equation 143) should be true. If the equation is false, then u is not 2.00. Substituting x1=10, x2=8, x3=5 into (Equation 143), 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) The equation can be transformed in this way, and it can be confirmed that the above equation is true. Since this is true, we adopt u=2.00 as the value of F(x1,x2,x3) for x1=10, x2=8,x3=5 and output it.

[0150] If the equation (equation 143) is not true when x1=10, x2=8, and x3=5, select a value other than u=2.00, restart the process in (0148) from the beginning, and repeat the calculation for various u values ​​until the equality in (equation 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 show an example of plotting contour surfaces (indifference surfaces in economics), as shown in Figure 16. Looking at Figure 16, we can see that an indifference curve convex to the origin is beautifully drawn in wireframe. By implementing the present invention, a beautiful graph convex to the origin, as shown in Figure 16, can be drawn. This graph is made up of a sequence of numbers generated by the utility function realized by the invention. ●1 to ●4 are the optimal points, but looking at the sequence of the optimal points ●1 to ●4, it is not linear but nonlinear. Despite this nonlinearity, the contour surfaces shown in wireframe are guaranteed to have no intersections, and even if the number of contour surfaces drawn is increased from 4 to 100 or 200, a beautiful layer without intersections is formed. The process that generates the following (Figure 16) is an example of the "beautiful and precise contour surface graph" of (Embodiment 3).

[0153] As seen in (0112), when x1=10, x2=8, x3=5, (equation 143) holds. Therefore, the graph of (equation 143) can be drawn using the 3D drawing command of mathematical software. Solving (equation 143) for x1, [Number 144] x1 = (-1.149 × x2) 0.85 -1.233 × x3 0.8 (+19.14) 1 / 0.9 Therefore, by rendering this in 3D using mathematical software, a wireframe-like curved surface passing through ●2 in (Figure 16) can be drawn.

[0154] Then, the same process as in (0116) is applied to x1 to x3, which are the 1st, 3rd, and 4th optimal points in (Table 14). When contour surfaces are drawn using mathematical software, a surface convex with respect to the origin passing through ●1, ●3, and ●4 can be drawn. ●1 to ●4 in (Figure 12) are the optimal consumption points when the price is 1, and if the budget line is drawn appropriately, it will be drawn as a figure that is firmly tangent to the indifference surface.

[0155] The utility function in (Embodiment 3) was a complex equation containing trigonometric functions and polynomials, but once the value of u is determined, it becomes a simple linear additive equation as shown in (Equation 143). Therefore, the equation of the contour line for u becomes a simple equation with an additive structure, and often takes the form of x1 = ~ as shown in (Equation 144). As a result, the coordinates of x1, x2, and x3 can be calculated accurately, and the figure does not blur easily even when magnified. This can be considered a technical advantage.

[0156] <Overview of multivariable utility functions> The utility function for multiple variables is u = F(x1,…,x n It can be expressed as follows: Here, n is a natural number greater than or equal to 2. When n is greater than or equal to 4, utility functions with 4 or more variables can be realized. The utility functions for 2 variables (n=2) and 3 variables (n=3) are as described in Examples 1 to 6. Furthermore, the implicit function of this utility function is expressed as [number 200]. [Math 200] g0(u)=g1(u)f1(x1)+…g n (u)f n (x n )

[0157] First, generate the utility function, similar to Examples 1, 3, and 5. Note that detailed explanations of the formulas and calculation processes can be found in each example, so they are omitted in the following explanation. u = F(x1,…,x n If ) holds true, u * =F(x1 * , x2 * Assume that the following holds true. In this case, the input data is (x1 * ,…,x n * ,u * ,p1,…,p n ) will form a pair.

[0158] Next, we generate n-dimensional figures corresponding to n dimensions. An n-dimensional figure is a circle analogue in 2 dimensions, a sphere analogue in 3 dimensions, a hypersphere in 4 dimensions or higher, etc. The radius of the simplest n-dimensional figure is set to satisfy [Equation 201]. Note that [Equation 201] can be modified by setting coefficients for each term. In other words, n-dimensional figures are not limited to figures represented 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. Each of the n moving points has a starting point, a common ending point, and a path that represents the route between the starting and ending points. These points and paths can be derived using the same methods as in the 2D and 3D cases. Furthermore, a generated figure is created that passes through the n moving points. The generated figure corresponds to contour lines in the case of 2D and contour planes in the case of 3D, and can be said to be an (n-1)-dimensional figure.

[0160] Next, the intersection coordinates of the paths to n elements and the generated figure are calculated. In n dimensions, n intersection points are calculated. When n inputs are received for sets of input data, n sets of intersection coordinates are generated corresponding to each set of input data. The input data and their corresponding intersection coordinates may be associated as a dataset and temporarily stored in memory.

[0161] The computer performs regression processing on the dataset described above. Specifically, it performs regression processing on the input data from the first intersection coordinates. * Regression to the second intersection coordinate of the input data u * Regression to ... from the nth intersection coordinates of the input data u *We perform regression on the function. This generates n equations that express the coordinates of each intersection point in terms of the variable u. The generated equations are movement equations that represent the movement of each moving point according to the value of u. Using these movement equations, we can generate an n-dimensional multivariable utility function.

[0162] This section explains how to calculate the utility u using the generated utility function. Detailed formulas and calculation processes are omitted because they can be derived using the same methods as in Examples 2, 4, and 6.

[0163] First, the computer generates an n-dimensional geometric analogue containing an n-dimensional figure. It also generates n moving points that move through the n-dimensional figure, and a generated figure that passes through these n moving points. The generated figure may be expressed mathematically. The n-dimensional geometric analogue, moving points, and generated figure generated here can be those generated during the utility function generation process described above.

[0164] The computer generates the generated figure and f1(x1), ...f n (x n Based on ) and [Equation 200], g0(u) is an increasing function, g1(u) is a non-increasing function, ...g n Determine the value of (u). Introduce the determined value into [Equation 200] and use it in the subsequent derivation of utility u.

[0165] The computer accepts inputs x1, ..., x3. By inputting these values ​​into [Equation 200], a numerical solution for utility u is derived, and u = F(x1, ..., x n This allows us to output () . In this way, we can derive utility u even when there are multiple variables.

[0166] <Calculator> The present invention is programmed and executed on a computer. The computer is a so-called computer device, and has an arithmetic unit such as a CPU (Central Processing Unit) and a memory device. The computer device can function as mathematical software, a solver, and various calculation tools by executing a program stored in the memory device using the arithmetic unit. The computer device may consist of multiple computers, for example, a portion of a series of calculations may be distributed among multiple computers.

[0167] The memory device stores functions, various calculation formulas, and the results of calculations using them. The arithmetic unit (AGS) uses values ​​input by the user as variables for functions and calculation formulas, and obtains calculation results by executing those formulas. The AGS also performs tasks such as displaying screens for various software and tools, and graphing formulas and input values.

[0168] The following describes embodiments 1 to 4. [Embodiment 1] When the utility function is denoted as u=F(x1,x2), [Number 145] g0(u)=g1(u)f1(x1)+g2(u)f2(x2) A computing device equipped with a utility function that can be expressed as an implicit function, where f1(x1) and f2(x2) are real-valued functions, and this computing device is, (1) It has a circle on the f1f2 plane that encloses the range of values ​​of f1(x1) and f2(x2), (2) The above circle has two moving points (hereinafter S1 and S2) that move according to u, (3) The system includes a line (called a contour line) passing through the moving points S1 and S2 mentioned above, and a mechanism for determining the values ​​of g0(u), g1(u), and g2(u) in (Equation 145) from that line by mathematically equivalent transformations. (4) This device numerically finds the value of u that satisfies the above equation (Equation 145) for inputs x1 and x2 using a nonlinear equation solver or the like, and outputs it as the value of u = f(x1, x2). The above computer can be represented as shown in (Figure 2), and in (Figure 2), The circle in (1) above is a circle that can be represented as the 12 circles in (Figure 2), The function f1(x1) in (1) above can be expressed as curve 3, and f2(x2) can be expressed as curve 4. The moving points S1 and S2 in (2) above are moving points that can be represented as "S1" and "S2" in (Figure 2), and can be represented as moving points that move on the circle 12, with S1 moving counterclockwise and S2 moving clockwise toward point F in (Figure 2) as u increases. The contour lines in (3) above are lines that can be represented as lines passing through "S1" and "S2", such as line 1, line 2, and line 10. The phrase (4) above, "f1 and f2 satisfy the contour lines," means that when the coordinates of the values ​​of f1(x1) and f2(x2) are expressed as point 5, the u values ​​are not such that they form lines 2 or 10, but rather that the contour line passes through point 5, like line 1. Furthermore, the circle in (1) above includes not only perfect circles but also ellipses, and broadly includes anything other than ellipses that can be reduced to a circle through mathematical value transformations. For example, other than ellipses, there are polygons and circles with a distance of p². Also, circles do not necessarily have to be closed, and include those that have a start point and an end point. Consequently, it includes all paths (referred to as "paths" in the text) in which two contour lines corresponding to different u do not intersect with each other. Circles are used to describe embodiments simply because they are the easiest to handle when they represent "paths (referred to as "paths" in the text) in which two or more contour lines corresponding to different u do not intersect with each other". A computing device that realizes a two-variable function like u=F(x1,x2) using the method described above, or an image generation device that generates numbers or draws beautiful contour maps based on the realized two-variable function. [Embodiment 2] (1) When the utility function of Embodiment 1 is generally taken as u=F(x1,x2), the computing device of the invention, u * =F(x1 * , x2 * ) x1 is assumed to hold true. * , x2 *,u * , and, taking p1 and p2 as input data, this is a mathematical formula shaping calculator that generates the utility function of Embodiment 1 based on these, The above computing device includes, This is the equation of a straight line (contour line) on the f1f2 plane. [Equation 146] β1(f1-f1(x1 * ))+β2(f2-f2(x2 * ))=0 It is equipped with (number 146), and f1(·) and f2(·) are real-valued functions provided 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 this (number 147) p k , is the above utility function u * For the contour lines (indifference curves in economics) of x1 and x2 that satisfy =F(x1,x2), point (x1 * , x2 * The equation of the tangent line in ) [Number 148] p1(x1-x1 * )+p2(x2-x2 * )=0 The input should be something that can be interpreted as p1 and p2. (Note) Equation (146) is generated as a linear expression such that, as a mathematically natural consequence, only f1 and f2 are letter variables, and all other terms are numerical based on the values ​​of the input data. (Note) In economics (or mathematical optimization), p k is x k This can be interpreted as the price of x1 * , x2 * This can be interpreted as the optimal point, and (equation 148) corresponds to a budget constraint line passing through the optimal point, or what can be interpreted as a cost equation. (2) In addition to the above, this molding device has an equation for a circle on the f1f2 plane whose radius is numerically determined by the user. [Number 149] f1 2 +f2 2 =radius It is equipped with f1(x1 * ) 2 +f2(x2 * ) 2 Determine the radius such that it is less than or equal to the radius. This device is equipped with a mechanism that calculates the coordinates (measurement method is arbitrary, such as Cartesian coordinates or polar coordinates) of the intersection point between the circle (equation 149) and the contour line (equation 146) above. Hereafter, the coordinates of the intersection point calculated by this mechanism will be denoted as S1 and S2. (Note) However, the above circle (number 149) is a perfect circle, but it broadly includes ellipses and other shapes similar to circles. (3)(x1 * , x2 * ,u * When n data pairs of ,p1,p2) are input, the process of generating n S1 and S2 is performed by repeating (1) and (2) n times (including equivalent processes with the loop order reversed). (4) n S1 and S2 and n u generated in (3) above * Using this, from S1 to u * Regression to, and from S2 to u * A mathematical formula shaping device that generates numerically calculable equations for the "moving points S1 and S2 that move according to u" in Embodiment 1, by methods such as performing regression, thereby enabling the generation of a specific mathematical formula for the utility function of Embodiment 1 in a form desired by the user. [Embodiment 3] When the utility function is denoted as 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) is an implicit function. k (x k It is a computing device equipped with (k=1,2,3 values ​​are real numbers), The computing device, (1) It has a sphere in the f1f2f3 space that encloses the range of values ​​of f1(x1), f2(x2), and f3(x3), (2) The above sphere has three moving points (S1, S2, S3) that move as u increases, (3) The system is equipped with a mechanism that generates the equation of the plane passing 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 that contour plane. (4) The paths (called paths) of the three moving points S1, S2, and S3 described in (2) above are paths that are appropriately set so that the contour planes formed from different u do not intersect with each other. As illustrative examples, the three arcs in (Figure 9) and (Figure 14) are examples of such paths. The spheres in (1) above include not only perfect spheres but also ellipsoids, polyhedra, and other shapes. Consequently, any shape that does not intersect with each other, as described in (4), can be included, even if it is not a perfect sphere. A computing device that realizes a three-variable function such as u=F(x1,x2,x3) using the method described above, or a device that generates numbers based on the realized three-variable function, or generates images of beautiful and precise contour surface graphs based on these numbers. Furthermore, an extension of the above three variables to four or more variables is also included in Embodiment 3. [Embodiment 4] (1) When the utility function of Embodiment 3 is generally defined as u=F(x1,x2,x3), the computing device of the invention, u * =F(x1 * , x2 * , x3 * ) x1 is assumed to hold true. * , x2 * , x3 * ,u * , and, taking p1, p2, and p3 as inputs, this is a calculation device for generating mathematical formulas that process these inputs to generate the utility function of Embodiment 3. The above computing device is, This is the equation of the f1f2f3 plane (hereinafter referred to as the contour plane equation). [Equation 151] β1(f1-f1(x1 * ))+β2(f2-f2(x2 * ))+β3(f3-f3(x3* ))=0 It is equipped with (number 151) f1(·), f2(·), f3(·) which are user-provided functions, 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 this (number 152) p k , is the above utility function u * For a contour plane (an indifference surface in economics) of x1, x2, x3 that satisfies =F(x1, x2, x3), the point (x1 * , x2 * , x3 * The equation of the tangent plane in ) [Number 153] p1(x1-x1 * )+p2(x2-x2 * )+p3(x3-x3 * )=0 These are p1, p2, and p3 in that case. (Note) Equation (151) is generated as a linear expression such that, as a mathematically natural consequence, only f1, f2, and f3 are letter variables, and all other terms are numerical based on the values ​​of the input data. (Note) In economics, p k is x k This can be interpreted as the price of x1 * , x2 * , x3 * This can be interpreted as the optimal point, and (equation 153) corresponds to a budget constraint equation or cost equation that passes through the optimal point. (2) In addition to (1) above, the calculation device is a sphere on the f1f2f3 plane whose radius is numerically defined by the user. [Number 154] f1 2 +f2 2 +f3 2 =radius 2 Therefore, the radius above is f1(x1 * ) 2 +f2(x2 * )2 +f3(x3 * ) 2 This computing device is defined such that the radius is ≤ and has three paths (hereinafter referred to as "paths") on a sphere of (Equation 154) through which the moving point used in Embodiment 3 passes. The mathematical formula that represents these paths is called the "path formula". This device calculates the coordinates of the intersection points of the three path equations in (2) above and the plane (equation 151) in (1) above. Since there are three calculated intersection points, their coordinates (expressed as Cartesian coordinates, polar coordinates, etc.) will be denoted as S1, S2, and S3 below. (3)(x1 * , x2 * , x3 * ,u * This device takes only n data pairs (n≧2) of type p1, p2 as input, and performs steps (1) and (2) n times to generate n S1, S2, S3. (4) n S1, S2, S3 and n u generated in (3) above * Using this, from S1 to u * Regression to, and from S2 to u * Regression to, and from S3 to u * A computing device that generates specific mathematical formulas that can output the numerical values ​​of the utility function g0(u), g1(u), g2(u), g3(u) of (Embodiment 3) by generating numerically calculable formulas for the "moving points S1, S2, S3 that move according to u" as referred to in (Embodiment 3), by methods such as performing regression to . Furthermore, an extension of the above three variables to four or more variables is also included in Embodiment 4.

Claims

1. Consumption of goods x n A computing device that calculates a utility function represented by the utility u perceived by a person, A device comprising a memory device and a computing device, The aforementioned memory device has a utility function of u = F(x 1 , x 2 When this is the case, it can be expressed as an implicit function [Equation 145], and f 1 (x 1 ), f 2 (x 2 ) stores the utility function, which is a real-valued function, The aforementioned computing device is f 1 (x 1 ) and f 2 (x 2 ) to enclose the value range of f 1 f 2 Generate a circle-like object including circles and ellipses on the f-plane (1) process, A first moving point S that moves on the aforementioned circle-like object, and moves according to the value of u. 1 and the second moving point S 2 (2) The process of generating, The first moving point S 1 and the second moving point S 2 (3) A process to generate contour lines passing through, The aforementioned contour lines and f 1 (x 1 ), f 2 (x 2 Based on this, g in the implicit function 0 (u), g 1 (u), g 2 The process of determining the value of (u) (4), x 1 and x 2 The system accepts the input, derives a numerical solution of utility u that satisfies the implicit function, and u = f(x 1 , x 2 (5) The process of outputting as the value of ) and the process of executing, The processing in (2) above sets the starting point of the first moving point, the starting point of the second moving point, and the ending point common to the first and second moving points, 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 the opposite direction to the first direction from the starting point to the ending point of the second moving point as the utility u increases, the computing device. [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 equations of contour lines passing through the first and second moving points, which are moving points whose value corresponds to u.

2. The aforementioned storage device is The equations of the aforementioned contour lines are [Equation 146], [Equation 147], [Equation 148], and f 1 f 2 Memorize the equation for a circle on a plane [Equation 149], The aforementioned computing device is u * = F(x 1 * , x 2 * In the case where (x 1 * , x 2 * , u * , p 1 , p 2 It accepts input data that has a set of ) f 1 (x 1 * ) 2 +f 2 (x 2 * ) 2 Accepts input of a radius such that ≤ radius, The first and second coordinates, which are the two intersection points of the circle and the contour lines, are calculated. When n inputs are received for the aforementioned set of input data, n sets of the first coordinate and the second coordinate corresponding to each set of input data are generated. From the first coordinate, the input data u * Regression to and the input data u from the second coordinate * By performing regression to , a first equation expressing the first coordinate in terms of the variable u is generated, and a second equation expressing the second coordinate in terms of the variable u is generated. The first equation above gives the first moving point S depending on the value of u. 1 The second equation represents the movement of the second moving point S depending on the value of u. 2 A calculating device according to claim 1, which represents the movement of [something]. [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 are the prices of the assets, represented by [Equation 148], and the f of [Equation 146] 1 (·), f 2 (·) is a real-valued function, and the values of β 1 and β 2 are represented by [Equation 147].

3. Consumption of goods x n A computing device that calculates a utility function represented by the utility u perceived by a person, A device comprising a memory device and a computing device, The aforementioned memory device has a utility function of u = F(x 1 , x 2 , x 3 When this is the case, it can be expressed as an implicit function [number 150], and f 1 (x 1 ) ~ f 3 (x 3 ) stores the utility function, which is a real-valued function, The aforementioned computing device is f 1 (x 1 ), f 2 (x 2 ), f 3 (x 3 f enclosing the range of values ​​of ) 1 f 2 f 3 (1) A process that generates sphere analogues including perfect spheres and ellipsoids in space, A moving point that moves on the spherical surface of the aforementioned sphere-like object, wherein three moving points (S) move according to the value of u. 1 , S 2 , S 3 (2) process to generate ) and The three moving points (S 1 , S 2 , S 3 (3) A process to generate an contour plane which is a plane passing through ) The aforementioned contour plane and f 1 (x 1 ), f 2 (x 2 ), f 3 (x 3 Based on this, g in the implicit function 0 (u), g 1 (u), g 2 (u), g 3 The process of determining the value of (u) (4) x 1 , x 2 , x 3 The system accepts the input, derives the value of utility u that satisfies the implicit function, and u = f(x 1 , x 2 , x 3 (5) The process of outputting as the value of ) and the process of executing, The process described in (2) above is a calculation device that sets a starting point for each of the three moving points, a common ending point for each of the moving points, and a path which is the movement path from the starting point to the ending point, and as utility u increases, each moving point moves from the starting point to the ending point according to the path. [Number 150] g 0 u = g 1 uf 1 x 1 ) + g 2 uf 2 x 2 ) + g 3 uf 3 x 3 ) g 0 (u), g 1 (u) ~ g 3 (u) is a real-valued function calculated based on the equation of the contour plane passing through the first to third moving points, which are moving points whose value corresponds to u.

4. The aforementioned storage device is The equations for the aforementioned contour planes are [Equation 151], [Equation 152], [Equation 153], and f 1 f 2 f 3 The equation of a sphere on a coordinate system, [Equation 154], is memorized, The aforementioned computing device is u = F(x) 1 , x 2 , x 3 In the case where (x 1 * , x 2 * , x 3 * , u * , p 1 , p 2 , p 3 It accepts input data that has a set of ) f 1 (x 1 * ) 2 +f 2 (x 2 * ) 2 +f 3 (x 3 * ) 2 The input accepts a radius such that ≤ radius, and three paths that represent the routes of the three moving points. The first, second, and third coordinates, which are the three intersection points of the path set on the spherical surface of the sphere and the equicontour plane, are calculated. When n inputs are received for the aforementioned set of input data, n sets of the first coordinate, second coordinate, and third coordinate corresponding to each set of input data are generated. From the first coordinate, the input data u * Regression to the input data u from the second coordinates mentioned above. * Regression to the above third coordinate and the input data u * By performing regression to , a first equation expressing the first coordinate in terms of the variable u is generated, a second equation expressing the second coordinate in terms of the variable u is generated, and a third equation expressing the third coordinate in terms of the variable u is generated. The first equation above gives the first moving point S depending on the value of u. 1 The second equation represents the movement of the second moving point S depending on the value of u. 2 The third equation represents the movement of the third moving point S depending on the value of u. 3 A calculating device according to claim 3, which represents the movement of [something]. [Number 151] β 1 (f 1 - f 1 (x 1 * )) + β 2 (f 2 - f 2 (x 2 * )) + β 3 (f 3 - f 3 (x 3 * ) = 0 [Number 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 This is the price of the good, represented by [number 153], and f [number 151] 1 (・), f 2 (・), f 3 (•) is a real-valued function, and β 1 and β 2 and β 3 The value of is represented by [number 152].

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