TECHNICKÁ UNIVERZITA V KOŠICIACH Fakulta elektrotechniky a informatiky

Similar documents
Teória grafov. RNDr. Milan Stacho, PhD.

ADM a logika. 4. prednáška. Výroková logika II, logický a sémantický dôsledok, teória a model, korektnosť a úplnosť

Maticové algoritmy I maticová algebra operácie nad maticami súčin matíc

Metódy vol nej optimalizácie

Ing. Tomasz Kanik. doc. RNDr. Štefan Peško, CSc.

Oddělení technické informatiky Technická univerzita v Liberci

A l g o r i t m i c k y n e r i e š i t e ľ n é p r o b l é m y

2-UMA-115 Teória množín. Martin Sleziak

Aplikácie teórie množín Martin Sleziak 24. februára 2015

Dokonalé a spriatelené čísla

Odhady veľkosti pokrytí náhodne indukovaných podgrafov n-rozmernej hyperkocky

História nekonečne malej veličiny PROJEKTOVÁ PRÁCA. Martin Čulen. Alex Fleško. Konzultant: Vladimír Repáš

Kapitola S5. Skrutkovica na rotačnej ploche

Teória kvantifikácie a binárne predikáty

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY REKURENTNÉ POSTUPNOSTI

1 Matice a ich vlastnosti

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

PSEUDOINVERZNÁ MATICA

FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITY KOMENSKÉHO V BRATISLAVE

Algoritmy metód vnútorného bodu v lineárnom programovaní

kniha 2016/4/30 23:47 page 1 #1 Draft

Samuel Flimmel. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Katedra pravděpodobnosti a matematické statistiky

METRICKÉ ÚLOHY V PRIESTORE

GENEROVANIE STABILNÝCH MODELOV VYUŽÍVANÍM CUDA TECHNOLÓGIE

Databázové systémy. Ing. Július Štuller, CSc., Ústav informatiky AV ČR, v.v.i., & FMIaMS TUL Ing. Roman Špánek, PhD.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY DETEKOVANIE KOMUNÍT V SOCIÁLNYCH SIEŤACH Patricia SVITKOVÁ

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Michal Kesely. Katedra matematické analýzy. Studijní program: Obecná matematika

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE STAVEBNÁ FAKULTA. Polomerovo Moorovské grafy

Matematická analýza II.

Kybernetika. Jan Havrda; František Charvát Quantification method of classification processes. Concept of structural a-entropy

Strojové učenie. Princípy a algoritmy. Kristína Machová

Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava THEILOVA REGRESIA

DEA modely a meranie eko-efektívnosti

Fakulta matematiky, fyziky a informatiky Univerzity Komenského v Bratislave. Písomná práca k dizertačnej skúške

Súťaž PALMA junior a programovanie v jazyku Python

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Matúš Kepič

Univerzita Karlova v Prahe, Filozofická fakulta Katedra logiky. Anna Horská. FRIEDBERG-MUCHNIKOVA VETA Ročníková práca

Formálna sémantika SQL dotazov. M. Hrivík, L. Tomasy

Stavba Lobačevského planimetrie

Kľúčové slová: SAR, šum spekl noise, evolučná PDR, lineárna difúzia, Perona-Malikova rovnica, štatistickéfiltre, Leeho filter

OLYMPIÁDA V INFORMATIKE NA STREDNÝCH ŠKOLÁCH

Univerzita Komenského v Bratislave Fakulta Managementu Katedra stratégie a podnikania. Aplikácia nekooperatívnej teórie hier v

program Prienik_mnohouholnikov; const max=100; type pole=array[1..max+1,1..2] of integer; {v pole[i,1] je sucet x1+x2, v pole[i,2] je y}

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Kritéria nezápornosti Fourierových radov BAKALÁRSKA PRÁCA

MASTER THESIS. Vlastnosti k-intervalových booleovských funkcí Properties of k-interval Boolean functions

1 Úvod Úvod Sylaby a literatúra Označenia a pomocné tvrdenia... 4

Kybernetika. Peter Hudzovič Súčasná kontrola stability a kvality impulznej regulácie. Terms of use:

Holografická redukovaná reprezentácia v umelej inteligencii a kognitívnej vede

Prednáška 3. Optimalizačné metódy pre funkcie n-premenných. Študujme reálnu funkciu n-premenných. f: R R

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

MATEMATICKÁ LOGIKA I. Pavol Zlatoš. Sylabus prednášok v zimnom semestri

Appendix. Title. Petr Lachout MFF UK, ÚTIA AV ČR

Errors-in-variables models

Vizuálna podpora dokazovania čiastočnej správnosti programov pomocou Hoareovej metódy

3.1 TEÓRIA FEI TU V KOŠICIACH P3 - KOMBINAČNÉ OBVODY LIST Č.1

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA CHEMICKEJ A POTRAVINÁRSKEJ TECHNOLÓGIE ÚSTAV INFORMATIZÁCIE, AUTOMATIZÁCIE A MATEMATIKY

11. prednáška ( ) Greedy algoritmy. Programovanie, algoritmy, zložitosť (Ústav informatiky, PF UPJŠ v Košiciach)

ENTROPIA. Claude Elwood Shannon ( ), USA A Mathematical Theory of Communication, 1948 LOGARITMUS

DIPLOMOVÁ PRÁCE. Peter Baník Metody optimalizace ve financích

T h e C S E T I P r o j e c t

DEFINÍCIE A DEFINOVANIE V NEWTONOVÝCH PRINCÍPOCH: POKUS O METODOLOGICKÚ ANALÝZU 1. Igor HANZEL

MODELOVANIE PRIESTOROVÝCH DÁT V MODEL DRIVEN DEVELOPMENT

Matematika 17. a 18. storočia

Slovník metodologických pojmov. Lukáš Bielik Juraj Halas Igor Hanzel Miloš Kosterec Vladimír Marko Marián Zouhar

Lucia Fuchsová Charakteristiky pravděpodobnostních

Radka Sabolová Znaménkový test

Comenius University, Bratislava Faculty of Mathematics, Physics and Informatics. Multi-head Automata. Bachelor Thesis.

VÝUČBA DIFFERENCIÁLNEHO POČTU FUNKCIE VIAC PREMENNÝCH POMOCOU PG. SYST. MATHEMATICA

Optimálne riadenie. Viacetapové rozhodovacie procesy v ekonómii a financiách. Margaréta Halická Pavel Brunovský Pavol Jurča

Ekonomika a financie ako motivačný činitel rozvoja matematiky

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Objavovanie znalostí v databázach. Ján Paralič

FUZZY-NEURO ALGORITMY MODELOVANIA NELINEÁRNYCH PROCESOV V DOPRAVE

DEFINÍCIE A DEFINOVANIE V NEWTONOVÝCH PRINCÍPOCH Pokus o metodologickú analýzu

Metódy merania fraktálnej dimenzie prírodných javov

COMPARISON OF ANALYTICAL SOLUTIONS WITH NUMERICAL MODELING RESULTS OF CONTACT PROBLEM OF THE SHALLOW FOUNDATIONS INTERACTION WITH SUBSOIL

Úlohy o veľkých číslach

Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCA. Bc. Roman Cinkais. Aplikace samoopravných kódů v steganografii

HYPERBOLA AKO MNOŽINA BODOV DANEJ VLASTNOSTI V KONŠTRUKČNÝCH ÚLOHÁCH

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Segmentace textury. Jan Kybic

Gain-Scheduled Controller Design

Softwarové inžinierstvo. martin timothy timko

MATEMATIKA I a jej využitie v ekonómii

Základné predpoklady. Linguistica ONLINE. Published: November 22,

Štatisticky tolerančný interval nazýva ISO Statistics. Vocabulary and symbols. Part 1: Probability and general statistical terms ako štatistick

Aplikace matematiky. Recense. Terms of use: Aplikace matematiky, Vol. 2 (1957), No. 5, Persistent URL:

The causes of misconceptions of basic geometric figures in primary school

ŠTEFAN GUBO. Riešenie úloh nelineárnej regresie pomocou tabuľkového kalkulátora. Solution of nonlinear regression tasks using spredsheet application

VIACKRITERIÁLNE (MULTIKRITERIÁLNE) ROZHODOVANIE (ROZHODOVACIA ANALÝZA)

Určenie hodnoty Value at Risk využitím simulačnej metódy Monte Carlo v neživotnom poistení

Ján Pribiš. Edícia vysokoškolských učebníc. Fakulta elektrotechniky a informatiky. Technická univerzita v Košiciach SCILAB

Kapitola P2. Rozvinuteľné priamkové plochy

Prednášky z regresných modelov

Obsah. 2 Určenie objemu valčeka Teoretický úvod Postup merania a spracovanie výsledkov... 10

Modely, metódy a algoritmy pre analýzu longitudinálnych dát

RIEŠENIE PROBLÉMOV METÓDOU MONTE CARLO V TABUĽKOVOM KALKULÁTORE MS EXCEL ÚVOD

ENVIRONMENTÁLNE FAKTORY V HODNOTENÍ EFEKTÍVNOSTI V POĽNOHOSPODÁRSTVE ENVIRONMENTAL FACTORS IN EFFICIENCY ASSESMENT IN AGRICULTURE.

Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava. Multiparty Communication Complexity (Master thesis)

DIPLOMOVÁ PRÁCA ŽILINSKÁ UNIVERZITA V ŽILINE. Ján Rabčan Aplikácia na vyhodnocovanie dotazníkov pomocou hĺbkovej analýzy dát

Transcription:

TECHNICKÁ UNIVERZITA V KOŠICIACH Fakulta elektrotechniky a informatiky Prof.Ing.Štefan HUDÁK, DrSc. TEORETICKÁ INFORMATIKA: Katedra počítačov a informatiky FEI TU November 2002

2

