IP Library Granted Patent US 10,466,972
Granted Patent B2
US 10,466,972 · App. 15/898,731 · Granted Nov 5, 2019

Automatic program generation system and automatic program generation method

Inventors: Atsushi Miyamoto (Tokyo, JP); Tadayuki Matsumura (Tokyo, JP); Norio Ohkubo (Tokyo, JP); Ryuji Mine (Tokyo, JP)
Assignee: HITACHI LTD.
G06F8/30G06F8/75G06N3/126G06F8/10G06F8/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,466,972
App. No.
15/898,731
Granted
Nov 5, 2019
Kind
B2
Abstract

An automatic program generation system that includes: an input unit that receives inputs of input data, target data, and design requirements for a first program to be generated; a program storage unit that stores a plurality of existing second programs; a program generation device that generates the first program; and an output unit that outputs the first program. The program generation device includes a program analysis unit that analyzes the plurality of second programs to generate a program model, a basic node/constraint generation unit that generates basic nodes and constraints for evolutionary computation based on the generated program model and the design requirements input from the input unit, and an optimization unit that generates the first program by the evolutionary computation based on the basic nodes and the constraints and the input data and the target data input from the input unit.

Claims (59)

1. An automatic program generation system for suppressing a combinatorial explosion of processing, the automatic program generating system comprising:

an input/output device that receives inputs of input data, target data, and design requirements for a first program to be generated;

a memory that stores a plurality of existing second programs;

a processor communicatively coupled to the input/output device and the memory, wherein the processor:

analyzes the plurality of existing second programs stored in the memory,

generates a program model based on the analysis of the plurality of existing second programs,

generates basic nodes and constraints for evolutionary computation based on the program model and the design requirements input from the input/output device,

generates a plurality of individuals, a generation number, an intersection probability, a mutation probability, a selection weight according to classification information of a node, a selection probability of a node, and a mutation probability of a node as the constraints,

generates an initial group based on the constraints,

calculates a compatibility representing a distance between the output data of individuals with respect to the input data and the target data by using the input data and the target data,

selects the individuals from the initial group based on the compatibility and the constraints and performs intersection processing or mutation processing on the individuals selected from the initial group by using the constraints to return corrected individuals to the initial group,

selects a representative individual from the returned corrected individuals, and

converts the representative individual into the first program; and

the input/output device outputs the first program.

2. The automatic program generation system according to claim 1 ,

wherein the program model is vector data in which at least one of the second program is converted, and

the processor extracts syntactic structure information from the plurality of existing second programs and enumerates node items from the syntactic structure information to learn node vector information, in order to derive the vector data.

3. The automatic program generation system according to claim 1 ,

wherein the program model is template data, and

the processor extracts syntactic structure information from the plurality of existing second programs, extracts a partial structure from the syntactic structure information, and extracts a similar structure between the plurality of existing second programs, in order to derive the template data.

4. The automatic program generation system according to claim 1 :

wherein the program model is a probability transition graph, and

the processor creates a program list from the plurality of existing second programs and overlaps the syntactic structure information of the plurality of existing second programs according to the created program list, in order to derive the probability transition graph.

5. The automatic program generation system according to claim 1 ,

wherein the program model is vector data in which at least one of the second program is converted, and

the processor extracts syntactic structure information from the plurality of existing second programs, extracts dependency information from the plurality of existing second programs, learns node vector information by enumerating node items from the syntactic structure information, generates weight information from the dependency information, and additionally learns the node vector based on the node vector information and the weight information, in order to derive the vector data.

6. The automatic program generation system according to claim 1 ,

wherein the input/output device inputs at least one of a type of utilization program, a type of library and style as the design requirements.

7. The automatic program generation system according to claim 1 ,

wherein the input/output device inputs the first program before correction as the design requirements.

8. The automatic program generation system according to claim 1 ,

wherein the program model is vector data in which at least one of the second program is converted, and

the processor classifies the nodes in the plurality of existing second programs using the vector data and generates the constraints based on the classification information of the nodes.

9. The automatic program generation system according to claim 1 ,

wherein the program model is template data or a probability transition graph, and

the processor analyzes a connection relationship between the nodes in the plurality of existing second programs by using the template data or the probability transition graph and generates the constraints based on the connection relationship of the nodes.

10. The automatic program generation system according to claim 1 ,

wherein the processor generates a basic node constituting each node of a tree structure processed for the evolutionary computation as the basic node.

11. The automatic program generation system according to claim 1 ,

wherein the program model is vector data in which at least one of the second program is converted, and

the processor classifies the nodes in the plurality of existing second programs by using the vector data and generates basic nodes for the evolutionary computation based on the classification information of the nodes.

12. The automatic program generation system according to claim 1 ,

wherein the program model is template data, and

the processor uses the template data as the basic nodes.

13. The automatic program generation system according to claim 1 ,

wherein the evolutionary computation is genetic programming, and

the processor repeatedly updates generations by the evolutionary computation according to the genetic programming and converges the compatibility to generate the first program.

14. An automatic program generation method for suppressing a combinatorial explosion of processing, the method comprising:

receiving inputs, via a processor, of input data, target data, and design requirements for a first program to be generated by the processor;

storing a plurality of existing second programs in a memory;

analyzing, via the processor, the plurality of existing second programs to generate a program model;

generating, via the processor, basic nodes and constraints for evolutionary computation based on the generated program model and the input design requirements;

generating a plurality of individuals, a generation number, an intersection probability, a mutation probability, a selection weight according to classification information of a node, a selection probability of a node, and a mutation probability of a node as the constraints;

generating, via the processor, an initial group based on the constraints;

calculating, via the processor, a compatibility representing a distance between the output data of individuals with respect to the input data and the target data by using the input data and the target data;

selecting, via the processor, the individuals from the initial group based on the compatibility and the constraints and performs intersection processing or mutation processing on the individuals selected from the initial group by using the constraints to return corrected individuals to the initial group;

selecting, via the processor, representative individual from the returned corrected individuals;

converting, via the processor, the representative individual into the first program; and

outputting the generated first program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2018
From: MIYAMOTO, ATSUSHI; MATSUMURA, TADAYUKI; OHKUBO, NORIO; MINE, RYUJI
To: HITACHI LTD.
Reel/Frame 044974/0596 →
Priority Claims (1)
JP 2017-030940 · Feb 22, 2017 · national
Continuity (1)
Related Publication 20180239593A1 · Aug 23, 2018
Cited By (1)
US 12,554,993