WO2004055723A2 - System design using artifical intelligence - Google Patents
System design using artifical intelligence Download PDFInfo
- Publication number
- WO2004055723A2 WO2004055723A2 PCT/US2003/039579 US0339579W WO2004055723A2 WO 2004055723 A2 WO2004055723 A2 WO 2004055723A2 US 0339579 W US0339579 W US 0339579W WO 2004055723 A2 WO2004055723 A2 WO 2004055723A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- design
- fitness
- value
- applying
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Definitions
- the present invention relates to the field of artificial intelligence and, more particularly, to design of systems using artificial intelligence.
- a modern storage server which may include one or more central processing units, volatile memory, and data storage components, such disk drives or arrays.
- volatile memory volatile memory
- data storage components such disk drives or arrays.
- various makes, models and configurations are available, each having respective attributes, such as capacity, throughput and cost, among others.
- rules-based design systems require coding of a rule for each decision to be made in the design process.
- An expert system is a form of rules-based design in which an attempt is made to emulate the knowledge of a human expert designer.
- these techniques tend to be complex and time-consuming to implement. Because the rules are specific to the precise design problem and tend to be interdependent, such systems are difficult to modify in response to changed circumstances and cannot generally be applied for solving design problems other than the one for which the system was originally intended.
- the invention is a technique for system design using artificial intelligence.
- a set of desired attribute values are obtained for the system being designed according to a set of qualitative criteria.
- a specification of a set of available components for the design is also obtained, each component having attribute values that correspond to each of the plurality of qualitative criteria.
- a genetic algorithm (GA) is performed which includes generating a population of possible designs, each possible design specifying a combination of the components.
- a fitness function is applied to one or more of the possible designs for determining a fitness value for the possible designs.
- the fitness function is adaptive in that it may be based on the set of desired attribute values.
- the fitness function is applied to each of a succession of generations of the population, thereby refining the possible design solutions.
- the fitness function may be applied by determining a multiplying factor for each of the set of qualitative criteria according to the corresponding desired attribute value for the system being designed. For each component of the possible design, each attribute value is multiplied by the corresponding multiplying factor determined for the system being designed. The products of the attribute values and the multiplying factors are then summed. A positive value may be assigned to each positive attribute, while a negative value may be assigned to each negative attribute.
- successive populations are generated and a fitness function is applied to each generation and the designs with higher fitness values are used to create successive generations, thereby refining the possible designs, until generation- to-generation improvements in high fitness values of the possible designs fall below a predetermined threshold. Once this occurs, maximum fitness values are not expected to increase further.
- a possible design is selected from among the attained fitness values. The design may be selected only after a predetermined number of generations have been completed.
- Figure 1 illustrates a flow diagram of a design method in accordance with an aspect of the present invention
- FIG. 2 illustrates a general-purpose computer system by which the present invention may be implemented
- Figure 3 illustrates a graphical user interface for providing inputs for the method in accordance with an aspect of the present invention.
- Figure 4 illustrates a graphical user interface for displaying results of the method in accordance with an aspect of the present invention.
- the present invention is a technique for system design using artificial intelligence.
- a novel genetic algorithm (GA) is presented for selecting the system components to be incorporated into the design from a larger set of available components. Nalues assigned (e.g., by a user) to attributes for the design may be incorporated into a fitness function. Accordingly, the fitness function is adaptive in that it differs for each different set of desired attribute values. Individual designs are selected from a population according to their fitness as determined by applying the fitness function. Multiple generations of the genetic algorithm may be performed thereby refining the population of possible designs. An individual design may be selected from the population when a pre-selected fitness value is achieved or when generation-to-generation improvements in the fitness values diminish or cease altogether.
- Figure 1 illustrates a flow diagram of a design method 100 in accordance with an aspect of the present invention.
- Figure 2 illustrates a block schematic diagram of a computer system 200 by which the present invention, including portions of the method 100 of Figure 1, may be implemented.
- the computer system 200 may include a general-purpose processor 202, storage media 204 (e.g., RAM and/or hard disks), a communication bus 206, and input/output devices 208, such as a keyboard, monitor, mouse and network interface.
- the computer system 200 is conventional. As such, it will be apparent that the system 200 may include more or fewer elements than shown in Figure 2 and other elements may be substituted for those illustrated in Figure 2.
- FIG. 3 illustrates an exemplary graphical user interface 300 that may be employed in step 102 for obtaining desired attribute values.
- the graphical user interface 300 may be displayed on a display monitor 208 of the system 200 of Figure 2.
- the system being designed is a storage server and, more particularly, an HP-UX storage server.
- a set of attributes 302 for the system are provided by the graphical user interface.
- the attributes 302 include qualitative criteria, for example: performance, cost, compatibility, complexity, expandability, availability, reliability, supportability, power requirements and physical size.
- the performance attribute is a measure of how well the system performs. This attribute may indicate processing speed, throughput capacity and other performance metrics.
- the cost attribute is a measure of the cost to implement the system. This attribute indicates the total cost of the system as a sum of the cost of its components.
- the compatibility attribute is a measure of how many different product types the system may function with. This attribute may indicate compatibility in the event modifications or upgrades to the system may be required at a later time or compatibility of the system with other external components, such as communication network by which the system is to communicate.
- the complexity attribute is a measure of the complexity of the underlying technology or architecture of the system and its components. This attribute may also indicate how difficult the system will be to modify or upgrade should the need arise.
- the expandability attribute is a measure of the ease of expanding the system to increase its capabilities should this be needed. This attribute may indicate the number of available expansion slots included in the system or the number of disk drives that can be accommodated by the system.
- the availability attribute is a measure of marketplace availability. This attribute may indicate the ease of obtaining the system and its components, such as lead times for ordering from manufacturing sources.
- the reliability attribute is a measure of the system reliability, such as mean time to failure.
- the supportability attribute is a measure of the ease of supporting the system design once it has been deployed. This attribute may indicate, for example, service part availability or mean time to perform repairs.
- the power requirements attribute is a measure of the level of power consumed by the system.
- the physical size attribute is a measure of the physical dimensions of the system.
- a set of desired attribute values 304 are associated with the attributes 302, one value for each attribute.
- the values may be input by a user through the graphical user interface 300.
- Each value indicates the relative importance of the attribute for the system being designed. For example, for a specific application, cost of the system may be of primary importance while performance may be secondary. In this case, the cost attribute is assigned a value that indicates a higher importance than the value assigned to performance. For another application, cost may be less important than performance. In this case, the performance attribute is assigned a value that indicates higher importance than the value assigned to the cost attribute. In this manner, a value is assigned to each attribute in step 102 based on desired characteristics of the system being designed.
- the values range from one to ten, with one indicating the highest importance and ten indicating lowest importance. In this case, a ten may result in the attribute being ignored (i.e. having no importance) during component selection.
- the value assigned to an attribute may be the same as another attribute, thus, indicating equal importance or a different value may be assigned, thus, indicating relative differences in importance. While ten attributes are shown in Figure 3, each having ten possible values, another number of attributes and/or another number of possible values may be used. Also, rather than assigning a low value to signify high importance, attributes having a higher importance may be assigned a higher number than attributes having a lower importance (e.g., a one to ten scale with one indicating low or no importance and ten indicating highest importance).
- the interface 300 may also include a "RESET FORM" button 306, which clears the entries 304 when activated by the user.
- a fitness function may be adapted based upon the attribute values obtained in step 102.
- the fitness function differs for each different set of attribute values.
- a corresponding attribute value may be given as A réelle.
- n is an integer between one and ten.
- a multiplying factor F Bear may be determined for each attribute. Where higher importance is indicated by a lower relative value, the multiplying factor for each attribute may be determined as difference between the assigned value and the maximum value. In the example, the maximum value is ten.
- the multiplying factor for an attribute may be the same as the assigned value.
- the multiplying factor F 2 can be determined as follows:
- F Room may be equal to A réelle-l.
- step 104 The multiplying factors are then saved in step 104, such as in the computer system 200 of Figure 2 for further use in applying the fitness function, as described herein.
- a specification of a set of components may be obtained in step 106. These components are available for selection to be included in the design.
- the components may include central processing units, volatile memory (e.g., RAM) and data storage devices, such as disk drives and/or disk arrays.
- volatile memory e.g., RAM
- data storage devices such as disk drives and/or disk arrays.
- other components may be specified for a storage server, including, but not limited to: printed circuit boards, component racks, network interfaces, power supplies and/or software. It will also be apparent that different components may be specified for systems other than storage servers. Further, depending on the circumstances, certain components may be treated in combination.
- each component is preferably specified by its type, such as a CPU/memory combination component or a disk array, and by a unique identifier (e.g., one or more part numbers).
- each component is assigned values for each of the attributes specified for the system in step 102.
- values are assigned to each often attributes 302 for the system, as shown in Figure 3, a value for each of these ten attributes is also assigned to each component in step 106.
- each CPU/memory combination component is assigned a value between one and ten to indicate its rating with respect to the corresponding attribute.
- a CPU/memory combination component with high performance and high cost might be assigned a value of nine with respect performance and an eight with respect to cost.
- the assigned values may indicate percentile ratings with respect to the other available components. Thus, where a component exceeds the 90 u percentile with respect to performance, the component may be rated a nine for that attribute.
- the values assigned in step 106 for each of n attributes for an available component maybe given as N Mic.
- the component specifications may be stored as a data file in the computer system 200 of Figure 2.
- step 108 a population of possible designs is created from the specification of the set of components obtained in step 106. For example, this may occur in response to the user activating a "Find a Server" button 308 of the interface 300 ( Figure 3).
- a first pass through the step 108 it may include generating predetermined number (i.e., a population size) of individual designs where each individual design consists of one component of each type to be included in the design.
- predetermined number i.e., a population size
- each individual may include a random pairing of CPU/memory combination component and a disk array.
- the population size can be selected through the graphical user interface 300 of Figure 3. For example, by using a pointing device at an input field 310 (e.g., the user places a checkmark in the field 310 clicking on the field using a computer mouse), the user may advance to another display screen (not shown) that allows the user to select the population size.
- a pointing device at an input field 310 (e.g., the user places a checkmark in the field 310 clicking on the field using a computer mouse)
- the user may advance to another display screen (not shown) that allows the user to select the population size.
- step 110 the fitness function is applied to each of the individual designs created in step 108.
- a fitness value may be computed for the design by computing products of each multiplying factor FROC (determined in step 104) and each of the corresponding values N / , make for each of i components of the design and summing the products. Accordingly, the fitness may be given as follows:
- the fitness value for the design can be computed as follows:
- a fitness value may be obtained for each design of the population.
- Designs of high fitness may be identified in step 112, for example, by identifying a number of designs having the highest fitness values relative to the other designs of the population. These individuals identified in step 112 as having high fitness may then be used as a basis for forming one or more successive generations (e.g., by returning to step 108).
- the population generation performed in step 108 may be in accordance with conventional genetic algorithm techniques.
- each new generation may be based, in part, on the individual designs of the prior generation which were identified in step 112 as having high fitness, for example, by allowing those individuals to "reproduce” more often.
- designs of the new population will be more likely to include components from the designs of the prior generation that had high fitness values. This, in turn, is expected to increase the likelihood that designs of each successive generation will have higher fitness than those of the prior generation.
- step 108 The process of creating new populations (step 108), determining their fitness values (110), and identifying individuals with high fitness values (112) as a basis for a next generation may be repeated a predetermined number of times m, thereby refining the designs in an iterative fashion.
- the number m may range from zero to one hundred generations or, depending on the circumstances, the number m may range to a greater number of generations.
- the user may select the number m via the graphical user interface 300 of Figure 3.
- program flow may move to a step 114, in which a determination may be made as to whether the predetermined number m has been reached. If not, program flow returns to step 108.
- program flow moves to the step 116 once the selected number of generations have been created and refined.
- a comparison is made between earlier and later generations (e.g., the current and prior generation) to determine the amount of improvement in fitness. More particularly, the high fitness values (e.g., the highest value or an average of several of the high values) from different generations may be compared to determine the amount of improvement in fitness, if any, from generation-to-generation. For example, this may include a direct comparison of fitness values from two or more successive generations. Alternately, statistics relating to fitness values for a number of generations (e.g., a moving average) may be compared in step 116.
- step 118 a determination is made as to whether generation- to-generation improvements have diminished. This may be accomplished by comparing a statistic representative of improvements in to a predetermined threshold. A difference between generations indicates the amount of improvement. If the difference is greater than the threshold, this indicates that further improvements are likely. Thus, program flow returns to the step 108, in which a new generation is created. The process of creating new populations (step 108), determining their fitness values (step 110), identifying individuals with high fitness (step 112) and determining the extent of generation-to-generation improvements (step 116) may then be repeated until the generation-to-generation improvements fall below the threshold.
- the generation-to-generation improvements may remain below the threshold for a number of generations (e.g., 10). This number may also be selected by the user (e.g., by clicking the field 310 of Figure 3). When a positive determination is made in step 120, this indicates that further generations are not likely to result in significantly higher fitness values.
- program flow may move to a step 122 in which one or more individual designs are selected from among the high fitness designs obtained thus far.
- this design may be displayed as the resulting design, as shown in Figure 4.
- Figure 4 illustrates a graphical user interface 400 for displaying results of the method 100 in accordance with an aspect of the present invention.
- a single design is shown in Figure 4.
- its identifier e.g., one or more part numbers
- a description of each component and a total cost for the design may be displayed.
- the design is for a storage server.
- a first component, a type CPU/memory combination component includes three part numbers (i.e. A6447A, A6448A and A6168A) that together make up the combination component.
- a second component a storage type component, includes two part numbers (i.e. A6265A and A6191A) and is described as "Virtual Array 7400 w/1890GB".
- the number of generations created may depend on how quickly the generation-to-generation improvements diminish, the number of generations required before the generation-to-generation differences fall below the threshold will generally not be known until the method 100 is performed. Thus, as shown in Figure 4, the number of generations created may also be displayed. In the example, the displayed number is 238 generations. If the generational differences do not fall below the threshold after a predetermined number of generations (e.g., 1000) the method may be halted and an error message displayed. This maximum number of generations may also be selected by the user, e.g., by clicking the field 310 ( Figure 3). Further, if identification of high fitness values in step 112 fails (e.g., all resulting fitness values are negative), the method may be halted and an error message displayed. For debugging purposes, the generational summary information may be provided to the user, such as the highest and lower fitness values obtained for several generations.
- values assigned to attributes for the design may be incorporated into an adaptive fitness function.
- multiple generations of designs are created, thereby refining the designs until a pre-selected fitness value is achieved or until generation-to-generation improvements in the high fitness values diminish.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2003293534A AU2003293534A1 (en) | 2002-12-13 | 2003-12-12 | System design using artifical intelligence |
| GB0512727A GB2411502A (en) | 2002-12-13 | 2003-12-12 | System design using artifical intelligence |
| JP2004560821A JP2006510115A (en) | 2002-12-13 | 2003-12-12 | System design using artificial intelligence |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US31903102A | 2002-12-13 | 2002-12-13 | |
| US10/319,031 | 2002-12-13 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2004055723A2 true WO2004055723A2 (en) | 2004-07-01 |
| WO2004055723A3 WO2004055723A3 (en) | 2004-08-12 |
Family
ID=32592886
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2003/039579 Ceased WO2004055723A2 (en) | 2002-12-13 | 2003-12-12 | System design using artifical intelligence |
Country Status (4)
| Country | Link |
|---|---|
| JP (1) | JP2006510115A (en) |
| AU (1) | AU2003293534A1 (en) |
| GB (1) | GB2411502A (en) |
| WO (1) | WO2004055723A2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105701544A (en) * | 2016-01-11 | 2016-06-22 | 南京信息工程大学 | Stochastic resonance weak signal detection method based on genetic algorithm and frequency modulation |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2434223C (en) * | 2005-12-29 | 2010-08-25 | Motorola Inc | User interface for customising an electronic product |
| JP5295687B2 (en) * | 2008-09-02 | 2013-09-18 | 一般財団法人電力中央研究所 | Communication method and communication apparatus |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU4985100A (en) * | 1999-05-05 | 2000-11-17 | Thomas Probert | Fuzzy logic and genetic algorithms to maximize a utility function |
| GB0106459D0 (en) * | 2001-03-15 | 2001-05-02 | Marconi Comm Ltd | Hardware design using evolutionary algorithms |
-
2003
- 2003-12-12 WO PCT/US2003/039579 patent/WO2004055723A2/en not_active Ceased
- 2003-12-12 GB GB0512727A patent/GB2411502A/en not_active Withdrawn
- 2003-12-12 JP JP2004560821A patent/JP2006510115A/en not_active Withdrawn
- 2003-12-12 AU AU2003293534A patent/AU2003293534A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105701544A (en) * | 2016-01-11 | 2016-06-22 | 南京信息工程大学 | Stochastic resonance weak signal detection method based on genetic algorithm and frequency modulation |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2003293534A1 (en) | 2004-07-09 |
| AU2003293534A8 (en) | 2004-07-09 |
| GB0512727D0 (en) | 2005-07-27 |
| WO2004055723A3 (en) | 2004-08-12 |
| JP2006510115A (en) | 2006-03-23 |
| GB2411502A (en) | 2005-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7035919B1 (en) | Method for calculating user weights for thin client sizing tool | |
| US20060047794A1 (en) | Application of genetic algorithms to computer system tuning | |
| US20060230018A1 (en) | Mahalanobis distance genetic algorithm (MDGA) method and system | |
| JP5065296B2 (en) | A method for modeling a free pool of resources | |
| CN118401952A (en) | Intelligent deployment using graph optimization | |
| CN112258515B (en) | Graph segmentation method based on fixed vertex | |
| CN113687780B (en) | QoS optimization method, system, terminal and storage medium for distributed storage server | |
| US7979520B2 (en) | Prescriptive architecture recommendations | |
| US6662183B2 (en) | Vendor independent network configuration tool method, system, and product | |
| JP2019219741A (en) | Learning control method and computer system | |
| JP4736713B2 (en) | Systems and methods to support the selection of project members | |
| US7191107B2 (en) | Method of determining value change for placement variable | |
| US20070198252A1 (en) | Optimum design management apparatus, optimum design calculation system, optimum design management method, and optimum design management program | |
| US11093266B2 (en) | Using a generative model to facilitate simulation of potential policies for an infrastructure as a service system | |
| WO2004055723A2 (en) | System design using artifical intelligence | |
| CN107688901A (en) | Data adjustment method and device | |
| CN115460087A (en) | Method and device for deploying business process in cloud computing environment | |
| US9305068B1 (en) | Methods and apparatus for database virtualization | |
| CN112953781A (en) | Particle swarm-based virtual service fault recovery method and device under network slice | |
| CN114296775B (en) | Intelligent operation and maintenance method and system based on big data | |
| Alam et al. | Multi-objective interdependent VM placement model based on cloud reliability evaluation | |
| CN115795203A (en) | Construction method, device, electronic device and storage medium of menu page | |
| CN113515495A (en) | Data file distribution method and device, intelligent equipment and computer storage medium | |
| JP2005208709A (en) | Data classification processing apparatus, data classification processing method and computer program | |
| Stamatatos et al. | Learning how to propagate using random probing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2004560821 Country of ref document: JP |
|
| ENP | Entry into the national phase |
Ref document number: 0512727 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20031212 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 0512727.9 Country of ref document: GB |
|
| 122 | Ep: pct application non-entry in european phase |