Obsah 1 Algebra algoritmov 5 1.1 Modely.Algebry.Algebraickésystémy.... 5 1.2 Logicko-funkcionálnemodelyaformuláciazadaniaúlohy............... 8 1.3 Algebry..................... 9 1.4 Mnoho-druhovéalgebraickésystémy...... 11 2 Algebry algoritmov, logiky a schematológie 15 2.1 Formalizovanéprojektovaniealgoritmov... 15 2.2 Dijkstrovaalgebra................ 16 2.3 AlgebraschémJanova.............. 18 2.4 Graf-schémyalgoritmov... 20 2.5 SystémyalgoritmickýchalgebierGluškova................... 21 3 Algebra logiky a problém funkcionálnej úplnosti. 25 3.1 Algebryboolovskýchfunkcií.......... 25 3.2 Vetaofunkcionálnejúplnosti.......... 30 4 Algebra algoritmiky a jej aplikácie 37 4.1 Algebrazovšeobecnenýchgraf-schém...... 37 4.2 Metaalgebraalgoritmikyaštruktúrajejsubalgebier............... 40 4.3 KritériumfunkcionálnejúplnostivmetaalgebreDijkstry............... 43 4.4 Algebraalgoritmikyaaplikačnésubalgebry..................... 47 5 Konštruovanie a klasifikácia algoritmov a stratégií spracovania dát. 55 5.1 Metapravidlákonštruovaniaschémastratégiíspracovaniadát......... 55 5.1.1 Konvolúcia............... 58 5.1.2 Evolúcia(Rozvinutie)........ 58 5.2 Metapravidlotransformácieschémaoptimizáciatriediacichalgoritmov......... 59 5.3 Klasifikácia stratégií spracovania symbolov a reprezentácia algoritmických znalostí.... 69 5.4 Regulárneschémyaabstraktnétypypamäti...................... 72 3

4 OBSAH

Kapitola 1 Algebra algoritmov V tejto kapitole sa budeme venovať novému prístupu k syntéze(programových) systémov, ktorý je založený na netradičnom pohľade na algoritmus, ako na objekt, pre ktorý je možno nájsť algebru, čo umožňuje manipulovať s algoritmami, ako s algebraickými objektami. Inými slovami, uvidíme, ako sa definujú operácie(transformácie) nad algoritmami, ktoré sú zvolené tak, aby sa zachovala funkcia algoritmu a menila sa iba jeho forma. Naznačený prístup je založený na pionierskych prácach kyjevskej algebraicko-logickej školy kybernetiky založenej akademikom V.M.Gluškovom a jeho spolupracovníkmi, medzi ktorými zaujíma významné miesto Prof. G.E. Cejtlin[14]. V tejto kapitole sa zaoberáme základmi teórie algoritmiky(iné pomenovanie pre informatiku, ktoré zvýrazňuje miesto algoritmu, ako ústredného pojmu vedy o počítačoch a počítaní), v duchu prác G.E. Cejtlina. Po stručnom uvedení poznatkov o algebraických systémoch v časti 1.1, sa oboznámime s teóriou tzv. graf-schém(časť??)a možnosťami ich reprezentácie pomocou špeciálnych algebraických termov. Príkladom algoritmických algebier je venovaná časť??. Teória algebry algoritmov je zovšeobecnením teórie E. Posta o funkcionálnej úplnosti, ktorá je ilustrovaná na boolovských funkciach v časti??. Príklady aplikácií algebry algoritmov sú predmetom časti??. 1.1 Modely. Algebry. Algebraické systémy Modely a algebry patria medzi základné pojmy matematiky, ktoré na druhej strane sú používané v algoritmike pri konštrukcii tzv. logicko-funkcionálnych modelov, ktoré sa využívajú pri formalizácii zadania úlohy, ktorej riešenie je predmetom návrhu príslušného programu, alebo systému. Pomocou takých, alebo podobných modelov sa realizuje upresnenie zadania úlohy, ktoré na začiatku môže byť predstavené neformálne, alebo v pojmoch relácií. Ako ilustráciu uvedieme nasledujúce príklady. Pri formulácii predpokladáme, že čitateľ je oboznámený s takými pojmami ako je relácia, funkcionálna relácia, či funkcia, alebo predikát(ako špeciálny prípad funkcie). Ďalej tiež predpokladáme, že je nám jasný význam pojmu usporiadanie, definovaného ako binárna relácia na niektorej univerzálnej množine prvkov. Rozlišujeme tzv. čiastočné usporiadanie a úplné(lineárne) usporiadanie. Majme teraz univerzálnu množinu prvkov U, na ktorej je definovaná relácia lineárneho usporiadania (čítaj menší). Označíme si množinu všetkých(konečných) postupností na U ako SEQ. Majme teraz postupnosť M SEQanech M = (a 1,a 2,...a n ). BudemeM volaťusporiadanou,akplatí a i a j,pre všetkyiaj také,že i j,1 i,j n. MnožinuvšetkýchusporiadanýchpostupnostínaUoznačíme akousq.jejasné,že USQ SEQ. Príklad 1.1 Definujeme si binárnu reláciu SORT SEQ U SQ, ktorá definuje priradenie medzi (vo všeobecnosti neusporiadanými) postupnosťami zo SEQ a usporiadanými postupnosťami z USQ. Je 5

