IP Library Granted Patent US 7,222,323
Granted Patent B2
US 7,222,323 · App. 10/469,808 · Granted May 22, 2007

Evolutionary programming of configurable logic devices

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 7,222,323
App. No.
10/469,808
Granted
May 22, 2007
Kind
B2
Abstract

A configurable hardware logic device is configured to implement a complete evolutionary algorithm in hardware. The configured hardware logic device produces an initial population of individuals, carries out fitness tests on the initial population of individuals, selects an individual or individuals of the initial population on the basis of results of the fitness tests, breeds a further population of individuals from the selected individual or individuals, and provides a single preferred selected individual from the further population of individuals.

Claims (35)

1. An uncommitted configurable hardware logic device adapted, when configured, to implement a complete evolutionary algorithm in hardware, the configured hardware logic device comprising:

a) population producing means having an output, and operative for producing an initial population of individuals at the output;

b) fitness evaluating means having an input and first and second outputs, the output of the population producing means being connected to the input of the fitness evaluating means, and the fitness evaluating means being operative for carrying out fitness tests on the initial population of individuals, and for providing results of the fitness tests and the respective individuals at the first output of the fitness evaluating means;

c) selector means having an input and an output, and operative for selecting at least one individual of the initial population on the basis of the results of the fitness tests and the respective individuals connected from the output of the fitness evaluating means to the input of the selector means, and for providing the selected at least one individual at the output of the selector means;

d) breeding means having an input connected to the output of the selector means, and operative for breeding a further population of individuals from the selected at least one individual, and having an output connecting the further population of individuals to the input of the fitness evaluating means; and

e) the fitness evaluating means being further operative for providing a single preferred selected individual from the further population of individuals at the second output of the fitness evaluating means.

2. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , wherein the evolutionary algorithm is genetic programming.

3. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , wherein the uncommitted configurable hardware logic device is a field programmable gate array (FPGA).

4. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , which is configured to perform a selected step or steps each in a plurality of parallel steps.

5. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , wherein a configuration is by means of a high-level language to hardware compilation system.

6. The uncommitted configurable hardware logic device when configured as claimed in claim 5 , wherein the high-level language to hardware compilation system is Handel-C.

7. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , wherein the uncommitted configurable hardware logic device is reconfigurable.

8. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , and a random access memory included or connected to the device.

9. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , and a random number generator configured from a part of the device.

10. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , when configured to operate on scalar data.

11. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , when configured to operate on vector data.

12. The uncommitted configurable hardware logic device when configured as claimed in claim 1 , when configured to operate on sub-machine-code.

13. A method of implementing a complete evolutionary algorithm in hardware by configuring an uncommitted configurable hardware logic device to carry out the steps of:

a) creating an initial population of individuals;

b) evaluating a fitness of the initial population of individuals;

c) selecting at least one fittest individual from the initial population of individuals based on the evaluating of the fitness of the initial population of individuals;

d) breeding a further population of individuals from the selected at least one fittest individual;

e) evaluating a fitness of the further population of individuals; and

f) selecting a preferred one of the further population of individuals based on the evaluating of the fitness of the further population of individuals.

14. The method of claim 13 , wherein the evolutionary algorithm is genetic programming.

15. The method of claim 13 , wherein the uncommitted hardware logic device is a field programmable gate array (FPGA).

16. The method of claim 13 , wherein at least one of the steps is performed in a plurality of parallel steps.

17. The method of claim 13 , wherein the configuring is performed by a high-level language to hardware compilation system.

18. The method of claim 17 , wherein the high-level language to hardware compilation system is Handel-C.

19. The method of claim 13 , wherein the uncommitted configurable hardware logic device is reconfigurable.

20. The method of claim 13 , and the step of storing data in a random access memory.

21. The method of claim 13 , and the step of configuring a random number generator.

22. The method of claim 13 , and the step of operating on scalar data.

23. The method of claim 13 , and the step of operating on vector data.

24. The method of claim 13 , and the step of operating on sub-machine code.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2006
From: MARCONI UK INTELLECTUAL PROPERTY LTD.
To: M(DGP1) LTD
Reel/Frame 018635/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2006
From: M(DGP1) LTD
To: ERICSSON AB
Reel/Frame 018797/0607 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2004
From: MARTIN, PETER NIGEL
To: MARCONI COMMUNICATIONS LIMITED
Reel/Frame 015830/0832 →