Bevezetés az informatikába

Hasonló dokumentumok
Mesterséges Intelligencia alapjai

Bevezetés az informatikába

2. Visszalépéses stratégia

2. Visszalépéses keresés

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Bevezetés az informatikába

Bevezetés az informatikába

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

értékel függvény: rátermettségi függvény (tness function)

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Bevezetés az informatikába

Dr. habil. Maróti György

Számítógépes döntéstámogatás. Genetikus algoritmusok

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

Kétszemélyes játékok

Számítógép és programozás 2

Keresések Gregorics Tibor Mesterséges intelligencia

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Evolúciós algoritmusok

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

Kereső algoritmusok a diszkrét optimalizálás problémájához

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás

Algoritmizálás, adatmodellezés tanítása 7. előadás

Mesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi

értékel függvény: rátermettségi függvény (tness function)

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Mesterséges Intelligencia MI

Kereső algoritmusok a diszkrét optimalizálás problémájához

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

angolul: greedy algorithms, románul: algoritmi greedy

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

1. Milyen hatással van a heurisztika általában a keresõ rendszerek mûködésére?

Adatszerkezetek 7a. Dr. IványiPéter

Amortizációs költségelemzés

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

1. AZ MI FOGALMA. I. Bevezetés. Tulajdonságok. Kezdet ELIZA. Első szakasz (60-as évek)

Számítógép és programozás 2

Mesterséges Intelligencia MI

A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű "optimálásának" általános és robosztus módszere

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal. A genetikus algoritmus működése. Az élet információ tárolói

Számítógépes alapismeretek

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Genetikus algoritmusok

Mesterséges intelligencia

ÖSSZEFOGLALÁS a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez

BACKTRACKING Visszalépéses keresés

Teljes visszalépéses elemzés

Visszalépéses keresés

Visszalépéses kiválogatás

Programozási nyelvek 6. előadás

Bevezetés az informatikába 1.

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

A sz.ot.ag. III. Magyar Számítógépes Nyelvészeti Konferencia december 8. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 1/ 16

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Adatszerkezetek 2. Dr. Iványi Péter

2018, Diszkrét matematika

Szimulációs technikák

Funkcionális Nyelvek 2 (MSc)

Keresési algoritmusok, optimalizáció

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

29. Visszalépéses keresés 1.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Gráfkeresések A globális munkaterületén a startcsúcsból kiinduló már feltárt utak találhatók (ez az ún. kereső gráf), külön megjelölve az utak azon

Megerősítéses tanulás 2. előadás

Modellezés és szimuláció. Szatmári József SZTE Természeti Földrajzi és Geoinformatikai Tanszék

Számítógép és programozás 2

Informatikai tehetséggondozás:

Mesterséges Intelligencia I. (I602, IB602)

Neurális hálózatok.... a gyakorlatban

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Fordító Optimalizálás

Programozás alapjai (ANSI C)

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

CARE. Biztonságos. otthonok idős embereknek CARE. Biztonságos otthonok idős embereknek Dr. Vajda Ferenc Egyetemi docens

Adaptív menetrendezés ADP algoritmus alkalmazásával

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Informatikai tehetséggondozás:

Adatszerkezetek Hasító táblák. Dr. Iványi Péter

Neurális hálózatok bemutató

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

4. Programozási nyelvek osztályozása. Amatőr és professzionális

V. Kétszemélyes játékok

Modellezés Gregorics Tibor Mesterséges intelligencia

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Gráfkeresések A globális munkaterületén a startcsúcsból kiinduló már feltárt utak találhatók (ez az ún. kereső gráf), külön megjelölve az utak azon

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Rakov(34125)= Rakov(12543)= Rakov(14532)= Rakov(54321)=-

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Intelligens Rendszerek Elmélete IRE 4/32/1

Számítógépes alapismeretek

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Adatbányászati szemelvények MapReduce környezetben

Átírás:

Bevezetés az informatikába 9. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 1 / 24

1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 2 / 24

Tartalom Programozási nyelvek... 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 3 / 24

