This talk will introduce into programming with evolutionary algorithms.
We'll build and/or discover a small framework for creating genetic
algorithms.
Genetic algorithms are good to solve certain kind of algorithmic
problems.
The talk will also give a rough picture about situations where
evolutionary programming might be the right solution.
Especially np hard problems like the traveling sales man problem (TSP) or
the rucksack problem are well known combinatoric problems (such as
distributing vservers across a number of vserver-hosts).
Effects of population initialization on differential evolution for large scal...Borhan Kazimipour
This work provides an in-depth investigation of the effects of population initialization on Differential Evolution (DE) for dealing with large scale optimization problems. Firstly, we conduct a statistical parameter sensitive analysis to study the effects of DE’s control parameters on its performance of solving large scale problems. This study reveals the optimal parame- ter configurations which can lead to the statistically superior performance over the CEC-2013 large-scale test problems. Thus identified optimal parameter configurations interestingly favour much larger population sizes while agreeing with the other parameter settings compared to the most commonly employed parameter configuration. Based on one of the identified optimal configurations and the most commonly used configuration, which only differ in the population size, we investigate the influence of various population initialization techniques on DE’s performance. This study indicates that initialization plays a more crucial role in DE with a smaller population size. However, this observation might be the result of insufficient convergence due to the use of a large population size under the limited computational budget, which deserve more investigations.
This is an easy introduction to the concept of Genetic Algorithms. It gives Simple explanation of Genetic Algorithms. Covers the major steps that are required to implement the GA for your tasks.
For other resources visit: http://pimpalepatil.googlepages.com/
For more information mail me on pbpimpale@gmail.com
Presentation is about genetic algorithms. Also it includes introduction to soft computing and hard computing. Hope it serves the purpose and be useful for reference.
Effects of population initialization on differential evolution for large scal...Borhan Kazimipour
This work provides an in-depth investigation of the effects of population initialization on Differential Evolution (DE) for dealing with large scale optimization problems. Firstly, we conduct a statistical parameter sensitive analysis to study the effects of DE’s control parameters on its performance of solving large scale problems. This study reveals the optimal parame- ter configurations which can lead to the statistically superior performance over the CEC-2013 large-scale test problems. Thus identified optimal parameter configurations interestingly favour much larger population sizes while agreeing with the other parameter settings compared to the most commonly employed parameter configuration. Based on one of the identified optimal configurations and the most commonly used configuration, which only differ in the population size, we investigate the influence of various population initialization techniques on DE’s performance. This study indicates that initialization plays a more crucial role in DE with a smaller population size. However, this observation might be the result of insufficient convergence due to the use of a large population size under the limited computational budget, which deserve more investigations.
This is an easy introduction to the concept of Genetic Algorithms. It gives Simple explanation of Genetic Algorithms. Covers the major steps that are required to implement the GA for your tasks.
For other resources visit: http://pimpalepatil.googlepages.com/
For more information mail me on pbpimpale@gmail.com
Presentation is about genetic algorithms. Also it includes introduction to soft computing and hard computing. Hope it serves the purpose and be useful for reference.
A/B Testing and the Infinite Monkey TheoryUseItBetter
Surveys show that on average only 1 out of 7 A/B tests run by e-commerces end up to be successful. Lukasz Twardowski, the CEO of UseItBetter, tries to explain how some of the most successful online businesses master this process turning it into iterative, evidence-led experimentation at scale programme.
OSMC 2015: Testing in Production by Devdas BhagatNETWAYS
For most ecommerce companies, software is not the final deliverable product. It is a research tool, to determine what customers will pay for. To be able to get good data from software, monitoring and analytics must be built into the system. Alerting must come from business requirements and be based on application generated data.
In the traditional operations world, we monitor what is easy, and avoid monitoring that which is difficult. This talk is an attempt to show people that monitoring must be driven by metrics from the CxO office, and then potentially involve technical metrics if needed.
This talk explains why functional and business level monitoring is crucial. We also cover the tradeoffs from a DTAP model to continuous deployment. There will be a brief introduction to a couple of useful monitoring tools for functional monitoring. No special technical skills are expected of the audience, but having a general overview of the monitoring world is a good thing. This talk is not limited to ecommerce companies, but is most applicable to that environment.
BigData and Algorithms - LA Algorithmic TradingTim Shea
Slides from LA Algorithmic Trading event (http://www.meetup.com/LA-Algorithmic-Trading/events/98963812/) on using BigData and Algorithms in your business. Covers how What'sGood uses algorithms to allow users to make choices about food on the go and the "BigData" infrastructure we've built to support them.
Includes topics such as"big" data ingestion, in-stream processing, NLP algorithms, assessing "popularity", assigning relevancy weights in search, adding "dimensionality" to restaurant menus by cleansing public data sets, and mapping loosely correlated dataset into your own.
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)Elad Rosenheim
This is my talk given at eXelate's "big data eXposed 2015" event in Tel-Aviv.
It touches the common problem of trying to optimize websites for better conversion rates, and covers the range of solutions - starting at classic A/B testing (unsuitable for rapidly changing content), going through Multi-Arm Bandits and finally arriving at Contextual Bandits - online machine learning algorithms allowing for true personalization in real-time.
Anyone who's worked on a web project has stumbled across the horror of "legacy content" that makes no sense, or is held together with duck tape and dreams. In this talk, we'll look at some noteworthy content disasters, learn to spot problem areas in the future, and remember to be kind: the disasters of the past were built be people just like us, working with constraints we may not understand.
By popular demand, I am sharing the deck from a rather grand conference FFWD held in Zagreb on June 11th. Blurb ensues:
"Society is shifting from a pyramidal structure towards something much more like an eco-system with new relationships between actors. In these uncertain times the role of digital professionals is of providing or smuggling vision and guidance."
OK, don't be shy, tell me what you think.
Every organisation pretends to be unique, but they mostly follow similar mechanics. Discover how your organisation too falls into common pitfalls and antipatterns and how you can leverage the situation to improve it.
Slaying The Legacy Dragon: Practical Lessons in Replacing Old SoftwareTim Berglund
Everyone hates the legacy application and wants to replace it. You're tired of the brittle, untested code, the outdated frameworks, the platform nobody cares about anymore. You want to apply current practices and the productivity gains of today's tools. Usually this is just a frustrated dream, but every once in a while, you actually get to do it. That's great news, but it raises a question: how do you do that?
In this presentation, we'll examine the issues encountered by a business undertaking the enormous effort of replacing a key legacy application with a new technology stack. We'll explore the technology, business, and people problems that can result, looking at specific technology solutions for a slow and careful migration of business-critical functionality off of one system and on to another of a very different kind.
This blogpost describes the Work In Progress (WIP) limits of the Kanban process in detail. How you should use them and what to keep in mind by using them.
A/B Testing and the Infinite Monkey TheoryUseItBetter
Surveys show that on average only 1 out of 7 A/B tests run by e-commerces end up to be successful. Lukasz Twardowski, the CEO of UseItBetter, tries to explain how some of the most successful online businesses master this process turning it into iterative, evidence-led experimentation at scale programme.
OSMC 2015: Testing in Production by Devdas BhagatNETWAYS
For most ecommerce companies, software is not the final deliverable product. It is a research tool, to determine what customers will pay for. To be able to get good data from software, monitoring and analytics must be built into the system. Alerting must come from business requirements and be based on application generated data.
In the traditional operations world, we monitor what is easy, and avoid monitoring that which is difficult. This talk is an attempt to show people that monitoring must be driven by metrics from the CxO office, and then potentially involve technical metrics if needed.
This talk explains why functional and business level monitoring is crucial. We also cover the tradeoffs from a DTAP model to continuous deployment. There will be a brief introduction to a couple of useful monitoring tools for functional monitoring. No special technical skills are expected of the audience, but having a general overview of the monitoring world is a good thing. This talk is not limited to ecommerce companies, but is most applicable to that environment.
BigData and Algorithms - LA Algorithmic TradingTim Shea
Slides from LA Algorithmic Trading event (http://www.meetup.com/LA-Algorithmic-Trading/events/98963812/) on using BigData and Algorithms in your business. Covers how What'sGood uses algorithms to allow users to make choices about food on the go and the "BigData" infrastructure we've built to support them.
Includes topics such as"big" data ingestion, in-stream processing, NLP algorithms, assessing "popularity", assigning relevancy weights in search, adding "dimensionality" to restaurant menus by cleansing public data sets, and mapping loosely correlated dataset into your own.
Taking Machine Learning from Batch to Real-Time (big data eXposed 2015)Elad Rosenheim
This is my talk given at eXelate's "big data eXposed 2015" event in Tel-Aviv.
It touches the common problem of trying to optimize websites for better conversion rates, and covers the range of solutions - starting at classic A/B testing (unsuitable for rapidly changing content), going through Multi-Arm Bandits and finally arriving at Contextual Bandits - online machine learning algorithms allowing for true personalization in real-time.
Anyone who's worked on a web project has stumbled across the horror of "legacy content" that makes no sense, or is held together with duck tape and dreams. In this talk, we'll look at some noteworthy content disasters, learn to spot problem areas in the future, and remember to be kind: the disasters of the past were built be people just like us, working with constraints we may not understand.
By popular demand, I am sharing the deck from a rather grand conference FFWD held in Zagreb on June 11th. Blurb ensues:
"Society is shifting from a pyramidal structure towards something much more like an eco-system with new relationships between actors. In these uncertain times the role of digital professionals is of providing or smuggling vision and guidance."
OK, don't be shy, tell me what you think.
Every organisation pretends to be unique, but they mostly follow similar mechanics. Discover how your organisation too falls into common pitfalls and antipatterns and how you can leverage the situation to improve it.
Slaying The Legacy Dragon: Practical Lessons in Replacing Old SoftwareTim Berglund
Everyone hates the legacy application and wants to replace it. You're tired of the brittle, untested code, the outdated frameworks, the platform nobody cares about anymore. You want to apply current practices and the productivity gains of today's tools. Usually this is just a frustrated dream, but every once in a while, you actually get to do it. That's great news, but it raises a question: how do you do that?
In this presentation, we'll examine the issues encountered by a business undertaking the enormous effort of replacing a key legacy application with a new technology stack. We'll explore the technology, business, and people problems that can result, looking at specific technology solutions for a slow and careful migration of business-critical functionality off of one system and on to another of a very different kind.
This blogpost describes the Work In Progress (WIP) limits of the Kanban process in detail. How you should use them and what to keep in mind by using them.
Learn how to prioritize tasks in meetings and how to make these meetings efficient for every participant. See how Kanban can help you with these topics.
Learn about how to visualize the value chain while using Kanban in your software development processes. Also see what digital Kanban tools are on the market
In this blog post we will show you the different types of meetings within the Kanban process of a development project. Read and learn what they're good for.
These slides describe the second chapter of the book "Kanban - Successful Evolutionary Change for Your Technology Business" written by David J. Anderson. Learn about the Kanban method and its benefits for software development related project management.
These slides give you an short overview about the topics you can find in the first chapter of Successful Evolutionary Change for Your Technology Business written by David J Anderson.
Eine Einführung in die Grundlagen der wohl schönsten Programmiersprache der Neuzeit. Dabei werden auch verwandte Themen wie Git, Rubygems, REST Web-Services, TDD und BDD behandelt.
Eine kurze Einführung in JRuby. JRuby ist ein Ruby Interpreter, der auf der Java-Plattform (JVM) ausgeführt wird. Er kombiniert die Vorzüge der JVM wie z.B. native Threads und einen hervorragenden Garbage Collector mit den Stärken von Ruby, drunter vollständige Objektorientiertheit und Meta Programming.
Enterprise rails hosting 3 ways to scale - 2011-10 Avarteq
Your project is evolving just fine, you have a steady, non-linear growth and your roadmap is tightly packed. You feel hosting issues become more and more time consuming. So what to do? In this talk we will see that the answer to this question is not as easy as: "we'll jump into the cloud". More than this three different ways to solve this problem will be presented: high-end hardware, commodity hardware and a cloud deployment scenario. This gives you options to choose from. For each scenario an exemplary system design illustrating its hosting structure will be shown. We will workout individual pros and cons which need to be considered carefully in respect to your individual requirements. In order to support your decision making we will draft a rough decision tree to help you picking the best possible scenario for your situation. So at the end of the talk should be able to plan your next scale out step, easily.
Wie baut man einen Server-Cluster zum Betrieb einer hochverfügbaren Ruby on Rails-Anwendung.
Themen: Load Balancing, Storage, NFS, iSCSI Phusion Passenger, Wahl des Rechenzentrums, ...
This talk is about how to build a cluster to run a python or ruby (ruby on rails) application. We'll have a look at how the procedure of building such a cluster could look like and what you should take into consideration.
We'll look at issues like: datacenter, networking, load balancing, storage, database replication, ....
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
4. About me
Julian Fischer
‣Twitter: http://www.twitter.com/railshoster
‣E-Mail: fischer@enterprise-rails.de
5. About me
Julian Fischer
‣Twitter: http://www.twitter.com/railshoster
‣E-Mail: fischer@enterprise-rails.de
‣ CEO of Avarteq GmbH
6. About me
Julian Fischer
‣Twitter: http://www.twitter.com/railshoster
‣E-Mail: fischer@enterprise-rails.de
‣ CEO of Avarteq GmbH
‣ Lecturer „Ruby on Rails“ @ HTWdS
7. About me
Julian Fischer
‣Twitter: http://www.twitter.com/railshoster
‣E-Mail: fischer@enterprise-rails.de
‣ CEO of Avarteq GmbH
‣ Lecturer „Ruby on Rails“ @ HTWdS
‣ Ruby und Ruby on Rails programmer
8. About me
Julian Fischer
‣Twitter: http://www.twitter.com/railshoster
‣E-Mail: fischer@enterprise-rails.de
‣ CEO of Avarteq GmbH
‣ Lecturer „Ruby on Rails“ @ HTWdS
‣ Ruby und Ruby on Rails programmer
‣ Entperise-Rails.de - Head of Hosting
12. About Avarteq GmbH
‣ Founded in Nov. 2008
from two existing companies.
‣ Involvment of Key-Systems GmbH
manages ~2,5 * 10^6 domains for customers of 200+ countries.
13. About Avarteq GmbH
‣ Founded in Nov. 2008
from two existing companies.
‣ Involvment of Key-Systems GmbH
manages ~2,5 * 10^6 domains for customers of 200+ countries.
‣ Team size: 14 people
8 full-time, 6 part-time/freelancer
18. About Avarteq GmbH
‣ Covers all stages of web development
‣ Consulting
‣ Conceptual ~ and screen design
19. About Avarteq GmbH
‣ Covers all stages of web development
‣ Consulting
‣ Conceptual ~ and screen design
‣ Ruby&onplace. development.
In house in
Rails
20. About Avarteq GmbH
‣ Covers all stages of web development
‣ Consulting
‣ Conceptual ~ and screen design
‣ Ruby&onplace. development.
In house in
Rails
‣ Ruby on Rails
hosting/servers/clusters
RailsHoster.de - Enterprise-Rails.de
26. Evolution
‣ Population of individuals (organisms)
‣ Genes are passed from generation to
generation.
‣ Slightgeneration to thein genetic material
from one
changes
next.
27. Evolution
‣ Population of individuals (organisms)
‣ Genes are passed from generation to
generation.
‣ Slightgeneration to thein genetic material
from one
changes
next.
‣ Differences accumulate over time.
28. Evolution
‣ Population of individuals (organisms)
‣ Genes are passed from generation to
generation.
‣ Slightgeneration to thein genetic material
from one
changes
next.
‣ Differences accumulate over time.
‣ New properties or even species emerge.
33. Evolution
‣ Basic genetic operations
‣ Mutation of genetic material.
Random changes
‣ Recombination of two individuals.
Recombine genetic material
34. Evolution
‣ Basic genetic operations
‣ Mutation of genetic material.
Random changes
‣ Recombination of two individuals.
Recombine genetic material
‣ also known as sexual reproduction
42. Evolution
‣ Changing environment and a lot of other changing
temperature, energy resources, competitors
and moving stuff, ...
‣ Huge search space countless possible individuals.
vast amount of dna combinations,
43. Evolution
‣ Changing environment and a lot of other changing
temperature, energy resources, competitors
and moving stuff, ...
‣ Huge search space countless possible individuals.
vast amount of dna combinations,
‣ Restricted resources
Death = release of allocated resources.
46. Evolution
‣ Which combinations to create as an
individual?
‣ Only validthey usually don‘t breed a banana plant but another
If two dogs breed
individuals
dog, instead!
47. Evolution
‣ Which combinations to create as an
individual?
‣ Only validthey usually don‘t breed a banana plant but another
If two dogs breed
individuals
dog, instead!
‣ Preserve good gene materialetc. have a lot of
Maybe that‘s why rockstars, football champions,
girlfriends?! Hey, I am a Ruby programmer, that‘s also awesome!
48. Evolution
‣ Which combinations to create as an
individual?
‣ Only validthey usually don‘t breed a banana plant but another
If two dogs breed
individuals
dog, instead!
‣ Preserve good gene materialetc. have a lot of
Maybe that‘s why rockstars, football champions,
girlfriends?! Hey, I am a Ruby programmer, that‘s also awesome!
‣ Improve! but even improve what‘s good and make it better!
Not only preserve
61. Genetic Algorithms
‣ Generation = Nr. of individuals
‣ Individualbut a valid problem solution
maybe a bad one
=
valid.
‣ Individuals constist of genes
62. Genetic Algorithms
‣ Generation = Nr. of individuals
‣ Individualbut a valid problem solution
maybe a bad one
=
valid.
‣ Individuals constist of genes
‣ Individuals havethe individual (good .. badfitness
indicating the worthiness of
a well known
solution).
71. Genetic Algorithms
‣ Start with a first individual (genesis)
‣ Create 2nd individual through mutation
‣ Randomly/Statistically choose a genetic
operation to create new individuals
74. Genetic Algorithms
‣ If a generation is full create a new one
‣ Select fittest individuals to be passed in to
the next generation.
75. Genetic Algorithms
‣ If a generation is full create a new one
‣ Select fittest individuals to be passed in to
the next generation.
‣ Repeat the process until we have an
acceptable solution or hit a given
boundary.
81. Traveling Salesman
‣ A salesman needs to travel to n cities
‣ Each city needs to be visited once
82. Traveling Salesman
‣ A salesman needs to travel to n cities
‣ Each city needs to be visited once
‣ The salesman wants to end where he
started.
83. Traveling Salesman
‣ A salesman needs to travel to n cities
‣ Each city needs to be visited once
‣ The salesman wants to end where he
started.
‣ The route should be minimal.
88. Traveling Salesman
‣ TSP can be applied to many scenarios:
‣ (Flight) planning, logistics, ...
‣ Manufactoring of microchips
89. Traveling Salesman
‣ TSP can be applied to many scenarios:
‣ (Flight) planning, logistics, ...
‣ Manufactoring of microchips
‣ Slightly modified in DNA sequencing
90. Traveling Salesman
‣ TSP can be applied to many scenarios:
‣ (Flight) planning, logistics, ...
‣ Manufactoring of microchips
‣ Slightly modified in DNA sequencing
‣ ...
94. Traveling Salesman
‣ What‘s the deal about it?
‣ Problem of combinatorical optimization
‣ Not a shortest path problem!
95. Traveling Salesman
‣ What‘s the deal about it?
‣ Problem of combinatorical optimization
‣ Not a shortest path problem!
‣ Computational complexity:
np complete
nondeterministic polynomial time
120. TSP Fitness
‣ Shuffle mutation
‣ Completely shuffle the order of cities in
the roundtrip
121. TSP Fitness
‣ Shuffle mutation
‣ Completely shuffle the order of cities in
the roundtrip
‣ 1-3-5-4-2 → 3-5-1-2-4
122. TSP Fitness
‣ Shuffle mutation
‣ Completely shuffle the order of cities in
the roundtrip
‣ 1-3-5-4-2 → 3-5-1-2-4
‣ (-) Doesn‘t rely on existing individuals
123. TSP Fitness
‣ Shuffle mutation
‣ Completely shuffle the order of cities in
the roundtrip
‣ 1-3-5-4-2 → 3-5-1-2-4
‣ (-) Doesn‘t rely on existing individuals
‣ Not a slightly but a massive change
137. Cycle Crossover
‣ Pass randomly choosen parts from the
the parents to the offsprings
‣ Creates two offsprings
138. Cycle Crossover
‣ Pass randomly choosen parts from the
the parents to the offsprings
‣ Creates two offsprings
‣ Example
139. Cycle Crossover
‣ Pass randomly choosen parts from the
the parents to the offsprings
‣ Creates two offsprings
‣ Example
‣ mom = [2, 3, 5, 7, 1, 6, 4]
140. Cycle Crossover
‣ Pass randomly choosen parts from the
the parents to the offsprings
‣ Creates two offsprings
‣ Example
‣ mom = [2, 3, 5, 7, 1, 6, 4]
‣ dad = [4, 5, 6, 3, 2, 7, 1]
142. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Choose a gene from the first parent
(e.g. gene=3, index=1).
143. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Choose a gene from the first parent
(e.g. gene=3, index=1).
‣ Add it to the cycle.
144. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Choose a gene from the first parent
(e.g. gene=3, index=1).
‣ Add it to the cycle.
‣ Cycle: [3]
146. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for gene with the same index (1) in
Dad's genes (gene=5, index=1).
147. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for gene with the same index (1) in
Dad's genes (gene=5, index=1).
‣ Add it to the cycle.
148. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for gene with the same index (1) in
Dad's genes (gene=5, index=1).
‣ Add it to the cycle.
‣ Cycle: [3, 5]
150. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene
(gene=5, index=2) in Mom's genes.
151. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene
(gene=5, index=2) in Mom's genes.
‣ Look for the gene at index 2 at Dad's
genes (gene=6, index=2).
152. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene
(gene=5, index=2) in Mom's genes.
‣ Look for the gene at index 2 at Dad's
genes (gene=6, index=2).
‣ Add it to the cycle.
153. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene
(gene=5, index=2) in Mom's genes.
‣ Look for the gene at index 2 at Dad's
genes (gene=6, index=2).
‣ Add it to the cycle.
‣ Cycle: [3, 5, 6]
155. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Dad's genes (gene=6, index=5).
156. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Dad's genes (gene=6, index=5).
‣ Look for the gene at index 5 (gene=7,
index=5) in Mom‘s genes.
157. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Dad's genes (gene=6, index=5).
‣ Look for the gene at index 5 (gene=7,
index=5) in Mom‘s genes.
‣ Add it to the cycle.
158. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Dad's genes (gene=6, index=5).
‣ Look for the gene at index 5 (gene=7,
index=5) in Mom‘s genes.
‣ Add it to the cycle.
‣ Cycle: [3, 5, 6, 7]
160. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Moms's genes (gene=7, index=3).
161. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Moms's genes (gene=7, index=3).
‣ Look for the gene at index 3 (gene=3,
index=3).
162. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Moms's genes (gene=7, index=3).
‣ Look for the gene at index 3 (gene=3,
index=3).
‣ Add it to the cycle.
163. Cycle Crossover
mom = [2, 3, 5, 7, 1, 6, 4]
dad = [4, 5, 6, 3, 2, 7, 1]
‣ Search for the corresponding gene in
Moms's genes (gene=7, index=3).
‣ Look for the gene at index 3 (gene=3,
index=3).
‣ Add it to the cycle.
‣ Cycle: [3, 5, 6, 7, 3]
166. Cycle Crossover
cycle = [3, 5, 6, 7, 3]
‣ Now the cycle is complete!
‣ We can create the offsprings.
167. Cycle Crossover
cycle = [3, 5, 6, 7, 3]
‣ Now the cycle is complete!
‣ We can create the offsprings.
‣ Genes which are in the cycle will be taken
from their parents preserving their original positions
168. Cycle Crossover
cycle = [3, 5, 6, 7, 3]
‣ Now the cycle is complete!
‣ We can create the offsprings.
‣ Genes which are in the cycle will be taken
from their parents preserving their original positions
moms_child = [x, 3, 5, 7, x, 6, x]
dads_child = [x, 5, 6, 3, x, 7, x]
194. Genetic Algorithms
‣ How to represent an individual?
‣ Find a meaningful fitness function
‣ Can‘t be applied to boolean fitness
functions (match, no match)
195. Genetic Algorithms
‣ How to represent an individual?
‣ Find a meaningful fitness function
‣ Can‘t be applied to boolean fitness
functions (match, no match)
‣ Define than blind guessing skip it! operations
If it‘s worse
efficient genetic
197. Genetic Algorithms
‣ Don‘t get lost in the metaphor! a problem!
It‘s not about re-modeling the world, it‘s about solving
198. Genetic Algorithms
‣ Don‘t get lost in the metaphor! a problem!
It‘s not about re-modeling the world, it‘s about solving
‣ Non-determinism
1st run might find a very good solution, 2nd a totally bad one, ...
199. Genetic Algorithms
‣ Don‘t get lost in the metaphor! a problem!
It‘s not about re-modeling the world, it‘s about solving
‣ Non-determinism
1st run might find a very good solution, 2nd a totally bad one, ...
‣ Store your best solutions and use them
as the origin for the next run!
207. Genetic Algorithms
‣ Find smart break conditions
‣ e.g. exit if there is no change for n
generations
208. Genetic Algorithms
‣ Find smart break conditions
‣ e.g. exit if there is no change for n
generations
‣ Implement more genetic operations and
evaluate them.
213. Genetic Algorithms
‣ Optimize ratio between
‣ Generation size
‣ Operation propabilities
‣ Fasten your fitness function!
214. Genetic Algorithms
‣ Optimize ratio between
‣ Generation size
‣ Operation propabilities
‣ Fasten your fitness function!
‣ Use heuristic fitness functions
estimate fitness to be faster
215. Genetic Algorithms
‣ Optimize ratio between
‣ Generation size
‣ Operation propabilities
‣ Fasten your fitness function!
‣ Use heuristic fitness functions
estimate fitness to be faster
‣ Cache frequently computed values
e.g. distances between cities
223. FAQ
‣ Why talk about it?
‣ Interesting and generic methodology
224. FAQ
‣ Why talk about it?
‣ Interesting and generic methodology
‣ Solves NP hard problems heuristically
with minimal thought.
225. FAQ
‣ Why talk about it?
‣ Interesting and generic methodology
‣ Solves NP hard problems heuristically
with minimal thought.
‣ Gives a good understanding why some
people are what they are:
Just bad guesses :-)
99,9% of all species(!) ever existed died out. The other 0,1% is about to do the same. But image if all those guys would still exist. Would be a fairly uncomfortable crowd, wouldn‘t it?
99,9% of all species(!) ever existed died out. The other 0,1% is about to do the same. But image if all those guys would still exist. Would be a fairly uncomfortable crowd, wouldn‘t it?
99,9% of all species(!) ever existed died out. The other 0,1% is about to do the same. But image if all those guys would still exist. Would be a fairly uncomfortable crowd, wouldn‘t it?
acceptable = certain fitness,
boundary = n generations, best individual didnt improve for n generations
steady improvement of the fittest individuals
acceptable = certain fitness,
boundary = n generations, best individual didnt improve for n generations
steady improvement of the fittest individuals
acceptable = certain fitness,
boundary = n generations, best individual didnt improve for n generations
steady improvement of the fittest individuals