intelektikos pagrindai n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Intelektikos pagrindai PowerPoint Presentation
Download Presentation
Intelektikos pagrindai

Loading in 2 Seconds...

play fullscreen
1 / 80

Intelektikos pagrindai - PowerPoint PPT Presentation


  • 236 Views
  • Uploaded on

Intelektikos pagrindai. P176B100 2012 m Robertas Damaševičius r obertasdamasevicius @ktult. Pagrindiniai robotų valdymo metodai ir algoritmai. Robotų valdymo algoritmai. Elgsena grįsti algoritmai Būsenomis (baigtiniais automatais) grįsti algoritmai PID - valdymo algoritmas

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Intelektikos pagrindai' - nikkos


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
intelektikos pagrindai

Intelektikos pagrindai

P176B100

2012 m

Robertas Damaševičius

robertasdamasevicius@ktult

robot valdymo algoritmai
Robotų valdymo algoritmai
  • Elgsena grįsti algoritmai
  • Būsenomis (baigtiniais automatais) grįsti algoritmai
  • PID - valdymo algoritmas
  • Fuzzy – neraiškios logikos valdymo algoritmai
  • Dirbtiniai neuroniniai tinklai
  • Genetinio programavimo algoritmai
  • Evoliuciniai skaičiavimai
  • Tikimybiniai algoritmai
elgsenomis pagr stas jud jimo valdymas
Elgsenomis pagrįstas judėjimo valdymas
  • Robotas aprūpinamas keletu paprastųjų elgsenų, kurias gerai moka
  • Esant tam tikroms situacijoms, jis jas kaitalioja
  • Modelį sudaro 5 paprastosios elgsenos:
    • klaidžiojimas (važinėjimasis) aplinkoje,
    • kliūčių vengimas,
    • važiavimas pakrauti bateriją,
    • važiavimas palei sieną,
    • važiavimas sekant išsiskiriančios spalvos liniją
roboto elgsenos
Roboto elgsenos
  • Bendroji roboto elgsena susiformuoja sąveikaujant paprastosioms elgsenoms ir aplinkai, kurioje yra robotas
  • Paprastosios elgsenos yra realizuojamos kaip atskiros valdymo sistemos dalys
  • Kiek ir kokių paprastųjų elgsenų reikės priklauso nuo aplinkos, kurioje veiks robotas, ir nuo jam keliamų tikslų (uždavinių)
  • Numatyti ir aprašyti visas paprastąsias elgsenas – sunkus, kūrybinis projektavimo uždavinys
  • Jei nebus įdiegtos visos reikalingos paprastosios elgsenos, robotas gali pakliūti į situaciją, kurioje nežinos kaip elgtis ir nesugebės atlikti jam pavestų užduočių
  • Kad sistema gerai funkcionuotų, turi būti užtikrintas paprastųjų elgsenų parinkimo – keitimo mechanizmas
elgsenos koordinavimas
Elgsenos koordinavimas
  • Koordinavimo mechanizmas yra atsakingas už elgsenų valdymą, ty jų įjungimą ir išjungimą konkrečiu laiku, konkrečioje situacijoje
  • Koordinavimas gali būti atliekamas naudojant konkurencijos arba kooperacijos metodus
    • Taikant konkuruojantį metodą, vienu metu įjungta būna tik viena elgsena ir tik ji gali veikti roboto variklius
    • Taikant kooperuojantį metodą variklius įtakoti gali kelios paprastosios elgsenos
neadaptyvaus roboto valdymo algoritmas
Neadaptyvaus roboto valdymo algoritmas
  • Įprastinėje situacijoje, robotas seka savo aplinką naudodamas jutiklius
  • Šios reikšmės yra lyginamos su pageidaujamų reikšmių aibę, kurią iš karto nustatė programuotojas
  • Priklausomai nuo jutiklių siunčiamų reikšmių nukrypimo nuo pageidaujamų reikšmių, algoritmas nustato veiksmų seką ir konvertuoją ją į vykdytuvams siunčiamų komandų seką
  • Veiksmai kartojami cikle tol, kol robotas pasiekia savo tikslą
adaptyvaus valdymo algoritmas
Adaptyvaus valdymo algoritmas
  • Robotas saugo geriausias parametrų reikšmes atmintyje ir gali jas modifikuoti
  • Saugomas jutiklių duomenų ir roboto veiksmų į juos sąrašas
  • Atėjus panašioms jutiklių reikšmėms į saugomas atmintyje, robotas parenka praeityje sėkmingiausią atliktą veiksmą
  • Geresnis prisitaikymas prie besikeičiančių aplinkos sąlygų
