METHODS FOR VISUALIZATION AND ANIMATION OF N-DIMENSIONAL DATA

Abstract: A visualization method for N-dimensional data includes steps for creating N rays radiating from an origin, each of the N rays being independently dimensioned, distributing the N-dimensional data representing M solution vectors onto the N rays, respectively, and connecting the data corresponding to the M solution vectors to thereby generate M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. According to one aspect of the inventive method, the origin is a point; alternatively, the origin can be a line. When the origin is a point, the N rays are angularly separated from adjacent ones of the N rays by 360E/N. A memory storing a computer readable instruction set for converting a general purpose computer into an N-dimensional data visualization system is also described.

Description: METHODS FOR V ISUALIZATION AND ANIMATION OF N-DIMENSIONAL DATA BACKGROUND OF THE INVENTION The present invention relates generally to visualization methods. More specifically, the present invention relates to methods for visualization and animation of multidimensional (N-dimensional) information. The present invention also relates to software for converting a general purpose computer into a multi-dimensional data visualization system. Problem solutions involving N-dimensional information (herein after N- dimensional data) are appearing with increasing frequency in today's technological society. Examples of information spanning N-dimensions are: (1) Information in a real-estate database, where each house has a plurality of attributes, e.g., number of bedrooms, cost, garden area, garage stalls, distance to commuter trains, etc.; (2) Information in a movie database, where each movie has a plurality of attributes, e.g., genre, actor, actress, director, language, country of origin, popularity rating, etc.; and (3) Information representing the solution to a complex multi-objective optimization problem, where each problem aims to optimize multiple objectives in some problem domain, such as, manufacturing, scheduling etc. It will be appreciated that the examples of information presented immediately above represent two distinct applications for N-dimensional data. More specifically, items (1) and (2) represent applications where each of the attributes stored in a database can be thought of as a dimension, along which a house item or a movie item could take different values. With respect to item (3), that application applies to efforts to understand the resultant "solution," which might not be an optimal solution, to a problem which is multidimensional, with each objective representing a dimension. It will be noted that often a single solution to this problem is a collection of values, with a single value associated with each objective, i.e., each dimension. For example, the design of machines with complex surface structures, e.g., the bodies of automobiles and airplanes, often involves the testing of millions, sometimes hundreds of millions, of possible solutions in order to arrive at an optimal solution. For example, given ten possible colors which can be used to construct a camouflage paint scheme having 4000 distinct panels, each panel having an assigned color, it would be necessary to examine 10" 000 possible solutions in an attempt to determine the color scheme providing the least visibility in a predetermined environment. While the number and types of problems employing N-dimensional data have increased in recent years, methods of formatting this N-dimensional (N > 3) data for subsequent visualization in 2-dimensions have not kept pace with the techniques for analyzing the N- dimensional data. For example, Figs, la-lc are alternative graphical presentations of a real estate database containing typical housing parameters including number of bedrooms (bed), number of bathrooms (bath), number of garage bays (G), etc. Each house in the database is termed a permutation, i.e., PERI, PER2, etc., for ease of reference. From Figs, la-lc, two facts will become apparent. First, it is possible for the near optimum solution included in the figures to be masked by the data for the less optimum solutions, i.e., the near optimum solution can become lost in the noise. Second, assuming that each characteristic has an associated dimension, e.g., access to public transportation (PT), the data from the database must be constrained so that all of the data will "fit" the dimensions of the presentation. While it is possible to scale many of the dimensions so that they will fit into the presentation framework, e.g., display distance to PT in terms of kilo yards or tenths of a mile so that it will integrate with a display of BED and BATH, the family searching for the proverbial vine-covered cottage with a white picket fence in any one of three school zones will be poorly served by this presentation. In other words, the axial dimension of a typical display of N- dimensional data is common to all data, irrespective of whether the common dimension is suitable for any particular dimensional data. Algorithms such as genetic algorithms (Gas) attempting to solve problems with multiple objectives have been greatly refined while methodology for displaying the results produced by these algorithms has lagged far behind. For example, the article by W. Shine and C. Eick entitled "Visualizing the Evolution of Genetic Algorithm search processes" (Proceedings of 1997 LEEE Conference on Evolutionary Computation), describes a GA visualization environment that employs quadcodes to generate search space coverage maps and that maps a point in N-dimensional space to a point on a plane in 2-D space. The article also describes, in addition to the use of 2-D distance maps to visualize convergence of solutions, the use of contour maps in visualizing the fitness of solutions. While such solutions may be workable, they cannot possibly be considered to be intuitive in their presentation of the solutions generated by a GA. What is needed is a methodology for displaying the parameters applied to multi- objective optimization problems. What is also needed are methods for displaying any information, e.g., items in databases, search engine queries, etc., which span N-dimensional spaces. Moreover, what is needed is a methodology for displaying N-dimensional data where each objective or characteristic can be presented or displayed using an independently assigned dimension. SUMMARY OF THE INVENTION Based on the above and foregoing, it can be appreciated that there presently exists a need in the art which overcomes the above-described deficiencies. The present invention was motivated by a desire to overcome the drawbacks and shortcomings of the presently available technology, and thereby fulfill this need in the art. The objects, features and advantages according to the present invention are provided by a visualization method for N-dimensional data, comprising creating N rays radiating from an origin, each of the N rays being independently dimensioned, distributing the N-dimensional data representing M solution vectors onto the N rays, respectively, and connecting the data corresponding to the M solution vectors to thereby generate M respective N- sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. According to one aspect of the inventive method, the origin is a point; alternatively, the origin can be a line. When the origin is a point, the N rays are angularly separated from an adjacent one of the N rays by 360E/N. An additional axis, i.e., a separation axis, can be used to distribute the M solutions for ease of comprehension. The separation axis advantageously can represent time. This is particularly advantageous when the M solution vectors are subdivided into R groups of the M solution vectors, with each of the R groups of the M solution vectors being distributed along a time axis. It will be noted that one exemplary case where this specific visualization method would be particularly beneficial arises when the N-dimensional data is generated by a genetic algorithm. Other objects, features and advantages according to the present invention are provided by a visualization method for N-dimensional data that includes steps of generating the N-dimensional data, creating N rays radiating from an origin, each of the N rays being independently dimensioned, distributing the N-dimensional data representing M solution vectors onto the N rays, respectively, and connecting the data corresponding to the M solution vectors to thereby generate M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. In an exemplary case, the M solution vectors comprise R generations of N-dimensional data generated by a genetic algorithm. Additional objects, features and advantages according to the present invention are provided by a memory storing a computer readable instruction set for converting a general purpose computer into a N-dimensional data visualization system. Preferably, the instructions permit the computer to create N rays radiating from an origin, each of the N rays being independently dimensioned, to distribute the N-dimensional data representing M solution vectors onto the N rays, respectively, and to connect the data corresponding to the M solution vectors to thereby generate M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. Additional instructions advantageously can be provided either to distribute the M solution vectors along a separation axis, or to execute a genetic algorithm to thereby generate the N-dimensional data. It will be noted that all of the instructions can be performed on the computer during a single work session. BRIEF DESCRIPTION OF THE DRAWINGS These and various other features and aspects of the present invention will be readily understood with reference to the following detailed description taken in conjunction with the accompanying drawings, in which like or similar numbers are used throughout, and in which: Figs, la, lb, and lc are alternative graphical presentations of data found in a typical real estate database; Fig. 2 illustrates the spider visualization technique according to the present invention applied to a problem having eight dimensions; Fig. 3 is a graphical illustration of crossover of two trial sets in accordance with a standard Genetic Algorithm (GA) optimizer; Fig. 4 is a graphical illustration of mutation of a trial set in accordance with the standard GA optimizer; Fig. 5 illustrates the spider visualization technique according to the present invention applied to a problem having five dimensions wherein the M solution vectors are separated from one another along an additional axis (dimension); Fig. 6 is a high level flowchart delineating the step for creating a N-dimensional information display according to the present invention; and Fig. 7 is a high level block diagram of a general purpose computer system which can be converted into a special purpose computer system by software instructions according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Illustrative embodiments and exemplary applications will now be described with reference to the accompanying drawings to disclose the advantageous teachings of the present invention. While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those having ordinary skill in the art and access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility. The methods for visualization and animation of N-dimensional information according to the present invention delineate processes for mapping of information in a N- dimensional world to a 2-dimensional format suitable for presentation on either a sheet of paper or the screen-space of a computer display. The N-dimensional visualization method according to the present invention can best be understood by considering a 2-dimensional infinite plane in space. A finite window into this infinite plane forms a postulated sheet of paper or the window on a computer screen. It will be appreciated that this sheet or window is where the N-dimensional data will be displayed. An origin, e.g., a point in the center of the window, is then determined, and a plurality of semi- infinite rays emanating from this point, one for each dimension in the data, are drawn. It will be appreciated that the N semi-infinite rays are distributed around the point such that the angle between any two dimensional rays is the same, i.e., the angular spacing of the rays is equal to 360E divided by N, where N is the number of dimensions. It will be appreciated that along each dimensional ray, one can represent values, i.e., real numbers or even abstract numbers, corresponding to that dimension. Preferably, points closer to the origin, e.g., the central point, can be considered to be zero, in the case of numbers, or the beginning of the alphabet or some other relevant metric, in the case of text-based information. Advantageously, points that are farther away from the central point along each respective dimensional ray have higher positive (or lower negative) values. It should be mentioned that positive and negative values can be represented on the same line and may be differentiated using color. It will be appreciated that a solution to the optimization problem is encoded in terms of the values with respect to each objective in the problem. In the visualization of the solution, a point is marked off on each dimension ray corresponding to the value in the solution with respect to that objective. All of these points advantageously can be connected with straight lines from ray-to-ray to form a N-sided polygon, where N is the number of dimensions of the problem solution that the user is trying to visualize. Since this visualization resembles a spider web, the visualization technique will hereinafter be referred to as the spider visualization technique. Advantageously, the spider visualization technique provides the user with an immediate feedback, i.e., a readily discernable visual indication, on which solution is better than the other possible solutions with respect to a particular objective. Fig. 2 illustrates the spider visualization technique according to the present invention applied to a problem having eight dimensions. In Fig. 2, the circle marked C, in the center, represents the center of the window. The rays labeled Dl . . . D8 represent dimensions 1 through 8 for a sample problem. The gray circles represent values corresponding to each objective (dimension), which make up the solution SI for a multi-objective optimization problem. Similarly, the black circles represent another solution S2 for the same problem. It will be appreciated that the two solutions can easily be compared from the visualization. For example, if the problem is to maximize the values in all dimensions, it will be appreciated that solution SI is better than solution S2 in dimensions Dl, D3, D5 and D7, while solution SI does poorly compared to solution S2 in dimensions D2, D4, D6 and D8. In the exemplary case under discussion, it will be noted that the N-sided polygon with the larger "area" identifies which solution is better than the others, i.e., it represents the optimal frontier for the optimization problem. It should be mentioned that in the exemplary case illustrated in Fig. 2, all of the dimensions (objectives) are weighted equally in terms of their respective contributions toward the final solution. However, in many problems, the contribution of each dimension can be quite different. This is accounted for in the spider visualization technique by simply scaling the values on each dimension ray according to their weights. It will be appreciated that this scaling distorts the N-sided polygon representation of the solution as compared to polygons formed with equal weights assigned to all of the dimensions. The assigned weights advantageously can be displayed on the dimension rays so that the user is reminded of the relative contributions of each dimension. The visualization of the weighted solutions gives the user another tool to adjust the relative weights of the dimensions without having to run the optimization algorithm again to visualize the solutions with changed weights. It should also be mentioned that Fig. la depicts a situation where all of the rays have a common dimension, e.g., 0.0 - 5.0. In contrast, for the N-dimensional solution vectors S 1 and S2 in Fig. 2, each of the rays is independently dimensioned. Thus, the present invention is not constrained by the necessity of converting the N-dimensional data corresponding to M solution vectors into numerical values which fit with a single numerical range and which can only be interpreted by the user with the aid of lookup tables. Thus, the spider visualization technique is a very compact and efficient way to represent N-dimensions in 2-dimensions. It will be appreciated that visual clarity can be maintained through the use of colors, and/or different markers, e.g., circles, triangles, etc., for each solution, even when the number of solutions to be shown is much greater than the two solutions SI and S2 depicted in Fig. 2. As mentioned above, Genetic Algorithms (GAs) are often applied to N- dimensional problems, i.e., problems with multiple objectives. A GA is an adaptive heuristic search algorithm based on the evolutionary ideas of natural selection and genetics. GAs can be thought of as exploiting a random search technique which advantageously can be used to solve an optimization problem. It will be noted that GAs are randomized, not random; GAs exploit historical information to direct the search into regions of better performance within the total search space, where the term search space denotes the range of possible results of a process combined with the range of possible parameters. Stated another way, the search space encloses all possible vectors produced by an objective function responsive to all possible variables. One fundamental feature of all GAs it that they are designed to simulate the processes in natural systems necessary for evolution, specifically "survival of the fittest." Thus, GAs are based on an analogy with the genetic structure and behavior of chromosomes within a population of individuals according to a limited number of rules. More specifically, GAs are governed by the following rules: (A) Individuals in a population compete for both resources and mates; (B) Those individuals which are most successful at each stage of competition, i.e., each generation, will produce more offspring than those individuals who perform poorly; (C) Genes from 'successful' individuals, i.e., successful solutions to the problem at hand, propagate throughout the population; (D) Two good parents will sometimes produce offspring that are better than either parent; (E) Mutations are introduced into the population to maintain the diversification of the search, i.e., to cover the entire search space to the maximum extent possible; and (F) Each successive generation will become more suited to the environment, i.e., the particular problem for which the population was designed. It should be noted that the GA first requires that a complex problem be well defined so that it can be converted into a digital problem statement. Multiple trial solutions are then evolved, evaluated and ranked. The best solutions are used to breed the next generation, and the process continues. The designs evolve as the cycle repeats. In a GA, a population of individuals are maintained, each individual representing a possible solution to a given problem. Each individual generally contains one chromosome (variable string) composed of genes (each representing an individual variable, i.e., the site where the assigned variable value is stored); a chromosome (solution) is composed of several genes (variables). A fitness score is assigned to each solution representing the ability of each individual in the population to "compete" with respect to all other individuals in the population. The selective "breeding" of the individuals in the population with the highest fitness values is performed to, hopefully, produce "offspring" which are better than their parents as a result of combining information from the chromosomes of the parents. It will be appreciated that the GA maintains a population of M chromosomes (solution vectors) with associated fitness values. Parents, i.e., members of the present generation, are selected to mate, on the basis of their fitness, producing offspring via a reproductive plan, thus populating the succeeding generation. Consequently, highly fit solutions are given more opportunities to reproduce, so that offspring inherit characteristics from each parent. As parents mate and produce offspring, room must be made for the new arrivals since the population is kept at a static size. Individuals in the population die and are replaced by the new solutions, eventually creating a new generation once all mating opportunities in the old population have been exhausted. In this way it is hoped that, over successive generations, better solutions will thrive while the least fit solutions will fade into oblivion. Advantageously, new generations of solutions are produced containing, on average, more good genes than a typical solution in a previous generation. Each successive generation will contain more good 'partial solutions' than previous generations. Eventually, once the population has converged and is not producing offspring noticeably different than those in previous generations, the algorithm itself is said to have converged to a set of solutions to the problem at hand. Preferably, the GA has associated with it a fitness function, i.e., the objective function, which compares the solutions which are being optimized. Given a particular chromosome x, a single fitness value f(x) can be calculated to indicate the 'utility' of the solution or how well that individual solves the particular problem at hand. In addition, a reproductive plan for redistributing genetic material contained in the population is also a fundamental feature of the GA. Advantageously, the reproductive plan is composed of three parts: (a) reproduction; (b) crossover control; and (c) mutation rate. Reproduction describes the selection process for choosing parents for mating purposes. During reproduction, individuals are chosen to be parents and are subsequently recombined to produce offspring for the next generation. Parents are selected using a scheme that favors the fitter individuals, giving good solutions a higher probability of selection than those solutions that do not perform as well. Better solutions are more likely to mate several times and poor solutions are more likely to mate seldom if at all. Thus, a mating pool is formed. It will be appreciated that only those solutions that are in the mating pool will have their genetic information recombined via the techniques of crossover and mutation, which techniques are discussed in detail immediately below, to produce offspring for the next generation. The manner in which individuals are selected for the mating pool is determined by the reproductive operator. Crossover defines the process of recombining genetic information from two parents to produce offspring with characteristics from both. Two individuals, chosen at random from the mating pool, reproduce, by means of a crossover operator, to generate a number of offspring. The standard example of a crossover technique is single-point or simple crossover. In this crossover scheme, each parent has their chromosome cut at a randomly selected position and the tail chromosome segments are swapped to produce two new offspring. See Fig. 3. The mutation process makes random changes to the offspring to maintain diversification throughout the search. Mutation is a reproductive operator which is applied, after crossover, to each offspring. It provides a small amount of random search in the GA process, thereby ensuring that all points in the search space can be reached. Simple mutation is the usual operator applied for binary coding, whereby each child has a gene altered with some small probability p(m), generally of the order 0.01. The alteration of a gene amounts to "flipping" the value at a given position in the gene when represented as a binary number (either a "0" flips to a " 1 " or a " 1 " flips to a "0"). In systems which are not binary, a random number generator or the like can be used to select the variable value for the 'gene' selected for mutation. The concepts of crossover and mutation can best be understood by referring to Figs. 3 and 4. In particular, Fig. 3 illustrates crossing (or crossover) between two sets 31 and 44. The set 31 includes six process parameters 30, 32, 34, 36, 38 and 40 for a process. In this example, set 31 is crossed with another set 44 containing process parameters 46, 48, 50, 52, 54 and 56. Each set contains different values for the same process parameters. With crossover, two additional sets 58 and 60 are generated by mixing the values for the parameters of the crossed sets. Moreover, Fig. 4 illustrates an example of mutation of the set 31 into a set 42. A value (e.g., "A") is provided for each parameter (e.g., 30). An additional set is generated by changing (mutating) at least one of the parameters of set 31. In this example, parameter 32 has been changed. By the process of mutation, for each mutated set, one additional set is obtained. In the discussion above, it was asserted that the operations of reproduction, crossover, and mutation permit the GA to converge, over successive generations, toward the global (or near global) optimum, i.e., one or more near optimal solutions. Why these simple operators should produce a fast, useful, and robust technique is largely due to the fact that GAs combine direction and chance in the search in an effective and efficient manner. This is achieved by building new solutions from the best partial solutions of previous generations in a randomized manner. Since populations implicitly contain much more information than simply the individual fitness scores, GAs combine the good information "hidden" in one solution with good information from another solution to produce new solutions with good information inherited from both parents, inevitably (hopefully) leading toward an optimal or near-optimal solution. It should be mentioned that the theory of GAs is still largely based on the original work by John H. Holland, which deals with the basic GA paradigms of reproduction, crossover, and mutation with respect to binary coding. A GA operates as an iterative algorithm attempting to find the global optimum, both exploring the unknown areas in the search space and exploiting knowledge of the space searched so far in order to find better solutions. These two contradictory requirements have been theoretically shown by Holland to be optimally combined by a GA so that both aspects are simultaneously satisfied. The ability of the algorithm to explore and exploit simultaneously, as evidenced by a growing amount of theoretical justification and successful application to a host of real-world problems, strengthens the conclusion that GAs are a powerful, robust optimization technique. U.S. Patent Nos. 4,697,242 and 4,881,178, both to Holland et al., which patents are incorporated by reference herein, describe the GA in detail. However, it will be noted that these references depart from a standard GA optimizer by disclosing that a first generation is converted into a second generation responsive to a classifier, i.e., a rule or conditional statement. For example, given two members Ml 1 and M12 of the first generation and conditions Cl and C2, only if C1(M11) and C2(M12) are both true is the next generation produced from the first generation members Ml 1 and M12. Moreover, U.S. Patent Nos. 5,255,345, 5,319,781, 5,394,509 and 5,559,729 disclose computing systems and operating methods therefor based loosely on standard GA optimizers. However, these patent references disclose the use of an additional function or criteria, in addition to the standard GA optimizer, which is used in evaluating the fitness of the members of the resent generation. For example, U.S. Patent No. 5,394,509 discloses that fitness is determined both with respect to quality, i.e., satisfaction of the objective function, and diversity, e.g., the distance between a predetermined point in the solution space and the member of the present generation under consideration. In an exemplary case, the measure of diversity can be determined using Hamming distance. All of the above-identified patents are incorporated herein by reference. In the context of genetic algorithms (GAs) applied to a multi -objective optimization problem, it will be appreciated that there is an extra dimension needed to visualize the evolution of the solution population. Hence, the N-dimensional data generated by a GA is best displayed by N+l dimensions. The "extra" dimension can be termed a data separator dimension, e.g., time, generation number, etc., to denote that it is employed to separate each possible solution for visualization by the user. It will be appreciated that the novel spider visualization technique according to the present invention advantageously can be extended to 3-dimensions by making the extra dimension, e.g., time, to be the third dimension coming out of the screen or sheet of paper illustrated in Fig. 2. See Fig. 5. The solution pools in different generations are visualized on parallel planes which are stacked one on top of another. It will be noted that transparency can be used to see multiple generation-planes at one time. It will also be noted that different interaction mechanisms can be provided to help the user make sense out of the visual depictions. These mechanisms include, but are not limited to: fly-throughs, user-controlled rotation of the planes, user-adjustable separation between the planes, adjustable transparency, user-adjustment of the number of generation-planes that can be visualized, etc. Advantageously, 3-D solid models can be constructed around time as the central axis to visualize the evolution of the solution population. The solutions in one generation can be joined with straight lines to the solutions in the next generation to form the walls of this extruded, skewed, N-sided cylindrical structure, as depicted in Fig. 5. It will be appreciated that, instead of showing the connections between all solutions in successive generations, it will be useful to visualize the following cylindrical structures to get a feel for the dynamics of the evolutionary process: (1) The best, average and the worst solution(s) of the solution population in each generation can be connected along the time axis to form three cylindrical structures. These solutions are the best, average and worst, taking into consideration all the dimensions in the problem. The evolution of the best solution(s) depicts the progress of the optimal frontier ("pareto optimal frontier") from generation to generation. (2) There can be three other structures similar to those discussed above except that the solutions are best, average and worst according to individual dimensions. For each dimension, there can be three such structures and, overall, there are as many windows as dimensions, with each window depicting the three structures. It will be appreciated that the evolution of these structures can be animated. For example, the N-dimensional data produced by the GA advantageously can be displayed with each solution being overlaid on top of the immediately preceding solution. It will be appreciated that different perspectives advantageously can be achieved depending on the orientation of the separation axis. In other words, the display will be appreciably different when the separation axis is peφendicular to the N-dimensional polygons than when the separation axis is depicted as lying in a conventional 3-D orientation. It will also be appreciated that the solutions can either be generated and displayed in real time or can be generated, accumulated, and subsequently displayed. It should be mentioned that since there is no way to predict whether a near-optimum solution will be generated in the first or the last generation of a 5000 generation run of a GA, the real time, i.e., interactive, presentation of solutions advantageously can eliminate the generation of solutions past the point where the solutions have converged. Fig. 6 is a high level flowchart delineating the step for creating a N-dimensional information display according to the present invention. During step S100, the routine is initiated. During the initiation step, the data for display is either collected, i.e., extracted from a database, or generated, i.e., employing a genetic or other algorithm. During step S102, N rays are generated, one of each dimension of the N-dimensional data. During step S 104, these N rays are distributed with respect to an origin for ease of viewing. In the exemplary case illustrated in Figs. 2 and 5, it will be appreciated that the origin is the central point on the display screen or sheet of paper. Alternatively, the origin advantageously can be a line. When the origin is a point, each ray can be separated from adjacent ones of the N rays by an angle of 360E divided by N. During step S 106, the dimensions of each of the N rays is established to complement respective data of the N-dimensional data. In an exemplary case, each ray illustrating numeric data advantageously can be scaled to optimally present its respective data, since the dimension of each ray is independent of the dimension of any of the other N-l rays. It will be appreciated that rays depicting numeric data that can reasonably be expected to contain "0" values can be scaled so that the minimum expected value does not correspond to the origin. As discussed above, some of the N rays advantageously can be scaled to present alphabetical data. Alternatively, the rays advantageously can be scaled using colors for color data, class icons for class data, etc. During step S108, the N-dimensional data is mapped to respective ones of the N rays to thereby form the N-sided polygons associated with the spider visualization technique. Step SI 10 advantageously may be performed when either the number of solutions presented on a 2-D screen or sheet exceeds the user's ability to resolve the solutions or when it would be advantageous to observe the evolution of the solutions. In either case, the number of dimensions is increased from N to N+l and the solution vectors, e.g., the solution vectors collectively represented by the N-dimensional data, are distributed along the N+l dimension for ease of visualization. The above described method according to the present invention advantageously may be performed, for example, by the apparatus shown in Fig. 7. This viewing apparatus is composed of a central processing unit (CPU) 10 for controlling the components of the system in accordance with a control program stored in one of a read-only memory (ROM) 60 or a random access memory (RAM) 40, or the like. The CPU 10 stores temporary data used during execution of the inventive method, i.e., viewing method, in RAM 40. After the majority of the method steps are performed, the generated or retrieved N-dimensional data are displayed on display device 20 (e.g., cathode ray tube (CRT) or liquid crystal display (LCD)) as visible points in accordance with the appropriate color values stored in color table 30, e.g., a color lookup table (CLUT) found in the graphics controller in most PCs. Advantageously, an input device 50 is provided for entering parameter values by which the user advantageously can manipulate the N- dimensional data being displayed employing the spider visualization technique. Although presently preferred embodiments of the present invention have been described in detail hereinabove, it should be clearly understood that many variations and/or modifications of the basic inventive concepts herein taught, which may appear to those skilled in the pertinent art, will still fall within the spirit and scope of the present invention, as defined in the appended claims.

