Merken

Writing code? Pfft... Evolve it instead!

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
license so that the so can everyone hear me at the so way about get and Simon and I am at the point that the fact that
Kinsman republics and worst of our young and that thing the next generation and of fixed kilos theory and that is pretty much as
cool that sounds and and not is pretty much there school Jožef sounds to be honest so that if you are interested in how we hurry up put a link up the and that's how we get from back to the topic of this talk and but
also uh on the organizes the became proves study group and the other about once a week to you so the topic science about a year and a half ago we were looking at machine learning and in particular that genetic algorithms and how we kid and uses able to come and so having nicely that to work on the emergency became very concerned my job security and so if we think about it over the course of history and the kind of way we live our lives and what we've done has an must be changed as old technology and so
for instance and the agriculture that we used to have a large majority population working failed seeds are harvesting crops and we develop things like this and I now I with come freedom most of us to work on other things and more recent example by the walking to see
market enjoyable seen grossly self-checkout so why you might have had a lot of people working now you just have a single person stuff in these and you might think OK well that's what tested workings agent alternates and increasingly out of this intelligence was saying and even higher skilled at work and firing that's so this is
IBM's Watson machine that you know have this forest that years ago as the user to you and compete at the US quiz show Jeopardy and this is the context in which the contestants are actively answers and have to respond with more questions and so various now involves on the mixture of natural language processing having a big storm General is the kind of retrieve data from have 2nd applying some machine learning techniques to figure out kind of catalyst together at so this if the at 1 Objectives diet defeating the champions human champions of that and and it's now been applied at some other areas as well so that we have things like medical diagnostics that was a huge volume of information nations and you can study is being published on time at Yale entries the patient's medical history as log data for adopted to deal with when diagnosing patients at this machine can instantly and have all the latest angelicals is can meet the mole in time of those who don't have and have all information available to its is potentially an able to make an accurate diagnosis sticky for on common conditions that often can cross before networking odds that you can also plot things like legal work and to prepare a case for trial have lots of have for adjustments natural through and a loss of legal studies that coughing and goes to be used as a teaching assistant classroom so because it's natural language processing abilities I can understand questions a student asking and combines them with their answers and so now we have people like doctors lawyers teachers are also having their jobs to violence on from this right answer so let us suffer the and so you might think again hopefully Rd OK fewer needed to write the code that makes this work and others said the the ways you can generate accurate rather than rights a set and so how might you go about so 1 approach to take Tinkles genetic algorithm and this is a type of guided random search algorithm and so supposed to and systematic search we've got your on structure and you can look for it this starting and 1 and the going for and we followed looking for a random search we might say I can at their now the here and they go there again have found yet no that apply different that's where you look at a few places and then based on what you find that you make decisions the way you should look next so this makes some assumptions about the data being in some way salted or continuous around the points of interest get that particular genetic evidence a guided random search takes inspiration from biology and to give you lesion and we we have this idea of natural selection and if you have some characteristic that makes you want to survive seal quicker running time of this enhanced by with it it's a more likely to pass on your genes region and speeches will propagate that's so how do we apply that to just go yeah and so if we take the example
of the folding strings so not programs that just just a regular TextRank so say we want people want containing the title of this talk OK so you do 1st is we can generate some initial population strings 100 thousand just completely random strings with a lens and characters winning going to evaluate those and see how much they look like the tongue we're trying to get to it so this is where on and you devolution somewhat completely gone window and because we now have end goal in mind and how we're going to construct a fitness function and Sicilia steering and this other towards reaching OK so having
done that now we're going to select and which uh ministers populations to survive in
passing the genes which which initial strings looks the most like talk again naively would like to say we go take that pop off with the best thing to do the pseudo pop interest with angle across so this set is an analogous to you getting half Crimson's which parent so again a simple solution we might say what 1st of 1 string 2nd of the other and on the set of mutations that so in the same way some genes get running mutated during reduction of this new characteristics are we gonna pick a random character the string and just changes to the OK so now what population existing half of the fittest individuals from the previous round and half of that the children as well and we want to object have we reach the targets is so great we can stop if not really the case that's a general for so let's 1 run up and OK so what you see when we run this is
regeneration legal pronouncement statistics about the fitness schools we've got going to print out and the best string that we've got in generation was start with this property can be link was about the right length because in a collection of random strings that would let so as this goes we should see some features documents space is going to places and characters correct and indeed it got to the 20 OK so that's all well good strings of the nascent evolve programs and social extra challenges here and so where is the string
illusion I could just dump some random character characters in the string and it's about a string in 1 of the replaced by what is a string the program evolutionary display a load of random characters the file bills that's going to be a valid Python program it's EPA what have you pretty slick slots of calls about syntax and things that we can conform to she you might think OK well all have and some templates but this thing looks they look full block and blanks like those in a hot temper its things necessary of combining them and fair enough we will generate the initial population have lots of valid programs in and when you come to crosses over taking you very quickly get back to in again she was OK what's make crossover easy all have when language and I'll just have a little symbols and you build with many would you like OK and I'm about my work for the can have there is we won't scale to prove all the things in this language that way because the revolving donor linear or we can create and so we need is language mystical completes and the idea and dying is kind of wave you make may not be so and so what do I mean and by the way something being Turing-complete OK so i'm during
deal of work on the theory of computation and taking the idea and reprogrammable machines could be used to keep you auditory stuff and and he can this concept of a Turing machine is a source model to think about this to help them up of the reason I have a wall is secondly don't take this divided up into a series of cells and you have an arrow that points of the cell you can't look at and you can move arrow because points I'm and in each cell you can put a simple and then you can read out the current symbol or you can change the value of that's cool it is and it's very simple device but it can be shown that the theory that anything that is computable and not everything is there some things not been possible to it but if it is computable become interested on this device can only say history completes we mean if they can be used to simulate at any single takes Turing machine AK anything computable you can't compute in our so enables us to promote that we like to so those are requirements that we're looking for a language and this person that the simple and is true that the and so that's what I thought well Premier exists and it's not women will play any developed by people at and came across this site
that correct sigh primary objects look on and this is a great so it's got lots of optical about machine learning and 1 of them was a project which you can working pretty much problem so the following code running right and so is that what is this land used answers got only 8 characters and and it's pretty much a model of the TIR and so the interests of not getting myself from a conference forswearing swearing repeatedly from talk at left the name that slide is an exercise to the reader but I get and it's the 1st 6 characters are pretty much just a term Jesus is moving the pointer back to forwards changing the value of a cell and and reading out and and putting value let's do characters the square braces away things get interesting this is what gives off control flow so even decide based on the value of go here and make decisions and gonna keep living on going to break out so that's what allows us is going to happen so what is a programming brain if like and so this example is Hello world still classically program just print hello to screen and as you can see this is a fairly esoteric language you wouldn't really wanna writing complicated that take you when you get past as printing output against rapidly quite complicated to traffic was doing certainly would want to try and to develop or maintain and treatment and that to a computer this is just as intelligible as it is but don't see carried out its finiteness have mark on it you we already know how to generate strings we wouldn't have to cross take them and this is just a strength so we can apply all the same technique so let's try and and evolve a program and in this that's so and
I was going to do Hello world violence is re not time and this talk that convergence solution that's the scanning of a slightly abbreviated on it's just gonna say hi and and so are we going see is that each generation we gonna a print out the output of each program and were gonna printouts and the program string that Braniff itself and for the the best individual in that in that generation they and so we have some new issues to contend with here and so we now have the potential to have an invalid parameter wall reference refusing requirements you do need to much of a square braces so of matched the programs about it
we also have potential to time out some general valid program against opinion that lead to me some cost of point after which we judge yes probably isn't gonna finish I'm I'm class as there as
well and we also because real issues that have infinite amount of memory we have to a finite length that's a problem the models infinite 1 and so pro-migrant the end of that memory and which is again we need to notice that so all of these cases we support and we have a very low fitness school so we try and we've announced the not selected to teach generations the next thing to note is that we get quite close to the target output from then does it get very much further so why is that so unlike the string information out with the thing evolving and the thing we're measuring distance of 1 the saying they were measuring Venice the output but were actually
involving the right so all the output moderate
place a might require quite big jump in the program code to get to 1 wants amounts of this little loop or quite quite a mutation OK and SYH to try and help that we increase the number of concentration allow serotonin just having a replacement that you can have mutations in certain characters will delete them and and in terms the replacement 1 problem just being
a single character that we might that we cannot go the whole program string and maybe change any of those we also need to change of electric section and metric so if we just sit in the top half and that would be a bit too this would be very narrowly drawn toward something that would output start with some kind of avenues that did looks so promising originally but would come around and so we want to be some chance to include
those instances of love at the school and so we can
increase the chance of getting out of the slope stock
and so we images Robbins that's the top half you have what the roulette wheel spin up so if you measure the pie charts at with size of each wedge and it's going to be out they get this individual has a high fitness and we have spin and
some of its electrons so no of fitness individuals may still be selected but with a low probability inside the wheel and actually gets
solution our new random demo is this
the phone call you want and this this phone
on I am and presentation and
1 thing you will notice it solely from the quite tools you'll see lots of pluses in arrival of lots of minuses and so clearly the things we can do to make that more efficient so we have right to we have a program that's good as it was saying that this can be taken further so and correct such to this and she made a evolve programs generate this he at 1st you Fibonacci numbers order to use input and additives that was uh found some seeing things can be done and you might also be quite interesting to but rather than the breath programs to say take the and obsessed interest reappointment try and i've all violence if you get up to work and say that some stuff with function evalution and modeling those histories and that it was something that could that could work the so in the future it will be
because of this talk is upon get help and I think it's an interesting and like to thank again and can mean what experiment to be here and give you still and said we are hiring and
so if you to you would like to work on a footing robots it does make some college the parties and in all sources is an very rewarding work of 6 months and and which others as so for test engineers for embedded the developers the room or if do any of those great wallet laughter and their narrator and Ramadan thank you we haven't questioned the and would and the the that's of so you're generating a lot probe loss of programs and then running is there he gained you have is doing anything weird here hello it on your computer and what's included in this spring library terms of API so we can do on your system as yes yes I can do other things so it could potentially due to anything and yeah that would be about 100 mm not questions I thank you for your talk and so what I get from this is that the user of the people was such faces you set the software defined now in the highlands of the high version of was really really you should like performance-wise which is so called for the single to make a good also for program so called for the I mean that do you have a problem with this genetic algorithms really our world I mean going deeper into so England it was I didn't know about tried somewhere yeah was that question how you could make the performance that's a link when not it's like do you have in the actual so scenario where you try this you got a good result in just like to call your thrust point quite you can have a try this knowledge and so on uh do you have an actual scenario where you use this like you know in real life and probably not it was mainly for sort of a funnel interest's sake at particularly of trying and I guess if you can improve on that what better then yeah why not certainly if for some reason you wanted to write and graph programs and I don't know what I have to write those in this that we right and quicker than I can answer for dealing something like that then yes this would be less of Michael White why would you do that only and but I think it's only interesting I'm the morpher syllabic point of view of kind of what could you do that the person answers rather than any other approach truncations right now but we talked uh a using generic algorithms for all reporting development i is influence in so a genetic algorithms for reported striking and no I'm not using a work and this is the status of projects and yeah I think uh consistent group what's the probability is limited to mystic the back the yeah the thank you every the other experiment we're pretty boring the syntax tree of program set of the text representation that is much more efficient than among and yet so I I I haven't read that and when the questions that I cannot apply against stalker uh but then you can and so I think that would be a really interesting thing to do this and so if you look at function evalution and so the following polynomial wontons which models trees income that assimilated have of such syntax tree and that did work for evolving and so the the the the the quite and destroy good the carry more questions yeah the of i is there or in specific reason that you used genetic everything instead of many other optimization techniques yeah and not taking so we studying a range a different topics insulating and this happened to be the 1 I stay time at which is awaiting always this and I not not for instance assigned this to the 3 most of wave of doing this and but it was just that erectus in more questions all yeah it why uses genetic algorithms or any kind of for the robots because the mingling of self-driving cars gonna go in that direction and I understand that you want to the deterministic behavior but because you could achieve good results and so would use in general and I think if you also they're useful search over and so on if you have an exit data that is in some way and so this you can tell from looking in 1 area but the thing that commodities so I can be a more efficient way to such searches of space and the use have of nowhere anywhere they cases the cell from cost but I think it's more kind of searching large metadata them up and big right it's lunchtime a really major much fewer
Intel
Software
Punkt
COM
Virtual Home Environment
Code
Facebook
Physikalische Theorie
Computeranimation
Beobachtungsstudie
Algorithmus
Prozess <Informatik>
Selbst organisierendes System
Computersicherheit
Gruppenkeim
Algorithmische Lerntheorie
Binder <Informatik>
Natürliche Sprache
Computeranimation
Äußere Algebra eines Moduls
Einfache Genauigkeit
Instantiierung
Information Retrieval
Einfügungsdämpfung
Prozess <Physik>
Punkt
t-Test
Sprachsynthese
Entartung <Mathematik>
Login
Code
Computeranimation
Suchverfahren
Virtuelle Maschine
Algorithmus
Prozess <Informatik>
Datentyp
Randomisierung
Notepad-Computer
Spezifisches Volumen
Optimierung
Datenstruktur
Beobachtungsstudie
Wald <Graphentheorie>
Rechenzeit
Plot <Graphische Darstellung>
Kontextbezogenes System
Natürliche Sprache
Entscheidungstheorie
Zusammengesetzte Verteilung
Objekt <Kategorie>
Menge
Flächeninhalt
Rechter Winkel
Konditionszahl
Leistung <Physik>
Information
Brennen <Datenverarbeitung>
Fitnessfunktion
Zeichenkette
Algorithmus
Menge
Winkel
Mathematisierung
Vererbungshierarchie
Unrundheit
Charakteristisches Polynom
Ordnungsreduktion
Computeranimation
Zeichenkette
Webforum
Multiplikation
Wellenlehre
Datensichtgerät
Formale Sprache
Raum-Zeit
Computeranimation
Iteration
Bit
Maschinensprache
Code
Randomisierung
Optimierung
Zentrische Streckung
Statistik
Kategorie <Mathematik>
Template
Validität
Systemaufruf
Symboltabelle
p-Block
Binder <Informatik>
Elektronische Publikation
Cross over <Kritisches Phänomen>
Menge
Linearisierung
Modallogik
Generator <Informatik>
Witt-Algebra
Last
ATM
Hill-Differentialgleichung
Innerer Punkt
Fitnessfunktion
Zeichenkette
Web Site
Punkt
Wort <Informatik>
Formale Sprache
Hochdruck
Turing-Test
Zellularer Automat
Computer
Term
Technische Optik
Physikalische Theorie
Code
Computeranimation
Virtuelle Maschine
Informationsmodellierung
Zeitrichtung
Kontrollstruktur
Zeiger <Informatik>
Algorithmische Lerntheorie
Optimierung
Funktion <Mathematik>
Open Source
Finitismus
Machsches Prinzip
Zwei
Reihe
Symboltabelle
Entscheidungstheorie
Rechenschieber
Objekt <Kategorie>
Turing-Maschine
Rechter Winkel
Berechnungstheorie
Projektive Ebene
Zeichenkette
Parametersystem
Generator <Informatik>
Vektorpotenzial
Punkt
Klasse <Mathematik>
Hochdruck
Validität
Optimierung
Computeranimation
Zeichenkette
Funktion <Mathematik>
Dicke
Computeranimation
Unendlichkeit
Informationsmodellierung
Generator <Informatik>
Webforum
Rechter Winkel
Festspeicher
Information
Abstand
Funktion <Mathematik>
Fitnessfunktion
Zeichenkette
Loop
Konzentrizität
Bit
Wechselsprung
Zahlenbereich
Optimierung
Term
Programmcode
Computeranimation
Zeichenkette
Keilförmige Anordnung
Hill-Differentialgleichung
Kreisdiagramm
Bildgebendes Verfahren
Computeranimation
Fitnessfunktion
Instantiierung
Telekommunikation
Demo <Programm>
Systemaufruf
Benutzeroberfläche
Extrempunkt
Computeranimation
Fitnessfunktion
Addition
Lineares Funktional
Informationsmodellierung
Fibonacci-Folge
E-Mail
Ordnung <Mathematik>
Ein-Ausgabe
Optimierung
Computeranimation
Resultante
Quelle <Physik>
Einfügungsdämpfung
Punkt
Minimierung
Wellenlehre
Selbstrepräsentation
Gruppenkeim
Versionsverwaltung
Zellularer Automat
Computer
Term
Raum-Zeit
Richtung
Netzwerktopologie
Metadaten
Spannweite <Stochastik>
Informationsmodellierung
Algorithmus
Software
Abstrakter Syntaxbaum
Programmbibliothek
Optimierung
Softwareentwickler
Softwaretest
Lineares Funktional
Videospiel
Sichtenkonzept
Graph
Quellcode
Physikalisches System
Binder <Informatik>
Quick-Sort
Roboter
System F
Flächeninhalt
Menge
Projektive Ebene
Instantiierung

Metadaten

Formale Metadaten

Titel Writing code? Pfft... Evolve it instead!
Serientitel EuroPython 2017
Autor Gordon, Emma
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/33704
Herausgeber EuroPython
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Writing code? Pfft... Evolve it instead! [EuroPython 2017 - Talk - 2017-07-12 - Anfiteatro 2] [Rimini, Italy] We're heading into a future of delivery drones, driverless cars and 3D-printed ""hoverboards"" ... With machines now able to perform many tasks better than humans, some people are going to be out of a job. But not software developers, right?! Could a computer generate the code you currently write for a living? In this talk, we'll take a look at one of the many biologically inspired approaches to AI - Genetic Algorithms, and how they can be used to generate code given a description of the function that that code should perform. Spoiler - you're probably not out of a job, yet..

Ähnliche Filme

Loading...