mogaus elgsenos algoritmas
Žmogaus elgsenos algoritmas
  • Skiriasi didesne atminties įtaka priimamiems sprendimams
robot valdymo algoritmai1
Robotų valdymo algoritmai
  • Būsenomis (baigtiniais automatais) grįsti algoritmai
  • PID - valdymo algoritmas
  • Fuzzy – neraiškios logikos valdymo algoritmai
  • Dirbtiniai neuroniniai tinklai
  • Genetinio programavimo algoritmai
  • Evoliuciniai skaičiavimai
  • Tikimybiniai algoritmai
robot programavimo algoritmai
Robotų programavimo algoritmai
  • Projektuojant robotų judėjimo valdymą susiduriama su daugeliu problemų
  • Roboto judėjimas išvengiant kliūčių yra vienas pagrindinių judėjimo uždavinių
  • Valdymo sistemos pagrindinis tikslas – sugretinti planą/modelį su realia aplinka
  • Valdymo sistema gauna informaciją iš jutiklių, ją apdoroja ir perduoda komandas valdymo varikliams arba kitiems valdymo įrenginiams, kad jie veiktų aplinką pagal numatytą planą
b senomis apra oma valdymo sistema
Būsenomis aprašoma valdymo sistema
  • Vienas iš būdų valdyti robotą – aprašyti būsenas, kuriose jis yra, kai juda aplinkoje, į kurią yra patalpintas
  • Roboto judėjimas priklauso nuo to, kokioje būsenoje konkrečiu laiko momentu yra robotas
  • Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius Iš jutiklių gaunama informacija, nustatoma, kurioje būsenoje yra robotas ir atitinkamai reaguojama
  • Šis būdas pasiteisina kai robotas veikia nesudėtingoje aplinkoje, kurioje yra nedaug kliūčių
  • Jei tik judėjimo erdvė pasidaro sudėtingesnė, paprasta ir nesunkiai nusakoma valdymo sistema greitai gali tapti sunkiai valdoma, neatlikti to, ko iš jos tikimasi
pavyzdys
Pavyzdys
  • Robotas turi du į priekį nukreiptus atstumo jutiklius K ir D, kad sugebėtų išvengti susidūrimų
  • Kuo jutiklių reikšmės K ir D mažesnės, tuo arčiau yra kliūtis
  • Galimi du režimai:
    • miego – robotas išjungtas ir
    • judėjimo – robotas aktyvus
  • Tarkime, kad roboto užduotis yra visą laiką judėti į priekį
  • Pirmiausia iš jutiklių gaunama informacija, nustatoma, kurioje būsenoje yra robotas ir atitinkamai reaguojama
  • Judėjimas priklauso nuo būsenų, kuriose yra robotas
  • Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius
b senomis paremtos valdymo sistemos algoritmas
Būsenomis paremtos valdymo sistemos algoritmas
  • 1 būsena:K < Astop ir D < Astop
    • Robotas lėtina judėjimo greitį kol sustoja ir išjungia variklius, jei dar nėra to padaręs ir pereina į miego režimą
  • 2 būsena: K > Amax, D > Amax
    • Priekyje nėra kliūčių, robotas visu greičiu juda tiesiai pirmyn
  • 3 būsena:K < D
    • Kairėje pusėje yra kliūtis, robotas lėtėja ir suka dešinėn
  • 4 būsena:D < K
    • Dešinėje pusėje yra kliūtis, robotas lėtėja ir suka kairėn Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius
algoritmo tr kumai 1
Algoritmo trūkumai (1)
  • Pagr. trūkumas: sistema neturi atminties
  • Robotas, nesugebantis mokytis iš praeities klaidų yra priverstas jas kartoti
  • Pavyzdžiui:
  • Robotas pastebėjęs dvi kliūtis negali pravažiuoti tarp jų net jei tarpas yra pakankamas
  • Robotas pastebėjęs kliūtį kairėje (3 būsena) pradeda sukti dešinėn
  • Užfiksavęs kliūtį dešinėje (4 būsena), pradeda sukti kairėn
  • Po manevro jis vėl atsiduria 3 būsenoje
  • Robotui taip judant toliau jis gali patekti į 1 būseną arba dar blogiau – kliudyti vieną iš kliūčių