6 Algebra algoritmov jasné, že jedna usporiadaná postupnosť z USQ môže zodpovedať viacerym postupnostiam zo SEQ. ReláciaSORTpriraďujekaždejpostupnosti M SEQ(vzor)jedinečnúpostupnosť M USQ(obraz), ktorá vznikne z M permutáciou prvkov tak, aby tieto boli lineárne usporiadané. Tak napríklad vzorom M 1 = (5,2,1,6,5)aM 2 = (1,2,5,6,5)zodpovedájedinýobraz-postupnosť M 3 = (1,2,5,5.6); tu M 1,M 2 SEQaM 3 USQ.SbinárnoureláciouSORTjeasociovanáunárna(sjednýmargumentom) funkciasorttaká,že sort(m) = M právevtedy,keďpostupnostimam súvreláciisort,t.j. ak M,M SORT. (Koniec príkladu) Všeobecne,priradenief medziprvkamimnožínaab,priktoromprekaždýprvok a Aexistujenie viac ako jeden prvok b B a taký, že f(a)=b sa volá unárnou(1-miesnou, 1-argumentovou) funkciou z AdoB,f : A B.SkaždoufunkciouzAdoBjespriahnutá(asociovaná)binárnarelácia F A Bs vlastnosťou, že (a, b) F práve vtedy keď f(a)=b. Taká binárna relácia sa volá funkcionálnoubinárnou reláciou. Nasleduje ďalší príklad. Príklad 1.2 Podľa binárnej relácie SORT možno definovať predikát S-O-R-T(x,y), kde x a y sú argumenty zodpovedajúco na množinách SEQ a USQ. Predikát S-O-R-T je definovaný takto: { S O R T(M,M 1, ak sort(m)=m ; ) = 0 vopanomprpade Logická funkcia S-O-R-T je príklad 2-miestneho(2-argumentového) predikátu, ktorý jekj definovaný nakarteziánskomsúčine SEQ USQshodnotamivobore E 2 = {0,1} (Koniec príkladu) Všeobecneplatí,žesľubovoľnoun-árnoureláciou R (n) A 1 A 2... A n jespriahnutýn-miestny predikát J(x 1,x 2,...,x n )definovanýtakto: J(a 1,a 2,...,a n ) = { 1, ak (a 1,a 2,...,a n) R (n) ; 0 vopanomprpade Predikát J(x 1,x 2,...,x n )savolácharakteristickýmpredikátom relácie R (n). Vprípaden=1sunárnou reláciou R (1) jeasociovanámnožinaa,r (1) Aacharakteristickýpredikát J(x)vdanomprípade mátúvlastnosť,ženadobúdahodnotu1naprvkochmnožiny R (1) ahodnotu0naostatnýchprvkoch množiny A. Predikáty a funkcie sa využívajú tak pri formulácii úloh, ako aj pri návrhu akgoritmov ich riešenia. V texte budeme navrhované koncepcie ilustrovať na príklade riešenia problému triedenia, ktorý je veľmi dobre známy a dôležitý problém z praktického hľadiska. V riešení tohoto problému bináírna relácia SORT, unárna funkcia sort a charakteristický predikát S-O-R-T ustanovujú vzájomný vzťah medzi vstupnými (z hľadiska problému triedenia) postupnosťami zo SEQ a usporiadanými postupnosťami z USQ. Formulácia úlohy triedenia v uvedených pojmoch dáva prvotnú predstavu o probléme triedenia postupností(na množineu). V ďalšom bude uvedená metóda a možnosti upresnenia a prehlbenia takého zadania úlohy cestou tvorby formálneho aparátu. Teraz uvedieme definíciu konkrétnych predikátov a funkcií(operátorov), ktoré sa budú využívať pri upresňovaní zadania úlohy triedenia v ďalšom. Pre potreby riešenia problému triedenia začneme s intuitívne dobre pochopiteľným algoritmom tzv. bublinkového triedenia, pre ktorý budeme používať akronym BUBBLE(z anglického originálu názvu tohoto algoritmu Bubble Sort). Budeme pracovať so špeciálne upravenými postupnosťami zo SEQ, ktoré budú

1.1 Modely. Algebry. Algebraické systémy 7 doplnennéniekoľkýmišpeciálnymisymbolmi:h(naoznačeniezačiatkupostupnosti),y 1 (naoznačenieaktuálnej pozície v postupnosti), K(na označenie konca postupnosti). Určenie symbolov ilustruje upravená postupnosť M = (a 1,a 2,...,a n ),ktorádoplnenáouvedenésymbolybudevyzeraťtakto: M:Ha 1,a 2,...,a i,y 1,a i+1,...,a n K (1.1) Elementárne predikáty Všetky nižšie uvádzané predikáty sú definované na označenej postupnosti M typu(1.1). d(y 1,K) = 1 df M=M :Ha 1,a 2,...,a n,y 1 K (1.2) l > r Y 1 = 1 df M =M :Ha 1,a 2,...,a i,y 1,a i+1,...,a n K a i > a i+1 (1.3) UM = 1 df M =M :HY 1,a 1,a 2,...,a n K a i < a i+1,i = 1,2,...,n 1 (1.4) Definícia elementárnych predikátov nemá vo svojej definícii javne zahrnutý argument M. Dôvod je snaha po jednoduchosti zápisu a ďalší dôvod bude jasný pozdejšie. Význam predikátov je jasný z definície a d(y 1,K) = 1znamená,žeukazovateľ(indikátor)aktuálnejpozície(postupnostiM)dosiaholkoncový markerk.aksipredstavíme,žemjesekvenčnýsúbor,potompredikát d(y 1,K)jeidentickýspredikátom eof(m).prípad l > r Y 1 = 1vyjadrujefakt,žeprvokstojacinaľavoodindikátoraY 1 vm(a i )jeväčšíod prvkustojacehobezprostrednenapravoody 1 (a i+1 ). NapokonpravdivosťpredikátuUM=1vyjadruje situáciu, že postupnosť M je usporiadaná, t.j. utriedená v zmysle relácie. Elementárne operátory Podobne ako v predošlom prípade definujeme si elementárne operátory, ktoré budeme potrebovať v ďalšom. Definícia elementárnych operátorov taktiež nemá vo svojej definícii javne zahrnutý argument M. Dôvody sú rovnaké ako vyššie. E df E(M) =M (1.5) P(Y 1 ) df M 1 =M:Ha 1,a 2,...,a i,y 1,a i+1,...,a n K M 2 =M:Ha 1,a 2,...,a i,a i+1,y 1,a i+2,...,a n K (1.6) P(Y 1 )(M 1 ) = M 2 (1.7) TRANSP(l,r) df M 1 =M:Ha 1,a 2,...,a i,y 1,a i+1,...,a n K M 2 =M:Ha 1,a 2,...,a i+1,y 1,a i,...,a n K (1.8) TRANSP(l,r)(M 1 ) = M 2 (1.9) UST(Y 1,H) df M 1 =M:Ha 1,a 2,...,a i,y 1,a i+1,...,a n K M 2 =M:HY 1 a 1,a 2,...,a i,a i+1,...,a n K (1.10) UST(Y 1,H)(M 1 ) = M 2 (1.11) OperátorE definujeidentickúfunkciu,resp. ideo ničnerobiaci operátor. Operátor P(Y 1 )definuje funkciu,ktorápreľubovoľnúoznačenúpostupnosťm 1 vraciaoznačenúpostupnosťm 2,ktorásaodM 1 líši aktuálnoupozíciou,ktorájeojedensymbolnapravoodaktuálnejpozícievm 1.Inýmislovamiindikátor aktuálnejpozíciey 1 vm 2 jeposunutýo1symboldopravaoprotim 1. TRANSP(l,r)definujefunkciu, ktorápreľubovoľnúoznačenúpostupnosťm 1 vraciaoznačenúpostupnosťm 2,vktorejsúnavzájom vymenenéľavý(a i )apravý(a i+1 )prvokvzhľadomnaaktuálnupozíciuukazovateľay 1 vm 1.Aktuálna pozíciaukazovateľay 1 vm 2 saodm 1 nelíši. OperátorUST definujefunkciu,ktorápreľubovoľnú

8 Algebra algoritmov označenúpostupnosťm 1 vraciaoznačenúpostupnosťm 2,snezmenenýmobsahomausporiadaníms výnimkoupozícieukazovateľay 1.PoslednýsavM 2 nachádzapred1.symbolom. 1.2 Logicko-funkcionálne modely a formulácia zadania úlohy. V tejto časti uvedieme základné pojmy a výsledky týkajúce sa logicko-funkcionálnych modelov(lfm), ktoré slúžia k formalizovanému vyjadreniu špecifikácie úlohy, resp. zadania pre návrh(programového) systému. V týchto termínoch sa obyčajne realizuje formalizovaná definícia úloh, ktorá vlastne dáva odpoveď na otázku- Čo je treba urobiť?. Model Msadefinujeakosystém M = (A;SIGN π ),kdeajebáza(množinadát)asign π = {π i I}, sa volá signatúra pozostávajúca z predikátov π na množine A a I je množina indexov. Všeobecná schémapoužitiamodelu Mprišpecifikovaníproblému(zadania,úlohyatp.) sadáuzrieť,vychádzajúc znasledujúcejúvahy:majme2množiny V,R A,kdeV predstavujemnožinuvstupnýcharmnožinu výstupných dát. Formulovanú úlohu je možno predstaviť ako niektoré zobrazenie(funkciu) f (n) : V n R Funkcia f (n) jen-árnafunkcia,ktorán-icidátzvpriraďujeúdajzr.akobolouvedenévúvodeparagrafu 1.1sfunkciou f (n) jeasociovanán+1-árnarelácia F (n+1) V n Rsvlastnosťou,že (d 1,d 2,...,d n,r) F (n+1) f (n) (d 1,d 2,...,d n = r Zostávasiuvedomiť,žepodľa F (n+1) jemožnozostrojiťcharakteristickýpredikát J (n+1) premnožinu V n Rsvlastnosťou,že J (n+1) (d 1,d 2,...,d n,r) = 1 (d 1,d 2,...,d n,r) F (n+1) (1.12) Pre zadanú úlohu je možno zostrojiť predikát typu(1.12) pre každú zodpovedajúcu povahe úlohy funkciu f (ni i. To zavŕšuje konštrukciu modelu ako formalizácie zadania úlohy. Teraz uvedieme príklad. Príklad 1.3 ZostrojímeLFM M 1 = (SEQ,SIGN 1 ),ktorýbudedefinovanýpreúlohutriedeniapostupností M SEQ. Začnemeskonštrukciouelementárnychpredikátovvytvárajúcichsignatúru SIGN 1,ktoréposlúžiakvyjadreniu 2-miestneho charakteristického predikátu S-O-R-T. unárnypredikátum(viď1.4),prektorýplatí,že UM(M) = 1 M USQ binárnypredikát D : SEQ 2 {0,1}ataký,že D(M,M ) = 1 M = M,kde Z jedĺžka ľubovoľnej postupnosti Z SEQ. binárnypredikát R : SEQ 2 {0,1}ataký,že R(M,M ) = 1 M = M,kde Z je množina prvkov v ľubovoľnej postupnosti Z SEQ. binárnypredikát B : SEQ 2 {0,1}ataký,že B(M,M ) = 1 I(q,M) = I(q,M ), pre každýprvok q M M,kdeI(q,Z)jepočetvýskytovprvkuq vpostupnosti Z SEQ. Inýmislovami,predikát B(M,M ) = 1právevtedy,akpočtyvýskytovspoločnýchprvkovv postupnostiachm a M súrovnaké. Potom SIGN 1 = {UM,D,R,B} PredikátS-O-R-TsadávLFM M 1 = (SEQ,SIGN 1 )vyjadriťnasledujúcoukonjunkciou: S O R T(M,M ) = D(M,M ) R(M,M ) B(M,M ) U(M ) (1.13)

1.3 Algebry. 9 pričom M SEQ,M USQ. Tedamôžemekonštatovať,ževLFM M 1 = (SEQ,SIGN 1 )jeopísanýformulou(1.13)predikáts-o- R-T charakterizujúci funkcionálnu reláciu SORT, ktorá je spriahnutá s úlohou triedenia postupností definovaných na množine U. (Koniec príkladu) 1.3 Algebry. Vtejtočastisústručneuvedenézákladnépojmyadefiníciealgebryasňouspojenýchpojmov,akýmisú :signatúry algebry, systém vytvárajúcich prvkov(generátorov), bázy, superpozície, axiomatický systém a ďalšie. MajmeľubovoľnúmnožinuAafunkciu f(x 1,x 2,...,x n )definovanúnaashodnotamitaktiežvmnožine A. Formálne f : A n A Funkciu f(x 1,x 2,...,x n )volámeoperáciou definovanounamnožinea.akopríkladuvediememnožinuprirodzenýchčísel N = {1,2,...,n,...}afunkciu f(x,y) = x + ydvochargumentovx,y. Funkcia f(x,y) = x + yjedefinovanánan apriraďujekaždejdvojiciprirodzenýchčíselx,yjednoznačnedané prirodzené číslo x+y. Funkcia x+y predstavuje operáciu sčítania prirodzených čísel. MajmenamnožineAdefinovanúcelúmnožinuoperácií Ω = {F i (x 1,x 2,...,x n ) i 1,2,...,k}. Univerzálnoualgebrounazvemesystém à = (A;Ω),kdeAsavoláosnova(základňa)algebry,aΩjesignatúra algebry.akopríkladuvediemealgebruboolovskýchfunkcií ÃBF = (BF(n);Ω ABF ),kdeosnovoujemnožinavšetkýchboolovskýchfunkcií(b.f.)npremennýchbf(n)asignatúra Ω ABF pozostávaz3operácií: x y, x yanegácie x. Teraz pristúpime k definícii systému vytvárajúcich prvkov(generátorov) a bázy algebry. Generátory algebry a báza algebry. Vznikáotázka,čipredanúalgebru à = (A;Ω)sanájdevAtakápodmnožinaprvkov,povedzme S A, žekaždýprvokzákladnejmnožinyajemožnovytvoriťzprvkovmnožinys svyužitímoperátorovzo signatúry Ω. Ak taká S existuje budeme ju volať množinou vytvárajúcich prvkov, alebo množinou generátorovalgebry Ã. Príklad 1.4 Majmealgebru ÃN = (N; {+}),ktorájedanámnožinoun-prirodzenýchčísel-osnovoualgebryasignatúrou pozostávajúcou z jedinej operácie x+y definovanej na N. Nie je ťažké sa presvedčiť, že interval prirodzenýchčísel [1,k],k Njesystémomgenerátorovalgebry ÃN.Skutočnezprvkovintervalu [1,k]jemožné vytvoriť ľubovoľné prirodzené číslo s použitím schémy ich generovania(k+1),(k+1)+1,((k+1)+1)+1,.... Týmto spôsobom je možné vytvoriť ľubovoľné prirodzené číslo mimo [1, k]. Prirodzené čísla z intervalu [1, k] sú dané samotným intervalom. (Koniec príkladu) Ukazujesa,žealgebramôžemaťviacnežjedensystémgenerátorov. Takvprípadealgebry ÃN sme videli,žeinterval [1,k]vytvárasystémjejgenerátorov.Aksivezmemeinterval [1,k 1]môžemesapresvedčiť,žeajtentointervaljesystémomgenerátorovalgebry ÃN.Analogickyajkaždýinterval [1,k 2], [1,k 3],..., [1]jesystémomgenerátorovalgebry ÃN.Všimnimesi,žeposlednýsystém [1]neumožňuje pokračovaťvovytváraníďalšíchsystémovgenerátorovalgebry ÃN.

10 Algebra algoritmov SystémSgenerátorovalgebry à = (A;Ω)zktoréhoniejemožnévylúčiťžiadnyprvok a SzS,abysa pritomnenarušilavlastnosť S abyťsystémomgenerátorovalgebry Ãsavolábázoualgebry Ã. Toznamená,že1-prvkovýinterval [1]jebázoualgebry ÃN. Spôsob tvorby nových prvkov algebry, tak ako to vyplýva z definície systému vytvárajúcich prvkov(generátorov)aboloilustrovanénapríkladetvorbyprvkovalgebryprirodzenýchčísel ÃN,sadejepomocou aplikácie operácií signatúry algebry na generátory. Vovšeobecnostimôžemedefinovaťpojemtermualgebry à = (A;Ω)smnožinougenerátorov G A. každýprvok x i Gjetermomalgebry Ã; prekaždún-árnuoperáciu f (n) i výraz t = f (n) i (x 1,x 2,...,x n ),kdeprekaždéj 1 j n x j G,je termomalgebry Ã.Budemepoužívaťoznačenie t(x 1,x 2,...,x n ),abysmezvýraznili,žeideoterm závislý od n argumentov(n-árny term) prekaždún-árnuoperáciu f (n) i atermy t 1,t 2,...,t n je t = f (n) i (t 1,t 2,...,t n )termomalgebry Ã; dvatermy t = t(x 1,x 2,...,x n )at = t (x 1,x 2,...,x n )budemepovažovaťzaekvivalentné,akplatí, žeprekaždún-icuargumentov x 1,x 2,...,x n t(x 1,x 2,...,x n )at (x 1,x 2,...,x n )budúvytvárať(generovať)rovnakýprvokalgebry Ã.Takévzťahymedzitermamisavolajúvzťahmitotožnosti,alebo jednoducho totožnosti. Príklad 1.5 Vrátimesakalgebre ÃN = (N; {+})zpríkladu1.4. Prvok4môžebyťvytvorenýnabáze [1]pomocou termu t=((1+1)+1)+1. Taký term, vo všeobecnosti, vznikne viacnásobnou superpozíciou substitúcie jedných operácií zo signatúry Ω namiesto argumentov iných operácií danej algebry. V danom konkrétnom prípade pôjde o substitúciu argumenta x v operácii x+1 termom(1+1), čo nám dá prvok 3=(1+1)+1. Ak to zopakujeme znovu, že nahradíme v operácii x+1 x termom((1+1)+1) dostaneme prvok 4=((1+1)+1)+1. Na druhej strane prvok 4 je možné vytvoriť aj pomocou termu 4=((1+1)+(1+1)). To znamená, že termy (((1+1)+1)+1) a((1+1)+(1+1)) sú ekvivalentné, alebo jednoducho hovoríme, že sa rovnajú. Situáciu ilustruje obr. 1.1. Obrázok 1.1: Grafová reprezentácia termov (Koniec príkladu) Pomocouvzťahutotožnostisadajúcharakterizovaťvlastnostioperáciíalgebry Ã. Základnéztýchto vlastností sa formulujú ako axiómy, zatiaľ čo ostatné vlastnosti sa dajú odvodiť z axióm. Týmto spôsobom prichádzame ku axiomatickej charakteristike algebry. Ako príklad uvádzame nám dobre známu

1.4 Mnoho-druhové algebraické systémy. 11 axiomatickúcharakteristikuboolovejalgebry B = (B; {+,, }),operáciektorejvyhovujútýmtoaxiómam: zákonasociatívnosti (x y) z = x (y z) = x y z kdesymbol jesymbolomoperácie+,alebo zákonkomutatívnosti x y = y x zákonidempotentnosti x x = x zákondistributívnosti nad+ (x + y) z = (x z) + (y z) zákondistributívnosti+nad (x y) + z = (x + z) (y + z) = zákon negácie negácie x= x zákonpohltenia(absorbcie) x + x y = x x (x + y) = x pravidládemorgana x y = x + y zákonvylúčeniatretieho x+ = x= 1 zákonprotirečenia x =x= 0 kde0a1súkonštantyb.a. axiómyprekonštanty 1 = 0,0 = 1 1 x = x,0 + x = x 1 + x = 1,0 x = 0 1.4 Mnoho-druhové algebraické systémy. obr.?? Mnoho-druhové algebry zohrávajú významné miesto v programovaní, napríklad pri algebraických špecifikáciach abstraktných dátových typov(adt). Sú zovšeobecnením pojmov model a algebra. Ich význačnou črtou je, že operácie a predikáty sú polymorfnej povahy, čo znamená, že definičné obory pozostávajú z množín prvkov rôznej povahy. Povedané podložíme príkladom. Príklad 1.6 Ako ilustrácia nám poslúžia tri množiny SEQ(qq, q=1,2,3 na ktorých budeme skúmať signatúru predikátov a operácií. SEQ(1) = {M(1) i i I} SEQ(2) = {M(2) j j J} SEQ(3) = {M(3) k k K} kde M(1) i : Ha 1 a 2...a l Y (1)a l+1...a n Kje(označená)číselnápostupnosť; M(2) j : Ht 1 t 2...t i Y (2)a i+1...a m Kje(označená)postupnosťsymbolov; M(3) k : Hz 1 z 2...z r Y (3)z r+1...z p Kje(označená)postupnosťzáznamov; Na množinách SEQ(q), q=1,2,3 sme v odseku 1.1 definovali niektoré elementárne predikáty a operátory. Tu použijeme ten istý prístup pre naše tri množiny. Predikáty Všetky nižšie uvádzané predikáty sú definované na množinách SEQ(q) a symbolom Y(q) bude označený ukazovateľaktuálnejpozícievaktuálnej M(q) r,prepríslušnéq=1,2,3a r {i,j,k}označenejpostupnosti. 1) l > r Y (q) = 1 df M(q) r =M :Ha 1,a 2,...,a i,y(q),a i+1,...,a n K a i > a i+1 2) d(y (q),k) = 1 df M(q) r =M :Ha 1,a 2,...,a n,y(q)k 3) UM = 1 df M(q) r =M :HY(q),a 1,a 2,...,a n K a i < a i+1,i = 1,2,...,n 1 Predpokladá sa, že na množinách SEQ(q) sú definované binárne relácie lineárneho usporiadania: čísel, symbolov, reťazcov(lexikografické usporiadanie).

12 Algebra algoritmov Operátory Podobne ako v predošlom prípade definujeme si operátory, na množinách SEQ(q). 4) E df E(M(q) r ) =M(q) r 5) P(Y (q)) df M(q) 1 =M:Ha 1,a 2,...,a i,y(q),a i+1,...,a n K M(q) 2 =M:Ha 1,a 2,...,a i,a i+1,y(q),a i+2,...,a n K P(Y 1 )(M(q) 1 ) = M(q) 2 6) L(Y (q)) df M(q) 1 =M:Ha 1,a 2,...,a i,y(q),a i+1,...,a n K M(q) 2 =M:Ha 1,a 2,...a i 1,Y(q),a i,,a i+1,...,a n K P(Y 1 )(M(q) 1 ) = M(q) 2 7) TRANSP(l,r) df M(q) 1 =M:Ha 1,a 2,...,a i,y(q),a i+1,...,a n K M(q) 2 =M:Ha 1,a 2,...,a i+1,y(q),a i,...,a n K TRANSP(l,r)(M(q) 1 ) = M(q) 2 8) UST(Y (q),h) df M(q) 1 =M:Ha 1,a 2,...,a i,y(q),a i+1,...,a n K M(q) 2 =M:HY(q)a 1,a 2,...,a i,a i+1,...,a n K UST(Y (q),h)(m(q) 1 ) = M(q) 2 (Koniec príkladu) Zavedené predikáty a operácie, ako ukazuje príklad, sú polymorfné-sú definované na každej množine SEQ(q), q=1,2,3. Teda na množinách SEQ(q) je definovaná signatúra pozostávajúca z polymorfných predikátov a operácií 1)-8). Definícia 1.1 Mnoho-druhovým algebraickým systémom voláme sytém AS = (Osnovy; Signatúra), kde Osnovy = {A i i I}aSignatúra = {SIGN Π SIGN o },ktorájedanázjednotenímpredikátovaoperáciídefinovaných na množine osnov. Mnoho-druhové algebraické systémy, ako boli definované v Def. 1.1, sú zovšeobecnemím pojmov model a algebry, tak ako boli uvedené v odseku 1.2resp. 1.3. Skutočne 1-druhový, alebo m-druhový modelsúmnoho-druhovéalgebraickésystémyvktorých SIGN o = Φ. Ďalšímvážnymprípadommnohodruhového algebraického systému je 1-druhová, alebo m-druhová algebra. Ide o algebraický systém v ktorom SIGN Π = Φ. Teoretický fundament algoritmiky tvoria algebry algoritmov. Na ilustráciu teraz uvedieme jednoduchú algebru algoritmov, ktorá je orientovaná na analytické vyjadrenie algoritmov, teda na vyjadrenie algoritmu ako niektorej formuly v takej algebre. Definujemesi2-druhovúalgebru DA = ({Y C,OP } ;SIGN),vktorejYC,OPsúosnovyalgebryDA, pričom YC je množina predikátov(podmienok) definovaných na spracovaných dátach, OP je množina operátorov(operácií) na spracovanie dát. Signatúra operácií SIGN je definovaná na osnovách YC,OP. Do SIGN patria logické(boolovské) operácie: dizjunkcia ( ), konjunkcia ( ) a negácia ( )- tieto sú definované na osnove YC. Na osnove OP sú definované operácie: kompozícia( ), alternatíva a cyklus. Pre tieto operácie budeme používať tieto označenia: kompozícia A B alternatíva ([u] A, B) cyklus {[u] A}

