Logikai műveletek

A Miau Wiki wikiből

Angol megnevezés: Logical operation vagy Boolean operation

Történeti modul

K. e. 5. és 4. század: A logikával foglalkozó első dokumentumok egyike a Dissoi Logoi (kb. „Ellenttétes Szavak” = ellentmondások) néven ismert töredék. Az „Ellentétes szavak” kifejezés valószínűleg az akkori görög idők egyik legfontosabb tudományából, a szónoklattan vagy retorika tudományából ered.[1]

i.e.365 és i.e.340: Arisztotelész számos logikai művet írt, melyeket később Organon címen foglalták össze a mű kiadói és kommentátorai. A filozófusok és tudósok az Organon írásait már Arisztotelész életében jelentős munkákként ismerték el. [2]

1854: Logikai műveletek tanulmányozására alkalmas szimbólikus módszer a Boole algebra. Természetszerûleg alkalmas más, két állapottal rendelkezõ rendszerek vizsgálatához is. Mi a Boole algebrát matematikai hátterétõl és kapcsolataitól elvonatkoztatva olyan eszköznek tekintjük, mely lehetõvé teszi az ÉS, VAGY, inverter műveletek közötti mûködési kapcsolatok formai leírását. [3]

1936: Claude Elwood Shannon doktori disszertációjában leírta a Boole-algebra és a (telefonos) kapcsoló áramkörök közötti hasonlóságot. Miként a Boole-algebra kétértékű bináris algebra, úgy egy kapcsoló áramkör zárt, illetve nyitott állapotai megfelelnek a logikai 1 és 0 értékeknek. A hasonlóság megteremtette az összetett kapcsoló áramkörök tervezésének és elemzésének matematikai alapjait. [4]

1943: A Boole algebra szoros összefonódását a modern számítástechnikával az első elektronikus számítógép, az ENIAC megalkotásától számíthatjuk. Jellemző áramköri eleme az elektroncső.A programozása kizárólag gépi nyelven történt (gépi kód).Jellemző volt a nagy energia-felhasználás, gyakori meghibásodás és az 1.000 - 5.000 művelet/másodperc műveleti sebesség.A gép súlya 30 tonna volt, és 18 ezer rádiócsövet tartalmazott. A rádiócsövek nagy hőt termel­nek, ez a hő elég lenne New York bel­városa fűtéséhez. Átlagosan 15 percenként hibásodott meg egy rádiócső. A programozáshoz 6000 kapcsolót kellett átál­lítani. [5]

1951: Elkészül az elsõ sorozatban gyártott számítógép az UNIVAC I (UNIVersal Automatic Computer = Uni­verzális Automatikus Számítógép) volt. A világon ekkor hat számítógép üzemelt. Az elsõ generációs gép alapvetõ építõeleme az elektroncsõ volt. Mérete szobányi volt. A programozás vagy huzalos kialakítás, vagy a gépi nyelvhez közel álló assembly nyelven történt. [6]

1958: Megjelent az elsõ magasabb szintû programozási nyelv a FORTRAN (FORmula TRANslation). Ezek a gépek 50 000 – 100 000 mûvelet/s sebességet értek el, térfogatuk 1 m³ alá csökkent. [7]

1964: John G. Kemény vezetésével elkezdték a BASIC (Beginners All-purpose Symbolic Instruction Code) kifejlesztését, ami az otthoni számítógépek megjelenésével szer­zett nagy népszerûséget. [8]

1965: Az elsõ, szabatosan megfogalmazott, tudományos fel­a­datok megoldására irányuló nyelv az ALGOL (ALGOrithmic Language) volt, amely a hagyományos ma­te­ma­ti­ka­i írásmódhoz közeli programírást tett lehetõvé. [9]

1968: Nicklaus Wirth elkészített egy új programozási nyelv terveit, a­mely a negyedik generációs gépeken aratott sikert. Ez a nyelv a Pascal nevet kapta. [10]

1980: (DOS: Disc Operating System = lemezorientált operációs rendszer)Microsoft kibocsájtja, szöveges megjelenítésű, IBM-típusú PC-khez készült operációs rendszerét (MS-DOS). Később több változata készült "PC-DOS" (IBM), "Novell-DOS" (Novell), stb. [11]