algoritmo tr kumai 2
Algoritmo trūkumai (2)
  • Atsižvelgiant į neseną praeitį galime fiksuoti kurią nors vieną būseną ir nurodyti robotui kurį laiką suktis į vieną pusę
  • Pavyzdžiui:
  • Fiksavus, kad sistema perėjo iš 3 į 4 būseną arba iš 4 į 3 būseną ir tame tarpe nebuvo 2 būsenos, galima robotą priversti suktis nuo kliūties kol bus pasiekta 2 būsena
patobulintas algoritmas
Patobulintas algoritmas
  • Įvestos 2 papildomos būsenos:
    • 5 būsena – “pabėgti dešinėn”
    • 6 būsena – “pabėgti kairėn”
b senomis gr st algoritm tr kumai
Būsenomis grįstų algoritmų trūkumai
  • Realus algoritmas bus labai sudėtingas ir griozdiškas
  • Neįmanoma numatyti visų įmanomų elgesio variantų
  • Labai sudėtinga ją projektuoti ir derinti
  • Sunku prižiūrėti, modifikuoti ir plėsti
  • Netinka dinamiškai kintančiose aplinkose
robot valdymo algoritmai2
Robotų valdymo algoritmai
  • PID valdymo algoritmas
  • Fuzzy – neraiškios logikos valdymo algoritmai
  • Dirbtiniai neuroniniai tinklai
  • Genetiniai algoritmai
  • Induktyvus loginis programavimas
  • Mokymasis pastiprinimu
  • Sprendimų medis
pid valdymo algoritmai
PID valdymo algoritmai
  • PID (Proportional-Integral-Derivative) – valdymo mechanizmas su grįžtamuoju ryšiu
  • Plačiai naudojamas pramoninėse valdymo sistemose
  • Trys elementai:
    • Proporcinis – priklauso nuo dabartinės paklaidos
    • Integralo – priklauso nuo praeities paklaidų sumos
    • Išvestinės – prognozuojamos ateities paklaidos priklausomai nuo dabartinio pokyčio tempo
pavyzdys pid linijos sekimo algoritmas
Pavyzdys: PID linijos sekimo algoritmas

Error = target_pos – current_pos //calculate error

P = Error * Kp //proportional constant

I = I + Error //store accumulated error

I = I * Ki //calculate integral value

D = Error – Previous_error //change in error to derivate

Correction = P + I + D

pid algoritmo realizacija
PID algoritmo realizacija

epsilon = 001;

dt = 001;

Kp = 5;

Kd = 3;

Ki = 001;

if(abs(error) > epsilon)

integral = integral + error*dt;

derivative = (error - pre_error)/dt;

output = Kp*error + Ki*integral + Kd*derivative;

pre_error = error;

pid valdiklio variantai
PID valdiklio variantai
  • P valdiklis
  • PI valdiklis
  • PD valdiklis
pavyzdys p valdiklis
Pavyzdys: P valdiklis

Kp = 10                               ! Inicializuojami kintamiejioffset = 45Tp = 50Loop forever   LightValue = read light sensor     ! Šviesos jutiklio reikšmė   error = LightValue - offset        ! Nuokrypis   Turn = Kp * error                  ! Variklio galios pokytis   powerA = Tp + Turn                 ! Galia A varikliui   powerC = Tp - Turn                 ! Galia C varikliui   MOTOR A direction=forward power=powerA    MOTOR C direction=forward power=powerC end loop forever                     

p valdiklio problemos
P valdiklio problemos
  • Šviesos jutiklių jautrumo šviesai diapazonas turi būti platus
  • Turi būti greitas atsakas iš jutiklių ir variklių.
  • Jei yra didelė delsa, roboto veiksmai atsilieka nuo P valdiklio komandų, todėl tiksliai valdyti robotą yra sudėtinga
pi valdiklis pavyzdys
PI valdiklis: pavyzdys

Kp = 10                            Ki = 1offset = 45                          ! Inicializuojami kintamiejiTp = 50integral = 0Loop forever   LightValue = read light sensor    ! Šviesos jutiklio reikšmė   error = LightValue - offset       ! Nuokrypisintegral = integral + error   Turn = Kp*error + Ki*integral     ! Galios pokytis   powerA = Tp + Turn                ! Galia A varikliui   powerC = Tp - Turn                ! Galia C varikliui   MOTOR A direction=forward power=powerA    MOTOR C direction=forward power=powerC  end loop forever                    