1.4 Mnoho-druhové algebraické systémy. 13 Význam A Bje,ženajprvsavykonáAapojejskončenísazačnevykonávaťB. Alternatíva ([u]a,b)sadávyjadriťakoifuthenaelseb,významktorejjevprogramátorskejkomunite jasný. Cyklus {[u]a}sadávyjadriťvpascal-ovskejnotáciiakowhile udoa.naobr.1.2jevýznamuvedených operácií uvedený v grafickej forme. Obrázok 1.2: Grafická reprezentácia operáciíí algebry DA Signatúra SIGN zahŕňa známe programové konštrukcie zavedené E.W.Dijkstrom[47]. Orientácia na určitú triedu úloh si žiada aby sme pre algebru AD zvolili vhodný systém generátorov algebry. To znamená výber množiny elementárnych(pre danú úroveň úvah) operátorov a predikátov, pomocou ktorých operáciou superpozície je možno vytvárať zložitejšie operácie a predikáty, ktoré sú prvkamiosnovycaopalgebryda. Nech S = S u S o jesystémgenerátorovalgebryda,kde S u Y C a S o OP. Analytickévyjadrenie zloženého operátora F OP v tvare algebraického termu, vytvoreného superpozíciou prvkov z S a operácií zo SIGN voláme štruktúrnou schémou(jednoduchšie schémou) opertátora F v danej algebre. Príklad 1.7 Zvolíme si za systém generátorov algebry DA súbor 8 operácií a predikátov navrhnutých v odsekoch 1.4 a 1.4. Potom známy algoritmus bublinkového triedenia BubbleSort sa vyjadruje termom Bubble ::= { [UM(M(1))] {[d(y (1),K)] ([l > r Y (1)] TRANSP (l,r, Y (1))),E) P (Y (1)} UST(Y (1),H) } Grafová reprezentácia operácií vytvárajúcich term Bubble je na obr. 1.3. (Koniec príkladu) Aparát algebier algoritmov je zameraný na transformácie analytických reprezentácií algoritmov s cieľom zvýšenia efektívnosti ich funkčnosti z hľadiska časovej a pamäťovej zložitosti, a ďalších kritérií.

