U.S. patent application number 12/219154 was filed with the patent office on 2008-11-13 for parameter adjusting device.
This patent application is currently assigned to EVOLVABLE SYSTEMS RESEARCH INSTITUTE INC.. Invention is credited to Keiichi Ito, Masahiro Murakawa.
Application Number | 20080281986 12/219154 |
Document ID | / |
Family ID | 34736523 |
Filed Date | 2008-11-13 |
United States Patent
Application |
20080281986 |
Kind Code |
A1 |
Murakawa; Masahiro ; et
al. |
November 13, 2008 |
Parameter adjusting device
Abstract
A parameter adjusting device optimizes parameters using a
genetic algorithm by using a plurality of processing devices. The
plurality of processing devices is respectively configured to
individually and simultaneously execute the genetic algorithm and
to, a predetermined period prior each local search, be such that
each processing device, in accordance with the genetic algorithm
processing, based on predetermined numbers, send individuals of a
genetic population to others of the plurality of processing devices
and further configured to have a migration arrangement for
receiving the predetermined numbers.
Inventors: |
Murakawa; Masahiro; (Tokyo,
JP) ; Ito; Keiichi; (Tokyo, JP) |
Correspondence
Address: |
KANESAKA BERNER AND PARTNERS LLP
1700 DIAGONAL RD, SUITE 310
ALEXANDRIA
VA
22314-2848
US
|
Assignee: |
EVOLVABLE SYSTEMS RESEARCH
INSTITUTE INC.
Tokyo
JP
|
Family ID: |
34736523 |
Appl. No.: |
12/219154 |
Filed: |
July 17, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10584350 |
Jun 23, 2006 |
|
|
|
PCT/JP04/19163 |
Dec 22, 2004 |
|
|
|
12219154 |
|
|
|
|
Current U.S.
Class: |
709/251 |
Current CPC
Class: |
Y10S 707/99935 20130101;
Y10S 707/99934 20130101; G06N 3/126 20130101; Y10S 707/99936
20130101; Y10S 707/99932 20130101; Y10S 707/99933 20130101 |
Class at
Publication: |
709/251 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 26, 2003 |
JP |
2003-433656 |
Claims
1. A parameter adjusting device for optimizing parameters using a
genetic algorithm by using a plurality of processing devices,
wherein said plurality of processing devices is respectively
configured to individually and simultaneously execute the genetic
algorithm and to, a predetermined period prior each local search,
be such that each processing device, in accordance with the genetic
algorithm processing, based on predetermined numbers, send
individuals of a genetic population to others of said plurality of
processing devices and further configured to have a migration
arrangement for receiving the predetermined numbers.
2. The parameter adjusting device as set forth in claim 1, wherein
the each processing device comprises a CPU of a computer or server
including a plurality of CPUs in which said genetic algorithm is
installed.
3. The parameter adjusting device as set forth in claim 1, wherein
the migration arrangement transfers individual information to be
migrated, along a ring shape route.
4. The parameter adjusting device according to claim 1, wherein a
selected one of the plurality of processing devices is configured
to determine if all of the searches conducted by the plurality of
processing devices have been completed and to terminate the local
search process in response to completion of all local searches.
Description
CROSS REFERENCE TO RELATED APPLICATION
[0001] This is a continuation application of patent application
Ser. No. 10/584,350 filed on Jun. 23, 2006.
BACKGROUND OF THE INVENTION AND RELATED ART STATEMENT
[0002] The present invention relates to a parameter adjusting
device, especially, a parameter adjusting device that can adjust a
great number of parameters of a physical model and so on by a
genetic algorithm (hereinafter referred to as a GA) using multiple
processing units (processors, CPU) within a short time.
[0003] Conventionally, a parameter adjusting device that
automatically performs parameter fitting (adjusting) processing of
a physical model including multiple parameters using the GA from an
experimental result and so on is proposed. A reference for the GA
is, for example, the following Japanese Non-patent Publication 1
(David E. Goldberg, 1989, "Genetic Algorithms in Search,
Optimization, and Machine Learning", published by ADDISON-WESLEY
PUBLISHING COMPANY, INC). In addition, the GA in the present
invention represents an evolutionarily computational technique, and
includes an evolution strategy (ES) technique. A reference for the
evolution strategy, for example, includes the following Japanese
Non-patent Publication 2 (H. P. Schwefel, 1995, "Evolution and
Optimum Seeking", published by John Wiley & Sons).
[0004] Furthermore, in the following Japanese Patent Publication 1
(Japanese Patent Publication No. 2003-108972), a parameter
adjusting device that automatically performs a parameter adjusting
processing of a physical model including the multiple parameters
using the GA is proposed.
[0005] In the above-mentioned conventional parameter adjusting
method, the method for improving accuracy by performing parameter
adjustment (search) using the GA at first, and a local search
method in the final stage of the search, was used. However, since
the search using the GA lowers searching speed in the final stage,
when the GA tries to raise the accuracy, the processing time
becomes longer. On the other hand, when the GA is switched to the
local search method in the early stage, an optimal solution might
not be obtained.
[0006] Also, GA processing is suitable for relatively parallel
processing; however, the local search method is not suitable for
high speed through parallel processing. In addition, depending on
an applied model, the local search method has a possibility of
reaching the optimal solution quicker than the GA does. However,
even in the above-mentioned model, the processing time could not be
shortened by the conventional method.
[0007] Further objects and advantages of the invention will be
apparent from the following description of the invention.
SUMMARY OF THE INVENTION
[0008] The present invention is made in order to solve the
above-mentioned problems, and the main feature of the parameter
adjusting device of the invention is that, in the parameter
adjusting device optimizing parameters using a genetic algorithm
with multiple processing means (CPU), a processing assignment means
wherein a part of the multiple processing means is assigned to
search processing by a local search method such as Powell method is
provided.
[0009] Also, when performances of multiple processors are not
equal, the present invention assigns processing of the local search
to a low-performance processor. Also, the present invention
collects an interim result of the search from the processor being
assigned to the processing by the genetic algorithm in the multiple
processors, and uses it for the search processing by the local
search method.
[0010] In addition, the present invention includes an individual
decision means which determines the group of individuals being
processed by the genetic algorithm through the processing means
being assigned to the processing by the GA in the multiple
processing means according to the respective processing capability
of each processor's means. Furthermore, the multiple processors
include a determination means determining whether to satisfy
respective search processing termination conditions. When a
termination is determined in an optional processor, the present
invention terminates the entire processing of the device.
[0011] According to the above-mentioned features, a parameter
adjusting device of the present invention has an effect to be able
to determine a group of the most appropriate parameters within a
short time by: effectively utilizing a resource inside a system;
parallelizing fitting processing; and making the fitting processing
more efficient.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a block diagram showing a hardware structure of an
embodiment of the parameter adjusting device of the present
invention.
[0013] FIG. 2 is a schematic time chart showing a parameter
adjusting processing using the GA of the present invention.
[0014] FIG. 3 is a flowchart showing contents of processing in an
administrative CPU1.
[0015] FIG. 4 is a flowchart showing contents of CPU processing for
the GA.
[0016] FIG. 5 is a flowchart showing the contents of CPU processing
for a local method.
[0017] FIG. 6 is a flowchart showing the contents of GAn processing
of S16, S36.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] A parameter adjusting device of the present invention can be
used in order to run a simulation of a transistor with an optional
shape using the model generated by optimizing the model parameters
which is calculated with the model function that expresses the
transistor's electric property using the electric property data
measured from several transistors with a different shape
experimentally. However, the present invention is not limited to
the example described hereinabove, and can be applied to optional
processings using the GA. Hereinafter, embodiments of the present
invention will be explained.
Embodiment 1
[0019] FIG. 1 is a block diagram showing the hardware structure of
an embodiment of the parameter adjusting device of the present
invention. Well-known personal computers of CPU1(1).about.CPUn(13)
with n units are connected by a LAN14. A well-known display 16 and
keyboard 15 for data input and output are connected to the
CPU1(10); however, the display 16 and keyboard 15 may be connected
to the other CPUs. A well-known data input and output device may be
installed in each CPU. The parameter adjusting device of the
present invention can be realized by creating and installing a
program described hereinafter in each CPU.
[0020] Incidentally, the above-mentioned structure is an example,
and when a number of CPUs are installed on a server, or when a
number of personal computers are connected via the Internet, the
present invention can be applied to optional computer systems which
can substantively perform parallel processing by a number of
processing units (CPU). Also, even when one CPU such as a
hyper-threading function and so on can substantively perform a
number of processing in parallel, the present invention can be
applied.
[0021] FIG. 2 is a schematic time chart showing a parameter
adjusting (fitting) processing using the GA of the present
invention. The CPU1 functions as an administrative CPU, and
performs: data input and output; a processing assignment to the
other CPUs; and the management of the entire parameter adjusting
processing other than GA processing (local-method processing). The
CPU2.about.CPUn-1 are CPUs being assigned to the GA processing. The
CPUn is the CPU being assigned to local-method search processing.
Incidentally, the reference alphabet n represents an integer 2 or
more.
[0022] The CPU1 collects processing results (superior individual
information) from the other CPUs with respect to each predetermined
cycle (generational change processing of the predetermined number
of the GA=GAn processing), and determines termination conditions.
When the termination conditions are satisfied, the CPU1 terminates
the entire processing, and outputs a result. Every time the CPU1
for the management gives an instruction, the CPU for the GA
processing performs the GAn processing. Migration processing is
performed during the GAn processing, wherein the CPUs for the other
GA and an individual are exchanged over the predetermined cycle.
Also, over an independent cycle from the above-described cycle, the
superior individual information is transmitted to the CPUn for the
local method (or via the CPU for the management) at that point.
[0023] When the CPUn for the local method receives individual
(parameter) information via the CPU for the management or the CPU
for the GA, the CPUn for the local method optimizes (searches) the
parameters by a heretofore known local search method, and transmits
a search result to the CPU for the management.
[0024] FIG. 3 is a flowchart showing contents of the processing in
an administrative CPU1. In a S10, the other CPUs available to the
GA or local method are searched. In a S11, it is determined whether
or not processing capabilities of the available CPUs are
well-known, and when a determined result is negative, the S11 is
transferred to S12. In the S12, the processing capabilities
determine the processing capabilities of unforeknown CPUs. As a
capability, a method such that the capability is measured by
measuring the processing time through a simple benchmark testing
program wherein clock frequency information of the CPU is
retrieved, can be adopted.
[0025] In S13, the CPU for the local method is selected. As a
selection condition, for example, the CPU with the lowest
processing capability is selected. The CPU1 for the management may
be selected as the CPU for the local method; however, in this
example, another CPUn shall be selected. Incidentally, the
processing of the S10.about.13 may be performed beforehand. The CPU
available to the management CPU1, the processing capability, the
processing assignment, and so on may be registered beforehand.
[0026] In S14, input data necessary to the GA or the local-method
processing is distributed to each CPU. In S15, an individual
(chromosome) for the GA processing in the CPU for the management is
generated. For example, in the case of the semiconductor
manufacturing line, N chromosomes (individuals), wherein the whole
physical model functions of a transistor or a value of a part of
the parameters are the genes, are generated, and are considered as
an individual population. An individual generation determines the
value of the genes in the chromosomes. Incidentally, in a physical
model of a transistor such as the heretofore known BSIM, a range of
recommended parameter initial values is set, so that in each
parameter, the initial value is determined randomly within the
range of the recommended parameter initial value, and becomes the
value of the genes.
[0027] The number of the individuals N is basically determined
based on the number of the parameters being required to be
adjusted. In the embodiment, for example, it may be that the number
of the individual N=the number of the parameter x a constant (for
example, 5.about.15). Incidentally, the larger the number of the
individual N, the better the accuracy: however, the longer the
processing time. On the other hand, when the multiple CPUs with
different processing capabilities perform the GA processing of the
same individual number N, a quick CPU has to wait until a slow CPU
completes the processing. As a result, the processing time of the
multiple CPUs being assigned to the GA may be roughly the same by
increasing the N for the CPUs with larger processing
capability.
[0028] In an S16, the after-mentioned GAn processing (or the
local-method processing) is performed. In an S17, processing result
data of the entire CPUs including one's own data are collected. In
an S18, whether or not the termination condition is satisfied is
determined. The termination condition is that, for example, a
condition of any of the following (1).about.(3) is satisfied. (1)
The evaluated value of any individuals has reached more than the
target value set beforehand. (2) The increase rate of the evaluated
value has become below the predetermined value. (3) The iteration
of calculation has surpassed the predetermined value.
[0029] In an S19, a termination is indicated relative to all the
CPUs, and in an S20, a result is outputted at, for example, a
display, printer, file, and so on. Incidentally, when the
information of the above-mentioned termination condition (1) is
transmitted through the other CPUs during the processing of the
S16, the processing of the S16 may be paused immediately and
transferred to the S19.
[0030] FIG. 4 is a flowchart showing the contents of the CPU
processing for the GA. In an S30, it is held until the data is
received through the management CPU. In an S31, if the received
data indicates termination, the processing is terminated. In an
S32, whether or not the received data is the distributed data in
the S14 is determined, and when the determination result is
affirmative, the received data is transferred to an S33. In the
S33, the individual (chromosome) for the GA processing in its CPU
is generated. This processing is the same processing with the S15.
In an S34, the generated individual is registered as the parent
population and transferred to an S36.
[0031] In an S35, whether or not the received data is a continued
instruction is determined, and when the determination result is
affirmative, the received data is transferred to the S36. In the
S36, the GAn processing which is the generational change processing
with the predetermined number of the GA described hereinafter is
performed. In an S37, the superior individual information with a
predetermined individual number which is the result of the GA
processing, is transferred to the management CPU, and returned to
the S30.
[0032] FIG. 5 is a flowchart showing the contents of the CPU
processing for the local method. In an S50, it is held until the
data is received through the management CPU. In an S51, if the
received data indicates termination, the processing is terminated.
In an S52, whether or not the received data is the distributed data
in the S14 is determined, and when the determination result is
affirmative, the received data is transferred to an S55.
[0033] In an S53, whether or not the data of an interim result
being transmitted from the CPU for the GA is the superior data is
determined, and when the determination result is affirmative, the
received data is transferred to an S54. In the S54, the individual
for performing the search processing is selected from the superior
individual data sorted by the evaluated values, collected from each
CPU in order of evaluated value, and so on. Incidentally, if the
CPU for the local method can perform the local-method search
processing more than once during the GAn processing of the other
CPUs, the number of the individual being selected within a
performable range may be multiple, and in the case of a multiple
number, the search processing with the local method is processed
one-by-one in order.
[0034] In the S55, the parameter adjustment, i.e., the superior
parameter search is performed by, for example, the heretofore known
Powell method as mentioned in, for example, "NUMERICAL RECIPES in
C, Gijutsu-Hyohron Co., Ltd., 1993" and so on, or the other
heretofore known local search method. Since the processing has a
light processing load compared to the GA processing, even if the
CPU has a low processing capability, the processing can be
performed within a short time compared to the GA processing. In an
S56, the superior individual information with the predetermined
individual number which is the result of the processing is
transferred to the management CPU, and returned to the S50.
[0035] FIG. 6 is a flowchart showing the contents of GAn processing
which are the generational change processing of the predetermined
number of the GA of the S16, S36. In S60.about.S62, generation
update processing for a generation in the heretofore known genetic
algorithm processing is performed. Incidentally, details are
written in the above-mentioned Japanese Patent Publication. First,
in the S60, the individual is selected randomly from the parent
population by the predetermined number, and generates a child
individual by crossover processing. Crossover processing is a
processing wherein: a copy of a selected parent individual is
respectively generated by an arbitrary number; and a part of the
gene is exchanged between the copy individuals; or a new gene is
generated from each gene, so that a child individual with an
arbitrary number is generated.
[0036] In the S61, the evaluated value of the child individual
being generated at the S60 is calculated. The evaluated value is
the value showing how close to an ideal value the gene in the
chromosomes is as the parameter. In the case of being applied to a
semiconductor manufacturing line, square error between: estimated
value of the property being calculated by the transistor model
function which expresses the electric property wherein the genes in
the chromosome is the model parameters; and measured value of the
property being obtained by an experimental test of the transistor
is calculated. The lower the square error value becomes, the better
the estimation is.
[0037] In the S62, only the number of individuals which are
retrieved from the parent individuals being selected in the S60 and
the generated child individuals in order of highest value is
returned to the parent population, and the rest is abandoned. Due
to this processing, a low-valued chromosome is eliminated.
Incidentally, in addition to this, the following method in which: a
part of the parent individuals is returned to the population as it
is without being selected as the object of the natural selection
and the number of "the rest of the parent individual" is returned
in the order of the highest value from the rest of the parent
individuals and the child individuals; or after the whole
individuals are returned to the parent population, only original
number of the parent population is left and the others are
eliminated may be used.
[0038] Generally, in the GA, a mutation method is applied in
addition to crossover method. However, for example, in the
above-mentioned Japanese Patent Publication, since the genes of the
child individuals are generated using random numbers in the process
of the crossover, the property of the mutation is also included.
Therefore, in the case of using the above-mentioned crossover
method, the mutation is not required to be performed additionally.
Incidentally, in the case of the GA handling real number value, the
operation wherein normal random numbers being generated according
to a normal distribution are added to each gene of the chromosomes,
is proposed as a mutation processing, and the above-mentioned
mutation processing may be added.
[0039] In an S63, whether or not accuracy, i.e., an error of the
experimental result of the physical model using the parameters of
the individuals being equal to the most highly-evaluated value
meets the target value is determined, and when the determination
result is affirmative, the received data is transferred to an S72.
In the S64, whether or not the GA processing (generational change)
is performed by a determined iteration beforehand (6 times in FIG.
2), is determined, and when the determination result is
affirmative, the received data is transferred to the S72.
[0040] In an S65, whether or not an individual extraction cycle for
the local method (3 times in FIG. 2) is presented is determined,
and when the determination result is affirmative, the received data
is transferred to an S66. In the S66, the superior individuals are
transferred to the CPU for the local method only by the
predetermined number. In an S67, whether or not a migration cycle
(twice in FIG. 2) is presented is determined, and when the
determination result is affirmative, the received data is
transferred to an S68. However, when the determination result is
negative, the received data is returned to the S60.
[0041] A parallel GA system of the present invention allows each
child population to become independent with respect to each
processor and evolve. Consequently, the GA process in each
processor lowers the diversity of a solution compared to the GA
process of a parent population, so that the fitting capability goes
down. Consequently, the processing referred to as migration is
added. Migration is the process of replacing the chromosomes among
child populations in the respective CPUs. By this processing, the
diversity of the solution is maintained, and the fitting capability
which is the same or more than the fitting capability during the
single population processing is maintained.
[0042] In the S68, the superior individuals are extracted only by
the predetermined number. In an S69, the data of the extracted
individual is transferred to the predetermined CPU. The forwarding
CPU may be fixed beforehand, or a table or an arithmetic expression
which determines to which CPU will be transferred for what time may
be created and distributed beforehand. As an example, the data may
be transferred in a ring such that, for example, the CPU1 data is
transferred to the CPU2, the CPU2 data is transferred to the CPU3 .
. . the CPUn-1 data is transferred to the CPU1. In an S70, the data
migrated from the other CPUs is received. In an S71, the data
migration in an S70 is added to the parent population of the
individual, and returned to the S60.
[0043] When the termination is determined, the superior individual
information with a predetermined number which is the result of the
processing in the S72, is transferred and reported to the
management CPU, and the GAn processing is completed.
[0044] By the above-mentioned structure and processing,
high-accuracy parameter adjustment can be performed within a short
time. By adopting the relevant parameters to the physical model, a
high-accuracy circuit simulation can be performed without a test,
so that efficiency in manufacturing a semiconductor device
improves.
[0045] Embodiment 1 is explained in the above; however, the
following transformational example is used as the parameter
adjusting device of the present invention. In the embodiment, the
example where: the individual for the local-method processing
periodically transmits the superior individual information is
disclosed; however, in the case that the individual information
satisfying the predetermined accuracy in the CPUs for each GA
appears, the individual information may be transmitted to the CPU
for the local method as needed.
[0046] In the embodiment, the example wherein each CPU is assigned
to any of the GA processing or the local-method processing is
disclosed; however, in the case that, for example, there is only
one CPU with a high processing capability, both of the GA
processing and the local-method processing can be assigned to the
CPU with the highest processing capability, and only the GA
processing can be assigned to the other CPUs.
[0047] In the embodiment, the example wherein the superior interim
result of the GA processing is searched by the local method is
disclosed; however, in the case wherein there are multiple peaks of
the evaluated values in a parameter space, when the superior
interim result of the GA processing can be classified into the
multiple groups being able to be fitted within the predetermined
range in the parameter space, the representative individuals of
each group may be searched by the local method.
[0048] The parameter adjusting device of the present invention can
be applied to an optional parameter adjusting device optimizing a
parameter using the genetic algorithm with multiple processing
means.
[0049] The disclosure of Japanese Patent Application No.
2003-433656, filed on Dec. 26, 2003, is incorporated in the
application.
[0050] While the invention has been explained with reference to the
specific embodiments of the invention, the explanation is
illustrative and the invention is limited only by the appended
claims.
* * * * *