1985. november 20: A ma már gyakorlatilag mindenki által legalább hallomásból ismert operációs rendszer pályafutását egy egyszerű, kiegészítő segédprogramként kezdte, amely az MS-DOS addig szigorúan csak karakteres felületének kölcsönzött egy jóval intuitívabb és kezdők számára könnyebben használható grafikus gúnyát. Az eredetileg "Microsoft Interface Manager" néven futó termék fejlesztését a redmondi szoftverfejlesztő 1981 szeptemberében kezdte meg, de az csak mintegy négy évvel később - és több alapvető átdolgozás után - immár "Microsoft Windows" néven került forgalomba. [12]

1991: Linus egy későbbi visszaemlékezésében erre a napra tette a Linux születésnapját. Linus egyik legfontosabb döntése az volt, hogy a Linux forráskódját szabaddá tette. Kezdetben saját licenc, később GNU GPL alatt adta ki a forrást. [13]

1999: Modus ponens: Ha A igaz, akkor B is igaz.(pl. Ha egy tehénnek borja (A) van, akkor tejet (B) ad.) Modus tollens: Ha a fenti szabály (Ha A, akkor B) adott és B nem igaz, akkor A sem (pl. ha nincs tej, nincs borjú sem). A SZR-ekben általában csak modus ponens típusú (leválasztási szabály) következtetéseket használunk. [14]

Napjainkban: A fuzzy-controlt a szabályzás és vezérléstechnikai körökben többnyire az egyszerű feladatoknál alkalmazzák. Az automatizálástechnika magasabb szintjén, azaz az ellenőrzési és folyamatirányítási szinten (koordináció, tervezés, optimalizálás) nő a szükséges és rendelkezésre is álló információk pontatlansága; ezen kívül inkább heurisztikus, mint sem analitikus tudás áll rendelkezésre. Ezért a fuzzy-technikák alkalmazása az automatizálástechnika magasabb, információfeldolgozó szintjén a jövőben még értékesebb is lehet majd. [15]

Az összeegyeztethetőség fogalma végső fokon a logikai ellentmondás fogalmára vezethető vissza. A logikai ellentmondás azonban csupán a formális logika egyetemes érvényű, egységes és ellentmondás-mentes rendszerén belül bukkanhat fel. Egy olyan logikai rendszerben, mely törli axiómái közül a kizárt harmadik elvét, nem bukkanhatnak fel logikai ellentmondások sem. [16]

Ontológiai modul

  • "ez egy" kapcsolattípus:

Tagadás (negálás, invertálás, NOT) művelet

VAGY ( OR ) művelet

ÉS ( AND ) művelet

Kizáró VAGY ( XOR ) művelet

  • "van neki, része a szócikknek" kapcsolattípus:
  • Funktorok
  • Premisszák
  • Konklúzió
  • "a szócikk része valaminek (a szócikkel egyenrangú fogalmak)" kapcsolattípus:

A szakértői rendszer szabályelvű, azaz alapvetően logikai műveletekre támaszkodik és alapvetően nem metrikus skálák adatait (tényezők opcióit, pl. színek, rangsorok) kezeli.

Ellentmondások és vitatott kijelentések modulja

  • Egy olyan logikai rendszerben, amelynek alapja a kételeműség (igaz/hamis), kizárhatók a logikai ellentmondások.

Szerkesztői javaslat: Miért vált szükségessé a fuzzy logika bevezetése?

Definíciós modul

  • A logikai műveletek olyan - a kételemű Boole algebra szabályait követő - műveletek, amelyek logikai változókon értelmezhetőek és logikai értéket is adnak eredményül. A legfontosabb felhasználási területük a relációk összekapcsolása.

Tesztkérdések modul

  • Igaz-e, hogy a programozási nyelvek alapja a Boole algebra? (Igaz, hiszen a programnyelvek lefordíthatóak különböző logikai kapcsolatokra (ÉS, VAGY, INVERTER...), melyek a Boole algebra alapját képezik.)
  • Igaz-e, hogy a logika egy görög színdarabból, a Dissoi Logoi-ból származik? (Hamis, mert a Dissoi Logoi nem színdarab, hanem egy dokumentum töredék.)
  • Igaz-e, hogy a Boole algebra és a kapcsolóáramkörök között hasonlóságot lehet felfedezni? (Igaz, mert a kapcsolók két állását is felírhatjuk kettes számrendszerben.)

Ajánlott irodalmak modulja

  • Gonda-Bellus-Ágoston: A logikai algebra alapjai: Logikai áramkörök és alkalmazásaik [17]
  • Birchoff-Bartee: A modern algebra a számítógép tudományában [18]
  • Bártfai-Szűcs: Az információ-technológia fogalmai [19]