14 Algebra algoritmov Obrázok 1.3: Grafová reprezentácia termu Bubble

Kapitola 2 Algebry algoritmov, logiky a schematológie V tejto kapitole sa venujeme tvorbe algebier algoritmov orientovaných na formálny opis štruktúrnych a neštruktúrnych schém, ktoré budú reprezentované v analytickej, lingvistickej, ako aj v grafovej forme. Signatúra každej z týchto algebier pozostáva z opertátorových a predikátových konštrukcií zodpovedajúcich zvolenej metóde konštruovania algoritmov. 2.1 Formalizované projektovanie algoritmov. V algoritmike sú hlavným objektom štúdia a skúmania schémy algoritmov a ich superpozície-vkladanie jednej schémy namiesto prvkov v druhej schéme. So superpozíciou je úzko spätý proces rozvinutia schémy (evolúcia), ktorý spočíva v projektovaní algoritmu zhora-nadol(top-down), ako aj proces zvinutiaschémy (involúcia)- prechod k formalizovanej špecifikácii vyššej úrovne. Používa sa aj kombinovaný prístup, pri ktorom sa vyu žívajú tak zvinutie ako aj rozvinutie schém. V úlohe elementárnych stavebných prvkov pre návrh schém algoritmov budeme používať schémy, ktoré sme uviedli v??, ktoré zodpovedajú základným konštrukciam štrukturovaného programovania. Začneme príkladom. Tu aj ďalej budeme budeme používať na označenie operátorov veľké písmena A,B,C,... a na označeniepredikátovpoužívamepísmenou,resp. u i sindexom.akoobyčajnezloženélogicképodmienky budemevytváraťpomocouboolovskýchoperácií:dizjunkcia(u u ),konjunkcia(u u ),negácia( u), alebo(u). Príklad 2.1 Navrhneme pomocou uvedených elementárnych koštrukcií netriviálnu zloženú schému Π, ktorá je špecifikáciou štruktúry algoritmov určitej triedy. Π ::= {[u 1 ]A 1 }, A 1 ::= {[u 2 ]A 2 D}, A 2 ::= A 3 C, A 3 ::= ([u]a,b),u ::= u 2 u 3. Vykonáme teraz superpozíciu- zvinutie procesu Π, ktorý je nateraz uvedený ako postupnosť evolučných krokov(špecifikáciou A 1,A 2,A 3 ).Popodtupnomnahradenípremenných A 1,A 2,A 3 dostanemeformulu Π ::= {[u 1 ] {[u 2 ] ([u 2 u 3 ]A,B) C D}} 15 (Koniec príkladu)

