Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

A digitális számítás elmélete
Másodfokú egyenlőtlenségek
Adatbázisrendszerek elméleti alapjai 2. előadás
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Logika Miskolci Egyetem Állam- és Jogtudományi Kar
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
1 Előhang Világunk dolgainak leírásához gyakran használunk kijelentő mondatokat. Pl. Minden anya szereti gyerekeit. Júlia anya és Júlia gyereke Máté. Következmény:
1. A KVANTUMMECHANIKA AXIÓMÁI
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
Kocsisné Dr. Szilágyi Gyöngyi. Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő
OPERÁCIÓS RENDSZER. Az operációs rendszer egy olyan programozási rendszer, amely a számítógépes rendszerben a programok végrehajtását vezérli, így pl.
Szintaktikai elemzés február 23..
Szintaktikai elemzés március 1.. Gépi tanulás Osztályozási feladat: Adott egyedek egy halmaza és azok osztályba tartozási függvénye (tanító halmaz),
MI 2003/5 - 1 Tudásábrázolás (tudásreprezentáció) (know- ledge representation). Mondat. Reprezentá- ciós nyelv. Tudás fogalma (filozófia, pszichológia,
Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.
Programozó matematikus szak 2003/2004-es tanév II. félév
A digitális számítás elmélete
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Szűrés és konvolúció Vámossy Zoltán 2004
Modellezés és tervezés c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Matematikai Intézet Mérnöki Informatikus MSc 9. Előadás és.
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Bevezetés a matematikába I
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
A számfogalom bővítése
Bevezetés a terminológiába. input output Gépi feldolgozás Jelentés- független Jelentés- függő Információfeldolgozás.
Lineáris programozás Definíció: Olyan matematikai programozási feladatot nevezünk lineáris programozási feladatnak, amelyekben az L halmazt meghatározó.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Problémás függvények : lokális optimalizáció nem használható Globális optimalizáció.
2. A logika története Gregor Reisch  1503  Typus logice Premissae
Érvelés, bizonyítás, következmény, helyesség
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
Logika Miskolci Egyetem Állam- és Jogtudományi Kar Jogelméleti és Jogszociológiai Tanszék.
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok,
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
Számítási eszközfejlődés XX. század második fele: 1943: Neumann János analóg számítógépe az ENIAC. (Ballisztikus problémák). Manhattan terv es, 1960-as,
Programozáselmélet 2. rész Denotációs és axiomatikus szemantika.
Fuzzy rendszerek mérnöki megközelítésben III Fuzzy következtetési rendszerek Takács Márta.
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Monadikus predikátumlogika, szillogisztika, Boole-algebra
A generatív nyelvelmélet
Készítette: Weigel Szilvia számítástechnika szak III. évfolyam, Budapest – ADU A Logo programozási nyelv X.
Számításelmélet 2. Algoritmus-fogalom Turing-gép Alan M. Turing – 1937 II. világháború, Enigma MI, Turing-teszt Kleene – Rekurzív függvények (1936) Church.
LL(1)-elemzés ● az LL(1)-elemzők már jobbak az előzőeknél, bár nem fedik le a programozási nyelvek szükségleteit ● alapötlet: a levezetés következő lépéséhez.
Fordítóprogramok gyakorlat tavaszi félév gyakorlatvezető:Kitlei Róbert szoba:D 2-616B honlap:
Logika szeminárium Barwise-Etchemendy: Language, Proof and Logic
Integrálszámítás.
Compiler illetve interpreter nyelvek
Precedencia-nyelvtanok
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Programozási nyelvek alapfogalmai
LL(1)-elemzés az LL(1)-elemzők már jobbak az előzőeknél, bár nem fedik le a programozási nyelvek szükségleteit alapötlet: a levezetés következő lépéséhez.
Adatbáziskezelés 12. alkalom.
Relációs adatmodell, normálformák
Bevezetés a matematikába I
ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)
Többértékű függőségek
Előadás másolata:

Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához

Programozáselmélet n Programmodellek n szekvenciális programok n rekurzív programok n nemdeterminisztikus elemek n párhuzamos programok n funkcionális programok n Programok szemantikája n transzlációs szemantika n attribútumnyelvtanok n operációs szemantika n denotációs szemantika n axiomatikus szemantika

Programozáselmélet Operációs szemantika Denotációs szemantika Axiomatikus szemantika Szekvenciális programok Rekurzió Nemdeterminisz- tikus elemek Párhuzamosság Funkcionális programok