Claims: CLAIMS: 1. A visualization method for N-dimensional data, comprising: creating N rays radiating from an origin, each of the N rays being independently dimensioned; distributing the N-dimensional data representing M solution vectors onto the N rays, respectively; and connecting the data corresponding to the M solution vectors to thereby generate M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. 2. The visualization method as recited in claim 1, wherein the origin comprises a point. 3. The visualization method as recited in claim 2, wherein the N rays are angularly separated from adjacent ones of the N rays by 360E/N. 4. The visualization method as recited in claim 1, further comprising distributing the M solution vectors along a separation axis. 5. The visualization method as recited in claim 4, wherein the separation axis comprises a time axis. 6. The visualization method as recited in claim 1, wherein at least one of the N rays is dimensioned for alphabetic data. 7. The visualization method as recited in claim 1, wherein the M solutions are subdivided into R groups of the M solution vectors, and further comprising distributing the R groups of the M solution vectors along a time axis. 8. The visualization method as recited in claim 7, wherein each of the R groups comprises first and second ones of the M solution vectors with respect to a predetermined time. 9. A visualization method for N-dimensional data, comprising: generating the N-dimensional data; creating N rays radiating from an origin, each of the N rays being independently dimensioned; and distributing the N-dimensional data representing M solution vectors onto the N rays, respectively, to thereby define M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. 10. The visualization method as recited in claim 9, wherein the N rays are angularly separated from adjacent ones of the N rays by 360E N. 11. The visuaUzation method as recited in claim 9, further comprising distributing the M solution vectors along a separation axis. 12. The visuaUzation method as recited in claim 11 , wherein the separation axis comprises a time axis. 13. The visuaUzation method as recited in claim 9, wherein at least one of the N rays is dimensioned for alphabetic data. 14. The visualization method as recited in claim 9, wherein the N-dimensional data define R groups of the M solution vectors, and further comprising distributing the R groups of the M solution vectors along a time axis. 15. The visualization method as recited in claim 15, wherein each of the R groups comprises first and second ones of the M solution vectors with respect to a predetermined time. 16. The visualization method as recited in claim 9, wherein the M solution vectors comprise R generations of N-dimensional data generated by a genetic algorithm. 17. A memory storing a computer readable instruction set for converting a general puφose computer into a N-dimensional data visualization system, comprising: first instructions for creating N rays radiating from an origin, each of the N rays being independently dimensioned; second instructions for distributing the N-dimensional data representing M solution vectors onto the N rays, respectively; and third instructions for connecting the data corresponding to the M solution vectors to thereby generate M respective N-sided polygons, where N is an integer greater than 3 and M is an integer greater than 1. 18. The memory as recited in claim 18, further comprising fourth instructions for distributing the M solution vectors along a separation axis. 19. he memory as recited in claim 18, further comprising fifth instructions for executing a genetic algorithm to thereby generate the N-dimensional data.

Inventors: KURAPATI KAUSHAL, KURAPATI, KAUSHAL
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2000
Main classification: G06T11
IPC codes: G06T11