16 Algebry algoritmov, logiky a schematológie Schéma Π je príklad neiterpretovanej schémy. Prechod od neiterpretovaných schém k algoritmom je spojený s iterpretáciou operátorových a logických(predikátových) premenných v neiterpretovanej schéme. Tvorba interpretácií je podmienená špeciálnym označením spracovávaných dát tak, ako to bolo v prípade označených postupností na množinách SEQ, resp. USQ(odsek 1.1). Tak v uvedenom prípade sa inerpretácia operátoroových a logických premenných realizuje na označených postupnostiach. Príklad 2.2 Majme označenú postupnosť M :Ha 1,a 2,...,a i,y 1,a i+1,...,a n K Zavedieme si teraz čiastočnú interpretáciu premenných schémy Π u 2 d(y 1,K), C P(Y 1 ), D UST(Y 1,H) kde symboly a označujú interpretáciu zodpovedajúco logických a operátorových premenných v schémach. S touto čiastočnou interpretáciou schémy Π dostávame čiastočne interpretovanú schému CΠ { { ] ) }} CΠ ::= [u 1 ] [d(y 1,K)] ([d(y 1,K) u 3 A,B P(Y 1 ) UST(Y 1,H) (Koniec príkladu) Zmysel schémy CΠ pri zodpovedajúcej interpretácii jej logických a operátorových premenných, môže spočívať v cyklickom prehliadaní(skanovaní) postupnosti M v smere zľava doprava až do pravdivosti predikátu(podmienky) d(y 1,K)snasledujúcimnávratomindikátora Y 1 kznačkehavýstupomna opakovanievonkajšiehocyklu.opísanýprocesbudepokračovaťdodoby,kedyzačneplatiťpodmienka u 1. V priebehu takéhoto mnohofázového skanovania sa realizuje spracovanie aktuálnych symbolov postupnosti operátormiaalebobvnorenejalternatívy(vzávislostiodhodnotypodmienky u 3 ). Čiastočne interpretované schémy sa volajú stratégiami spracovania symbolov. V príklade(príklad 2.2) uvedená stratégia CΠ je stratégiou mnoho-fázového spracovania postupnosti M metódou BubbleSort. Poznamenávame, že v závislosti od výberu interpretácie logických a operátorových premenných schémy CΠ môžu byť vytvorené algoritmy riešenia rôznych aplikačných úloh. To ilustruje tento príklad. Príklad 2.3 Majme M číselnú postupnosť; zavedieme si interpretáciu logických a operátorových premenných schémy CΠ. u 1 UM, u 3 l > r Y 1, A TRANSP(l,r), B E S touto interpretáciou logických a operátorových premenných schémy CΠ získavame algoritmus { { ] ) }} BUBBLE ::= [UM] [d(y 1,K)] ([d(y 1,K) l > r Y 1 TRANSP(l,r),E P(Y 1 ) UST(Y 1,H) (Koniec príkladu) Záverom poznamenávame, že uvedený postup spočívajúci v postupnej interpretácii logických a operátorových premenných schém, resp. stratégií privádza ku konštrukcii konkrétnych algoritmov riešenia úloh danej konkrétnej problémovej oblasti. 2.2 Dijkstrova algebra. V tejto časti sa zaoberáme tvorbou algebry algoritmov, ktorá sa volá Dijkstrova algebra(ad). Algebra je pomenovaná podľa holandského informatika E.W.Dijkstru. Dijkstra je autorom koncepcie tzv. štrukturovaného programovania a už uvádzaných konštrukcií:sekvencia, alternatíva a cyklus. Dijkstra ešte v r.1968 vo svojom dopise Akadémii vied USA navrhoval vytvorenie algebry algoritmov založenej na týchto konštrukciach.

2.2 Dijkstrova algebra. 17 Definícia 2.1 Dijkstrova algebra je 2-druhový algebraický systém AD = (ACC, L(2); SIGN) osnovami ktorej sú: množina operátorov ACC, pozostávajúca zo štruktúrnych schém a množina boolovských funkcií L(2). Signatúru SIGN vytvárajú operácie sekvencia, alternatíva a cyklus(ktoré nadobúdajú hodnoty patriace do ACC) a boolovské operácie konjunkcia( ), dizjunkcia( ), negácia( )(ktoré nadobúdajú hodnotypatriacedol(2)). Premenné A = {A 1,A 2,...,A n }au = {u 1,u 2,...,u m }savyužívajú na označenie zodpovedajúco elementárnych(bázových) operátorov a logických podmienok. Príkladom zloženej operátorovej schémy v algebre AD je schéma Π z príkladu 4.4. Pre AD bol G.E.Cejtlinom[15] rozpracovaný systém transformácií, ktorý charakterizuje povahu vlastností operácií vystupujúcich v SIGN. Tak napríklad spojitosť medzi alternatívou a cyklom vyjadruje rovnosť {[u]a} = ([u]e,a {[u]a}) (2.1) OkremzákladnýchoperáciívyskytujúcichsavSIGNsavADvyužívajúajďalšie,znichodvodené, operácie, ktoré sa získajú ako výsledok superpozície základných operácií a konštánt danej algebry. Tak v algebre čísel je operácia násobenia odvodená z operácie sčítania, zatiaľ čo v boolovej algebre je operácia dizjunkcie odvoditeľná z konjunkcie a negácie. V AD k odvodeným operáciam patrí operácia filtrácie:φ(u) = ([u] E, N), ktorá je získaná ako výsledok superpozície alternatívy, operátora E a neznámeho operátora N(ktoré v AD vystupujú ako konštanty). Operátor N prerušuje výpočet podľa vetvy false, takže operátor- filter Φ dovoľuje pokračovanie výpočtu ibaakjeu=true. Ďalšou odvodenou operáciou je zovšeobecnený cyklus(operátor DO-WHILE-DO), ktorý je daný superpozíciou operácií kompozície a cyklu a ktorý realizuje výstup z cyklu podľa podmienky nachádzajúcej sa v strede cyklu: {A[u]B} = A {[u]b A} Ak A=E dostávame základný cyklus {E [u]b} = {[u]b} a pri B=E dostaneme cyklus typu DO-WHILE, v ktorom sa test podmienky vykoná po prechode telom cykla {A[u]E} = {A[u]} Operácie alternatívy a cyklu majú tieto vlastnosti: Príklad 2.4 {[u]a} = {[u] Φ(u) A} (2.2) { [ [u] Φ(u) ( u u ] } { ([ A,B) C = [u] Φ(u) u ] ) } A,B C (2.3) Uvedieme teraz proces transformácie schémy Π z príkladu 4.4 do kompaktnejšieho tvaru s použitím rovností(2.2) a(2.3). Proces transformácie bude sprevádzaný komentármi, ktoré sú uvedené v komentárovýchzátvorkach(/*a*/). Π ::= {[u 1 ] {[u 2 ] ([u 2 u 3 ]A,B) C D}} /* Použijeme rovnosť(2.2), k formovaniu filtra Φ(u) pred vloženou alternatívou*/ = {[u 1 ] {[u 2 ] Φ(u 2 )([u 2 u 3 ]A,B) C D}} = /* Na základe rovnosti(2.3) dochádza k absorbcii(pohlteniu) prvého konjunktívneho súčiniteľa v podmienke vloženej alternatívy*/ /* Použijeme rovnosť(2.2) v opačnom smere*/ = {[u 1 ] {[u 2 ] Φ(u 2 )([u 3 ]A,B) C D}} = = {[u 1 ] {[u 2 ])([u 3 ]A,B) C D}}. Realizovanú postupnosť transformačných krokov môžeme považovať za formálny dôkaz(odvodenie) rovnosti: { [ [u] ( u u ] } { [ A,B) C = [u] ( u ] } A,B) C.

18 Algebry algoritmov, logiky a schematológie (Koniec príkladu) Ak teraz aplikujeme interpretácie premenných schémy Π ako v príkladoch 2.2 a 2.3 dostaneme kompaktnejšie vyjadrenie algoritmu BubbleSort: BUBBLE ::= {[UM] {[d(y 1,K)] ([l > r Y 1 ]TRANSP(l,r),E) P(Y 1 )} UST(Y 1,H)} Žiada sa poznamenať, že predvedený proces transformácie predstavuje silný nástroj tvorby a získavania nových poznatkov algoritmickej povahy. O tom sa čitateľ presvedčí v ďalšom. 2.3 Algebra schém Janova. V tejto časti sa zaoberáme tvorbou algebry algoritmov, ktorá sa volá algebra Janova( AJ). Algebra je pomenovaná podľa ruského informatika J.Janova, ktorý je autorom operátorových schém, ktoré sa volajú schémyjanova[37],[?]. Prv než pristúpime k samotnej definícii algebry Janova uvedieme niekoľko poznámok: 1. Operátorové schémy algoritmov Janova(v ďalšom iba schémy Janova) sú založené na špeciálne označených postupnostiach(viď ďalej) 2. Schémy Janova patria do kategórie neštrukturovaných schém algoritmov; 3. Signatúra AJ si vyžaduje, vychádzajúc z povahy operátorových schém Janova, zavedenie dvoch operátorov: kompozícia A B apodmienenýprechod Π(u) m,ktorý,pripravdivejpodmienke u, odovzdáva riadenie na značku(marker) m. V opačnom prípade sa realizuje, v realizovanej(spracovávanej) postupnosti operátorov, napravo od aktuálnej pozície stojaci operátor. Operátor podmienenéhoprechodu Π(u) m zodpovedápríkazygotovprogramovacíchjazykoch. 4. Nech F je neštrukturovaná logická schéma(v ktorej sú použité operácie kompozície a podmieneného prechodu), na ktorú možno nazerať ako na označenú symbolovú postupnosť, ktorá je označená dvomimarkermi:iam:.markerimôžebyťumiestnenýbuďnazačiatkuschémyf,alebohneďza symbolom, alebo. Marker m: označuje ľubovoľný výskyt niektorého operátorového podvýrazu v schéme F. Podotýkame, že zavedenie takých označení v schéme F nenarúša poradie realizácie operátorov v nej. V tom prípade podmienený operátor možno interpretovať ako niektorú binárnu operáciu Π(u, F), ktorá závisí od podmienky u a označenej schémy F. Výsledok aplikácie takej operáciejenováschémaf,vktorejjemarkerivschémefnahradenýsymbolom Π(u) m. Príklad 2.5 Nechjedanáschéma F 1 ::= A B C. Vytvorímeoznačenúschému F 1 ::= A m:b I C. Aplikácia operácie Π(u,F 1 )na F 1 námdáschému F 1 = Π(u,F 1 ) ::= A m:b Π(u) m C Všimnimesi,žeaplikáciaoperácie Π(u,F 1 )nasekvenčnúschému F 1 priviedlakcyklickejschéme F 1. Špeciálnymprípadomoperácie Π(u,F 1 )priu=1jeoperáciabezpodmienkovéhoprechodu Π m,ktorá závisílenodoznačenejschémy F 1. (Koniec príkladu) Definícia2.2 Janovovaalgebraje2-druhovýalgebraickýsystém AJ = ({AHC,L(2)} ;SIGN )osnovami ktorej sú: množina AHC neštrukturovaných(označených i neoznačených) schém a množina boolovskýchfunkciíl(2).signatúru SIGN vytvárajúoperáciekompozície A B,neštrukturovanéhoprechodu Π(u, F) a boolovské operácie konjunkcia( ), dizjunkcia( ), negácia( )(ktoré nadobúdajú hodnoty patriacedol(2)).

2.3 Algebra schém Janova. 19 MedziodvodenéoperácieAJpatriaalternatívaacyklus,ktorésúvsignatúrealgebryAD-SIGN,akoaj cyklus DO-WHILE. Nasleduje formálna reprezentácia uvedených operácií, ktorá je zároveň aj formálnym dôkazom platnosti uvedeného tvrdenia. ([u]a,b) = Π(u) m B Π m m : A m : E, {[u]a} = m : Π(u) m A Π m m : E, {A[u]} = m : A Π(u) m E, (2.4) { {A[u]} = A [u]a }, (2.5) kde A = A,aleboAsalíšiod A prítomnosťouznačiek. Definícia algebry AJ a jej porovnanie s algebrou AD umožňuje urobiť tento záver. Theorem 2.1 V algebre AJ je vyjadriteľná ľubovoľná štruktúrna schéma, ktorá je vyjadriteľná v algebre AD;inýmislovamiplatí,že ACC AHC atedavyjadrovaciasilaajjeväčšiaakoad.tuaccje množina schém vyjadriteľných v AD a AHC je množina schém vyjadriteľných v zodpovedajúcej algebre Dijkstru AD algebre Janova AJ. Príklad 2.6 Ukážeme ako je možno pretransformovať štrukturovanú schému na neštrukturovanú pomocou aplikácie uvedených rovností. Ako príklad si vezmeme algoritmus opisujúci v AD fungovanie abstraktnej tlačiarne: PRINT ::= TLAČ PRVÉHO RIADKU { [eof]tlačaktuálnehoriadku } ; TLAČ PRVÉHO RIADKU ::= P (Y 1 ) TLAČ { [eol]p (Y1 ) TLAČ } CRL; kde: TLAČ AKTUÁLNEHO RIADKU ::= TLAČ { [eol]p (Y 1 ) TLAČ } CRL; eof je predikát označujúci koniec súboru(end of f ile); CRL je operácia zabezpečujúca návrat hlavy a posun o 1 riadok(carriage return and line); eol je predikát označujúci koniec riadku(end of line). Predpokladása,ževpočiatočnomstaveindikátor Y 1 sanachádzanaľavood1. symbolusúboru,ktorý budevytlačenýapriprechodenanovýriadoksaindikátor Y 1 nastavujena1.symbolnovéhoriadku. Prejdeme teraz k neinterpretovanej schéme S(PRINT), ktorá odráža štruktúru schémy PRINT: {[ S(PRINT) ::= A B {[u]a B} C u ] } B {[u]a B} C kde A::= P(Y 1 ),B::=TLAČ,u::=eol,C::=CRL, u ::= eof. Pretransformujeme teraz schému S(PRINT) na jej neštrukturovaný ekvivalent s použitím vyššie uvedených rovností: S(PRINT) =/*pretože ľavý kontext základného cyklu B {[u] A B} C je totožný s jeho telom, použijeme rovnosť(2.5) v smere zprava doľava*/ { [ = A B B {[u]a B} C u ]} =

20 Algebry algoritmov, logiky a schematológie /*Použijeme rovnosť(2.4)*/ /*Znovu použijeme rovnosť(2.5)*/ /*Napokon znovu použijeme rovnosť(2.4)*/ = A m : B {[u]a B} C Π(u ) m = = { } A m : B [u] C Π(u ) m = = m : A m : B Π(u) m C Π(u ) m. Ak zodpovedajúcim spôsobom interpretujeme získanú neštrukturovanú schému, získame ekvivalentnú reprezentáciu algoritmu PRINT v AJ. (Koniec príkladu) Je treba zdôrazniť, že ekvivalentnosť použitých krokov zaručujje korektnosť neštrukturovanej reprezentácie a znamená aj bezpečnosť jej použitia. Podotýkame, že štrukturované a neštrukturované schémy sa navzájom dopĺňajú. Pre prvé je príznačná transparentnosť zatiaľ čo druhým je vlastná kompaktnosť a univerzalizmus. 2.4 Graf-schémy algoritmov. V r. 1957 ruský(vtedy sovietsky) informatik L.A.Kalužnin navrhol vytvorenie algebry algoritmov založenej na grafickej ich reprezentácii pomocou tzv. graf-schém, ktoré sa u nás volali vývojové diagramy. Pre jednoduchosť budeme ďalej používať pojem graf-schéma, ako synonymum pre vývojový diagram. Uvedieme teraz formálnu definíciu graf-schém algoritmov: Definícia 2.3 Zvolímesipevnedvemnožinypremenných A = {A i i = 1,2,...,n}aU = {U j j = 1,2,...,m},kde A i súoperátorovéau j súlogicképremenné. Nech G = (V, E)jeorientovanýgraf, kdev jemnožina vrcholova E jemnožinaorientovanýchhrán, ktorésúvlastnebinárnoureláciou R V V nav, e = (v 1,v 2 ) R d fv 1,v 2 Esúspojenéorientovanouhranou,t.j. e = (v 1,v 2 ) E. Definujesaurčitézobrazenie l : V A U,ktorékaždývrcholgrafu v V označujesymbolom-l(v) zmnožiny (A U). Vrcholoznačenýpremennou A i Asavoláoperátorovýmvrcholom(A-vrcholom) aoznačenýpremennou U i U savolározpoznávajúcim(testovacím)vrcholom(niekedyu-vrcholom). Hranygrafusú2typov: obyčajnéalogické; logickésúoznačené+(plusom),alebo-(mínusom). Z každého A-vrchola vychádza jedna obyčajná hrana, ktorá vedie do iného vrchola grafu G, zatiaľ čo z U- vrchola vedú dve hrany:plusová a mínusová. Rôzne A-vrcholy(U-vrcholy) môžu byť označené rovnakou operátorovou(logickou) premennou. Graf G má dva doplňujúce vrcholy:vstup do ktorého nevedie žiadna hrana a VÝSTUP z ktorého nevedie žiadna hrana. Takto definovaný súvislý graf G sa volá graf-schémou algoritmu. Na obr. 2.1je príklad graf-schémy algoritmu riešenia kvadratickej rovnice. Prejdime teraz k problematike návrhu algebry graf-schém. Nechsúdanédvegraf-schémyGa G narovnakejrodinemnožínoperátorovýchapredikátovýchpremenných V = A U.Zafixujemesivgraf-schémeGvšetkyvýskytyniektoréhooperátora A j Aanahradíme všetkytakévýskyty A j vggraf-schémou G.Výsledkombudenovágraf-schéma G = G(A j G )ako

2.5 Systémy algoritmických algebier Gluškova. 21 Obrázok 2.1: Graf-schéma algoritmu riešenia kvadratickej rovnice. superpozíciagraf-schémga G. Vprípade,žegraf-schéma G nahradzujetestovacívrchol(soznačkou u) vzniká vedľajší efekt- v procese výpočtu nahradzujúci algoritmus kazí dáta, ktoré sú vstupom pre testovací vrchol. Tým sa vylučuje možnosť prechodu po plusovej, alebo mínusovej hrane tým dátam, na ktorých sa mala, v súlade s povahou rozpoznávateľa, realizovať previerka predikátu u. Tento problém bol vyriešený vďaka zovšeobecneniu pojmu graf-schémy, aby bola zaručená korektnosť superpozície G = G(u G ). Zavádza sa 2-druhová algebra AK=({OP, Y C};SIGN), kde OP- množina operátorových, YC-množina logických podmienok reprezentovaných v grafovej forme(viď ďalej); SIGN-signatúra operácií zahrňujúca boolovské operácie, operáciu kompozície reprezentovanej prostredníctvom orientovanej hrany spájajúcej dva operátorové vrcholy graf-schémy; unárnu operáciu reštrukturalizácie grafu- prepnutie jednej z jeho orientovaných hrán vychádzajúcej z niektorého operátorového vrchola, alebo rozpoznávača a jej napojenie na niektorý iný vrchol graf-schémy(g-s) algoritmu s následným odstránením visiaxich - nedosiahnuteľných z koreňa g-s vrcholov. Operácia reštrukturalizácie zodpovedá operácii prechodu známej zo schém Janovaavchodiacejdojejsignatúry(viďčasť2.3). Poznamenávame, že zavedenie 2 osnov a doplňujúceho obmedzenia, ktoré vylučuje výskyt operátora v g-s, ktorá predstavuje niektorú logickú podmienku, zaručuje korektnosť superpozície g-s. Takto vytvorená 2-druhová algebra sa volá algebrou Kalužnina(AK). 2.5 Systémy algoritmických algebier Gluškova. Podobne algebraickým špecifikáciam sú systémy algoritmických algebier Gluškova(SAA) orientované na analytickú formu reprezentácie algoritmov a akokoľvek hlbokú formalizovanú transformáciu takej reprezentácie, špeciálne s cieľom optimalizovať algoritmy podľa zvolených kritérií. SAA sú získané z AD rozšírením jej signatúry o operáciu prognozovnia. Prognozovanie v procese konštruovania predstavuje efektívny prostriedok jeho riadenia, podľa známeho hesla Napoleona:riadiť-znamená predvídať! Signatúra SAA obsahuje všetky operácie zo SIGN AD(viď časť 2.2);(ďalej) k takým operáciam patria boolovské operácie, zovšeobecnené na 3-hodnotový prípad; operácia prognozovania, ktorá je z formálne-

22 Algebry algoritmov, logiky a schematológie hohľadiskaoperáciouľavéhonásobeniapodmienkyuoperátoroma: u = A u.tátooperáciadefinuje predikát u Y Csvlastnosťou,že u(m) = u (m ),kde m = A(m)). A OP, u Y Ca m,m IM tu OP a YC je zodpovedajúco množina operátorov a množina podmienok a IM je informačná množina spracovávanýchdát,naktorejsúdefinovanéoperátoryzopapodmienkyzyc.ztohoplynie,žeoperáciaprognozovaniapozostávazprevierky(testu)podmienky u povykonaníoperáciea.tátoprevierka slúži ako prognóza o pokračovaní výpočtového procesu, ktorá sa realizuje prostredníctvom priradenia podmienkeuvstavem(dovykonaniaoperátoraa)hodnoty u,ktorásavypočítavstave m doktorého systém prejde po realizácii operátora A. Príklad 2.7 VysvetlímesipodstatuoperácieprognozovaniaprivýpočtepodmienkyUMvpríkladealgoritmuBUBBLE (viď(príklad 2.3)).Takú previerku pravdivosti predikátu UM je treba uskutočniť v procese triedenia postupnosti, bez nutnosti zavedenia ďalších ukazovateľov. Použijeme k tomu operáciu prognozovania: UM ::= SKAN [d(y 1,K)], kdeskan::= {[d(y 1,K) (l > r Y 1 )]P(Y 1 )}. (2.6) Pri vstupe postupnosti M SEQ na vstup predikátu UM realizuje sa prehliadanie(skanovanie) prvkov prostredníctvompremiestňovaniaukazovateľa Y 1 dopravaaždodosiahnutiaznačkyk,alebozafixovaní neusporiadanejdvojice(l,r).povykonanítohtocyklusauskutočníprevierkahodnotypredikátu d(y 1,K), ktorásapriradípredikátuumvsúladesosémantikouoperácieprognozovaniaay 1 savraciakznačkeh. SAA Gluškova(označme ju AG) je definovaná ako AG = ({OP,Y C} ;SIGN ) (Koniec príkladu) kde OP, YC sú zodpovedajúco množina operátorov a logických podmienok definovaných na informačnej množine IM. SIGN = SIGN {progn},pričomsignjesignatúraadaprognjeoperáciaprognozovania. ZafixujemesibázuI (OP Y C);Interpretovanouregulárnouschémou(PC) F/I OPsavolásuperpozíciaoperáciízosignatúry SIGN aprvkovbázyi,ktorápredstavujezloženýoperátor(algoritmus) F/IvAG. Ďalej uvádzané výsledky boli získané v rámci výskumov týkajúcich sa rozvoja formalizmu založeného na algebrách a formálnych gramatikách a ktoré sa vzťahujú k AG[35]. Veta 2.1 [35] Každý algoritmus A (vrátane programu, lebo mikroprogramu) môže byť reprezentovný niektorou PC F/I v AG, t.j. A=F/I. To znamená, že algebry Gluškova z hľadiska svojej vyjadrovacej sily sú totožné so známymi lgoritmickými systémami(ako napríklad Turingove stroje). Zvolíme si bázu algebry algoritmov ako množinu V operátorových a logických premenných V = A U, kde A = {A 1,A 2,...,A m }au = {u 1,u 2,...,u n };takúalgebrubudemevolaťneinterpretovanou. Platí táto Veta 2.2 Pre neinterpretované algebry Dijkstry, Janova a Gluškova platia nasledujúce vzťahy vlastnej inklúzie:acc AHC OP,kdeACC,AHCaOPsútriedyoperátorovýchschémvyjadriteľnýchv zodpovedajúcich algebrách.