Assembly Programozási nyelvek... a gépi kódnak megfelelő, assembly utasítások, "mnemonik"-ok assembler fordító rövid, gyors kód, nehéz használat, processzor függő Z80 mikroprocesszor assembly példa: ld de, 40000 ; a de regiszterpárba a forráscím ld hl, 16384 ; a hl regiszterpárba a célcím ld bc, 6912 ; a bc regiszterpárba a blokk hossza loop ld a, (de) ; az a regiszterbe a forrás értéke ld (hl), a ; az a regiszterből a célba inc hl ; célcím növelése eggyel inc de ; forráscím növelése eggyel dec bc ; a hátralévő hossz csökkentése ld a, b ; bc regiszterpár=0 vizsgálat or c ; jr nz, loop ; ha nem, ugrás vissza "loop"-ra ret ; visszatérés Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 4 / 24

Programozási nyelvek... Bájtkód alapú interpretált nyelvek A fordító program először egy átmeneti kódot (ez a "bájtkód") állít elő Az interpretált nyelvekhez képest hatékonyabb szintaktikai ellenőrzés, kisebb kódméret, nagyobb sebesség Perl példa faktoriális számításra: #!/usr/bin/perl sub fac { my ($n) = @_; if ($n < 2) {return $n;} else {return $n * fac($n-1);} } print fac(6), "\n"; Példák: Perl, Python, Ruby Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 5 / 24

Tartalom Programozási nyelvek... Funkcionális programozás (Lisp) 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 6 / 24