Irodalom n Jan van Leeuwen ed.: Handbook of Theoretical Computer Science: Formal Models and Semantics, Elsevier Pub –P. Cousot: Methods and Logic for Proving Programs –H. P. Barendregt: Functional Programming and Lambda Calculus n H. R. Nielson - F. Nielson: Semantics with Applications: A Formal Introduction, n Kozma L. - Varga L.: A szoftvertechnológia elméleti kérdései, ELTE n Csörnyei Z.: Lambda-kalkulus, előadás jegyzet ELTE

Transzlációs szemantika Program Input adat Tárgyprogram Program output Transzlációs függvény Végrehajtás

Szövegkörnyezet n Nem hiszek a reinkarnációban. Már az előző életemben sem hittem benne. n Edd meg fiam a héját is! – mondta a sas a válogatós fiókájának. n Bizonytalan vagyok. Vagy mégsem?

Attribútumnyelvtan Komponensei: n G környezetfüggetlen nyelvtan n A attribútumok rendszere A nyelvtan nemterminális szimbólumaihoz attribútumokat (adott típusú változókat) rendelhetünk, Ezek tartalma lesz a jelentés egy- egy komponense. Az attribútumok kétfélék: szintetizáltak és örököltek. Az előbbiek a nemterminálisból levezetett szóból kinyer- hető jelentést, míg az utóbbiak a szövegkörnyezet jelentés- módosító hatásait tartalmazzák. n Pszemantikai egyenletek –Az egyenletekkel lehet definiálni a nyelvtan szabályaiban szereplő nemterminálisok attribútumai közti összefüggéseket

Egy mondat jelentésének meghatározása: A mondat szintaxisfájában szereplő nemterminálisok attribútumai annyi példányban szerepelnek, ahány példányban maga a nemterminális szerepel. Egy nemterminálisból levezetett részszó jelentését a nemterminális szintetizált attribútumai képviselik, amely függ a külső hatásokat megtestesítő örökölt attribútumuktól. Azaz a kiszámítás folyamatában az örökölt attribútumok az input adatok, a szintetizáltak az outputok. Az attribútumelőfordulások tartalmának meghatározása a szemantikai egyenletek alapján történik. Attribútumnyelvtan

Attribútumfüggőségek sémája p A q u B vx C y... Szintetizált attribútumok: q, v, y Örökölt attribútumok: p, u, x

Példa: Bináris valós konstansok n Környezetfüggetlen nyelvtan: n Attribútumok rendszere:

Példa: Bináris valós konstansok n Szemantikai egyenletek és a lokális függőség. S v r N v l r B v

Példa: Bináris valós konstansok n Szemantikai egyenletek és a lokális függőség r N v l 0 r B v 1

Szintaxisfa S N. N N B N NB0B B N 01 1

Attribútum előfordulások. S v r N v l r B v

Lokális attribútum függőségek. S v r N v l r B v

Globális attribútum függőségek. S v r N v l r B v

Attribútumok redukálása. S v r N v l r B v

Attribútumok kiértékelése. S v r N v l r B v

Operációs szemantika ProgramInput adat Eredmény Operációspecifikáció Az operációspecifikáció szokásos komponensei: n konfigurációk halmaza operációs reláció: bináris reláció a konfigurációk halmazán (a megtehető elemi operációk halmaza) n kezdő konfigurációk, végkonfigurációk

Denotációs szemantika Program Matematikai denotáció Jelentésfüggvény Az inputot és outputot, és a köztük lévő kapcsolatot kifejező matematikai objektum a matematika nyelvén megfogalmazva

Axiomatikus szemantika Magasabb absztrakciós szint: nem a program inputja és outputja közti kapcsolat közvetlen leírása a cél. n Feladat (pl. input- és output- feltételpár) n Helyességfogalmak (feladat és program viszonya) n Kalkulus a helyesség bizonyításához n A helyességet kifejező formulák n Axiómák, levezetési szabályok (pl. Hoare-kalkulus, Dijkstra-kalkulus stb.)

Pragmatika n - Nincs itt túl meleg? = Legyen szíves kinyitni az ablakot. - Mindjárt kinyitom az ablakot. n - Nem unja már? = Nagyon zavar, amit csinál, legyen szíves befejezni. - Ha zavarja, befejezem. n - Mi van itt, bolondok háza?! = Azonnal fejezzék be ezt a rendetlenkedést. - Elnézést, azonnal befejezzük. vagy - Igen, de mi itt csak látogatók vagyunk.