2.5 Systémy algoritmických algebier Gluškova. 23 Dôkazy vyššieuvedených výsledkov sú založené na príslušnosti operácie progn(prognozovania) k signatúre SIGN. Na formalizáciu nedeterministických a paralelných výpočtov sú orientované modifikované SAA, na ktorých je založená tzv. štruktúrna schematológia[35]. SAA Gluškova poslúžili ako prototyp programových logík a súčasným výskumom v oblasti funkcionálnych, algebraických a algebraicko-gramatických formalizmov a metódam transformačnej syntézy programov[32].

24 Algebry algoritmov, logiky a schematológie

Kapitola 3 Algebra logiky a problém funkcionálnej úplnosti. Potreba zaoberať sa algebrou logiky je daná dvomi príčinami: 1. princíp tvorby boolovských funkcií je použitý aj pre tvorbu algebier algoritmov; je vytvorená algebra schematológie ako meta-algebra, ktorá zahŕňa rôzne algebry algoritmov, vrátane tých, s ktorými sme sa oboznámili vyššie; 2. algebra logiky je významnou súčasťou algebry schematológie. 3.1 Algebry boolovských funkcií. V tejto kapitole sa predpokladá, že čitateľ je oboznámený so základmi teórie boolovských funkcií(b.f.)v rozsahuakov[50]:definíciab.f. n-premenných f(x 1,x 2,...,x n );formyreprezentácieb.f.;kanonickétvary b.f.(udnf, ucnf). Majmeb.f. f(x 1,x 2,...,x n );ob.f.f budemehovoriť,žepodstatnezávisíod x i aksanájdeasponjedna n-1-icapremenných (a 1,a 2,...,a i 1,a i+1,...,a n )ataká,že f(a 1,a 2,...,a i 1,0,a i+1,...,a n ) f(a 1,a 2,...,a i 1,0,a i+1,...,a n ) (3.1) Akpremenná x i niejepodstatnápref potomjuvolámefiktívnou premennoupref. Odvochb.f.npremenných f(x 1,x 2,...,x n )ag(x 1,x 2,...,x n )hovoríme,žesúduálne,akplatí, f(x 1,x 2,...,x n ) = g(x 1,x 2,...,x n ) (3.2) Príklad 3.1 Tabulka:B.f.2-premenných podstatne závislé od 2-premenných. x y f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 Oznacenie 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 25

