Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
KÖSZÖNTJÜK HALLGATÓINKAT!
2010. június 9. KÖSZÖNTJÜK HALLGATÓINKAT! Önök Dr. Botzheim János: Intelligens számítási rendszerek I. előadását hallhatják!
2
Intelligens számítási rendszerek I
Intelligens számítási rendszerek I. Botzheim János egyetemi docens Széchenyi István Egyetem (Győr) 2010. Június 9.
3
Motivációk Hogyan lehetne automatikussá tenni azokat az összetett funkciókat, amelyek megvalósítására az ember könnyedén képes pl.: autóvezetés Nehezen kezelhető feladatok Számos, az ember által többé-kevésbé megoldható feladat a klasszikus matematikai módszerekkel nehezen vagy egyáltalán nem kezelhető Az emberi intelligencia elemeit modellezve a nagybonyolultságú rendszerek kezelése megvalósítható intelligens, ún. soft computing technikákkal Intelligens alapmódszerek Fuzzy rendszerek, neurális hálózatok, evolúciós algoritmusok Jellemző a biológiai és filozófiai indíttatás
4
Homokkupac paradoxon homokkupac – homokszem = homokkupac ... ... ...
5
ebből az következik, hogy homokkupac = 0
ennek oka: a homokkupacot nem definiáltuk elég pontosan gond: egy precíz matematikai definíció nincs összhangban a homokkupac hétköznapi fogalmával probléma: a precíz fogalmakat használó matematika nem alkalmas a pontatlan fogalmak formális kezelésére kérdés: ki tudjuk-e terjeszteni a matematikát úgy, hogy képes legyen pontatlan fogalmakat is kezelni?
6
Fuzzy halmaz, fuzzy logika
Fuzzy: homályos, életlen Lotfi A. Zadeh (1965): fuzzy halmazelmélet a nyelvi fogalmakban lévő pontatlanság kifejezésére Fuzzy logika: Zadeh, 1973 Fuzzy következtetés nyelvi szabályokkal: Zadeh: 1973 Mamdani: 1975
7
Fuzzy halmaz Elmosódott határ:
pl.: „magas emberek”: mennyire eleme egy ismert magassággal rendelkező ember ennek a halmaznak? Részleges tagság: 0 és 1 között: van aki jobban beletartozik, van aki kevésbé Milyen mértékben tartozik x a halmazba? tagsági függvény
8
Egy példa Pl. Egy hallgatói csoport Alaphalmaz: X
“Kinek van jogositványa?” X egy részhalmaza az A (crisp) halmaz A(X) = karakterisztikus függvény “Ki tud jól vezetni?” (X) = tagsági függvény
9
Egy másik példa példa az emberek magasságait leíró 3 fuzzy halmazra
a halmazok részben átfedhetik egymást egy ember több halmazba is beletartozhat, különböző tagsági értékkel 1 m x [cm] alacsony középtermetű magas
10
Műveletek fuzzy halmazokon
Zadeh, 1965 Komplemens: Metszet: Unió:
11
Relációk Hagyományos (crisp) reláció: két vagy több halmaz elemei közötti kapcsolatokat írja le. Ha a halmazok bizonyos elemei között van kapcsolat, akkor a reláció értéke az adott kapcsolatra 1, különben pedig 0 Fuzzy reláció: a kapcsolatokat kevesbé élesen írja le, két vagy több elem egymással való kapcsolatát tetszőleges 0 és 1 közötti értékkel jellemezhetünk A B A B 0.5 0.8 1 0.9 0.6 crisp reláció fuzzy reláció
12
Fuzzy szabályok HA x = A AKKOR y = B
ahol A a szabály antecedense, B pedig a konzekvense példa: Ha a forgalom erős északi irányban, akkor a lámpa legyen hosszabb ideig zöld Fuzzy szabálybázis reláció
13
Fuzzy szabálybázis HIDEG MELEG FORRÓ HŐMÉRSÉKLET
14
Ha a hőmérséklet HIDEG akkor a motor sebesség ALACSONY
KÖZEPES MAGAS MOTOR SEBESSÉG Ha a hőmérséklet HIDEG akkor a motor sebesség ALACSONY Ha a hőmérséklet MELEG akkor a motor sebesség KÖZEPES Ha a hőmérséklet FORRÓ akkor a motor sebesség MAGAS
15
Következtető módszer 1. szabály 2. szabály 3. szabály Hőmérséklet = 55
Motor sebesség Motor sebesség = 43.6 1. szabály 2. szabály 3. szabály
16
Neurális hálózatok Az agyi neuronok működését leutánzó számítási egységek Minták formájában reprezentált tudás megtanulására képes Tudás típusai: analitikus: pl. matematikai egyenletek szabályalapú: pl. fuzzy rendszerek tapasztalati: minták, megfigyelések
17
Tanulás y x rendszer modell
A hálózat paramétereinek (súlyok) módosítása minták alapján rendszer modell + x y hiba
18
Modell-jóság és erőforrásigény
Cél a lehető legjobb kompromisszum megtalálása a kezelhetőség (számítási bonyolultság, erőforrásigény ) és a jóság (modell-pontosság) között “Fuzzy macska - egér ” probléma Az „okos” macska sokáig gondolkodik, hogy hol lehet az egér, de utána gyorsan megtalálja A „buta” macska gyorsan dönt, de pontatlanul, ezért sokáig keres
19
Evolúciós algoritmusok
A soft computing (lágy számítási) módszerek három fő területének egyike Fuzzy rendszerek Neurális hálózatok Evolúciós algoritmusok Alapelvük a megoldások egy populációján történő keresés, melyet a biológiából megismert törvényszerűségek vezérelnek A populáció egyedei a feladat egy-egy megoldását jelentik A populáció fejlődik, egyre jobb egyedeket kapunk
20
A kezdetek Az ötlet, hogy használjunk szimulált evolúciót mérnöki és tervezési problémák megoldására az 1950-es években megjelenik már Az 1960-as években kialakul a három fő klasszikus terület: Evolúciós programozás (Lawrence Fogel, 1962), Genetikus algoritmusok (Holland, 1975) Evolúciós Stratégiák (Rechenberg, 1965 & Schwefel, 1968) Az egyes technikák kifejlesztői megmutatták, hogy a módszerük alkalmas a következő probléma típusok megoldására Fogel előrejelzési problémákkal foglalkozott Rechenberg & Schwefel paraméter optimalizációs problémákkal Holland robusztus adaptív rendszerek fejlesztésével
21
Optimalizációs módszerek
Determinisztikus Calculus alapú Hegymászó módszer … Sztochasztikus Véletlen keresés Szimulált lehűtés Evolúciós algoritmusok: sztochasztikus módszerek, melyek a természetes evolúció folyamatát szimulálják felhasználva a legalkalmasabb egyed túlélésének törvényét
22
Terminológia Gén: funkcionális entitás, mely az egyed egy speciális tulajdonságát kódolja (pl. hajszín) Allél: a gén értéke (pl. szőke) Egyed: kromoszóma, egy megoldás jelölt a problémára Genotípus: egy egyed alléljainak egy speiális kombinációja Fenotípus: az egyed külső-belső tulajdonságainak összessége Locus: egy gén pozíciója a kromoszómán belül Populáció: egyszerre együtt élő egyedek összessége
23
A populáció evolúciója
Egyedek eloszlása a 0. generációban Egyedek eloszlása az N. generációban
24
kezdeti populáció létrehozása
Genetikus algoritmus egyedek rangsorolása kezdeti populáció létrehozása szelekció keresztezés mutáció visszahelyettesítés
25
Az egyed Az egyed egy megoldás jelölt a problémára
A probléma egy lehetséges megoldása valamilyen formában az egyedbe van kódolva pl. bináris, vagy valós Fitnesz érték (alkalmassági érték): az egyedeket valamilyen kritérium szerint értékeljük ki, aszerint, hogy mennyire jó megoldást adnak a feladatra Jobb egyednek nagyobb a fitnesz értéke, és nagyobb eséllyel él túl
26
Szelekciós módszerek többféle kiválasztási módszer terjedt el
minél jobb az egyed, annál nagyobb az esély a kiválasztására Rulett kerék szelekció: az egyedek a fitnesz értékükkel arányos szeletet kapnak a gurításnál a nagyobb fitnesz értékű egyedek nagyobb eséllyel választódnak ki
27
Keresztezés (Crossover)
Véletlenszerű keresztezési pont kiválasztása a két szülőn Utódok létrehozása az információ kicserélődésével a keresztezési pont alapján
28
Mutáció Gén értékének véletlenszerű megváltoztatása pm valószínűséggel (mutációs arány)
29
Egy példa (Goldberg) Egyszerű probléma: x2 maximumának megkeresése a {0,1,…,31} alaphalmazon Genetikus algoritmussal: Reprezentáció: bináris, pl 13 Populáció méret: 4 Keresztezés, mutáció Rulett kerék szelekció Véletlenszerű inicializálás
30
Egy példa: szelekció
31
Egy példa : keresztezés
32
Egy példa : mutáció
33
Alternatív keresztezés operátorok
n-pontos: uniform:
34
Valós GA Keresztezés például: szülők: x1,…,xn és y1,…,yn utód1:
a másik utódra felcserélve pl.: ( = 0.5) Mutáció:
35
Bakteriális evolúciós algoritmusok
Természetből ellesett optimalizációs technika A baktériumok evolúciós folyamatán alapul Alkalmas bonyolult optimalizációs problémák megoldására Egyed: egy megoldás a problémára Intelligens keresési stratégia eléggé jó megoldás keresésére (kvázi optimum) Gyors konvergencia (feltételesen)
36
Az algoritmus Kezdeti populáció véletlenszerű létrehozása
n. generáció Kezdeti populáció véletlenszerű létrehozása Bakteriális mutáció végrehajtása minden egyeden Génátadás végrehajtása a populációban Ha megfelelő eredményt értünk el, akkor megállunk, különben folytatjuk a bakteriális mutációs lépéssel (n+1). generáció
37
Bakteriális mutáció Egy rész véletlenszerű kiválasztása
i. rész n. rész Az i. részt változtatjuk az Nklón számú másolatban, de az eredeti baktériumban nem A legjobb baktérium átadja az i. részt a többi baktériumnak Ismételjük addig, amíg az összes részt ki nem választottuk
38
Génátadás 1. A populációt 2 részre osztjuk, jó egyedekre, és rossz egyedekre 2. Egy baktériumot véletlenszerűen kiválasztunk a jobbik alpopulációból (forrásbaktérium) egy másikat pedig a rossz egyedek közül (célbaktérium) 3. A forrásbaktérium egy része felülírja a célbaktérium egy részét Ez a ciklus ismétlődik Ninf -szer (“infekciók” száma) rossz egyedek jó egyedek …
39
Paraméterek Ngen: generációk száma Nind: egyedek száma
Nklón: másolatok (klónok) száma a bakteriális mutációban Ninf: génátadások (infekciók) száma a génátadásnál
40
Különbségek a GA és BEA között
A GA az emlősállatok evolúciós folyamatát utánozza, míg a BEA a baktériumok fejlődését Az információ terjesztésére a GA a keresztezés operátort használja, a BEA pedig a génátadást A bakteriális mutáció hatékonyabb a GA klasszikus mutációjánál A bakteriális evolúciós algoritmusban nincs szelekció, viszont van osztódás
41
Evolúciós elméletek Jean-Baptiste Lamarck
A szerzett tulajdonságok öröklésének elmélete Ha egy organizmus változik az élete során, hogy ezáltal jobban adaptálódjon a környezetéhez, ezeket a változásokat továbbadja az utódainak Charles Darwin A szerzett tulajdonságok nem öröklődnek Az organizmus élete során bekövetkező változásai nincsenek hatással a faj fejlődésére James M. Baldwin Új faktor az evolúcióban A szerzett tulajdonságok indirekten öröklődhetnek
42
Memetikus algoritmus Az evolúciós algoritmusoknak lokális kereső operátorokkal történő olyan kombinációja, ahol a lokális keresés az evolúciós cikluson belül zajlik A memetikus algoritmusokat Moscato javasolta (~1989) A lokális keresést élethosszig tartó tanulásnak lehet tekinteni Terminológia: mém = a kulturális evolúció alapegysége („génje”) (Dawkins: Az önző gén, 1976) ”mimema”: utánzás
43
Miért kombináljuk őket?
Evolúciós algoritmusok Nagy, durva keresési teret járnak be Nehézségek a finomhangolással Lokális kereső technikák Gyorsan optimizálnak, konvergálnak Lokális optimumokba ragadnak Hátrányok: A tanulás költséges A tanulás nem mindig jó
44
Bakteriális memetikus algoritmus
n. generáció Kezdeti populáció véletlenszerű létrehozása Bakteriális mutáció végrehajtása minden egyeden Lokális keresés végrehajtása minden baktériumon Génátadás végrehajtása a populációban Ha megfelelő eredményt értünk el, akkor megállunk, különben folytatjuk a bakteriális mutációs lépéssel Bakteriális mutáció Gén átadás Lokális keresés (n+1). generáció
45
A bakteriális memetikus algoritmus alkalmazása az utazó ügynök probléma megoldására
Az utazó ügynök probléma (Traveling Salesman Problem, TSP) célja a legolcsóbb út megtalálása városok egy halmazában úgy, hogy minden várost pontosan egyszer látogatunk meg és végül a kiindulási pontba térünk vissza Az irodalomban a városok közötti költségek az euklideszi távolsággal vannak megadva, a probléma szimmetrikus, a költségek konstansok Nehéz probléma Módosítások az eredeti TSP-n, hogy a való élethez közelebb kerüljön
46
A módosított utazó ügynök probléma
Egy várost nem csak egyszer lehet meglátogatni A valóságban vannak olyan városok, melyeknek csak egy csatlakozásuk van a többihez Egy hosszabb út (több várost tartalmazó túra) olcsóbb is lehet A városok közötti költségek nem állandóak Valósághű modell Egy városban meg is lehet állni, és később folytatni a túrát, ha így jobban megéri A városok közti költségek nem csak az időtől függenek, hanem fuzzy számokkal is vannak leírva, ezáltal modellezve az út költségének pontatlanságát
47
Bakteriális mutáció TSP esetén
Paraméterek: szegmens hossz (ebben a példában 3) klónok száma (ebben a példában 4) 1. szegmens 2. szegmens 3. szegmens 4. szegmens Véletlenszerű mutációs szegmens-sorrend kialakítása pl.: {3. szegmens, 1. szegmens, 4. szegmens, 2. szegmens} (ez azt jelenti, hogy a bakteriális mutációt először a 3. szegmensen hajtjuk végre) Létrehozzuk a klónokat és az adott szegmenset megváltoztatjuk a klónokban 1. klón: 2. klón: 3. klón: 4. klón: a legjobb klón kiválasztása
48
Bakteriális mutáció TSP esetén
A szegmensnek nem muszáj egymás melletti elemekből állni: 1. szegmens A módosított TSP-ben a városok száma nincs előre meghatározva, ezért különböző hosszúságú egyedek is előfordulhatnak a populációban. A módosított TSP-ben egy klón mutációja előtt véletlenszerűen döntünk a klón hosszának megváltoztatásáról.
49
Génátadás TSP esetén Paraméterek: szegmens hossz (ebben a példában 3)
infekciók száma Forrásbaktérium: Célbaktérium a génátadás előtt: Célbaktérium a génátadás után:
50
Lokális keresés 2-opt: 3-opt:
A C A C 1. 2. D B D B Lehetséges élpárak cseréje: |AB|+|CD|>|AC|+|BD| 3-opt: B A B A B A 1. 2. 3. E D E D E D F C F C F C Lehetséges élhármasok cseréje: A legjobbat kiválasztjuk.
51
További lehetőségek Determinisztikus egyedek a kezdeti populációban
Útkonstrukciós heurisztikák Legközelebbi szomszéd Második legközelebbi szomszéd Alternáló Determinisztikus klón a bakteriális mutációban A klónokban az adott szegmens véletlenszerűen változik, de az egyik klónban determinisztikusan változtatjuk, megfordítjuk a városok sorrendjét az adott szegmensben
52
Szimulációs eredmény – Klasszikus TSP
Referencia probléma 131 várossal ( XQF131 ) Optimális megoldás: teljes költség =564
53
Néhány egyéb evolúciós módszer
Többkritériumú genetikus algoritmus Többpopulációs genetikus algoritmus Hangyakolóniák Vírus alapú evolúciós algoritmus „Ragadozó-zsákmány” módszer Méhkirálynő evolúciós algoritmus Mesterséges immunrendszerek Részecske-sereg optimalizáció ...
54
KÖSZÖNJÜK MEGTISZTELŐ FIGYELMÜKET!
TÁMOP / KÖSZÖNJÜK MEGTISZTELŐ FIGYELMÜKET! A rendezvény a „SZiENCE4YOU – Tudás- és tudomány disszemináció a Széchenyi István Egyetemen” című projekt keretében valósult meg. A program szervezői, támogatói:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.