multi pid
Multi-PID
  • Valdymo sistemoje gali būti keli PID valdymo algoritmai
  • Padėčiai valdyti
  • Greičiui valdyti

Šaltinis: Zhijun Sun, Rentao Xing, Chunsheng Zhao, Weiqing Huang.

Fuzzy auto-tuning PID control of multiple joint robot driven by ultrasonic motors

pid vertinimas
PID įvertinimas
  • Pranašumai:
    • Didesnis tikslumas nei tiesioginio (proporcinio) valdymo
  • Trūkumai:
    • Sudėtinga parinkti PID koeficientų reikšmes
    • D koeficientas labai jautrus triukšmui
robot valdymo algoritmai3
Robotų valdymo algoritmai
  • Fuzzy – neraiškios logikos valdymo algoritmai
  • Dirbtiniai neuroniniai tinklai
  • Genetiniai algoritmai
  • Induktyvus loginis programavimas
  • Mokymasis pastiprinimu
  • Sprendimų medis
miglot ja fuzzy logika gr stas valdymas
Miglotąja (fuzzy) logika grįstas valdymas
  • Teoriją suformulavo L.A. Zadeh 1965 m.
  • Naudojama, kai reikia dirbti su netikslia informacija
  • Pvz.:
b lin logika ir miglotoji logika
Būlinė logika ir Miglotoji logika
  • Būlinėje logikoje teiginio reikšmė gali būti tik 100% “TRUE” arba “FALSE”
  • Miglotoje logikoje teiginiai gali būti iš dalies teisingi arba iš dalies klaidingi
b lin logika ir miglotoji logika1
Būlinė logika ir Miglotoji logika
  • Būlinė logika:A(x) = 1 if x  A and A(x) = 0 if x A
  • Miglotoji logika: A(x) = [0,1]
miglotosios logikos operatoriai 1
Miglotosios logikos operatoriai (1)
  • ARBA: A  B = max {A,B}
miglotosios logikos operatoriai 2
Miglotosios logikos operatoriai (2)
  • IR: A  B = min{AB}
miglotosios logikos operatoriai 3
Miglotosios logikos operatoriai (3)
  • NE: ’A = 1 - A(x)
miglot ja logika gr sta valdymo sistema
Miglotąja logika grįsta valdymo sistema
  • Veikia naudodama ML taisyklių rinkinį
  • Struktūra
    • Fuzzifier:daviklių reikšmėms priskiria ML reikšmes
    • ML žinių bazė: IF-THEN tipo taisyklių rinkinys
    • ML loginis įrenginys:pritaiko taisykles iš ML žinių bazės
    • Defuzzifier: pagal ML išėjimo reikšmes sukuria vykdiklių valdymo komandų seką
ml valdymo pavyzdys
ML valdymo pavyzdys
  • ML taisyklė

IFpriekyje-artima-kliūtisAND NOTkairėje artima-kliūtis

THENstaigus posūkis-į-kairę

Šaltinis: Meng Wang, James N.K. Liu.

Fuzzy logic-based real-time robot navigation in unknown environment with dead ends

hibridinis pid fuzzy valdymo algoritmas
Hibridinis PID-Fuzzy valdymo algoritmas
  • PI + ML valdiklis

Šaltinis: S. Paramasivam, R. Arumugam. Hybrid fuzzy controller for speed control of switched reluctance motor drives.

robot valdymo algoritmai4
Robotų valdymo algoritmai
  • Dirbtiniai neuroniniai tinklai
  • Genetinio programavimo algoritmai
  • Evoliuciniai skaičiavimai
  • Tikimybiniai algoritmai
dirbtinis neuroninis tinklas dnt
Dirbtinis neuroninis tinklas (DNT)
  • Dirbtinis neuroninis tinklas – tarpusavyje sujungtų dirbtinių neuronų grupė.
  • Imituoja žmogaus nervų sistemos – neuronų tinklo – darbą
  • Iš esmės yra klasifikatorius – parenka išėjimų (sprendimų) reikšmes priklausomai nuo įėjimų reikšmių
slide48
DNT
  • Atlikus apmokymą, variklių greičiai apskaičiuojami pagal šią formulę:

kur:

wijyra svoriai,

siyra jutiklių signalų reikšmės ir

f yra greitį skaičiuojanti funkcija

daugiasluoksn dnt valdomo roboto architekt ra
Daugiasluoksnė DNT valdomo roboto architektūra

Šaltinis: L. Acosta, G.N. Marichal, L. Moreno, J.J. Rodrigo, A. Hamilton, J.A. Mendez.

A robotic system based on neural network controllers

hibridin pid dnt architekt ra
Hibridinė (PID + DNT) architektūra
  • ϕd– pageidaujama roboto padėtis
  • τ– valdymo instrukcijos

Šaltinis: S̨ahin Yıldırım. Adaptive robust neural controller for robots

robot apmokymas 1
Robotų apmokymas (1)
  • Ilgai trunkantis ir brangus procesas
  • Įprasta pirmiau apmokyti robotą kaip programinį agentą virtualioje aplinkoje ir tik pasiekus norimus rezultatus visa, kas išmokta, perkelti į tikrą robotą
  • Roboto elgsenos modeliavimas virtualioje aplinkoje turi daug privalumų:
    • pigiau kainuoja,
    • roboto mokymas vyksta žymiai sparčiau nei realiomis sąlygomis,
    • prireikus lengva keisti dirbtinio neuroninio tinklo struktūrą, nesidėvi ir negadinamas pats robotas,
    • nereikia iš roboto siųsti duomenų į centrinį kompiuterį,
    • mokymo metu net nebūtina turėti paties roboto
robot apmokymas 2
Robotų apmokymas (2)
  • Sistema yra sudėtingesnė už anksčiau aprašytas, bet tuo pačiu ir lankstesnė bei universalesnė
  • Pagrindiniai šios sistemos bruožai: ją reikia apmokyti ir ji gali evoliucionuoti
  • Mokymas – vienas iš sudėtingiausių procesų evoliucinių robotų technikoje Iki šiol nėra sukurta efektyvių mokymo algoritmų
  • Dažniausiai mokoma bandymų – klaidų metodu Neuroninių tinklų mokymas iš esmės yra tinklo svorių optimizavimas
robot apmokymas 3
Robotų apmokymas (3)
  • Robotų mokymas pagrįstas idėja, kad valdymo sistema – dirbtinis neuroninis tinklas – gali būti išmokomas naudojant nepilnus duomenis
  • Tai reiškia, kad mokoma tik pagal turimus duomenis, nes paprastai neturima duomenų, kaip robotas turi elgtis kiekvienoje situacijoje
  • Jeigu turima mažai mokymo duomenų, reikia vengti tinklo permokymo, nes tada robotui bus sunku prisitaikyti prie staiga ėmusių keistis aplinkos sąlygų
  • Po apmokymo dirbtiniam neuroniniam tinklui leidžiama apibendrinti ir taikyti įgytas žinias, kai robotas atsiduria situacijose, kuriose dar nėra buvęs
robot apmokymas 4
Robotų apmokymas (4)
  • Evoliucionuojanti valdymo sistema yra pranašesnė už tikslų, nekintantį, roboto suprojektavimą
  • Jį įgalina robotą prisitaikyti prie kintančios aplinkos ir prie naujų jos savybių
  • Taikant šią valdymo sistemą nereikia numatyti visų situacijų, į kurias gali pakliūti robotas, todėl ji pranašesnė už būsenomis pagrįstą valdymo sistemą
robot apmokymo strategijos
Robotų apmokymo strategijos
  • Prižiūrimas apmokymas

Remiantis pageidaujamos elgsenos pavyzdžiais (x’,y’), sukonstruoti elgsenos funkciją y=F(x)

  • Priverstinis apmokymas

Robotas, esantis būsenoje s(t) vykdo veiksmus a(t) Reikia rasti strategiją a=G(s(t)),kuri maksimizuoja naudos funkciją

  • Neprižiūrimas apmokymas

Duotas tik pradinių duomenų rinkinys Reikia sukonstruoti išėjimo funkciją, kurios statistinės charakteristikos atitinka pradinių duomenų charakteristikas

kompleksinis apmokymas
Kompleksinis apmokymas
  • Dynamic Brain Project

http://wwwcnsatrjp/erato/indexhtml

