Logikai programozás 2..

Slides:



Advertisements
Hasonló előadás
Logikai programozás 2..
Advertisements

M OBILROBOT - PROGRAMOZÓ VERSENY Készítette: Szomjas Oroszlánok Team.
CSALÁDI ÉLETRE NEVELÉS Nem várt terhesség. NEM VÁRT TERHESSÉG Pánikba essünk? -Megtartsuk vagy elvétessük? -Kitől kérjünk tanácsot? -Hová forduljunk?
TAMOP B-11/ „A fiatalok családi életre nevelését, a kismamák munkaerő piaci elhelyezését segítő, innovatív családbarát szolgáltatások.
FOL függvényjelekkel Zsebibaba anyja A 2 harmadik hatványa a oszlopában az első blokk Ezek is nevek, de nem in- konstansok Azért, mert összetettek Predikátum:
Az új közbeszerzési törvény megalkotásának körülményei, várható jövőbeli változások május 26. Dr. Kovács László Miniszterelnökség Közbeszerzési Szabályozási.
Irattári és levéltári funkciók a tanúsított szoftverekben Vágujhelyi Ferenc.
Számvitel S ZÁMVITEL. Számvitel Hol tartunk… Beszámoló –Mérleg –Eredménykimutatás Értékelés – – – –2004- –Immateriális javak,
ISKOLAKÉSZÜLTSÉG – AZ ADAPTÍV VISELKEDÉS FEJLETTSÉGE dr. Torda Ágnes gyógypedagógus, klinikai gyermek-szakpszichológus Vizsgálóeljárás az iskolába lépéshez.
 Alap tudnivalók Alap tudnivalók  Az If és a While folyamatábrák Az If és a While folyamatábrák  Probléma Probléma  A while ciklus (általános alak,
Gazdasági jog IV. Előadás Egyes társasági formák Közkeresleti társaság, betéti társaság.
A szakiskolák aktuális problémái
FELVÉTELI TÁJÉKOZTATÓ
Valószínűségi kísérletek
Logo Országos Számítástechnikai Tanulmányi Verseny
Kompetenciamérés a Szakiskolai Fejlesztési Program II. keretében 2007
Programstruktúrák.
Becslés gyakorlat november 3.
Zsiros Péter A Bolyai János megyei matematikaverseny feladatsorairól és a javítás egységesítéséről Zsiros Péter
Quality 4 Children: a minőségi gyermekgondozás sztenderdjei az európai családon kívüli gondozásban.
PHP - függvények.
HÉL (Hasonló értelmű licit)
Kockázat és megbízhatóság
A kollektív szerződés Dr. Fodor T. Gábor Ügyvéd
A Hazug paradoxona Minden krétai hazudik. (Mondta egy krétai.)
Boros Péterné SZEF Alelnök SZEF AKADÉMIA Vezetője
Kiskunfélegyházi Szakképző Intézmény és Kollégium Mezőgazdasági és Élelmiszeripari Középiskolája és Szakiskolája OM azonosító: Kiskunfélegyháza,
Algoritmusok és Adatszerkezetek I.
13. A MELLÉRENDELŐ ÖSSZETETT MONDATOK FAJTÁI
Struktúra predikció ápr. 6.
Végeselemes modellezés matematikai alapjai
Kvantitatív módszerek
KOSSUTH LAJOS KÖZOKTATÁSI INTÉZMÉNY OROSHÁZA
Animációk.
Szervezeti egység megnevezése A konyhában keletkező tüzek megelőzése
Kijelentéslogikai igazság (tautológia):
2. Bevezetés A programozásba
Szerkezetek Dinamikája
Közigazgatási alapvizsga a Probono rendszerben
Grosz imre f. doc. Kombinációs hálózatok /43 kép
szakképzési és felnőttképzési szakértő
Life is game! But do not only play with a game!
Család és iskola Nevelés.
Kovács Gergely Péter Bevezetés
Teljes visszalépéses elemzés
Nyílt nap Iskola neve Dátum.
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
CONTROLLING ÉS TELJESÍTMÉNYMENEDZSMENT DEBRECENI EGYETEM
Aritmetikai kifejezések lengyelformára hozása
Informatikai gyakorlatok 11. évfolyam
A villamos installáció problémái a tűzvédelem szempontjából
Új pályainformációs eszközök - filmek
A csoportok tanulása, mint a szervezeti tanulás alapja
Statisztika Érettségi feladatok
Szervezeti egység megnevezése A konyhában keletkező tüzek megelőzése
A szállítási probléma.
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Családi vállalkozások
Szállításszervezési módszerek Járattípusok 1
Bevezetés Tematika Számonkérés Irodalom
Az identitástudat kialakulásának tényezői kisebbségi közegben
A társadalmi egyeztetés számokban
A geometriai transzformációk
Generali Alapkezelő beszámolója Gyöngyház Nyugdíjpénztár részére
Algoritmusok.
A T-spline felületreprezentáció
Kórházi és ágazati gazdálkodást érintő informatikai fejlesztések és az azokban rejlő lehetőségek Horváth Tamás Vezérigazgató CompuTREND Zrt.
Hipotéziselmélet Adatelemzés.
SPORTDiscus with Full Text Semmelweis Egyetem Központi Könyvtár 2012
Előadás másolata:

Logikai programozás 2.

BEMELEGÍTŐ Definiáljuk a testvér (minimum féltestvér) fogalmát! testvere(A,B) :- szuloje(C,A), szuloje(C,B) , A \= B. szuloje(Idos, Fiatal) :- anyja(Idos, Fiatal) ; apja(Idos, Fiatal). anyja(Idos, Fiatal) , apja(Idos, Fiatal). vagy: szuloje(Idos, Fiatal) :- anyja(Idos, Fiatal). szuloje(Idos, Fiatal) :- apja(Idos, Fiatal).

MÉG EGYSZER A KOLLÉGISTÁK Valaki kollégista, ha vidéki és jó tanuló. Mit jelent a vidékiség? Megoldandó: peldak/koleszos.pl

MÉG EGYSZER A KOLLÉGISTÁK videki(Diak,Kozpont) :- lakik(Diak, Varos), Varos \= Kozpont. jotanulo(Diak,Hatar) :- atlag(Diak, Atl), Atl >= Hatar. kollegista(Diak,Kozpont,Hatar) :- videki(Diak,Kozpont), jotanulo(Diak,Hatar). kollegista(Diak,Kozpont,Hatar) :- lakik(Diak, Varos), Varos \= Kozpont, atlag(Diak, Atl), Atl >= Hatar.

KOLLÉGISTÁK I/O-VAL Beolvasás/kiíratással : start :- write('Kérem a központot: '), read(Kozpont), write('Kérem az átlaghatárt: '), read(Hatar), kollegista(Diak, Kozpont, Hatar), writef('%w kollégista \n', [Diak]). Hátrány: csak egyetlen megoldást ír ki. Megoldás: A Prolog háttéralgoritmusa + némi „kényszer”

ELŐBB: A PROLOG MEGKÖZELÍTÉSI MÓDJAI A Prolog logikai (deklaratív nyelv), szabályaira mégis tekinthetünk deklaratív és procedurális módon is: Deklaratív szemlélet: Egy szabály egy logikai következtetés: a szabályfej pontosan akkor lesz igaz, ha bizonyos feltételek ÉS kapcsolata (szabálytörzs) igaz. Az azonos fejű szabályok VAGY kapcsolatban állnak.

ELŐBB: A PROLOG MEGKÖZELÍTÉSI MÓDJAI B :- A11, A12 , …, A1n. B :- A21, A22 , …, A2m. … B :- Ar1, Ar2 , …, Ark. szabály-együttes a következő logikai állítással egyenértékű: A B állítás igaz, ha vagy az A11, A12 , …, A1n állítások mindegyike, vagy az A21, A22 , …, A2m állítások mindegyike, … vagy az Ar1, Ar2 , …, Ark állítások mindegyike igaz.

ELŐBB: A PROLOG MEGKÖZELÍTÉSI MÓDJAI Procedurális szemlélet: Egy szabály eljáráshívások sorozatának is tekinthető. Pontosabban: egy szabály egy eljárásnak felel meg. A szabályfejben szereplő predikátumnév az eljárás neve, argumentumai az eljárás paraméterei. Az eljárásban további eljárásokat hívunk meg, mégpedig a szabály-törzsben szereplő predikátumnevekkel azonosítható eljárásokat. Az azonos szabályfejű szabályok együttese ugyanilyen módon eljárásnak tekinthető, csak ez az eljárás elágazást is tartalmaz, melyben az elágazás egyes ágai az egyes szabálytörzsek. Belépési pont: A lekérdezés.

A PROLOG (egyik) HÁTTÉRALGORITMUSA Visszalépéses algoritmus (back track): A kiértékelés elindul egy útvonalon, és addig tart, ameddig csak lehet: a/ sikeresen véget ért az útvonal; b/ hibás eredményhez jutunk. A b/ esetben az algoritmus egyetlen lépést visszalép, és ha az előző hívásnak van alternatívája, akkor végrehajtja azt.

A PROLOG (egyik) HÁTTÉRALGORITMUSA Visszalépéses algoritmus:  Pl.: B :- A11, A12, …A1k-1, A1k, A1k+1, …, A1n. B :- A21, A22, …, A2m. …

A KIÍRATÁSI PROBLÉMA MEGOLDÁSA Visszalépésre kényszerítés: start :- write('Kérem a központot: '), read(Kozpont), write('Kérem az átlaghatárt: '), read(Hatar), kollegista(Diak, Kozpont, Hatar), writef('%w kollégista \n', [Diak]), fail. start. Más írásmóddal: start :- write('Kérem a központot: '), read(Kozpont), write('Kérem az átlaghatárt: '), read(Hatar), kollegista(Diak, Kozpont, Hatar), writef('%w kollégista \n', [Diak]), fail; start.

CSALÁDFA Tegyük fel, hogy csak apák és fiúk vannak. Ismerjük az apa-fiú kapcsolatokat, írjuk fel: nagyapja(Idos, Fiatal) :- apja(Idos, Z), apja(Z, Fiatal). dedapja(Idos, Fiatal) :- apja(Idos, Z), nagyapja(Z, Fiatal). ukapja(Idos, Fiatal) :- apja(Idos, Z), dedapja(Z, Fiatal). szepapja(Idos, Fiatal) :- … ose(Idos, Fiatal) :- apja(Idos, Z), ose(Z, Fiatal).

CSALÁDFA Rekurzió: A szabálytörzs a szabályfejben lévő predikátumra hivatkozik. A rekurzió mindig két részből áll: rekurzív szabály megállító feltétel. ose(Idos, Fiatal) :- apja(Idos, Fiatal). ose(Idos, Fiatal) :- apja(Idos, Z), ose(Z, Fiatal).

CSALÁDFA - PÉLDA Írjuk fel a mellékelt családfát! apja(a,c). apja(a,b). apja(a,c). apja(b,d). apja(b,e). apja(e,f). ose(X,Y) :- apja(X,Y). ose(X,Y) :- apja(X,Z), ose(Z,Y). peldak/os.pl kipróbálása (nyomkövetéssel is)

KIÉRTÉKELÉS: ILLESZTÉSSEL Az illesztés feltételei: – Csak azonos nevű predikátumok illeszthetőek. – Csak azonos argumentumszámú predikátumok illeszthetőek. – Konstans saját magával illeszthető. – Változó konstanssal vagy másik változóval illeszthető.

ŐSE PÉLDA

CSALÁDFA - MÓDOSÍTÁS apja(a,c). apja(b,d). apja(b,e). apja(e,f). apja(a,b). apja(a,c). apja(b,d). apja(b,e). apja(e,f). ose(X,Y) :- apja(X,Y). ose(X,Y) :- apja(X,Z), ose(Z,Y). Jó-e így a második szabály?: ose(X,Y) :- ose(X,Z), apja(Z,Y).

CSALÁDFA - MÓDOSÍTÁS apja(a,c). apja(b,d). apja(b,e). apja(e,f). apja(a,b). apja(a,c). apja(b,d). apja(b,e). apja(e,f). ose(X,Y) :- apja(X,Y). ose(X,Y) :- apja(X,Z), ose(Z,Y). És mi történik, ha a szabályok sorrendjét is felcseréljük?: ose(X,Y) :- ose(X,Z), apja(Z,Y). ose(X,Y) :- apja(X,Y).