Evolutionary Code Optimization with Diploid Haploid Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmers face limitations in improving the realism of artificial-opponent systems due to time constraints, creativity, and knowledge, leading to restricted experimentation and innovation in developing new programmatic approaches.

Innovation Solution

The techniques involve evolutionary computer-based optimization methods, using genetic programming to combine and mutate candidate executable code sets based on fitness scores to produce resultant code with desired ploidy, allowing for simultaneous stability and experimentation, enabling the creation of new algorithmic breakthroughs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If programmers manually develop new programmatic approaches step-by-step, then the improvements are limited by programmer time, creativity, and knowledge, but the process allows for careful design and debugging

Engineering Contradiction:
Improvespeed of improvementVSAvoidcomplexity of optimization process
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system enables self-service by allowing the evolutionary computation system to automatically generate, evaluate, and refine game-playing approaches without continuous human intervention. The system serves itself by autonomously exploring the solution space through genetic algorithms, automatically debugging through fitness evaluation, and continuously improving strategies based on performance feedback.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical system of manual programming with an automated evolutionary computation system. Instead of programmers manually writing and debugging code step-by-step, the system uses genetic algorithms to automatically evolve executable code through selection, crossover, and mutation operations, substituting human cognitive processes with computational automation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If programmers manually experiment with different approaches, then creativity and knowledge are utilized, but time constraints limit the extent of experimentation

Engineering Contradiction:
Improverange of experimentationVSAvoidtime available for experimentation
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-generating large populations of diverse candidate solutions before formal evaluation begins. The evolutionary system pre-explores the solution space by creating varied genetic programs with different structures and strategies, so that when evaluation starts, there is already a broad range of experimented approaches ready for assessment and selection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies dynamics by making the experimentation process adaptive and evolving over time. The population of candidate solutions dynamically changes through generations, with the system adapting its exploration based on fitness feedback. The range of experimentation expands automatically as the system discovers new strategies and combines them through crossover operations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If evolutionary techniques are used to automatically generate and evaluate candidate code, then time and effort are reduced, but the system complexity increases

Engineering Contradiction:
Improvedevelopment speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the complex task of game-playing strategy development into distinct evolutionary operations: initialization of candidate populations, fitness evaluation through game simulation, selection of high-performing individuals, crossover to create offspring, and mutation to introduce variation. Each segment is independently implemented and can be optimized separately, making the overall complex system manageable through modular functional decomposition.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11657294B1Evolutionary techniques for computer-based optimization and artificial intelligence systems
Publication Date: 2023.05.23 HOWSO INC
  • US11657294B1 patent drawing
  • US11657294B1 patent drawing
  • US11657294B1 patent drawing

AI summary

Techniques are provided for evolutionary computer-based optimization and artificial intelligence systems, and include receiving first and second candidate executable code (with ploidy of at least two and one, respectively) each selected at least in part based on a fitness score. If the desired ploidy of the resultant executable code is one, then the first candidate executable code and the second candidate executable code are combined to produce haploid executable code. If the desired ploidy is two, then the first candidate executable code and the second candidate executable code are combined to produce diploid executable code. A fitness score is determined for the resultant executable code, and a determination is made whether the resultant executable code will be used as a future candidate executable code based at least in part on the third fitness score. If an exit condition is met, then the resultant executable code is used as evolved executable code.