Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Programtenyésztés igény szerint avagy hogyan segít programot írni a természetes kiválasztódás Szita István, Eötvös Collegium.

Hasonló előadás


Az előadások a következő témára: "Programtenyésztés igény szerint avagy hogyan segít programot írni a természetes kiválasztódás Szita István, Eötvös Collegium."— Előadás másolata:

1 Programtenyésztés igény szerint avagy hogyan segít programot írni a természetes kiválasztódás Szita István, Eötvös Collegium

2 Bevezető  a számítógép remek segítőtárs, mindent megcsinál, amit az ember mond neki  nagy hibája: nagyon pontosan meg kell mondani, mit akarunk  jó volna: elmondjuk a feladatot – a gép meg kitalálja a megoldást  önmaguktól tanuló programok

3 A megoldás: genetikus programozás  Természet: egészen jó megoldások  lopjuk el az ötletet:  mesterséges evolúciót!

4 Mesterséges evolúció  egyed  program  kromoszómák (több, ált. párosával)  kromoszómák  populáció (több)  populáció  természetes szelekció +  mesterséges szelekció (nemesítés)  mesterséges szelekció  mutáció  kereszteződés  … és még sok minden

5 Genetikus programozás (GP) - vázlatosan  kiindulási populáció létrehozása (véletlenszerűen), T=0  a T. generáció:  populáció kiértékelése  a leggyengébbek kihalnak  a többiek utódokat hoznak létre (mutáció, kereszteződés)  T=T+1

6 Mit kódolnak a gének?  a legelső, legfontosabb kérdés  feladatfüggő (pl. kapcsolási rajz, robot viselkedésmintái, útvonalterv)  jó volna: általános programnyelv  Basic, Pascal, C: rosszul tűri a GP-t  mutáció: 99,9%, hogy működésképtelen  jó kódolás: programfa

7 Program = fa ? / x15 if <= xy0+ y eredmény = x / 15 eredmény = 0, ha x <= y y+3 egyébként  gének: 3 if <=xy0+y3  LISP – általános programnyelv

8 Mutáció if <= xy0+ y3

9 Mutáció xy0+ y3

10 Mutáció -y0+ y3

11 Mutáció -y0+ y310z

12 Kereszteződés if <= xy0+ y3 - y* - yx 2 x

13 Kereszteződés xy0+ y3 - y* - yx 2 x xy0 * - yx 2

14 A programok kiértékelése  fitnessz-függvény: mennyire „rátermett” a program  túlélhet-e?  létrehozhat-e utódot?  leggyakrabban:  tanítópéldák: (bemenet -> kívánt kimenet) párok  mekkora hibát produkál  más: hányszor nyer?

15 Egyéb trükkök  segédfüggvények kifejlesztése („szervek” evolúciója)  részpopulációk („szigetek”)  vérfertőzés kizárása  koevolúció (versenytársak, paraziták)  nemek (2 – vagy akár több)

16 Genetikus programozás - pro és kontra  automatikus  kényelmesen megadható  ellenálló, hibatűrő programok  nagyon lassú  a kapott kód áttekinthetetlen pl. felesleges kódrészletek („vakbél”)  nem érdemes programozókat helyettesíteni vele  érdemes nehezen programozható feladatokra ráengedni

17 Mit tud a GP?  játékstratégiák (közepesen erős GO játékos)  áramkörtervezés (szűrők, erősítők)  adatsorelemzés (fehérjeosztályozás)  mesterséges élet (TIERRA)  természetes szöveg elemzése (folyamatban van)

18 Köszönöm a figyelmet!

19 Egyszerű példa  megoldás: fun f (V2_4) = (!!!!!!!!!) case V2_4 of case V2_4 of nil => nil nil => nil | cons( V2_32, V2_33 ) => | cons( V2_32, V2_33 ) => case V2_33 of case V2_33 of nil => V2_4 nil => V2_4 | cons( V2_59a7, V2_59a8 ) => cons( V2_59a7, cons( V2_32, V2_59a8 ) ) | cons( V2_59a7, V2_59a8 ) => cons( V2_59a7, cons( V2_32, V2_59a8 ) )

20 Egyszerű példa  egy számlistát meg kell fordítani  tanítópéldák: [] -> [] [37] -> [37] [49,37] -> [37,49] [95,49,37] -> [37,49,95]

21 Egyszerű példa  kiindulási populáció: fun f (V2_4) = V2_4 fun f (V2_4) = case V2_4 of nil => nil | cons( V2_32, V2_33 ) => V2_4 | cons( V2_32, V2_33 ) => V2_4 fun f (V2_4) = case V2_4 of case V2_4 of nil => nil nil => nil | cons( V2_32, V2_33 ) => | cons( V2_32, V2_33 ) => case V2_33 of case V2_33 of nil => V2_4 nil => V2_4 | cons( V2_59a7, V2_59a8 ) => cons( V2_59a7, cons( V2_32, V2_59a8 ) ) | cons( V2_59a7, V2_59a8 ) => cons( V2_59a7, cons( V2_32, V2_59a8 ) ) … és még sokan mások


Letölteni ppt "Programtenyésztés igény szerint avagy hogyan segít programot írni a természetes kiválasztódás Szita István, Eötvös Collegium."

Hasonló előadás


Google Hirdetések