Piotr Wikieł - Do lazybones push the world forward?
-
Upload
piotr-wikiel -
Category
Science
-
view
44 -
download
0
Transcript of Piotr Wikieł - Do lazybones push the world forward?
![Page 1: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/1.jpg)
Do lazybones push the world forward?
About programming automation
Piotr Wikieł, MeetIT Toruń, 2016 @pwikiel, piotr.wikiel@gmail
![Page 2: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/2.jpg)
„There's a pretty good chance we end up with a universal basic
income, or something like that, due to automation”
– Elon Musk
![Page 3: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/3.jpg)
![Page 4: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/4.jpg)
Exponential growth of computing. 20th to 21st centuries. CC-BY-1.0 Coutesy of Ray Kurzweil and Kurzweil Technologies, Inc.
![Page 5: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/5.jpg)
Soft computing
• Fuzzy Logic
• Probabilistic Logic
• Machine Learning
• Evolutionary Computation
![Page 6: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/6.jpg)
Evolutionary algorithms• Genetic algorithms
• Genetic programming
• Evolutionary programming
• Neuroevolution
• …
![Page 7: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/7.jpg)
![Page 8: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/8.jpg)
Function Set and Terminal Set
![Page 9: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/9.jpg)
Mutation(if (< x 3) (+ (* 2 x) 3) (* (- x 2) x))
(if (< x 3) (+ (* 4 (/ x 2)) 3) (* (- x 2) x))
![Page 10: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/10.jpg)
Crossover(if (< x 3) (+ (* 2 x) 3) (* (- x 2) x))
(if (< x 3) (+ (* 4 (/ x 2)) 3) (/ (* x Math/PI) 2))
(if (< x 3) (+ (* 2 x) 3) (/ (* x Math/PI) 2))
![Page 11: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/11.jpg)
Architecture-altering operations
(if (< x 3) (+ (* 2 x) 3) (* (- x 2) x))
(defn foo1 [x] (+ (* 2 x) 3))
(if (< x 3) (foo1 x) (* (- x 2) x))
![Page 12: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/12.jpg)
Fitness function
• Answers the question „How good is program in doing its work?”
• May contain some penalties, e.g. for the size of the program
• Lexicase selection
![Page 13: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/13.jpg)
Search spaceb2 4 4ac
WAT?
![Page 14: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/14.jpg)
Push&PushGP• Language for creating evolutionary systems
• Based on stacks:
• one stack for every type of data
• one stack for code
• one stack for executed program
• Based on operations on stacks’ elements.
![Page 15: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/15.jpg)
(run-push ’(2 2 integer_add) (make-push-state))
:integer (4)
(run-push ’(2 2 3 integer_add integer_mult) (make-push-state))
:integer (10)
![Page 16: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/16.jpg)
Applications of genetic programming
• Computations
• Building of complex systems
• Life modeling and simulations
![Page 17: Piotr Wikieł - Do lazybones push the world forward?](https://reader034.fdocuments.us/reader034/viewer/2022051523/58a81f111a28ab4d148b5d89/html5/thumbnails/17.jpg)
• https://github.com/lspector
• http://www.genetic-programming.com/
• http://faculty.hampshire.edu/lspector/push.html