Programozási nyelvek... Funkcionális programozás (Lisp) Hanoi tornyai : megoldás Lisp nyelven (defun dohanoi(n to from u) (cond ( (> n 0) (dohanoi (- n 1) u from to) (format t "move ~D --> ~D~&" from to) (dohanoi (- n 1) to u from) ) ) ) (defun hanoi(n) (dohanoi n 3 1 2) ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 7 / 24

Tartalom Programozási nyelvek... Logikai programozás (Prolog) 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 8 / 24

Prolog Programozási nyelvek... /* tények */ felesege(karoly, terez). lanya(karoly, ilona). felesege(istvan, gizella). fia(istvan, imre). fia(istvan, jozsef). Logikai programozás (Prolog) /* szabályok */ ferje(feleseg, Ferj) :- felesege(ferj,feleseg). szulei(gye,apa,anya) :- lanya(apa,gye), felesege(apa,anya). szulei(gye,apa,anya) :- fia(apa,gye), felesege(apa,anya). gyermeke(x, Gyermek) :- szulei(gyermek, Apa, X). gyermeke(x, Gyermek) :- szulei(gyermek, X, Anya). apja(gyermek, Apa) :- szulei(gyermek, Apa, X). anyja(gyermek, Anya) :- szulei(gyermek, X, Anya). /* lekérdezés */ szulei(imre, Apa, Anya). Apa= istvan, Anya= gizella Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 9 / 24

Tartalom Programozási nyelvek... Visszalépéses keresés 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 10 / 24

Programozási nyelvek... Visszalépéses keresés Visszalépéses keresés (backtrack) globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai: a nyilvántartott út végéhez egy új (ki nem próbált) él hozzáfűzése, vagy az legutolsó él törlése (visszalépés szabálya) visszalépés feltételei: zsákutca, azaz végpontjából nem vezet tovább út zsákutca torkolat, azaz végpontjából kivezető utak nem vezettek célba kör, azaz végpontja megegyezik az út egy megelőző csúcsával mélységi korlátnál hosszabb terminálási feltétel: az aktuális út végén megjelenik egy célcsúcs, vagy ha a startcsúcsból vissza akarunk lépni sorrendi heurisztika, vágó heurisztika Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 24

Programozási nyelvek... Visszalépéses keresés 8 kiránynő probléma megoldása visszalépéses kereséssel Helyezzünk fel 8 ("n") királynőt egy sakktáblára (n n) úgy, hogy egyik se üsse a másikat! algoritmus vázlat: 1 legyen az aktuális oszlop az első oszlop 2 az aktuális oszlop első (következő) lehetséges sorába próbáljuk tenni egy királynőt 3 ha sikerült (volt még lehetséges sor), akkor legyen a következő oszlop az aktuális oszlop, és a következő lépés a 2. 4 ha nem sikerült (nincs több lehetséges sor), akkor lépjünk vissza, legyen az aktuális oszlop az előző oszlop, jelöljük meg, hogy ahol most áll a királynő az nem jó pozíció, és a következő lépés a 2. Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 12 / 24

Tartalom Programozási nyelvek... 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 13 / 24

Programozási nyelvek... Utazó ügynök probléma - genetikus algoritmus Az utazó ügynök probléma: Adott n darab város. Keressük az összes város érintő, legrövidebb útvonalat. NP nehéz : O(n!).. O(2 n ) kromoszóma 1 gén = 1 város (a látogatás sorszáma) annyi gén ahány város "városszámok permutációja" keresztezés permutáció megörzése mutáció kromoszómán belüli sorrend felcserélése http://www.lalena.com/ai/tsp/ Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 14 / 24

Programozási nyelvek... Utazó ügynök - genetikus algoritmussal... Genetikus algoritmus kiindulási populáció (egyed reprezentáció) kiválasztás ("fitnessz" függvény) reprodukció (keresztezés, mutáció) megállás TSP - GA város lista permutációk úthossz pld. városcsere hosszváltozás Genetikus algoritmus értékelés : közelítő megoldás, gyorsan "elég jó" megoldás lokális / globális minimum jól párhuzamosítható Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 24

Programozási nyelvek... Utazó ügynök - genetikus algoritmussal... Genetikus algoritmus kiindulási populáció (egyed reprezentáció) kiválasztás ("fitnessz" függvény) reprodukció (keresztezés, mutáció) megállás TSP - GA város lista permutációk úthossz pld. városcsere hosszváltozás Genetikus algoritmus értékelés : közelítő megoldás, gyorsan "elég jó" megoldás lokális / globális minimum jól párhuzamosítható Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 24

Programozási nyelvek... Utazó ügynök - genetikus algoritmussal... Genetikus algoritmus kiindulási populáció (egyed reprezentáció) kiválasztás ("fitnessz" függvény) reprodukció (keresztezés, mutáció) megállás TSP - GA város lista permutációk úthossz pld. városcsere hosszváltozás Genetikus algoritmus értékelés : közelítő megoldás, gyorsan "elég jó" megoldás lokális / globális minimum jól párhuzamosítható Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 24

Programozási nyelvek... 2004-es rekord : 24978 város Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 16 / 24

Tartalom Programozási nyelvek... Algoritmusok tanulása 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 17 / 24

Programozási nyelvek... Truck backing problem Algoritmusok tanulása A keresett függvény : u=g(x,y,cabt,trailert) PLUS(a,b) MINUS(a,b) MUL(a,b) DIV(a,b) ATG(a,b) IFLTZ(a,b,c) a+b a-b a*b a/b, if b <> 0, else 1 atan2(a,b), if a<> 0, else 0 b, if a<0, else returns c http://www.handshake.de/user/blickle/truck/ Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 18 / 24

Tartalom Programozási nyelvek... 1 Programozási nyelvek... Funkcionális programozás (Lisp) Logikai programozás (Prolog) Visszalépéses keresés Algoritmusok tanulása Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 24

Programozási nyelvek... Neuro-Evolving Robotic Operatives "ágensek" (robotok) 3D fizikai szimulációs környezet tanítható ágensek két játékfázis tanítás, "próbakörnyezetben" ellenfél "stratégia" elleni "harc"... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 24

Programozási nyelvek... Neuro-Evolving Robotic Operatives - neurális háló Real-time Neuroevolution (rtneat) ágens "agy": neurális hálózat szenzorok a neurális háló bemenetei kimenetek a motorok és a fegyver Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 21 / 24

Programozási nyelvek... Neuro-Evolving Robotic Operatives - genetikus algoritmus Real-time Neuroevolution (rtneat) genetikus algoritmus, megerősítéses tanulás: egy populáció legjobbjai jutalmat, a legroszabbak büntetést kapnak a "jóságot" a felhasználó állítja be: különböző szempontoknak megfelelés (ellenfél megközelítése, célbatalálás, távolságok...) az "agy"at az életciklusa végén az algoritmus "kiértékeli"... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 22 / 24

Programozási nyelvek... Neuro-Evolving Robotic Operatives - "fejlődés" tanítás egyre komplexebb környezetekben egyed fejlődése - neurális hálózat "fejlődése" (egyre több neuron, de korlátozva) csoport fejlődése - "szelekció" N.E.R.O. Neuro-Evolving Robotic Operatives : http://nerogame.org Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 23 / 24

Összefoglalás Programozási nyelvek...... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 24 / 24