robot valdymo algoritmai5
Robotų valdymo algoritmai
  • Evoliuciniai / Genetinio programavimo algoritmai
  • Tikimybiniai algoritmai
evoliuciniai skai iavimai es
Evoliuciniai skaičiavimai (ES)
  • Apima genetinius algoritmus (GA), evoliucijos strategijas ir evoliucinį programavimą (EP).
  • Remiasi fundamentaliais “natūralios evoliucijos” principais.
  • Terminai buvo pasiskolinti iš biologijos ir genetikos,
    • “individai” (arba “genotipai”, “struktūros”) populiacijoje yra vadinami “chromosomomis” (arba “eilutėmis”),
    • “genai” (ar “savybės”, “tipai”, “šifratoriai”) yra chromosomų elementai (arba vienetai).
  • Evoliucinė programa yra tikimybinis algoritmas, kuris aprašo individų populiaciją P(t) = x1(t),...,xn(t), kur t žymi iteracijų skaičių.
es proced ra
ES procedūra

1) Problema apibrėžiama kaip n-mačio realių skaičių vektoriaus XR’, kuris maksimizuoja tikslo funkciją F(X), paieška.

2) Pradinių vektorių Xi, i­­ = 1,...,P, populiacija atsitiktinai parenkama iš kiekvieno kintamojo galimų reikšmių intervalo.

3) Rezultatų vektorius, Xi’, i­­ = 1,...,P, gaunamas prie kiekvieno vektoriaus tėvo Xi atsitiktinį dydį, pasiskirsčiusį pagal Gauso pasiskirstymą su nuliniu vidurkiu.

4) Lyginant paklaidas F(Xi) ir F(Xi’), i = 1,...,P išrenkamas vienas vektorius. P vektoriai su mažiausia paklaida tampa naujais kitos kartos tėvais.

5) Iteracijos 2-3 kartojamos tol, kol gaunamas pakankamas sprendinys ar baigiasi duotas skaičiavimo laikas.

genetiniai algoritmai
Genetiniai algoritmai
  • Algoritmai, paremti gamtoje egzistuojančiais gyvybės evoliuciniais mechanizmais:
    • paveldėjimas,
    • mutacija,
    • natūralioji atranka
    • rekombinaciją (crossover)
  • Vykdoma tam tikros programų populiacijos (chromosomų) ir sprendimų kandidatų (individų) evoliucija artėjant prie geriausio užduoties sprendimo
  • Leidžia rasti apytikslį užduoties sprendimą, kai tikslaus sprendimo algoritmai nežinomi.
genetiniai algoritmai ga
Genetiniai algoritmai (GA)

1) Apibrėžiama problema ir aprašoma tikslo funkcija.

2) Atsižvelgiant į apribojimus sugeneruojama galimų sprendimų X populiacija. Vektorius X - “chromosoma”, o jo elementai - “genai”.

3) Kiekviena populiacijos chromosoma, Xi, i = 1,...,P, dekoduojama į formą, tinkamą skaičiavimui, ir jai priskiriama vertė atitinkanti tikslo funkciją.

4) Kiekvienai chromosomai priskiriama reprodukcijos tikimybė Pi, i = 1,...,P.

5) Iš esamos populiacijos sukuriama nauja chromosomų populiacija naudojant genetinius operatorius, kaip “kryžminimas” ir “mutacija”.

Kryžminimas taikomas 2 chromosomom (tėvams) ir sukuria 2 naujas chromosomas (vaikus) parenkant atsitiktinę vietą dvejetainiame kode ir sujungiant dalį pirmos eilutės prieš pasirinktą vietą su dalimi antros eilutės po pasirinktos vietos

Mutacija leidžia pakeisti bet kurį bitą naujo sprendimo kodo eilutėje

6) Procesas nutraukiamas, jeigu randamas tinkamas sprendimas arba baigiasi užduotas skaičiavimo laikas. Priešingu atveju procesas pereina į 3 žingsnį ir ciklas kartojamas.

genetinio programavimo algoritmas
Genetinio programavimo algoritmas

Šaltinis: http://www.genetic-programming.com/gpflowchart.html

evoliucin robotika
Evoliucinė robotika
  • Roboto valdymo parametrai interpretuojami kaip genetinis kodas.
  • Imituojama ir įvertinama (naudojant „gerumo funkciją“) roboto elgsena
  • Individai su aukštesniu įvertinimu kopijuojami į sekančios kartos populiaciją.
  • Individai mutuojami.
  • ... Po kelių tūkstančių kartų: gaunamas „beveik geras“ roboto valdymo parametrų rinkinys