26 Algebra logiky a problém funkcionálnej úplnosti. kde f 1 (x,y) = x y konjunkcia f 2 (x,y) = x y dizjunkcia f 3 (x,y) = x y -Shaefferovaciarka f 4 (x,y) = x y -Pearceovašípka f 5 (x,y) = x y súcetmodulo2 f 6 (x,y) = x y ekvivalencia f 7 (x,y) = x y implikácia f 8 (x,y) = x y obrátenáantiimplikácia f 9 (x,y) = x y obrátenáimplikácia f 10 (x,y) = x y antiimplikácia (Koniec príkladu) Takvtab.3.1súfunkcie f 1,f 2 ; f 3,f 4 ; f 5,f 6 ; f 7,f 8 ; f 9,f 10 navzájomduálne.skutočne,akvezmeme prvúdvojicu f 1,f 2 máme x y = x y (3.3) x y = x y (3.4) V teórii b.f. platí tzv. princíp duality:ak v teórii b.f. je určitý pojem, rovnosť, alebo tvrdenie, ktoré sú sformulované v pojmoch určitého systému b.f., tak potom existuje pojem, rovnosť, alebo tvrdenie, ktoré sú sformulované v pojmoch duálneho systému b.f.. Príkladom duálnych rovností sú rovnosti(3.3) a(3.4). Rovnosti(3.3) a(3.4) sú potvrdením možnosti vyjadrenia jedných b.f. pomocou iných prostredníctvom substitúcie-superpozície. Skutočne,vezmimerovnost x y = z,kdez=u vau=x,v = y. Ak nahradíme premenné z,u,v ich hodnotami(pravé strany zodpovedajúcich rovností) dostaneme vyjadrenie konjunkcie prostredníctvom superpozície dizjunkcie a negácií tak ako je to vidieť z(3.3). Okrem toho pri vytváraní b.f. sa v algebre logiky(boolovej algebre) používajú aj dalšie operácie: premenovanie premenných, stotožnenie dvoch alebo viac premenných a pridanie, alebo odobratie fiktívnych premenných.taknapríklad,akvb.f. x ystotožnímepremennéxaydostaneme x x = x. Definícia3.1 AlgebraickýsystémAL=(BF;SIGN L ),kdebfjemnožinavšetkýchb.f.asign L pozostáva zo superpozície, premenovania a stotožnenia(premenných), ako aj pridávania a odobratia fiktívnych premenných, voláme(dvojznacnou) algebrou logiky. Prejdeme teraz k vytvoreniu systému generátorov a úplných systémov v AL- k problému funkcionálnej úplnosti. Systém b.f. Ω BFsavoláúplnýsystémb.f.aklubovolnáb.f. zbfsadávyjadritakosuperpozíciafunkciíízω. Príkladom úplného systému b.f. je systém pozostávajúci z 3 b.f.:x y, x ya x.totosadápreukázat aj formálne. Najprv uvedieme, že v teórii b.f. sa ujalo používanie symbolov +, namiestosymbolov x y, x y,coumožnuje jednoduchší a zaužívanejší zápis b.f., ak navyše budeme písat jednoducho xynamiesto x y. Veta3.1 Systémb.f.:x + y, x yaxjeúplný. Dôkaz: Zteórieb.f.[50]jeznáme,žekaždábf. f(x 1,x 2,...,x n )sa dá jednoznacne vyjadrit v tzv. úplnej dizjunktívnej normálnej forme(udnf), alebo v tvare tzv. úplnej konunktívnej normálnej forme(ucnf)(duálny tvar k udnf).uvedieme formálny zápis pre undf: f(x 1,x 2,...,x n ) = 2 n 1 i=0 r i m i (x 1,x 2,...,x n ) (3.5)

3.1 Algebry boolovských funkcií. 27 kde m i (x 1,x 2,...,x n ) = x 1 x 2... x n jetzv. mintermn-premennýcha x j {x j,x j },j = 1,2,...,nar i je boolovskápremenná,ktoránadobúdahodnotu1právenatakejn-icihodnôt0a1(a 1,a 2,...,a n ),na ktorej m i (a 1,a 2,...,a n ) = 1,t.j. r i = 1 m i (a 1,a 2,...,a n ) = 1 [i] 2 = a 1 a 2...a n (3.6) Príklad mintermov dvoch premenných je uvedený v tab. 3.1.Všimnime si vzťah medzi indexami a algebraickýmtvarommintermov;spočívavtom,žeaksivyjadrímeindexivbinárnomtvare [i] 2 = b 1 b 2, takpotomakodosadímezahodnotyboolovskýchpremennýchv x 1 a x 2 zodpovedajúco b 1,resp. b 2 nadobudne minterm hodnotu 1. Majmeminterm m 1 (x 1,x 2 ) = x 1 x 2 ;binárnahodnotaindexu1-[1] 2 = 01. Pridosadenídotermu x 1 x 2 hodnoty x 1 = 0(x 1 = 1)ax 2 = 1dostanemepodľapravidielboolovejalgebryhodnotu1. Duálnymtvaromkudnfjeucnf. f(x 1,x 2,...,x n ) = (r i + M i (x 1,x 2,...,x n )) (3.7) 2 n 1 i=0 kde M i (x 1,x 2,...,x n ) = x 1 + x 2 +...+ x n jetzv.maxtermn-premennýcha x j {x j,x j },j = 1,2,...,n aar i jeboolovskápremenná,ktoránadobúdahodnotu0právenatakejn-icihodnôt0a1(a 1,a 2,...,a n ), naktorej M i (a 1,a 2,...,a n ) = 0,t.j. r i = 0 M i (a 1,a 2,...,a n ) = 0 [i] 2 = a 1 a 2...a n (3.8) Príklad maxtermov dvoch premenných je uvedený v tab. 3.1. Charakteristika povahy maxtermov zodpovedáprincípuduálnosti;maxterm M i (x 1,x 2,...,x n ) = x 1 + x 2 +...+ x n nadobudnehodnotu0jedinev prípade ak za výskyty premenných v ňom dosadíme zodpovedajúce hodnoty v binárnom vyjadrení indexu i. Takmaxterm M 1 (x 1,x 2 ) = x 1 + x 2 nadobudnehodnotu0právevtedyak x 1 = 0ax 2 = 1(x 2 = 0), pritom [1] 2 = 01 Tabuľka 3.1 Tabulka:Mintermy a maxtermy 2-premenných. i m i (x 1,x 2 ) x 1 x 2 M i (x 1,x 2 ) x 1 + x 2 0 m 0 (x 1,x 2 ) x 1 x 2 M 0 (x 1,x 2 ) x 1 + x 2 1 m 1 (x 1,x 2 ) x 1 x 2 M 1 (x 1,x 2 ) x 1 + x 2 2 m 2 (x 1,x 2 ) x 1 x 2 M 2 (x 1,x 2 ) x 1 + x 2 3 m 3 (x 1,x 2 ) x 1 x 2 M 3 (x 1,x 2 ) x 1 + x 2 Prekaždúb.f. f(x 1,x 2,...,x n )jejundfatvarmintermov m i (x 1,x 2,...,x n )(jejuncfatvarmaxtermov M i (x 1,x 2,...,x n ))dokazujeplatnosťtvrdeniavety. Vďalšombudemepreundfb.f. f(x 1,x 2,...,x n )(3.5)používaťoznačenie D f ateda D f = f(x 1,x 2,...,x n ) = 2 n 1 i=0 r i m i (x 1,x 2,...,x n ) (3.9) Majme D f preb.f. f 0;akzamenímev(3.10)symboly+zasymbolyoperácie -súcetmodulo2 dostaneme novú reprezentáciu f, ktorá sa nazýva úplnou bisumárnou normálnou formou(ubnf) b.f. f a budemejuoznačovaťako B f. B f = f(x 1,x 2,...,x n ) = 2n 1 i=0 r i m i (x 1,x 2,...,x n ) (3.10) Nie je tažké vidieť, že zámena symbolov + za symboly operácie nemení hodnotu reprezentovanej funkcie. To plynie z povahy mintermov(nadobúdajú hodnotu 1 práve na jednej n-ici boolovských hodnôt (a 1,a 2,...,a n ))apovahyoperácií+a (sútotožnénavšetkých2-iciachargumentovokrem(1,1)).potom platí tento