This document discusses using genetic algorithms to evolve the parameters of computer chess programs. It proposes combining evolution and coevolution to evolve an evaluation function by mimicking human grandmaster moves from databases. Small populations play games to determine fitness, with the best organisms improving through additional coevolution rounds. Experimental results found the best organism learned parameter values matching grandmasters and performed comparably to top programs while exploring fewer game tree nodes.
Survival of the Fittest: Using Genetic Algorithm for Data Mining OptimizationOr Levi
Presented at the eBay Inc Data Conference 2013:
“Survival of the Fittest: Using Genetic Algorithm for Data Mining Optimization”
Showed a Genetic Algorithm based method to optimize cluster analysis and developed a demo, applying this algorithm, for grouping similar items on eBay into a catalog of unique products.
Introduction to machine learning. Basics of machine learning. Overview of machine learning. Linear regression. logistic regression. cost function. Gradient descent. sensitivity, specificity. model selection.
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning SystemHarshal Jain
The aim of this project is to analyze the parameter, for the inputs to find an optimization problem than the candidate solution we have. This will help us to find more accurate knowledge level of user, using Genetic Algorithm (GA). In this algorithm a population of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem is evolved toward better solutions.
Survival of the Fittest: Using Genetic Algorithm for Data Mining OptimizationOr Levi
Presented at the eBay Inc Data Conference 2013:
“Survival of the Fittest: Using Genetic Algorithm for Data Mining Optimization”
Showed a Genetic Algorithm based method to optimize cluster analysis and developed a demo, applying this algorithm, for grouping similar items on eBay into a catalog of unique products.
Introduction to machine learning. Basics of machine learning. Overview of machine learning. Linear regression. logistic regression. cost function. Gradient descent. sensitivity, specificity. model selection.
Analysis of Parameter using Fuzzy Genetic Algorithm in E-learning SystemHarshal Jain
The aim of this project is to analyze the parameter, for the inputs to find an optimization problem than the candidate solution we have. This will help us to find more accurate knowledge level of user, using Genetic Algorithm (GA). In this algorithm a population of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem is evolved toward better solutions.
Introduction to Optimization with Genetic Algorithm (GA)Ahmed Gad
Selection of the optimal parameters for machine learning tasks is challenging. Some results may be bad not because the data is noisy or the used learning algorithm is weak, but due to the bad selection of the parameters values. This article gives a brief introduction about evolutionary algorithms (EAs) and describes genetic algorithm (GA) which is one of the simplest random-based EAs.
References:
Eiben, Agoston E., and James E. Smith. Introduction to evolutionary computing. Vol. 53. Heidelberg: springer, 2003.
https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad
https://www.kdnuggets.com/2018/03/introduction-optimization-with-genetic-algorithm.html
Designed and implemented three variants of evolutionary algorithms using pthreads for hyperparameter optimization of
Deep Neural Networks that give upto 9x speedups on 16 cores and scale very well with increasing number of threads,
hyperparameter space, search time and accuracy compared to standard baseline algorithms in OpenMP
An innovative approach for feature selection based on chicken swarm optimizationAboul Ella Hassanien
This talk is presented at Bio-inspiring and evolutionary computation: Trends, applications and open issues workshop, 7 Nov. 2015 Faculty of Computers and Information, Cairo University
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
This lecture provides an overview on biological evolution and genetic algorithms in a machine learning context. We will start off by going through a broad overview of the biological evolutionary process and then explore how genetic algorithms can be developed that mimic these processes. We will dive into the types of problems that can be solved with genetic algorithms and then we will conclude with a series of practical examples in R which highlights the techniques: The Knapsack Problem, Feature Selection and OLS regression, and constrained optimizations.
Reinforcement learning (RL) is an area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward. Reinforcement learning is one of three basic machine learning paradigms, alongside supervised learning and unsupervised learning.
Prediction of Euro 50 Using Back Propagation Neural Network (BPNN) and Geneti...AI Publications
Modeling time series is often associated with the process forecasts certain characteristics in the next period. One of the methods forecasts that developed nowadays is using artificial neural network or more popularly known as a neural network. Use neural network in forecasts time series can be a good solution, but the problem is network architecture and the training method in the right direction. One of the choices that might be using a genetic algorithm. A genetic algorithm is a search algorithm stochastic resonance based on how it works by the mechanisms of natural selection and genetic variation that aims to find a solution to a problem. This algorithm can be used as teaching methods in train models are sent back propagation neural network. The application genetic algorithm and neural network for divination time series aim to get the weight optimum. From the training and testing on the data index share price euro 50 obtained by the RMSE testing 27.8744 and 39.2852 RMSE training. The weight or parameters that produced by has reached an optimum level in second-generation 1000 with the best fitness and the average 0.027771 the fitness of 0.0027847.Model is good to be used to give a prediction that is quite accurate information that is shown by the close target with the output.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
More Related Content
Similar to Genetic Algorithms for Evolving Computer Chess Programs
Introduction to Optimization with Genetic Algorithm (GA)Ahmed Gad
Selection of the optimal parameters for machine learning tasks is challenging. Some results may be bad not because the data is noisy or the used learning algorithm is weak, but due to the bad selection of the parameters values. This article gives a brief introduction about evolutionary algorithms (EAs) and describes genetic algorithm (GA) which is one of the simplest random-based EAs.
References:
Eiben, Agoston E., and James E. Smith. Introduction to evolutionary computing. Vol. 53. Heidelberg: springer, 2003.
https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad
https://www.kdnuggets.com/2018/03/introduction-optimization-with-genetic-algorithm.html
Designed and implemented three variants of evolutionary algorithms using pthreads for hyperparameter optimization of
Deep Neural Networks that give upto 9x speedups on 16 cores and scale very well with increasing number of threads,
hyperparameter space, search time and accuracy compared to standard baseline algorithms in OpenMP
An innovative approach for feature selection based on chicken swarm optimizationAboul Ella Hassanien
This talk is presented at Bio-inspiring and evolutionary computation: Trends, applications and open issues workshop, 7 Nov. 2015 Faculty of Computers and Information, Cairo University
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
This lecture provides an overview on biological evolution and genetic algorithms in a machine learning context. We will start off by going through a broad overview of the biological evolutionary process and then explore how genetic algorithms can be developed that mimic these processes. We will dive into the types of problems that can be solved with genetic algorithms and then we will conclude with a series of practical examples in R which highlights the techniques: The Knapsack Problem, Feature Selection and OLS regression, and constrained optimizations.
Reinforcement learning (RL) is an area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward. Reinforcement learning is one of three basic machine learning paradigms, alongside supervised learning and unsupervised learning.
Prediction of Euro 50 Using Back Propagation Neural Network (BPNN) and Geneti...AI Publications
Modeling time series is often associated with the process forecasts certain characteristics in the next period. One of the methods forecasts that developed nowadays is using artificial neural network or more popularly known as a neural network. Use neural network in forecasts time series can be a good solution, but the problem is network architecture and the training method in the right direction. One of the choices that might be using a genetic algorithm. A genetic algorithm is a search algorithm stochastic resonance based on how it works by the mechanisms of natural selection and genetic variation that aims to find a solution to a problem. This algorithm can be used as teaching methods in train models are sent back propagation neural network. The application genetic algorithm and neural network for divination time series aim to get the weight optimum. From the training and testing on the data index share price euro 50 obtained by the RMSE testing 27.8744 and 39.2852 RMSE training. The weight or parameters that produced by has reached an optimum level in second-generation 1000 with the best fitness and the average 0.027771 the fitness of 0.0027847.Model is good to be used to give a prediction that is quite accurate information that is shown by the close target with the output.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
2. Chess - Not so Conventional
Chess has been around for some 1500 years
Gameplay has been rigorously studied
It has a defined start state
It has complete information
Why not employ traditional conventional learning algorithms?
3. What makes Chess such a challenge?
Chess is incredibly complex
For example, the number of possible ways of playing the first four moves per side
is 318, 979, 564, 000
First ten moves? 169, 518, 829, 100, 544, 000, 000, 000, 000, 000 different ways
An estimated on the game-tree complexity of chess is 10120
1046 different positions that can arise (accounting for legal moves)
Exhaustive search is infeasible!
4. What does this mean?
Current evaluation functions for top chess programs rely on manual manipulation
of their evaluation function.
This equates to years of Trial and Error in order for an evaluation function to give
an adequate evaluation of the current state of the game.
Rely on A Priori data collected from the years of research
The currently algorithms are merely a brute-force search approach that have no
learning capability.
Is this the poster-child for AI that we’ve been looking for?
5. Search Space
The search space of chess is not smooth and unimodal
That means, tweaking the parameters is a significant challenge
Turn 3 dials one way and get a drop in performance, but turn the 4th and get an
increase.
Hill climbing algorithms can’t help us here
6. Tune and Guess
Do we really know what we’re doing?
Finding the best value for a parameter for the evaluation function is a matter of
guessing and intuition.
We don’t have a good grasp of the problem, making it difficult for programmers to
find heuristics to tuning parameters by means other than trial and error.
And… is there a global optimum to be found?
Current algorithms try to find this global optimum solution for the parameters,
which in the case of chess, is likely to not even exist.
7. Genetic Algorithms to the Rescue?
Are genetic algorithms the solution?
At first glance, it appears to be an optimization problem
Optimization problems + Genetic Algorithms = GOOD
i.e. Encode the parameters into a bit string and watch it evolve
So… what’s the problem?
8. Fitness Function
How to evaluate the fitness of each mutation?
We let it play Chess...
Even if only let it play 100 games with 10 seconds per game it would take 825
minutes for each generation to evolve.
That means, 57 days to just reach the 100th generation.
So… we can’t rely on co-evolution alone.
9. Alternative Fitness Function
Instead of our organisms playing themselves, they play history
Each organism is given a state, and told to make a move given that state
They are only allowed to search in the first set of actions
The organism’s action is compared to that of a Grandmaster’s game
Fitness is determined by how many matching actions the organism got
10. Organism vs. Organism
Final stage, after many iterations of the previous means of evolution
After playing compared to the Grandmaster, the evolved organisms play each
other
None are starting at random
Fitness now is the relative strength of each organism
Best single evolved organism is selected
11. Coevolution isn’t enough to create suitable parameters for chess
Small populations were used in this case
Organisms did not start off with random parameters, but were already tuned
With this method, we do not see if the move came to a favourable outcome, just
that the grandmaster made that move
12. Coevolution in previous researches
Chellapilla and Fogel - expert level checker program
used to evolve neural network board evaluators
applicability to chess not clear
No successful attempt of using coevolution to evolve the parameters of a chess
program from fully randomized initial values
Chess rely on priori knowledge, could be successfully employed when initial
material and positional parameter have initialed within sensible ranges
13. Coevolution for evolving computer chess program
Combine evolution and coevolution for evolving parameters of evaluation function
simulate moves of a human grandmaster
avoid relying on availability of evaluation scores
assume the program already contained a highly tuned search
mechanism
14. Coevolution for evolving computer chess program
Pre-condition
only relies on a widely available database of grandmaster-level games
Method in general
evolve organism to mimic the behavior of human grandmasters
organisms are then improved by coevolution
16. What does coevolution do?
Use a single-population coevolution phase
the selected 10 best organisms serve as initial population
in each generation, each organism plays four games against each other
apply fitness function based on this relative performance
apply rank-based selection to select the organisms for breeding
After running
select the best evolved organism as the best overall organism
17. Why use coevolution?
To improve upon these organisms and create an enhanced best of best organism
If use a specific grandmaster for each run
does not improve over the method used
using 1-ply searches only enables mimicking general master style
Note
in this case, the population size is small, initial organisms has well tuned
at this stage, the playing strength of the program is substantially limited
18. Selective Search: Methods
Selective search methods work by pruning uninteresting moves earlier and
spending more time exploring more interesting moves.
This works better than simply searching all moves up to a certain fixed depth.
Such methods include null-move pruning, futility pruning, multicut pruning, and
selective extensions. Each of these methods involve critical parameters which are
normally tuned using experimental data and optimized manually.
19. Selective Search: Genetic Algorithm
GA can be used to automate the tuning and optimization of the parameters for
these selective search methods.
Represent each of the parameters as binary chromosomes with the number of bits
need to satisfy the expected range of the parameters.
For training a set of tactical test positions labeled with best moves is processed by
each chromosome.
20. Selective Search: Training and Evaluation
Each chromosome processes every position in the set and searches for a best
move.
Rather than counting the number of correctly solved positions it is better to count
the number of nodes processed to reach each of the solution and sum this total
over the entire training set.
This method of evaluation gives more fitness information per position and
encourages organisms to not only find solutions but to find them quickly.
21. Selective Search: Optimization
Once we have this method of evaluating the fitness of these chromosomes the GA
implementation of optimizing selective search parameters is standard.
Chromosomes are gray coded, use fitness-proportional selection, uniform
crossover, and elitism.
22. Experimental results: running time
Running the evolution ten times for about 20 hours.
Coevolution phase run for approximately 20 hours.
Each organism played each other organism four times in every round.
Each game is limited to ten seconds
23. Results of Evolution
Y axis: the number of correct
moves found
X axis: the generation
The best organism has 1620
correct positions, which
corresponds to 32.4% of the total
positions.
24. Results of Coevolution
The evolved organism learns its
parameter values from human
grandmasters
Some evolved parameter values of the
best organism
25. Evolving Search Parameters
Y axis: Total node count for 879
ECM positions for the best and
average organism
X axis: the generation
26. Comparing with other algorithm
Evol* : contains all parameter values for the evaluation function and the search
mechanism.
the number of correct moves found
performed at comparable levels with Crafty
Junior, Fritz and Hiarcs
27. References
David, Omid E., H. Jaap Van Den Herik, Moshe Koppel, and Nathan S.
Netanyahu. "Genetic Algorithms for Evolving Computer Chess Programs." IEEE
Transactions on Evolutionary Computation IEEE Trans. Evol. Computat. 18.5
(2014): 779-89. Web.
http://www.chess-poster.com/english/notes_and_facts/did_you_know.htm
https://en.wikipedia.org/wiki/Shannon_number
Editor's Notes
We should note which question the slides are for, so that we keep everything together and know where to slot in new work.
My guess is that the current slides are for questions 1 and 2?
END QUESTION 2
Question 3 Start
We use a widely available database of grandmaster-level games, and get a list of positions and known next moves
For each position, we make the organism decide a move from a 1-ply search
Compare the organism’s selected move and with that of the grandmaster.
Fitness is the number of moves that the organism got matching
This takes very little time. About 1ms for a single position’s 1-ply search, and so 1000 positions in a second
Question 3
We have already, through the previous method, got a population of fairly good chess players
This only serves to give the best out of all of them
Question 3 End
Coevolution isn’t enough, we need to have a way of starting strong with a known good base
Small populations are good for time, maybe not as good for getting a good result
Tuned organisms will evolve to their peak quicker, but require time for tuning ahead of time
This method comes from the assumption we are training on someone who is good (it is a grandmaster) but it could be a position and move that they then lose from