evoliucin robotika1
Evoliucinė robotika

Šaltinis: Rohde, M. (2010).

Enaction, Embodiment, Evolutionary Robotics. Simulation Models in the Study of Human Cognition, Ch. 3

Series: Thinking Machines, Vol. 1,Amsterdam, Beijing, Paris: Atlantis Press.

apmokymas naudojant genetin algoritm
Apmokymas naudojant genetinį algoritmą
  • Reikia svorius užkoduoti chromosomomis ir ieškoti optimalių jų reikšmių
  • Svoriai randami mokymo metu, tačiau mokymui reikalingas papildomas laikas: mokymas nėra spartus
  • Rasti optimalūs svoriai, kurie robotui leis judėti kokybiškai
  • Pavyzdys:
    • Reikia surasti 16 svorių
    • Kiekvieną jų galime užkoduoti, pvz., 8 genais,
    • chromosoma (individas) būtų sudaryta iš 16*8=128 genų
    • Priklausomai nuo robotui keliamų uždavinių reikia sukonstruoti tikslo funkciją ir ją optimizuoti
roboto apmokymo genetinio algoritmo pavyzdys
Roboto apmokymo genetinio algoritmo pavyzdys

ObstaclesCreate;

PopulationBuild;

for 1 to NUMBER_GENERATIONS dobegin

for 1 to RUNS_PER_GENERATION dobegin

for 1 to MAX_NUMBER_STEPS dobegin

ROBOTSMove

end

ObstaclesRecreate;

end

RobotsEvaluate

RobotsReproduce;

RobotsCrossover;

RobotsMutate;

end

genetiniai operatoriai 2
Genetiniai operatoriai (2)
  • Dauginimosi operatorius:
    • Geriausi individai pakeičia blogesnius individus
    • Kopijuojami individai parenkami atsitiktinai
  • Kryžminimosi operatorius:
    • Du individai apsikeičia informacija ir sukuriami nauji individai, kurie gali būti geresni arba blogesni
  • Mutacijos operatorius:
    • Pakeičiamos atsitiktinės genų reikšmės
    • Įtakoja tik vieną individą
    • Padeda išeiti iš lokalaus minimumo
tikslo funkcija
Tikslo funkcija
  • Apibrėžiama kaip svorinė baudų funkcija:

gerumas = susidurimų_svoris x susidūrimų_skaičius +

laiko_svoris x žingsnių_skaičius + atstumo_svoris x nukeliautas_atstumas

  • Keičiant svorius galima parinkti 3 strategijas:
    • Saugi:siekiant tikslo vengti klūčių
    • Greita:kuo greičiau pasiekti tikslą
    • Trumpa:parinkti kuo trumpesnį kelią
robot valdymo algoritmai6
Robotų valdymo algoritmai
  • Tikimybiniai algoritmai
tikimybiniai algoritmai
Tikimybiniai algoritmai
  • Robotų daviklių gaunama informacija yra netiksli, nepilna, užteršta triukšmo
  • Robotas kuria apytikslį (tikimybinį) programavimo modelį
  • Tokio modelio parametrus galima apskaičiuoti iš aplinkos duomenų
statistin tikimybin robotika
Statistinė (tikimybinė) robotika

Šaltinis: http://www.robotics.sk

pavyzdys2
Pavyzdys
  • Robotas bando nustatyti ar durys atidarytos
  • Gauna rezultatą z
  • Kokia yra tikimybė P(open|z)?
  • P(x | y) yra xtikimybė, kai žinomas y P(x | y) = P(y | x) * P (x) / P(y)(Bajeso formulė)
pavyzdys3
Pavyzdys
  • P(z|open) = 0.6 P(z|open) = 0.3
  • P(open) = P(open) = 0.5
literat ra
Literatūra
  • Hitoshi Iba. Frontiers in Evolutionary Robotics. I-Tech Education and Publishing, Published: April 01, 2008. http://www.intechopen.com/books/frontiers_in_evolutionary_robotics
  • M.R.W. Dawson, B. Dupuis, M. Wilson. From Bricks to Brains. AU Press.

http://www.aupress.ca/books/120175/ebook/99Z_Dawson_et_al_2010-From_Bricks_To_Brains.pdf